PageSourceSearch

https://10xgrowthlabs.ai/assets/index-D4Au4z-B.js

js 10xgrowthlabs.ai collected 2026-10-05 11:46:36 UTC 1,358,198 bytes, 517 lines download raw bytes

vendor: 5,859 bytes, lines 1-9
1var G_=Object.defineProperty;var Cy=e=>{throw TypeError(e)};var K_=(e,t,s)=>t in e?G_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;var mr=(e,t,s)=>K_(e,typeof t!="symbol"?t+"":t,s),Wh=(e,t,s)=>t.has(e)||Cy("Cannot "+s);var O=(e,t,s)=>(Wh(e,t,"read from private field"),s?s.call(e):t.get(e)),ye=(e,t,s)=>t.has(e)?Cy("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,s),oe=(e,t,s,r)=>(Wh(e,t,"write to private field"),r?r.call(e,s):t.set(e,s),s),pt=(e,t,s)=>(Wh(e,t,"access private method"),s);var vc=(e,t,s,r)=>({set _(i){oe(e,t,i,s)},get _(){return O(e,t,r)}});function Y_(e,t){for(var s=0;s<t.length;s++){const r=t[s];if(typeof r!="string"&&!Array.isArray(r)){for(const i in r)if(i!=="default"&&!(i in e)){const a=Object.getOwnPropertyDescriptor(r,i);a&&Object.defineProperty(e,i,a.get?a:{enumerable:!0,get:()=>r[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const a of i)if(a.type==="childList")for(const o of a.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function s(i){const a={};return i.integrity&&(a.integrity=i.integrity),i.referrerPolicy&&(a.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?a.credentials="include":i.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function r(i){if(i.ep)return;i.ep=!0;const a=s(i);fetch(i.href,a)}})();function Qa(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var k1={exports:{}},qu={},N1={exports:{}},me={};/**
2 * @license React
3 * react.production.min.js
4 *
5 * Copyright (c) Facebook, Inc. and its affiliates.
6 *
7 * This source code is licensed under the MIT license found in the
8 * LICENSE file in the root directory of this source tree.
9 */var Zl=Symbol.for("react.element"),J_=Symbol.for("react.portal"),Z_=Symbol.for("react.fragment"),X_=Symbol.for("react.strict_mode"),Q_=Symbol.for("react.profiler"),eC=Symbol.for("react.provider"),tC=Symbol.for("react.context"),sC=Symbol.for("react.forward_ref"),rC=Symbol.for("react.suspense"),nC=Symbol.for("react.memo"),iC=Symbol.for("react.lazy"),Ey=Symbol.iterator;function aC(e){return e===null||typeof e!="object"?null:(e=Ey&&e[Ey]||e["@@iterator"],typeof e=="function"?e:null)}var S1={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},A1=Object.assign,_1={};function eo(e,t,s){this.props=e,this.context=t,this.refs=_1,this.updater=s||S1}eo.prototype.isReactComponent={};eo.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};eo.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function C1(){}C1.prototype=eo.prototype;function gg(e,t,s){this.props=e,this.context=t,this.refs=_1,this.updater=s||S1}var xg=gg.prototype=new C1;xg.constructor=gg;A1(xg,eo.prototype);xg.isPureReactComponent=!0;var Ty=Array.isArray,E1=Object.prototype.hasOwnProperty,yg={current:null},T1={key:!0,ref:!0,__self:!0,__source:!0};function P1(e,t,s){var r,i={},a=null,o=null;if(t!=null)for(r in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(a=""+t.key),t)E1.call(t,r)&&!T1.hasOwnProperty(r)&&(i[r]=t[r]);var l=arguments.length-2;if(l===1)i.children=s;else if(1<l){for(var c=Array(l),d=0;d<l;d++)c[d]=arguments[d+2];i.children=c}if(e&&e.defaultProps)for(r in l=e.defaultProps,l)i[r]===void 0&&(i[r]=l[r]);return{$$typeof:Zl,type:e,key:a,ref:o,props:i,_owner:yg.current}}function oC(e,t){return{$$typeof:Zl,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function vg(e){return typeof e=="object"&&e!==null&&e.$$typeof===Zl}function lC(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(s){return t[s]})}var Py=/\/+/g;function Vh(e,t){return typeof e=="object"&&e!==null&&e.key!=null?lC(""+e.key):t.toString(36)}function md(e,t,s,r,i){var a=typeof e;(a==="undefined"||a==="boolean")&&(e=null);var o=!1;if(e===null)o=!0;else switch(a){case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case Zl:case J_:o=!0}}if(o)return o=e,i=i(o),e=r===""?"."+Vh(o,0):r,Ty(i)?(s="",e!=null&&(s=e.replace(Py,"$&/")+"/"),md(i,t,s,"",function(d){return d})):i!=null&&(vg(i)&&(i=oC(i,s+(!i.key||o&&o.key===i.key?"":(""+i.key).replace(Py,"$&/")+"/")+e)),t.push(i)),1;if(o=0,r=r===""?".":r+":",Ty(e))for(var l=0;l<e.length;l++){a=e[l];var c=r+Vh(a,l);o+=md(a,t,s,c,i)}else if(c=aC(e),typeof c=="function")for(e=c.call(e),l=0;!(a=e.next()).done;)a=a.value,c=r+Vh(a,l++),o+=md(a,t,s,c,i);else if(a==="object")throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return o}function bc(e,t,s){if(e==null)return e;var r=[],i=0;return md(e,r,"","",function(a){return t.call(s,a,i++)}),r}function cC(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(s){(e._status===0||e._status===-1)&&(e._status=1,e._result=s)},function(s){(e._status===0||e._status===-1)&&(e._status=2,e._result=s)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var Pt={current:null},pd={transition:null},dC={ReactCurrentDispatcher:Pt,ReactCurrentBatchConfig:pd,ReactCurrentOwner:yg};function I1(){throw Error("act(...) is not supported in production builds of React.")}
vendor: 9,454 bytes, lines 9-33
9me.Children={map:bc,forEach:function(e,t,s){bc(e,function(){t.apply(this,arguments)},s)},count:function(e){var t=0;return bc(e,function(){t++}),t},toArray:function(e){return bc(e,function(t){return t})||[]},only:function(e){if(!vg(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};me.Component=eo;me.Fragment=Z_;me.Profiler=Q_;me.PureComponent=gg;me.StrictMode=X_;me.Suspense=rC;me.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=dC;me.act=I1;me.cloneElement=function(e,t,s){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var r=A1({},e.props),i=e.key,a=e.ref,o=e._owner;if(t!=null){if(t.ref!==void 0&&(a=t.ref,o=yg.current),t.key!==void 0&&(i=""+t.key),e.type&&e.type.defaultProps)var l=e.type.defaultProps;for(c in t)E1.call(t,c)&&!T1.hasOwnProperty(c)&&(r[c]=t[c]===void 0&&l!==void 0?l[c]:t[c])}var c=arguments.length-2;if(c===1)r.children=s;else if(1<c){l=Array(c);for(var d=0;d<c;d++)l[d]=arguments[d+2];r.children=l}return{$$typeof:Zl,type:e.type,key:i,ref:a,props:r,_owner:o}};me.createContext=function(e){return e={$$typeof:tC,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:eC,_context:e},e.Consumer=e};me.createElement=P1;me.createFactory=function(e){var t=P1.bind(null,e);return t.type=e,t};me.createRef=function(){return{current:null}};me.forwardRef=function(e){return{$$typeof:sC,render:e}};me.isValidElement=vg;me.lazy=function(e){return{$$typeof:iC,_payload:{_status:-1,_result:e},_init:cC}};me.memo=function(e,t){return{$$typeof:nC,type:e,compare:t===void 0?null:t}};me.startTransition=function(e){var t=pd.transition;pd.transition={};try{e()}finally{pd.transition=t}};me.unstable_act=I1;me.useCallback=function(e,t){return Pt.current.useCallback(e,t)};me.useContext=function(e){return Pt.current.useContext(e)};me.useDebugValue=function(){};me.useDeferredValue=function(e){return Pt.current.useDeferredValue(e)};me.useEffect=function(e,t){return Pt.current.useEffect(e,t)};me.useId=function(){return Pt.current.useId()};me.useImperativeHandle=function(e,t,s){return Pt.current.useImperativeHandle(e,t,s)};me.useInsertionEffect=function(e,t){return Pt.current.useInsertionEffect(e,t)};me.useLayoutEffect=function(e,t){return Pt.current.useLayoutEffect(e,t)};me.useMemo=function(e,t){return Pt.current.useMemo(e,t)};me.useReducer=function(e,t,s){return Pt.current.useReducer(e,t,s)};me.useRef=function(e){return Pt.current.useRef(e)};me.useState=function(e){return Pt.current.useState(e)};me.useSyncExternalStore=function(e,t,s){return Pt.current.useSyncExternalStore(e,t,s)};me.useTransition=function(){return Pt.current.useTransition()};me.version="18.3.1";N1.exports=me;var w=N1.exports;const T=Qa(w),R1=Y_({__proto__:null,default:T},[w]);/**
10 * @license React
11 * react-jsx-runtime.production.min.js
12 *
13 * Copyright (c) Facebook, Inc. and its affiliates.
14 *
15 * This source code is licensed under the MIT license found in the
16 * LICENSE file in the root directory of this source tree.
17 */var uC=w,hC=Symbol.for("react.element"),mC=Symbol.for("react.fragment"),pC=Object.prototype.hasOwnProperty,fC=uC.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,gC={key:!0,ref:!0,__self:!0,__source:!0};function O1(e,t,s){var r,i={},a=null,o=null;s!==void 0&&(a=""+s),t.key!==void 0&&(a=""+t.key),t.ref!==void 0&&(o=t.ref);for(r in t)pC.call(t,r)&&!gC.hasOwnProperty(r)&&(i[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps,t)i[r]===void 0&&(i[r]=t[r]);return{$$typeof:hC,type:e,key:a,ref:o,props:i,_owner:fC.current}}qu.Fragment=mC;qu.jsx=O1;qu.jsxs=O1;k1.exports=qu;var n=k1.exports,M1={exports:{}},Zt={},D1={exports:{}},L1={};/**
18 * @license React
19 * scheduler.production.min.js
20 *
21 * Copyright (c) Facebook, Inc. and its affiliates.
22 *
23 * This source code is licensed under the MIT license found in the
24 * LICENSE file in the root directory of this source tree.
25 */(function(e){function t(S,C){var D=S.length;S.push(C);e:for(;0<D;){var H=D-1>>>1,Z=S[H];if(0<i(Z,C))S[H]=C,S[D]=Z,D=H;else break e}}function s(S){return S.length===0?null:S[0]}function r(S){if(S.length===0)return null;var C=S[0],D=S.pop();if(D!==C){S[0]=D;e:for(var H=0,Z=S.length,le=Z>>>1;H<le;){var de=2*(H+1)-1,ue=S[de],Ie=de+1,xe=S[Ie];if(0>i(ue,D))Ie<Z&&0>i(xe,ue)?(S[H]=xe,S[Ie]=D,H=Ie):(S[H]=ue,S[de]=D,H=de);else if(Ie<Z&&0>i(xe,D))S[H]=xe,S[Ie]=D,H=Ie;else break e}}return C}function i(S,C){var D=S.sortIndex-C.sortIndex;return D!==0?D:S.id-C.id}if(typeof performance=="object"&&typeof performance.now=="function"){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,l=o.now();e.unstable_now=function(){return o.now()-l}}var c=[],d=[],u=1,h=null,m=3,p=!1,x=!1,y=!1,b=typeof setTimeout=="function"?setTimeout:null,f=typeof clearTimeout=="function"?clearTimeout:null,g=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function v(S){for(var C=s(d);C!==null;){if(C.callback===null)r(d);else if(C.startTime<=S)r(d),C.sortIndex=C.expirationTime,t(c,C);else break;C=s(d)}}function j(S){if(y=!1,v(S),!x)if(s(c)!==null)x=!0,G(k);else{var C=s(d);C!==null&&se(j,C.startTime-S)}}function k(S,C){x=!1,y&&(y=!1,f(E),E=-1),p=!0;var D=m;try{for(v(C),h=s(c);h!==null&&(!(h.expirationTime>C)||S&&!B());){var H=h.callback;if(typeof H=="function"){h.callback=null,m=h.priorityLevel;var Z=H(h.expirationTime<=C);C=e.unstable_now(),typeof Z=="function"?h.callback=Z:h===s(c)&&r(c),v(C)}else r(c);h=s(c)}if(h!==null)var le=!0;else{var de=s(d);de!==null&&se(j,de.startTime-C),le=!1}return le}finally{h=null,m=D,p=!1}}var N=!1,A=null,E=-1,R=5,I=-1;function B(){return!(e.unstable_now()-I<R)}function _(){if(A!==null){var S=e.unstable_now();I=S;var C=!0;try{C=A(!0,S)}finally{C?$():(N=!1,A=null)}}else N=!1}var $;if(typeof g=="function")$=function(){g(_)};else if(typeof MessageChannel<"u"){var M=new MessageChannel,Q=M.port2;M.port1.onmessage=_,$=function(){Q.postMessage(null)}}else $=function(){b(_,0)};function G(S){A=S,N||(N=!0,$())}function se(S,C){E=b(function(){S(e.unstable_now())},C)}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(S){S.callback=null},e.unstable_continueExecution=function(){x||p||(x=!0,G(k))},e.unstable_forceFrameRate=function(S){0>S||125<S?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):R=0<S?Math.floor(1e3/S):5},e.unstable_getCurrentPriorityLevel=function(){return m},e.unstable_getFirstCallbackNode=function(){return s(c)},e.unstable_next=function(S){switch(m){case 1:case 2:case 3:var C=3;break;default:C=m}var D=m;m=C;try{return S()}finally{m=D}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(S,C){switch(S){case 1:case 2:case 3:case 4:case 5:break;default:S=3}var D=m;m=S;try{return C()}finally{m=D}},e.unstable_scheduleCallback=function(S,C,D){var H=e.unstable_now();switch(typeof D=="object"&&D!==null?(D=D.delay,D=typeof D=="number"&&0<D?H+D:H):D=H,S){case 1:var Z=-1;break;case 2:Z=250;break;case 5:Z=1073741823;break;case 4:Z=1e4;break;default:Z=5e3}return Z=D+Z,S={id:u++,callback:C,priorityLevel:S,startTime:D,expirationTime:Z,sortIndex:-1},D>H?(S.sortIndex=D,t(d,S),s(c)===null&&S===s(d)&&(y?(f(E),E=-1):y=!0,se(j,D-H))):(S.sortIndex=Z,t(c,S),x||p||(x=!0,G(k))),S},e.unstable_shouldYield=B,e.unstable_wrapCallback=function(S){var C=m;return function(){var D=m;m=C;try{return S.apply(this,arguments)}finally{m=D}}}})(L1);D1.exports=L1;var xC=D1.exports;/**
26 * @license React
27 * react-dom.production.min.js
28 *
29 * Copyright (c) Facebook, Inc. and its affiliates.
30 *
31 * This source code is licensed under the MIT license found in the
32 * LICENSE file in the root directory of this source tree.
33 */var yC=w,Yt=xC;function F(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,s=1;s<arguments.length;s++)t+="&args[]="+encodeURIComponent(arguments[s]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var $1=new Set,ul={};function Ci(e,t){La(e,t),La(e+"Capture",t)}function La(e,t){for(ul[e]=t,e=0;e<t.length;e++)$1.add(t[e])}var _r=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),ip=Object.prototype.hasOwnProperty,vC=/^[: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]*$/,Iy={},Ry={};function bC(e){return ip.call(Ry,e)?!0:ip.call(Iy,e)?!1:vC.test(e)?Ry[e]=!0:(Iy[e]=!0,!1)}function wC(e,t,s,r){if(s!==null&&s.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:s!==null?!s.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function jC(e,t,s,r){if(t===null||typeof t>"u"||wC(e,t,s,r))return!0;
vendor: 5,200 bytes, lines 33-34
33if(r)return!1;if(s!==null)switch(s.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function It(e,t,s,r,i,a,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=s,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=o}var mt={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){mt[e]=new It(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];mt[t]=new It(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){mt[e]=new It(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){mt[e]=new It(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){mt[e]=new It(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){mt[e]=new It(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){mt[e]=new It(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){mt[e]=new It(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){mt[e]=new It(e,5,!1,e.toLowerCase(),null,!1,!1)});var bg=/[\-:]([a-z])/g;function wg(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(bg,wg);mt[t]=new It(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(bg,wg);mt[t]=new It(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(bg,wg);mt[t]=new It(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){mt[e]=new It(e,1,!1,e.toLowerCase(),null,!1,!1)});mt.xlinkHref=new It("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){mt[e]=new It(e,1,!1,e.toLowerCase(),null,!0,!0)});function jg(e,t,s,r){var i=mt.hasOwnProperty(t)?mt[t]:null;(i!==null?i.type!==0:r||!(2<t.length)||t[0]!=="o"&&t[0]!=="O"||t[1]!=="n"&&t[1]!=="N")&&(jC(t,s,i,r)&&(s=null),r||i===null?bC(t)&&(s===null?e.removeAttribute(t):e.setAttribute(t,""+s)):i.mustUseProperty?e[i.propertyName]=s===null?i.type===3?!1:"":s:(t=i.attributeName,r=i.attributeNamespace,s===null?e.removeAttribute(t):(i=i.type,s=i===3||i===4&&s===!0?"":""+s,r?e.setAttributeNS(r,t,s):e.setAttribute(t,s))))}var Or=yC.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,wc=Symbol.for("react.element"),ta=Symbol.for("react.portal"),sa=Symbol.for("react.fragment"),kg=Symbol.for("react.strict_mode"),ap=Symbol.for("react.profiler"),F1=Symbol.for("react.provider"),B1=Symbol.for("react.context"),Ng=Symbol.for("react.forward_ref"),op=Symbol.for("react.suspense"),lp=Symbol.for("react.suspense_list"),Sg=Symbol.for("react.memo"),Kr=Symbol.for("react.lazy"),U1=Symbol.for("react.offscreen"),Oy=Symbol.iterator;function yo(e){return e===null||typeof e!="object"?null:(e=Oy&&e[Oy]||e["@@iterator"],typeof e=="function"?e:null)}var De=Object.assign,zh;function Fo(e){if(zh===void 0)try{throw Error()}catch(s){var t=s.stack.trim().match(/\n( *(at )?)/);zh=t&&t[1]||""}return`
34`+zh+e}var Hh=!1;function qh(e,t){if(!e||Hh)return"";Hh=!0;var s=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(t,[])}catch(d){var r=d}Reflect.construct(e,[],t)}else{try{t.call()}catch(d){r=d}e.call(t.prototype)}else{try{throw Error()}catch(d){r=d}e()}}
vendor: 18,177 bytes, lines 34-37
34catch(d){if(d&&r&&typeof d.stack=="string"){for(var i=d.stack.split(`
35`),a=r.stack.split(`
36`),o=i.length-1,l=a.length-1;1<=o&&0<=l&&i[o]!==a[l];)l--;for(;1<=o&&0<=l;o--,l--)if(i[o]!==a[l]){if(o!==1||l!==1)do if(o--,l--,0>l||i[o]!==a[l]){var c=`
37`+i[o].replace(" at new "," at ");return e.displayName&&c.includes("<anonymous>")&&(c=c.replace("<anonymous>",e.displayName)),c}while(1<=o&&0<=l);break}}}finally{Hh=!1,Error.prepareStackTrace=s}return(e=e?e.displayName||e.name:"")?Fo(e):""}function kC(e){switch(e.tag){case 5:return Fo(e.type);case 16:return Fo("Lazy");case 13:return Fo("Suspense");case 19:return Fo("SuspenseList");case 0:case 2:case 15:return e=qh(e.type,!1),e;case 11:return e=qh(e.type.render,!1),e;case 1:return e=qh(e.type,!0),e;default:return""}}function cp(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case sa:return"Fragment";case ta:return"Portal";case ap:return"Profiler";case kg:return"StrictMode";case op:return"Suspense";case lp:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case B1:return(e.displayName||"Context")+".Consumer";case F1:return(e._context.displayName||"Context")+".Provider";case Ng:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Sg:return t=e.displayName||null,t!==null?t:cp(e.type)||"Memo";case Kr:t=e._payload,e=e._init;try{return cp(e(t))}catch{}}return null}function NC(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return cp(t);case 8:return t===kg?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Nn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function W1(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function SC(e){var t=W1(e)?"checked":"value",s=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof s<"u"&&typeof s.get=="function"&&typeof s.set=="function"){var i=s.get,a=s.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(o){r=""+o,a.call(this,o)}}),Object.defineProperty(e,t,{enumerable:s.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function jc(e){e._valueTracker||(e._valueTracker=SC(e))}function V1(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var s=t.getValue(),r="";return e&&(r=W1(e)?e.checked?"true":"false":e.value),e=r,e!==s?(t.setValue(e),!0):!1}function Ud(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function dp(e,t){var s=t.checked;return De({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:s??e._wrapperState.initialChecked})}function My(e,t){var s=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;s=Nn(t.value!=null?t.value:s),e._wrapperState={initialChecked:r,initialValue:s,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function z1(e,t){t=t.checked,t!=null&&jg(e,"checked",t,!1)}function up(e,t){z1(e,t);var s=Nn(t.value),r=t.type;if(s!=null)r==="number"?(s===0&&e.value===""||e.value!=s)&&(e.value=""+s):e.value!==""+s&&(e.value=""+s);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?hp(e,t.type,s):t.hasOwnProperty("defaultValue")&&hp(e,t.type,Nn(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Dy(e,t,s){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,s||t===e.value||(e.value=t),e.defaultValue=t}s=e.name,s!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,s!==""&&(e.name=s)}function hp(e,t,s){(t!=="number"||Ud(e.ownerDocument)!==e)&&(s==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+s&&(e.defaultValue=""+s))}var Bo=Array.isArray;function xa(e,t,s,r){if(e=e.options,t){t={};for(var i=0;i<s.length;i++)t["$"+s[i]]=!0;for(s=0;s<e.length;s++)i=t.hasOwnProperty("$"+e[s].value),e[s].selected!==i&&(e[s].selected=i),i&&r&&(e[s].defaultSelected=!0)}else{for(s=""+Nn(s),t=null,i=0;i<e.length;i++){if(e[i].value===s){e[i].selected=!0,r&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function mp(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(F(91));return De({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function Ly(e,t){var s=t.value;if(s==null){if(s=t.children,t=t.defaultValue,s!=null){if(t!=null)throw Error(F(92));if(Bo(s)){if(1<s.length)throw Error(F(93));s=s[0]}t=s}t==null&&(t=""),s=t}e._wrapperState={initialValue:Nn(s)}}function H1(e,t){var s=Nn(t.value),r=Nn(t.defaultValue);s!=null&&(s=""+s,s!==e.value&&(e.value=s),t.defaultValue==null&&e.defaultValue!==s&&(e.defaultValue=s)),r!=null&&(e.defaultValue=""+r)}function $y(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function q1(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function pp(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?q1(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var kc,G1=function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,s,r,i){MSApp.execUnsafeLocalFunction(function(){return e(t,s,r,i)})}:e}(function(e,t){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=t;else{for(kc=kc||document.createElement("div"),kc.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=kc.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function hl(e,t){if(t){var s=e.firstChild;if(s&&s===e.lastChild&&s.nodeType===3){s.nodeValue=t;return}}e.textContent=t}var Go={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},AC=["Webkit","ms","Moz","O"];Object.keys(Go).forEach(function(e){AC.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Go[t]=Go[e]})});function K1(e,t,s){return t==null||typeof t=="boolean"||t===""?"":s||typeof t!="number"||t===0||Go.hasOwnProperty(e)&&Go[e]?(""+t).trim():t+"px"}function Y1(e,t){e=e.style;for(var s in t)if(t.hasOwnProperty(s)){var r=s.indexOf("--")===0,i=K1(s,t[s],r);s==="float"&&(s="cssFloat"),r?e.setProperty(s,i):e[s]=i}}var _C=De({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 fp(e,t){if(t){if(_C[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(F(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(F(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(F(61))}if(t.style!=null&&typeof t.style!="object")throw Error(F(62))}}function gp(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var xp=null;function Ag(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var yp=null,ya=null,va=null;function Fy(e){if(e=ec(e)){if(typeof yp!="function")throw Error(F(280));var t=e.stateNode;t&&(t=Zu(t),yp(e.stateNode,e.type,t))}}function J1(e){ya?va?va.push(e):va=[e]:ya=e}function Z1(){if(ya){var e=ya,t=va;if(va=ya=null,Fy(e),t)for(e=0;e<t.length;e++)Fy(t[e])}}function X1(e,t){return e(t)}function Q1(){}var Gh=!1;function ej(e,t,s){if(Gh)return e(t,s);Gh=!0;try{return X1(e,t,s)}finally{Gh=!1,(ya!==null||va!==null)&&(Q1(),Z1())}}function ml(e,t){var s=e.stateNode;if(s===null)return null;var r=Zu(s);if(r===null)return null;s=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(e=e.type,r=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!r;break e;default:e=!1}if(e)return null;if(s&&typeof s!="function")throw Error(F(231,t,typeof s));return s}var vp=!1;if(_r)try{var vo={};Object.defineProperty(vo,"passive",{get:function(){vp=!0}}),window.addEventListener("test",vo,vo),window.removeEventListener("test",vo,vo)}catch{vp=!1}function CC(e,t,s,r,i,a,o,l,c){var d=Array.prototype.slice.call(arguments,3);try{t.apply(s,d)}catch(u){this.onError(u)}}var Ko=!1,Wd=null,Vd=!1,bp=null,EC={onError:function(e){Ko=!0,Wd=e}};function TC(e,t,s,r,i,a,o,l,c){Ko=!1,Wd=null,CC.apply(EC,arguments)}function PC(e,t,s,r,i,a,o,l,c){if(TC.apply(this,arguments),Ko){if(Ko){var d=Wd;Ko=!1,Wd=null}else throw Error(F(198));Vd||(Vd=!0,bp=d)}}function Ei(e){var t=e,s=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(s=t.return),e=t.return;while(e)}return t.tag===3?s:null}function tj(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function By(e){if(Ei(e)!==e)throw Error(F(188))}function IC(e){var t=e.alternate;if(!t){if(t=Ei(e),t===null)throw Error(F(188));return t!==e?null:e}for(var s=e,r=t;;){var i=s.return;if(i===null)break;var a=i.alternate;if(a===null){if(r=i.return,r!==null){s=r;continue}break}if(i.child===a.child){for(a=i.child;a;){if(a===s)return By(i),e;if(a===r)return By(i),t;a=a.sibling}throw Error(F(188))}if(s.return!==r.return)s=i,r=a;else{for(var o=!1,l=i.child;l;){if(l===s){o=!0,s=i,r=a;break}if(l===r){o=!0,r=i,s=a;break}l=l.sibling}if(!o){for(l=a.child;l;){if(l===s){o=!0,s=a,r=i;break}if(l===r){o=!0,r=a,s=i;break}l=l.sibling}if(!o)throw Error(F(189))}}if(s.alternate!==r)throw Error(F(190))}if(s.tag!==3)throw Error(F(188));return s.stateNode.current===s?e:t}function sj(e){return e=IC(e),e!==null?rj(e):null}function rj(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=rj(e);if(t!==null)return t;e=e.sibling}return null}var nj=Yt.unstable_scheduleCallback,Uy=Yt.unstable_cancelCallback,RC=Yt.unstable_shouldYield,OC=Yt.unstable_requestPaint,ze=Yt.unstable_now,MC=Yt.unstable_getCurrentPriorityLevel,_g=Yt.unstable_ImmediatePriority,ij=Yt.unstable_UserBlockingPriority,zd=Yt.unstable_NormalPriority,DC=Yt.unstable_LowPriority,aj=Yt.unstable_IdlePriority,Gu=null,er=null;function LC(e){if(er&&typeof er.onCommitFiberRoot=="function")try{er.onCommitFiberRoot(Gu,e,void 0,(e.current.flags&128)===128)}catch{}}var Rs=Math.clz32?Math.clz32:BC,$C=Math.log,FC=Math.LN2;function BC(e){return e>>>=0,e===0?32:31-($C(e)/FC|0)|0}var Nc=64,Sc=4194304;function Uo(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Hd(e,t){var s=e.pendingLanes;if(s===0)return 0;var r=0,i=e.suspendedLanes,a=e.pingedLanes,o=s&268435455;if(o!==0){var l=o&~i;l!==0?r=Uo(l):(a&=o,a!==0&&(r=Uo(a)))}else o=s&~i,o!==0?r=Uo(o):a!==0&&(r=Uo(a));if(r===0)return 0;if(t!==0&&t!==r&&!(t&i)&&(i=r&-r,a=t&-t,i>=a||i===16&&(a&4194240)!==0))return t;if(r&4&&(r|=s&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0<t;)s=31-Rs(t),i=1<<s,r|=e[s],t&=~i;return r}function UC(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function WC(e,t){for(var s=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes;0<a;){var o=31-Rs(a),l=1<<o,c=i[o];c===-1?(!(l&s)||l&r)&&(i[o]=UC(l,t)):c<=t&&(e.expiredLanes|=l),a&=~l}}function wp(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function oj(){var e=Nc;return Nc<<=1,!(Nc&4194240)&&(Nc=64),e}function Kh(e){for(var t=[],s=0;31>s;s++)t.push(e);return t}function Xl(e,t,s){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Rs(t),e[t]=s}function VC(e,t){var s=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<s;){var i=31-Rs(s),a=1<<i;t[i]=0,r[i]=-1,e[i]=-1,s&=~a}}function Cg(e,t){var s=e.entangledLanes|=t;for(e=e.entanglements;s;){var r=31-Rs(s),i=1<<r;i&t|e[r]&t&&(e[r]|=t),s&=~i}}var be=0;function lj(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var cj,Eg,dj,uj,hj,jp=!1,Ac=[],hn=null,mn=null,pn=null,pl=new Map,fl=new Map,Zr=[],zC="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 Wy(e,t){switch(e){case"focusin":case"focusout":hn=null;break;case"dragenter":case"dragleave":mn=null;break;case"mouseover":case"mouseout":pn=null;break;case"pointerover":case"pointerout":pl.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":fl.delete(t.pointerId)}}function bo(e,t,s,r,i,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:s,eventSystemFlags:r,nativeEvent:a,targetContainers:[i]},t!==null&&(t=ec(t),t!==null&&Eg(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function HC(e,t,s,r,i){switch(t){case"focusin":return hn=bo(hn,e,t,s,r,i),!0;case"dragenter":return mn=bo(mn,e,t,s,r,i),!0;case"mouseover":return pn=bo(pn,e,t,s,r,i),!0;case"pointerover":var a=i.pointerId;return pl.set(a,bo(pl.get(a)||null,e,t,s,r,i)),!0;case"gotpointercapture":return a=i.pointerId,fl.set(a,bo(fl.get(a)||null,e,t,s,r,i)),!0}return!1}function mj(e){var t=ei(e.target);if(t!==null){var s=Ei(t);if(s!==null){if(t=s.tag,t===13){if(t=tj(s),t!==null){e.blockedOn=t,hj(e.priority,function(){dj(s)});return}}else if(t===3&&s.stateNode.current.memoizedState.isDehydrated){e.blockedOn=s.tag===3?s.stateNode.containerInfo:null;return}}}e.blockedOn=null}function fd(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var s=kp(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(s===null){s=e.nativeEvent;var r=new s.constructor(s.type,s);xp=r,s.target.dispatchEvent(r),xp=null}else return t=ec(s),t!==null&&Eg(t),e.blockedOn=s,!1;t.shift()}return!0}function Vy(e,t,s){fd(e)&&s.delete(t)}function qC(){jp=!1,hn!==null&&fd(hn)&&(hn=null),mn!==null&&fd(mn)&&(mn=null),pn!==null&&fd(pn)&&(pn=null),pl.forEach(Vy),fl.forEach(Vy)}function wo(e,t){e.blockedOn===t&&(e.blockedOn=null,jp||(jp=!0,Yt.unstable_scheduleCallback(Yt.unstable_NormalPriority,qC)))}function gl(e){function t(i){return wo(i,e)}if(0<Ac.length){wo(Ac[0],e);for(var s=1;s<Ac.length;s++){var r=Ac[s];r.blockedOn===e&&(r.blockedOn=null)}}for(hn!==null&&wo(hn,e),mn!==null&&wo(mn,e),pn!==null&&wo(pn,e),pl.forEach(t),fl.forEach(t),s=0;s<Zr.length;s++)r=Zr[s],r.blockedOn===e&&(r.blockedOn=null);for(;0<Zr.length&&(s=Zr[0],s.blockedOn===null);)mj(s),s.blockedOn===null&&Zr.shift()}var ba=Or.ReactCurrentBatchConfig,qd=!0;function GC(e,t,s,r){var i=be,a=ba.transition;ba.transition=null;try{be=1,Tg(e,t,s,r)}finally{be=i,ba.transition=a}}function KC(e,t,s,r){var i=be,a=ba.transition;ba.transition=null;try{be=4,Tg(e,t,s,r)}finally{be=i,ba.transition=a}}function Tg(e,t,s,r){if(qd){var i=kp(e,t,s,r);if(i===null)nm(e,t,r,Gd,s),Wy(e,r);else if(HC(i,e,t,s,r))r.stopPropagation();else if(Wy(e,r),t&4&&-1<zC.indexOf(e)){for(;i!==null;){var a=ec(i);if(a!==null&&cj(a),a=kp(e,t,s,r),a===null&&nm(e,t,r,Gd,s),a===i)break;i=a}i!==null&&r.stopPropagation()}else nm(e,t,r,null,s)}}var Gd=null;function kp(e,t,s,r){if(Gd=null,e=Ag(r),e=ei(e),e!==null)if(t=Ei(e),t===null)e=null;else if(s=t.tag,s===13){if(e=tj(t),e!==null)return e;e=null}else if(s===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Gd=e,null}
vendor: 9,127 bytes, line 37
37function pj(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(MC()){case _g:return 1;case ij:return 4;case zd:case DC:return 16;case aj:return 536870912;default:return 16}default:return 16}}var on=null,Pg=null,gd=null;function fj(){if(gd)return gd;var e,t=Pg,s=t.length,r,i="value"in on?on.value:on.textContent,a=i.length;for(e=0;e<s&&t[e]===i[e];e++);var o=s-e;for(r=1;r<=o&&t[s-r]===i[a-r];r++);return gd=i.slice(e,1<r?1-r:void 0)}function xd(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function _c(){return!0}function zy(){return!1}function Xt(e){function t(s,r,i,a,o){this._reactName=s,this._targetInst=i,this.type=r,this.nativeEvent=a,this.target=o,this.currentTarget=null;for(var l in e)e.hasOwnProperty(l)&&(s=e[l],this[l]=s?s(a):a[l]);return this.isDefaultPrevented=(a.defaultPrevented!=null?a.defaultPrevented:a.returnValue===!1)?_c:zy,this.isPropagationStopped=zy,this}return De(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var s=this.nativeEvent;s&&(s.preventDefault?s.preventDefault():typeof s.returnValue!="unknown"&&(s.returnValue=!1),this.isDefaultPrevented=_c)},stopPropagation:function(){var s=this.nativeEvent;s&&(s.stopPropagation?s.stopPropagation():typeof s.cancelBubble!="unknown"&&(s.cancelBubble=!0),this.isPropagationStopped=_c)},persist:function(){},isPersistent:_c}),t}var to={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Ig=Xt(to),Ql=De({},to,{view:0,detail:0}),YC=Xt(Ql),Yh,Jh,jo,Ku=De({},Ql,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Rg,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==jo&&(jo&&e.type==="mousemove"?(Yh=e.screenX-jo.screenX,Jh=e.screenY-jo.screenY):Jh=Yh=0,jo=e),Yh)},movementY:function(e){return"movementY"in e?e.movementY:Jh}}),Hy=Xt(Ku),JC=De({},Ku,{dataTransfer:0}),ZC=Xt(JC),XC=De({},Ql,{relatedTarget:0}),Zh=Xt(XC),QC=De({},to,{animationName:0,elapsedTime:0,pseudoElement:0}),eE=Xt(QC),tE=De({},to,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),sE=Xt(tE),rE=De({},to,{data:0}),qy=Xt(rE),nE={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},iE={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"},aE={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function oE(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=aE[e])?!!t[e]:!1}function Rg(){return oE}var lE=De({},Ql,{key:function(e){if(e.key){var t=nE[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=xd(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?iE[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Rg,charCode:function(e){return e.type==="keypress"?xd(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?xd(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),cE=Xt(lE),dE=De({},Ku,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Gy=Xt(dE),uE=De({},Ql,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Rg}),hE=Xt(uE),mE=De({},to,{propertyName:0,elapsedTime:0,pseudoElement:0}),pE=Xt(mE),fE=De({},Ku,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),gE=Xt(fE),xE=[9,13,27,32],Og=_r&&"CompositionEvent"in window,Yo=null;_r&&"documentMode"in document&&(Yo=document.documentMode);var yE=_r&&"TextEvent"in window&&!Yo,gj=_r&&(!Og||Yo&&8<Yo&&11>=Yo),Ky=" ",Yy=!1;function xj(e,t){switch(e){case"keyup":return xE.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function yj(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var ra=!1;function vE(e,t){switch(e){case"compositionend":return yj(t);case"keypress":return t.which!==32?null:(Yy=!0,Ky);case"textInput":return e=t.data,e===Ky&&Yy?null:e;default:return null}}function bE(e,t){if(ra)return e==="compositionend"||!Og&&xj(e,t)?(e=fj(),gd=Pg=on=null,ra=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return gj&&t.locale!=="ko"?null:t.data;default:return null}}var wE={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 Jy(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!wE[e.type]:t==="textarea"}function vj(e,t,s,r){J1(r),t=Kd(t,"onChange"),0<t.length&&(s=new Ig("onChange","change",null,s,r),e.push({event:s,listeners:t}))}var Jo=null,xl=null;function jE(e){Tj(e,0)}function Yu(e){var t=aa(e);if(V1(t))return e}function kE(e,t){if(e==="change")return t}var bj=!1;if(_r){var Xh;if(_r){var Qh="oninput"in document;if(!Qh){var Zy=document.createElement("div");Zy.setAttribute("oninput","return;"),Qh=typeof Zy.oninput=="function"}Xh=Qh}else Xh=!1;bj=Xh&&(!document.documentMode||9<document.documentMode)}function Xy(){Jo&&(Jo.detachEvent("onpropertychange",wj),xl=Jo=null)}function wj(e){if(e.propertyName==="value"&&Yu(xl)){var t=[];vj(t,xl,e,Ag(e)),ej(jE,t)}}function NE(e,t,s){e==="focusin"?(Xy(),Jo=t,xl=s,Jo.attachEvent("onpropertychange",wj)):e==="focusout"&&Xy()}function SE(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Yu(xl)}function AE(e,t){if(e==="click")return Yu(t)}function _E(e,t){if(e==="input"||e==="change")return Yu(t)}function CE(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Ds=typeof Object.is=="function"?Object.is:CE;function yl(e,t){if(Ds(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var s=Object.keys(e),r=Object.keys(t);if(s.length!==r.length)return!1;for(r=0;r<s.length;r++){var i=s[r];if(!ip.call(t,i)||!Ds(e[i],t[i]))return!1}return!0}function Qy(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function ev(e,t){var s=Qy(e);e=0;for(var r;s;){if(s.nodeType===3){if(r=e+s.textContent.length,e<=t&&r>=t)return{node:s,offset:t-e};e=r}e:{for(;s;){if(s.nextSibling){s=s.nextSibling;break e}s=s.parentNode}s=void 0}s=Qy(s)}}function jj(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?jj(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function kj(){for(var e=window,t=Ud();t instanceof e.HTMLIFrameElement;){try{var s=typeof t.contentWindow.location.href=="string"}catch{s=!1}if(s)e=t.contentWindow;else break;t=Ud(e.document)}return t}function Mg(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function EE(e){var t=kj(),s=e.focusedElem,r=e.selectionRange;if(t!==s&&s&&s.ownerDocument&&jj(s.ownerDocument.documentElement,s)){if(r!==null&&Mg(s)){if
vendor: 4,424 bytes, line 37
37(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in s)s.selectionStart=t,s.selectionEnd=Math.min(e,s.value.length);else if(e=(t=s.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=s.textContent.length,a=Math.min(r.start,i);r=r.end===void 0?a:Math.min(r.end,i),!e.extend&&a>r&&(i=r,r=a,a=i),i=ev(s,a);var o=ev(s,r);i&&o&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),a>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=s;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof s.focus=="function"&&s.focus(),s=0;s<t.length;s++)e=t[s],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var TE=_r&&"documentMode"in document&&11>=document.documentMode,na=null,Np=null,Zo=null,Sp=!1;function tv(e,t,s){var r=s.window===s?s.document:s.nodeType===9?s:s.ownerDocument;Sp||na==null||na!==Ud(r)||(r=na,"selectionStart"in r&&Mg(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Zo&&yl(Zo,r)||(Zo=r,r=Kd(Np,"onSelect"),0<r.length&&(t=new Ig("onSelect","select",null,t,s),e.push({event:t,listeners:r}),t.target=na)))}function Cc(e,t){var s={};return s[e.toLowerCase()]=t.toLowerCase(),s["Webkit"+e]="webkit"+t,s["Moz"+e]="moz"+t,s}var ia={animationend:Cc("Animation","AnimationEnd"),animationiteration:Cc("Animation","AnimationIteration"),animationstart:Cc("Animation","AnimationStart"),transitionend:Cc("Transition","TransitionEnd")},em={},Nj={};_r&&(Nj=document.createElement("div").style,"AnimationEvent"in window||(delete ia.animationend.animation,delete ia.animationiteration.animation,delete ia.animationstart.animation),"TransitionEvent"in window||delete ia.transitionend.transition);function Ju(e){if(em[e])return em[e];if(!ia[e])return e;var t=ia[e],s;for(s in t)if(t.hasOwnProperty(s)&&s in Nj)return em[e]=t[s];return e}var Sj=Ju("animationend"),Aj=Ju("animationiteration"),_j=Ju("animationstart"),Cj=Ju("transitionend"),Ej=new Map,sv="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 On(e,t){Ej.set(e,t),Ci(t,[e])}for(var tm=0;tm<sv.length;tm++){var sm=sv[tm],PE=sm.toLowerCase(),IE=sm[0].toUpperCase()+sm.slice(1);On(PE,"on"+IE)}On(Sj,"onAnimationEnd");On(Aj,"onAnimationIteration");On(_j,"onAnimationStart");On("dblclick","onDoubleClick");On("focusin","onFocus");On("focusout","onBlur");On(Cj,"onTransitionEnd");La("onMouseEnter",["mouseout","mouseover"]);La("onMouseLeave",["mouseout","mouseover"]);La("onPointerEnter",["pointerout","pointerover"]);La("onPointerLeave",["pointerout","pointerover"]);Ci("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));Ci("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Ci("onBeforeInput",["compositionend","keypress","textInput","paste"]);Ci("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));Ci("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Ci("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Wo="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(" "),RE=new Set("cancel close invalid load scroll toggle".split(" ").concat(Wo));function rv(e,t,s){var r=e.type||"unknown-event";e.currentTarget=s,PC(r,t,void 0,e),e.currentTarget=null}
vendor: 4,874 bytes, line 37
37function Tj(e,t){t=(t&4)!==0;for(var s=0;s<e.length;s++){var r=e[s],i=r.event;r=r.listeners;e:{var a=void 0;if(t)for(var o=r.length-1;0<=o;o--){var l=r[o],c=l.instance,d=l.currentTarget;if(l=l.listener,c!==a&&i.isPropagationStopped())break e;rv(i,l,d),a=c}else for(o=0;o<r.length;o++){if(l=r[o],c=l.instance,d=l.currentTarget,l=l.listener,c!==a&&i.isPropagationStopped())break e;rv(i,l,d),a=c}}}if(Vd)throw e=bp,Vd=!1,bp=null,e}function _e(e,t){var s=t[Tp];s===void 0&&(s=t[Tp]=new Set);var r=e+"__bubble";s.has(r)||(Pj(t,e,2,!1),s.add(r))}function rm(e,t,s){var r=0;t&&(r|=4),Pj(s,e,r,t)}var Ec="_reactListening"+Math.random().toString(36).slice(2);function vl(e){if(!e[Ec]){e[Ec]=!0,$1.forEach(function(s){s!=="selectionchange"&&(RE.has(s)||rm(s,!1,e),rm(s,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Ec]||(t[Ec]=!0,rm("selectionchange",!1,t))}}function Pj(e,t,s,r){switch(pj(t)){case 1:var i=GC;break;case 4:i=KC;break;default:i=Tg}s=i.bind(null,t,s,e),i=void 0,!vp||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(i=!0),r?i!==void 0?e.addEventListener(t,s,{capture:!0,passive:i}):e.addEventListener(t,s,!0):i!==void 0?e.addEventListener(t,s,{passive:i}):e.addEventListener(t,s,!1)}function nm(e,t,s,r,i){var a=r;if(!(t&1)&&!(t&2)&&r!==null)e:for(;;){if(r===null)return;var o=r.tag;if(o===3||o===4){var l=r.stateNode.containerInfo;if(l===i||l.nodeType===8&&l.parentNode===i)break;if(o===4)for(o=r.return;o!==null;){var c=o.tag;if((c===3||c===4)&&(c=o.stateNode.containerInfo,c===i||c.nodeType===8&&c.parentNode===i))return;o=o.return}for(;l!==null;){if(o=ei(l),o===null)return;if(c=o.tag,c===5||c===6){r=a=o;continue e}l=l.parentNode}}r=r.return}ej(function(){var d=a,u=Ag(s),h=[];e:{var m=Ej.get(e);if(m!==void 0){var p=Ig,x=e;switch(e){case"keypress":if(xd(s)===0)break e;case"keydown":case"keyup":p=cE;break;case"focusin":x="focus",p=Zh;break;case"focusout":x="blur",p=Zh;break;case"beforeblur":case"afterblur":p=Zh;break;case"click":if(s.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":p=Hy;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":p=ZC;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":p=hE;break;case Sj:case Aj:case _j:p=eE;break;case Cj:p=pE;break;case"scroll":p=YC;break;case"wheel":p=gE;break;case"copy":case"cut":case"paste":p=sE;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":p=Gy}var y=(t&4)!==0,b=!y&&e==="scroll",f=y?m!==null?m+"Capture":null:m;y=[];for(var g=d,v;g!==null;){v=g;var j=v.stateNode;if(v.tag===5&&j!==null&&(v=j,f!==null&&(j=ml(g,f),j!=null&&y.push(bl(g,j,v)))),b)break;g=g.return}0<y.length&&(m=new p(m,x,null,s,u),h.push({event:m,listeners:y}))}}if(!(t&7)){e:{if(m=e==="mouseover"||e==="pointerover",p=e==="mouseout"||e==="pointerout",m&&s!==xp&&(x=s.relatedTarget||s.fromElement)&&(ei(x)||x[Cr]))break e;if((p||m)&&(m=u.window===u?u:(m=u.ownerDocument)?m.defaultView||m.parentWindow:window,p?(x=s.relatedTarget||s.toElement,p=d,x=x?ei(x):null,x!==null&&(b=Ei(x),x!==b||x.tag!==5&&x.tag!==6)&&(x=null)):(p=null,x=d),p!==x)){if(y=Hy,j="onMouseLeave",f="onMouseEnter",g="mouse",(e==="pointerout"||e==="pointerover")&&(y=Gy,j="onPointerLeave",f="onPointerEnter",g="pointer"),b=p==null?m:aa(p),v=x==null?m:aa(x),m=new y(j,g+"leave",p,s,u),m.target=b,m.relatedTarget=v,j=null,ei(u)===d&&(y=new y(f,g+"enter",x,s,u),y.target=v,y.relatedTarget=b,j=y),b=j,p&&x)t:{for(y=p,f=x,g=0,v=y;v;v=Di(v))g++;for(v=0,j=f;j;j=Di(j))v++;for(;0<g-v;)y=Di(y),g--;for(;0<v-g;)f=Di(f),v--;for(;g--;){if(y===f||f!==null&&y===f.alternate)break t;y=Di(y),f=Di(f)}y=null}else y=null;p!==null&&nv(h,m,p,y,!1),x!==null&&b!==null&&nv(h,b,x,y,!0)}}e:{if(m=d?aa(d):window,p=m.nodeName&&m.nodeName.toLowerCase(),p==="select"||p==="input"&&m.type==="file")var k=kE;else if(Jy(m))if(bj)k=_E;else{k=SE;var N=NE}else(p=m.nodeName)&&p.toLowerCase()==="input"&&(m.type==="checkbox"||m.type==="radio")&&(k=AE);if(k&&(k=k(e,d))){vj(h,k,s,u);break e}N&&N(e,m,d),e==="focusout"&&(N=m._wrapperState)&&N.controlled&&m.type==="number"&&hp(m,"number",m.value)}switch(N=d?aa(d):window,e){case"focusin":(Jy(N)||N.contentEditable==="true")&&(na=N,Np=d,Zo=null);break;case"focusout":Zo=Np=na=null;break;case"mousedown":Sp=!0;break;case"contextmenu":case"mouseup":case"dragend":Sp=!1,tv(h,s,u);break;case"selectionchange":if(TE)break;case"keydown":case"keyup":tv(h,s,u)}var A;if(Og)e:{switch(e){case"compositionstart":var E="onCompositionStart";break e;case"compositionend":E="onCompositionEnd";break e;case"compositionupdate":E="onCompositionUpdate";break e}E=void 0}else ra?xj(e,s)&&(E="onCompositionEnd"):e==="keydown"&&s.keyCode===229&&(E="onCompositionStart");
vendor: 5,376 bytes, lines 37-38
37E&&(gj&&s.locale!=="ko"&&(ra||E!=="onCompositionStart"?E==="onCompositionEnd"&&ra&&(A=fj()):(on=u,Pg="value"in on?on.value:on.textContent,ra=!0)),N=Kd(d,E),0<N.length&&(E=new qy(E,e,null,s,u),h.push({event:E,listeners:N}),A?E.data=A:(A=yj(s),A!==null&&(E.data=A)))),(A=yE?vE(e,s):bE(e,s))&&(d=Kd(d,"onBeforeInput"),0<d.length&&(u=new qy("onBeforeInput","beforeinput",null,s,u),h.push({event:u,listeners:d}),u.data=A))}Tj(h,t)})}function bl(e,t,s){return{instance:e,listener:t,currentTarget:s}}function Kd(e,t){for(var s=t+"Capture",r=[];e!==null;){var i=e,a=i.stateNode;i.tag===5&&a!==null&&(i=a,a=ml(e,s),a!=null&&r.unshift(bl(e,a,i)),a=ml(e,t),a!=null&&r.push(bl(e,a,i))),e=e.return}return r}function Di(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function nv(e,t,s,r,i){for(var a=t._reactName,o=[];s!==null&&s!==r;){var l=s,c=l.alternate,d=l.stateNode;if(c!==null&&c===r)break;l.tag===5&&d!==null&&(l=d,i?(c=ml(s,a),c!=null&&o.unshift(bl(s,c,l))):i||(c=ml(s,a),c!=null&&o.push(bl(s,c,l)))),s=s.return}o.length!==0&&e.push({event:t,listeners:o})}var OE=/\r\n?/g,ME=/\u0000|\uFFFD/g;function iv(e){return(typeof e=="string"?e:""+e).replace(OE,`
38`).replace(ME,"")}function Tc(e,t,s){if(t=iv(t),iv(e)!==t&&s)throw Error(F(425))}function Yd(){}var Ap=null,_p=null;function Cp(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Ep=typeof setTimeout=="function"?setTimeout:void 0,DE=typeof clearTimeout=="function"?clearTimeout:void 0,av=typeof Promise=="function"?Promise:void 0,LE=typeof queueMicrotask=="function"?queueMicrotask:typeof av<"u"?function(e){return av.resolve(null).then(e).catch($E)}:Ep;function $E(e){setTimeout(function(){throw e})}function im(e,t){var s=t,r=0;do{var i=s.nextSibling;if(e.removeChild(s),i&&i.nodeType===8)if(s=i.data,s==="/$"){if(r===0){e.removeChild(i),gl(t);return}r--}else s!=="$"&&s!=="$?"&&s!=="$!"||r++;s=i}while(s);gl(t)}function fn(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?")break;if(t==="/$")return null}}return e}function ov(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var s=e.data;if(s==="$"||s==="$!"||s==="$?"){if(t===0)return e;t--}else s==="/$"&&t++}e=e.previousSibling}return null}var so=Math.random().toString(36).slice(2),Xs="__reactFiber$"+so,wl="__reactProps$"+so,Cr="__reactContainer$"+so,Tp="__reactEvents$"+so,FE="__reactListeners$"+so,BE="__reactHandles$"+so;function ei(e){var t=e[Xs];if(t)return t;for(var s=e.parentNode;s;){if(t=s[Cr]||s[Xs]){if(s=t.alternate,t.child!==null||s!==null&&s.child!==null)for(e=ov(e);e!==null;){if(s=e[Xs])return s;e=ov(e)}return t}e=s,s=e.parentNode}return null}function ec(e){return e=e[Xs]||e[Cr],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function aa(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(F(33))}function Zu(e){return e[wl]||null}var Pp=[],oa=-1;function Mn(e){return{current:e}}function Ee(e){0>oa||(e.current=Pp[oa],Pp[oa]=null,oa--)}function Se(e,t){oa++,Pp[oa]=e.current,e.current=t}var Sn={},jt=Mn(Sn),$t=Mn(!1),yi=Sn;function $a(e,t){var s=e.type.contextTypes;if(!s)return Sn;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},a;for(a in s)i[a]=t[a];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function Ft(e){return e=e.childContextTypes,e!=null}function Jd(){Ee($t),Ee(jt)}function lv(e,t,s){if(jt.current!==Sn)throw Error(F(168));Se(jt,t),Se($t,s)}function Ij(e,t,s){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return s;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(F(108,NC(e)||"Unknown",i));return De({},s,r)}function Zd(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Sn,yi=jt.current,Se(jt,e),Se($t,$t.current),!0}function cv(e,t,s){var r=e.stateNode;if(!r)throw Error(F(169));s?(e=Ij(e,t,yi),r.__reactInternalMemoizedMergedChildContext=e,Ee($t),Ee(jt),Se(jt,e)):Ee($t),Se($t,s)}var wr=null,Xu=!1,am=!1;function Rj(e){wr===null?wr=[e]:wr.push(e)}function UE(e){Xu=!0,Rj(e)}function Dn(){if(!am&&wr!==null){am=!0;var e=0,t=be;try{var s=wr;for(be=1;e<s.length;e++){var r=s[e];do r=r(!0);while(r!==null)}wr=null,Xu=!1}catch(i){throw wr!==null&&(wr=wr.slice(e+1)),nj(_g,Dn),i}finally{be=t,am=!1}}return null}var la=[],ca=0,Xd=null,Qd=0,ns=[],is=0,vi=null,kr=1,Nr="";function Yn(e,t){la[ca++]=Qd,la[ca++]=Xd,Xd=e,Qd=t}function Oj(e,t,s){ns[is++]=kr,ns[is++]=Nr,ns[is++]=vi,vi=e;var r=kr;e=Nr;var i=32-Rs(r)-1;r&=~(1<<i),s+=1;var a=32-Rs(t)+i;if(30<a){var o=i-i%5;a=(r&(1<<o)-1).toString(32),r>>=o,i-=o,kr=1<<32-Rs(t)+i|s<<i|r,Nr=a+e}else kr=1<<a|s<<i|r,Nr=e}function Dg(e){e.return!==null&&(Yn(e,1),Oj(e,1,0))}function Lg(e){for(;e===Xd;)Xd=la[--ca],la[ca]=null,Qd=la[--ca],la[ca]=null;for(;e===vi;)vi=ns[--is],ns[is]=null,Nr=ns[--is],ns[is]=null,kr=ns[--is],ns[is]=null}var Gt=null,qt=null,Pe=!1,Cs=null;function Mj(e,t){var s=as(5,null,null,0);s.elementType="DELETED",s.stateNode=t,s.return=e,t=e.deletions,t===null?(e.deletions=[s],e.flags|=16):t.push(s)}function dv(e,t){switch(e.tag){case 5:var s=e.type;
vendor: 26,837 bytes, lines 38-40
38return t=t.nodeType!==1||s.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,Gt=e,qt=fn(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,Gt=e,qt=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(s=vi!==null?{id:kr,overflow:Nr}:null,e.memoizedState={dehydrated:t,treeContext:s,retryLane:1073741824},s=as(18,null,null,0),s.stateNode=t,s.return=e,e.child=s,Gt=e,qt=null,!0):!1;default:return!1}}function Ip(e){return(e.mode&1)!==0&&(e.flags&128)===0}function Rp(e){if(Pe){var t=qt;if(t){var s=t;if(!dv(e,t)){if(Ip(e))throw Error(F(418));t=fn(s.nextSibling);var r=Gt;t&&dv(e,t)?Mj(r,s):(e.flags=e.flags&-4097|2,Pe=!1,Gt=e)}}else{if(Ip(e))throw Error(F(418));e.flags=e.flags&-4097|2,Pe=!1,Gt=e}}}function uv(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;Gt=e}function Pc(e){if(e!==Gt)return!1;if(!Pe)return uv(e),Pe=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!Cp(e.type,e.memoizedProps)),t&&(t=qt)){if(Ip(e))throw Dj(),Error(F(418));for(;t;)Mj(e,t),t=fn(t.nextSibling)}if(uv(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(F(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var s=e.data;if(s==="/$"){if(t===0){qt=fn(e.nextSibling);break e}t--}else s!=="$"&&s!=="$!"&&s!=="$?"||t++}e=e.nextSibling}qt=null}}else qt=Gt?fn(e.stateNode.nextSibling):null;return!0}function Dj(){for(var e=qt;e;)e=fn(e.nextSibling)}function Fa(){qt=Gt=null,Pe=!1}function $g(e){Cs===null?Cs=[e]:Cs.push(e)}var WE=Or.ReactCurrentBatchConfig;function ko(e,t,s){if(e=s.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(s._owner){if(s=s._owner,s){if(s.tag!==1)throw Error(F(309));var r=s.stateNode}if(!r)throw Error(F(147,e));var i=r,a=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===a?t.ref:(t=function(o){var l=i.refs;o===null?delete l[a]:l[a]=o},t._stringRef=a,t)}if(typeof e!="string")throw Error(F(284));if(!s._owner)throw Error(F(290,e))}return e}function Ic(e,t){throw e=Object.prototype.toString.call(t),Error(F(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function hv(e){var t=e._init;return t(e._payload)}function Lj(e){function t(f,g){if(e){var v=f.deletions;v===null?(f.deletions=[g],f.flags|=16):v.push(g)}}function s(f,g){if(!e)return null;for(;g!==null;)t(f,g),g=g.sibling;return null}function r(f,g){for(f=new Map;g!==null;)g.key!==null?f.set(g.key,g):f.set(g.index,g),g=g.sibling;return f}function i(f,g){return f=vn(f,g),f.index=0,f.sibling=null,f}function a(f,g,v){return f.index=v,e?(v=f.alternate,v!==null?(v=v.index,v<g?(f.flags|=2,g):v):(f.flags|=2,g)):(f.flags|=1048576,g)}function o(f){return e&&f.alternate===null&&(f.flags|=2),f}function l(f,g,v,j){return g===null||g.tag!==6?(g=mm(v,f.mode,j),g.return=f,g):(g=i(g,v),g.return=f,g)}function c(f,g,v,j){var k=v.type;return k===sa?u(f,g,v.props.children,j,v.key):g!==null&&(g.elementType===k||typeof k=="object"&&k!==null&&k.$$typeof===Kr&&hv(k)===g.type)?(j=i(g,v.props),j.ref=ko(f,g,v),j.return=f,j):(j=Nd(v.type,v.key,v.props,null,f.mode,j),j.ref=ko(f,g,v),j.return=f,j)}function d(f,g,v,j){return g===null||g.tag!==4||g.stateNode.containerInfo!==v.containerInfo||g.stateNode.implementation!==v.implementation?(g=pm(v,f.mode,j),g.return=f,g):(g=i(g,v.children||[]),g.return=f,g)}function u(f,g,v,j,k){return g===null||g.tag!==7?(g=pi(v,f.mode,j,k),g.return=f,g):(g=i(g,v),g.return=f,g)}function h(f,g,v){if(typeof g=="string"&&g!==""||typeof g=="number")return g=mm(""+g,f.mode,v),g.return=f,g;if(typeof g=="object"&&g!==null){switch(g.$$typeof){case wc:return v=Nd(g.type,g.key,g.props,null,f.mode,v),v.ref=ko(f,null,g),v.return=f,v;case ta:return g=pm(g,f.mode,v),g.return=f,g;case Kr:var j=g._init;return h(f,j(g._payload),v)}if(Bo(g)||yo(g))return g=pi(g,f.mode,v,null),g.return=f,g;Ic(f,g)}return null}function m(f,g,v,j){var k=g!==null?g.key:null;if(typeof v=="string"&&v!==""||typeof v=="number")return k!==null?null:l(f,g,""+v,j);if(typeof v=="object"&&v!==null){switch(v.$$typeof){case wc:return v.key===k?c(f,g,v,j):null;case ta:return v.key===k?d(f,g,v,j):null;case Kr:return k=v._init,m(f,g,k(v._payload),j)}if(Bo(v)||yo(v))return k!==null?null:u(f,g,v,j,null);Ic(f,v)}return null}function p(f,g,v,j,k){if(typeof j=="string"&&j!==""||typeof j=="number")return f=f.get(v)||null,l(g,f,""+j,k);if(typeof j=="object"&&j!==null){switch(j.$$typeof){case wc:return f=f.get(j.key===null?v:j.key)||null,c(g,f,j,k);case ta:return f=f.get(j.key===null?v:j.key)||null,d(g,f,j,k);case Kr:var N=j._init;return p(f,g,v,N(j._payload),k)}if(Bo(j)||yo(j))return f=f.get(v)||null,u(g,f,j,k,null);Ic(g,j)}return null}function x(f,g,v,j){for(var k=null,N=null,A=g,E=g=0,R=null;A!==null&&E<v.length;E++){A.index>E?(R=A,A=null):R=A.sibling;var I=m(f,A,v[E],j);if(I===null){A===null&&(A=R);break}e&&A&&I.alternate===null&&t(f,A),g=a(I,g,E),N===null?k=I:N.sibling=I,N=I,A=R}if(E===v.length)return s(f,A),Pe&&Yn(f,E),k;if(A===null){for(;E<v.length;E++)A=h(f,v[E],j),A!==null&&(g=a(A,g,E),N===null?k=A:N.sibling=A,N=A);return Pe&&Yn(f,E),k}for(A=r(f,A);E<v.length;E++)R=p(A,f,E,v[E],j),R!==null&&(e&&R.alternate!==null&&A.delete(R.key===null?E:R.key),g=a(R,g,E),N===null?k=R:N.sibling=R,N=R);return e&&A.forEach(function(B){return t(f,B)}),Pe&&Yn(f,E),k}function y(f,g,v,j){var k=yo(v);if(typeof k!="function")throw Error(F(150));if(v=k.call(v),v==null)throw Error(F(151));for(var N=k=null,A=g,E=g=0,R=null,I=v.next();A!==null&&!I.done;E++,I=v.next()){A.index>E?(R=A,A=null):R=A.sibling;var B=m(f,A,I.value,j);if(B===null){A===null&&(A=R);break}e&&A&&B.alternate===null&&t(f,A),g=a(B,g,E),N===null?k=B:N.sibling=B,N=B,A=R}if(I.done)return s(f,A),Pe&&Yn(f,E),k;if(A===null){for(;!I.done;E++,I=v.next())I=h(f,I.value,j),I!==null&&(g=a(I,g,E),N===null?k=I:N.sibling=I,N=I);return Pe&&Yn(f,E),k}for(A=r(f,A);!I.done;E++,I=v.next())I=p(A,f,E,I.value,j),I!==null&&(e&&I.alternate!==null&&A.delete(I.key===null?E:I.key),g=a(I,g,E),N===null?k=I:N.sibling=I,N=I);return e&&A.forEach(function(_){return t(f,_)}),Pe&&Yn(f,E),k}function b(f,g,v,j){if(typeof v=="object"&&v!==null&&v.type===sa&&v.key===null&&(v=v.props.children),typeof v=="object"&&v!==null){switch(v.$$typeof){case wc:e:{for(var k=v.key,N=g;N!==null;){if(N.key===k){if(k=v.type,k===sa){if(N.tag===7){s(f,N.sibling),g=i(N,v.props.children),g.return=f,f=g;break e}}else if(N.elementType===k||typeof k=="object"&&k!==null&&k.$$typeof===Kr&&hv(k)===N.type){s(f,N.sibling),g=i(N,v.props),g.ref=ko(f,N,v),g.return=f,f=g;break e}s(f,N);break}else t(f,N);N=N.sibling}v.type===sa?(g=pi(v.props.children,f.mode,j,v.key),g.return=f,f=g):(j=Nd(v.type,v.key,v.props,null,f.mode,j),j.ref=ko(f,g,v),j.return=f,f=j)}return o(f);case ta:e:{for(N=v.key;g!==null;){if(g.key===N)if(g.tag===4&&g.stateNode.containerInfo===v.containerInfo&&g.stateNode.implementation===v.implementation){s(f,g.sibling),g=i(g,v.children||[]),g.return=f,f=g;break e}else{s(f,g);break}else t(f,g);g=g.sibling}g=pm(v,f.mode,j),g.return=f,f=g}return o(f);case Kr:return N=v._init,b(f,g,N(v._payload),j)}if(Bo(v))return x(f,g,v,j);if(yo(v))return y(f,g,v,j);Ic(f,v)}return typeof v=="string"&&v!==""||typeof v=="number"?(v=""+v,g!==null&&g.tag===6?(s(f,g.sibling),g=i(g,v),g.return=f,f=g):(s(f,g),g=mm(v,f.mode,j),g.return=f,f=g),o(f)):s(f,g)}return b}var Ba=Lj(!0),$j=Lj(!1),eu=Mn(null),tu=null,da=null,Fg=null;function Bg(){Fg=da=tu=null}function Ug(e){var t=eu.current;Ee(eu),e._currentValue=t}function Op(e,t,s){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===s)break;e=e.return}}function wa(e,t){tu=e,Fg=da=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(Lt=!0),e.firstContext=null)}function ds(e){var t=e._currentValue;if(Fg!==e)if(e={context:e,memoizedValue:t,next:null},da===null){if(tu===null)throw Error(F(308));da=e,tu.dependencies={lanes:0,firstContext:e}}else da=da.next=e;return t}var ti=null;function Wg(e){ti===null?ti=[e]:ti.push(e)}function Fj(e,t,s,r){var i=t.interleaved;return i===null?(s.next=s,Wg(t)):(s.next=i.next,i.next=s),t.interleaved=s,Er(e,r)}function Er(e,t){e.lanes|=t;var s=e.alternate;for(s!==null&&(s.lanes|=t),s=e,e=e.return;e!==null;)e.childLanes|=t,s=e.alternate,s!==null&&(s.childLanes|=t),s=e,e=e.return;return s.tag===3?s.stateNode:null}var Yr=!1;function Vg(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Bj(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Sr(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function gn(e,t,s){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,pe&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,Er(e,s)}return i=r.interleaved,i===null?(t.next=t,Wg(r)):(t.next=i.next,i.next=t),r.interleaved=t,Er(e,s)}function yd(e,t,s){if(t=t.updateQueue,t!==null&&(t=t.shared,(s&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,s|=r,t.lanes=s,Cg(e,s)}}function mv(e,t){var s=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,s===r)){var i=null,a=null;if(s=s.firstBaseUpdate,s!==null){do{var o={eventTime:s.eventTime,lane:s.lane,tag:s.tag,payload:s.payload,callback:s.callback,next:null};a===null?i=a=o:a=a.next=o,s=s.next}while(s!==null);a===null?i=a=t:a=a.next=t}else i=a=t;s={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,effects:r.effects},e.updateQueue=s;return}e=s.lastBaseUpdate,e===null?s.firstBaseUpdate=t:e.next=t,s.lastBaseUpdate=t}function su(e,t,s,r){var i=e.updateQueue;Yr=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,l=i.shared.pending;if(l!==null){i.shared.pending=null;var c=l,d=c.next;c.next=null,o===null?a=d:o.next=d,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,l=u.lastBaseUpdate,l!==o&&(l===null?u.firstBaseUpdate=d:l.next=d,u.lastBaseUpdate=c))}if(a!==null){var h=i.baseState;o=0,u=d=c=null,l=a;do{var m=l.lane,p=l.eventTime;if((r&m)===m){u!==null&&(u=u.next={eventTime:p,lane:0,tag:l.tag,payload:l.payload,callback:l.callback,next:null});e:{var x=e,y=l;switch(m=t,p=s,y.tag){case 1:if(x=y.payload,typeof x=="function"){h=x.call(p,h,m);break e}h=x;break e;case 3:x.flags=x.flags&-65537|128;case 0:if(x=y.payload,m=typeof x=="function"?x.call(p,h,m):x,m==null)break e;h=De({},h,m);break e;case 2:Yr=!0}}l.callback!==null&&l.lane!==0&&(e.flags|=64,m=i.effects,m===null?i.effects=[l]:m.push(l))}else p={eventTime:p,lane:m,tag:l.tag,payload:l.payload,callback:l.callback,next:null},u===null?(d=u=p,c=h):u=u.next=p,o|=m;if(l=l.next,l===null){if(l=i.shared.pending,l===null)break;m=l,l=m.next,m.next=null,i.lastBaseUpdate=m,i.shared.pending=null}}while(!0);if(u===null&&(c=h),i.baseState=c,i.firstBaseUpdate=d,i.lastBaseUpdate=u,t=i.shared.interleaved,t!==null){i=t;do o|=i.lane,i=i.next;while(i!==t)}else a===null&&(i.shared.lanes=0);wi|=o,e.lanes=o,e.memoizedState=h}}function pv(e,t,s){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var r=e[t],i=r.callback;if(i!==null){if(r.callback=null,r=s,typeof i!="function")throw Error(F(191,i));i.call(r)}}}var tc={},tr=Mn(tc),jl=Mn(tc),kl=Mn(tc);function si(e){if(e===tc)throw Error(F(174));return e}function zg(e,t){switch(Se(kl,t),Se(jl,e),Se(tr,tc),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:pp(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=pp(t,e)}Ee(tr),Se(tr,t)}function Ua(){Ee(tr),Ee(jl),Ee(kl)}function Uj(e){si(kl.current);var t=si(tr.current),s=pp(t,e.type);t!==s&&(Se(jl,e),Se(tr,s))}function Hg(e){jl.current===e&&(Ee(tr),Ee(jl))}var Oe=Mn(0);function ru(e){for(var t=e;t!==null;){if(t.tag===13){var s=t.memoizedState;if(s!==null&&(s=s.dehydrated,s===null||s.data==="$?"||s.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var om=[];function qg(){for(var e=0;e<om.length;e++)om[e]._workInProgressVersionPrimary=null;om.length=0}var vd=Or.ReactCurrentDispatcher,lm=Or.ReactCurrentBatchConfig,bi=0,Me=null,Qe=null,rt=null,nu=!1,Xo=!1,Nl=0,VE=0;function ft(){throw Error(F(321))}function Gg(e,t){if(t===null)return!1;for(var s=0;s<t.length&&s<e.length;s++)if(!Ds(e[s],t[s]))return!1;return!0}function Kg(e,t,s,r,i,a){if(bi=a,Me=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,vd.current=e===null||e.memoizedState===null?GE:KE,e=s(r,i),Xo){a=0;do{if(Xo=!1,Nl=0,25<=a)throw Error(F(301));a+=1,rt=Qe=null,t.updateQueue=null,vd.current=YE,e=s(r,i)}while(Xo)}if(vd.current=iu,t=Qe!==null&&Qe.next!==null,bi=0,rt=Qe=Me=null,nu=!1,t)throw Error(F(300));return e}function Yg(){var e=Nl!==0;return Nl=0,e}function Vs(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return rt===null?Me.memoizedState=rt=e:rt=rt.next=e,rt}function us(){if(Qe===null){var e=Me.alternate;e=e!==null?e.memoizedState:null}else e=Qe.next;var t=rt===null?Me.memoizedState:rt.next;if(t!==null)rt=t,Qe=e;else{if(e===null)throw Error(F(310));Qe=e,e={memoizedState:Qe.memoizedState,baseState:Qe.baseState,baseQueue:Qe.baseQueue,queue:Qe.queue,next:null},rt===null?Me.memoizedState=rt=e:rt=rt.next=e}return rt}function Sl(e,t){return typeof t=="function"?t(e):t}function cm(e){var t=us(),s=t.queue;if(s===null)throw Error(F(311));s.lastRenderedReducer=e;var r=Qe,i=r.baseQueue,a=s.pending;if(a!==null){if(i!==null){var o=i.next;i.next=a.next,a.next=o}r.baseQueue=i=a,s.pending=null}if(i!==null){a=i.next,r=r.baseState;var l=o=null,c=null,d=a;do{var u=d.lane;if((bi&u)===u)c!==null&&(c=c.next={lane:0,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null}),r=d.hasEagerState?d.eagerState:e(r,d.action);else{var h={lane:u,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null};c===null?(l=c=h,o=r):c=c.next=h,Me.lanes|=u,wi|=u}d=d.next}while(d!==null&&d!==a);c===null?o=r:c.next=l,Ds(r,t.memoizedState)||(Lt=!0),t.memoizedState=r,t.baseState=o,t.baseQueue=c,s.lastRenderedState=r}if(e=s.interleaved,e!==null){i=e;do a=i.lane,Me.lanes|=a,wi|=a,i=i.next;while(i!==e)}else i===null&&(s.lanes=0);return[t.memoizedState,s.dispatch]}function dm(e){var t=us(),s=t.queue;if(s===null)throw Error(F(311));s.lastRenderedReducer=e;var r=s.dispatch,i=s.pending,a=t.memoizedState;if(i!==null){s.pending=null;var o=i=i.next;do a=e(a,o.action),o=o.next;while(o!==i);Ds(a,t.memoizedState)||(Lt=!0),t.memoizedState=a,t.baseQueue===null&&(t.baseState=a),s.lastRenderedState=a}return[a,r]}function Wj(){}function Vj(e,t){var s=Me,r=us(),i=t(),a=!Ds(r.memoizedState,i);if(a&&(r.memoizedState=i,Lt=!0),r=r.queue,Jg(qj.bind(null,s,r,e),[e]),r.getSnapshot!==t||a||rt!==null&&rt.memoizedState.tag&1){if(s.flags|=2048,Al(9,Hj.bind(null,s,r,i,t),void 0,null),nt===null)throw Error(F(349));bi&30||zj(s,t,i)}return i}function zj(e,t,s){e.flags|=16384,e={getSnapshot:t,value:s},t=Me.updateQueue,t===null?(t={lastEffect:null,stores:null},Me.updateQueue=t,t.stores=[e]):(s=t.stores,s===null?t.stores=[e]:s.push(e))}function Hj(e,t,s,r){t.value=s,t.getSnapshot=r,Gj(t)&&Kj(e)}function qj(e,t,s){return s(function(){Gj(t)&&Kj(e)})}function Gj(e){var t=e.getSnapshot;e=e.value;try{var s=t();return!Ds(e,s)}catch{return!0}}function Kj(e){var t=Er(e,1);t!==null&&Os(t,e,1,-1)}function fv(e){var t=Vs();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Sl,lastRenderedState:e},t.queue=e,e=e.dispatch=qE.bind(null,Me,e),[t.memoizedState,e]}function Al(e,t,s,r){return e={tag:e,create:t,destroy:s,deps:r,next:null},t=Me.updateQueue,t===null?(t={lastEffect:null,stores:null},Me.updateQueue=t,t.lastEffect=e.next=e):(s=t.lastEffect,s===null?t.lastEffect=e.next=e:(r=s.next,s.next=e,e.next=r,t.lastEffect=e)),e}function Yj(){return us().memoizedState}function bd(e,t,s,r){var i=Vs();Me.flags|=e,i.memoizedState=Al(1|t,s,void 0,r===void 0?null:r)}function Qu(e,t,s,r){var i=us();r=r===void 0?null:r;var a=void 0;if(Qe!==null){var o=Qe.memoizedState;if(a=o.destroy,r!==null&&Gg(r,o.deps)){i.memoizedState=Al(t,s,a,r);return}}Me.flags|=e,i.memoizedState=Al(1|t,s,a,r)}function gv(e,t){return bd(8390656,8,e,t)}function Jg(e,t){return Qu(2048,8,e,t)}function Jj(e,t){return Qu(4,2,e,t)}function Zj(e,t){return Qu(4,4,e,t)}function Xj(e,t){if(typeof t=="function")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Qj(e,t,s){return s=s!=null?s.concat([e]):null,Qu(4,4,Xj.bind(null,t,e),s)}function Zg(){}function ek(e,t){var s=us();t=t===void 0?null:t;var r=s.memoizedState;return r!==null&&t!==null&&Gg(t,r[1])?r[0]:(s.memoizedState=[e,t],e)}function tk(e,t){var s=us();t=t===void 0?null:t;var r=s.memoizedState;return r!==null&&t!==null&&Gg(t,r[1])?r[0]:(e=e(),s.memoizedState=[e,t],e)}function sk(e,t,s){return bi&21?(Ds(s,t)||(s=oj(),Me.lanes|=s,wi|=s,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,Lt=!0),e.memoizedState=s)}function zE(e,t){var s=be;be=s!==0&&4>s?s:4,e(!0);var r=lm.transition;lm.transition={};try{e(!1),t()}finally{be=s,lm.transition=r}}function rk(){return us().memoizedState}function HE(e,t,s){var r=yn(e);if(s={lane:r,action:s,hasEagerState:!1,eagerState:null,next:null},nk(e))ik(t,s);else if(s=Fj(e,t,s,r),s!==null){var i=Tt();Os(s,e,r,i),ak(s,t,r)}}function qE(e,t,s){var r=yn(e),i={lane:r,action:s,hasEagerState:!1,eagerState:null,next:null};if(nk(e))ik(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,l=a(o,s);if(i.hasEagerState=!0,i.eagerState=l,Ds(l,o)){var c=t.interleaved;c===null?(i.next=i,Wg(t)):(i.next=c.next,c.next=i),t.interleaved=i;return}}catch{}finally{}s=Fj(e,t,i,r),s!==null&&(i=Tt(),Os(s,e,r,i),ak(s,t,r))}}function nk(e){var t=e.alternate;return e===Me||t!==null&&t===Me}function ik(e,t){Xo=nu=!0;var s=e.pending;s===null?t.next=t:(t.next=s.next,s.next=t),e.pending=t}function ak(e,t,s){if(s&4194240){var r=t.lanes;r&=e.pendingLanes,s|=r,t.lanes=s,Cg(e,s)}}var iu={readContext:ds,useCallback:ft,useContext:ft,useEffect:ft,useImperativeHandle:ft,useInsertionEffect:ft,useLayoutEffect:ft,useMemo:ft,useReducer:ft,useRef:ft,useState:ft,useDebugValue:ft,useDeferredValue:ft,useTransition:ft,useMutableSource:ft,useSyncExternalStore:ft,useId:ft,unstable_isNewReconciler:!1},GE={readContext:ds,useCallback:function(e,t){return Vs().memoizedState=[e,t===void 0?null:t],e},useContext:ds,useEffect:gv,useImperativeHandle:function(e,t,s){return s=s!=null?s.concat([e]):null,bd(4194308,4,Xj.bind(null,t,e),s)},useLayoutEffect:function(e,t){return bd(4194308,4,e,t)},useInsertionEffect:function(e,t){return bd(4,2,e,t)},useMemo:function(e,t){var s=Vs();return t=t===void 0?null:t,e=e(),s.memoizedState=[e,t],e},useReducer:function(e,t,s){var r=Vs();return t=s!==void 0?s(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=HE.bind(null,Me,e),[r.memoizedState,e]},useRef:function(e){var t=Vs();return e={current:e},t.memoizedState=e},useState:fv,useDebugValue:Zg,useDeferredValue:function(e){return Vs().memoizedState=e},useTransition:function(){var e=fv(!1),t=e[0];return e=zE.bind(null,e[1]),Vs().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,s){var r=Me,i=Vs();if(Pe){if(s===void 0)throw Error(F(407));s=s()}else{if(s=t(),nt===null)throw Error(F(349));bi&30||zj(r,t,s)}i.memoizedState=s;var a={value:s,getSnapshot:t};return i.queue=a,gv(qj.bind(null,r,a,e),[e]),r.flags|=2048,Al(9,Hj.bind(null,r,a,s,t),void 0,null),s},useId:function(){var e=Vs(),t=nt.identifierPrefix;if(Pe){var s=Nr,r=kr;s=(r&~(1<<32-Rs(r)-1)).toString(32)+s,t=":"+t+"R"+s,s=Nl++,0<s&&(t+="H"+s.toString(32)),t+=":"}else s=VE++,t=":"+t+"r"+s.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},KE={readContext:ds,useCallback:ek,useContext:ds,useEffect:Jg,useImperativeHandle:Qj,useInsertionEffect:Jj,useLayoutEffect:Zj,useMemo:tk,useReducer:cm,useRef:Yj,useState:function(){return cm(Sl)},useDebugValue:Zg,useDeferredValue:function(e){var t=us();return sk(t,Qe.memoizedState,e)},useTransition:function(){var e=cm(Sl)[0],t=us().memoizedState;return[e,t]},useMutableSource:Wj,useSyncExternalStore:Vj,useId:rk,unstable_isNewReconciler:!1},YE={readContext:ds,useCallback:ek,useContext:ds,useEffect:Jg,useImperativeHandle:Qj,useInsertionEffect:Jj,useLayoutEffect:Zj,useMemo:tk,useReducer:dm,useRef:Yj,useState:function(){return dm(Sl)},useDebugValue:Zg,useDeferredValue:function(e){var t=us();return Qe===null?t.memoizedState=e:sk(t,Qe.memoizedState,e)},useTransition:function(){var e=dm(Sl)[0],t=us().memoizedState;return[e,t]},useMutableSource:Wj,useSyncExternalStore:Vj,useId:rk,unstable_isNewReconciler:!1};function js(e,t){if(e&&e.defaultProps){t=De({},t),e=e.defaultProps;for(var s in e)t[s]===void 0&&(t[s]=e[s]);return t}return t}function Mp(e,t,s,r){t=e.memoizedState,s=s(r,t),s=s==null?t:De({},t,s),e.memoizedState=s,e.lanes===0&&(e.updateQueue.baseState=s)}var eh={isMounted:function(e){return(e=e._reactInternals)?Ei(e)===e:!1},enqueueSetState:function(e,t,s){e=e._reactInternals;var r=Tt(),i=yn(e),a=Sr(r,i);a.payload=t,s!=null&&(a.callback=s),t=gn(e,a,i),t!==null&&(Os(t,e,i,r),yd(t,e,i))},enqueueReplaceState:function(e,t,s){e=e._reactInternals;var r=Tt(),i=yn(e),a=Sr(r,i);a.tag=1,a.payload=t,s!=null&&(a.callback=s),t=gn(e,a,i),t!==null&&(Os(t,e,i,r),yd(t,e,i))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var s=Tt(),r=yn(e),i=Sr(s,r);i.tag=2,t!=null&&(i.callback=t),t=gn(e,i,r),t!==null&&(Os(t,e,r,s),yd(t,e,r))}};function xv(e,t,s,r,i,a,o){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(r,a,o):t.prototype&&t.prototype.isPureReactComponent?!yl(s,r)||!yl(i,a):!0}function ok(e,t,s){var r=!1,i=Sn,a=t.contextType;return typeof a=="object"&&a!==null?a=ds(a):(i=Ft(t)?yi:jt.current,r=t.contextTypes,a=(r=r!=null)?$a(e,i):Sn),t=new t(s,a),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=eh,e.stateNode=t,t._reactInternals=e,r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=i,e.__reactInternalMemoizedMaskedChildContext=a),t}function yv(e,t,s,r){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(s,r),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(s,r),t.state!==e&&eh.enqueueReplaceState(t,t.state,null)}function Dp(e,t,s,r){var i=e.stateNode;i.props=s,i.state=e.memoizedState,i.refs={},Vg(e);var a=t.contextType;typeof a=="object"&&a!==null?i.context=ds(a):(a=Ft(t)?yi:jt.current,i.context=$a(e,a)),i.state=e.memoizedState,a=t.getDerivedStateFromProps,typeof a=="function"&&(Mp(e,t,a,s),i.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof i.getSnapshotBeforeUpdate=="function"||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(t=i.state,typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount(),t!==i.state&&eh.enqueueReplaceState(i,i.state,null),su(e,s,i,r),i.state=e.memoizedState),typeof i.componentDidMount=="function"&&(e.flags|=4194308)}function Wa(e,t){try{var s="",r=t;do s+=kC(r),r=r.return;while(r);var i=s}catch(a){i=`
39Error generating stack: `+a.message+`
40`+a.stack}return{value:e,source:t,stack:i,digest:null}}function um(e,t,s){return{value:e,source:null,stack:s??null,digest:t??null}}function Lp(e,t){try{console.error(t.value)}catch(s){setTimeout(function(){throw s})}}var JE=typeof WeakMap=="function"?WeakMap:Map;function lk(e,t,s){s=Sr(-1,s),s.tag=3,s.payload={element:null};var r=t.value;return s.callback=function(){ou||(ou=!0,Gp=r),Lp(e,t)},s}function ck(e,t,s){s=Sr(-1,s),s.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var i=t.value;s.payload=function(){return r(i)},s.callback=function(){Lp(e,t)}}var a=e.stateNode;return a!==null&&typeof a.componentDidCatch=="function"&&(s.callback=function(){Lp(e,t),typeof r!="function"&&(xn===null?xn=new Set([this]):xn.add(this));var o=t.stack;this.componentDidCatch(t.value,{componentStack:o!==null?o:""})}),s}function vv(e,t,s){var r=e.pingCache;if(r===null){r=e.pingCache=new JE;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(s)||(i.add(s),e=dT.bind(null,e,t,s),t.then(e,e))}function bv(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function wv(e,t,s,r,i){return e.mode&1?(e.flags|=65536,e.lanes=i,e):(e===t?e.flags|=65536:(e.flags|=128,s.flags|=131072,s.flags&=-52805,s.tag===1&&(s.alternate===null?s.tag=17:(t=Sr(-1,1),t.tag=2,gn(s,t,1))),s.lanes|=1),e)}var ZE=Or.ReactCurrentOwner,Lt=!1;function At(e,t,s,r){t.child=e===null?$j(t,null,s,r):Ba(t,e.child,s,r)}function jv(e,t,s,r,i){s=s.render;var a=t.ref;return wa(t,i),r=Kg(e,t,s,r,a,i),s=Yg(),e!==null&&!Lt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,Tr(e,t,i)):(Pe&&s&&Dg(t),t.flags|=1,At(e,t,r,i),t.child)}function kv(e,t,s,r,i){if(e===null){var a=s.type;return typeof a=="function"&&!ix(a)&&a.defaultProps===void 0&&s.compare===null&&s.defaultProps===void 0?(t.tag=15,t.type=a,dk(e,t,a,r,i)):(e=Nd(s.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!(e.lanes&i)){var o=a.memoizedProps;if(s=s.compare,s=s!==null?s:yl,s(o,r)&&e.ref===t.ref)return Tr(e,t,i)}return t.flags|=1,e=vn(a,r),e.ref=t.ref,e.return=t,t.child=e}function dk(e,t,s,r,i){if(e!==null){var a=e.memoizedProps;if(yl(a,r)&&e.ref===t.ref)if(Lt=!1,t.pendingProps=r=a,(e.lanes&i)!==0)e.flags&131072&&(Lt=!0);else return t.lanes=e.lanes,Tr(e,t,i)}return $p(e,t,s,r,i)}function uk(e,t,s){var r=t.pendingProps,i=r.children,a=e!==null?e.memoizedState:null;if(r.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Se(ha,Vt),Vt|=s;else{if(!(s&1073741824))return e=a!==null?a.baseLanes|s:s,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Se(ha,Vt),Vt|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=a!==null?a.baseLanes:s,Se(ha,Vt),Vt|=r}else a!==null?(r=a.baseLanes|s,t.memoizedState=null):r=s,Se(ha,Vt),Vt|=r;return At(e,t,i,s),t.child}function hk(e,t){var s=t.ref;(e===null&&s!==null||e!==null&&e.ref!==s)&&(t.flags|=512,t.flags|=2097152)}
vendor: 6,638 bytes, line 40
40function $p(e,t,s,r,i){var a=Ft(s)?yi:jt.current;return a=$a(t,a),wa(t,i),s=Kg(e,t,s,r,a,i),r=Yg(),e!==null&&!Lt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,Tr(e,t,i)):(Pe&&r&&Dg(t),t.flags|=1,At(e,t,s,i),t.child)}function Nv(e,t,s,r,i){if(Ft(s)){var a=!0;Zd(t)}else a=!1;if(wa(t,i),t.stateNode===null)wd(e,t),ok(t,s,r),Dp(t,s,r,i),r=!0;else if(e===null){var o=t.stateNode,l=t.memoizedProps;o.props=l;var c=o.context,d=s.contextType;typeof d=="object"&&d!==null?d=ds(d):(d=Ft(s)?yi:jt.current,d=$a(t,d));var u=s.getDerivedStateFromProps,h=typeof u=="function"||typeof o.getSnapshotBeforeUpdate=="function";h||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(l!==r||c!==d)&&yv(t,o,r,d),Yr=!1;var m=t.memoizedState;o.state=m,su(t,r,o,i),c=t.memoizedState,l!==r||m!==c||$t.current||Yr?(typeof u=="function"&&(Mp(t,s,u,r),c=t.memoizedState),(l=Yr||xv(t,s,l,r,m,c,d))?(h||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(t.flags|=4194308)):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=c),o.props=r,o.state=c,o.context=d,r=l):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{o=t.stateNode,Bj(e,t),l=t.memoizedProps,d=t.type===t.elementType?l:js(t.type,l),o.props=d,h=t.pendingProps,m=o.context,c=s.contextType,typeof c=="object"&&c!==null?c=ds(c):(c=Ft(s)?yi:jt.current,c=$a(t,c));var p=s.getDerivedStateFromProps;(u=typeof p=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(l!==h||m!==c)&&yv(t,o,r,c),Yr=!1,m=t.memoizedState,o.state=m,su(t,r,o,i);var x=t.memoizedState;l!==h||m!==x||$t.current||Yr?(typeof p=="function"&&(Mp(t,s,p,r),x=t.memoizedState),(d=Yr||xv(t,s,d,r,m,x,c)||!1)?(u||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(r,x,c),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(r,x,c)),typeof o.componentDidUpdate=="function"&&(t.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof o.componentDidUpdate!="function"||l===e.memoizedProps&&m===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||l===e.memoizedProps&&m===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=x),o.props=r,o.state=x,o.context=c,r=d):(typeof o.componentDidUpdate!="function"||l===e.memoizedProps&&m===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||l===e.memoizedProps&&m===e.memoizedState||(t.flags|=1024),r=!1)}return Fp(e,t,s,r,a,i)}function Fp(e,t,s,r,i,a){hk(e,t);var o=(t.flags&128)!==0;if(!r&&!o)return i&&cv(t,s,!1),Tr(e,t,a);r=t.stateNode,ZE.current=t;var l=o&&typeof s.getDerivedStateFromError!="function"?null:r.render();return t.flags|=1,e!==null&&o?(t.child=Ba(t,e.child,null,a),t.child=Ba(t,null,l,a)):At(e,t,l,a),t.memoizedState=r.state,i&&cv(t,s,!0),t.child}function mk(e){var t=e.stateNode;t.pendingContext?lv(e,t.pendingContext,t.pendingContext!==t.context):t.context&&lv(e,t.context,!1),zg(e,t.containerInfo)}function Sv(e,t,s,r,i){return Fa(),$g(i),t.flags|=256,At(e,t,s,r),t.child}var Bp={dehydrated:null,treeContext:null,retryLane:0};function Up(e){return{baseLanes:e,cachePool:null,transitions:null}}function pk(e,t,s){var r=t.pendingProps,i=Oe.current,a=!1,o=(t.flags&128)!==0,l;if((l=o)||(l=e!==null&&e.memoizedState===null?!1:(i&2)!==0),l?(a=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(i|=1),Se(Oe,i&1),e===null)return Rp(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(o=r.children,e=r.fallback,a?(r=t.mode,a=t.child,o={mode:"hidden",children:o},!(r&1)&&a!==null?(a.childLanes=0,a.pendingProps=o):a=rh(o,r,0,null),e=pi(e,r,s,null),a.return=t,e.return=t,a.sibling=e,t.child=a,t.child.memoizedState=Up(s),t.memoizedState=Bp,e):Xg(t,o));if(i=e.memoizedState,i!==null&&(l=i.dehydrated,l!==null))return XE(e,t,o,r,l,i,s);if(a){a=r.fallback,o=t.mode,i=e.child,l=i.sibling;var c={mode:"hidden",children:r.children};return!(o&1)&&t.child!==i?(r=t.child,r.childLanes=0,r.pendingProps=c,t.deletions=null):(r=vn(i,c),r.subtreeFlags=i.subtreeFlags&14680064),l!==null?a=vn(l,a):(a=pi(a,o,s,null),a.flags|=2),a.return=t,r.return=t,r.sibling=a,t.child=r,r=a,a=t.child,o=e.child.memoizedState,o=o===null?Up(s):{baseLanes:o.baseLanes|s,cachePool:null,transitions:o.transitions},a.memoizedState=o,a.childLanes=e.childLanes&~s,t.memoizedState=Bp,r}return a=e.child,e=a.sibling,r=vn(a,{mode:"visible",children:r.children}),!(t.mode&1)&&(r.lanes=s),r.return=t,r.sibling=null,e!==null&&(s=t.deletions,s===null?(t.deletions=[e],t.flags|=16):s.push(e)),t.child=r,t.memoizedState=null,r}function Xg(e,t){return t=rh({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function Rc(e,t,s,r){return r!==null&&$g(r),Ba(t,e.child,null,s),e=Xg(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function XE(e,t,s,r,i,a,o){if(s)return t.flags&256?(t.flags&=-257,r=um(Error(F(422))),Rc(e,t,o,r)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(a=r.fallback,i=t.mode,r=rh({mode:"visible",children:r.children},i,0,null),a=pi(a,i,o,null),a.flags|=2,r.return=t,a.return=t,r.sibling=a,t.child=r,t.mode&1&&Ba(t,e.child,null,o),t.child.memoizedState=Up(o),t.memoizedState=Bp,a);if(!(t.mode&1))return Rc(e,t,o,null);if(i.data==="$!"){if(r=i.nextSibling&&i.nextSibling.dataset,r)var l=r.dgst;return r=l,a=Error(F(419)),r=um(a,r,void 0),Rc(e,t,o,r)}if(l=(o&e.childLanes)!==0,Lt||l){if(r=nt,r!==null){switch(o&-o){case 4:i=2;break;case 16:i=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:i=32;break;case 536870912:i=268435456;break;default:i=0}i=i&(r.suspendedLanes|o)?0:i,i!==0&&i!==a.retryLane&&(a.retryLane=i,Er(e,i),Os(r,e,i,-1))}return nx(),r=um(Error(F(421))),Rc(e,t,o,r)}return i.data==="$?"?(t.flags|=128,t.child=e.child,t=uT.bind(null,e),i._reactRetry=t,null):(e=a.treeContext,qt=fn(i.nextSibling),Gt=t,Pe=!0,Cs=null,e!==null&&(ns[is++]=kr,ns[is++]=Nr,ns[is++]=vi,kr=e.id,Nr=e.overflow,vi=t),t=Xg(t,r.children),t.flags|=4096,t)}
vendor: 4,953 bytes, line 40
40function Av(e,t,s){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Op(e.return,t,s)}function hm(e,t,s,r,i){var a=e.memoizedState;a===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:s,tailMode:i}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=r,a.tail=s,a.tailMode=i)}function fk(e,t,s){var r=t.pendingProps,i=r.revealOrder,a=r.tail;if(At(e,t,r.children,s),r=Oe.current,r&2)r=r&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Av(e,s,t);else if(e.tag===19)Av(e,s,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(Se(Oe,r),!(t.mode&1))t.memoizedState=null;else switch(i){case"forwards":for(s=t.child,i=null;s!==null;)e=s.alternate,e!==null&&ru(e)===null&&(i=s),s=s.sibling;s=i,s===null?(i=t.child,t.child=null):(i=s.sibling,s.sibling=null),hm(t,!1,i,s,a);break;case"backwards":for(s=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&ru(e)===null){t.child=i;break}e=i.sibling,i.sibling=s,s=i,i=e}hm(t,!0,s,null,a);break;case"together":hm(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function wd(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Tr(e,t,s){if(e!==null&&(t.dependencies=e.dependencies),wi|=t.lanes,!(s&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(F(153));if(t.child!==null){for(e=t.child,s=vn(e,e.pendingProps),t.child=s,s.return=t;e.sibling!==null;)e=e.sibling,s=s.sibling=vn(e,e.pendingProps),s.return=t;s.sibling=null}return t.child}function QE(e,t,s){switch(t.tag){case 3:mk(t),Fa();break;case 5:Uj(t);break;case 1:Ft(t.type)&&Zd(t);break;case 4:zg(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,i=t.memoizedProps.value;Se(eu,r._currentValue),r._currentValue=i;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated!==null?(Se(Oe,Oe.current&1),t.flags|=128,null):s&t.child.childLanes?pk(e,t,s):(Se(Oe,Oe.current&1),e=Tr(e,t,s),e!==null?e.sibling:null);Se(Oe,Oe.current&1);break;case 19:if(r=(s&t.childLanes)!==0,e.flags&128){if(r)return fk(e,t,s);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),Se(Oe,Oe.current),r)break;return null;case 22:case 23:return t.lanes=0,uk(e,t,s)}return Tr(e,t,s)}var gk,Wp,xk,yk;gk=function(e,t){for(var s=t.child;s!==null;){if(s.tag===5||s.tag===6)e.appendChild(s.stateNode);else if(s.tag!==4&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break;for(;s.sibling===null;){if(s.return===null||s.return===t)return;s=s.return}s.sibling.return=s.return,s=s.sibling}};Wp=function(){};xk=function(e,t,s,r){var i=e.memoizedProps;if(i!==r){e=t.stateNode,si(tr.current);var a=null;switch(s){case"input":i=dp(e,i),r=dp(e,r),a=[];break;case"select":i=De({},i,{value:void 0}),r=De({},r,{value:void 0}),a=[];break;case"textarea":i=mp(e,i),r=mp(e,r),a=[];break;default:typeof i.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=Yd)}fp(s,r);var o;s=null;for(d in i)if(!r.hasOwnProperty(d)&&i.hasOwnProperty(d)&&i[d]!=null)if(d==="style"){var l=i[d];for(o in l)l.hasOwnProperty(o)&&(s||(s={}),s[o]="")}else d!=="dangerouslySetInnerHTML"&&d!=="children"&&d!=="suppressContentEditableWarning"&&d!=="suppressHydrationWarning"&&d!=="autoFocus"&&(ul.hasOwnProperty(d)?a||(a=[]):(a=a||[]).push(d,null));for(d in r){var c=r[d];if(l=i!=null?i[d]:void 0,r.hasOwnProperty(d)&&c!==l&&(c!=null||l!=null))if(d==="style")if(l){for(o in l)!l.hasOwnProperty(o)||c&&c.hasOwnProperty(o)||(s||(s={}),s[o]="");for(o in c)c.hasOwnProperty(o)&&l[o]!==c[o]&&(s||(s={}),s[o]=c[o])}else s||(a||(a=[]),a.push(d,s)),s=c;else d==="dangerouslySetInnerHTML"?(c=c?c.__html:void 0,l=l?l.__html:void 0,c!=null&&l!==c&&(a=a||[]).push(d,c)):d==="children"?typeof c!="string"&&typeof c!="number"||(a=a||[]).push(d,""+c):d!=="suppressContentEditableWarning"&&d!=="suppressHydrationWarning"&&(ul.hasOwnProperty(d)?(c!=null&&d==="onScroll"&&_e("scroll",e),a||l===c||(a=[])):(a=a||[]).push(d,c))}s&&(a=a||[]).push("style",s);var d=a;(t.updateQueue=d)&&(t.flags|=4)}};yk=function(e,t,s,r){s!==r&&(t.flags|=4)};function No(e,t){if(!Pe)switch(e.tailMode){case"hidden":t=e.tail;for(var s=null;t!==null;)t.alternate!==null&&(s=t),t=t.sibling;s===null?e.tail=null:s.sibling=null;break;case"collapsed":s=e.tail;for(var r=null;s!==null;)s.alternate!==null&&(r=s),s=s.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function gt(e){var t=e.alternate!==null&&e.alternate.child===e.child,s=0,r=0;if(t)for(var i=e.child;i!==null;)s|=i.lanes|i.childLanes,r|=i.subtreeFlags&14680064,r|=i.flags&14680064,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)s|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=s,t}
vendor: 32,432 bytes, line 40
40function eT(e,t,s){var r=t.pendingProps;switch(Lg(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return gt(t),null;case 1:return Ft(t.type)&&Jd(),gt(t),null;case 3:return r=t.stateNode,Ua(),Ee($t),Ee(jt),qg(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(Pc(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Cs!==null&&(Jp(Cs),Cs=null))),Wp(e,t),gt(t),null;case 5:Hg(t);var i=si(kl.current);if(s=t.type,e!==null&&t.stateNode!=null)xk(e,t,s,r,i),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(F(166));return gt(t),null}if(e=si(tr.current),Pc(t)){r=t.stateNode,s=t.type;var a=t.memoizedProps;switch(r[Xs]=t,r[wl]=a,e=(t.mode&1)!==0,s){case"dialog":_e("cancel",r),_e("close",r);break;case"iframe":case"object":case"embed":_e("load",r);break;case"video":case"audio":for(i=0;i<Wo.length;i++)_e(Wo[i],r);break;case"source":_e("error",r);break;case"img":case"image":case"link":_e("error",r),_e("load",r);break;case"details":_e("toggle",r);break;case"input":My(r,a),_e("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!a.multiple},_e("invalid",r);break;case"textarea":Ly(r,a),_e("invalid",r)}fp(s,a),i=null;for(var o in a)if(a.hasOwnProperty(o)){var l=a[o];o==="children"?typeof l=="string"?r.textContent!==l&&(a.suppressHydrationWarning!==!0&&Tc(r.textContent,l,e),i=["children",l]):typeof l=="number"&&r.textContent!==""+l&&(a.suppressHydrationWarning!==!0&&Tc(r.textContent,l,e),i=["children",""+l]):ul.hasOwnProperty(o)&&l!=null&&o==="onScroll"&&_e("scroll",r)}switch(s){case"input":jc(r),Dy(r,a,!0);break;case"textarea":jc(r),$y(r);break;case"select":case"option":break;default:typeof a.onClick=="function"&&(r.onclick=Yd)}r=i,t.updateQueue=r,r!==null&&(t.flags|=4)}else{o=i.nodeType===9?i:i.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=q1(s)),e==="http://www.w3.org/1999/xhtml"?s==="script"?(e=o.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=o.createElement(s,{is:r.is}):(e=o.createElement(s),s==="select"&&(o=e,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):e=o.createElementNS(e,s),e[Xs]=t,e[wl]=r,gk(e,t,!1,!1),t.stateNode=e;e:{switch(o=gp(s,r),s){case"dialog":_e("cancel",e),_e("close",e),i=r;break;case"iframe":case"object":case"embed":_e("load",e),i=r;break;case"video":case"audio":for(i=0;i<Wo.length;i++)_e(Wo[i],e);i=r;break;case"source":_e("error",e),i=r;break;case"img":case"image":case"link":_e("error",e),_e("load",e),i=r;break;case"details":_e("toggle",e),i=r;break;case"input":My(e,r),i=dp(e,r),_e("invalid",e);break;case"option":i=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},i=De({},r,{value:void 0}),_e("invalid",e);break;case"textarea":Ly(e,r),i=mp(e,r),_e("invalid",e);break;default:i=r}fp(s,i),l=i;for(a in l)if(l.hasOwnProperty(a)){var c=l[a];a==="style"?Y1(e,c):a==="dangerouslySetInnerHTML"?(c=c?c.__html:void 0,c!=null&&G1(e,c)):a==="children"?typeof c=="string"?(s!=="textarea"||c!=="")&&hl(e,c):typeof c=="number"&&hl(e,""+c):a!=="suppressContentEditableWarning"&&a!=="suppressHydrationWarning"&&a!=="autoFocus"&&(ul.hasOwnProperty(a)?c!=null&&a==="onScroll"&&_e("scroll",e):c!=null&&jg(e,a,c,o))}switch(s){case"input":jc(e),Dy(e,r,!1);break;case"textarea":jc(e),$y(e);break;case"option":r.value!=null&&e.setAttribute("value",""+Nn(r.value));break;case"select":e.multiple=!!r.multiple,a=r.value,a!=null?xa(e,!!r.multiple,a,!1):r.defaultValue!=null&&xa(e,!!r.multiple,r.defaultValue,!0);break;default:typeof i.onClick=="function"&&(e.onclick=Yd)}switch(s){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return gt(t),null;case 6:if(e&&t.stateNode!=null)yk(e,t,e.memoizedProps,r);else{if(typeof r!="string"&&t.stateNode===null)throw Error(F(166));if(s=si(kl.current),si(tr.current),Pc(t)){if(r=t.stateNode,s=t.memoizedProps,r[Xs]=t,(a=r.nodeValue!==s)&&(e=Gt,e!==null))switch(e.tag){case 3:Tc(r.nodeValue,s,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&Tc(r.nodeValue,s,(e.mode&1)!==0)}a&&(t.flags|=4)}else r=(s.nodeType===9?s:s.ownerDocument).createTextNode(r),r[Xs]=t,t.stateNode=r}return gt(t),null;case 13:if(Ee(Oe),r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(Pe&&qt!==null&&t.mode&1&&!(t.flags&128))Dj(),Fa(),t.flags|=98560,a=!1;else if(a=Pc(t),r!==null&&r.dehydrated!==null){if(e===null){if(!a)throw Error(F(318));if(a=t.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(F(317));a[Xs]=t}else Fa(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;gt(t),a=!1}else Cs!==null&&(Jp(Cs),Cs=null),a=!0;if(!a)return t.flags&65536?t:null}return t.flags&128?(t.lanes=s,t):(r=r!==null,r!==(e!==null&&e.memoizedState!==null)&&r&&(t.child.flags|=8192,t.mode&1&&(e===null||Oe.current&1?tt===0&&(tt=3):nx())),t.updateQueue!==null&&(t.flags|=4),gt(t),null);case 4:return Ua(),Wp(e,t),e===null&&vl(t.stateNode.containerInfo),gt(t),null;case 10:return Ug(t.type._context),gt(t),null;case 17:return Ft(t.type)&&Jd(),gt(t),null;case 19:if(Ee(Oe),a=t.memoizedState,a===null)return gt(t),null;if(r=(t.flags&128)!==0,o=a.rendering,o===null)if(r)No(a,!1);else{if(tt!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=ru(e),o!==null){for(t.flags|=128,No(a,!1),r=o.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=s,s=t.child;s!==null;)a=s,e=r,a.flags&=14680066,o=a.alternate,o===null?(a.childLanes=0,a.lanes=e,a.child=null,a.subtreeFlags=0,a.memoizedProps=null,a.memoizedState=null,a.updateQueue=null,a.dependencies=null,a.stateNode=null):(a.childLanes=o.childLanes,a.lanes=o.lanes,a.child=o.child,a.subtreeFlags=0,a.deletions=null,a.memoizedProps=o.memoizedProps,a.memoizedState=o.memoizedState,a.updateQueue=o.updateQueue,a.type=o.type,e=o.dependencies,a.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),s=s.sibling;return Se(Oe,Oe.current&1|2),t.child}e=e.sibling}a.tail!==null&&ze()>Va&&(t.flags|=128,r=!0,No(a,!1),t.lanes=4194304)}else{if(!r)if(e=ru(o),e!==null){if(t.flags|=128,r=!0,s=e.updateQueue,s!==null&&(t.updateQueue=s,t.flags|=4),No(a,!0),a.tail===null&&a.tailMode==="hidden"&&!o.alternate&&!Pe)return gt(t),null}else 2*ze()-a.renderingStartTime>Va&&s!==1073741824&&(t.flags|=128,r=!0,No(a,!1),t.lanes=4194304);a.isBackwards?(o.sibling=t.child,t.child=o):(s=a.last,s!==null?s.sibling=o:t.child=o,a.last=o)}return a.tail!==null?(t=a.tail,a.rendering=t,a.tail=t.sibling,a.renderingStartTime=ze(),t.sibling=null,s=Oe.current,Se(Oe,r?s&1|2:s&1),t):(gt(t),null);case 22:case 23:return rx(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Vt&1073741824&&(gt(t),t.subtreeFlags&6&&(t.flags|=8192)):gt(t),null;case 24:return null;case 25:return null}throw Error(F(156,t.tag))}function tT(e,t){switch(Lg(t),t.tag){case 1:return Ft(t.type)&&Jd(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Ua(),Ee($t),Ee(jt),qg(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Hg(t),null;case 13:if(Ee(Oe),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(F(340));Fa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Ee(Oe),null;case 4:return Ua(),null;case 10:return Ug(t.type._context),null;case 22:case 23:return rx(),null;case 24:return null;default:return null}}var Oc=!1,wt=!1,sT=typeof WeakSet=="function"?WeakSet:Set,K=null;function ua(e,t){var s=e.ref;if(s!==null)if(typeof s=="function")try{s(null)}catch(r){Ue(e,t,r)}else s.current=null}function Vp(e,t,s){try{s()}catch(r){Ue(e,t,r)}}var _v=!1;function rT(e,t){if(Ap=qd,e=kj(),Mg(e)){if("selectionStart"in e)var s={start:e.selectionStart,end:e.selectionEnd};else e:{s=(s=e.ownerDocument)&&s.defaultView||window;var r=s.getSelection&&s.getSelection();if(r&&r.rangeCount!==0){s=r.anchorNode;var i=r.anchorOffset,a=r.focusNode;r=r.focusOffset;try{s.nodeType,a.nodeType}catch{s=null;break e}var o=0,l=-1,c=-1,d=0,u=0,h=e,m=null;t:for(;;){for(var p;h!==s||i!==0&&h.nodeType!==3||(l=o+i),h!==a||r!==0&&h.nodeType!==3||(c=o+r),h.nodeType===3&&(o+=h.nodeValue.length),(p=h.firstChild)!==null;)m=h,h=p;for(;;){if(h===e)break t;if(m===s&&++d===i&&(l=o),m===a&&++u===r&&(c=o),(p=h.nextSibling)!==null)break;h=m,m=h.parentNode}h=p}s=l===-1||c===-1?null:{start:l,end:c}}else s=null}s=s||{start:0,end:0}}else s=null;for(_p={focusedElem:e,selectionRange:s},qd=!1,K=t;K!==null;)if(t=K,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,K=e;else for(;K!==null;){t=K;try{var x=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(x!==null){var y=x.memoizedProps,b=x.memoizedState,f=t.stateNode,g=f.getSnapshotBeforeUpdate(t.elementType===t.type?y:js(t.type,y),b);f.__reactInternalSnapshotBeforeUpdate=g}break;case 3:var v=t.stateNode.containerInfo;v.nodeType===1?v.textContent="":v.nodeType===9&&v.documentElement&&v.removeChild(v.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(F(163))}}catch(j){Ue(t,t.return,j)}if(e=t.sibling,e!==null){e.return=t.return,K=e;break}K=t.return}return x=_v,_v=!1,x}function Qo(e,t,s){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var a=i.destroy;i.destroy=void 0,a!==void 0&&Vp(t,s,a)}i=i.next}while(i!==r)}}function th(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var s=t=t.next;do{if((s.tag&e)===e){var r=s.create;s.destroy=r()}s=s.next}while(s!==t)}}function zp(e){var t=e.ref;if(t!==null){var s=e.stateNode;switch(e.tag){case 5:e=s;break;default:e=s}typeof t=="function"?t(e):t.current=e}}function vk(e){var t=e.alternate;t!==null&&(e.alternate=null,vk(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Xs],delete t[wl],delete t[Tp],delete t[FE],delete t[BE])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function bk(e){return e.tag===5||e.tag===3||e.tag===4}function Cv(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||bk(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Hp(e,t,s){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?s.nodeType===8?s.parentNode.insertBefore(e,t):s.insertBefore(e,t):(s.nodeType===8?(t=s.parentNode,t.insertBefore(e,s)):(t=s,t.appendChild(e)),s=s._reactRootContainer,s!=null||t.onclick!==null||(t.onclick=Yd));else if(r!==4&&(e=e.child,e!==null))for(Hp(e,t,s),e=e.sibling;e!==null;)Hp(e,t,s),e=e.sibling}function qp(e,t,s){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?s.insertBefore(e,t):s.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(qp(e,t,s),e=e.sibling;e!==null;)qp(e,t,s),e=e.sibling}var lt=null,_s=!1;function Wr(e,t,s){for(s=s.child;s!==null;)wk(e,t,s),s=s.sibling}function wk(e,t,s){if(er&&typeof er.onCommitFiberUnmount=="function")try{er.onCommitFiberUnmount(Gu,s)}catch{}switch(s.tag){case 5:wt||ua(s,t);case 6:var r=lt,i=_s;lt=null,Wr(e,t,s),lt=r,_s=i,lt!==null&&(_s?(e=lt,s=s.stateNode,e.nodeType===8?e.parentNode.removeChild(s):e.removeChild(s)):lt.removeChild(s.stateNode));break;case 18:lt!==null&&(_s?(e=lt,s=s.stateNode,e.nodeType===8?im(e.parentNode,s):e.nodeType===1&&im(e,s),gl(e)):im(lt,s.stateNode));break;case 4:r=lt,i=_s,lt=s.stateNode.containerInfo,_s=!0,Wr(e,t,s),lt=r,_s=i;break;case 0:case 11:case 14:case 15:if(!wt&&(r=s.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var a=i,o=a.destroy;a=a.tag,o!==void 0&&(a&2||a&4)&&Vp(s,t,o),i=i.next}while(i!==r)}Wr(e,t,s);break;case 1:if(!wt&&(ua(s,t),r=s.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=s.memoizedProps,r.state=s.memoizedState,r.componentWillUnmount()}catch(l){Ue(s,t,l)}Wr(e,t,s);break;case 21:Wr(e,t,s);break;case 22:s.mode&1?(wt=(r=wt)||s.memoizedState!==null,Wr(e,t,s),wt=r):Wr(e,t,s);break;default:Wr(e,t,s)}}function Ev(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var s=e.stateNode;s===null&&(s=e.stateNode=new sT),t.forEach(function(r){var i=hT.bind(null,e,r);s.has(r)||(s.add(r),r.then(i,i))})}}function xs(e,t){var s=t.deletions;if(s!==null)for(var r=0;r<s.length;r++){var i=s[r];try{var a=e,o=t,l=o;e:for(;l!==null;){switch(l.tag){case 5:lt=l.stateNode,_s=!1;break e;case 3:lt=l.stateNode.containerInfo,_s=!0;break e;case 4:lt=l.stateNode.containerInfo,_s=!0;break e}l=l.return}if(lt===null)throw Error(F(160));wk(a,o,i),lt=null,_s=!1;var c=i.alternate;c!==null&&(c.return=null),i.return=null}catch(d){Ue(i,t,d)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)jk(t,e),t=t.sibling}function jk(e,t){var s=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(xs(t,e),Us(e),r&4){try{Qo(3,e,e.return),th(3,e)}catch(y){Ue(e,e.return,y)}try{Qo(5,e,e.return)}catch(y){Ue(e,e.return,y)}}break;case 1:xs(t,e),Us(e),r&512&&s!==null&&ua(s,s.return);break;case 5:if(xs(t,e),Us(e),r&512&&s!==null&&ua(s,s.return),e.flags&32){var i=e.stateNode;try{hl(i,"")}catch(y){Ue(e,e.return,y)}}if(r&4&&(i=e.stateNode,i!=null)){var a=e.memoizedProps,o=s!==null?s.memoizedProps:a,l=e.type,c=e.updateQueue;if(e.updateQueue=null,c!==null)try{l==="input"&&a.type==="radio"&&a.name!=null&&z1(i,a),gp(l,o);var d=gp(l,a);for(o=0;o<c.length;o+=2){var u=c[o],h=c[o+1];u==="style"?Y1(i,h):u==="dangerouslySetInnerHTML"?G1(i,h):u==="children"?hl(i,h):jg(i,u,h,d)}switch(l){case"input":up(i,a);break;case"textarea":H1(i,a);break;case"select":var m=i._wrapperState.wasMultiple;i._wrapperState.wasMultiple=!!a.multiple;var p=a.value;p!=null?xa(i,!!a.multiple,p,!1):m!==!!a.multiple&&(a.defaultValue!=null?xa(i,!!a.multiple,a.defaultValue,!0):xa(i,!!a.multiple,a.multiple?[]:"",!1))}i[wl]=a}catch(y){Ue(e,e.return,y)}}break;case 6:if(xs(t,e),Us(e),r&4){if(e.stateNode===null)throw Error(F(162));i=e.stateNode,a=e.memoizedProps;try{i.nodeValue=a}catch(y){Ue(e,e.return,y)}}break;case 3:if(xs(t,e),Us(e),r&4&&s!==null&&s.memoizedState.isDehydrated)try{gl(t.containerInfo)}catch(y){Ue(e,e.return,y)}break;case 4:xs(t,e),Us(e);break;case 13:xs(t,e),Us(e),i=e.child,i.flags&8192&&(a=i.memoizedState!==null,i.stateNode.isHidden=a,!a||i.alternate!==null&&i.alternate.memoizedState!==null||(tx=ze())),r&4&&Ev(e);break;case 22:if(u=s!==null&&s.memoizedState!==null,e.mode&1?(wt=(d=wt)||u,xs(t,e),wt=d):xs(t,e),Us(e),r&8192){if(d=e.memoizedState!==null,(e.stateNode.isHidden=d)&&!u&&e.mode&1)for(K=e,u=e.child;u!==null;){for(h=K=u;K!==null;){switch(m=K,p=m.child,m.tag){case 0:case 11:case 14:case 15:Qo(4,m,m.return);break;case 1:ua(m,m.return);var x=m.stateNode;if(typeof x.componentWillUnmount=="function"){r=m,s=m.return;try{t=r,x.props=t.memoizedProps,x.state=t.memoizedState,x.componentWillUnmount()}catch(y){Ue(r,s,y)}}break;case 5:ua(m,m.return);break;case 22:if(m.memoizedState!==null){Pv(h);continue}}p!==null?(p.return=m,K=p):Pv(h)}u=u.sibling}e:for(u=null,h=e;;){if(h.tag===5){if(u===null){u=h;try{i=h.stateNode,d?(a=i.style,typeof a.setProperty=="function"?a.setProperty("display","none","important"):a.display="none"):(l=h.stateNode,c=h.memoizedProps.style,o=c!=null&&c.hasOwnProperty("display")?c.display:null,l.style.display=K1("display",o))}catch(y){Ue(e,e.return,y)}}}else if(h.tag===6){if(u===null)try{h.stateNode.nodeValue=d?"":h.memoizedProps}catch(y){Ue(e,e.return,y)}}else if((h.tag!==22&&h.tag!==23||h.memoizedState===null||h===e)&&h.child!==null){h.child.return=h,h=h.child;continue}if(h===e)break e;for(;h.sibling===null;){if(h.return===null||h.return===e)break e;u===h&&(u=null),h=h.return}u===h&&(u=null),h.sibling.return=h.return,h=h.sibling}}break;case 19:xs(t,e),Us(e),r&4&&Ev(e);break;case 21:break;default:xs(t,e),Us(e)}}function Us(e){var t=e.flags;if(t&2){try{e:{for(var s=e.return;s!==null;){if(bk(s)){var r=s;break e}s=s.return}throw Error(F(160))}switch(r.tag){case 5:var i=r.stateNode;r.flags&32&&(hl(i,""),r.flags&=-33);var a=Cv(e);qp(e,a,i);break;case 3:case 4:var o=r.stateNode.containerInfo,l=Cv(e);Hp(e,l,o);break;default:throw Error(F(161))}}catch(c){Ue(e,e.return,c)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function nT(e,t,s){K=e,kk(e)}function kk(e,t,s){for(var r=(e.mode&1)!==0;K!==null;){var i=K,a=i.child;if(i.tag===22&&r){var o=i.memoizedState!==null||Oc;if(!o){var l=i.alternate,c=l!==null&&l.memoizedState!==null||wt;l=Oc;var d=wt;if(Oc=o,(wt=c)&&!d)for(K=i;K!==null;)o=K,c=o.child,o.tag===22&&o.memoizedState!==null?Iv(i):c!==null?(c.return=o,K=c):Iv(i);for(;a!==null;)K=a,kk(a),a=a.sibling;K=i,Oc=l,wt=d}Tv(e)}else i.subtreeFlags&8772&&a!==null?(a.return=i,K=a):Tv(e)}}function Tv(e){for(;K!==null;){var t=K;if(t.flags&8772){var s=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:wt||th(5,t);break;case 1:var r=t.stateNode;if(t.flags&4&&!wt)if(s===null)r.componentDidMount();else{var i=t.elementType===t.type?s.memoizedProps:js(t.type,s.memoizedProps);r.componentDidUpdate(i,s.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var a=t.updateQueue;a!==null&&pv(t,a,r);break;case 3:var o=t.updateQueue;if(o!==null){if(s=null,t.child!==null)switch(t.child.tag){case 5:s=t.child.stateNode;break;case 1:s=t.child.stateNode}pv(t,o,s)}break;case 5:var l=t.stateNode;if(s===null&&t.flags&4){s=l;var c=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":c.autoFocus&&s.focus();break;case"img":c.src&&(s.src=c.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var d=t.alternate;if(d!==null){var u=d.memoizedState;if(u!==null){var h=u.dehydrated;h!==null&&gl(h)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(F(163))}wt||t.flags&512&&zp(t)}catch(m){Ue(t,t.return,m)}}if(t===e){K=null;break}if(s=t.sibling,s!==null){s.return=t.return,K=s;break}K=t.return}}function Pv(e){for(;K!==null;){var t=K;if(t===e){K=null;break}var s=t.sibling;if(s!==null){s.return=t.return,K=s;break}K=t.return}}function Iv(e){for(;K!==null;){var t=K;try{switch(t.tag){case 0:case 11:case 15:var s=t.return;try{th(4,t)}catch(c){Ue(t,s,c)}break;case 1:var r=t.stateNode;if(typeof r.componentDidMount=="function"){var i=t.return;try{r.componentDidMount()}catch(c){Ue(t,i,c)}}var a=t.return;try{zp(t)}catch(c){Ue(t,a,c)}break;case 5:var o=t.return;try{zp(t)}catch(c){Ue(t,o,c)}}}catch(c){Ue(t,t.return,c)}if(t===e){K=null;break}var l=t.sibling;if(l!==null){l.return=t.return,K=l;break}K=t.return}}var iT=Math.ceil,au=Or.ReactCurrentDispatcher,Qg=Or.ReactCurrentOwner,ls=Or.ReactCurrentBatchConfig,pe=0,nt=null,Je=null,ut=0,Vt=0,ha=Mn(0),tt=0,_l=null,wi=0,sh=0,ex=0,el=null,Dt=null,tx=0,Va=1/0,yr=null,ou=!1,Gp=null,xn=null,Mc=!1,ln=null,lu=0,tl=0,Kp=null,jd=-1,kd=0;function Tt(){return pe&6?ze():jd!==-1?jd:jd=ze()}function yn(e){return e.mode&1?pe&2&&ut!==0?ut&-ut:WE.transition!==null?(kd===0&&(kd=oj()),kd):(e=be,e!==0||(e=window.event,e=e===void 0?16:pj(e.type)),e):1}function Os(e,t,s,r){if(50<tl)throw tl=0,Kp=null,Error(F(185));Xl(e,s,r),(!(pe&2)||e!==nt)&&(e===nt&&(!(pe&2)&&(sh|=s),tt===4&&Xr(e,ut)),Bt(e,r),s===1&&pe===0&&!(t.mode&1)&&(Va=ze()+500,Xu&&Dn()))}function Bt(e,t){var s=e.callbackNode;WC(e,t);var r=Hd(e,e===nt?ut:0);if(r===0)s!==null&&Uy(s),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(s!=null&&Uy(s),t===1)e.tag===0?UE(Rv.bind(null,e)):Rj(Rv.bind(null,e)),LE(function(){!(pe&6)&&Dn()}),s=null;else{switch(lj(r)){case 1:s=_g;break;case 4:s=ij;break;case 16:s=zd;break;case 536870912:s=aj;break;default:s=zd}s=Pk(s,Nk.bind(null,e))}e.callbackPriority=t,e.callbackNode=s}}function Nk(e,t){if(jd=-1,kd=0,pe&6)throw Error(F(327));var s=e.callbackNode;if(ja()&&e.callbackNode!==s)return null;var r=Hd(e,e===nt?ut:0);if(r===0)return null;if(r&30||r&e.expiredLanes||t)t=cu(e,r);else{t=r;var i=pe;pe|=2;var a=Ak();(nt!==e||ut!==t)&&(yr=null,Va=ze()+500,mi(e,t));do try{lT();break}catch(l){Sk(e,l)}while(!0);Bg(),au.current=a,pe=i,Je!==null?t=0:(nt=null,ut=0,t=tt)}if(t!==0){if(t===2&&(i=wp(e),i!==0&&(r=i,t=Yp(e,i))),t===1)throw s=_l,mi(e,0),Xr(e,r),Bt(e,ze()),s;if(t===6)Xr(e,r);else{if(i=e.current.alternate,!(r&30)&&!aT(i)&&(t=cu(e,r),t===2&&(a=wp(e),a!==0&&(r=a,t=Yp(e,a))),t===1))throw s=_l,mi(e,0),Xr(e,r),Bt(e,ze()),s;switch(e.finishedWork=i,e.finishedLanes=r,t){case 0:case 1:throw Error(F(345));case 2:Jn(e,Dt,yr);break;case 3:if(Xr(e,r),(r&130023424)===r&&(t=tx+500-ze(),10<t)){if(Hd(e,0)!==0)break;if(i=e.suspendedLanes,(i&r)!==r){Tt(),e.pingedLanes|=e.suspendedLanes&i;break}e.timeoutHandle=Ep(Jn.bind(null,e,Dt,yr),t);break}Jn(e,Dt,yr);break;case 4:if(Xr(e,r),(r&4194240)===r)break;for(t=e.eventTimes,i=-1;0<r;){var o=31-Rs(r);a=1<<o,o=t[o],o>i&&(i=o),r&=~a}if(r=i,r=ze()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*iT(r/1960))-r,10<r){e.timeoutHandle=Ep(Jn.bind(null,e,Dt,yr),r);break}Jn(e,Dt,yr);break;case 5:Jn(e,Dt,yr);break;default:throw Error(F(329))}}}return Bt(e,ze()),e.callbackNode===s?Nk.bind(null,e):null}function Yp(e,t){var s=el;return e.current.memoizedState.isDehydrated&&(mi(e,t).flags|=256),e=cu(e,t),e!==2&&(t=Dt,Dt=s,t!==null&&Jp(t)),e}function Jp(e){Dt===null?Dt=e:Dt.push.apply(Dt,e)}function aT(e){for(var t=e;;){if(t.flags&16384){var s=t.updateQueue;if(s!==null&&(s=s.stores,s!==null))for(var r=0;r<s.length;r++){var i=s[r],a=i.getSnapshot;i=i.value;try{if(!Ds(a(),i))return!1}catch{return!1}}}if(s=t.child,t.subtreeFlags&16384&&s!==null)s.return=t,t=s;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function Xr(e,t){for(t&=~ex,t&=~sh,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var s=31-Rs(t),r=1<<s;e[s]=-1,t&=~r}}function Rv(e){if(pe&6)throw Error(F(327));ja();var t=Hd(e,0);if(!(t&1))return Bt(e,ze()),null;var s=cu(e,t);if(e.tag!==0&&s===2){var r=wp(e);r!==0&&(t=r,s=Yp(e,r))}if(s===1)throw s=_l,mi(e,0),Xr(e,t),Bt(e,ze()),s;if(s===6)throw Error(F(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Jn(e,Dt,yr),Bt(e,ze()),null}function sx(e,t){var s=pe;pe|=1;try{return e(t)}finally{pe=s,pe===0&&(Va=ze()+500,Xu&&Dn())}}function ji(e){ln!==null&&ln.tag===0&&!(pe&6)&&ja();var t=pe;pe|=1;var s=ls.transition,r=be;try{if(ls.transition=null,be=1,e)return e()}finally{be=r,ls.transition=s,pe=t,!(pe&6)&&Dn()}}function rx(){Vt=ha.current,Ee(ha)}function mi(e,t){e.finishedWork=null,e.finishedLanes=0;var s=e.timeoutHandle;if(s!==-1&&(e.timeoutHandle=-1,DE(s)),Je!==null)for(s=Je.return;s!==null;){var r=s;switch(Lg(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&Jd();break;case 3:Ua(),Ee($t),Ee(jt),qg();break;case 5:Hg(r);break;case 4:Ua();break;case 13:Ee(Oe);break;case 19:Ee(Oe);break;case 10:Ug(r.type._context);break;case 22:case 23:rx()}s=s.return}if(nt=e,Je=e=vn(e.current,null),ut=Vt=t,tt=0,_l=null,ex=sh=wi=0,Dt=el=null,ti!==null){for(t=0;t<ti.length;t++)if(s=ti[t],r=s.interleaved,r!==null){s.interleaved=null;var i=r.next,a=s.pending;if(a!==null){var o=a.next;a.next=i,r.next=o}s.pending=r}ti=null}return e}function Sk(e,t){do{var s=Je;try{if(Bg(),vd.current=iu,nu){for(var r=Me.memoizedState;r!==null;){var i=r.queue;i!==null&&(i.pending=null),r=r.next}nu=!1}if(bi=0,rt=Qe=Me=null,Xo=!1,Nl=0,Qg.current=null,s===null||s.return===null){tt=1,_l=t,Je=null;break}e:{var a=e,o=s.return,l=s,c=t;if(t=ut,l.flags|=32768,c!==null&&typeof c=="object"&&typeof c.then=="function"){var d=c,u=l,h=u.tag;if(!(u.mode&1)&&(h===0||h===11||h===15)){var m=u.alternate;m?(u.updateQueue=m.updateQueue,u.memoizedState=m.memoizedState,u.lanes=m.lanes):(u.updateQueue=null,u.memoizedState=null)}var p=bv(o);if(p!==null){p.flags&=-257,wv(p,o,l,a,t),p.mode&1&&vv(a,d,t),t=p,c=d;var x=t.updateQueue;if(x===null){var y=new Set;y.add(c),t.updateQueue=y}else x.add(c);break e}else{if(!(t&1)){vv(a,d,t),nx();break e}c=Error(F(426))}}else if(Pe&&l.mode&1){var b=bv(o);if(b!==null){!(b.flags&65536)&&(b.flags|=256),wv(b,o,l,a,t),$g(Wa(c,l));break e}}a=c=Wa(c,l),tt!==4&&(tt=2),el===null?el=[a]:el.push(a),a=o;do{switch(a.tag){case 3:a.flags|=65536,t&=-t,a.lanes|=t;var f=lk(a,c,t);mv(a,f);break e;case 1:l=c;var g=a.type,v=a.stateNode;if(!(a.flags&128)&&(typeof g.getDerivedStateFromError=="function"||v!==null&&typeof v.componentDidCatch=="function"&&(xn===null||!xn.has(v)))){a.flags|=65536,t&=-t,a.lanes|=t;var j=ck(a,l,t);mv(a,j);break e}}a=a.return}while(a!==null)}Ck(s)}catch(k){t=k,Je===s&&s!==null&&(Je=s=s.return);continue}break}while(!0)}function Ak(){var e=au.current;return au.current=iu,e===null?iu:e}function nx(){(tt===0||tt===3||tt===2)&&(tt=4),nt===null||!(wi&268435455)&&!(sh&268435455)||Xr(nt,ut)}function cu(e,t){var s=pe;pe|=2;var r=Ak();(nt!==e||ut!==t)&&(yr=null,mi(e,t));do try{oT();break}catch(i){Sk(e,i)}while(!0);if(Bg(),pe=s,au.current=r,Je!==null)throw Error(F(261));return nt=null,ut=0,tt}function oT(){for(;Je!==null;)_k(Je)}function lT(){for(;Je!==null&&!RC();)_k(Je)}function _k(e){var t=Tk(e.alternate,e,Vt);e.memoizedProps=e.pendingProps,t===null?Ck(e):Je=t,Qg.current=null}function Ck(e){var t=e;do{var s=t.alternate;if(e=t.return,t.flags&32768){if(s=tT(s,t),s!==null){s.flags&=32767,Je=s;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{tt=6,Je=null;return}}else if(s=eT(s,t,Vt),s!==null){Je=s;return}if(t=t.sibling,t!==null){Je=t;return}Je=t=e}while(t!==null);tt===0&&(tt=5)}function Jn(e,t,s){var r=be,i=ls.transition;try{ls.transition=null,be=1,cT(e,t,s,r)}finally{ls.transition=i,be=r}return null}function cT(e,t,s,r){do ja();while(ln!==null);if(pe&6)throw Error(F(327));s=e.finishedWork;var i=e.finishedLanes;if(s===null)return null;if(e.finishedWork=null,e.finishedLanes=0,s===e.current)throw Error(F(177));e.callbackNode=null,e.callbackPriority=0;var a=s.lanes|s.childLanes;if(VC(e,a),e===nt&&(Je=nt=null,ut=0),!(s.subtreeFlags&2064)&&!(s.flags&2064)||Mc||(Mc=!0,Pk(zd,function(){return ja(),null})),a=(s.flags&15990)!==0,s.subtreeFlags&15990||a){a=ls.transition,ls.transition=null;var o=be;be=1;var l=pe;pe|=4,Qg.current=null,rT(e,s),jk(s,e),EE(_p),qd=!!Ap,_p=Ap=null,e.current=s,nT(s),OC(),pe=l,be=o,ls.transition=a}else e.current=s;if(Mc&&(Mc=!1,ln=e,lu=i),a=e.pendingLanes,a===0&&(xn=null),LC(s.stateNode),Bt(e,ze()),t!==null)for(r=e.onRecoverableError,s=0;s<t.length;s++)i=t[s],r(i.value,{componentStack:i.stack,digest:i.digest});if(ou)throw ou=!1,e=Gp,Gp=null,e;return lu&1&&e.tag!==0&&ja(),a=e.pendingLanes,a&1?e===Kp?tl++:(tl=0,Kp=e):tl=0,Dn(),null}function ja(){if(ln!==null){var e=lj(lu),t=ls.transition,s=be;try{if(ls.transition=null,be=16>e?16:e,ln===null)var r=!1;else{if(e=ln,ln=null,lu=0,pe&6)throw Error(F(331));var i=pe;for(pe|=4,K=e.current;K!==null;){var a=K,o=a.child;if(K.flags&16){var l=a.deletions;if(l!==null){for(var c=0;c<l.length;c++){var d=l[c];for(K=d;K!==null;){var u=K;switch(u.tag){case 0:case 11:case 15:Qo(8,u,a)}var h=u.child;if(h!==null)h.return=u,K=h;else for(;K!==null;){u=K;var m=u.sibling,p=u.return;if(vk(u),u===d){K=null;break}if(m!==null){m.return=p,K=m;break}K=p}}}var x=a.alternate;if(x!==null){var y=x.child;if(y!==null){x.child=null;do{var b=y.sibling;y.sibling=null,y=b}while(y!==null)}}K=a}}if(a.subtreeFlags&2064&&o!==null)o.return=a,K=o;else e:for(;K!==null;){if(a=K,a.flags&2048)switch(a.tag){case 0:case 11:case 15:Qo(9,a,a.return)}var f=a.sibling;if(f!==null){f.return=a.return,K=f;break e}K=a.return}}var g=e.current;for(K=g;K!==null;){o=K;var v=o.child;if(o.subtreeFlags&2064&&v!==null)v.return=o,K=v;else e:for(o=g;K!==null;){if(l=K,l.flags&2048)try{switch(l.tag){case 0:case 11:case 15:th(9,l)}}catch(k){Ue(l,l.return,k)}if(l===o){K=null;break e}var j=l.sibling;if(j!==null){j.return=l.return,K=j;break e}K=l.return}}if(pe=i,Dn(),er&&typeof er.onPostCommitFiberRoot=="function")try{er.onPostCommitFiberRoot(Gu,e)}catch{}r=!0}return r}finally{be=s,ls.transition=t}}return!1}function Ov(e,t,s){t=Wa(s,t),t=lk(e,t,1),e=gn(e,t,1),t=Tt(),e!==null&&(Xl(e,1,t),Bt(e,t))}function Ue(e,t,s){if(e.tag===3)Ov(e,e,s);else for(;t!==null;){if(t.tag===3){Ov(t,e,s);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(xn===null||!xn.has(r))){e=Wa(s,e),e=ck(t,e,1),t=gn(t,e,1),e=Tt(),t!==null&&(Xl(t,1,e),Bt(t,e));break}}t=t.return}}function dT(e,t,s){var r=e.pingCache;r!==null&&r.delete(t),t=Tt(),e.pingedLanes|=e.suspendedLanes&s,nt===e&&(ut&s)===s&&(tt===4||tt===3&&(ut&130023424)===ut&&500>ze()-tx?mi(e,0):ex|=s),Bt(e,t)}function Ek(e,t){t===0&&(e.mode&1?(t=Sc,Sc<<=1,!(Sc&130023424)&&(Sc=4194304)):t=1);var s=Tt();e=Er(e,t),e!==null&&(Xl(e,t,s),Bt(e,s))}function uT(e){var t=e.memoizedState,s=0;t!==null&&(s=t.retryLane),Ek(e,s)}function hT(e,t){var s=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(s=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(F(314))}r!==null&&r.delete(t),Ek(e,s)}var Tk;Tk=function(e,t,s){if(e!==null)if(e.memoizedProps!==t.pendingProps||$t.current)Lt=!0;else{if(!(e.lanes&s)&&!(t.flags&128))return Lt=!1,QE(e,t,s);Lt=!!(e.flags&131072)}else Lt=!1,Pe&&t.flags&1048576&&Oj(t,Qd,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;wd(e,t),e=t.pendingProps;var i=$a(t,jt.current);wa(t,s),i=Kg(null,t,r,e,i,s);var a=Yg();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ft(r)?(a=!0,Zd(t)):a=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,Vg(t),i.updater=eh,t.stateNode=i,i._reactInternals=t,Dp(t,r,e,s),t=Fp(null,t,r,!0,a,s)):(t.tag=0,Pe&&a&&Dg(t),At(null,t,i,s),t=t.child),t;case 16:r=t.elementType;e:{switch(wd(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=pT(r),e=js(r,e),i){case 0:t=$p(null,t,r,e,s);break e;case 1:t=Nv(null,t,r,e,s);break e;case 11:t=jv(null,t,r,e,s);break e;case 14:t=kv(null,t,r,js(r.type,e),s);break e}throw Error(F(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:js(r,i),$p(e,t,r,i,s);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:js(r,i),Nv(e,t,r,i,s);case 3:e:{if(mk(t),e===null)throw Error(F(387));r=t.pendingProps,a=t.memoizedState,i=a.element,Bj(e,t),su(t,r,null,s);var o=t.memoizedState;if(r=o.element,a.isDehydrated)if(a={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=a,t.memoizedState=a,t.flags&256){i=Wa(Error(F(423)),t),t=Sv(e,t,r,s,i);break e}else if(r!==i){i=Wa(Error(F(424)),t),t=Sv(e,t,r,s,i);break e}else for(qt=fn(t.stateNode.containerInfo.firstChild),Gt=t,Pe=!0,Cs=null,s=$j(t,null,r,s),t.child=s;s;)s.flags=s.flags&-3|4096,s=s.sibling;else{if(Fa(),r===i){t=Tr(e,t,s);break e}At(e,t,r,s)}t=t.child}return t;case 5:return Uj(t),e===null&&Rp(t),r=t.type,i=t.pendingProps,a=e!==null?e.memoizedProps:null,o=i.children,Cp(r,i)?o=null:a!==null&&Cp(r,a)&&(t.flags|=32),hk(e,t),At(e,t,o,s),t.child;case 6:return e===null&&Rp(t),null;case 13:return pk(e,t,s);case 4:return zg(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Ba(t,null,r,s):At(e,t,r,s),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:js(r,i),jv(e,t,r,i,s);case 7:return At(e,t,t.pendingProps,s),t.child;case 8:return At(e,t,t.pendingProps.children,s),t.child;case 12:return At(e,t,t.pendingProps.children,s),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,a=t.memoizedProps,o=i.value,Se(eu,r._currentValue),r._currentValue=o,a!==null)if(Ds(a.value,o)){if(a.children===i.children&&!$t.current){t=Tr(e,t,s);break e}}else for(a=t.child,a!==null&&(a.return=t);a!==null;){var l=a.dependencies;if(l!==null){o=a.child;for(var c=l.firstContext;c!==null;){if(c.context===r){if(a.tag===1){c=Sr(-1,s&-s),c.tag=2;var d=a.updateQueue;if(d!==null){d=d.shared;var u=d.pending;u===null?c.next=c:(c.next=u.next,u.next=c),d.pending=c}}a.lanes|=s,c=a.alternate,c!==null&&(c.lanes|=s),Op(a.return,s,t),l.lanes|=s;break}c=c.next}}else if(a.tag===10)o=a.type===t.type?null:a.child;else if(a.tag===18){if(o=a.return,o===null)throw Error(F(341));o.lanes|=s,l=o.alternate,l!==null&&(l.lanes|=s),Op(o,s,t),o=a.sibling}else o=a.child;if(o!==null)o.return=a;else for(o=a;o!==null;){if(o===t){o=null;break}if(a=o.sibling,a!==null){a.return=o.return,o=a;break}o=o.return}a=o}At(e,t,i.children,s),t=t.child}return t;
vendor: 6,234 bytes, line 40
40case 9:return i=t.type,r=t.pendingProps.children,wa(t,s),i=ds(i),r=r(i),t.flags|=1,At(e,t,r,s),t.child;case 14:return r=t.type,i=js(r,t.pendingProps),i=js(r.type,i),kv(e,t,r,i,s);case 15:return dk(e,t,t.type,t.pendingProps,s);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:js(r,i),wd(e,t),t.tag=1,Ft(r)?(e=!0,Zd(t)):e=!1,wa(t,s),ok(t,r,i),Dp(t,r,i,s),Fp(null,t,r,!0,e,s);case 19:return fk(e,t,s);case 22:return uk(e,t,s)}throw Error(F(156,t.tag))};function Pk(e,t){return nj(e,t)}function mT(e,t,s,r){this.tag=e,this.key=s,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function as(e,t,s,r){return new mT(e,t,s,r)}function ix(e){return e=e.prototype,!(!e||!e.isReactComponent)}function pT(e){if(typeof e=="function")return ix(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Ng)return 11;if(e===Sg)return 14}return 2}function vn(e,t){var s=e.alternate;return s===null?(s=as(e.tag,t,e.key,e.mode),s.elementType=e.elementType,s.type=e.type,s.stateNode=e.stateNode,s.alternate=e,e.alternate=s):(s.pendingProps=t,s.type=e.type,s.flags=0,s.subtreeFlags=0,s.deletions=null),s.flags=e.flags&14680064,s.childLanes=e.childLanes,s.lanes=e.lanes,s.child=e.child,s.memoizedProps=e.memoizedProps,s.memoizedState=e.memoizedState,s.updateQueue=e.updateQueue,t=e.dependencies,s.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},s.sibling=e.sibling,s.index=e.index,s.ref=e.ref,s}function Nd(e,t,s,r,i,a){var o=2;if(r=e,typeof e=="function")ix(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case sa:return pi(s.children,i,a,t);case kg:o=8,i|=8;break;case ap:return e=as(12,s,t,i|2),e.elementType=ap,e.lanes=a,e;case op:return e=as(13,s,t,i),e.elementType=op,e.lanes=a,e;case lp:return e=as(19,s,t,i),e.elementType=lp,e.lanes=a,e;case U1:return rh(s,i,a,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case F1:o=10;break e;case B1:o=9;break e;case Ng:o=11;break e;case Sg:o=14;break e;case Kr:o=16,r=null;break e}throw Error(F(130,e==null?e:typeof e,""))}return t=as(o,s,t,i),t.elementType=e,t.type=r,t.lanes=a,t}function pi(e,t,s,r){return e=as(7,e,r,t),e.lanes=s,e}function rh(e,t,s,r){return e=as(22,e,r,t),e.elementType=U1,e.lanes=s,e.stateNode={isHidden:!1},e}function mm(e,t,s){return e=as(6,e,null,t),e.lanes=s,e}function pm(e,t,s){return t=as(4,e.children!==null?e.children:[],e.key,t),t.lanes=s,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function fT(e,t,s,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Kh(0),this.expirationTimes=Kh(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Kh(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function ax(e,t,s,r,i,a,o,l,c){return e=new fT(e,t,s,l,c),t===1?(t=1,a===!0&&(t|=8)):t=0,a=as(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:s,cache:null,transitions:null,pendingSuspenseBoundaries:null},Vg(a),e}function gT(e,t,s){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:ta,key:r==null?null:""+r,children:e,containerInfo:t,implementation:s}}function Ik(e){if(!e)return Sn;e=e._reactInternals;e:{if(Ei(e)!==e||e.tag!==1)throw Error(F(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Ft(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(F(171))}if(e.tag===1){var s=e.type;if(Ft(s))return Ij(e,s,t)}return t}function Rk(e,t,s,r,i,a,o,l,c){return e=ax(s,r,!0,e,i,a,o,l,c),e.context=Ik(null),s=e.current,r=Tt(),i=yn(s),a=Sr(r,i),a.callback=t??null,gn(s,a,i),e.current.lanes=i,Xl(e,i,r),Bt(e,r),e}function nh(e,t,s,r){var i=t.current,a=Tt(),o=yn(i);return s=Ik(s),t.context===null?t.context=s:t.pendingContext=s,t=Sr(a,o),t.payload={element:e},r=r===void 0?null:r,r!==null&&(t.callback=r),e=gn(i,t,o),e!==null&&(Os(e,i,o,a),yd(e,i,o)),o}function du(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function Mv(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var s=e.retryLane;e.retryLane=s!==0&&s<t?s:t}}function ox(e,t){Mv(e,t),(e=e.alternate)&&Mv(e,t)}function xT(){return null}var Ok=typeof reportError=="function"?reportError:function(e){console.error(e)};function lx(e){this._internalRoot=e}ih.prototype.render=lx.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(F(409));nh(e,t,null,null)};ih.prototype.unmount=lx.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;ji(function(){nh(null,e,null,null)}),t[Cr]=null}};function ih(e){this._internalRoot=e}ih.prototype.unstable_scheduleHydration=function(e){if(e){var t=uj();e={blockedOn:null,target:e,priority:t};for(var s=0;s<Zr.length&&t!==0&&t<Zr[s].priority;s++);Zr.splice(s,0,e),s===0&&mj(e)}};function cx(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function ah(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function Dv(){}function yT(e,t,s,r,i){if(i){if(typeof r=="function"){var a=r;r=function(){var d=du(o);a.call(d)}}var o=Rk(t,r,e,0,null,!1,!1,"",Dv);return e._reactRootContainer=o,e[Cr]=o.current,vl(e.nodeType===8?e.parentNode:e),ji(),o}for(;i=e.lastChild;)e.removeChild(i);if(typeof r=="function"){var l=r;r=function(){var d=du(c);l.call(d)}}var c=ax(e,0,!1,null,null,!1,!1,"",Dv);return e._reactRootContainer=c,e[Cr]=c.current,vl(e.nodeType===8?e.parentNode:e),ji(function(){nh(t,c,s,r)}),c}function oh(e,t,s,r,i){var a=s._reactRootContainer;if(a){var o=a;if(typeof i=="function"){var l=i;
vendor: 4,508 bytes, line 40
40i=function(){var c=du(o);l.call(c)}}nh(t,o,e,i)}else o=yT(s,t,e,i,r);return du(o)}cj=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var s=Uo(t.pendingLanes);s!==0&&(Cg(t,s|1),Bt(t,ze()),!(pe&6)&&(Va=ze()+500,Dn()))}break;case 13:ji(function(){var r=Er(e,1);if(r!==null){var i=Tt();Os(r,e,1,i)}}),ox(e,1)}};Eg=function(e){if(e.tag===13){var t=Er(e,134217728);if(t!==null){var s=Tt();Os(t,e,134217728,s)}ox(e,134217728)}};dj=function(e){if(e.tag===13){var t=yn(e),s=Er(e,t);if(s!==null){var r=Tt();Os(s,e,t,r)}ox(e,t)}};uj=function(){return be};hj=function(e,t){var s=be;try{return be=e,t()}finally{be=s}};yp=function(e,t,s){switch(t){case"input":if(up(e,s),t=s.name,s.type==="radio"&&t!=null){for(s=e;s.parentNode;)s=s.parentNode;for(s=s.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<s.length;t++){var r=s[t];if(r!==e&&r.form===e.form){var i=Zu(r);if(!i)throw Error(F(90));V1(r),up(r,i)}}}break;case"textarea":H1(e,s);break;case"select":t=s.value,t!=null&&xa(e,!!s.multiple,t,!1)}};X1=sx;Q1=ji;var vT={usingClientEntryPoint:!1,Events:[ec,aa,Zu,J1,Z1,sx]},So={findFiberByHostInstance:ei,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},bT={bundleType:So.bundleType,version:So.version,rendererPackageName:So.rendererPackageName,rendererConfig:So.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:Or.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=sj(e),e===null?null:e.stateNode},findFiberByHostInstance:So.findFiberByHostInstance||xT,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 Dc=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Dc.isDisabled&&Dc.supportsFiber)try{Gu=Dc.inject(bT),er=Dc}catch{}}Zt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=vT;Zt.createPortal=function(e,t){var s=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!cx(t))throw Error(F(200));return gT(e,t,null,s)};Zt.createRoot=function(e,t){if(!cx(e))throw Error(F(299));var s=!1,r="",i=Ok;return t!=null&&(t.unstable_strictMode===!0&&(s=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onRecoverableError!==void 0&&(i=t.onRecoverableError)),t=ax(e,1,!1,null,null,s,!1,r,i),e[Cr]=t.current,vl(e.nodeType===8?e.parentNode:e),new lx(t)};Zt.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(F(188)):(e=Object.keys(e).join(","),Error(F(268,e)));return e=sj(t),e=e===null?null:e.stateNode,e};Zt.flushSync=function(e){return ji(e)};Zt.hydrate=function(e,t,s){if(!ah(t))throw Error(F(200));return oh(null,e,t,!0,s)};Zt.hydrateRoot=function(e,t,s){if(!cx(e))throw Error(F(405));var r=s!=null&&s.hydratedSources||null,i=!1,a="",o=Ok;if(s!=null&&(s.unstable_strictMode===!0&&(i=!0),s.identifierPrefix!==void 0&&(a=s.identifierPrefix),s.onRecoverableError!==void 0&&(o=s.onRecoverableError)),t=Rk(t,null,e,1,s??null,i,!1,a,o),e[Cr]=t.current,vl(e),r)for(e=0;e<r.length;e++)s=r[e],i=s._getVersion,i=i(s._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[s,i]:t.mutableSourceEagerHydrationData.push(s,i);return new ih(t)};Zt.render=function(e,t,s){if(!ah(t))throw Error(F(200));return oh(null,e,t,!1,s)};Zt.unmountComponentAtNode=function(e){if(!ah(e))throw Error(F(40));return e._reactRootContainer?(ji(function(){oh(null,null,e,!1,function(){e._reactRootContainer=null,e[Cr]=null})}),!0):!1};Zt.unstable_batchedUpdates=sx;Zt.unstable_renderSubtreeIntoContainer=function(e,t,s,r){if(!ah(s))throw Error(F(200));if(e==null||e._reactInternals===void 0)throw Error(F(38));return oh(e,t,s,!1,r)};Zt.version="18.3.1-next-f1338f8080-20240426";function Mk(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Mk)}catch(e){console.error(e)}}Mk(),M1.exports=Zt;var sc=M1.exports;const Dk=Qa(sc);var Lk,Lv=sc;Lk=Lv.createRoot,Lv.hydrateRoot;var wT=typeof Element<"u",jT=typeof Map=="function",kT=typeof Set=="function",NT=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function Sd(e,t){if(e===t)return!0;
40if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var s,r,i;if(Array.isArray(e)){if(s=e.length,s!=t.length)return!1;for(r=s;r--!==0;)if(!Sd(e[r],t[r]))return!1;return!0}var a;if(jT&&e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(a=e.entries();!(r=a.next()).done;)if(!t.has(r.value[0]))return!1;for(a=e.entries();!(r=a.next()).done;)if(!Sd(r.value[1],t.get(r.value[0])))return!1;return!0}if(kT&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(a=e.entries();!(r=a.next()).done;)if(!t.has(r.value[0]))return!1;return!0}if(NT&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(s=e.length,s!=t.length)return!1;for(r=s;r--!==0;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&typeof e.valueOf=="function"&&typeof t.valueOf=="function")return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&typeof e.toString=="function"&&typeof t.toString=="function")return e.toString()===t.toString();if(i=Object.keys(e),s=i.length,s!==Object.keys(t).length)return!1;for(r=s;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,i[r]))return!1;if(wT&&e instanceof Element)return!1;for(r=s;r--!==0;)if(!((i[r]==="_owner"||i[r]==="__v"||i[r]==="__o")&&e.$$typeof)&&!Sd(e[i[r]],t[i[r]]))return!1;return!0}return e!==e&&t!==t}var ST=function(t,s){try{return Sd(t,s)}catch(r){if((r.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw r}};const AT=Qa(ST);var _T=function(e,t,s,r,i,a,o,l){if(!e){var c;if(t===void 0)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var d=[s,r,i,a,o,l],u=0;c=new Error(t.replace(/%s/g,function(){return d[u++]})),c.name="Invariant Violation"}throw c.framesToPop=1,c}},CT=_T;const $v=Qa(CT);var ET=function(t,s,r,i){var a=r?r.call(i,t,s):void 0;if(a!==void 0)return!!a;if(t===s)return!0;if(typeof t!="object"||!t||typeof s!="object"||!s)return!1;var o=Object.keys(t),l=Object.keys(s);if(o.length!==l.length)return!1;for(var c=Object.prototype.hasOwnProperty.bind(s),d=0;d<o.length;d++){var u=o[d];if(!c(u))return!1;var h=t[u],m=s[u];if(a=r?r.call(i,h,m,u):void 0,a===!1||a===void 0&&h!==m)return!1}return!0};const TT=Qa(ET);var $k=(e=>(e.BASE="base",e.BODY="body",e.HEAD="head",e.HTML="html",e.LINK="link",e.META="meta",e.NOSCRIPT="noscript",e.SCRIPT="script",e.STYLE="style",e.TITLE="title",e.FRAGMENT="Symbol(react.fragment)",e))($k||{}),fm={link:{rel:["amphtml","canonical","alternate"]},script:{type:["application/ld+json"]},meta:{charset:"",name:["generator","robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]}},Fv=Object.values($k),lh={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},Fk=Object.entries(lh).reduce((e,[t,s])=>(e[s]=t,e),{}),Ps="data-rh",ka={DEFAULT_TITLE:"defaultTitle",DEFER:"defer",ENCODE_SPECIAL_CHARACTERS:"encodeSpecialCharacters",ON_CHANGE_CLIENT_STATE:"onChangeClientState",TITLE_TEMPLATE:"titleTemplate",PRIORITIZE_SEO_TAGS:"prioritizeSeoTags"},Na=(e,t)=>{for(let s=e.length-1;s>=0;s-=1){const r=e[s];if(Object.prototype.hasOwnProperty.call(r,t))return r[t]}return null},PT=e=>{let t=Na(e,"title");const s=Na(e,ka.TITLE_TEMPLATE);if(Array.isArray(t)&&(t=t.join("")),s&&t)return s.replace(/%s/g,()=>t);const r=Na(e,ka.DEFAULT_TITLE);return t||r||void 0},IT=e=>Na(e,ka.ON_CHANGE_CLIENT_STATE)||(()=>{}),gm=(e,t)=>t.filter(s=>typeof s[e]<"u").map(s=>s[e]).reduce((s,r)=>({...s,...r}),{}),RT=(e,t)=>t.filter(s=>typeof s.base<"u").map(s=>s.base).reverse().reduce((s,r)=>{if(!s.length){const i=Object.keys(r);for(let a=0;a<i.length;a+=1){const l=i[a].toLowerCase();if(e.indexOf(l)!==-1&&r[l])return s.concat(r)}}return s},[]),OT=e=>console&&typeof console.warn=="function"&&console.warn(e),Ao=(e,t,s)=>{const r={};return s.filter(i=>Array.isArray(i[e])?!0:(typeof i[e]<"u"&&OT(`Helmet: ${e} should be of type "Array". Instead found type "${typeof i[e]}"`),!1)).map(i=>i[e]).reverse().reduce((i,a)=>{const o={};a.filter(c=>{let d;const u=Object.keys(c);for(let m=0;m<u.length;m+=1){const p=u[m],x=p.toLowerCase();t.indexOf(x)!==-1&&!(d==="rel"&&c[d].toLowerCase()==="canonical")&&!(x==="rel"&&c[x].toLowerCase()==="stylesheet")&&(d=x),t.indexOf(p)!==-1&&(p==="innerHTML"||p==="cssText"||p==="itemprop")&&(d=p)}if(!d||!c[d])return!1;const h=c[d].toLowerCase();return r[d]||(r[d]={}),o[d]||(o[d]={}),r[d][h]?!1:(o[d][h]=!0,!0)}
40).reverse().forEach(c=>i.push(c));const l=Object.keys(o);for(let c=0;c<l.length;c+=1){const d=l[c],u={...r[d],...o[d]};r[d]=u}return i},[]).reverse()},MT=(e,t)=>{if(Array.isArray(e)&&e.length){for(let s=0;s<e.length;s+=1)if(e[s][t])return!0}return!1},DT=e=>({baseTag:RT(["href"],e),bodyAttributes:gm("bodyAttributes",e),defer:Na(e,ka.DEFER),encode:Na(e,ka.ENCODE_SPECIAL_CHARACTERS),htmlAttributes:gm("htmlAttributes",e),linkTags:Ao("link",["rel","href"],e),metaTags:Ao("meta",["name","charset","http-equiv","property","itemprop"],e),noscriptTags:Ao("noscript",["innerHTML"],e),onChangeClientState:IT(e),scriptTags:Ao("script",["src","innerHTML"],e),styleTags:Ao("style",["cssText"],e),title:PT(e),titleAttributes:gm("titleAttributes",e),prioritizeSeoTags:MT(e,ka.PRIORITIZE_SEO_TAGS)}),Bk=e=>Array.isArray(e)?e.join(""):e,LT=(e,t)=>{const s=Object.keys(e);for(let r=0;r<s.length;r+=1)if(t[s[r]]&&t[s[r]].includes(e[s[r]]))return!0;return!1},xm=(e,t)=>Array.isArray(e)?e.reduce((s,r)=>(LT(r,t)?s.priority.push(r):s.default.push(r),s),{priority:[],default:[]}):{default:e,priority:[]},Bv=(e,t)=>({...e,[t]:void 0}),$T=["noscript","script","style"],Zp=(e,t=!0)=>t===!1?String(e):String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;"),Uk=e=>Object.keys(e).reduce((t,s)=>{const r=typeof e[s]<"u"?`${s}="${e[s]}"`:`${s}`;return t?`${t} ${r}`:r},""),FT=(e,t,s,r)=>{const i=Uk(s),a=Bk(t);return i?`<${e} ${Ps}="true" ${i}>${Zp(a,r)}</${e}>`:`<${e} ${Ps}="true">${Zp(a,r)}</${e}>`},BT=(e,t,s=!0)=>t.reduce((r,i)=>{const a=i,o=Object.keys(a).filter(d=>!(d==="innerHTML"||d==="cssText")).reduce((d,u)=>{const h=typeof a[u]>
40"u"?u:`${u}="${Zp(a[u],s)}"`;return d?`${d} ${h}`:h},""),l=a.innerHTML||a.cssText||"",c=$T.indexOf(e)===-1;return`${r}<${e} ${Ps}="true" ${o}${c?"/>":`>${l}</${e}>`}`},""),Wk=(e,t={})=>Object.keys(e).reduce((s,r)=>{const i=lh[r];return s[i||r]=e[r],s},t),UT=(e,t,s)=>{const r={key:t,[Ps]:!0},i=Wk(s,r);return[T.createElement("title",i,t)]},Ad=(e,t)=>t.map((s,r)=>{const i={key:r,[Ps]:!0};return Object.keys(s).forEach(a=>{const l=lh[a]||a;if(l==="innerHTML"||l==="cssText"){const c=s.innerHTML||s.cssText;i.dangerouslySetInnerHTML={__html:c}}else i[l]=s[a]}),T.createElement(e,i)}),ss=(e,t,s=!0)=>{switch(e){case"title":return{toComponent:()=>UT(e,t.title,t.titleAttributes),toString:()=>FT(e,t.title,t.titleAttributes,s)};case"bodyAttributes":case"htmlAttributes":return{toComponent:()=>Wk(t),toString:()=>Uk(t)};default:return{toComponent:()=>Ad(e,t),toString:()=>BT(e,t,s)}}},WT=({metaTags:e,linkTags:t,scriptTags:s,encode:r})=>{const i=xm(e,fm.meta),a=xm(t,fm.link),o=xm(s,fm.script);return{priorityMethods:{toComponent:()=>[...Ad("meta",i.priority),...Ad("link",a.priority),...Ad("script",o.priority)],toString:()=>`${ss("meta",i.priority,r)} ${ss("link",a.priority,r)} ${ss("script",o.priority,r)}`},metaTags:i.default,linkTags:a.default,scriptTags:o.default}},VT=e=>{const{baseTag:t,bodyAttributes:s,encode:r=!0,htmlAttributes:i,noscriptTags:a,styleTags:o,title:l="",titleAttributes:c,prioritizeSeoTags:d}=e;let{linkTags:u,metaTags:h,scriptTags:m}=e,p={toComponent:()=>[],toString:()=>""};return d&&({priorityMethods:p,linkTags:u,metaTags:h,scriptTags:m}=WT(e)),{priority:p,base:ss("base",t,r),bodyAttributes:ss("bodyAttributes",s,r),htmlAttributes:ss("htmlAttributes",i,r),link:ss("link",u,r),meta:ss("meta",h,r),noscript:ss("noscript",a,r),script:ss("script",m,r),style:ss("style",o,r),title:ss("title",{title:l,titleAttributes:c},r)}},Xp=VT,Lc=[],dx=!!(typeof window<"u"&&window.document&&window.document.createElement),Qp=class{constructor(e,t){mr(this,"instances",[]);mr(this,"canUseDOM",dx);mr(this,"context");mr(this,"value",{setHelmet:e=>{this.context.helmet=e},helmetInstances:{get:()=>this.canUseDOM?Lc:this.instances,add:e=>{(this.canUseDOM?Lc:this.instances).push(e)},remove:e=>{const t=(this.canUseDOM?Lc:this.instances).indexOf(e);(this.canUseDOM?Lc:this.instances).splice(t,1)}}});this.context=e,this.canUseDOM=t||!1,t||(e.helmet=Xp({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))}},zT=parseInt(T.version.split(".")[0],10),ef=zT>=19,HT={},Vk=T.createContext(HT),ai,zk=(ai=class extends w.Component{constructor(s){super(s);mr(this,"helmetData");ef?this.helmetData=null:this.helmetData=new Qp(this.props.context||{},ai.canUseDOM)}render(){return ef?T.createElement(T.Fragment,null,this.props.children):T.createElement(Vk.Provider,{value:this.helmetData.value},this.props.children)}},mr(ai,"canUseDOM",dx),ai),Li=(e,t)=>{const s=document.head||document.querySelector("head"),r=s.querySelectorAll(`${e}[${Ps}]`),i=[].slice.call(r),a=[];let o;return t&&t.length&&t.forEach(l=>{const c=document.createElement(e);for(const d in l)if(Object.prototype.hasOwnProperty.call(l,d))if(d==="innerHTML")c.innerHTML=l.innerHTML;else if(d==="cssText"){const u=l.cssText;c.appendChild(document.createTextNode(u))}else{const u=d,h=typeof l[u]>"u"?"":l[u];c.setAttribute(d,h)}c.setAttribute(Ps,"true"),i.some((d,u)=>(o=u,c.isEqualNode(d)))?i.splice(o,1):a.push(c)}
40),i.forEach(l=>{var c;return(c=l.parentNode)==null?void 0:c.removeChild(l)}),a.forEach(l=>s.appendChild(l)),{oldTags:i,newTags:a}},tf=(e,t)=>{const s=document.getElementsByTagName(e)[0];if(!s)return;const r=s.getAttribute(Ps),i=r?r.split(","):[],a=[...i],o=Object.keys(t);for(const l of o){const c=t[l]||"";s.getAttribute(l)!==c&&s.setAttribute(l,c),i.indexOf(l)===-1&&i.push(l);const d=a.indexOf(l);d!==-1&&a.splice(d,1)}for(let l=a.length-1;l>=0;l-=1)s.removeAttribute(a[l]);i.length===a.length?s.removeAttribute(Ps):s.getAttribute(Ps)!==o.join(",")&&s.setAttribute(Ps,o.join(","))},qT=(e,t)=>{typeof e<"u"&&document.title!==e&&(document.title=Bk(e)),tf("title",t)},Uv=(e,t)=>{const{baseTag:s,bodyAttributes:r,htmlAttributes:i,linkTags:a,metaTags:o,noscriptTags:l,onChangeClientState:c,scriptTags:d,styleTags:u,title:h,titleAttributes:m}=e;tf("body",r),tf("html",i),qT(h,m);const p={baseTag:Li("base",s),linkTags:Li("link",a),metaTags:Li("meta",o),noscriptTags:Li("noscript",l),scriptTags:Li("script",d),styleTags:Li("style",u)},x={},y={};Object.keys(p).forEach(b=>{const{newTags:f,oldTags:g}=p[b];f.length&&(x[b]=f),g.length&&(y[b]=p[b].oldTags)}),t&&t(),c(e,x,y)},_o=null,GT=e=>{_o&&cancelAnimationFrame(_o),e.defer?_o=requestAnimationFrame(()=>{Uv(e,()=>{_o=null})}):(Uv(e),_o=null)},KT=GT,Wv=class extends w.Component{constructor(){super(...arguments);mr(this,"rendered",!1)}shouldComponentUpdate(t){return!TT(t,this.props)}componentDidUpdate(){this.emitChange()}componentWillUnmount(){const{helmetInstances:t}=this.props.context;t.remove(this),this.emitChange()}emitChange(){const{helmetInstances:t,setHelmet:s}=this.props.context;let r=null;const i=DT(t.get().map(a=>{const{context:o,...l}=a.props;return l}));zk.canUseDOM?KT(i):Xp&&(r=Xp(i)),s(r)}init(){if(this.rendered)return;this.rendered=!0;const{helmetInstances:t}=this.props.context;t.add(this),this.emitChange()}render(){return this.init(),null}},_d=[],Vv=e=>{const t={};for(const s of Object.keys(e))t[Fk[s]||s]=e[s];return t},Wn=e=>{const t={};for(const s of Object.keys(e)){const r=lh[s];t[r||s]=e[s]}return t},zv=(e,t)=>{if(!dx)return;const s=document.getElementsByTagName(e)[0];if(!s)return;const r="data-rh-managed",i=s.getAttribute(r),a=i?i.split(","):[],o=Object.keys(t);for(const l of a)o.includes(l)||s.removeAttribute(l);for(const l of o){const c=t[l];c==null||c===!1?s.removeAttribute(l):c===!0?s.setAttribute(l,""):s.setAttribute(l,String(c))}o.length>0?s.setAttribute(r,o.join(",")):s.removeAttribute(r)},ym=()=>{const e={},t={};for(const s of _d){const{htmlAttributes:r,bodyAttributes:i}=s.props;r&&Object.assign(e,Vv(r)),i&&Object.assign(t,Vv(i))}zv("html",e),zv("body",t)},YT=class extends w.Component{componentDidMount(){_d.push(this),ym()}componentDidUpdate(){ym()}componentWillUnmount(){const e=_d.indexOf(this);e!==-1&&_d.splice(e,1),ym()}resolveTitle(){const{title:e,titleTemplate:t,defaultTitle:s}=this.props;return e&&t?t.replace(/%s/g,()=>Array.isArray(e)?e.join(""):e):e||s||void 0}renderTitle(){const e=this.resolveTitle();if(e===void 0)return null;const t=this.props.titleAttributes||{};return T.createElement("title",Wn(t),e)}renderBase(){const{base:e}=this.props;return e?T.createElement("base",Wn(e)):null}renderMeta(){const{meta:e}=this.props;return!e||!Array.isArray(e)?null:e.map((t,s)=>T.createElement("meta",{key:s,...Wn(t)}))}renderLink(){const{link:e}=this.props;return!e||!Array.isArray(e)?null:e.map((t,s)=>T.createElement("link",{key:s,...Wn(t)}))}renderScript(){const{script:e}=this.props;return!e||!Array.isArray(e)?null:e.map((t,s)=>{const{innerHTML:r,...i}=t,a=Wn(i);return r&&(a.dangerouslySetInnerHTML={__html:r}),T.createElement("script",{key:s,...a})})}renderStyle(){const{style:e}=this.props;return!e||!Array.isArray(e)?null:e.map((t,s)=>{const{cssText:r,...i}=t,a=Wn(i);return r&&(a.dangerouslySetInnerHTML={__html:r}),T.createElement("style",{key:s,...a})})}renderNoscript(){const{noscript:e}=this.props;return!e||!Array.isArray(e)?null:e.map((t,s)=>{const{innerHTML:r,...i}=t,a=Wn(i);return r&&(a.dangerouslySetInnerHTML={__html:r}),T.createElement("noscript",{key:s,...a})})}render(){return T.createElement(T.Fragment,null,this.renderTitle(),this.renderBase(),this.renderMeta(),this.renderLink(),this.renderScript(),this.renderStyle(),this.renderNoscript())}},np,ux=(np=class extends w.Component{shouldComponentUpdate(e){return!AT(Bv(this.props,"helmetData"),Bv(e,"helmetData"))}mapNestedChildrenToProps(e,t){if(!t)return null;switch(e.type){case"script":case"noscript":return{innerHTML:t};case"style":return{cssText:t};default:throw new Error(`<${e.type} /> elements are self-closing and can not contain children. Refer to our API for more information.`)}}flattenArrayTypeChildren(e,t,s,r){return{...t,[e.type]:[...t[e.type]||[],{...s,...this.mapNestedChildrenToProps(e,r)}]}}mapObjectTypeChildren(e,t,s,r){switch(e.type){case"title":return{...t,[e.type]:r,titleAttributes:{...s}};case"body":return{...t,bodyAttributes:{...s}};case"html":return{...t,htmlAttributes:{...s}};default:return{...t,[e.type]:{...s}}}}mapArrayTypeChildrenToProps(e,t){let s={...t};return Object.keys(e).forEach(r=>{s={...s,[r]:e[r]}}),s}
40warnOnInvalidChildren(e,t){return $v(Fv.some(s=>e.type===s),typeof e.type=="function"?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":`Only elements types ${Fv.join(", ")} are allowed. Helmet does not support rendering <${e.type}> elements. Refer to our API for more information.`),$v(!t||typeof t=="string"||Array.isArray(t)&&!t.some(s=>typeof s!="string"),`Helmet expects a string as a child of <${e.type}>. Did you forget to wrap your children in braces? ( <${e.type}>{\`\`}</${e.type}> ) Refer to our API for more information.`),!0}mapChildrenToProps(e,t){let s={};return T.Children.forEach(e,r=>{if(!r||!r.props)return;const{children:i,...a}=r.props,o=Object.keys(a).reduce((c,d)=>(c[Fk[d]||d]=a[d],c),{});let{type:l}=r;switch(typeof l=="symbol"?l=l.toString():this.warnOnInvalidChildren(r,i),l){case"Symbol(react.fragment)":t=this.mapChildrenToProps(i,t);break;case"link":case"meta":case"noscript":case"script":case"style":s=this.flattenArrayTypeChildren(r,s,o,i);break;default:t=this.mapObjectTypeChildren(r,t,o,i);break}}),this.mapArrayTypeChildrenToProps(s,t)}render(){const{children:e,...t}=this.props;let s={...t},{helmetData:r}=t;if(e&&(s=this.mapChildrenToProps(e,s)),r&&!(r instanceof Qp)){const i=r;r=new Qp(i.context,!0),delete s.helmetData}return ef?T.createElement(YT,{...s}):r?T.createElement(Wv,{...s,context:r.value}):T.createElement(Vk.Consumer,null,i=>T.createElement(Wv,{...s,context:i}))}},mr(np,"defaultProps",{defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1}),np);const JT=1,ZT=1e6;let vm=0;function XT(){return vm=(vm+1)%Number.MAX_SAFE_INTEGER,vm.toString()}const bm=new Map,Hv=e=>{if(bm.has(e))return;const t=setTimeout(()=>{bm.delete(e),sl({type:"REMOVE_TOAST",toastId:e})},ZT);bm.set(e,t)},QT=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,JT)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(s=>s.id===t.toast.id?{...s,...t.toast}:s)};case"DISMISS_TOAST":{const{toastId:s}=t;return s?Hv(s):e.toasts.forEach(r=>{Hv(r.id)}),{...e,toasts:e.toasts.map(r=>r.id===s||s===void 0?{...r,open:!1}:r)}}case"REMOVE_TOAST":return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(s=>s.id!==t.toastId)}}},Cd=[];let Ed={toasts:[]};function sl(e){Ed=QT(Ed,e),Cd.forEach(t=>{t(Ed)})}function e4({...e}){const t=XT(),s=i=>sl({type:"UPDATE_TOAST",toast:{...i,id:t}}),r=()=>sl({type:"DISMISS_TOAST",toastId:t});return sl({type:"ADD_TOAST",toast:{...e,id:t,open:!0,onOpenChange:i=>{i||r()}}}),{id:t,dismiss:r,update:s}}function t4(){const[e,t]=w.useState(Ed);return w.useEffect(()=>(Cd.push(t),()=>{const s=Cd.indexOf(t);s>-1&&Cd.splice(s,1)}),[e]),{...e,toast:e4,dismiss:s=>sl({type:"DISMISS_TOAST",toastId:s})}}function et(e,t,{checkForDefaultPrevented:s=!0}={}){return function(i){if(e==null||e(i),s===!1||!i.defaultPrevented)return t==null?void 0:t(i)}}function qv(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Hk(...e){return t=>{let s=!1;const r=e.map(i=>{const a=qv(i,t);return!s&&typeof a=="function"&&(s=!0),a});if(s)return()=>{for(let i=0;i<r.length;i++){const a=r[i];typeof a=="function"?a():qv(e[i],null)}}}}function Ls(...e){return w.useCallback(Hk(...e),e)}function ch(e,t=[]){let s=[];function r(a,o){const l=w.createContext(o),c=s.length;s=[...s,o];const d=h=>{var f;const{scope:m,children:p,...x}=h,y=((f=m==null?void 0:m[e])==null?void 0:f[c])||l,b=w.useMemo(()=>x,Object.values(x));return n.jsx(y.Provider,{value:b,children:p})};d.displayName=a+"Provider";function u(h,m){var y;const p=((y=m==null?void 0:m[e])==null?void 0:y[c])||l,x=w.useContext(p);if(x)return x;if(o!==void 0)return o;throw new Error(`\`${h}\` must be used within \`${a}\``)}return[d,u]}const i=()=>{const a=s.map(o=>w.createContext(o));return function(l){const c=(l==null?void 0:l[e])||a;return w.useMemo(()=>({[`__scope${e}`]:{...l,[e]:c}}),[l,c])}};return i.scopeName=e,[r,s4(i,...t)]}function s4(...e){const t=e[0];if(e.length===1)return t;const s=()=>{const r=e.map(i=>({useScope:i(),scopeName:i.scopeName}));
vendor: 10,698 bytes, line 40
40return function(a){const o=r.reduce((l,{useScope:c,scopeName:d})=>{const h=c(a)[`__scope${d}`];return{...l,...h}},{});return w.useMemo(()=>({[`__scope${t.scopeName}`]:o}),[o])}};return s.scopeName=t.scopeName,s}function uu(e){const t=n4(e),s=w.forwardRef((r,i)=>{const{children:a,...o}=r,l=w.Children.toArray(a),c=l.find(a4);if(c){const d=c.props.children,u=l.map(h=>h===c?w.Children.count(d)>1?w.Children.only(null):w.isValidElement(d)?d.props.children:null:h);return n.jsx(t,{...o,ref:i,children:w.isValidElement(d)?w.cloneElement(d,void 0,u):null})}return n.jsx(t,{...o,ref:i,children:a})});return s.displayName=`${e}.Slot`,s}var r4=uu("Slot");function n4(e){const t=w.forwardRef((s,r)=>{const{children:i,...a}=s;if(w.isValidElement(i)){const o=l4(i),l=o4(a,i.props);return i.type!==w.Fragment&&(l.ref=r?Hk(r,o):o),w.cloneElement(i,l)}return w.Children.count(i)>1?w.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var qk=Symbol("radix.slottable");function i4(e){const t=({children:s})=>n.jsx(n.Fragment,{children:s});return t.displayName=`${e}.Slottable`,t.__radixId=qk,t}function a4(e){return w.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===qk}function o4(e,t){const s={...t};for(const r in t){const i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?s[r]=(...l)=>{const c=a(...l);return i(...l),c}:i&&(s[r]=i):r==="style"?s[r]={...i,...a}:r==="className"&&(s[r]=[i,a].filter(Boolean).join(" "))}return{...e,...s}}function l4(e){var r,i;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,s=t&&"isReactWarning"in t&&t.isReactWarning;return s?e.ref:(t=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,s=t&&"isReactWarning"in t&&t.isReactWarning,s?e.props.ref:e.props.ref||e.ref)}function c4(e){const t=e+"CollectionProvider",[s,r]=ch(t),[i,a]=s(t,{collectionRef:{current:null},itemMap:new Map}),o=y=>{const{scope:b,children:f}=y,g=T.useRef(null),v=T.useRef(new Map).current;return n.jsx(i,{scope:b,itemMap:v,collectionRef:g,children:f})};o.displayName=t;const l=e+"CollectionSlot",c=uu(l),d=T.forwardRef((y,b)=>{const{scope:f,children:g}=y,v=a(l,f),j=Ls(b,v.collectionRef);return n.jsx(c,{ref:j,children:g})});d.displayName=l;const u=e+"CollectionItemSlot",h="data-radix-collection-item",m=uu(u),p=T.forwardRef((y,b)=>{const{scope:f,children:g,...v}=y,j=T.useRef(null),k=Ls(b,j),N=a(u,f);return T.useEffect(()=>(N.itemMap.set(j,{ref:j,...v}),()=>void N.itemMap.delete(j))),n.jsx(m,{[h]:"",ref:k,children:g})});p.displayName=u;function x(y){const b=a(e+"CollectionConsumer",y);return T.useCallback(()=>{const g=b.collectionRef.current;if(!g)return[];const v=Array.from(g.querySelectorAll(`[${h}]`));return Array.from(b.itemMap.values()).sort((N,A)=>v.indexOf(N.ref.current)-v.indexOf(A.ref.current))},[b.collectionRef,b.itemMap])}return[{Provider:o,Slot:d,ItemSlot:p},x,r]}var d4=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Rt=d4.reduce((e,t)=>{const s=uu(`Primitive.${t}`),r=w.forwardRef((i,a)=>{const{asChild:o,...l}=i,c=o?s:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),n.jsx(c,{...l,ref:a})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function Gk(e,t){e&&sc.flushSync(()=>e.dispatchEvent(t))}function An(e){const t=w.useRef(e);return w.useEffect(()=>{t.current=e}),w.useMemo(()=>(...s)=>{var r;return(r=t.current)==null?void 0:r.call(t,...s)},[])}function u4(e,t=globalThis==null?void 0:globalThis.document){const s=An(e);w.useEffect(()=>{const r=i=>{i.key==="Escape"&&s(i)};return t.addEventListener("keydown",r,{capture:!0}),()=>t.removeEventListener("keydown",r,{capture:!0})},[s,t])}var h4="DismissableLayer",sf="dismissableLayer.update",m4="dismissableLayer.pointerDownOutside",p4="dismissableLayer.focusOutside",Gv,Kk=w.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),hx=w.forwardRef((e,t)=>{const{disableOutsidePointerEvents:s=!1,onEscapeKeyDown:r,onPointerDownOutside:i,onFocusOutside:a,onInteractOutside:o,onDismiss:l,...c}=e,d=w.useContext(Kk),[u,h]=w.useState(null),m=(u==null?void 0:u.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,p]=w.useState({}),x=Ls(t,A=>h(A)),y=Array.from(d.layers),[b]=[...d.layersWithOutsidePointerEventsDisabled].slice(-1),f=y.indexOf(b),g=u?y.indexOf(u):-1,v=d.layersWithOutsidePointerEventsDisabled.size>0,j=g>=f,k=g4(A=>{const E=A.target,R=[...d.branches].some(I=>I.contains(E));!j||R||(i==null||i(A),o==null||o(A),A.defaultPrevented||l==null||l())},m),N=x4(A=>{const E=A.target;[...d.branches].some(I=>I.contains(E))||(a==null||a(A),o==null||o(A),A.defaultPrevented||l==null||l())},m);return u4(A=>{g===d.layers.size-1&&(r==null||r(A),!A.defaultPrevented&&l&&(A.preventDefault(),l()))},m),w.useEffect(()=>{if(u)return s&&(d.layersWithOutsidePointerEventsDisabled.size===0&&(Gv=m.body.style.pointerEvents,m.body.style.pointerEvents="none"),d.layersWithOutsidePointerEventsDisabled.add(u)),d.layers.add(u),Kv(),()=>{s&&d.layersWithOutsidePointerEventsDisabled.size===1&&(m.body.style.pointerEvents=Gv)}},[u,m,s,d]),w.useEffect(()=>()=>{u&&(d.layers.delete(u),d.layersWithOutsidePointerEventsDisabled.delete(u),Kv())},[u,d]),w.useEffect(()=>{const A=()=>p({});return document.addEventListener(sf,A),()=>document.removeEventListener(sf,A)},[]),n.jsx(Rt.div,{...c,ref:x,style:{pointerEvents:v?j?"auto":"none":void 0,...e.style},onFocusCapture:et(e.onFocusCapture,N.onFocusCapture),onBlurCapture:et(e.onBlurCapture,N.onBlurCapture),onPointerDownCapture:et(e.onPointerDownCapture,k.onPointerDownCapture)})});hx.displayName=h4;var f4="DismissableLayerBranch",Yk=w.forwardRef((e,t)=>{const s=w.useContext(Kk),r=w.useRef(null),i=Ls(t,r);return w.useEffect(()=>{const a=r.current;if(a)return s.branches.add(a),()=>{s.branches.delete(a)}},[s.branches]),n.jsx(Rt.div,{...e,ref:i})});Yk.displayName=f4;function g4(e,t=globalThis==null?void 0:globalThis.document){const s=An(e),r=w.useRef(!1),i=w.useRef(()=>{});return w.useEffect(()=>{const a=l=>{if(l.target&&!r.current){let c=function(){Jk(m4,s,d,{discrete:!0})};const d={originalEvent:l};l.pointerType==="touch"?(t.removeEventListener("click",i.current),i.current=c,t.addEventListener("click",i.current,{once:!0})):c()}else t.removeEventListener("click",i.current);r.current=!1},o=window.setTimeout(()=>{t.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(o),t.removeEventListener("pointerdown",a),t.removeEventListener("click",i.current)}},[t,s]),{onPointerDownCapture:()=>r.current=!0}}function x4(e,t=globalThis==null?void 0:globalThis.document){const s=An(e),r=w.useRef(!1);return w.useEffect(()=>{const i=a=>{a.target&&!r.current&&Jk(p4,s,{originalEvent:a},{discrete:!1})};return t.addEventListener("focusin",i),()=>t.removeEventListener("focusin",i)},[t,s]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function Kv(){const e=new CustomEvent(sf);document.dispatchEvent(e)}function Jk(e,t,s,{discrete:r}){const i=s.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:s});t&&i.addEventListener(e,t,{once:!0}),r?Gk(i,a):i.dispatchEvent(a)}var y4=hx,v4=Yk,_n=globalThis!=null&&globalThis.document?w.useLayoutEffect:()=>{},b4="Portal",Zk=w.forwardRef((e,t)=>{var l;const{container:s,...r}=e,[i,a]=w.useState(!1);_n(()=>a(!0),[]);const o=s||i&&((l=globalThis==null?void 0:globalThis.document)==null?void 0:l.body);return o?Dk.createPortal(n.jsx(Rt.div,{...r,ref:t}),o):null});Zk.displayName=b4;function w4(e,t){return w.useReducer((s,r)=>t[s][r]??s,e)}var mx=e=>{const{present:t,children:s}=e,r=j4(t),i=typeof s=="function"?s({present:r.isPresent}):w.Children.only(s),a=Ls(r.ref,k4(i));return typeof s=="function"||r.isPresent?w.cloneElement(i,{ref:a}):null};mx.displayName="Presence";function j4(e){const[t,s]=w.useState(),r=w.useRef(null),i=w.useRef(e),a=w.useRef("none"),o=e?"mounted":"unmounted",[l,c]=w4(o,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return w.useEffect(()=>{const d=$c(r.current);a.current=l==="mounted"?d:"none"},[l]),_n(()=>{const d=r.current,u=i.current;if(u!==e){const m=a.current,p=$c(d);e?c("MOUNT"):p==="none"||(d==null?void 0:d.display)==="none"?c("UNMOUNT"):c(u&&m!==p?"ANIMATION_OUT":"UNMOUNT"),i.current=e}},[e,c]),_n(()=>{if(t){let d;const u=t.ownerDocument.defaultView??window,h=p=>{const y=$c(r.current).includes(p.animationName);if(p.target===t&&y&&(c("ANIMATION_END"),!i.current)){const b=t.style.animationFillMode;t.style.animationFillMode="forwards",d=u.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=b)})}},m=p=>{p.target===t&&(a.current=$c(r.current))};return t.addEventListener("animationstart",m),t.addEventListener("animationcancel",h),t.addEventListener("animationend",h),()=>{u.clearTimeout(d),t.removeEventListener("animationstart",m),t.removeEventListener("animationcancel",h),t.removeEventListener("animationend",h)}}else c("ANIMATION_END")},[t,c]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:w.useCallback(d=>{r.current=d?getComputedStyle(d):null,s(d)},[])}}function $c(e){return(e==null?void 0:e.animationName)||"none"}function k4(e){var r,i;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,s=t&&"isReactWarning"in t&&t.isReactWarning;return s?e.ref:(t=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,s=t&&"isReactWarning"in t&&t.isReactWarning,s?e.props.ref:e.props.ref||e.ref)}var N4=R1[" useInsertionEffect ".trim().toString()]||_n;function S4({prop:e,defaultProp:t,onChange:s=()=>{},caller:r}){const[i,a,o]=A4({defaultProp:t,onChange:s}),l=e!==void 0,c=l?e:i;{const u=w.useRef(e!==void 0);w.useEffect(()=>{const h=u.current;h!==l&&console.warn(`${r} is changing from ${h?"controlled":"uncontrolled"} to ${l?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),u.current=l},[l,r])}const d=w.useCallback(u=>{var h;if(l){const m=_4(u)?u(e):u;m!==e&&((h=o.current)==null||h.call(o,m))}else a(u)},[l,e,a,o]);return[c,d]}function A4({defaultProp:e,onChange:t}){const[s,r]=w.useState(e),i=w.useRef(s),a=w.useRef(t);return N4(()=>{a.current=t},[t]),w.useEffect(()=>{var o;i.current!==s&&((o=a.current)==null||o.call(a,s),i.current=s)},[s,i]),[s,r,a]}function _4(e){return typeof e=="function"}var C4=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),E4="VisuallyHidden",dh=w.forwardRef((e,t)=>
40n.jsx(Rt.span,{...e,ref:t,style:{...C4,...e.style}}));dh.displayName=E4;var T4=dh,px="ToastProvider",[fx,P4,I4]=c4("Toast"),[Xk,Zq]=ch("Toast",[I4]),[R4,uh]=Xk(px),Qk=e=>{const{__scopeToast:t,label:s="Notification",duration:r=5e3,swipeDirection:i="right",swipeThreshold:a=50,children:o}=e,[l,c]=w.useState(null),[d,u]=w.useState(0),h=w.useRef(!1),m=w.useRef(!1);return s.trim()||console.error(`Invalid prop \`label\` supplied to \`${px}\`. Expected non-empty \`string\`.`),n.jsx(fx.Provider,{scope:t,children:n.jsx(R4,{scope:t,label:s,duration:r,swipeDirection:i,swipeThreshold:a,toastCount:d,viewport:l,onViewportChange:c,onToastAdd:w.useCallback(()=>u(p=>p+1),[]),onToastRemove:w.useCallback(()=>u(p=>p-1),[]),isFocusedToastEscapeKeyDownRef:h,isClosePausedRef:m,children:o})})};Qk.displayName=px;var eN="ToastViewport",O4=["F8"],rf="toast.viewportPause",nf="toast.viewportResume",tN=w.forwardRef((e,t)=>{const{__scopeToast:s,hotkey:r=O4,label:i="Notifications ({hotkey})",...a}=e,o=uh(eN,s),l=P4(s),c=w.useRef(null),d=w.useRef(null),u=w.useRef(null),h=w.useRef(null),m=Ls(t,h,o.onViewportChange),p=r.join("+").replace(/Key/g,"").replace(/Digit/g,""),x=o.toastCount>0;w.useEffect(()=>{const b=f=>{var v;r.length!==0&&r.every(j=>f[j]||f.code===j)&&((v=h.current)==null||v.focus())};return document.addEventListener("keydown",b),()=>document.removeEventListener("keydown",b)},[r]),w.useEffect(()=>{const b=c.current,f=h.current;if(x&&b&&f){const g=()=>{if(!o.isClosePausedRef.current){const N=new CustomEvent(rf);f.dispatchEvent(N),o.isClosePausedRef.current=!0}},v=()=>{if(o.isClosePausedRef.current){const N=new CustomEvent(nf);f.dispatchEvent(N),o.isClosePausedRef.current=!1}},j=N=>{!b.contains(N.relatedTarget)&&v()},k=()=>{b.contains(document.activeElement)||v()};return b.addEventListener("focusin",g),b.addEventListener("focusout",j),b.addEventListener("pointermove",g),b.addEventListener("pointerleave",k),window.addEventListener("blur",g),window.addEventListener("focus",v),()=>{b.removeEventListener("focusin",g),b.removeEventListener("focusout",j),b.removeEventListener("pointermove",g),b.removeEventListener("pointerleave",k),window.removeEventListener("blur",g),window.removeEventListener("focus",v)}}},[x,o.isClosePausedRef]);const y=w.useCallback(({tabbingDirection:b})=>{const g=l().map(v=>{const j=v.ref.current,k=[j,...G4(j)];return b==="forwards"?k:k.reverse()});return(b==="forwards"?g.reverse():g).flat()},[l]);return w.useEffect(()=>{const b=h.current;if(b){const f=g=>{var k,N,A;const v=g.altKey||g.ctrlKey||g.metaKey;if(g.key==="Tab"&&!v){const E=document.activeElement,R=g.shiftKey;if(g.target===b&&R){(k=d.current)==null||k.focus();return}const _=y({tabbingDirection:R?"backwards":"forwards"}),$=_.findIndex(M=>M===E);wm(_.slice($+1))?g.preventDefault():R?(N=d.current)==null||N.focus():(A=u.current)==null||A.focus()}};return b.addEventListener("keydown",f),()=>b.removeEventListener("keydown",f)}},[l,y]),n.jsxs(v4,{ref:c,role:"region","aria-label":i.replace("{hotkey}",p),tabIndex:-1,style:{pointerEvents:x?void 0:"none"},children:[x&&n.jsx(af,{ref:d,onFocusFromOutsideViewport:()=>{const b=y({tabbingDirection:"forwards"});wm(b)}}),n.jsx(fx.Slot,{scope:s,children:n.jsx(Rt.ol,{tabIndex:-1,...a,ref:m})}),x&&n.jsx(af,{ref:u,onFocusFromOutsideViewport:()=>{const b=y({tabbingDirection:"backwards"});wm(b)}})]})});tN.displayName=eN;var sN="ToastFocusProxy",af=w.forwardRef((e,t)=>{const{__scopeToast:s,onFocusFromOutsideViewport:r,...i}=e,a=uh(sN,s);return n.jsx(dh,{"aria-hidden":!0,tabIndex:0,...i,ref:t,style:{position:"fixed"},onFocus:o=>{var d;const l=o.relatedTarget;!((d=a.viewport)!=null&&d.contains(l))&&r()}})});af.displayName=sN;var rc="Toast",M4="toast.swipeStart",D4="toast.swipeMove",L4="toast.swipeCancel",$4="toast.swipeEnd",rN=w.forwardRef((e,t)=>{const{forceMount:s,open:r,defaultOpen:i,onOpenChange:a,...o}=e,[l,c]=S4({prop:r,defaultProp:i??!0,onChange:a,caller:rc});return n.jsx(mx,{present:s||l,children:n.jsx(U4,{open:l,...o,ref:t,onClose:()=>c(!1),onPause:An(e.onPause),onResume:An(e.onResume),onSwipeStart:et(e.onSwipeStart,d=>{d.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:et(e.onSwipeMove,d=>{const{x:u,y:h}=d.detail.delta;d.currentTarget.setAttribute("data-swipe","move"),d.currentTarget.style.setProperty("--radix-toast-swipe-move-x",`${u}px`),d.currentTarget.style.setProperty("--radix-toast-swipe-move-y",`${h}px`)}),onSwipeCancel:et(e.onSwipeCancel,d=>{d.currentTarget.setAttribute("data-swipe","cancel"),d.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),d.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),d.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"),d.currentTarget.style.removeProperty("--radix-toast-swipe-end-y")}),onSwipeEnd:et(e.onSwipeEnd,d=>{const{x:u,y:h}=d.detail.delta;d.currentTarget.setAttribute("data-swipe","end"),d.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),d.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),d.currentTarget.style.setProperty("--radix-toast-swipe-end-x",`${u}px`),d.currentTarget.style.setProperty("--radix-toast-swipe-end-y",`${h}px`),c(!1)})})})});rN.displayName=rc;var[F4,B4]=Xk(rc,{onClose(){}}),U4=w.forwardRef((e,t)=>
40{const{__scopeToast:s,type:r="foreground",duration:i,open:a,onClose:o,onEscapeKeyDown:l,onPause:c,onResume:d,onSwipeStart:u,onSwipeMove:h,onSwipeCancel:m,onSwipeEnd:p,...x}=e,y=uh(rc,s),[b,f]=w.useState(null),g=Ls(t,M=>f(M)),v=w.useRef(null),j=w.useRef(null),k=i||y.duration,N=w.useRef(0),A=w.useRef(k),E=w.useRef(0),{onToastAdd:R,onToastRemove:I}=y,B=An(()=>{var Q;(b==null?void 0:b.contains(document.activeElement))&&((Q=y.viewport)==null||Q.focus()),o()}),_=w.useCallback(M=>{!M||M===1/0||(window.clearTimeout(E.current),N.current=new Date().getTime(),E.current=window.setTimeout(B,M))},[B]);w.useEffect(()=>{const M=y.viewport;if(M){const Q=()=>{_(A.current),d==null||d()},G=()=>{const se=new Date().getTime()-N.current;A.current=A.current-se,window.clearTimeout(E.current),c==null||c()};return M.addEventListener(rf,G),M.addEventListener(nf,Q),()=>{M.removeEventListener(rf,G),M.removeEventListener(nf,Q)}}},[y.viewport,k,c,d,_]),w.useEffect(()=>{a&&!y.isClosePausedRef.current&&_(k)},[a,k,y.isClosePausedRef,_]),w.useEffect(()=>(R(),()=>I()),[R,I]);const $=w.useMemo(()=>b?dN(b):null,[b]);return y.viewport?n.jsxs(n.Fragment,{children:[$&&n.jsx(W4,{__scopeToast:s,role:"status","aria-live":r==="foreground"?"assertive":"polite","aria-atomic":!0,children:$}),n.jsx(F4,{scope:s,onClose:B,children:sc.createPortal(n.jsx(fx.ItemSlot,{scope:s,children:n.jsx(y4,{asChild:!0,onEscapeKeyDown:et(l,()=>{y.isFocusedToastEscapeKeyDownRef.current||B(),y.isFocusedToastEscapeKeyDownRef.current=!1}),children:n.jsx(Rt.li,{role:"status","aria-live":"off","aria-atomic":!0,tabIndex:0,"data-state":a?"open":"closed","data-swipe-direction":y.swipeDirection,...x,ref:g,style:{userSelect:"none",touchAction:"none",...e.style},onKeyDown:et(e.onKeyDown,M=>{M.key==="Escape"&&(l==null||l(M.nativeEvent),M.nativeEvent.defaultPrevented||(y.isFocusedToastEscapeKeyDownRef.current=!0,B()))}),onPointerDown:et(e.onPointerDown,M=>{M.button===0&&(v.current={x:M.clientX,y:M.clientY})}),onPointerMove:et(e.onPointerMove,M=>{if(!v.current)return;const Q=M.clientX-v.current.x,G=M.clientY-v.current.y,se=!!j.current,S=["left","right"].includes(y.swipeDirection),C=["left","up"].includes(y.swipeDirection)?Math.min:Math.max,D=S?C(0,Q):0,H=S?0:C(0,G),Z=M.pointerType==="touch"?10:2,le={x:D,y:H},de={originalEvent:M,delta:le};se?(j.current=le,Fc(D4,h,de,{discrete:!1})):Yv(le,y.swipeDirection,Z)?(j.current=le,Fc(M4,u,de,{discrete:!1}),M.target.setPointerCapture(M.pointerId)):(Math.abs(Q)>Z||Math.abs(G)>Z)&&(v.current=null)}),onPointerUp:et(e.onPointerUp,M=>{const Q=j.current,G=M.target;if(G.hasPointerCapture(M.pointerId)&&G.releasePointerCapture(M.pointerId),j.current=null,v.current=null,Q){const se=M.currentTarget,S={originalEvent:M,delta:Q};Yv(Q,y.swipeDirection,y.swipeThreshold)?Fc($4,p,S,{discrete:!0}):Fc(L4,m,S,{discrete:!0}),se.addEventListener("click",C=>C.preventDefault(),{once:!0})}})})})}),y.viewport)})]}):null}),W4=e=>{const{__scopeToast:t,children:s,...r}=e,i=uh(rc,t),[a,o]=w.useState(!1),[l,c]=w.useState(!1);return H4(()=>o(!0)),w.useEffect(()=>{const d=window.setTimeout(()=>c(!0),1e3);return()=>window.clearTimeout(d)},[]),l?null:n.jsx(Zk,{asChild:!0,children:n.jsx(dh,{...r,children:a&&n.jsxs(n.Fragment,{children:[i.label," ",s]})})})},V4="ToastTitle",nN=w.forwardRef((e,t)=>{const{__scopeToast:s,...r}=e;return n.jsx(Rt.div,{...r,ref:t})});nN.displayName=V4;var z4="ToastDescription",iN=w.forwardRef((e,t)=>{const{__scopeToast:s,...r}=e;return n.jsx(Rt.div,{...r,ref:t})});iN.displayName=z4;var aN="ToastAction",oN=w.forwardRef((e,t)=>{const{altText:s,...r}=e;return s.trim()?n.jsx(cN,{altText:s,asChild:!0,children:n.jsx(gx,{...r,ref:t})}):(console.error(`Invalid prop \`altText\` supplied to \`${aN}\`. Expected non-empty \`string\`.`),null)});oN.displayName=aN;var lN="ToastClose",gx=w.forwardRef((e,t)=>{const{__scopeToast:s,...r}=e,i=B4(lN,s);return n.jsx(cN,{asChild:!0,children:n.jsx(Rt.button,{type:"button",...r,ref:t,onClick:et(e.onClick,i.onClose)})})});gx.displayName=lN;var cN=w.forwardRef((e,t)=>{const{__scopeToast:s,altText:r,...i}=e;return n.jsx(Rt.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":r||void 0,...i,ref:t})});function dN(e){const t=[];
vendor: 7,588 bytes, lines 40-104
40return Array.from(e.childNodes).forEach(r=>{if(r.nodeType===r.TEXT_NODE&&r.textContent&&t.push(r.textContent),q4(r)){const i=r.ariaHidden||r.hidden||r.style.display==="none",a=r.dataset.radixToastAnnounceExclude==="";if(!i)if(a){const o=r.dataset.radixToastAnnounceAlt;o&&t.push(o)}else t.push(...dN(r))}}),t}function Fc(e,t,s,{discrete:r}){const i=s.originalEvent.currentTarget,a=new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:s});t&&i.addEventListener(e,t,{once:!0}),r?Gk(i,a):i.dispatchEvent(a)}var Yv=(e,t,s=0)=>{const r=Math.abs(e.x),i=Math.abs(e.y),a=r>i;return t==="left"||t==="right"?a&&r>s:!a&&i>s};function H4(e=()=>{}){const t=An(e);_n(()=>{let s=0,r=0;return s=window.requestAnimationFrame(()=>r=window.requestAnimationFrame(t)),()=>{window.cancelAnimationFrame(s),window.cancelAnimationFrame(r)}},[t])}function q4(e){return e.nodeType===e.ELEMENT_NODE}function G4(e){const t=[],s=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const i=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||i?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;s.nextNode();)t.push(s.currentNode);return t}function wm(e){const t=document.activeElement;return e.some(s=>s===t?!0:(s.focus(),document.activeElement!==t))}var K4=Qk,uN=tN,hN=rN,mN=nN,pN=iN,fN=oN,gN=gx;function xN(e){var t,s,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(s=xN(e[t]))&&(r&&(r+=" "),r+=s)}else for(s in e)e[s]&&(r&&(r+=" "),r+=s);return r}function yN(){for(var e,t,s=0,r="",i=arguments.length;s<i;s++)(e=arguments[s])&&(t=xN(e))&&(r&&(r+=" "),r+=t);return r}const Jv=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,Zv=yN,xx=(e,t)=>s=>{var r;if((t==null?void 0:t.variants)==null)return Zv(e,s==null?void 0:s.class,s==null?void 0:s.className);const{variants:i,defaultVariants:a}=t,o=Object.keys(i).map(d=>{const u=s==null?void 0:s[d],h=a==null?void 0:a[d];if(u===null)return null;const m=Jv(u)||Jv(h);return i[d][m]}),l=s&&Object.entries(s).reduce((d,u)=>{let[h,m]=u;return m===void 0||(d[h]=m),d},{}),c=t==null||(r=t.compoundVariants)===null||r===void 0?void 0:r.reduce((d,u)=>{let{class:h,className:m,...p}=u;return Object.entries(p).every(x=>{let[y,b]=x;return Array.isArray(b)?b.includes({...a,...l}[y]):{...a,...l}[y]===b})?[...d,h,m]:d},[]);return Zv(e,o,c,s==null?void 0:s.class,s==null?void 0:s.className)};/**
41 * @license lucide-react v0.462.0 - ISC
42 *
43 * This source code is licensed under the ISC license.
44 * See the LICENSE file in the root directory of this source tree.
45 */const Y4=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),vN=(...e)=>e.filter((t,s,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===s).join(" ").trim();/**
46 * @license lucide-react v0.462.0 - ISC
47 *
48 * This source code is licensed under the ISC license.
49 * See the LICENSE file in the root directory of this source tree.
50 */var J4={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"};/**
51 * @license lucide-react v0.462.0 - ISC
52 *
53 * This source code is licensed under the ISC license.
54 * See the LICENSE file in the root directory of this source tree.
55 */const Z4=w.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:s=2,absoluteStrokeWidth:r,className:i="",children:a,iconNode:o,...l},c)=>w.createElement("svg",{ref:c,...J4,width:t,height:t,stroke:e,strokeWidth:r?Number(s)*24/Number(t):s,className:vN("lucide",i),...l},[...o.map(([d,u])=>w.createElement(d,u)),...Array.isArray(a)?a:[a]]));/**
56 * @license lucide-react v0.462.0 - ISC
57 *
58 * This source code is licensed under the ISC license.
59 * See the LICENSE file in the root directory of this source tree.
60 */const V=(e,t)=>{const s=w.forwardRef(({className:r,...i},a)=>w.createElement(Z4,{ref:a,iconNode:t,className:vN(`lucide-${Y4(e)}`,r),...i}));return s.displayName=`${e}`,s};/**
61 * @license lucide-react v0.462.0 - ISC
62 *
63 * This source code is licensed under the ISC license.
64 * See the LICENSE file in the root directory of this source tree.
65 */const hh=V("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);/**
66 * @license lucide-react v0.462.0 - ISC
67 *
68 * This source code is licensed under the ISC license.
69 * See the LICENSE file in the root directory of this source tree.
70 */const W=V("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);/**
71 * @license lucide-react v0.462.0 - ISC
72 *
73 * This source code is licensed under the ISC license.
74 * See the LICENSE file in the root directory of this source tree.
75 */const We=V("ArrowUpRight",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);/**
76 * @license lucide-react v0.462.0 - ISC
77 *
78 * This source code is licensed under the ISC license.
79 * See the LICENSE file in the root directory of this source tree.
80 */const bN=V("Award",[["path",{d:"m15.477 12.89 1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526",key:"1yiouv"}],["circle",{cx:"12",cy:"8",r:"6",key:"1vp47v"}]]);/**
81 * @license lucide-react v0.462.0 - ISC
82 *
83 * This source code is licensed under the ISC license.
84 * See the LICENSE file in the root directory of this source tree.
85 */const X4=V("Bell",[["path",{d:"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9",key:"1qo2s2"}],["path",{d:"M10.3 21a1.94 1.94 0 0 0 3.4 0",key:"qgo35s"}]]);/**
86 * @license lucide-react v0.462.0 - ISC
87 *
88 * This source code is licensed under the ISC license.
89 * See the LICENSE file in the root directory of this source tree.
90 */const hu=V("Bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);/**
91 * @license lucide-react v0.462.0 - ISC
92 *
93 * This source code is licensed under the ISC license.
94 * See the LICENSE file in the root directory of this source tree.
95 */const of=V("Brain",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z",key:"ep3f8r"}],["path",{d:"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4",key:"1p4c4q"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}]]);/**
96 * @license lucide-react v0.462.0 - ISC
97 *
98 * This source code is licensed under the ISC license.
99 * See the LICENSE file in the root directory of this source tree.
100 */const wN=V("CalendarDays",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 14h.01",key:"6423bh"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M16 14h.01",key:"1gbofw"}],["path",{d:"M8 18h.01",key:"lrp35t"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M16 18h.01",key:"kzsmim"}]]);/**
101 * @license lucide-react v0.462.0 - ISC
102 *
103 * This source code is licensed under the ISC license.
104 * See the LICENSE file in the root directory of this source tree.
105 */const Q4=V("Calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);/**
106 * @license lucide-react v0.462.0 - ISC
107 *
108 * This source code is licensed under the ISC license.
109 * See the LICENSE file in the root directory of this source tree.
110 */const mh=V("ChartColumn",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]]);/**
111 * @license lucide-react v0.462.0 - ISC
112 *
113 * This source code is licensed under the ISC license.
114 * See the LICENSE file in the root directory of this source tree.
115 */const bn=V("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/**
116 * @license lucide-react v0.462.0 - ISC
117 *
118 * This source code is licensed under the ISC license.
119 * See the LICENSE file in the root directory of this source tree.
120 */const Ar=V("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/**
121 * @license lucide-react v0.462.0 - ISC
122 *
123 * This source code is licensed under the ISC license.
124 * See the LICENSE file in the root directory of this source tree.
125 */const Ye=V("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/**
126 * @license lucide-react v0.462.0 - ISC
127 *
128 * This source code is licensed under the ISC license.
129 * See the LICENSE file in the root directory of this source tree.
130 */const Xv=V("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);/**
131 * @license lucide-react v0.462.0 - ISC
132 *
133 * This source code is licensed under the ISC license.
134 * See the LICENSE file in the root directory of this source tree.
135 */const jN=V("ClipboardCheck",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"m9 14 2 2 4-4",key:"df797q"}]]);/**
136 * @license lucide-react v0.462.0 - ISC
137 *
138 * This source code is licensed under the ISC license.
139 * See the LICENSE file in the root directory of this source tree.
140 */const eP=V("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);/**
141 * @license lucide-react v0.462.0 - ISC
142 *
143 * This source code is licensed under the ISC license.
144 * See the LICENSE file in the root directory of this source tree.
145 */const Bc=V("CodeXml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]);/**
146 * @license lucide-react v0.462.0 - ISC
147 *
148 * This source code is licensed under the ISC license.
149 * See the LICENSE file in the root directory of this source tree.
150 */const lf=V("Code",[["polyline",{points:"16 18 22 12 16 6",key:"z7tu5w"}],["polyline",{points:"8 6 2 12 8 18",key:"1eg1df"}]]);/**
151 * @license lucide-react v0.462.0 - ISC
152 *
153 * This source code is licensed under the ISC license.
154 * See the LICENSE file in the root directory of this source tree.
155 */const kN=V("Compass",[["path",{d:"m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z",key:"9ktpf1"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);/**
156 * @license lucide-react v0.462.0 - ISC
157 *
158 * This source code is licensed under the ISC license.
159 * See the LICENSE file in the root directory of this source tree.
160 */const tP=V("Database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]);/**
161 * @license lucide-react v0.462.0 - ISC
162 *
163 * This source code is licensed under the ISC license.
164 * See the LICENSE file in the root directory of this source tree.
165 */const sP=V("DollarSign",[["line",{x1:"12",x2:"12",y1:"2",y2:"22",key:"7eqyqh"}],["path",{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6",key:"1b0p4s"}]]);/**
166 * @license lucide-react v0.462.0 - ISC
167 *
168 * This source code is licensed under the ISC license.
169 * See the LICENSE file in the root directory of this source tree.
170 */const rP=V("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);/**
171 * @license lucide-react v0.462.0 - ISC
172 *
173 * This source code is licensed under the ISC license.
174 * See the LICENSE file in the root directory of this source tree.
175 */const Uc=V("Earth",[["path",{d:"M21.54 15H17a2 2 0 0 0-2 2v4.54",key:"1djwo0"}],["path",{d:"M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17",key:"1tzkfa"}],["path",{d:"M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05",key:"14pb5j"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);/**
176 * @license lucide-react v0.462.0 - ISC
177 *
178 * This source code is licensed under the ISC license.
179 * See the LICENSE file in the root directory of this source tree.
180 */const nP=V("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/**
181 * @license lucide-react v0.462.0 - ISC
182 *
183 * This source code is licensed under the ISC license.
184 * See the LICENSE file in the root directory of this source tree.
185 */const iP=V("FileSpreadsheet",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M8 13h2",key:"yr2amv"}],["path",{d:"M14 13h2",key:"un5t4a"}],["path",{d:"M8 17h2",key:"2yhykz"}],["path",{d:"M14 17h2",key:"10kma7"}]]);/**
186 * @license lucide-react v0.462.0 - ISC
187 *
188 * This source code is licensed under the ISC license.
189 * See the LICENSE file in the root directory of this source tree.
190 */const ph=V("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);/**
191 * @license lucide-react v0.462.0 - ISC
192 *
193 * This source code is licensed under the ISC license.
194 * See the LICENSE file in the root directory of this source tree.
195 */const NN=V("FlaskConical",[["path",{d:"M10 2v7.527a2 2 0 0 1-.211.896L4.72 20.55a1 1 0 0 0 .9 1.45h12.76a1 1 0 0 0 .9-1.45l-5.069-10.127A2 2 0 0 1 14 9.527V2",key:"pzvekw"}],["path",{d:"M8.5 2h7",key:"csnxdl"}],["path",{d:"M7 16h10",key:"wp8him"}]]);/**
196 * @license lucide-react v0.462.0 - ISC
197 *
198 * This source code is licensed under the ISC license.
199 * See the LICENSE file in the root directory of this source tree.
200 */const SN=V("Fuel",[["line",{x1:"3",x2:"15",y1:"22",y2:"22",key:"xegly4"}],["line",{x1:"4",x2:"14",y1:"9",y2:"9",key:"xcnuvu"}],["path",{d:"M14 22V4a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v18",key:"16j0yd"}],["path",{d:"M14 13h2a2 2 0 0 1 2 2v2a2 2 0 0 0 2 2a2 2 0 0 0 2-2V9.83a2 2 0 0 0-.59-1.42L18 5",key:"7cu91f"}]]);/**
201 * @license lucide-react v0.462.0 - ISC
202 *
203 * This source code is licensed under the ISC license.
204 * See the LICENSE file in the root directory of this source tree.
205 */const aP=V("Gauge",[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]]);/**
206 * @license lucide-react v0.462.0 - ISC
207 *
208 * This source code is licensed under the ISC license.
209 * See the LICENSE file in the root directory of this source tree.
210 */const cf=V("Globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);/**
211 * @license lucide-react v0.462.0 - ISC
212 *
213 * This source code is licensed under the ISC license.
214 * See the LICENSE file in the root directory of this source tree.
215 */const oP=V("Hammer",[["path",{d:"m15 12-8.373 8.373a1 1 0 1 1-3-3L12 9",key:"eefl8a"}],["path",{d:"m18 15 4-4",key:"16gjal"}],["path",{d:"m21.5 11.5-1.914-1.914A2 2 0 0 1 19 8.172V7l-2.26-2.26a6 6 0 0 0-4.202-1.756L9 2.96l.92.82A6.18 6.18 0 0 1 12 8.4V10l2 2h1.172a2 2 0 0 1 1.414.586L18.5 14.5",key:"b7pghm"}]]);/**
216 * @license lucide-react v0.462.0 - ISC
217 *
218 * This source code is licensed under the ISC license.
219 * See the LICENSE file in the root directory of this source tree.
220 */const lP=V("Instagram",[["rect",{width:"20",height:"20",x:"2",y:"2",rx:"5",ry:"5",key:"2e1cvw"}],["path",{d:"M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z",key:"9exkf1"}],["line",{x1:"17.5",x2:"17.51",y1:"6.5",y2:"6.5",key:"r4j83e"}]]);/**
221 * @license lucide-react v0.462.0 - ISC
222 *
223 * This source code is licensed under the ISC license.
224 * See the LICENSE file in the root directory of this source tree.
225 */const Co=V("Layers3",[["path",{d:"m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z",key:"8b97xw"}],["path",{d:"m6.08 9.5-3.5 1.6a1 1 0 0 0 0 1.81l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9a1 1 0 0 0 0-1.83l-3.5-1.59",key:"1e5n1m"}],["path",{d:"m6.08 14.5-3.5 1.6a1 1 0 0 0 0 1.81l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9a1 1 0 0 0 0-1.83l-3.5-1.59",key:"1iwflc"}]]);/**
226 * @license lucide-react v0.462.0 - ISC
227 *
228 * This source code is licensed under the ISC license.
229 * See the LICENSE file in the root directory of this source tree.
230 */const mu=V("Layers",[["path",{d:"m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z",key:"8b97xw"}],["path",{d:"m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65",key:"dd6zsq"}],["path",{d:"m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65",key:"ep9fru"}]]);/**
231 * @license lucide-react v0.462.0 - ISC
232 *
233 * This source code is licensed under the ISC license.
234 * See the LICENSE file in the root directory of this source tree.
235 */const cP=V("LayoutDashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);/**
236 * @license lucide-react v0.462.0 - ISC
237 *
238 * This source code is licensed under the ISC license.
239 * See the LICENSE file in the root directory of this source tree.
240 */const yx=V("Linkedin",[["path",{d:"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z",key:"c2jq9f"}],["rect",{width:"4",height:"12",x:"2",y:"9",key:"mk3on5"}],["circle",{cx:"4",cy:"4",r:"2",key:"bt5ra8"}]]);/**
241 * @license lucide-react v0.462.0 - ISC
242 *
243 * This source code is licensed under the ISC license.
244 * See the LICENSE file in the root directory of this source tree.
245 */const dP=V("ListChecks",[["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"m3 7 2 2 4-4",key:"1obspn"}],["path",{d:"M13 6h8",key:"15sg57"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 18h8",key:"oe0vm4"}]]);/**
246 * @license lucide-react v0.462.0 - ISC
247 *
248 * This source code is licensed under the ISC license.
249 * See the LICENSE file in the root directory of this source tree.
250 */const ir=V("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/**
251 * @license lucide-react v0.462.0 - ISC
252 *
253 * This source code is licensed under the ISC license.
254 * See the LICENSE file in the root directory of this source tree.
255 */const AN=V("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);/**
256 * @license lucide-react v0.462.0 - ISC
257 *
258 * This source code is licensed under the ISC license.
259 * See the LICENSE file in the root directory of this source tree.
260 */const ro=V("Mail",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}]]);/**
261 * @license lucide-react v0.462.0 - ISC
262 *
263 * This source code is licensed under the ISC license.
264 * See the LICENSE file in the root directory of this source tree.
265 */const nc=V("MapPin",[["path",{d:"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0",key:"1r0f0z"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}]]);/**
266 * @license lucide-react v0.462.0 - ISC
267 *
268 * This source code is licensed under the ISC license.
269 * See the LICENSE file in the root directory of this source tree.
270 */const uP=V("Map",[["path",{d:"M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z",key:"169xi5"}],["path",{d:"M15 5.764v15",key:"1pn4in"}],["path",{d:"M9 3.236v15",key:"1uimfh"}]]);/**
271 * @license lucide-react v0.462.0 - ISC
272 *
273 * This source code is licensed under the ISC license.
274 * See the LICENSE file in the root directory of this source tree.
275 */const hP=V("Megaphone",[["path",{d:"m3 11 18-5v12L3 14v-3z",key:"n962bs"}],["path",{d:"M11.6 16.8a3 3 0 1 1-5.8-1.6",key:"1yl0tm"}]]);/**
276 * @license lucide-react v0.462.0 - ISC
277 *
278 * This source code is licensed under the ISC license.
279 * See the LICENSE file in the root directory of this source tree.
280 */const vx=V("Menu",[["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}],["line",{x1:"4",x2:"20",y1:"6",y2:"6",key:"1owob3"}],["line",{x1:"4",x2:"20",y1:"18",y2:"18",key:"yk5zj1"}]]);/**
281 * @license lucide-react v0.462.0 - ISC
282 *
283 * This source code is licensed under the ISC license.
284 * See the LICENSE file in the root directory of this source tree.
285 */const mP=V("MessageSquare",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]]);/**
286 * @license lucide-react v0.462.0 - ISC
287 *
288 * This source code is licensed under the ISC license.
289 * See the LICENSE file in the root directory of this source tree.
290 */const pP=V("Minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);/**
291 * @license lucide-react v0.462.0 - ISC
292 *
293 * This source code is licensed under the ISC license.
294 * See the LICENSE file in the root directory of this source tree.
295 */const jm=V("MonitorSmartphone",[["path",{d:"M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8",key:"10dyio"}],["path",{d:"M10 19v-3.96 3.15",key:"1irgej"}],["path",{d:"M7 19h5",key:"qswx4l"}],["rect",{width:"6",height:"10",x:"16",y:"12",rx:"2",key:"1egngj"}]]);/**
296 * @license lucide-react v0.462.0 - ISC
297 *
298 * This source code is licensed under the ISC license.
299 * See the LICENSE file in the root directory of this source tree.
300 */const fP=V("Network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]);/**
301 * @license lucide-react v0.462.0 - ISC
302 *
303 * This source code is licensed under the ISC license.
304 * See the LICENSE file in the root directory of this source tree.
305 */const df=V("Palette",[["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["path",{d:"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z",key:"12rzf8"}]]);/**
306 * @license lucide-react v0.462.0 - ISC
307 *
308 * This source code is licensed under the ISC license.
309 * See the LICENSE file in the root directory of this source tree.
310 */const _N=V("PenTool",[["path",{d:"M15.707 21.293a1 1 0 0 1-1.414 0l-1.586-1.586a1 1 0 0 1 0-1.414l5.586-5.586a1 1 0 0 1 1.414 0l1.586 1.586a1 1 0 0 1 0 1.414z",key:"nt11vn"}],["path",{d:"m18 13-1.375-6.874a1 1 0 0 0-.746-.776L3.235 2.028a1 1 0 0 0-1.207 1.207L5.35 15.879a1 1 0 0 0 .776.746L13 18",key:"15qc1e"}],["path",{d:"m2.3 2.3 7.286 7.286",key:"1wuzzi"}],["circle",{cx:"11",cy:"11",r:"2",key:"xmgehs"}]]);/**
311 * @license lucide-react v0.462.0 - ISC
312 *
313 * This source code is licensed under the ISC license.
314 * See the LICENSE file in the root directory of this source tree.
315 */const Ut=V("Phone",[["path",{d:"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z",key:"foiqr5"}]]);/**
316 * @license lucide-react v0.462.0 - ISC
317 *
318 * This source code is licensed under the ISC license.
319 * See the LICENSE file in the root directory of this source tree.
320 */const bx=V("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);/**
321 * @license lucide-react v0.462.0 - ISC
322 *
323 * This source code is licensed under the ISC license.
324 * See the LICENSE file in the root directory of this source tree.
325 */const gP=V("PlugZap",[["path",{d:"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z",key:"goz73y"}],["path",{d:"m2 22 3-3",key:"19mgm9"}],["path",{d:"M7.5 13.5 10 11",key:"7xgeeb"}],["path",{d:"M10.5 16.5 13 14",key:"10btkg"}],["path",{d:"m18 3-4 4h6l-4 4",key:"16psg9"}]]);/**
326 * @license lucide-react v0.462.0 - ISC
327 *
328 * This source code is licensed under the ISC license.
329 * See the LICENSE file in the root directory of this source tree.
330 */const xP=V("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);/**
331 * @license lucide-react v0.462.0 - ISC
332 *
333 * This source code is licensed under the ISC license.
334 * See the LICENSE file in the root directory of this source tree.
335 */const yP=V("Quote",[["path",{d:"M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",key:"rib7q0"}],["path",{d:"M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",key:"1ymkrd"}]]);/**
336 * @license lucide-react v0.462.0 - ISC
337 *
338 * This source code is licensed under the ISC license.
339 * See the LICENSE file in the root directory of this source tree.
340 */const CN=V("Route",[["circle",{cx:"6",cy:"19",r:"3",key:"1kj8tv"}],["path",{d:"M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15",key:"1d8sl"}],["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}]]);/**
341 * @license lucide-react v0.462.0 - ISC
342 *
343 * This source code is licensed under the ISC license.
344 * See the LICENSE file in the root directory of this source tree.
345 */const EN=V("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/**
346 * @license lucide-react v0.462.0 - ISC
347 *
348 * This source code is licensed under the ISC license.
349 * See the LICENSE file in the root directory of this source tree.
350 */const TN=V("Share2",[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]]);/**
351 * @license lucide-react v0.462.0 - ISC
352 *
353 * This source code is licensed under the ISC license.
354 * See the LICENSE file in the root directory of this source tree.
355 */const wx=V("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",ke
355y:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/**
356 * @license lucide-react v0.462.0 - ISC
357 *
358 * This source code is licensed under the ISC license.
359 * See the LICENSE file in the root directory of this source tree.
360 */const vP=V("Shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]);/**
361 * @license lucide-react v0.462.0 - ISC
362 *
363 * This source code is licensed under the ISC license.
364 * See the LICENSE file in the root directory of this source tree.
365 */const bP=V("ShoppingBag",[["path",{d:"M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4Z",key:"hou9p0"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M16 10a4 4 0 0 1-8 0",key:"1ltviw"}]]);/**
366 * @license lucide-react v0.462.0 - ISC
367 *
368 * This source code is licensed under the ISC license.
369 * See the LICENSE file in the root directory of this source tree.
370 */const wP=V("ShoppingCart",[["circle",{cx:"8",cy:"21",r:"1",key:"jimo8o"}],["circle",{cx:"19",cy:"21",r:"1",key:"13723u"}],["path",{d:"M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12",key:"9zh506"}]]);/**
371 * @license lucide-react v0.462.0 - ISC
372 *
373 * This source code is licensed under the ISC license.
374 * See the LICENSE file in the root directory of this source tree.
375 */const fi=V("Smartphone",[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12 18h.01",key:"mhygvu"}]]);/**
376 * @license lucide-react v0.462.0 - ISC
377 *
378 * This source code is licensed under the ISC license.
379 * See the LICENSE file in the root directory of this source tree.
380 */const ki=V("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"}]]);/**
381 * @license lucide-react v0.462.0 - ISC
382 *
383 * This source code is licensed under the ISC license.
384 * See the LICENSE file in the root directory of this source tree.
385 */const pu=V("Star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]]);/**
386 * @license lucide-react v0.462.0 - ISC
387 *
388 * This source code is licensed under the ISC license.
389 * See the LICENSE file in the root directory of this source tree.
390 */const jx=V("Target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]);/**
391 * @license lucide-react v0.462.0 - ISC
392 *
393 * This source code is licensed under the ISC license.
394 * See the LICENSE file in the root directory of this source tree.
395 */const kx=V("Ticket",[["path",{d:"M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z",key:"qn84l0"}],["path",{d:"M13 5v2",key:"dyzc3o"}],["path",{d:"M13 17v2",key:"1ont0d"}],["path",{d:"M13 11v2",key:"1wjjxi"}]]);/**
396 * @license lucide-react v0.462.0 - ISC
397 *
398 * This source code is licensed under the ISC license.
399 * See the LICENSE file in the root directory of this source tree.
400 */const Nx=V("TrendingUp",[["polyline",{points:"22 7 13.5 15.5 8.5 10.5 2 17",key:"126l90"}],["polyline",{points:"16 7 22 7 22 13",key:"kwv8wd"}]]);/**
401 * @license lucide-react v0.462.0 - ISC
402 *
403 * This source code is licensed under the ISC license.
404 * See the LICENSE file in the root directory of this source tree.
405 */const PN=V("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"}]]);/**
406 * @license lucide-react v0.462.0 - ISC
407 *
408 * This source code is licensed under the ISC license.
409 * See the LICENSE file in the root directory of this source tree.
410 */const Sa=V("Truck",[["path",{d:"M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2",key:"wrbu53"}],["path",{d:"M15 18H9",key:"1lyqi6"}],["path",{d:"M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.624l-3.48-4.35A1 1 0 0 0 17.52 8H14",key:"lysw3i"}],["circle",{cx:"17",cy:"18",r:"2",key:"332jqn"}],["circle",{cx:"7",cy:"18",r:"2",key:"19iecd"}]]);/**
411 * @license lucide-react v0.462.0 - ISC
412 *
413 * This source code is licensed under the ISC license.
414 * See the LICENSE file in the root directory of this source tree.
415 */const jP=V("UserCog",[["circle",{cx:"18",cy:"15",r:"3",key:"gjjjvw"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["path",{d:"M10 15H6a4 4 0 0 0-4 4v2",key:"1nfge6"}],["path",{d:"m21.7 16.4-.9-.3",key:"12j9ji"}],["path",{d:"m15.2 13.9-.9-.3",key:"1fdjdi"}],["path",{d:"m16.6 18.7.3-.9",key:"heedtr"}],["path",{d:"m19.1 12.2.3-.9",key:"1af3ki"}],["path",{d:"m19.6 18.7-.4-1",key:"1x9vze"}],["path",{d:"m16.8 12.3-.4-1",key:"vqeiwj"}],["path",{d:"m14.3 16.6 1-.4",key:"1qlj63"}],["path",{d:"m20.7 13.8 1-.4",key:"1v5t8k"}]]);/**
416 * @license lucide-react v0.462.0 - ISC
417 *
418 * This source code is licensed under the ISC license.
419 * See the LICENSE file in the root directory of this source tree.
420 */const Sx=V("Users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["path",{d:"M16 3.13a4 4 0 0 1 0 7.75",key:"1da9ce"}]]);/**
421 * @license lucide-react v0.462.0 - ISC
422 *
423 * This source code is licensed under the ISC license.
424 * See the LICENSE file in the root directory of this source tree.
vendor: 9,204 bytes, lines 425-440
425 */const kP=V("Workflow",[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2",key:"by2w9f"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4",key:"xkn7yn"}],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2",key:"1cgmvn"}]]);/**
426 * @license lucide-react v0.462.0 - ISC
427 *
428 * This source code is licensed under the ISC license.
429 * See the LICENSE file in the root directory of this source tree.
430 */const IN=V("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]);/**
431 * @license lucide-react v0.462.0 - ISC
432 *
433 * This source code is licensed under the ISC license.
434 * See the LICENSE file in the root directory of this source tree.
435 */const ar=V("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);/**
436 * @license lucide-react v0.462.0 - ISC
437 *
438 * This source code is licensed under the ISC license.
439 * See the LICENSE file in the root directory of this source tree.
440 */const fu=V("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),Ax="-",NP=e=>{const t=AP(e),{conflictingClassGroups:s,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:o=>{const l=o.split(Ax);return l[0]===""&&l.length!==1&&l.shift(),RN(l,t)||SP(o)},getConflictingClassGroupIds:(o,l)=>{const c=s[o]||[];return l&&r[o]?[...c,...r[o]]:c}}},RN=(e,t)=>{var o;if(e.length===0)return t.classGroupId;const s=e[0],r=t.nextPart.get(s),i=r?RN(e.slice(1),r):void 0;if(i)return i;if(t.validators.length===0)return;const a=e.join(Ax);return(o=t.validators.find(({validator:l})=>l(a)))==null?void 0:o.classGroupId},Qv=/^\[(.+)\]$/,SP=e=>{if(Qv.test(e)){const t=Qv.exec(e)[1],s=t==null?void 0:t.substring(0,t.indexOf(":"));if(s)return"arbitrary.."+s}},AP=e=>{const{theme:t,prefix:s}=e,r={nextPart:new Map,validators:[]};return CP(Object.entries(e.classGroups),s).forEach(([a,o])=>{uf(o,r,a,t)}),r},uf=(e,t,s,r)=>{e.forEach(i=>{if(typeof i=="string"){const a=i===""?t:eb(t,i);a.classGroupId=s;return}if(typeof i=="function"){if(_P(i)){uf(i(r),t,s,r);return}t.validators.push({validator:i,classGroupId:s});return}Object.entries(i).forEach(([a,o])=>{uf(o,eb(t,a),s,r)})})},eb=(e,t)=>{let s=e;return t.split(Ax).forEach(r=>{s.nextPart.has(r)||s.nextPart.set(r,{nextPart:new Map,validators:[]}),s=s.nextPart.get(r)}),s},_P=e=>e.isThemeGetter,CP=(e,t)=>t?e.map(([s,r])=>{const i=r.map(a=>typeof a=="string"?t+a:typeof a=="object"?Object.fromEntries(Object.entries(a).map(([o,l])=>[t+o,l])):a);return[s,i]}):e,EP=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,s=new Map,r=new Map;const i=(a,o)=>{s.set(a,o),t++,t>e&&(t=0,r=s,s=new Map)};return{get(a){let o=s.get(a);if(o!==void 0)return o;if((o=r.get(a))!==void 0)return i(a,o),o},set(a,o){s.has(a)?s.set(a,o):i(a,o)}}},ON="!",TP=e=>{const{separator:t,experimentalParseClassName:s}=e,r=t.length===1,i=t[0],a=t.length,o=l=>{const c=[];let d=0,u=0,h;for(let b=0;b<l.length;b++){let f=l[b];if(d===0){if(f===i&&(r||l.slice(b,b+a)===t)){c.push(l.slice(u,b)),u=b+a;continue}if(f==="/"){h=b;continue}}f==="["?d++:f==="]"&&d--}const m=c.length===0?l:l.substring(u),p=m.startsWith(ON),x=p?m.substring(1):m,y=h&&h>u?h-u:void 0;return{modifiers:c,hasImportantModifier:p,baseClassName:x,maybePostfixModifierPosition:y}};return s?l=>s({className:l,parseClassName:o}):o},PP=e=>{if(e.length<=1)return e;const t=[];let s=[];return e.forEach(r=>{r[0]==="["?(t.push(...s.sort(),r),s=[]):s.push(r)}),t.push(...s.sort()),t},IP=e=>({cache:EP(e.cacheSize),parseClassName:TP(e),...NP(e)}),RP=/\s+/,OP=(e,t)=>{const{parseClassName:s,getClassGroupId:r,getConflictingClassGroupIds:i}=t,a=[],o=e.trim().split(RP);let l="";for(let c=o.length-1;c>=0;c-=1){const d=o[c],{modifiers:u,hasImportantModifier:h,baseClassName:m,maybePostfixModifierPosition:p}=s(d);let x=!!p,y=r(x?m.substring(0,p):m);if(!y){if(!x){l=d+(l.length>0?" "+l:l);continue}if(y=r(m),!y){l=d+(l.length>0?" "+l:l);continue}x=!1}const b=PP(u).join(":"),f=h?b+ON:b,g=f+y;if(a.includes(g))continue;a.push(g);const v=i(y,x);for(let j=0;j<v.length;++j){const k=v[j];a.push(f+k)}l=d+(l.length>0?" "+l:l)}return l};function MP(){let e=0,t,s,r="";for(;e<arguments.length;)(t=arguments[e++])&&(s=MN(t))&&(r&&(r+=" "),r+=s);return r}const MN=e=>{if(typeof e=="string")return e;let t,s="";for(let r=0;r<e.length;r++)e[r]&&(t=MN(e[r]))&&(s&&(s+=" "),s+=t);return s};function DP(e,...t){let s,r,i,a=o;function o(c){const d=t.reduce((u,h)=>h(u),e());return s=IP(d),r=s.cache.get,i=s.cache.set,a=l,l(c)}function l(c){const d=r(c);if(d)return d;const u=OP(c,s);return i(c,u),u}return function(){return a(MP.apply(null,arguments))}}const Ae=e=>{const t=s=>s[e]||[];return t.isThemeGetter=!0,t},DN=/^\[(?:([a-z-]+):)?(.+)\]$/i,LP=/^\d+\/\d+$/,$P=new Set(["px","full","screen"]),FP=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,BP=/\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$/,UP=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,WP=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,VP=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,pr=e=>Aa(e)||$P.has(e)||LP.test(e),Vr=e=>no(e,"length",ZP),Aa=e=>!!e&&!Number.isNaN(Number(e)),km=e=>no(e,"number",Aa),Eo=e=>!!e&&Number.isInteger(Number(e)),zP=e=>e.endsWith("%")&&Aa(e.slice(0,-1)),ce=e=>DN.test(e),zr=e=>FP.test(e),HP=new Set(["length","size","percentage"]),qP=e=>no(e,HP,LN),GP=e=>no(e,"position",LN),KP=new Set(["image","url"]),YP=e=>no(e,KP,QP),JP=e=>no(e,"",XP),To=()=>!0,no=(e,t,s)=>{const r=DN.exec(e);return r?r[1]?typeof t=="string"?r[1]===t:t.has(r[1]):s(r[2]):!1},ZP=e=>BP.test(e)&&!UP.test(e),LN=()=>!1,XP=e=>WP.test(e),QP=e=>VP.test(e),e5=()=>{const e=Ae("colors"),t=Ae("spacing"),s=Ae("blur"),r=Ae("brightness"),i=Ae("borderColor"),a=Ae("borderRadius"),o=Ae("borderSpacing"),l=Ae("borderWidth"),c=Ae("contrast"),d=Ae("grayscale"),u=Ae("hueRotate"),h=Ae("invert"),m=Ae("gap"),p=Ae("gradientColorStops"),x=Ae("gradientColorStopPositions"),y=Ae("inset"),b=Ae("margin"),f=Ae("opacity"),g=Ae("padding"),v=Ae("saturate"),j=Ae("scale"),k=Ae("sepia"),N=Ae("skew"),A=Ae("space"),E=Ae("translate"),R=()=>["auto","contain","none"],I=()=>["auto","hidden","clip","visible","scroll"],B=()=>["auto",ce,t],_=()=>[ce,t],$=()=>["",pr,Vr],M=()=>["auto",Aa,ce],Q=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],G=()=>["solid","dashed","dotted","double","none"],se=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],S=()=>["start","end","center","between","around","evenly","stretch"],C=()=>["","0",ce],D=()=>["auto","avoid","all","avoid-page","page","left","right","column"],H=()=>[Aa,ce];return{cacheSize:500,separator:":",theme:{colors:[To],spacing:[pr,Vr],blur:["none","",zr,ce],brightness:H(),borderColor:[e],borderRadius:["none","","full",zr,ce],borderSpacing:_(),borderWidth:$(),contrast:H(),grayscale:C(),hueRotate:H(),invert:C(),gap:_(),gradientColorStops:[e],gradientColorStopPositions:[zP,Vr],inset:B(),margin:B(),opacity:H(),padding:_(),saturate:H(),scale:H(),sepia:C(),skew:H(),space:_(),translate:_()},classGroups:{aspect:[{aspect:["auto","square","video",ce]}],container:["container"],columns:[{columns:[zr]}],"break-after":[{"break-after":D()}],"break-before":[{"break-before":D()}],"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:[...Q(),ce]}],overflow:[{overflow:I()}],"overflow-x":[{"overflow-x":I()}],"overflow-y":[{"overflow-y":I()}],overscroll:[{overscroll:R()}],"overscroll-x":[{"overscroll-x":R()}],"overscroll-y":[{"overscroll-y":R()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[y]}],"inset-x":[{"inset-x":[y]}],"inset-y":[{"inset-y":[y]}],start:[{start:[y]}],end:[{end:[y]}],top:[{top:[y]}],right:[{right:[y]}],bottom:[{bottom:[y]}],left:[{left:[y]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",Eo,ce]}],basis:[{basis:B()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",ce]}],grow:[{grow:C()}],shrink:[{shrink:C()}],order:[{order:["first","last","none",Eo,ce]}],"grid-cols":[{"grid-cols":[To]}],"col-start-end":[{col:["auto",{span:["full",Eo,ce]},ce]}],"col-start":[{"col-start":M()}
vendor: 9,422 bytes, line 440
440],"col-end":[{"col-end":M()}],"grid-rows":[{"grid-rows":[To]}],"row-start-end":[{row:["auto",{span:[Eo,ce]},ce]}],"row-start":[{"row-start":M()}],"row-end":[{"row-end":M()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",ce]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",ce]}],gap:[{gap:[m]}],"gap-x":[{"gap-x":[m]}],"gap-y":[{"gap-y":[m]}],"justify-content":[{justify:["normal",...S()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...S(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...S(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[g]}],px:[{px:[g]}],py:[{py:[g]}],ps:[{ps:[g]}],pe:[{pe:[g]}],pt:[{pt:[g]}],pr:[{pr:[g]}],pb:[{pb:[g]}],pl:[{pl:[g]}],m:[{m:[b]}],mx:[{mx:[b]}],my:[{my:[b]}],ms:[{ms:[b]}],me:[{me:[b]}],mt:[{mt:[b]}],mr:[{mr:[b]}],mb:[{mb:[b]}],ml:[{ml:[b]}],"space-x":[{"space-x":[A]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[A]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",ce,t]}],"min-w":[{"min-w":[ce,t,"min","max","fit"]}],"max-w":[{"max-w":[ce,t,"none","full","min","max","fit","prose",{screen:[zr]},zr]}],h:[{h:[ce,t,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[ce,t,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[ce,t,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[ce,t,"auto","min","max","fit"]}],"font-size":[{text:["base",zr,Vr]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",km]}],"font-family":[{font:[To]}],"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",ce]}],"line-clamp":[{"line-clamp":["none",Aa,km]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",pr,ce]}],"list-image":[{"list-image":["none",ce]}],"list-style-type":[{list:["none","disc","decimal",ce]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[f]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[f]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...G(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",pr,Vr]}],"underline-offset":[{"underline-offset":["auto",pr,ce]}],"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:_()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",ce]}],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",ce]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[f]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...Q(),GP]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",qP]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},YP]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[x]}],"gradient-via-pos":[{via:[x]}],"gradient-to-pos":[{to:[x]}],"gradient-from":[{from:[p]}],"gradient-via":[{via:[p]}],"gradient-to":[{to:[p]}],rounded:[{rounded:[a]}],"rounded-s":[{"rounded-s":[a]}],"rounded-e":[{"rounded-e":[a]}],"rounded-t":[{"rounded-t":[a]}],"rounded-r":[{"rounded-r":[a]}],"rounded-b":[{"rounded-b":[a]}],"rounded-l":[{"rounded-l":[a]}],"rounded-ss":[{"rounded-ss":[a]}],"rounded-se":[{"rounded-se":[a]}],"rounded-ee":[{"rounded-ee":[a]}],"rounded-es":[{"rounded-es":[a]}],"rounded-tl":[{"rounded-tl":[a]}],"rounded-tr":[{"rounded-tr":[a]}],"rounded-br":[{"rounded-br":[a]}],"rounded-bl":[{"rounded-bl":[a]}],"border-w":[{border:[l]}],"border-w-x":[{"border-x":[l]}],"border-w-y":[{"border-y":[l]}],"border-w-s":[{"border-s":[l]}],"border-w-e":[{"border-e":[l]}],"border-w-t":[{"border-t":[l]}],"border-w-r":[{"border-r":[l]}],"border-w-b":[{"border-b":[l]}],"border-w-l":[{"border-l":[l]}],"border-opacity":[{"border-opacity":[f]}],"border-style":[{border:[...G(),"hidden"]}],"divide-x":[{"divide-x":[l]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[l]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[f]}],"divide-style":[{divide:G()}],"border-color":[{border:[i]}],"border-color-x":[{"border-x":[i]}],"border-color-y":[{"border-y":[i]}],"border-color-s":[{"border-s":[i]}],"border-color-e":[{"border-e":[i]}],"border-color-t":[{"border-t":[i]}],"border-color-r":[{"border-r":[i]}],"border-color-b":[{"border-b":[i]}],"border-color-l":[{"border-l":[i]}],"divide-color":[{divide:[i]}],"outline-style":[{outline:["",...G()]}],"outline-offset":[{"outline-offset":[pr,ce]}],"outline-w":[{outline:[pr,Vr]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:$()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[f]}],"ring-offset-w":[{"ring-offset":[pr,Vr]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",zr,JP]}],"shadow-color":[{shadow:[To]}],opacity:[{opacity:[f]}],"mix-blend":[{"mix-blend":[...se(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":se()}],filter:[{filter:["","none"]}],blur:[{blur:[s]}],brightness:[{brightness:[r]}],contrast:[{contrast:[c]}],"drop-shadow":[{"drop-shadow":["","none",zr,ce]}],grayscale:[{grayscale:[d]}],"hue-rotate":[{"hue-rotate":[u]}],invert:[{invert:[h]}],saturate:[{saturate:[v]}],sepia:[{sepia:[k]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[s]}],"backdrop-brightness":[{"backdrop-brightness":[r]}],"backdrop-contrast":[{"backdrop-contrast":[c]}],"backdrop-grayscale":[{"backdrop-grayscale":[d]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[u]}],"backdrop-invert":[{"backdrop-invert":[h]}],"backdrop-opacity":[{"backdrop-opacity":[f]}],"backdrop-saturate":[{"backdrop-saturate":[v]}],"backdrop-sepia":[{"backdrop-sepia":[k]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[o]}],"border-spacing-x":[{"border-spacing-x":[o]}],"border-spacing-y":[{"border-spacing-y":[o]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",ce]}],duration:[{duration:H()}],ease:[{ease:["linear","in","out","in-out",ce]}],delay:[{delay:H()}],animate:[{animate:["none","spin","ping","pulse","bounce",ce]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[j]}],"scale-x":[{"scale-x":[j]}],"scale-y":[{"scale-y":[j]}],rotate:[{rotate:[Eo,ce]}],"translate-x":[{"translate-x":[E]}],"translate-y":[{"translate-y":[E]}],"skew-x":[{"skew-x":[N]}],"skew-y":[{"skew-y":[N]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",ce]}],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",ce]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":_()}],"scroll-mx":[{"scroll-mx":_()}],"scroll-my":[{"scroll-my":_()}],"scroll-ms":[{"scroll-ms":_()}],"scroll-me":[{"scroll-me":_()}],"scroll-mt":[{"scroll-mt":_()}],"scroll-mr":[{"scroll-mr":_()}],"scroll-mb":[{"scroll-mb":_()}],"scroll-ml":[{"scroll-ml":_()}],"scroll-p":[{"scroll-p":_()}],"scroll-px":[{"scroll-px":_()}],"scroll-py":[{"scroll-py":_()}],"scroll-ps":[{"scroll-ps":_()}],"scroll-pe":[{"scroll-pe":_()}],"scroll-pt":[{"scroll-pt":_()}],"scroll-pr":[{"scroll-pr":_()}],"scroll-pb":[{"scroll-pb":_()}],"scroll-pl":[{"scroll-pl":_()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}
vendor: 4,647 bytes, line 440
440],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",ce]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[pr,Vr,km]}],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"]}}},t5=DP(e5);function cr(...e){return t5(yN(e))}const s5=K4,$N=w.forwardRef(({className:e,...t},s)=>n.jsx(uN,{ref:s,className:cr("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",e),...t}));$N.displayName=uN.displayName;const r5=xx("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"}}),FN=w.forwardRef(({className:e,variant:t,...s},r)=>n.jsx(hN,{ref:r,className:cr(r5({variant:t}),e),...s}));FN.displayName=hN.displayName;const n5=w.forwardRef(({className:e,...t},s)=>n.jsx(fN,{ref:s,className:cr("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 group-[.destructive]:border-muted/40 hover:bg-secondary group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 group-[.destructive]:focus:ring-destructive disabled:pointer-events-none disabled:opacity-50",e),...t}));n5.displayName=fN.displayName;const BN=w.forwardRef(({className:e,...t},s)=>n.jsx(gN,{ref:s,className:cr("absolute right-2 top-2 rounded-md p-1 text-foreground
440/50 opacity-0 transition-opacity group-hover:opacity-100 group-[.destructive]:text-red-300 hover:text-foreground group-[.destructive]:hover:text-red-50 focus:opacity-100 focus:outline-none focus:ring-2 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",e),"toast-close":"",...t,children:n.jsx(ar,{className:"h-4 w-4"})}));BN.displayName=gN.displayName;const UN=w.forwardRef(({className:e,...t},s)=>n.jsx(mN,{ref:s,className:cr("text-sm font-semibold",e),...t}));UN.displayName=mN.displayName;const WN=w.forwardRef(({className:e,...t},s)=>n.jsx(pN,{ref:s,className:cr("text-sm opacity-90",e),...t}));WN.displayName=pN.displayName;function i5(){const{toasts:e}=t4();return n.jsxs(s5,{children:[e.map(function({id:t,title:s,description:r,action:i,...a}){return n.jsxs(FN,{...a,children:[n.jsxs("div",{className:"grid gap-1",children:[s&&n.jsx(UN,{children:s}),r&&n.jsx(WN,{children:r})]}),i,n.jsx(BN,{})]},t)}),n.jsx($N,{})]})}var tb=["light","dark"],a5="(prefers-color-scheme: dark)",o5=w.createContext(void 0),l5={setTheme:e=>{},themes:[]},c5=()=>{var e;return(e=w.useContext(o5))!=null?e:l5};w.memo(({forcedTheme:e,storageKey:t,attribute:s,enableSystem:r,enableColorScheme:i,defaultTheme:a,value:o,attrs:l,nonce:c})=>{let d=a==="system",u=s==="class"?`var d=document.documentElement,c=d.classList;${`c.remove(${l.map(x=>`'${x}'`).join(",")})`};`:`var d=document.documentElement,n='${s}',s='setAttribute';`,h=i?tb.includes(a)&&a?`if(e==='light'||e==='dark'||!e)d.style.colorScheme=e||'${a}'`:"if(e==='light'||e==='dark')d.style.colorScheme=e":"",m=(x,y=!1,b=!0)=>{let f=o?o[x]:x,g=y?x+"|| ''":`'${f}'`,v="";return i&&b&&!y&&tb.includes(x)&&(v+=`d.style.colorScheme = '${x}';`),s==="class"?y||f?v+=`c.add(${g})`:v+="null":f&&(v+=`d[s](n,${g})`),v},p=e?`!function(){${u}${m(e)}}()`:r?`!function(){try{${u}var e=localStorage.getItem('${t}');if('system'===e||(!e&&${d})){var t='${a5}',m=window.matchMedia(t);if(m.media!==t||m.matches){${m("dark")}}else{${m("light")}}}else if(e){${o?`var x=${JSON.stringify(o)};`:""}${m(o?"x[e]":"e",!0)}}${d?"":"else{"+m(a,!1,!1)+"}"}${h}}catch(e){}}()`:`!function(){try{${u}var e=localStorage.getItem('${t}');if(e){${o?`var x=${JSON.stringify(o)};`:""}${m(o?"x[e]":"e",!0)}}else{${m(a,!1,!1)};}${h}}catch(t){}}();`;return w.createElement("script",{nonce:c,dangerouslySetInnerHTML:{__html:p}})});var d5=e=>{switch(e){case"success":return m5;case"info":return f5;case"warning":return p5;case"error":return g5;default:return null}},u5=Array(12).fill(0),h5=({visible:e,className:t})=>T.createElement("div",{className:["sonner-loading-wrapper",t].filter(Boolean).join(" "),"data-visible":e},T.createElement("div",{className:"sonner-spinner"},u5.map((s,r)=>T.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${r}`})))),m5=T.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},T.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),p5=T.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},T.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),f5=T.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},T.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),g5=T.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},T.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),x5=T.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},T.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),T.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),y5=()=>{let[e,t]=T.useState(document.hidden);return T.useEffect(()=>{let s=()=>{t(document.hidden)};
440return document.addEventListener("visibilitychange",s),()=>window.removeEventListener("visibilitychange",s)},[]),e},hf=1,v5=class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}),this.publish=e=>{this.subscribers.forEach(t=>t(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{var t;let{message:s,...r}=e,i=typeof(e==null?void 0:e.id)=="number"||((t=e.id)==null?void 0:t.length)>0?e.id:hf++,a=this.toasts.find(l=>l.id===i),o=e.dismissible===void 0?!0:e.dismissible;return this.dismissedToasts.has(i)&&this.dismissedToasts.delete(i),a?this.toasts=this.toasts.map(l=>l.id===i?(this.publish({...l,...e,id:i,title:s}),{...l,...e,id:i,dismissible:o,title:s}):l):this.addToast({title:s,...r,dismissible:o,id:i}),i},this.dismiss=e=>(this.dismissedToasts.add(e),e||this.toasts.forEach(t=>{this.subscribers.forEach(s=>s({id:t.id,dismiss:!0}))}),this.subscribers.forEach(t=>t({id:e,dismiss:!0})),e),this.message=(e,t)=>this.create({...t,message:e}),this.error=(e,t)=>this.create({...t,message:e,type:"error"}),this.success=(e,t)=>this.create({...t,type:"success",message:e}),this.info=(e,t)=>this.create({...t,type:"info",message:e}),this.warning=(e,t)=>this.create({...t,type:"warning",message:e}),this.loading=(e,t)=>
440this.create({...t,type:"loading",message:e}),this.promise=(e,t)=>{if(!t)return;let s;t.loading!==void 0&&(s=this.create({...t,promise:e,type:"loading",message:t.loading,description:typeof t.description!="function"?t.description:void 0}));let r=e instanceof Promise?e:e(),i=s!==void 0,a,o=r.then(async c=>{if(a=["resolve",c],T.isValidElement(c))i=!1,this.create({id:s,type:"default",message:c});else if(w5(c)&&!c.ok){i=!1;let d=typeof t.error=="function"?await t.error(`HTTP error! status: ${c.status}`):t.error,u=typeof t.description=="function"?await t.description(`HTTP error! status: ${c.status}`):t.description;this.create({id:s,type:"error",message:d,description:u})}else if(t.success!==void 0){i=!1;let d=typeof t.success=="function"?await t.success(c):t.success,u=typeof t.description=="function"?await t.description(c):t.description;this.create({id:s,type:"success",message:d,description:u})}}).catch(async c=>{if(a=["reject",c],t.error!==void 0){i=!1;let d=typeof t.error=="function"?await t.error(c):t.error,u=typeof t.description=="function"?await t.description(c):t.description;this.create({id:s,type:"error",message:d,description:u})}}).finally(()=>{var c;i&&(this.dismiss(s),s=void 0),(c=t.finally)==null||c.call(t)}),l=()=>new Promise((c,d)=>o.then(()=>a[0]==="reject"?d(a[1]):c(a[1])).catch(d));return typeof s!="string"&&typeof s!="number"?{unwrap:l}:Object.assign(s,{unwrap:l})},this.custom=(e,t)=>{let s=(t==null?void 0:t.id)||hf++;return this.create({jsx:e(s),id:s,...t}),s},this.getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},Mt=new v5,b5=(e,t)=>{let s=(t==null?void 0:t.id)||hf++;return Mt.addToast({title:e,...t,id:s}),s},w5=e=>e&&typeof e=="object"&&"ok"in e&&typeof e.ok=="boolean"&&"status"in e&&typeof e.status=="number",j5=b5,k5=()=>Mt.toasts,N5=()=>Mt.getActiveToasts();Object.assign(j5,{success:Mt.success,info:Mt.info,warning:Mt.warning,error:Mt.error,custom:Mt.custom,message:Mt.message,promise:Mt.promise,dismiss:Mt.dismiss,loading:Mt.loading},{getHistory:k5,getToasts:N5});function S5(e,{insertAt:t}={}){if(typeof document>"u")return;let s=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",t==="top"&&s.firstChild?s.insertBefore(r,s.firstChild):s.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}S5(`:where(html[dir="ltr"]),:where([data-sonner-toaster][dir="ltr"]){--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}:where(html[dir="rtl"]),:where([data-sonner-toaster][dir="rtl"]){--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}:where([data-sonner-toaster]){position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999;transition:transform .4s ease}:where([data-sonner-toaster][data-lifted="true"]){transform:translateY(-10px)}@media (hover: none) and (pointer: coarse){:where([data-sonner-toaster][data-lifted="true"]){transform:none}}:where([data-sonner-toaster][data-x-position="right"]){right:var(--offset-right)}:where([data-sonner-toaster][data-x-position="left"]){left:var(--offset-left)}:where([data-sonner-toaster][data-x-position="center"]){left:50%;transform:translate(-50%)}:where([data-sonner-toaster][data-y-position="top"]){top:var(--offset-top)}:where([data-sonner-toaster][data-y-position="bottom"]){bottom:var(--offset-bottom)}:where([data-sonner-toast]){--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}:where([data-sonner-toast][data-styled="true"]){padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}:where([data-sonner-toast]:focus-visible){box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast][data-y-position="top"]){top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}:where([data-sonner-toast][data-y-position="bottom"]){bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}:where([data-sonner-toast]) :where([data-description]){font-weight:400;line-height:1.4;color:inherit}:where([data-sonner-toast]) :where([data-title]){font-weight:500;line-height:1.5;color:inherit}:where([data-sonner-toast]) :where([data-icon]){display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}:where([data-sonner-toast][data-promise="true"]) :where([data-icon])>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}:where([data-sonner-toast]) :where([data-icon])>*{flex-shrink:0}:where([data-sonner-toast]) :where([data-icon]) svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}:where([data-sonner-toast]) :where([data-content]){display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}:where([data-sonner-toast]) :where([data-button]):focus-visible{box-shadow:0 0 0 2px #0006}:where([data-sonner-toast]) :where([data-button]):first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}:where([data-sonner-toast]) :where([data-cancel]){color:var(--normal-text);background:rgba(0,0,0,.08)}:where([data-sonner-toast][data-theme="dark"]) :where([data-cancel]){background:rgba(255,255,255,.3)}:where([data-sonner-toast]) :where([data-close-button]){position:absolute;
440left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast] [data-close-button]{background:var(--gray1)}:where([data-sonner-toast]) :where([data-close-button]):focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast]) :where([data-disabled="true"]){cursor:not-allowed}:where([data-sonner-toast]):hover :where([data-close-button]):hover{background:var(--gray2);border-color:var(--gray5)}:where([data-sonner-toast][data-swiping="true"]):before{content:"";position:absolute;left:-50%;right:-50%;height:100%;z-index:-1}:where([data-sonner-toast][data-y-position="top"][data-swiping="true"]):before{bottom:50%;transform:scaleY(3) translateY(50%)}:where([data-sonner-toast][data-y-position="bottom"][data-swiping="true"]):before{top:50%;transform:scaleY(3) translateY(-50%)}:where([data-sonner-toast][data-swiping="false"][data-removed="true"]):before{content:"";position:absolute;inset:0;transform:scaleY(2)}:where([data-sonner-toast]):after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}:where([data-sonner-toast][data-mounted="true"]){--y: translateY(0);opacity:1}:where([data-sonner-toast][data-expanded="false"][data-front="false"]){--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}:where([data-sonner-toast])>*{transition:opacity .4s}:where([data-sonner-toast][data-expanded="false"][data-front="false"][data-styled="true"])>*{opacity:0}
440:where([data-sonner-toast][data-visible="false"]){opacity:0;pointer-events:none}:where([data-sonner-toast][data-mounted="true"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}:where([data-sonner-toast][data-removed="true"][data-front="true"][data-swipe-out="false"]){--y: translateY(calc(var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="false"]){--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}:where([data-sonner-toast][data-removed="true"][data-front="false"]):before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y, 0px)) translate(var(--swipe-amount-x, 0px));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 91%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 91%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 91%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg: #000;--normal-bg-hover: hsl(0, 0%, 12%);--normal-border: hsl(0, 0%, 20%);--normal-border-hover: hsl(0, 0%, 25%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 100%, 12%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 12%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);
440--error-text: hsl(358, 100%, 81%)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}
441`);function Wc(e){return e.label!==void 0}var A5=3,_5="32px",C5="16px",sb=4e3,E5=356,T5=14,P5=20,I5=200;function ys(...e){return e.filter(Boolean).join(" ")}function R5(e){let[t,s]=e.split("-"),r=[];return t&&r.push(t),s&&r.push(s),r}var O5=e=>{var t,s,r,i,a,o,l,c,d,u,h;let{invert:m,toast:p,unstyled:x,interacting:y,setHeights:b,visibleToasts:f,heights:g,index:v,toasts:j,expanded:k,removeToast:N,defaultRichColors:A,closeButton:E,style:R,cancelButtonStyle:I,actionButtonStyle:B,className:_="",descriptionClassName:$="",duration:M,position:Q,gap:G,loadingIcon:se,expandByDefault:S,classNames:C,icons:D,closeButtonAriaLabel:H="Close toast",pauseWhenPageIsHidden:Z}=e,[le,de]=T.useState(null),[ue,Ie]=T.useState(null),[xe,hr]=T.useState(!1),[ms,Fn]=T.useState(!1),[Lr,Pi]=T.useState(!1),[$r,gc]=T.useState(!1),[$h,xc]=T.useState(!1),[Fh,go]=T.useState(0),[Ii,jy]=T.useState(0),xo=T.useRef(p.duration||M||sb),ky=T.useRef(null),Bn=T.useRef(null),$_=v===0,F_=v+1<=f,Qt=p.type,Ri=p.dism
441issible!==!1,B_=p.className||"",U_=p.descriptionClassName||"",yc=T.useMemo(()=>g.findIndex(ae=>ae.toastId===p.id)||0,[g,p.id]),W_=T.useMemo(()=>{var ae;return(ae=p.closeButton)!=null?ae:E},[p.closeButton,E]),Ny=T.useMemo(()=>p.duration||M||sb,[p.duration,M]),Bh=T.useRef(0),Oi=T.useRef(0),Sy=T.useRef(0),Mi=T.useRef(null),[V_,z_]=Q.split("-"),Ay=T.useMemo(()=>g.reduce((ae,we,Te)=>Te>=yc?ae:ae+we.height,0),[g,yc]),_y=y5(),H_=p.invert||m,Uh=Qt==="loading";Oi.current=T.useMemo(()=>yc*G+Ay,[yc,Ay]),T.useEffect(()=>{xo.current=Ny},[Ny]),T.useEffect(()=>{hr(!0)},[]),T.useEffect(()=>{let ae=Bn.current;if(ae){let we=ae.getBoundingClientRect().height;return jy(we),b(Te=>[{toastId:p.id,height:we,position:p.position},...Te]),()=>b(Te=>Te.filter(ps=>ps.toastId!==p.id))}},[b,p.id]),T.useLayoutEffect(()=>{if(!xe)return;let ae=Bn.current,we=ae.style.height;ae.style.height="auto";let Te=ae.getBoundingClientRect().height;ae.style.height=we,jy(Te),b(ps=>ps.find(fs=>fs.toastId===p.id)?ps.map(fs=>fs.toastId===p.id?{...fs,height:Te}:fs):[{toastId:p.id,height:Te,position:p.position},...ps])},[xe,p.title,p.description,b,p.id]);let Fr=T.useCallback(()=>{Fn(!0),go(Oi.current),b(ae=>ae.filter(we=>we.toastId!==p.id)),setTimeout(()=>{N(p)},I5)},[p,N,b,Oi]);T.useEffect(()=>{if(p.promise&&Qt==="loading"||p.duration===1/0||p.type==="loading")return;let ae;return k||y||Z&&_y?(()=>{if(Sy.current<Bh.current){let we=new Date().getTime()-Bh.current;xo.current=xo.current-we}Sy.current=new Date().getTime()})():xo.current!==1/0&&(Bh.current=new Date().getTime(),ae=setTimeout(()=>{var we;(we=p.onAutoClose)==null||we.call(p,p),Fr()},xo.current)),()=>clearTimeout(ae)},[k,y,p,Qt,Z,_y,Fr]),T.useEffect(()=>{p.delete&&Fr()},[Fr,p.delete]);function q_(){var ae,we,Te;return D!=null&&D.loading?T.createElement("div",{className:ys(C==null?void 0:C.loader,(ae=p==null?void 0:p.classNames)==null?void 0:ae.loader,"sonner-loader"),"data-visible":Qt==="loading"},D.loading):se?T.createElement("div",{className:ys(C==null?void 0:C.loader,(we=p==null?void 0:p.classNames)==null?void 0:we.loader,"sonner-loader"),"data-visible":Qt==="loading"},se):T.createElement(h5,{className:ys(C==null?void 0:C.loader,(Te=p==null?void 0:p.classNames)==null?void 0:Te.loader),visible:Qt==="loading"})}return T.createElement("li",{tabIndex:0,ref:Bn,className:ys(_,B_,C==null?void 0:C.toast,(t=p==null?void 0:p.classNames)==null?void 0:t.toast,C==null?void 0:C.default,C==null?void 0:C[Qt],(s=p==null?void 0:p.classNames)==null?void 0:s[Qt]),"data-sonner-toast":"","data-rich-colors":(r=p.richColors)!=null?r:A,"data-styled":!(p.jsx||p.unstyled||x),"data-mounted":xe,"data-promise":!!p.promise,"data-swiped":$h,"data-removed":ms,"data-visible":F_,"data-y-position":V_,"data-x-position":z_,"data-index":v,"data-front":$_,"data-swiping":Lr,"data-dismissible":Ri,"data-type":Qt,"data-invert":H_,"data-swipe-out":$r,"data-swipe-direction":ue,"data-expanded":!!(k||S&&xe),style:{"--index":v,"--toasts-before":v,"--z-index":j.length-v,"--offset":`${ms?Fh:Oi.current}px`,"--initial-height":S?"auto":`${Ii}px`,...R,...p.style},onDragEnd:()=>{Pi(!1),de(null),Mi.current=null},onPointerDown:ae=>{Uh||!Ri||(ky.current=new Date,go(Oi.current),ae.target.setPointerCapture(ae.pointerId),ae.target.tagName!=="BUTTON"&&(Pi(!0),Mi.current={x:ae.clientX,y:ae.clientY}))},onPointerUp:()=>{var ae,we,Te,ps;if($r||!Ri)return;Mi.current=null;let fs=Number(((ae=Bn.current)==null?void 0:ae.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),Br=Number(((we=Bn.current)==null?void 0:we.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),Un=new Date().getTime()-((Te=ky.current)==null?void 0:Te.getTime()),gs=le==="x"?fs:Br,Ur=Math.abs(gs)/Un;if(Math.abs(gs)>=P5||Ur>.11){go(Oi.current),(ps=p.onDismiss)==null||ps.call(p,p),Ie(le==="x"?fs>0?"right":"left":Br>0?"down":"up"),Fr(),gc(!0),xc(!1);return}Pi(!1),de(null)},onPointerMove:ae=>{var we,Te,ps,fs;if(!Mi.current||!Ri||((we=window.getSelection())==null?void 0:we.toString().length)>0)return;let Br=ae.clientY-Mi.current.y,Un=ae.clientX-Mi.current.x,gs=(Te=e.swipeDirections)!=null?Te:R5(Q);!le&&(Math.abs(Un)>1||Math.abs(Br)>1)&&de(Math.abs(Un)>Math.abs(Br)?"x":"y");let Ur={x:0,y:0};le==="y"?(gs.includes("top")||gs.includes("bottom"))&&(gs.includes("top")&&Br<0||gs.includes("bottom")&&Br>0)&&(Ur.y=Br):le==="x"&&(gs.includes("left")||gs.includes("right"))&&(gs.includes("left")&&Un<0||gs.includes("right")&&Un>0)&&(Ur.x=Un),(Math.abs(Ur.x)>0||Math.abs(Ur.y)>0)&&xc(!0),(ps=Bn.current)==null||ps.style.setProperty("--swipe-amount-x",`${Ur.x}px`),(fs=Bn.current)==null||fs.style.setProperty("--swipe-amount-y",`${Ur.y}px`)}},W_&&!p.jsx?T.createElement("button",{"aria-label":H,"data-disabled":Uh,"data-close-button":!0,onClick:Uh||!Ri?()=>{}:()=>{var ae;
vendor: 4,614 bytes, line 441
441Fr(),(ae=p.onDismiss)==null||ae.call(p,p)},className:ys(C==null?void 0:C.closeButton,(i=p==null?void 0:p.classNames)==null?void 0:i.closeButton)},(a=D==null?void 0:D.close)!=null?a:x5):null,p.jsx||w.isValidElement(p.title)?p.jsx?p.jsx:typeof p.title=="function"?p.title():p.title:T.createElement(T.Fragment,null,Qt||p.icon||p.promise?T.createElement("div",{"data-icon":"",className:ys(C==null?void 0:C.icon,(o=p==null?void 0:p.classNames)==null?void 0:o.icon)},p.promise||p.type==="loading"&&!p.icon?p.icon||q_():null,p.type!=="loading"?p.icon||(D==null?void 0:D[Qt])||d5(Qt):null):null,T.createElement("div",{"data-content":"",className:ys(C==null?void 0:C.content,(l=p==null?void 0:p.classNames)==null?void 0:l.content)},T.createElement("div",{"data-title":"",className:ys(C==null?void 0:C.title,(c=p==null?void 0:p.classNames)==null?void 0:c.title)},typeof p.title=="function"?p.title():p.title),p.description?T.createElement("div",{"data-description":"",className:ys($,U_,C==null?void 0:C.description,(d=p==null?void 0:p.classNames)==null?void 0:d.description)},typeof p.description=="function"?p.description():p.description):null),w.isValidElement(p.cancel)?p.cancel:p.cancel&&Wc(p.cancel)?T.createElement("button",{"data-button":!0,"data-cancel":!0,style:p.cancelButtonStyle||I,onClick:ae=>{var we,Te;Wc(p.cancel)&&Ri&&((Te=(we=p.cancel).onClick)==null||Te.call(we,ae),Fr())},className:ys(C==null?void 0:C.cancelButton,(u=p==null?void 0:p.classNames)==null?void 0:u.cancelButton)},p.cancel.label):null,w.isValidElement(p.action)?p.action:p.action&&Wc(p.action)?T.createElement("button",{"data-button":!0,"data-action":!0,style:p.actionButtonStyle||B,onClick:ae=>{var we,Te;Wc(p.action)&&((Te=(we=p.action).onClick)==null||Te.call(we,ae),!ae.defaultPrevented&&Fr())},className:ys(C==null?void 0:C.actionButton,(h=p==null?void 0:p.classNames)==null?void 0:h.actionButton)},p.action.label):null))};function rb(){if(typeof window>"u"||typeof document>"u")return"ltr";let e=document.documentElement.getAttribute("dir");return e==="auto"||!e?window.getComputedStyle(document.documentElement).direction:e}function M5(e,t){let s={};return[e,t].forEach((r,i)=>{let a=i===1,o=a?"--mobile-offset":"--offset",l=a?C5:_5;function c(d){["top","right","bottom","left"].forEach(u=>{s[`${o}-${u}`]=typeof d=="number"?`${d}px`:d})}typeof r=="number"||typeof r=="string"?c(r):typeof r=="object"?["top","right","bottom","left"].forEach(d=>{r[d]===void 0?s[`${o}-${d}`]=l:s[`${o}-${d}`]=typeof r[d]=="number"?`${r[d]}px`:r[d]}):c(l)}),s}var D5=w.forwardRef(function(e,t){let{invert:s,position:r="bottom-right",hotkey:i=["altKey","KeyT"],expand:a,closeButton:o,className:l,offset:c,mobileOffset:d,theme:u="light",richColors:h,duration:m,style:p,visibleToasts:x=A5,toastOptions:y,dir:b=rb(),gap:f=T5,loadingIcon:g,icons:v,containerAriaLabel:j="Notifications",pauseWhenPageIsHidden:k}=e,[N,A]=T.useState([]),E=T.useMemo(()=>Array.from(new Set([r].concat(N.filter(Z=>Z.position).map(Z=>Z.position)))),[N,r]),[R,I]=T.useState([]),[B,_]=T.useState(!1),[$,M]=T.useState(!1),[Q,G]=T.useState(u!=="system"?u:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),se=T.useRef(null),S=i.join("+").replace(/Key/g,"").replace(/Digit/g,""),C=T.useRef(null),D=T.useRef(!1),H=T.useCallback(Z=>{A(le=>{var de;return(de=le.find(ue=>ue.id===Z.id))!=null&&de.delete||Mt.dismiss(Z.id),le.filter(({id:ue})=>ue!==Z.id)})},[]);return T.useEffect(()=>Mt.subscribe(Z=>{if(Z.dismiss){A(le=>le.map(de=>de.id===Z.id?{...de,delete:!0}:de));return}setTimeout(()=>{Dk.flushSync(()=>{A(le=>{let de=le.findIndex(ue=>ue.id===Z.id);return de!==-1?[...le.slice(0,de),{...le[de],...Z},...le.slice(de+1)]:[Z,...le]})})})}),[]),T.useEffect(()=>{if(u!=="system"){G(u);return}if(u==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?G("dark"):G("light")),typeof window>"u")return;let Z=window.matchMedia("(prefers-color-scheme: dark)");try{Z.addEventListener("change",({matches:le})=>{G(le?"dark":"light")})}catch{Z.addListener(({matches:de})=>{try{G(de?"dark":"light")}catch(ue){console.error(ue)}})}},[u]),T.useEffect(()=>{N.length<=1&&_(!1)},[N]),T.useEffect(()=>{let Z=le=>{var de,ue;i.every(Ie=>le[Ie]||le.code===Ie)&&(_(!0),(de=se.current)==null||de.focus()),le.code==="Escape"&&(document.activeElement===se.current||(ue=se.current)!=null&&ue.contains(document.activeElement))&&_(!1)};return document.addEventListener("keydown",Z),()=>document.removeEventListener("keydown",Z)},[i]),T.useEffect(()=>{if(se.current)return()=>{C.current&&(C.current.focus({preventScroll:!0}
vendor: 4,558 bytes, line 441
441),C.current=null,D.current=!1)}},[se.current]),T.createElement("section",{ref:t,"aria-label":`${j} ${S}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},E.map((Z,le)=>{var de;let[ue,Ie]=Z.split("-");return N.length?T.createElement("ol",{key:Z,dir:b==="auto"?rb():b,tabIndex:-1,ref:se,className:l,"data-sonner-toaster":!0,"data-theme":Q,"data-y-position":ue,"data-lifted":B&&N.length>1&&!a,"data-x-position":Ie,style:{"--front-toast-height":`${((de=R[0])==null?void 0:de.height)||0}px`,"--width":`${E5}px`,"--gap":`${f}px`,...p,...M5(c,d)},onBlur:xe=>{D.current&&!xe.currentTarget.contains(xe.relatedTarget)&&(D.current=!1,C.current&&(C.current.focus({preventScroll:!0}),C.current=null))},onFocus:xe=>{xe.target instanceof HTMLElement&&xe.target.dataset.dismissible==="false"||D.current||(D.current=!0,C.current=xe.relatedTarget)},onMouseEnter:()=>_(!0),onMouseMove:()=>_(!0),onMouseLeave:()=>{$||_(!1)},onDragEnd:()=>_(!1),onPointerDown:xe=>{xe.target instanceof HTMLElement&&xe.target.dataset.dismissible==="false"||M(!0)},onPointerUp:()=>M(!1)},N.filter(xe=>!xe.position&&le===0||xe.position===Z).map((xe,hr)=>{var ms,Fn;return T.createElement(O5,{key:xe.id,icons:v,index:hr,toast:xe,defaultRichColors:h,duration:(ms=y==null?void 0:y.duration)!=null?ms:m,className:y==null?void 0:y.className,descriptionClassName:y==null?void 0:y.descriptionClassName,invert:s,visibleToasts:x,closeButton:(Fn=y==null?void 0:y.closeButton)!=null?Fn:o,interacting:$,position:Z,style:y==null?void 0:y.style,unstyled:y==null?void 0:y.unstyled,classNames:y==null?void 0:y.classNames,cancelButtonStyle:y==null?void 0:y.cancelButtonStyle,actionButtonStyle:y==null?void 0:y.actionButtonStyle,removeToast:H,toasts:N.filter(Lr=>Lr.position==xe.position),heights:R.filter(Lr=>Lr.position==xe.position),setHeights:I,expandByDefault:a,gap:f,loadingIcon:g,expanded:B,pauseWhenPageIsHidden:k,swipeDirections:e.swipeDirections})})):null}))});const L5=({...e})=>{const{theme:t="system"}=c5();return n.jsx(D5,{theme:t,className:"toaster group",toastOptions:{classNames:{toast:"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"}},...e})},$5=["top","right","bottom","left"],Cn=Math.min,zt=Math.max,gu=Math.round,Vc=Math.floor,sr=e=>({x:e,y:e}),F5={left:"right",right:"left",bottom:"top",top:"bottom"},B5={start:"end",end:"start"};function mf(e,t,s){return zt(e,Cn(t,s))}function Pr(e,t){return typeof e=="function"?e(t):e}function Ir(e){return e.split("-")[0]}function io(e){return e.split("-")[1]}function _x(e){return e==="x"?"y":"x"}function Cx(e){return e==="y"?"height":"width"}const U5=new Set(["top","bottom"]);function Qs(e){return U5.has(Ir(e))?"y":"x"}function Ex(e){return _x(Qs(e))}function W5(e,t,s){s===void 0&&(s=!1);const r=io(e),i=Ex(e),a=Cx(i);let o=i==="x"?r===(s?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[a]>t.floating[a]&&(o=xu(o)),[o,xu(o)]}function V5(e){const t=xu(e);return[pf(e),t,pf(t)]}function pf(e){return e.replace(/start|end/g,t=>B5[t])}const nb=["left","right"],ib=["right","left"],z5=["top","bottom"],H5=["bottom","top"];function q5(e,t,s){switch(e){case"top":case"bottom":return s?t?ib:nb:t?nb:ib;case"left":case"right":return t?z5:H5;default:return[]}}function G5(e,t,s,r){const i=io(e);let a=q5(Ir(e),s==="start",r);return i&&(a=a.map(o=>o+"-"+i),t&&(a=a.concat(a.map(pf)))),a}function xu(e){return e.replace(/left|right|bottom|top/g,t=>F5[t])}function K5(e){return{top:0,right:0,bottom:0,left:0,...e}}function VN(e){return typeof e!="number"?K5(e):{top:e,right:e,bottom:e,left:e}}function yu(e){const{x:t,y:s,width:r,height:i}=e;return{width:r,height:i,top:s,left:t,right:t+r,bottom:s+i,x:t,y:s}}function ab(e,t,s){let{reference:r,floating:i}=e;const a=Qs(t),o=Ex(t),l=Cx(o),c=Ir(t),d=a==="y",u=r.x+r.width/2-i.width/2,h=r.y+r.height/2-i.height/2,m=r[l]/2-i[l]/2;let p;switch(c){case"top":p={x:u,y:r.y-i.height};break;case"bottom":p={x:u,y:r.y+r.height};break;case"right":p={x:r.x+r.width,y:h};break;case"left":p={x:r.x-i.width,y:h};break;default:p={x:r.x,y:r.y}}switch(io(t)){case"start":p[o]-=m*(s&&d?-1:1);break;case"end":p[o]+=m*(s&&d?-1:1);break}return p}const Y5=async(e,t,s)=>{const{placement:r="bottom",strategy:i="absolute",middleware:a=[],platform:o}
vendor: 8,367 bytes, line 441
441=s,l=a.filter(Boolean),c=await(o.isRTL==null?void 0:o.isRTL(t));let d=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:h}=ab(d,r,c),m=r,p={},x=0;for(let y=0;y<l.length;y++){const{name:b,fn:f}=l[y],{x:g,y:v,data:j,reset:k}=await f({x:u,y:h,initialPlacement:r,placement:m,strategy:i,middlewareData:p,rects:d,platform:o,elements:{reference:e,floating:t}});u=g??u,h=v??h,p={...p,[b]:{...p[b],...j}},k&&x<=50&&(x++,typeof k=="object"&&(k.placement&&(m=k.placement),k.rects&&(d=k.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):k.rects),{x:u,y:h}=ab(d,m,c)),y=-1)}return{x:u,y:h,placement:m,strategy:i,middlewareData:p}};async function Cl(e,t){var s;t===void 0&&(t={});const{x:r,y:i,platform:a,rects:o,elements:l,strategy:c}=e,{boundary:d="clippingAncestors",rootBoundary:u="viewport",elementContext:h="floating",altBoundary:m=!1,padding:p=0}=Pr(t,e),x=VN(p),b=l[m?h==="floating"?"reference":"floating":h],f=yu(await a.getClippingRect({element:(s=await(a.isElement==null?void 0:a.isElement(b)))==null||s?b:b.contextElement||await(a.getDocumentElement==null?void 0:a.getDocumentElement(l.floating)),boundary:d,rootBoundary:u,strategy:c})),g=h==="floating"?{x:r,y:i,width:o.floating.width,height:o.floating.height}:o.reference,v=await(a.getOffsetParent==null?void 0:a.getOffsetParent(l.floating)),j=await(a.isElement==null?void 0:a.isElement(v))?await(a.getScale==null?void 0:a.getScale(v))||{x:1,y:1}:{x:1,y:1},k=yu(a.convertOffsetParentRelativeRectToViewportRelativeRect?await a.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:g,offsetParent:v,strategy:c}):g);return{top:(f.top-k.top+x.top)/j.y,bottom:(k.bottom-f.bottom+x.bottom)/j.y,left:(f.left-k.left+x.left)/j.x,right:(k.right-f.right+x.right)/j.x}}const J5=e=>({name:"arrow",options:e,async fn(t){const{x:s,y:r,placement:i,rects:a,platform:o,elements:l,middlewareData:c}=t,{element:d,padding:u=0}=Pr(e,t)||{};if(d==null)return{};const h=VN(u),m={x:s,y:r},p=Ex(i),x=Cx(p),y=await o.getDimensions(d),b=p==="y",f=b?"top":"left",g=b?"bottom":"right",v=b?"clientHeight":"clientWidth",j=a.reference[x]+a.reference[p]-m[p]-a.floating[x],k=m[p]-a.reference[p],N=await(o.getOffsetParent==null?void 0:o.getOffsetParent(d));let A=N?N[v]:0;(!A||!await(o.isElement==null?void 0:o.isElement(N)))&&(A=l.floating[v]||a.floating[x]);const E=j/2-k/2,R=A/2-y[x]/2-1,I=Cn(h[f],R),B=Cn(h[g],R),_=I,$=A-y[x]-B,M=A/2-y[x]/2+E,Q=mf(_,M,$),G=!c.arrow&&io(i)!=null&&M!==Q&&a.reference[x]/2-(M<_?I:B)-y[x]/2<0,se=G?M<_?M-_:M-$:0;return{[p]:m[p]+se,data:{[p]:Q,centerOffset:M-Q-se,...G&&{alignmentOffset:se}},reset:G}}}),Z5=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var s,r;const{placement:i,middlewareData:a,rects:o,initialPlacement:l,platform:c,elements:d}=t,{mainAxis:u=!0,crossAxis:h=!0,fallbackPlacements:m,fallbackStrategy:p="bestFit",fallbackAxisSideDirection:x="none",flipAlignment:y=!0,...b}=Pr(e,t);if((s=a.arrow)!=null&&s.alignmentOffset)return{};const f=Ir(i),g=Qs(l),v=Ir(l)===l,j=await(c.isRTL==null?void 0:c.isRTL(d.floating)),k=m||(v||!y?[xu(l)]:V5(l)),N=x!=="none";!m&&N&&k.push(...G5(l,y,x,j));const A=[l,...k],E=await Cl(t,b),R=[];let I=((r=a.flip)==null?void 0:r.overflows)||[];if(u&&R.push(E[f]),h){const M=W5(i,o,j);R.push(E[M[0]],E[M[1]])}if(I=[...I,{placement:i,overflows:R}],!R.every(M=>M<=0)){var B,_;const M=(((B=a.flip)==null?void 0:B.index)||0)+1,Q=A[M];if(Q&&(!(h==="alignment"?g!==Qs(Q):!1)||I.every(S=>S.overflows[0]>0&&Qs(S.placement)===g)))return{data:{index:M,overflows:I},reset:{placement:Q}};let G=(_=I.filter(se=>se.overflows[0]<=0).sort((se,S)=>se.overflows[1]-S.overflows[1])[0])==null?void 0:_.placement;if(!G)switch(p){case"bestFit":{var $;const se=($=I.filter(S=>{if(N){const C=Qs(S.placement);return C===g||C==="y"}return!0}).map(S=>[S.placement,S.overflows.filter(C=>C>0).reduce((C,D)=>C+D,0)]).sort((S,C)=>S[1]-C[1])[0])==null?void 0:$[0];se&&(G=se);break}case"initialPlacement":G=l;break}if(i!==G)return{reset:{placement:G}}}return{}}}};function ob(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function lb(e){return $5.some(t=>e[t]>=0)}const X5=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:s}=t,{strategy:r="referenceHidden",...i}=Pr(e,t);switch(r){case"referenceHidden":{const a=await Cl(t,{...i,elementContext:"reference"}),o=ob(a,s.reference);return{data:{referenceHiddenOffsets:o,referenceHidden:lb(o)}}}case"escaped":{const a=await Cl(t,{...i,altBoundary:!0}),o=ob(a,s.floating);return{data:{escapedOffsets:o,escaped:lb(o)}}}default:return{}}}}},zN=new Set(["left","top"]);async function Q5(e,t){const{placement:s,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=Ir(s),l=io(s),c=Qs(s)==="y",d=zN.has(o)?-1:1,u=a&&c?-1:1,h=Pr(t,e);let{mainAxis:m,crossAxis:p,alignmentAxis:x}=typeof h=="number"?{mainAxis:h,crossAxis:0,alignmentAxis:null}:{mainAxis:h.mainAxis||0,crossAxis:h.crossAxis||0,alignmentAxis:h.alignmentAxis};return l&&typeof x=="number"&&(p=l==="end"?x*-1:x),c?{x:p*u,y:m*d}:{x:m*d,y:p*u}}const e3=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var s,r;const{x:i,y:a,placement:o,middlewareData:l}=t,c=await Q5(t,e);return o===((s=l.offset)==null?void 0:s.placement)&&(r=l.arrow)!=null&&r.alignmentOffset?{}:{x:i+c.x,y:a+c.y,data:{...c,placement:o}}}}},t3=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:s,y:r,placement:i}=t,{mainAxis:a=!0,crossAxis:o=!1,limiter:l={fn:b=>{let{x:f,y:g}=b;return{x:f,y:g}}},...c}=Pr(e,t),d={x:s,y:r},u=await Cl(t,c),h=Qs(Ir(i)),m=_x(h);let p=d[m],x=d[h];if(a){const b=m==="y"?"top":"left",f=m==="y"?"bottom":"right",g=p+u[b],v=p-u[f];p=mf(g,p,v)}if(o){const b=h==="y"?"top":"left",f=h==="y"?"bottom":"right",g=x+u[b],v=x-u[f];x=mf(g,x,v)}const y=l.fn({...t,[m]:p,[h]:x});return{...y,data:{x:y.x-s,y:y.y-r,enabled:{[m]:a,[h]:o}}}}}},s3=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:s,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:l=0,mainAxis:c=!0,crossAxis:d=!0}=Pr(e,t),u={x:s,y:r},h=Qs(i),m=_x(h);let p=u[m],x=u[h];const y=Pr(l,t),b=typeof y=="number"?{mainAxis:y,crossAxis:0}:{mainAxis:0,crossAxis:0,...y};if(c){const v=m==="y"?"height":"width",j=a.reference[m]-a.floating[v]+b.mainAxis,k=a.reference[m]+a.reference[v]-b.mainAxis;p<j?p=j:p>k&&(p=k)}if(d){var f,g;const v=m==="y"?"width":"height",j=zN.has(Ir(i)),k=a.reference[h]-a.floating[v]+(j&&((f=o.offset)==null?void 0:f[h])||0)+(j?0:b.crossAxis),N=a.reference[h]+a.reference[v]+(j?0:((g=o.offset)==null?void 0:g[h])||0)-(j?b.crossAxis:0);x<k?x=k:x>N&&(x=N)}return{[m]:p,[h]:x}}}},r3=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var s,r;const{placement:i,rects:a,platform:o,elements:l}=t,{apply:c=()=>{},...d}=Pr(e,t),u=await Cl(t,d),h=Ir(i),m=io(i),p=Qs(i)==="y",{width:x,height:y}=a.floating;let b,f;h==="top"||h==="bottom"?(b=h,f=m===(await(o.isRTL==null?void 0:o.isRTL(l.floating))?"start":"end")?"left":"right"):(f=h,b=m==="end"?"top":"bottom");const g=y-u.top-u.bottom,v=x-u.left-u.right,j=Cn(y-u[b],g),k=Cn(x-u[f],v),N=!t.middlewareData.shift;let A=j,E=k;if((s=t.middlewareData.shift)!=null&&s.enabled.x&&(E=v),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(A=g),N&&!m){const I=zt(u.left,0),B=zt(u.right,0),_=zt(u.top,0),$=zt(u.bottom,0);p?E=x-2*(I!==0||B!==0?I+B:zt(u.left,u.right)):A=y-2*(_!==0||$!==0?_+$:zt(u.top,u.bottom))}await c({...t,availableWidth:E,availableHeight:A});const R=await o.getDimensions(l.floating);return x!==R.width||y!==R.height?{reset:{rects:!0}}:{}}}};function fh(){return typeof window<"u"}function ao(e){return HN(e)?(e.nodeName||"").toLowerCase():"#document"}function Kt(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function dr(e){var t;return(t=(HN(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function HN(e){return fh()?e instanceof Node||e instanceof Kt(e).Node:!1}function $s(e){return fh()?e instanceof Element||e instanceof Kt(e).Element:!1}function or(e){return fh()?e instanceof HTMLElement||e instanceof Kt(e).HTMLElement:!1}function cb(e){return!fh()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Kt(e).ShadowRoot}const n3=new Set(["inline","contents"]);function ic(e){const{overflow:t,overflowX:s,overflowY:r,display:i}=Fs(e);
vendor: 4,121 bytes, line 441
441return/auto|scroll|overlay|hidden|clip/.test(t+r+s)&&!n3.has(i)}const i3=new Set(["table","td","th"]);function a3(e){return i3.has(ao(e))}const o3=[":popover-open",":modal"];function gh(e){return o3.some(t=>{try{return e.matches(t)}catch{return!1}})}const l3=["transform","translate","scale","rotate","perspective"],c3=["transform","translate","scale","rotate","perspective","filter"],d3=["paint","layout","strict","content"];function Tx(e){const t=Px(),s=$s(e)?Fs(e):e;return l3.some(r=>s[r]?s[r]!=="none":!1)||(s.containerType?s.containerType!=="normal":!1)||!t&&(s.backdropFilter?s.backdropFilter!=="none":!1)||!t&&(s.filter?s.filter!=="none":!1)||c3.some(r=>(s.willChange||"").includes(r))||d3.some(r=>(s.contain||"").includes(r))}function u3(e){let t=En(e);for(;or(t)&&!za(t);){if(Tx(t))return t;if(gh(t))return null;t=En(t)}return null}function Px(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const h3=new Set(["html","body","#document"]);function za(e){return h3.has(ao(e))}function Fs(e){return Kt(e).getComputedStyle(e)}function xh(e){return $s(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function En(e){if(ao(e)==="html")return e;const t=e.assignedSlot||e.parentNode||cb(e)&&e.host||dr(e);return cb(t)?t.host:t}function qN(e){const t=En(e);return za(t)?e.ownerDocument?e.ownerDocument.body:e.body:or(t)&&ic(t)?t:qN(t)}function El(e,t,s){var r;t===void 0&&(t=[]),s===void 0&&(s=!0);const i=qN(e),a=i===((r=e.ownerDocument)==null?void 0:r.body),o=Kt(i);if(a){const l=ff(o);return t.concat(o,o.visualViewport||[],ic(i)?i:[],l&&s?El(l):[])}return t.concat(i,El(i,[],s))}function ff(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function GN(e){const t=Fs(e);let s=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const i=or(e),a=i?e.offsetWidth:s,o=i?e.offsetHeight:r,l=gu(s)!==a||gu(r)!==o;return l&&(s=a,r=o),{width:s,height:r,$:l}}function Ix(e){return $s(e)?e:e.contextElement}function _a(e){const t=Ix(e);if(!or(t))return sr(1);const s=t.getBoundingClientRect(),{width:r,height:i,$:a}=GN(t);let o=(a?gu(s.width):s.width)/r,l=(a?gu(s.height):s.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!l||!Number.isFinite(l))&&(l=1),{x:o,y:l}}const m3=sr(0);function KN(e){const t=Kt(e);return!Px()||!t.visualViewport?m3:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function p3(e,t,s){return t===void 0&&(t=!1),!s||t&&s!==Kt(e)?!1:t}function Ni(e,t,s,r){t===void 0&&(t=!1),s===void 0&&(s=!1);const i=e.getBoundingClientRect(),a=Ix(e);let o=sr(1);t&&(r?$s(r)&&(o=_a(r)):o=_a(e));const l=p3(a,s,r)?KN(a):sr(0);let c=(i.left+l.x)/o.x,d=(i.top+l.y)/o.y,u=i.width/o.x,h=i.height/o.y;if(a){const m=Kt(a),p=r&&$s(r)?Kt(r):r;let x=m,y=ff(x);for(;y&&r&&p!==x;){const b=_a(y),f=y.getBoundingClientRect(),g=Fs(y),v=f.left+(y.clientLeft+parseFloat(g.paddingLeft))*b.x,j=f.top+(y.clientTop+parseFloat(g.paddingTop))*b.y;c*=b.x,d*=b.y,u*=b.x,h*=b.y,c+=v,d+=j,x=Kt(y),y=ff(x)}}return yu({width:u,height:h,x:c,y:d})}function Rx(e,t){const s=xh(e).scrollLeft;return t?t.left+s:Ni(dr(e)).left+s}function YN(e,t,s){s===void 0&&(s=!1);const r=e.getBoundingClientRect(),i=r.left+t.scrollLeft-(s?0:Rx(e,r)),a=r.top+t.scrollTop;return{x:i,y:a}}function f3(e){let{elements:t,rect:s,offsetParent:r,strategy:i}=e;const a=i==="fixed",o=dr(r),l=t?gh(t.floating):!1;if(r===o||l&&a)return s;let c={scrollLeft:0,scrollTop:0},d=sr(1);const u=sr(0),h=or(r);if((h||!h&&!a)&&((ao(r)!=="body"||ic(o))&&(c=xh(r)),or(r))){const p=Ni(r);d=_a(r),u.x=p.x+r.clientLeft,u.y=p.y+r.clientTop}const m=o&&!h&&!a?YN(o,c,!0):sr(0);return{width:s.width*d.x,height:s.height*d.y,x:s.x*d.x-c.scrollLeft*d.x+u.x+m.x,y:s.y*d.y-c.scrollTop*d.y+u.y+m.y}}function g3(e){return Array.from(e.getClientRects())}function x3(e){const t=dr(e),s=xh(e),r=e.ownerDocument.body,i=zt(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=zt(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight);let o=-s.scrollLeft+Rx(e);const l=-s.scrollTop;return Fs(r).direction==="rtl"&&(o+=zt(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:l}}
vendor: 11,226 bytes, line 441
441function y3(e,t){const s=Kt(e),r=dr(e),i=s.visualViewport;let a=r.clientWidth,o=r.clientHeight,l=0,c=0;if(i){a=i.width,o=i.height;const d=Px();(!d||d&&t==="fixed")&&(l=i.offsetLeft,c=i.offsetTop)}return{width:a,height:o,x:l,y:c}}const v3=new Set(["absolute","fixed"]);function b3(e,t){const s=Ni(e,!0,t==="fixed"),r=s.top+e.clientTop,i=s.left+e.clientLeft,a=or(e)?_a(e):sr(1),o=e.clientWidth*a.x,l=e.clientHeight*a.y,c=i*a.x,d=r*a.y;return{width:o,height:l,x:c,y:d}}function db(e,t,s){let r;if(t==="viewport")r=y3(e,s);else if(t==="document")r=x3(dr(e));else if($s(t))r=b3(t,s);else{const i=KN(e);r={x:t.x-i.x,y:t.y-i.y,width:t.width,height:t.height}}return yu(r)}function JN(e,t){const s=En(e);return s===t||!$s(s)||za(s)?!1:Fs(s).position==="fixed"||JN(s,t)}function w3(e,t){const s=t.get(e);if(s)return s;let r=El(e,[],!1).filter(l=>$s(l)&&ao(l)!=="body"),i=null;const a=Fs(e).position==="fixed";let o=a?En(e):e;for(;$s(o)&&!za(o);){const l=Fs(o),c=Tx(o);!c&&l.position==="fixed"&&(i=null),(a?!c&&!i:!c&&l.position==="static"&&!!i&&v3.has(i.position)||ic(o)&&!c&&JN(e,o))?r=r.filter(u=>u!==o):i=l,o=En(o)}return t.set(e,r),r}function j3(e){let{element:t,boundary:s,rootBoundary:r,strategy:i}=e;const o=[...s==="clippingAncestors"?gh(t)?[]:w3(t,this._c):[].concat(s),r],l=o[0],c=o.reduce((d,u)=>{const h=db(t,u,i);return d.top=zt(h.top,d.top),d.right=Cn(h.right,d.right),d.bottom=Cn(h.bottom,d.bottom),d.left=zt(h.left,d.left),d},db(t,l,i));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}}function k3(e){const{width:t,height:s}=GN(e);return{width:t,height:s}}function N3(e,t,s){const r=or(t),i=dr(t),a=s==="fixed",o=Ni(e,!0,a,t);let l={scrollLeft:0,scrollTop:0};const c=sr(0);function d(){c.x=Rx(i)}if(r||!r&&!a)if((ao(t)!=="body"||ic(i))&&(l=xh(t)),r){const p=Ni(t,!0,a,t);c.x=p.x+t.clientLeft,c.y=p.y+t.clientTop}else i&&d();a&&!r&&i&&d();const u=i&&!r&&!a?YN(i,l):sr(0),h=o.left+l.scrollLeft-c.x-u.x,m=o.top+l.scrollTop-c.y-u.y;return{x:h,y:m,width:o.width,height:o.height}}function Nm(e){return Fs(e).position==="static"}function ub(e,t){if(!or(e)||Fs(e).position==="fixed")return null;if(t)return t(e);let s=e.offsetParent;return dr(e)===s&&(s=s.ownerDocument.body),s}function ZN(e,t){const s=Kt(e);if(gh(e))return s;if(!or(e)){let i=En(e);for(;i&&!za(i);){if($s(i)&&!Nm(i))return i;i=En(i)}return s}let r=ub(e,t);for(;r&&a3(r)&&Nm(r);)r=ub(r,t);return r&&za(r)&&Nm(r)&&!Tx(r)?s:r||u3(e)||s}const S3=async function(e){const t=this.getOffsetParent||ZN,s=this.getDimensions,r=await s(e.floating);return{reference:N3(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function A3(e){return Fs(e).direction==="rtl"}const _3={convertOffsetParentRelativeRectToViewportRelativeRect:f3,getDocumentElement:dr,getClippingRect:j3,getOffsetParent:ZN,getElementRects:S3,getClientRects:g3,getDimensions:k3,getScale:_a,isElement:$s,isRTL:A3};function XN(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function C3(e,t){let s=null,r;const i=dr(e);function a(){var l;clearTimeout(r),(l=s)==null||l.disconnect(),s=null}function o(l,c){l===void 0&&(l=!1),c===void 0&&(c=1),a();const d=e.getBoundingClientRect(),{left:u,top:h,width:m,height:p}=d;if(l||t(),!m||!p)return;const x=Vc(h),y=Vc(i.clientWidth-(u+m)),b=Vc(i.clientHeight-(h+p)),f=Vc(u),v={rootMargin:-x+"px "+-y+"px "+-b+"px "+-f+"px",threshold:zt(0,Cn(1,c))||1};let j=!0;function k(N){const A=N[0].intersectionRatio;if(A!==c){if(!j)return o();A?o(!1,A):r=setTimeout(()=>{o(!1,1e-7)},1e3)}A===1&&!XN(d,e.getBoundingClientRect())&&o(),j=!1}try{s=new IntersectionObserver(k,{...v,root:i.ownerDocument})}catch{s=new IntersectionObserver(k,v)}s.observe(e)}return o(!0),a}function E3(e,t,s,r){r===void 0&&(r={});const{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver=="function",layoutShift:l=typeof IntersectionObserver=="function",animationFrame:c=!1}=r,d=Ix(e),u=i||a?[...d?El(d):[],...El(t)]:[];u.forEach(f=>{i&&f.addEventListener("scroll",s,{passive:!0}),a&&f.addEventListener("resize",s)});const h=d&&l?C3(d,s):null;let m=-1,p=null;o&&(p=new ResizeObserver(f=>{let[g]=f;g&&g.target===d&&p&&(p.unobserve(t),cancelAnimationFrame(m),m=requestAnimationFrame(()=>{var v;(v=p)==null||v.observe(t)})),s()}),d&&!c&&p.observe(d),p.observe(t));let x,y=c?Ni(e):null;c&&b();function b(){const f=Ni(e);y&&!XN(y,f)&&s(),y=f,x=requestAnimationFrame(b)}return s(),()=>{var f;u.forEach(g=>{i&&g.removeEventListener("scroll",s),a&&g.removeEventListener("resize",s)}),h==null||h(),(f=p)==null||f.disconnect(),p=null,c&&cancelAnimationFrame(x)}}const T3=e3,P3=t3,I3=Z5,R3=r3,O3=X5,hb=J5,M3=s3,D3=(e,t,s)=>{const r=new Map,i={platform:_3,...s},a={...i.platform,_c:r};return Y5(e,t,{...i,platform:a})};var L3=typeof document<"u",$3=function(){},Td=L3?w.useLayoutEffect:$3;function vu(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let s,r,i;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(s=e.length,s!==t.length)return!1;for(r=s;r--!==0;)if(!vu(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),s=i.length,s!==Object.keys(t).length)return!1;for(r=s;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=s;r--!==0;){const a=i[r];if(!(a==="_owner"&&e.$$typeof)&&!vu(e[a],t[a]))return!1}return!0}return e!==e&&t!==t}function QN(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function mb(e,t){const s=QN(e);return Math.round(t*s)/s}function Sm(e){const t=w.useRef(e);return Td(()=>{t.current=e}),t}function F3(e){e===void 0&&(e={});const{placement:t="bottom",strategy:s="absolute",middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:l=!0,whileElementsMounted:c,open:d}=e,[u,h]=w.useState({x:0,y:0,strategy:s,placement:t,middlewareData:{},isPositioned:!1}),[m,p]=w.useState(r);vu(m,r)||p(r);const[x,y]=w.useState(null),[b,f]=w.useState(null),g=w.useCallback(S=>{S!==N.current&&(N.current=S,y(S))},[]),v=w.useCallback(S=>{S!==A.current&&(A.current=S,f(S))},[]),j=a||x,k=o||b,N=w.useRef(null),A=w.useRef(null),E=w.useRef(u),R=c!=null,I=Sm(c),B=Sm(i),_=Sm(d),$=w.useCallback(()=>{if(!N.current||!A.current)return;const S={placement:t,strategy:s,middleware:m};B.current&&(S.platform=B.current),D3(N.current,A.current,S).then(C=>{const D={...C,isPositioned:_.current!==!1};M.current&&!vu(E.current,D)&&(E.current=D,sc.flushSync(()=>{h(D)}))})},[m,t,s,B,_]);Td(()=>{d===!1&&E.current.isPositioned&&(E.current.isPositioned=!1,h(S=>({...S,isPositioned:!1})))},[d]);const M=w.useRef(!1);Td(()=>(M.current=!0,()=>{M.current=!1}),[]),Td(()=>{if(j&&(N.current=j),k&&(A.current=k),j&&k){if(I.current)return I.current(j,k,$);$()}},[j,k,$,I,R]);const Q=w.useMemo(()=>({reference:N,floating:A,setReference:g,setFloating:v}),[g,v]),G=w.useMemo(()=>({reference:j,floating:k}),[j,k]),se=w.useMemo(()=>{const S={position:s,left:0,top:0};if(!G.floating)return S;const C=mb(G.floating,u.x),D=mb(G.floating,u.y);return l?{...S,transform:"translate("+C+"px, "+D+"px)",...QN(G.floating)>=1.5&&{willChange:"transform"}}:{position:s,left:C,top:D}},[s,l,G.floating,u.x,u.y]);return w.useMemo(()=>({...u,update:$,refs:Q,elements:G,floatingStyles:se}),[u,$,Q,G,se])}const B3=e=>{function t(s){return{}.hasOwnProperty.call(s,"current")}return{name:"arrow",options:e,fn(s){const{element:r,padding:i}=typeof e=="function"?e(s):e;return r&&t(r)?r.current!=null?hb({element:r.current,padding:i}).fn(s):{}:r?hb({element:r,padding:i}).fn(s):{}}}},U3=(e,t)=>({...T3(e),options:[e,t]}),W3=(e,t)=>({...P3(e),options:[e,t]}),V3=(e,t)=>({...M3(e),options:[e,t]}),z3=(e,t)=>({...I3(e),options:[e,t]}),H3=(e,t)=>({...R3(e),options:[e,t]}),q3=(e,t)=>({...O3(e),options:[e,t]}),G3=(e,t)=>({...B3(e),options:[e,t]});var K3="Arrow",e2=w.forwardRef((e,t)=>{const{children:s,width:r=10,height:i=5,...a}=e;return n.jsx(Rt.svg,{...a,ref:t,width:r,height:i,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?s:n.jsx("polygon",{points:"0,0 30,0 15,10"})})});e2.displayName=K3;var Y3=e2;function J3(e){const[t,s]=w.useState(void 0);return _n(()=>{if(e){s({width:e.offsetWidth,height:e.offsetHeight});const r=new ResizeObserver(i=>{if(!Array.isArray(i)||!i.length)return;const a=i[0];let o,l;if("borderBoxSize"in a){const c=a.borderBoxSize,d=Array.isArray(c)?c[0]:c;o=d.inlineSize,l=d.blockSize}else o=e.offsetWidth,l=e.offsetHeight;s({width:o,height:l})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}else s(void 0)},[e]),t}var t2="Popper",[s2,r2]=ch(t2),[Xq,n2]=s2(t2),i2="PopperAnchor",a2=w.forwardRef((e,t)=>{const{__scopePopper:s,virtualRef:r,...i}=e,a=n2(i2,s),o=w.useRef(null),l=Ls(t,o);return w.useEffect(()=>{a.onAnchorChange((r==null?void 0:r.current)||o.current)}),r?null:n.jsx(Rt.div,{...i,ref:l})});a2.displayName=i2;var Ox="PopperContent",[Z3,X3]=s2(Ox),o2=w.forwardRef((e,t)=>{var xe,hr,ms,Fn,Lr,Pi;const{__scopePopper:s,side:r="bottom",sideOffset:i=0,align:a="center",alignOffset:o=0,arrowPadding:l=0,avoidCollisions:c=!0,collisionBoundary:d=[],collisionPadding:u=0,sticky:h="partial",hideWhenDetached:m=!1,updatePositionStrategy:p="optimized",onPlaced:x,...y}=e,b=n2(Ox,s),[f,g]=w.useState(null),v=Ls(t,$r=>g($r)),[j,k]=w.useState(null),N=J3(j),A=(N==null?void 0:N.width)??0,E=(N==null?void 0:N.height)??0,R=r+(a!=="center"?"-"+a:""),I=typeof u=="number"?u:{top:0,right:0,bottom:0,left:0,...u},B=Array.isArray(d)?d:[d],_=B.length>0,$={padding:I,boundary:B.filter(eI),altBoundary:_},{refs:M,floatingStyles:Q,placement:G,isPositioned:se,middlewareData:S}=F3({strategy:"fixed",placement:R,whileElementsMounted:(...$r)=>E3(...$r,{animationFrame:p==="always"}),elements:{reference:b.anchor},middleware:[U3({mainAxis:i+E,alignmentAxis:o}),c&&W3({mainAxis:!0,crossAxis:!1,limiter:h==="partial"?V3():void 0,...$}),c&&z3({...$}),H3({...$,apply:({elements:$r,rects:gc,availableWidth:$h,availableHeight:xc})=>{const{width:Fh,height:go}=gc.reference,Ii=$r.floating.style;Ii.setProperty("--radix-popper-available-width",`${$h}px`),Ii.setProperty("--radix-popper-available-height",`${xc}px`),Ii.setProperty("--radix-popper-anchor-width",`${Fh}px`),Ii.setProperty("--radix-popper-anchor-height",`${go}px`)}}),j&&G3({element:j,padding:l}),tI({arrowWidth:A,arrowHeight:E}),m&&q3({strategy:"referenceHidden",...$})]}),[C,D]=d2(G),H=An(x);_n(()=>{se&&(H==null||H())},[se,H]);const Z=(xe=S.arrow)==null?void 0:xe.x,le=(hr=S.arrow)==null?void 0:hr.y,de=((ms=S.arrow)==null?void 0:ms.centerOffset)!==0,[ue,Ie]=w.useState();return _n(()=>{f&&Ie(window.getComputedStyle(f).zIndex)},[f]),n.jsx("div",{ref:M.setFloating,"data-radix-popper-content-wrapper":"",style:{...Q,transform:se?Q.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:ue,"--radix-popper-transform-origin":[(Fn=S.transformOrigin)==null?void 0:Fn.x,(Lr=S.transformOrigin)==null?void 0:Lr.y].join(" "),...((Pi=S.hide)==null?void 0:Pi.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:n.jsx(Z3,{scope:s,placedSide:C,onArrowChange:k,arrowX:Z,arrowY:le,shouldHideArrow:de,children:n.jsx(Rt.div,{"data-side":C,"data-align":D,...y,ref:v,style:{...y.style,animation:se?void 0:"none"}})})})});o2.displayName=Ox;var l2="PopperArrow",Q3={top:"bottom",right:"left",bottom:"top",left:"r
441ight"},c2=w.forwardRef(function(t,s){const{__scopePopper:r,...i}=t,a=X3(l2,r),o=Q3[a.placedSide];return n.jsx("span",{ref:a.onArrowChange,style:{position:"absolute",left:a.arrowX,top:a.arrowY,[o]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[a.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[a.placedSide],visibility:a.shouldHideArrow?"hidden":void 0},children:n.jsx(Y3,{...i,ref:s,style:{...i.style,display:"block"}})})});c2.displayName=l2;function eI(e){return e!==null}var tI=e=>({name:"transformOrigin",options:e,fn(t){var b,f,g;const{placement:s,rects:r,middlewareData:i}=t,o=((b=i.arrow)==null?void 0:b.centerOffset)!==0,l=o?0:e.arrowWidth,c=o?0:e.arrowHeight,[d,u]=d2(s),h={start:"0%",center:"50%",end:"100%"}[u],m=(((f=i.arrow)==null?void 0:f.x)??0)+l/2,p=(((g=i.arrow)==null?void 0:g.y)??0)+c/2;let x="",y="";return d==="bottom"?(x=o?h:`${m}px`,y=`${-c}px`):d==="top"?(x=o?h:`${m}px`,y=`${r.floating.height+c}px`):d==="right"?(x=`${-c}px`,y=o?h:`${p}px`):d==="left"&&(x=`${r.floating.width+c}px`,y=o?h:`${p}px`),{data:{x,y}}}});function d2(e){const[t,s="center"]=e.split("-");return[t,s]}var sI=a2,rI=o2,nI=c2,[yh,Qq]=ch("Tooltip",[r2]),Mx=r2(),u2="TooltipProvider",iI=700,pb="tooltip.open",[aI,h2]=yh(u2),m2=e=>{const{__scopeTooltip:t,delayDuration:s=iI,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=w.useRef(!0),l=w.useRef(!1),c=w.useRef(0);return w.useEffect(()=>{const d=c.current;return()=>window.clearTimeout(d)},[]),n.jsx(aI,{scope:t,isOpenDelayedRef:o,delayDuration:s,onOpen:w.useCallback(()=>{window.clearTimeout(c.current),o.current=!1},[]),onClose:w.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r)},[r]),isPointerInTransitRef:l,onPointerInTransitChange:w.useCallback(d=>{l.current=d},[]),disableHoverableContent:i,children:a})};m2.displayName=u2;var p2="Tooltip",[eG,vh]=yh(p2),gf="TooltipTrigger",oI=w.forwardRef((e,t)=>{const{__scopeTooltip:s,...r}=e,i=vh(gf,s),a=h2(gf,s),o=Mx(s),l=w.useRef(null),c=Ls(t,l,i.onTriggerChange),d=w.useRef(!1),u=w.useRef(!1),h=w.useCallback(()=>d.current=!1,[]);return w.useEffect(()=>()=>document.removeEventListener("pointerup",h),[h]),n.jsx(sI,{asChild:!0,...o,children:n.jsx(Rt.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:c,onPointerMove:et(e.onPointerMove,m=>{m.pointerType!=="touch"&&!u.current&&!a.isPointerInTransitRef.current&&(i.onTriggerEnter(),u.current=!0)}),onPointerLeave:et(e.onPointerLeave,()=>{i.onTriggerLeave(),u.current=!1}),onPointerDown:et(e.onPointerDown,()=>{i.open&&i.onClose(),d.current=!0,document.addEventListener("pointerup",h,{once:!0})}),onFocus:et(e.onFocus,()=>{d.current||i.onOpen()}),onBlur:et(e.onBlur,i.onClose),onClick:et(e.onClick,i.onClose)})})});oI.displayName=gf;var lI="TooltipPortal",[tG,cI]=yh(lI,{forceMount:void 0}),Ha="TooltipContent",f2=w.forwardRef((e,t)=>{const s=cI(Ha,e.__scopeTooltip),{forceMount:r=s.forceMount,side:i="top",...a}=e,o=vh(Ha,e.__scopeTooltip);return n.jsx(mx,{present:r||o.open,children:o.disableHoverableContent?n.jsx(g2,{side:i,...a,ref:t}):n.jsx(dI,{side:i,...a,ref:t})})}),dI=w.forwardRef((e,t)=>{const s=vh(Ha,e.__scopeTooltip),r=h2(Ha,e.__scopeTooltip),i=w.useRef(null),a=Ls(t,i),[o,l]=w.useState(null),{trigger:c,onClose:d}=s,u=i.current,{onPointerInTransitChange:h}=r,m=w.useCallback(()=>{l(null),h(!1)},[h]),p=w.useCallback((x,y)=>{const b=x.currentTarget,f={x:x.clientX,y:x.clientY},g=fI(f,b.getBoundingClientRect()),v=gI(f,g),j=xI(y.getBoundingClientRect()),k=vI([...v,...j]);l(k),h(!0)},[h]);return w.useEffect(()=>()=>m(),[m]),w.useEffect(()=>{if(c&&u){const x=b=>p(b,u),y=b=>p(b,c);return c.addEventListener("pointerleave",x),u.addEventListener("pointerleave",y),()=>{c.removeEventListener("pointerleave",x),u.removeEventListener("pointerleave",y)}}},[c,u,p,m]),w.useEffect(()=>{if(o){const x=y=>{const b=y.target,f={x:y.clientX,y:y.clientY},g=(c==null?void 0:c.contains(b))||(u==null?void 0:u.contains(b)),v=!yI(f,o);g?m():v&&(m(),d())};return document.addEventListener("pointermove",x),()=>document.removeEventListener("pointermove",x)}},[c,u,o,d,m]),n.jsx(g2,{...e,ref:a})}),[uI,hI]=yh(p2,{isInside:!1}),mI=i4("TooltipContent"),g2=w.forwardRef((e,t)=>
441{const{__scopeTooltip:s,children:r,"aria-label":i,onEscapeKeyDown:a,onPointerDownOutside:o,...l}=e,c=vh(Ha,s),d=Mx(s),{onClose:u}=c;return w.useEffect(()=>(document.addEventListener(pb,u),()=>document.removeEventListener(pb,u)),[u]),w.useEffect(()=>{if(c.trigger){const h=m=>{const p=m.target;p!=null&&p.contains(c.trigger)&&u()};return window.addEventListener("scroll",h,{capture:!0}),()=>window.removeEventListener("scroll",h,{capture:!0})}},[c.trigger,u]),n.jsx(hx,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:h=>h.preventDefault(),onDismiss:u,children:n.jsxs(rI,{"data-state":c.stateAttribute,...d,...l,ref:t,style:{...l.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[n.jsx(mI,{children:r}),n.jsx(uI,{scope:s,isInside:!0,children:n.jsx(T4,{id:c.contentId,role:"tooltip",children:i||r})})]})})});f2.displayName=Ha;var x2="TooltipArrow",pI=w.forwardRef((e,t)=>{const{__scopeTooltip:s,...r}=e,i=Mx(s);return hI(x2,s).isInside?null:n.jsx(nI,{...i,...r,ref:t})});pI.displayName=x2;function fI(e,t){const s=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(s,r,i,a)){case a:return"left";case i:return"right";case s:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function gI(e,t,s=5){const r=[];switch(t){case"top":r.push({x:e.x-s,y:e.y+s},{x:e.x+s,y:e.y+s});break;case"bottom":r.push({x:e.x-s,y:e.y-s},{x:e.x+s,y:e.y-s});break;case"left":r.push({x:e.x+s,y:e.y-s},{x:e.x+s,y:e.y+s});break;case"right":r.push({x:e.x-s,y:e.y-s},{x:e.x-s,y:e.y+s});break}return r}function xI(e){const{top:t,right:s,bottom:r,left:i}=e;return[{x:i,y:t},{x:s,y:t},{x:s,y:r},{x:i,y:r}]}function yI(e,t){const{x:s,y:r}=e;let i=!1;for(let a=0,o=t.length-1;a<t.length;o=a++){const l=t[a],c=t[o],d=l.x,u=l.y,h=c.x,m=c.y;u>r!=m>r&&s<(h-d)*(r-u)/(m-u)+d&&(i=!i)}return i}function vI(e){const t=e.slice();return t.sort((s,r)=>s.x<r.x?-1:s.x>r.x?1:s.y<r.y?-1:s.y>r.y?1:0),bI(t)}function bI(e){if(e.length<=1)return e.slice();const t=[];for(let r=0;r<e.length;r++){const i=e[r];for(;t.length>=2;){const a=t[t.length-1],o=t[t.length-2];if((a.x-o.x)*(i.y-o.y)>=(a.y-o.y)*(i.x-o.x))t.pop();else break}t.push(i)}t.pop();const s=[];for(let r=e.length-1;r>=0;r--){const i=e[r];for(;s.length>=2;){const a=s[s.length-1],o=s[s.length-2];if((a.x-o.x)*(i.y-o.y)>=(a.y-o.y)*(i.x-o.x))s.pop();else break}s.push(i)}return s.pop(),t.length===1&&s.length===1&&t[0].x===s[0].x&&t[0].y===s[0].y?t:t.concat(s)}var wI=m2,y2=f2;const jI=wI,kI=w.forwardRef(({className:e,sideOffset:t=4,...s},r)=>n.jsx(y2,{ref:r,sideOffset:t,className:cr("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",e),...s}));kI.displayName=y2.displayName;var bh=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(){}},wh=typeof window>"u"||"Deno"in globalThis;function ks(){}function NI(e,t){return typeof e=="function"?e(t):e}function SI(e){return typeof e=="number"&&e>=0&&e!==1/0}function AI(e,t){return Math.max(e+(t||0)-Date.now(),0)}function xf(e,t){return typeof e=="function"?e(t):e}function _I(e,t){return typeof e=="function"?e(t):e}function fb(e,t){const{type:s="all",exact:r,fetchStatus:i,predicate:a,queryKey:o,stale:l}=e;if(o){if(r){if(t.queryHash!==Dx(o,t.options))return!1}else if(!Pl(t.queryKey,o))return!1}if(s!=="all"){const c=t.isActive();if(s==="active"&&!c||s==="inactive"&&c)return!1}return!(typeof l=="boolean"&&t.isStale()!==l||i&&i!==t.state.fetchStatus||a&&!a(t))}function gb(e,t){const{exact:s,status:r,predicate:i,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(s){if(Tl(t.options.mutationKey)!==Tl(a))return!1}else if(!Pl(t.options.mutationKey,a))return!1}return!(r&&t.state.status!==r||i&&!i(t))}function Dx(e,t){return((t==null?void 0:t.queryKeyHashFn)||Tl)(e)}function Tl(e){return JSON.stringify(e,(t,s)=>yf(s)?Object.keys(s).sort().reduce((r,i)=>(r[i]=s[i],r),{}):s)}function Pl(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(t).every(s=>Pl(e[s],t[s])):!1}function v2(e,t){if(e===t)return e;const s=xb(e)&&xb(t);if(s||yf(e)&&yf(t)){const r=s?e:Object.keys(e),i=r.length,a=s?t:Object.keys(t),o=a.length,l=s?[]:{},c=new Set(r);let d=0;for(let u=0;u<o;u++){const h=s?u:a[u];(!s&&c.has(h)||s)&&e[h]===void 0&&t[h]===void 0?(l[h]=void 0,d++):(l[h]=v2(e[h],t[h]),l[h]===e[h]&&e[h]!==void 0&&d++)}return i===o&&d===i?e:l}return t}function xb(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function yf(e){if(!yb(e))return!1;const t=e.constructor;if(t===void 0)return!0;const s=t.prototype;return!(!yb(s)||!s.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function yb(e){return Object.prototype.toString.call(e)==="[object Object]"}function CI(e){return new Promise(t=>{setTimeout(t,e)})}function EI(e,t,s){return typeof s.structuralSharing=="function"?s.structuralSharing(e,t):s.structuralSharing!==!1?v2(e,t):t}function TI(e,t,s=0){const r=[...e,t];return s&&r.length>s?r.slice(1):r}function PI(e,t,s=0){const r=[t,...e];return s&&r.length>s?r.slice(0,-1):r}var Lx=Symbol();function b2(e,t){return!e.queryFn&&(t!=null&&t.initialPromise)?()=>t.initialPromise:!e.queryFn||e.queryFn===Lx?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}var oi,tn,Ea,f1,II=(f1=class extends bh{constructor(){super();ye(this,oi);ye(this,tn);ye(this,Ea);oe(this,Ea,t=>{if(!wh&&window.addEventListener){const s=()=>t();return window.addEventListener("visibilitychange",s,!1),()=>{window.removeEventListener("visibilitychange",s)}}})}onSubscribe(){O(this,tn)||this.setEventListener(O(this,Ea))}onUnsubscribe(){var t;this.hasListeners()||((t=O(this,tn))==null||t.call(this),oe(this,tn,void 0))}setEventListener(t){var s;oe(this,Ea,t),(s=O(this,tn))==null||s.call(this),oe(this,tn,t(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()}))}setFocused(t){O(this,oi)!==t&&(oe(this,oi,t),this.onFocus())}onFocus(){const t=this.isFocused();
vendor: 19,643 bytes, line 441
441this.listeners.forEach(s=>{s(t)})}isFocused(){var t;return typeof O(this,oi)=="boolean"?O(this,oi):((t=globalThis.document)==null?void 0:t.visibilityState)!=="hidden"}},oi=new WeakMap,tn=new WeakMap,Ea=new WeakMap,f1),w2=new II,Ta,sn,Pa,g1,RI=(g1=class extends bh{constructor(){super();ye(this,Ta,!0);ye(this,sn);ye(this,Pa);oe(this,Pa,t=>{if(!wh&&window.addEventListener){const s=()=>t(!0),r=()=>t(!1);return window.addEventListener("online",s,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",s),window.removeEventListener("offline",r)}}})}onSubscribe(){O(this,sn)||this.setEventListener(O(this,Pa))}onUnsubscribe(){var t;this.hasListeners()||((t=O(this,sn))==null||t.call(this),oe(this,sn,void 0))}setEventListener(t){var s;oe(this,Pa,t),(s=O(this,sn))==null||s.call(this),oe(this,sn,t(this.setOnline.bind(this)))}setOnline(t){O(this,Ta)!==t&&(oe(this,Ta,t),this.listeners.forEach(r=>{r(t)}))}isOnline(){return O(this,Ta)}},Ta=new WeakMap,sn=new WeakMap,Pa=new WeakMap,g1),bu=new RI;function OI(){let e,t;const s=new Promise((i,a)=>{e=i,t=a});s.status="pending",s.catch(()=>{});function r(i){Object.assign(s,i),delete s.resolve,delete s.reject}return s.resolve=i=>{r({status:"fulfilled",value:i}),e(i)},s.reject=i=>{r({status:"rejected",reason:i}),t(i)},s}function MI(e){return Math.min(1e3*2**e,3e4)}function j2(e){return(e??"online")==="online"?bu.isOnline():!0}var k2=class extends Error{constructor(e){super("CancelledError"),this.revert=e==null?void 0:e.revert,this.silent=e==null?void 0:e.silent}};function Am(e){return e instanceof k2}function N2(e){let t=!1,s=0,r=!1,i;const a=OI(),o=y=>{var b;r||(m(new k2(y)),(b=e.abort)==null||b.call(e))},l=()=>{t=!0},c=()=>{t=!1},d=()=>w2.isFocused()&&(e.networkMode==="always"||bu.isOnline())&&e.canRun(),u=()=>j2(e.networkMode)&&e.canRun(),h=y=>{var b;r||(r=!0,(b=e.onSuccess)==null||b.call(e,y),i==null||i(),a.resolve(y))},m=y=>{var b;r||(r=!0,(b=e.onError)==null||b.call(e,y),i==null||i(),a.reject(y))},p=()=>new Promise(y=>{var b;i=f=>{(r||d())&&y(f)},(b=e.onPause)==null||b.call(e)}).then(()=>{var y;i=void 0,r||(y=e.onContinue)==null||y.call(e)}),x=()=>{if(r)return;let y;const b=s===0?e.initialPromise:void 0;try{y=b??e.fn()}catch(f){y=Promise.reject(f)}Promise.resolve(y).then(h).catch(f=>{var N;if(r)return;const g=e.retry??(wh?0:3),v=e.retryDelay??MI,j=typeof v=="function"?v(s,f):v,k=g===!0||typeof g=="number"&&s<g||typeof g=="function"&&g(s,f);if(t||!k){m(f);return}s++,(N=e.onFail)==null||N.call(e,s,f),CI(j).then(()=>d()?void 0:p()).then(()=>{t?m(f):x()})})};return{promise:a,cancel:o,continue:()=>(i==null||i(),a),cancelRetry:l,continueRetry:c,canStart:u,start:()=>(u()?x():p().then(x),a)}}var DI=e=>setTimeout(e,0);function LI(){let e=[],t=0,s=l=>{l()},r=l=>{l()},i=DI;const a=l=>{t?e.push(l):i(()=>{s(l)})},o=()=>{const l=e;e=[],l.length&&i(()=>{r(()=>{l.forEach(c=>{s(c)})})})};return{batch:l=>{let c;t++;try{c=l()}finally{t--,t||o()}return c},batchCalls:l=>(...c)=>{a(()=>{l(...c)})},schedule:a,setNotifyFunction:l=>{s=l},setBatchNotifyFunction:l=>{r=l},setScheduler:l=>{i=l}}}var _t=LI(),li,x1,S2=(x1=class{constructor(){ye(this,li)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),SI(this.gcTime)&&oe(this,li,setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(wh?1/0:5*60*1e3))}clearGcTimeout(){O(this,li)&&(clearTimeout(O(this,li)),oe(this,li,void 0))}},li=new WeakMap,x1),Ia,ci,rs,di,bt,Yl,ui,Ss,gr,y1,$I=(y1=class extends S2{constructor(t){super();ye(this,Ss);ye(this,Ia);ye(this,ci);ye(this,rs);ye(this,di);ye(this,bt);ye(this,Yl);ye(this,ui);oe(this,ui,!1),oe(this,Yl,t.defaultOptions),this.setOptions(t.options),this.observers=[],oe(this,di,t.client),oe(this,rs,O(this,di).getQueryCache()),this.queryKey=t.queryKey,this.queryHash=t.queryHash,oe(this,Ia,BI(this.options)),this.state=t.state??O(this,Ia),this.scheduleGc()}get meta(){return this.options.meta}get promise(){var t;return(t=O(this,bt))==null?void 0:t.promise}setOptions(t){this.options={...O(this,Yl),...t},this.updateGcTime(this.options.gcTime)}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&O(this,rs).remove(this)}setData(t,s){const r=EI(this.state.data,t,this.options);return pt(this,Ss,gr).call(this,{data:r,type:"success",dataUpdatedAt:s==null?void 0:s.updatedAt,manual:s==null?void 0:s.manual}),r}setState(t,s){pt(this,Ss,gr).call(this,{type:"setState",state:t,setStateOptions:s})}cancel(t){var r,i;const s=(r=O(this,bt))==null?void 0:r.promise;return(i=O(this,bt))==null||i.cancel(t),s?s.then(ks).catch(ks):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(O(this,Ia))}isActive(){return this.observers.some(t=>_I(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Lx||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStatic(){return this.getObserversCount()>0?this.observers.some(t=>xf(t.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(t=>t.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(t=0){return this.state.data===void 0?!0:t==="static"?!1:this.state.isInvalidated?!0:!AI(this.state.dataUpdatedAt,t)}onFocus(){var s;const t=this.observers.find(r=>r.shouldFetchOnWindowFocus());t==null||t.refetch({cancelRefetch:!1}),(s=O(this,bt))==null||s.continue()}onOnline(){var s;const t=this.observers.find(r=>r.shouldFetchOnReconnect());t==null||t.refetch({cancelRefetch:!1}),(s=O(this,bt))==null||s.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),O(this,rs).notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(s=>s!==t),this.observers.length||(O(this,bt)&&(O(this,ui)?O(this,bt).cancel({revert:!0}):O(this,bt).cancelRetry()),this.scheduleGc()),O(this,rs).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||pt(this,Ss,gr).call(this,{type:"invalidate"})}fetch(t,s){var d,u,h;if(this.state.fetchStatus!=="idle"){if(this.state.data!==void 0&&(s!=null&&s.cancelRefetch))this.cancel({silent:!0});else if(O(this,bt))return O(this,bt).continueRetry(),O(this,bt).promise}if(t&&this.setOptions(t),!this.options.queryFn){const m=this.observers.find(p=>p.options.queryFn);m&&this.setOptions(m.options)}const r=new AbortController,i=m=>{Object.defineProperty(m,"signal",{enumerable:!0,get:()=>(oe(this,ui,!0),r.signal)})},a=()=>{const m=b2(this.options,s),x=(()=>{const y={client:O(this,di),queryKey:this.queryKey,meta:this.meta};return i(y),y})();return oe(this,ui,!1),this.options.persister?this.options.persister(m,x,this):m(x)},l=(()=>{const m={fetchOptions:s,options:this.options,queryKey:this.queryKey,client:O(this,di),state:this.state,fetchFn:a};return i(m),m})();(d=this.options.behavior)==null||d.onFetch(l,this),oe(this,ci,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((u=l.fetchOptions)==null?void 0:u.meta))&&pt(this,Ss,gr).call(this,{type:"fetch",meta:(h=l.fetchOptions)==null?void 0:h.meta});const c=m=>{var p,x,y,b;Am(m)&&m.silent||pt(this,Ss,gr).call(this,{type:"error",error:m}),Am(m)||((x=(p=O(this,rs).config).onError)==null||x.call(p,m,this),(b=(y=O(this,rs).config).onSettled)==null||b.call(y,this.state.data,m,this)),this.scheduleGc()};return oe(this,bt,N2({initialPromise:s==null?void 0:s.initialPromise,fn:l.fetchFn,abort:r.abort.bind(r),onSuccess:m=>{var p,x,y,b;if(m===void 0){c(new Error(`${this.queryHash} data is undefined`));return}try{this.setData(m)}catch(f){c(f);return}(x=(p=O(this,rs).config).onSuccess)==null||x.call(p,m,this),(b=(y=O(this,rs).config).onSettled)==null||b.call(y,m,this.state.error,this),this.scheduleGc()},onError:c,onFail:(m,p)=>{pt(this,Ss,gr).call(this,{type:"failed",failureCount:m,error:p})},onPause:()=>{pt(this,Ss,gr).call(this,{type:"pause"})},onContinue:()=>{pt(this,Ss,gr).call(this,{type:"continue"})},retry:l.options.retry,retryDelay:l.options.retryDelay,networkMode:l.options.networkMode,canRun:()=>!0})),O(this,bt).start()}},Ia=new WeakMap,ci=new WeakMap,rs=new WeakMap,di=new WeakMap,bt=new WeakMap,Yl=new WeakMap,ui=new WeakMap,Ss=new WeakSet,gr=function(t){const s=r=>{switch(t.type){case"failed":return{...r,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,...FI(r.data,this.options),fetchMeta:t.meta??null};case"success":return oe(this,ci,void 0),{...r,data:t.data,dataUpdateCount:r.dataUpdateCount+1,dataUpdatedAt:t.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const i=t.error;return Am(i)&&i.revert&&O(this,ci)?{...O(this,ci),fetchStatus:"idle"}:{...r,error:i,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:i,fetchStatus:"idle",status:"error"};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...t.state}}};this.state=s(this.state),_t.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate()}),O(this,rs).notify({query:this,type:"updated",action:t})})},y1);function FI(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:j2(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function BI(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,s=t!==void 0,r=s?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:s?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:s?"success":"pending",fetchStatus:"idle"}}var qs,v1,UI=(v1=class extends bh{constructor(t={}){super();ye(this,qs);this.config=t,oe(this,qs,new Map)}build(t,s,r){const i=s.queryKey,a=s.queryHash??Dx(i,s);let o=this.get(a);return o||(o=new $I({client:t,queryKey:i,queryHash:a,options:t.defaultQueryOptions(s),state:r,defaultOptions:t.getQueryDefaults(i)}),this.add(o)),o}add(t){O(this,qs).has(t.queryHash)||(O(this,qs).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const s=O(this,qs).get(t.queryHash);s&&(t.destroy(),s===t&&O(this,qs).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){_t.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return O(this,qs).get(t)}getAll(){return[...O(this,qs).values()]}find(t){const s={exact:!0,...t};return this.getAll().find(r=>fb(s,r))}findAll(t={}){const s=this.getAll();return Object.keys(t).length>0?s.filter(r=>fb(t,r)):s}notify(t){_t.batch(()=>{this.listeners.forEach(s=>{s(t)})})}onFocus(){_t.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){_t.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},qs=new WeakMap,v1),Gs,St,hi,Ks,Hr,b1,WI=(b1=class extends S2{constructor(t){super();ye(this,Ks);ye(this,Gs);ye(this,St);ye(this,hi);this.mutationId=t.mutationId,oe(this,St,t.mutationCache),oe(this,Gs,[]),this.state=t.state||VI(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){O(this,Gs).includes(t)||(O(this,Gs).push(t),this.clearGcTimeout(),O(this,St).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){oe(this,Gs,O(this,Gs).filter(s=>s!==t)),this.scheduleGc(),O(this,St).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){O(this,Gs).length||(this.state.status==="pending"?this.scheduleGc():O(this,St).remove(this))}continue(){var t;return((t=O(this,hi))==null?void 0:t.continue())??this.execute(this.state.variables)}async execute(t){var a,o,l,c,d,u,h,m,p,x,y,b,f,g,v,j,k,N,A,E;const s=()=>{pt(this,Ks,Hr).call(this,{type:"continue"})};oe(this,hi,N2({fn:()=>this.options.mutationFn?this.options.mutationFn(t):Promise.reject(new Error("No mutationFn found")),onFail:(R,I)=>{pt(this,Ks,Hr).call(this,{type:"failed",failureCount:R,error:I})},onPause:()=>{pt(this,Ks,Hr).call(this,{type:"pause"})},onContinue:s,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>O(this,St).canRun(this)}));const r=this.state.status==="pending",i=!O(this,hi).canStart();try{if(r)s();else{pt(this,Ks,Hr).call(this,{type:"pending",variables:t,isPaused:i}),await((o=(a=O(this,St).config).onMutate)==null?void 0:o.call(a,t,this));const I=await((c=(l=this.options).onMutate)==null?void 0:c.call(l,t));I!==this.state.context&&pt(this,Ks,Hr).call(this,{type:"pending",context:I,variables:t,isPaused:i})}const R=await O(this,hi).start();return await((u=(d=O(this,St).config).onSuccess)==null?void 0:u.call(d,R,t,this.state.context,this)),await((m=(h=this.options).onSuccess)==null?void 0:m.call(h,R,t,this.state.context)),await((x=(p=O(this,St).config).onSettled)==null?void 0:x.call(p,R,null,this.state.variables,this.state.context,this)),await((b=(y=this.options).onSettled)==null?void 0:b.call(y,R,null,t,this.state.context)),pt(this,Ks,Hr).call(this,{type:"success",data:R}),R}catch(R){try{throw await((g=(f=O(this,St).config).onError)==null?void 0:g.call(f,R,t,this.state.context,this)),await((j=(v=this.options).onError)==null?void 0:j.call(v,R,t,this.state.context)),await((N=(k=O(this,St).config).onSettled)==null?void 0:N.call(k,void 0,R,this.state.variables,this.state.context,this)),await((E=(A=this.options).onSettled)==null?void 0:E.call(A,void 0,R,t,this.state.context)),R}finally{pt(this,Ks,Hr).call(this,{type:"error",error:R})}}finally{O(this,St).runNext(this)}}},Gs=new WeakMap,St=new WeakMap,hi=new WeakMap,Ks=new WeakSet,Hr=function(t){const s=r=>{switch(t.type){case"failed":return{...r,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...r,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:t.error,failureCount:r.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=s(this.state),_t.batch(()=>{O(this,Gs).forEach(r=>{r.onMutationUpdate(t)}),O(this,St).notify({mutation:this,type:"updated",action:t})})},b1);function VI(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var jr,As,Jl,w1,zI=(w1=class extends bh{constructor(t={}){super();ye(this,jr);ye(this,As);ye(this,Jl);this.config=t,oe(this,jr,new Set),oe(this,As,new Map),oe(this,Jl,0)}build(t,s,r){const i=new WI({mutationCache:this,mutationId:++vc(this,Jl)._,options:t.defaultMutationOptions(s),state:r});return this.add(i),i}add(t){O(this,jr).add(t);const s=zc(t);if(typeof s=="string"){const r=O(this,As).get(s);r?r.push(t):O(this,As).set(s,[t])}this.notify({type:"added",mutation:t})}remove(t){if(O(this,jr).delete(t)){const s=zc(t);if(typeof s=="string"){const r=O(this,As).get(s);if(r)if(r.length>1){const i=r.indexOf(t);i!==-1&&r.splice(i,1)}else r[0]===t&&O(this,As).delete(s)}}this.notify({type:"removed",mutation:t})}canRun(t){const s=zc(t);if(typeof s=="string"){const r=O(this,As).get(s),i=r==null?void 0:r.find(a=>a.state.status==="pending");return!i||i===t}else return!0}runNext(t){var r;const s=zc(t);if(typeof s=="string"){const i=(r=O(this,As).get(s))==null?void 0:r.find(a=>a!==t&&a.state.isPaused);return(i==null?void 0:i.continue())??Promise.resolve()}else return Promise.resolve()}clear(){_t.batch(()=>{O(this,jr).forEach(t=>{this.notify({type:"removed",mutation:t})}),O(this,jr).clear(),O(this,As).clear()})}getAll(){return Array.from(O(this,jr))}find(t){const s={exact:!0,...t};return this.getAll().find(r=>gb(s,r))}findAll(t={}){return this.getAll().filter(s=>gb(t,s))}notify(t){_t.batch(()=>{this.listeners.forEach(s=>{s(t)})})}resumePausedMutations(){const t=this.getAll().filter(s=>s.state.isPaused);return _t.batch(()=>Promise.all(t.map(s=>s.continue().catch(ks))))}},jr=new WeakMap,As=new WeakMap,Jl=new WeakMap,w1);function zc(e){var t;return(t=e.options.scope)==null?void 0:t.id}function vb(e){return{onFetch:(t,s)=>{var u,h,m,p,x;const r=t.options,i=(m=(h=(u=t.fetchOptions)==null?void 0:u.meta)==null?void 0:h.fetchMore)==null?void 0:m.direction,a=((p=t.state.data)==null?void 0:p.pages)||[],o=((x=t.state.data)==null?void 0:x.pageParams)||[];let l={pages:[],pageParams:[]},c=0;const d=async()=>{let y=!1;const b=v=>{Object.defineProperty(v,"signal",{enumerable:!0,get:()=>(t.signal.aborted?y=!0:t.signal.addEventListener("abort",()=>{y=!0}),t.signal)})},f=b2(t.options,t.fetchOptions),g=async(v,j,k)=>{if(y)return Promise.reject();if(j==null&&v.pages.length)return Promise.resolve(v);const A=(()=>{const B={client:t.client,queryKey:t.queryKey,pageParam:j,direction:k?"backward":"forward",meta:t.options.meta};return b(B),B})(),E=await f(A),{maxPages:R}=t.options,I=k?PI:TI;return{pages:I(v.pages,E,R),pageParams:I(v.pageParams,j,R)}};if(i&&a.length){const v=i==="backward",j=v?HI:bb,k={pages:a,pageParams:o},N=j(r,k);l=await g(k,N,v)}else{const v=e??a.length;do{const j=c===0?o[0]??r.initialPageParam:bb(r,l);if(c>0&&j==null)break;l=await g(l,j),c++}while(c<v)}return l};t.options.persister?t.fetchFn=()=>{var y,b;return(b=(y=t.options).persister)==null?void 0:b.call(y,d,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},s)}:t.fetchFn=d}}}function bb(e,{pages:t,pageParams:s}){const r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,s[r],s):void 0}function HI(e,{pages:t,pageParams:s}){var r;return t.length>0?(r=e.getPreviousPageParam)==null?void 0:r.call(e,t[0],t,s[0],s):void 0}var $e,rn,nn,Ra,Oa,an,Ma,Da,j1,qI=(j1=class{constructor(e={}){ye(this,$e);ye(this,rn);ye(this,nn);ye(this,Ra);ye(this,Oa);ye(this,an);ye(this,Ma);ye(this,Da);oe(this,$e,e.queryCache||new UI),oe(this,rn,e.mutationCache||new zI),oe(this,nn,e.defaultOptions||{}),oe(this,Ra,new Map),oe(this,Oa,new Map),oe(this,an,0)}mount(){vc(this,an)._++,O(this,an)===1&&(oe(this,Ma,w2.subscribe(async e=>{e&&(await this.resumePausedMutations(),O(this,$e).onFocus())})),oe(this,Da,bu.subscribe(async e=>{e&&(await this.resumePausedMutations(),O(this,$e).onOnline())})))}unmount(){var e,t;vc(this,an)._--,O(this,an)===0&&((e=O(this,Ma))==null||e.call(this),oe(this,Ma,void 0),(t=O(this,Da))==null||t.call(this),oe(this,Da,void 0))}isFetching(e){return O(this,$e).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return O(this,rn).findAll({...e,status:"pending"}).length}getQueryData(e){var s;const t=this.defaultQueryOptions({queryKey:e});return(s=O(this,$e).get(t.queryHash))==null?void 0:s.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),s=O(this,$e).build(this,t),r=s.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&s.isStaleByTime(xf(t.staleTime,s))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return O(this,$e).findAll(e).map(({queryKey:t,state:s})=>{const r=s.data;return[t,r]})}setQueryData(e,t,s){const r=this.defaultQueryOptions({queryKey:e}),i=O(this,$e).get(r.queryHash),a=i==null?void 0:i.state.data,o=NI(t,a);if(o!==void 0)return O(this,$e).build(this,r).setData(o,{...s,manual:!0})}
441setQueriesData(e,t,s){return _t.batch(()=>O(this,$e).findAll(e).map(({queryKey:r})=>[r,this.setQueryData(r,t,s)]))}getQueryState(e){var s;const t=this.defaultQueryOptions({queryKey:e});return(s=O(this,$e).get(t.queryHash))==null?void 0:s.state}removeQueries(e){const t=O(this,$e);_t.batch(()=>{t.findAll(e).forEach(s=>{t.remove(s)})})}resetQueries(e,t){const s=O(this,$e);return _t.batch(()=>(s.findAll(e).forEach(r=>{r.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){const s={revert:!0,...t},r=_t.batch(()=>O(this,$e).findAll(e).map(i=>i.cancel(s)));return Promise.all(r).then(ks).catch(ks)}invalidateQueries(e,t={}){return _t.batch(()=>(O(this,$e).findAll(e).forEach(s=>{s.invalidate()}),(e==null?void 0:e.refetchType)==="none"?Promise.resolve():this.refetchQueries({...e,type:(e==null?void 0:e.refetchType)??(e==null?void 0:e.type)??"active"},t)))}refetchQueries(e,t={}){const s={...t,cancelRefetch:t.cancelRefetch??!0},r=_t.batch(()=>O(this,$e).findAll(e).filter(i=>!i.isDisabled()&&!i.isStatic()).map(i=>{let a=i.fetch(void 0,s);return s.throwOnError||(a=a.catch(ks)),i.state.fetchStatus==="paused"?Promise.resolve():a}));return Promise.all(r).then(ks)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const s=O(this,$e).build(this,t);return s.isStaleByTime(xf(t.staleTime,s))?s.fetch(t):Promise.resolve(s.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(ks).catch(ks)}fetchInfiniteQuery(e){return e.behavior=vb(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(ks).catch(ks)}ensureInfiniteQueryData(e){return e.behavior=vb(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return bu.isOnline()?O(this,rn).resumePausedMutations():Promise.resolve()}getQueryCache(){return O(this,$e)}getMutationCache(){return O(this,rn)}getDefaultOptions(){return O(this,nn)}setDefaultOptions(e){oe(this,nn,e)}setQueryDefaults(e,t){O(this,Ra).set(Tl(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...O(this,Ra).values()],s={};return t.forEach(r=>{Pl(e,r.queryKey)&&Object.assign(s,r.defaultOptions)}),s}setMutationDefaults(e,t){O(this,Oa).set(Tl(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...O(this,Oa).values()],s={};return t.forEach(r=>{Pl(e,r.mutationKey)&&Object.assign(s,r.defaultOptions)}),s}defaultQueryOptions(e){if(e._defaulted)return e;const t={...O(this,nn).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=Dx(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===Lx&&(t.enabled=!1),t}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{...O(this,nn).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){O(this,$e).clear(),O(this,rn).clear()}},$e=new WeakMap,rn=new WeakMap,nn=new WeakMap,Ra=new WeakMap,Oa=new WeakMap,an=new WeakMap,Ma=new WeakMap,Da=new WeakMap,j1),GI=w.createContext(void 0),KI=({client:e,children:t})=>(w.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),n.jsx(GI.Provider,{value:e,children:t}));/**
442 * @remix-run/router v1.23.0
443 *
444 * Copyright (c) Remix Software Inc.
445 *
446 * This source code is licensed under the MIT license found in the
447 * LICENSE.md file in the root directory of this source tree.
448 *
449 * @license MIT
450 */function Il(){return Il=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var r in s)Object.prototype.hasOwnProperty.call(s,r)&&(e[r]=s[r])}return e},Il.apply(this,arguments)}var cn;(function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"})(cn||(cn={}));const wb="popstate";function YI(e){e===void 0&&(e={});function t(r,i){let{pathname:a,search:o,hash:l}=r.location;return vf("",{pathname:a,search:o,hash:l},i.state&&i.state.usr||null,i.state&&i.state.key||"default")}function s(r,i){return typeof i=="string"?i:wu(i)}return ZI(t,s,null,e)}function He(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function A2(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function JI(){return Math.random().toString(36).substr(2,8)}function jb(e,t){return{usr:e.state,key:e.key,idx:t}}function vf(e,t,s,r){return s===void 0&&(s=null),Il({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?oo(t):t,{state:s,key:t&&t.key||r||JI()})}function wu(e){let{pathname:t="/",search:s="",hash:r=""}=e;return s&&s!=="?"&&(t+=s.charAt(0)==="?"?s:"?"+s),r&&r!=="#"&&(t+=r.charAt(0)==="#"?r:"#"+r),t}function oo(e){let t={};if(e){let s=e.indexOf("#");s>=0&&(t.hash=e.substr(s),e=e.substr(0,s));let r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function ZI(e,t,s,r){r===void 0&&(r={});let{window:i=document.defaultView,v5Compat:a=!1}=r,o=i.history,l=cn.Pop,c=null,d=u();d==null&&(d=0,o.replaceState(Il({},o.state,{idx:d}),""));function u(){return(o.state||{idx:null}).idx}function h(){l=cn.Pop;let b=u(),f=b==null?null:b-d;d=b,c&&c({action:l,location:y.location,delta:f})}function m(b,f){l=cn.Push;let g=vf(y.location,b,f);d=u()+1;let v=jb(g,d),j=y.createHref(g);try{o.pushState(v,"",j)}catch(k){if(k instanceof DOMException&&k.name==="DataCloneError")throw k;i.location.assign(j)}a&&c&&c({action:l,location:y.location,delta:1})}function p(b,f){l=cn.Replace;let g=vf(y.location,b,f);d=u();let v=jb(g,d),j=y.createHref(g);o.replaceState(v,"",j),a&&c&&c({action:l,location:y.location,delta:0})}function x(b){let f=i.location.origin!=="null"?i.location.origin:i.location.href,g=typeof b=="string"?b:wu(b);return g=g.replace(/ $/,"%20"),He(f,"No window.location.(origin|href) available to create URL for href: "+g),new URL(g,f)}let y={get action(){return l},get location(){return e(i,o)},listen(b){if(c)throw new Error("A history only accepts one active listener");return i.addEventListener(wb,h),c=b,()=>{i.removeEventListener(wb,h),c=null}},createHref(b){return t(i,b)},createURL:x,encodeLocation(b){let f=x(b);return{pathname:f.pathname,search:f.search,hash:f.hash}},push:m,replace:p,go(b){return o.go(b)}};return y}var kb;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(kb||(kb={}));function XI(e,t,s){return s===void 0&&(s="/"),QI(e,t,s,!1)}function QI(e,t,s,r){let i=typeof t=="string"?oo(t):t,a=$x(i.pathname||"/",s);if(a==null)return null;let o=_2(e);eR(o);let l=null;for(let c=0;l==null&&c<o.length;++c){let d=uR(a);l=cR(o[c],d,r)}return l}function _2(e,t,s,r){t===void 0&&(t=[]),s===void 0&&(s=[]),r===void 0&&(r="");let i=(a,o,l)=>{let c={relativePath:l===void 0?a.path||"":l,caseSensitive:a.caseSensitive===!0,childrenIndex:o,route:a};c.relativePath.startsWith("/")&&(He(c.relativePath.startsWith(r),'Absolute route path "'+c.relativePath+'" nested under path '+('"'+r+'" is not val
450id. An absolute child route path ')+"must start with the combined path of all its parent routes."),c.relativePath=c.relativePath.slice(r.length));let d=wn([r,c.relativePath]),u=s.concat(c);a.children&&a.children.length>0&&(He(a.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+d+'".')),_2(a.children,t,u,d)),!(a.path==null&&!a.index)&&t.push({path:d,score:oR(d,a.index),routesMeta:u})};return e.forEach((a,o)=>{var l;if(a.path===""||!((l=a.path)!=null&&l.includes("?")))i(a,o);else for(let c of C2(a.path))i(a,o,c)}),t}function C2(e){let t=e.split("/");if(t.length===0)return[];let[s,...r]=t,i=s.endsWith("?"),a=s.replace(/\?$/,"");if(r.length===0)return i?[a,""]:[a];let o=C2(r.join("/")),l=[];return l.push(...o.map(c=>c===""?a:[a,c].join("/"))),i&&l.push(...o),l.map(c=>e.startsWith("/")&&c===""?"/":c)}function eR(e){e.sort((t,s)=>t.score!==s.score?s.score-t.score:lR(t.routesMeta.map(r=>r.childrenIndex),s.routesMeta.map(r=>r.childrenIndex)))}const tR=/^:[\w-]+$/,sR=3,rR=2,nR=1,iR=10,aR=-2,Nb=e=>e==="*";function oR(e,t){let s=e.split("/"),r=s.length;return s.some(Nb)&&(r+=aR),t&&(r+=rR),s.filter(i=>!Nb(i)).reduce((i,a)=>i+(tR.test(a)?sR:a===""?nR:iR),r)}function lR(e,t){return e.length===t.length&&e.slice(0,-1).every((r,i)=>r===t[i])?e[e.length-1]-t[t.length-1]:0}function cR(e,t,s){let{routesMeta:r}=e,i={},a="/",o=[];for(let l=0;l<r.length;++l){let c=r[l],d=l===r.length-1,u=a==="/"?t:t.slice(a.length)||"/",h=Sb({path:c.relativePath,caseSensitive:c.caseSensitive,end:d},u),m=c.route;if(!h&&d&&s&&!r[r.length-1].route.index&&(h=Sb({path:c.relativePath,caseSensitive:c.caseSensitive,end:!1},u)),!h)return null;
vendor: 9,263 bytes, lines 450-459
450Object.assign(i,h.params),o.push({params:i,pathname:wn([a,h.pathname]),pathnameBase:fR(wn([a,h.pathnameBase])),route:m}),h.pathnameBase!=="/"&&(a=wn([a,h.pathnameBase]))}return o}function Sb(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[s,r]=dR(e.path,e.caseSensitive,e.end),i=t.match(s);if(!i)return null;let a=i[0],o=a.replace(/(.)\/+$/,"$1"),l=i.slice(1);return{params:r.reduce((d,u,h)=>{let{paramName:m,isOptional:p}=u;if(m==="*"){let y=l[h]||"";o=a.slice(0,a.length-y.length).replace(/(.)\/+$/,"$1")}const x=l[h];return p&&!x?d[m]=void 0:d[m]=(x||"").replace(/%2F/g,"/"),d},{}),pathname:a,pathnameBase:o,pattern:e}}function dR(e,t,s){t===void 0&&(t=!1),s===void 0&&(s=!0),A2(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let r=[],i="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(o,l,c)=>(r.push({paramName:l,isOptional:c!=null}),c?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),i+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):s?i+="\\/*$":e!==""&&e!=="/"&&(i+="(?:(?=\\/|$))"),[new RegExp(i,t?void 0:"i"),r]}function uR(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return A2(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function $x(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let s=t.endsWith("/")?t.length-1:t.length,r=e.charAt(s);return r&&r!=="/"?null:e.slice(s)||"/"}function hR(e,t){t===void 0&&(t="/");let{pathname:s,search:r="",hash:i=""}=typeof e=="string"?oo(e):e;return{pathname:s?s.startsWith("/")?s:mR(s,t):t,search:gR(r),hash:xR(i)}}function mR(e,t){let s=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(i=>{i===".."?s.length>1&&s.pop():i!=="."&&s.push(i)}),s.length>1?s.join("/"):"/"}function _m(e,t,s,r){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(r)+"].  Please separate it out to the ")+("`to."+s+"` field. Alternatively you may provide the full path as ")+'a string in <Link to="..."> and the router will parse it for you.'}function pR(e){return e.filter((t,s)=>s===0||t.route.path&&t.route.path.length>0)}function Fx(e,t){let s=pR(e);return t?s.map((r,i)=>i===s.length-1?r.pathname:r.pathnameBase):s.map(r=>r.pathnameBase)}function Bx(e,t,s,r){r===void 0&&(r=!1);let i;typeof e=="string"?i=oo(e):(i=Il({},e),He(!i.pathname||!i.pathname.includes("?"),_m("?","pathname","search",i)),He(!i.pathname||!i.pathname.includes("#"),_m("#","pathname","hash",i)),He(!i.search||!i.search.includes("#"),_m("#","search","hash",i)));let a=e===""||i.pathname==="",o=a?"/":i.pathname,l;if(o==null)l=s;else{let h=t.length-1;if(!r&&o.startsWith("..")){let m=o.split("/");for(;m[0]==="..";)m.shift(),h-=1;i.pathname=m.join("/")}l=h>=0?t[h]:"/"}let c=hR(i,l),d=o&&o!=="/"&&o.endsWith("/"),u=(a||o===".")&&s.endsWith("/");return!c.pathname.endsWith("/")&&(d||u)&&(c.pathname+="/"),c}const wn=e=>e.join("/").replace(/\/\/+/g,"/"),fR=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),gR=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,xR=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function yR(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const E2=["post","put","patch","delete"];new Set(E2);const vR=["get",...E2];new Set(vR);/**
451 * React Router v6.30.1
452 *
453 * Copyright (c) Remix Software Inc.
454 *
455 * This source code is licensed under the MIT license found in the
456 * LICENSE.md file in the root directory of this source tree.
457 *
458 * @license MIT
459 */function Rl(){return Rl=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var r in s)Object.prototype.hasOwnProperty.call(s,r)&&(e[r]=s[r])}return e},Rl.apply(this,arguments)}const Ux=w.createContext(null),bR=w.createContext(null),Ln=w.createContext(null),jh=w.createContext(null),Mr=w.createContext({outlet:null,matches:[],isDataRoute:!1}),T2=w.createContext(null);function wR(e,t){let{relative:s}=t===void 0?{}:t;lo()||He(!1);let{basename:r,navigator:i}=w.useContext(Ln),{hash:a,pathname:o,search:l}=R2(e,{relative:s}),c=o;return r!=="/"&&(c=o==="/"?r:wn([r,o])),i.createHref({pathname:c,search:l,hash:a})}function lo(){return w.useContext(jh)!=null}function Bs(){return lo()||He(!1),w.useContext(jh).location}function P2(e){w.useContext(Ln).static||w.useLayoutEffect(e)}function Ti(){let{isDataRoute:e}=w.useContext(Mr);return e?OR():jR()}function jR(){lo()||He(!1);let e=w.useContext(Ux),{basename:t,future:s,navigator:r}=w.useContext(Ln),{matches:i}=w.useContext(Mr),{pathname:a}=Bs(),o=JSON.stringify(Fx(i,s.v7_relativeSplatPath)),l=w.useRef(!1);return P2(()=>{l.current=!0}),w.useCallback(function(d,u){if(u===void 0&&(u={}),!l.current)return;if(typeof d=="number"){r.go(d);return}let h=Bx(d,JSON.parse(o),a,u.relative==="path");e==null&&t!=="/"&&(h.pathname=h.pathname==="/"?t:wn([t,h.pathname])),(u.replace?r.replace:r.push)(h,u.state,u)},[t,r,o,a,e])}function I2(){let{matches:e}=w.useContext(Mr),t=e[e.length-1];return t?t.params:{}}function R2(e,t){let{relative:s}=t===void 0?{}:t,{future:r}=w.useContext(Ln),{matches:i}=w.useContext(Mr),{pathname:a}=Bs(),o=JSON.stringify(Fx(i,r.v7_relativeSplatPath));return w.useMemo(()=>Bx(e,JSON.parse(o),a,s==="path"),[e,o,a,s])}function kR(e,t){return NR(e,t)}function NR(e,t,s,r){lo()||He(!1);let{navigator:i}=w.useContext(Ln),{matches:a}=w.useContext(Mr),o=a[a.length-1],l=o?o.params:{};o&&o.pathname;let c=o?o.pathnameBase:"/";o&&o.route;let d=Bs(),u;if(t){var h;let b=typeof t=="string"?oo(t):t;c==="/"||(h=b.pathname)!=null&&h.startsWith(c)||He(!1),u=b}else u=d;let m=u.pathname||"/",p=m;if(c!=="/"){let b=c.replace(/^\//,"").split("/");p="/"+m.replace(/^\//,"").split("/").slice(b.length).join("/")}let x=XI(e,{pathname:p}),y=ER(x&&x.map(b=>Object.assign({},b,{params:Object.assign({},l,b.params),pathname:wn([c,i.encodeLocation?i.encodeLocation(b.pathname).pathname:b.pathname]),pathnameBase:b.pathnameBase==="/"?c:wn([c,i.encodeLocation?i.encodeLocation(b.pathnameBase).pathname:b.pathnameBase])})),a,s,r);return t&&y?w.createElement(jh.Provider,{value:{location:Rl({pathname:"/",search:"",hash:"",state:null,key:"default"},u),navigationType:cn.Pop}},y):y}function SR(){let e=RR(),t=yR(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),s=e instanceof Error?e.stack:null,i={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return w.createElement(w.Fragment,null,w.createElement("h2",null,"Unexpected Application Error!"),w.createElement("h3",{style:{fontStyle:"italic"}},t),s?w.createElement("pre",{style:i},s):null,null)}const AR=w.createElement(SR,null);class _R extends w.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,s){return s.location!==t.location||s.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:s.error,location:s.location,revalidation:t.revalidation||s.revalidation}}componentDidCatch(t,s){console.error("React Router caught the following error during render",t,s)}render(){return this.state.error!==void 0?w.createElement(Mr.Provider,{value:this.props.routeContext},w.createElement(T2.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function CR(e){let{routeContext:t,match:s,children:r}=e,i=w.useContext(Ux);return i&&i.static&&i.staticContext&&(s.route.errorElement||s.route.ErrorBoundary)&&(i.staticContext._deepestRenderedBoundaryId=s.route.id),w.createElement(Mr.Provider,{value:t},r)}function ER(e,t,s,r){var i;if(t===void 0&&(t=[]),s===void 0&&(s=null),r===void 0&&(r=null),e==null){var a;if(!s)return null;if(s.errors)e=s.matches;else if((a=r)!=null&&a.v7_partialHydration&&t.length===0&&!s.initialized&&s.matches.length>0)e=s.matches;else return null}let o=e,l=(i=s)==null?void 0:i.errors;if(l!=null){let u=o.findIndex(h=>h.route.id&&(l==null?void 0:l[h.route.id])!==void 0);u>=0||He(!1),o=o.slice(0,Math.min(o.length,u+1))}let c=!1,d=-1;if(s&&r&&r.v7_partialHydration)for(let u=0;u<o.length;u++){let h=o[u];if((h.route.HydrateFallback||h.route.hydrateFallbackElement)&&(d=u),h.route.id){let{loaderData:m,errors:p}=s,x=h.route.loader&&m[h.route.id]===void 0&&(!p||p[h.route.id]===void 0);if(h.route.lazy||x){c=!0,d>=0?o=o.slice(0,d+1):o=[o[0]];break}}}return o.reduceRight((u,h,m)=>{let p,x=!1,y=null,b=null;s&&(p=l&&h.route.id?l[h.route.id]:void 0,y=h.route.errorElement||AR,c&&(d<0&&m===0?(x=!0,b=null):d===m&&(x=!0,b=h.route.hydrateFallbackElement||null)));let f=t.concat(o.slice(0,m+1)),g=()=>{let v;return p?v=y:x?v=b:h.route.Component?v=w.createElement(h.route.Component,null):h.route.element?v=h.route.element:v=u,w.createElement(CR,{match:h,routeC
459ontext:{outlet:u,matches:f,isDataRoute:s!=null},children:v})};return s&&(h.route.ErrorBoundary||h.route.errorElement||m===0)?w.createElement(_R,{location:s.location,revalidation:s.revalidation,component:y,error:p,children:g(),routeContext:{outlet:null,matches:f,isDataRoute:!0}}):g()},null)}var O2=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(O2||{}),ju=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(ju||{});function TR(e){let t=w.useContext(Ux);return t||He(!1),t}function PR(e){let t=w.useContext(bR);return t||He(!1),t}function IR(e){let t=w.useContext(Mr);return t||He(!1),t}function M2(e){let t=IR(),s=t.matches[t.matches.length-1];return s.route.id||He(!1),s.route.id}function RR(){var e;let t=w.useContext(T2),s=PR(ju.UseRouteError),r=M2(ju.UseRouteError);return t!==void 0?t:(e=s.errors)==null?void 0:e[r]}function OR(){let{router:e}=TR(O2.UseNavigateStable),t=M2(ju.UseNavigateStable),s=w.useRef(!1);return P2(()=>{s.current=!0}),w.useCallback(function(i,a){a===void 0&&(a={}),s.current&&(typeof i=="number"?e.navigate(i):e.navigate(i,Rl({fromRouteId:t},a)))},[e,t])}function MR(e,t){e==null||e.v7_startTransition,e==null||e.v7_relativeSplatPath}function D2(e){let{to:t,replace:s,state:r,relative:i}=e;lo()||He(!1);let{future:a,static:o}=w.useContext(Ln),{matches:l}=w.useContext(Mr),{pathname:c}=Bs(),d=Ti(),u=Bx(t,Fx(l,a.v7_relativeSplatPath),c,i==="path"),h=JSON.stringify(u);return w.useEffect(()=>d(JSON.parse(h),{replace:s,state:r,relative:i}),[d,h,i,s,r]),null}function re(e){He(!1)}function DR(e){let{basename:t="/",children:s=null,location:r,navigationType:i=cn.Pop,navigator:a,static:o=!1,future:l}=e;lo()&&He(!1);let c=t.replace(/^\/*/,"/"),d=w.useMemo(()=>({basename:c,navigator:a,static:o,future:Rl({v7_relativeSplatPath:!1},l)}),[c,l,a,o]);typeof r=="string"&&(r=oo(r));let{pathname:u="/",search:h="",hash:m="",state:p=null,key:x="default"}=r,y=w.useMemo(()=>{let b=$x(u,c);return b==null?null:{location:{pathname:b,search:h,hash:m,state:p,key:x},navigationType:i}},[c,u,h,m,p,x,i]);return y==null?null:w.createElement(Ln.Provider,{value:d},w.createElement(jh.Provider,{children:s,value:y}))}function LR(e){let{children:t,location:s}=e;return kR(bf(t),s)}new Promise(()=>{});function bf(e,t){t===void 0&&(t=[]);let s=[];return w.Children.forEach(e,(r,i)=>{if(!w.isValidElement(r))return;let a=[...t,i];if(r.type===w.Fragment){s.push.apply(s,bf(r.props.children,a));return}r.type!==re&&He(!1),!r.props.index||!r.props.children||He(!1);let o={id:r.props.id||a.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,loader:r.props.loader,action:r.props.action,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(o.children=bf(r.props.children,a)),s.push(o)}),s}/**
460 * React Router DOM v6.30.1
461 *
462 * Copyright (c) Remix Software Inc.
463 *
464 * This source code is licensed under the MIT license found in the
465 * LICENSE.md file in the root directory of this source tree.
466 *
467 * @license MIT
468 */function wf(){return wf=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var r in s)Object.prototype.hasOwnProperty.call(s,r)&&(e[r]=s[r])}return e},wf.apply(this,arguments)}function $R(e,t){if(e==null)return{};var s={},r=Object.keys(e),i,a;for(a=0;a<r.length;a++)i=r[a],!(t.indexOf(i)>=0)&&(s[i]=e[i]);return s}function FR(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function BR(e,t){return e.button===0&&(!t||t==="_self")&&!FR(e)}function jf(e){return e===void 0&&(e=""),new URLSearchParams(typeof e=="string"||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,s)=>
468{let r=e[s];return t.concat(Array.isArray(r)?r.map(i=>[s,i]):[[s,r]])},[]))}function UR(e,t){let s=jf(e);return t&&t.forEach((r,i)=>{s.has(i)||t.getAll(i).forEach(a=>{s.append(i,a)})}),s}const WR=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],VR="6";try{window.__reactRouterVersion=VR}catch{}const zR="startTransition",Ab=R1[zR];function HR(e){let{basename:t,children:s,future:r,window:i}=e,a=w.useRef();a.current==null&&(a.current=YI({window:i,v5Compat:!0}));let o=a.current,[l,c]=w.useState({action:o.action,location:o.location}),{v7_startTransition:d}=r||{},u=w.useCallback(h=>{d&&Ab?Ab(()=>c(h)):c(h)},[c,d]);return w.useLayoutEffect(()=>o.listen(u),[o,u]),w.useEffect(()=>MR(r),[r]),w.createElement(DR,{basename:t,children:s,location:l.location,navigationType:l.action,navigator:o,future:r})}const qR=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",GR=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,L=w.forwardRef(function(t,s){let{onClick:r,relative:i,reloadDocument:a,replace:o,state:l,target:c,to:d,preventScrollReset:u,viewTransition:h}=t,m=$R(t,WR),{basename:p}=w.useContext(Ln),x,y=!1;if(typeof d=="string"&&GR.test(d)&&(x=d,qR))try{let v=new URL(window.location.href),j=d.startsWith("//")?new URL(v.protocol+d):new URL(d),k=$x(j.pathname,p);j.origin===v.origin&&k!=null?d=k+j.search+j.hash:y=!0}catch{}let b=wR(d,{relative:i}),f=KR(d,{replace:o,state:l,target:c,preventScrollReset:u,relative:i,viewTransition:h});function g(v){r&&r(v),v.defaultPrevented||f(v)}return w.createElement("a",wf({},m,{href:x||b,onClick:y||a?r:g,ref:s,target:c}))});var _b;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(_b||(_b={}));var Cb;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(Cb||(Cb={}));function KR(e,t){let{target:s,replace:r,state:i,preventScrollReset:a,relative:o,viewTransition:l}=t===void 0?{}:t,c=Ti(),d=Bs(),u=R2(e,{relative:o});return w.useCallback(h=>{if(BR(h,s)){h.preventDefault();let m=r!==void 0?r:wu(d)===wu(u);c(e,{replace:m,state:i,preventScrollReset:a,relative:o,viewTransition:l})}},[d,c,u,r,i,s,e,a,o,l])}function L2(e){let t=w.useRef(jf(e)),s=w.useRef(!1),r=Bs(),i=w.useMemo(()=>UR(r.search,s.current?null:t.current),[r.search]),a=Ti(),o=w.useCallback((l,c)=>{const d=jf(typeof l=="function"?l(i):l);s.current=!0,a("?"+d,c)},[a,i]);return[i,o]}const YR=1,JR="a84f7d6f-b1a9-4f3f-8eca-16ef0e6b5032",ZR="2303a136-ebed-4a95-9f74-22b71420daa4",XR="/__l5e/assets-v1/a84f7d6f-b1a9-4f3f-8eca-16ef0e6b5032/10xgrowth-labs-logo.png",QR="a/v1/2303a136-ebed-4a95-9f74-22b71420daa4/a84f7d6f-b1a9-4f3f-8eca-16ef0e6b5032/10xgrowth-labs-logo.png",eO="10xgrowth-labs-logo.png",tO=35541,sO="image/png",rO="2026-07-24T03:51:47Z",nO={version:YR,asset_id:JR,project_id:ZR,url:XR,r2_key:QR,original_filename:eO,size:tO,content_type:sO,created_at:rO},iO={sm:"h-12 md:h-14",md:"h-36 md:h-44",lg:"h-44 md:h-52"},kh=({className:e="",size:t="md"})=>n.jsx("img",{src:nO.url,alt:"10xGrowth Labs",className:`${iO[t]} w-auto block select-none ${e}`,draggable:!1}),aO=[{label:"FleetPro",to:"/platform-suite/fleetpro"},{label:"OpsSync",to:"/platform-suite/opssync"},{label:"CareFlow",to:"/platform-suite/careflow"},{label:"CivicFlow",to:"/platform-suite/civicflow"},{label:"All products",to:"/platform-suite"}],oO=[{label:"Startup Studio",to:"/startups"},{label:"Selected Work",to:"/work"},{label:"Insights",to:"/insights"},{label:"AI Readiness",to:"/ai-readiness-assessment"},{label:"Free Blueprint",to:"/blueprint"}],lO=[{label:"About",to:"/about"},{label:"Contact",to:"/contact"},{label:"Export Leads",to:"/admin/leads"}],cO=()=>n.jsx("footer",{className:"bg-[#f5f3ee] text-[#0d0d0d] border-t border-[#0d0d0d]/10 pt-20 pb-10 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-12 gap-10 mb-14",children:[n.jsxs("div",{className:"col-span-2 md:col-span-4",children:[n.jsx("div",{className:"mb-6",children:n.jsx(kh,{className:"h-40 md:h-48"})}),n.jsx("p",{className:"text-[#0d0d0d]/75 text-sm leading-relaxed max-w-sm",children:"Enterprise thinking. Product mindset. AI, automation and engineering — for complex businesses."}),n.jsxs("p",{className:"mt-4 text-[#0d0d0d]/60 text-xs leading-relaxed max-w-sm",children:["Growth marketing partner:"," ",n.jsx("a",{href:"https://10xgrowth.com.au",target:"_blank",rel:"noopener noreferrer",className:"underline underline-offset-4 hover:text-[#0d0d0d]",children:"10xgrowth.com.au"})]})]}),n.jsx(Cm,{title:"Platform Suite",items:aO}),n.jsx(Cm,{title:"Explore",items:oO}),n.jsx(Cm,{title:"Company",items:lO})]}),n.jsx("div",{className:"h-px bg-[#0d0d0d]/10 mb-8"}),n.jsxs("div",{className:"flex flex-wrap gap-x-8 gap-y-2 text-[11px] uppercase tracking-[0.22em] text-[#0d0d0d]/55 mb-8",children:[n.jsx("span",{children:"Frame"}),n.jsx("span",{children:"→ Unify"}),n.jsx("span",{children:"→ Solve"}),n.jsx("span",{children:"→ Evolve"})]}),n.jsx("div",{className:"h-px bg-[#0d0d0d]/10 mb-6"}),n.jsxs("div",{className:"flex flex-col md:flex-row items-start md:items-center justify-between gap-4 text-xs text-[#0d0d0d]/65",children:[n.jsxs("p",{children:["© ",new Date().getFullYear()," 10xGrowth Labs. All rights reserved."]}),n.jsxs("div",{className:"flex items-center gap-6",children:[n.jsxs("a",{href:"https://www.linkedin.com/company/10xgrowthlabs/?viewAsMember=true",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 text-[#0d0d0d]/75 hover:text-[#0d0d0d] transition-colors","aria-label":"10xGrowth Labs on LinkedIn",children:[n.jsx(yx,{className:"w-4 h-4"})," LinkedIn"]}),n.jsxs("a",{href:"https://www.instagram.com/10xgrowth.labs/",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 text-[#0d0d0d]/75 hover:text-[#0d0d0d] transition-colors","aria-label":"10xGrowth Labs on Instagram",children:[n.jsx(lP,{className:"w-4 h-4"})," Instagram"]})]}),n.jsxs("p",{className:"flex flex-wrap items-center gap-x-2",children:[n.jsx("span",{children:"Level 1, 74 O'Connell Street, North Adelaide SA 5006 ·"}),n.jsxs("a",{href:"tel:+61433975469",className:"inline-flex items-center gap-1.5 font-semibold text-[#0d0d0d]/80 hover:text-[#0d0d0d] underline underline-offset-4 transition-colors","aria-label":"Call 0433 975 469",children:[n.jsx(Ut,{className:"w-3.5 h-3.5"})," 0433 975 469"]}),n.jsx("span",{children:"·"}),n.jsxs("a",{href:"tel:+61883679649",className:"inline-flex items-center gap-1.5 font-semibold text-[#0d0d0d]/80 hover:text-[#0d0d0d] underline underline-offset-4 transition-colors","aria-label":"Call 08 8367 9649",children:[n.jsx(Ut,{className:"w-3.5 h-3.5"})," 08 8367 9649"]}),n.jsx("span",{children:"· [email protected]"})]})]})]})}),Cm=({title:e,items:t})=>n.jsxs("div",{className:"md:col-span-2 lg:col-span-2 col-span-1 min-w-0",children:[n.jsx("h4",{className:"text-[11px] uppercase tracking-[0.22em] text-[#0d0d0d]/60 mb-5",children:e}),n.jsx("ul",{className:"space-y-3 text-sm",children:t.map(s=>n.jsx("li",{children:n.jsx(L,{to:s.to,className:"text-[#0d0d0d]/75 hover:text-[#0d0d0d] transition-colors",children:s.label})},s.label))})]}),dO=()=>n.jsx("div",{className:"bg-gradient-labs py-2.5 px-4 text-center relative overflow-hidden",children:n.jsxs("div",{className:"flex items-center justify-center gap-2 text-primary-foreground",children:[n.jsx(ki,{className:"w-4 h-4"}),n.jsxs("span",{className:"text-sm font-medium font-body",children:["🚀 Introducing ",n.jsx("strong",{className:"font-display",children:"10xGrowth Labs"})," — AI-powered solutions for next-level growth"]}),n.jsxs(L,{to:"/labs",className:"inline-flex items-center gap-1 text-sm font-semibold underline underline-offset-2 hover:opacity-80 transition-opacity",children:["Explore now ",n.jsx(W,{className:"w-3 h-3"})]})]})}),uO=()=>n.jsx("nav",{className:"bg-background/95 backdrop-blur-sm border-b border-border px-6 py-4 sticky top-0 z-40",children:n.jsxs("div",{className:"container mx-auto flex items-center justify-between",children:[n.jsx(L,{to:"/",className:"flex items-center",children:n.jsx(kh,{size:"lg"})}),n.jsxs("div",{className:"hidden md:flex items-center gap-8",children:[n.jsx(L,{to:"/",className:"text-sm font-medium text-foreground hover:text-primary transition-colors",children:"HOME"}),n.jsxs("div",{className:"relative group",children:[n.jsxs("button",{className:"flex items-center gap-1 text-sm font-medium text-muted-foreground hover:text-foreground transition-colors",children:["MARKETING ",n.jsx(Ar,{className:"w-3 h-3"})]}),n.jsxs("div",{className:"absolute top-full left-0 mt-2 w-52 bg-card border border-border rounded-lg shadow-xl p-2 opacity-0 group-hover:opacity-100 pointer-events-none group-hover:pointer-events-auto transition-all duration-200",children:[n.jsx(L,{to:"/contact",className:"block px-3 py-2 text-sm text-muted-foreground hover:text-foreground hover:bg-secondary rounded-md transition-colors",children:"Social Media Marketing"}),n.jsx(L,{to:"/contact",className:"block px-3 py-2 text-sm text-muted-foreground hover:text-foreground hover:bg-secondary rounded-md transition-colors",children:"Google Ads (PPC)"}),n.jsx(L,{to:"/contact",className:"block px-3 py-2 text-sm text-muted-foreground hover:text-foreground hover:bg-secondary rounded-md transition-colors",children:"SEO Services"})]})]}),n.jsxs("div",{className:"relative group",children:[n.jsxs("button",{className:"flex items-center gap-1 text-sm font-medium text-muted-foreground hover:text-foreground transition-colors",children:["WEBSITES ",n.jsx(Ar,{className:"w-3 h-3"})]}),n.jsxs("div",{className:"absolute top-full left-0 mt-2 w-52 bg-card border border-border rounded-lg shadow-xl p-2 opacity-0 group-hover:opacity-100 pointer-events-none group-hover:pointer-events-auto transition-all duration-200",children:[n.jsx(L,{to:"/services/digital",className:"block px-3 py-2 text-sm text-muted-foreground hover:text-foreground hover:bg-secondary rounded-md transition-colors",children:"WordPress Websites"}),n.jsx(L,{to:"/services/digital",className:"block px-3 py-2 text-sm text-muted-foreground hover:text-foreground hover:bg-secondary rounded-md transition-colors",children:"Shopify Websites"}),n.jsx(L,{to:"/services/digital",className:"block px-3 py-2 text-sm text-muted-foreground hover:text-foreground hover:bg-secondary rounded-md transition-colors",children:"Custom Web Development"})]})]}),n.jsxs("div",{className:"relative group",children:[n.jsxs("button",{className:"flex items-center gap-1 text-sm font-medium text-muted-foreground hover:text-foreground transition-colors",children:["AI & APPS ",n.jsx(Ar,{className:"w-3 h-3"})]}),n.jsxs("div",{className:"absolute top-full left-0 mt-2 w-56 bg-card border border-border rounded-lg shadow-xl p-2 opacity-0 group-hover:opacity-100 pointer-events-none group-hover:pointer-events-auto transition-all duration-200",children:[n.jsx(L,{to:"/services/digital",className:"block px-3 py-2 text-sm text-muted-foreground hover:text-foreground hover:bg-secondary rounded-md transition-colors",children:"iPhone App Development"}),n.jsx(L,{to:"/services/digital",className:"block px-3 py-2 text-sm text-muted-foreground hover:text-foreground hover:bg-secondary rounded-md transition-colors",children:"Android App Development"}),n.jsx(L,{to:"/services/digital",className:"block px-3 py-2 text-sm text-muted-foreground hover:text-foreground hover:bg-secondary rounded-md transition-colors",children:"Flutter App Development"}),n.jsx("div",{className:"border-t border-border my-1"}),n.jsxs(L,{to:"/",className:"flex items-center gap-2 px-3 py-2 text-sm font-semibold hover:bg-secondary rounded-md transition-colors",children:[n.jsx(NN,{className:"w-4 h-4 text-labs"}),n.jsx("span",{className:"bg-gradient-labs bg-clip-text text-transparent font-bold",children:"10xGrowth Labs"}),n.jsx("span",{className:"ml-auto text-[10px] bg-gradient-labs text-primary-foreground px-1.5 py-0.5 rounded-full font-bold",children:"NEW"})]})]})]}),n.jsx(L,{to:"/contact",className:"text-sm font-medium text-muted-foreground hover:text-foreground transition-colors",children:"CONTACT US"})]}),n.jsx("div",{className:"flex items-center gap-4",children:n.jsxs("div",{className:"hidden md:flex flex-col items-stretch gap-[12px]",children:[n.jsxs("a",{href:"tel:+61883679649",className:"flex items-center justify-center gap-2 bg-primary text-primary-foreground px-5 py-2 rounded-full text-sm font-semibold hover:opacity-90 transition-opacity",children:[n.jsx(Ut,{className:"w-4 h-4"}),"Get Started"]}),n.jsxs("a",{href:"tel:+61433975469",className:"flex items-center justify-center gap-2 bg-primary text-primary-foreground px-5 py-2 rounded-full text-sm font-semibold hover:opacity-90 transition-opacity","aria-label":"Call 0433 975 469",children:[n.jsx(Ut,{className:"w-4 h-4"}),"0433 975 469"]})]})})]})}),co="https://10xgrowthlabs.ai",Eb="10xGrowth Labs",hO=`${co}/social-logo.png`,$2=`${co}/#organization`,ur=e=>({"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{name:"Home",path:"/"},...e].map((t,s)=>({"@type":"ListItem",position:s+1,name:t.name,item:`${co}${t.path}`}))}),uo=e=>({"@context":"https://schema.org","@type":"Service",name:e.name,description:e.description,serviceType:e.serviceType,url:`${co}${e.path}`,provider:{"@id":$2},areaServed:{"@type":"Country",name:"Australia"}}),Wx=e=>({"@context":"https://schema.org","@type":"SoftwareApplication",name:e.name,description:e.description,url:`${co}${e.path}`,applicationCategory:e.category??"BusinessApplication",operatingSystem:"Web, iOS, Android",publisher:{"@id":$2}}),Vx=e=>({"@context":"https://schema.org","@type":"FAQPage",mainEntity:e.map(t=>
468({"@type":"Question",name:t.q,acceptedAnswer:{"@type":"Answer",text:t.a}}))}),mO={"/":{title:"Enterprise AI Company Australia | AI Software & Automation Company",description:"Enterprise AI company in Australia. 10xGrowth Labs is an enterprise technology consultancy and software development company delivering AI, automation and new products."},"/services/ai":{title:"AI Consulting Australia | Enterprise AI Strategy & Implementation",description:"AI consulting Australia. 10xGrowth Labs AI consultants deliver AI readiness assessments, enterprise AI strategy and implementation services that reach production."},"/services/automation":{title:"AI Automation Australia | Business Process & Workflow Automation",description:"AI automation Australia. We build intelligent automation, AI agents and operations automation that take real manual work out of the business and hold up in production."},"/services/digital":{title:"Custom Software Development Australia | Enterprise Software Company",description:"Custom software development Australia. 10xGrowth Labs software developers build custom applications and business software on architecture designed to scale with you."},"/custom-apps":{title:"Custom App Development Australia | iOS, Android & Web Apps",description:"Custom app development for Australian businesses and startups. We design and build mobile, web, ecommerce and AI-powered applications that scale."},"/platform-suite":{title:"Enterprise Software Platforms | Business Operations Software Suite Australia",description:"Enterprise software platforms from 10xGrowth Labs. Industry software platforms and intelligent operational systems that bring business operations onto one platform."},"/platform-suite/fleetpro":{title:"Enterprise Fleet Management Software | AI Dis
468patch & Ops | FleetPro",description:"Enterprise fleet management software for transport and logistics operators. FleetPro runs dispatch, driver management and AI fleet decisions on one platform."},"/platform-suite/opssync":{title:"Field Service Management Software | Scheduling & Jobs Software | OpsSync",description:"Field service management software for mobile workforces. OpsSync runs job management, service scheduling and field operations for teams working across sites."},"/platform-suite/careflow":{title:"Care Management Software | Aged Care & NDIS Software | CareFlow",description:"Care management software for aged care, disability services and NDIS providers. CareFlow is the care operations platform built for complex, compliance-heavy work."},"/platform-suite/civicflow":{title:"Council Management Software | Local Government Software Australia | CivicFlow",description:"Council management software for local government. CivicFlow brings council workflow and case management onto one platform built for the way councils actually operate."},"/platform-suite/governmentos":{title:"Government Operations Software | Public Sector Ops | GovernmentOS",description:"Government operations software for the public sector. GovernmentOS brings government workflow automation and case management onto one platform built for agency scale."},"/industries":{title:"Industries We Serve: Govt, Logistics, Healthcare | 10xGrowth Labs",description:"Deep operational expertise across government, transport & logistics, healthcare, construction and professional services - AI and automation built for complexity."},"/industries/construction-software":{title:"Construction Software Australia | Construction Management Software",description:"Construction software Australia. We build construction management and operations software that handles job management, subcontractor management and site delivery."},"/solutions":{title:"Operational Advisory, AI & Automation Solutions | 10xGrowth Labs",description:"Explore 10xGrowth Labs' solutions - operational advisory, process redesign, AI automation, business platforms and digital engineering for complex businesses."},"/enterprise":{title:"Enterprise Digital Transformation Australia | Technology Consulting",description:"Enterprise digital transformation Australia. 10xGrowth Labs delivers enterprise technology consulting, operational transformation and government digital programmes."},"/startups":{title:"Startup App Development Australia | MVP & Product Development Studio",description:"Startup app development Australia. A product development studio building MVPs and startup software for founders, with senior app developers on every build."},"/about":{title:"About 10xGrowth Labs | Digital Transformation Studio",description:"Meet the team behind 10xGrowth Labs - ex-Microsoft and enterprise leaders building digital products, AI automation and platforms for governments and founders."},"/method":{title:"Our Method: Validate, Blueprint, Build, Scale | 10xGL",description:"A proven 4-stage framework to de-risk your product build - free Validate and Blueprint stages before you commit a dollar to development. See how it works."},"/work":{title:"Custom Software Case Studies | AI, Automation & Transformation Work",description:"Custom software case studies from 10xGrowth Labs. Our software development portfolio of AI automation builds, digital transformation projects and shipped platforms."},"/portfolio":{title:"Portfolio: Apps We've Shipped in iOS, Android & Web | 10xGrowth Labs",description:"Explore 15+ live apps we've built - RideWest, Designer Wardrobe, FleetPro and more - across consumer, marketplace and B2B. Get your free app blueprint today."},"/contact":{title:"Contact Us | Book a Discovery Session – 10xGrowth Labs",description:"Talk to 10xGrowth Labs - request a capability statement, book an executive briefing, or start a founder call. We respond within one business day."},"/agency":{title:"Apps, Websites & Performance Marketing Agency | 10xGrowth Labs",description:"Full-service digital agency for apps, websites and performance marketing - trusted by 100+ Australian businesses across AU, US and Dubai. 5.0★ rated."},"/ai-readiness-assessment":{title:"AI Readiness Assessment | Business AI Maturity & Opportunity Review",description:"AI readiness asse
468ssment from 10xGrowth Labs. A structured business AI maturity and opportunity assessment that shows where AI will pay off and what to build first."},"/fleet-assessment":{title:"Free Fleet Operations Health Check | Score Your Fleet in 3 Min",description:"Free 3-minute fleet health check - score your dispatch, compliance, maintenance and billing out of 100, then get a prioritised 90-day plan. No sales pitch."},"/blueprint":{title:"Software Discovery Workshop | Digital Product Discovery & Blueprint",description:"A software discovery workshop that turns an idea into a scoped software project blueprint: application discovery, architecture, costs and a plan you can act on."},"/events/ai-business-breakfast":{title:"AI Business Breakfast - Adelaide, 9 September 2026 | 10xGrowth Labs",description:"A working session for Adelaide business leaders on practical AI implementation, hosted by 10xGrowth Labs. Wed 9 September at Stone & Chalk, Adelaide."},"/product-sprint-live":{title:"Product Sprint Live - Half-Day Prototyping Intensive | 10xGrowth Labs",description:"A half-day guided sprint for founders and business owners to define an MVP, map the core user journey and build a working prototype. Melbourne."},"/insights":{title:"AI and Software Insights | AI Automation & Transformation Articles",description:"AI and software insights from 10xGrowth Labs. Articles on AI automation, digital transformation and enterprise technology, written by the engineers who build it."},"/insights/council-transformation-stalls":{title:"Why Council Transformation Stalls - And How to Unstick It | 10xGrowth Labs",description:"Why council transformation stalls after the first platform rollout - and why an AI layer, not another platform swap, shifts the operating model."},"/insights/ai-use-cases-enterprise-operations":{title:"3 AI Use Cases Actually Paying Back in Enterprise Operations | 10xGrowth Labs",description:"Three production-proven AI patterns generating measurable ROI in regulated environments: structured extraction, embedded copilots and triage routing."},"/insights/mvp-to-market-ready":{title:"What Separates an MVP From a Market-Ready Product | 10xGrowth Labs",description:"Most MVPs are demos, not products. The renewal test - and the four things founders under-invest in - separate a prototype from something customers keep."},"/insights/field-service-without-rip-and-replace":{title:"Rebuilding Field Service Ops Without an ERP Rip-and-Replace | 10xGrowth Labs",description:"The 80/20 pattern for field service transformation: keep the ERP as the ledger, add a thin operations and AI layer, and deliver most of the value."},"/industries/government":{title:"AI for Government - Orchestration Over Existing Systems | 10xGrowth Labs",description:"An AI orchestration layer over the systems your agency already runs - SAP, Salesforce, ServiceNow, TechnologyOne and Dynamics. IRAP-aligned, AU sovereign."},"/industries/transport-logistics":{title:"AI-Augmented Fleet Operations - Built on FleetPro | 10xGrowth Labs",description:"AI orchestration over your TMS, ELD and finance systems - powered by FleetPro, the transport platform we built and run ourselves. NHVR compliance ready."},"/industries/healthcare":{title:"Digital Health & AI Copilots for Care Providers | 10xGrowth Labs",description:"AI orchestration for hospitals, primary care, aged care and NDIS providers - automating admin and claiming while clinical records stay compliant. APP aligned."},"/industries/construction":{title:"AI Platforms for Builders & Trades - Site to Office | 10xGrowth Labs",description:"A mobile-first operations layer connecting estimating, accounting and site tools - live cost-to-complete, WHS compliance, and 30–50% less project admin."},"/industries/professional-services":{title:"AI Copilots for Professional Services Firms | 10xGrowth Labs",description:"AI copilots grounded on your own matters, precedents and client data - for legal, accounting, engineering and consulting firms. IP-safe, partner-approved."},"/solutions/strategy-advisory":{title:"Digital & AI Strategy Advisory - Board-Ready | 10xGrowth Labs",description:"Fixed-fee digital and AI strategy sprints - target operating models, business cases and delivery roadmaps built by people who've actually shipped platforms."},"/solutions/business-process-transformation":{title:"Business Process Transformation & Automation | 10xGrowth Labs",description:"Redesign workflows before automating them - cutting cycle time 40–
46860% and driving 70%+ straight-through processing across intake, approvals and finance ops."},"/solutions/ai-automation":{title:"AI & Automation - Production, Governed, Grounded | 10xGrowth Labs",description:"Production-grade AI copilots, agents and document intelligence - grounded on your data and governed for privacy, risk and audit sign-off. Not another pilot."},"/solutions/digital-platforms":{title:"Custom Digital Platforms - Web, Mobile & Marketplaces | 10xGrowth Labs",description:"Custom-built platforms when off-the-shelf falls short - operational systems, customer portals, marketplaces and analytics products. Full IP ownership, in weeks."},"/solutions/enterprise-applications":{title:"Enterprise Applications - Dynamics, Salesforce, ServiceNow | 10xGrowth Labs",description:"Fix under-used Dynamics, Salesforce, ServiceNow or Zoho implementations - reconfigure modules, rebuild integrations and add an AI layer. Fixed-fee platform review."},"/solutions/managed-delivery":{title:"Managed Delivery - SLA-Backed Product & AI Teams | 10xGrowth Labs",description:"Ongoing product, platform and AI delivery - weekly releases, executive reporting and SLA-backed support. A team that ships, priced against outcomes."}},fe=({title:e,description:t,path:s,card:r="summary",jsonLd:i,noindex:a,image:o=hO,ogType:l="website"})=>{const c=s.length>1?s.replace(/\/$/,""):s,d=mO[c],u=(d==null?void 0:d.title)??e,h=(d==null?void 0:d.description)??t,m=`${co}${s}`,p=i?Array.isArray(i)?i:[i]:[];return n.jsxs(ux,{children:[n.jsx("title",{children:u}),n.jsx("meta",{name:"description",content:h}),n.jsx("link",{rel:"canonical",href:m}),n.jsx("meta",{property:"og:site_name",content:Eb}),n.jsx("meta",{property:"og:type",content:l}),n.jsx("meta",{property:"og:title",content:u}),n.jsx("meta",{property:"og:description",content:h}),n.jsx("meta",{property:"og:url",content:m}),n.jsx("meta",{property:"og:image",content:o}),n.jsx("meta",{property:"og:image:alt",content:`${Eb} — ${u}`}),n.jsx("meta",{name:"twitter:card",content:r}),n.jsx("meta",{name:"twitter:title",content:u}),n.jsx("meta",{name:"twitter:description",content:h}),n.jsx("meta",{name:"twitter:image",content:o}),a&&n.jsx("meta",{name:"robots",content:"noindex, nofollow"}),p.map((x,y)=>n.jsx("script",{type:"application/ld+json",children:JSON.stringify(x)},y))]})},pO="/assets/hero-bg-BlVIqJfr.jpg",fO=()=>{const e=[{value:"50+",label:`Products
469Launched`},{value:"15+",label:`Years Enterprise
470Experience`},{value:"5.0",label:`Google
471& Clutch`,isStars:!0},{value:"🇦🇺 🇺🇸 🇦🇪",label:"AU · US · Dubai"}];return n.jsxs("section",{className:"relative overflow-hidden",children:[n.jsxs("div",{className:"absolute inset-0 pointer-events-none",children:[n.jsx("img",{src:pO,alt:"",className:"absolute inset-0 w-full h-full object-cover opacity-60",width:1920,height:1088}),n.jsx("div",{className:"absolute inset-0 bg-gradient-to-b from-background/70 via-background/85 to-background"})]}),n.jsxs("div",{className:"relative z-10 container mx-auto max-w-5xl px-6 py-20 md:py-28 text-center",children:[n.jsx("div",{className:"inline-flex items-center gap-2 px-5 py-2 rounded-full border border-primary/40 bg-primary/5 backdrop-blur-sm mb-8",children:n.jsx("span",{className:"text-[11px] md:text-xs font-bold font-display tracking-[0.18em] text-primary uppercase",children:"Apps · Websites · Marketing"})}),n.jsxs("h1",{className:"text-4xl md:text-6xl lg:text-7xl font-bold font-display leading-[1.05] tracking-tight mb-6",children:["The Specialist Partner for",n.jsx("br",{}),n.jsx("span",{className:"text-gradient-teal",children:"Apps & Marketing."})]}),n.jsxs("p",{className:"text-base md:text-lg text-muted-foreground max-w-3xl mx-auto leading-relaxed mb-10",children:["A full-service studio building",n.jsx("span",{className:"text-foreground font-medium",children:" custom apps, modern websites,"})," and",n.jsx("span",{className:"text-foreground font-medium",children:" performance marketing"})," — engineered for ambitious businesses across AU, US and Dubai."]}),n.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-center gap-4 mb-4",children:[n.jsxs("a",{href:"#contact",className:"group inline-flex items-center gap-2 bg-primary text-primary-foreground px-8 py-4 rounded-xl font-bold font-display text-base shadow-[0_10px_40px_-10px_hsl(var(--teal)/0.6)] hover:scale-[1.02] transition-all",children:["Book a Free Consultation",n.jsx(W,{className:"w-5 h-5 group-hover:translate-x-1 transition-transform"})]}),n.jsxs("a",{href:"#services",className:"inline-flex items-center gap-2 text-foreground hover:text-primary transition-colors font-display font-semibold text-sm group",children:["View Our Services",n.jsx(W,{className:"w-4 h-4 group-hover:translate-x-1 transition-transform"})]})]}),n.jsx("p",{className:"text-muted-foreground text-xs md:text-sm",children:"30-minute call · tailored roadmap · no obligation."}),n.jsx("div",{className:"mt-16 grid grid-cols-2 md:grid-cols-4 gap-6 md:gap-4 pt-10 border-t border-border/40",children:e.map((t,s)=>n.jsxs("div",{className:"flex flex-col items-center text-center",children:[t.isStars?n.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[n.jsx("span",{className:"text-2xl md:text-3xl font-bold font-display text-gradient-teal",children:t.value}),n.jsx("div",{className:"flex gap-0.5",children:[...Array(5)].map((r,i)=>n.jsx(pu,{className:"w-3 h-3 fill-gold text-gold"},i))})]}):n.jsx("div",{className:"text-2xl md:text-3xl font-bold font-display text-gradient-teal mb-2",children:t.value}),n.jsx("div",{className:"text-xs md:text-sm text-muted-foreground whitespace-pre-line leading-tight",children:t.label})]},s))})]})]})},gO=()=>{const e=["Collective","Horizons","My Care Options","Total Clad","Beautifun","SA Sealing","Jericho Skincare","DJM Builders","Gone Dotty","Harbour","Watson","Aussie","Online Showroom","Origani","Aquatek"];return n.jsxs("section",{className:"py-10 overflow-hidden bg-card/30 border-y border-border/30",children:[n.jsx("div",{className:"container mx-auto max-w-6xl mb-6 px-6",children:n.jsx("p",{className:"text-xs font-display font-semibold tracking-widest text-muted-foreground uppercase",children:"TRUSTED BY 100+ AUSTRALIAN BUSINESSES"})}),n.jsx("div",{className:"flex animate-marquee whitespace-nowrap",children:[...e,...e].map((t,s)=>n.jsx("div",{className:"inline-flex items-center justify-center mx-3 px-8 py-3 bg-secondary/30 border border-border/20 rounded-lg min-w-[140px]",children:n.jsx("span",{className:"text-sm font-semibold text-muted-foreground
471/70 tracking-wide",children:t})},s))})]})},Tb=[{id:"marketing",label:"Marketing",headline:"Performance Marketing That Drives Real Results",description:"Data-driven marketing strategies that attract, convert, and retain customers — delivering measurable ROI across every channel.",benefits:[{icon:Nx,text:"Boost Organic & Paid Traffic"},{icon:Sx,text:"Generate Qualified Leads"},{icon:mh,text:"Maximise Return On Ad Spend"}],services:[{icon:TN,title:"Social Media Marketing",desc:"Strategic content, community management, and paid social campaigns across Facebook, Instagram, LinkedIn & TikTok."},{icon:jx,title:"Google Ads (PPC)",desc:"Targeted search, display, and shopping campaigns managed by certified Google Ads partners for maximum ROI."},{icon:EN,title:"SEO Services",desc:"Technical SEO, content strategy, and link building to dominate organic search rankings long-term."},{icon:mP,title:"Content Marketing",desc:"High-quality blog posts, case studies, and lead magnets that establish authority and drive inbound leads."}]},{id:"websites",label:"Websites",headline:"Websites Built To Convert Visitors Into Customers",description:"Modern, fast, mobile-first websites designed for conversions — not just aesthetics. Every pixel serves a purpose.",benefits:[{icon:fu,text:"Lightning-Fast Load Times"},{icon:df,text:"Conversion-Optimised Design"},{icon:mu,text:"Fully Responsive & Accessible"}],services:[{icon:cf,title:"WordPress Websites",desc:"Custom WordPress sites with intuitive CMS, SEO-ready architecture, and easy content management for your team."},{icon:lf,title:"Custom Web Development",desc:"Bespoke web applications and platforms built with modern frameworks for complex business requirements."},{icon:df,title:"Shopify & E-Commerce",desc:"High-converting online stores with seamless checkout, inventory management, and payment integration."},{icon:mu,title:"Landing Pages & Funnels",desc:"Conversion-focused landing pages and marketing funnels designed to capture leads and drive sales."}]},{id:"apps",label:"AI & Apps",headline:"Custom Apps & AI Solutions Engineered For Scale",description:"From native mobile apps to AI-powered automation — we build the digital tools that give your business a competitive edge.",benefits:[{icon:fi,text:"Native iOS & Android Apps"},{icon:hu,text:"AI-Powered Automation"},{icon:fu,text:"Scalable Cloud Architecture"}],services:[{icon:fi,title:"iPhone App Development",desc:"Native Swift iOS applications with beautiful UX, push notifications, and App Store optimisation."},{icon:fi,title:"Android App Development",desc:"Kotlin-based Android apps built for performance, security, and seamless Google Play deployment."},{icon:lf,title:"Flutter App Development",desc:"Cross-platform apps from a single codebase — ship to iOS, Android, and web simultaneously."},{icon:hu,title:"AI Agents & Automation",desc:"Intelligent chatbots, lead qualification bots, and workflow automation powered by the latest AI models.",isLabs:!0}]}],xO=()=>{const[e,t]=w.useState("marketing"),s=Tb.find(r=>r.id===e);return n.jsx("section",{className:"py-24 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-6xl",children:[n.jsxs("div",{className:"text-center mb-12",children:[n.jsx("p",{className:"text-primary text-sm font-semibold tracking-widest uppercase mb-3 font-display",children:"OUR SERVICES"}),n.jsxs("h2",{className:"text-3xl md:text-4xl lg:text-5xl font-bold font-display leading-tight",children:["Full-Spectrum ",n.jsx("span",{className:"text-gradient-teal",children:"Digital Solutions"}),n.jsx("br",{}),"Engineered For Growth"]})]}),n.jsx("div",{className:"flex items-center justify-center gap-2 mb-14",children:Tb.map(r=>n.jsx("button",{onClick:()=>t(r.id),className:`px-6 py-3 rounded-xl text-sm font-bold font-display tracking-wider transition-all ${e===r.id?"bg-primary text-primary-foreground shadow-[0_0_20px_hsl(var(--teal)/0.3)]":"bg-secondary/50 text-muted-foreground hover:text-foreground hover:bg-secondary"}`,children:r.label},r.id))}),n.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-5 gap-8",children:[n.jsxs("div",{className:"lg:col-span-2",children:[n.jsx("h3",{className:"text-2xl md:text-3xl font-bold font-display leading-tight mb-4",children:s.headline}),n.jsx("p",{className:"text-muted-foreground text-base leading-relaxed mb-8",children:s.description}),n.jsx("div",{className:"space-y-4 mb-8",children:s.benefits.map((r,i)=>n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:"w-9 h-9 rounded-lg bg-primary/10 flex items-center justify-center shrink-0",children:n.jsx(r.icon,{className:"w-4 h-4 text-primary"})}),n.jsx("span",{className:"text-sm font-semibold text-foreground",children:r.text})]},i))}),n.jsxs("a",{href:"#contact",className:"group inline-flex items-center gap-2 bg-primary text-primary-foreground px-6 py-3 rounded-xl font-bold font-display text-sm hover:scale-[1.02] transition-all",children:["Get Started",n.jsx(W,{className:"w-4 h-4 group-hover:translate-x-1 transition-transform"})]})]}),n.jsx("div",{className:"lg:col-span-3 grid grid-cols-1 sm:grid-cols-2 gap-4",children:s.services.map((r,i)=>n.jsxs("div",{className:`group p-5 rounded-2xl border transition-all duration-300 hover:-translate-y-1 ${r.isLabs?"border-labs/30 bg-secondary/20 hover:border-labs/50 hover:shadow-[0_8px_30px_hsl(var(--labs-pulse)/0.12)]":"border-border hover:border-primary/30 hover:shadow-[0_8px_30px_hsl(var(--teal)/0.06)]"}`,children:[n.jsx("div",{className:`w-10 h-10 rounded-xl flex items-center justify-center mb-3 ${r.isLabs?"bg-gradient-labs":"bg-primary/10 group-hover:bg-primary/15"} transition-colors`,children:n.jsx(r.icon,{className:`w-5 h-5 ${r.isLabs?"text-primary-foreground":"text-primary"}`})}),n.jsx("h4",{className:"font-display font-bold text-base mb-1.5",children:r.title}),n.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed",children:r.desc}),r.isLabs&&n.jsxs(L,{to:"/labs",className:"inline-flex items-center gap-1.5 text-xs font-semibold mt-3 hover:opacity-80 transition-opacity",children:[n.jsx(NN,{className:"w-3 h-3 text-labs"}),n.jsx("span",{className:"bg-gradient-labs bg-clip-text text-transparent font-bold",children:"Powered by Labs"})]})]},i))})]})]})})},yO=[{icon:Sx,value:"100+",label:"Businesses Scaled"},{icon:Nx,value:"10x",label:"Average Growth"},{icon:bN,value:"5.0★",label:"Google Rating"},{icon:eP,value:"24/7",label:"AI Support"}],vO=()=>n.jsx("section",{className:"py-20 px-6 border-t border-border/50",children:n.jsx("div",{className:"container mx-auto max-w-6xl",children:n.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-12 items-center",children:[n.jsx("div",{className:"grid grid-cols-2 gap-4",children:yO.map((e,t)=>n.jsxs("div",{className:"group p-6 rounded-2xl border border-border hover:border-primary/30 transition-all text-center",children:[n.jsx("div",{className:"w-10 h-10 rounded-xl bg-primary/10 flex items-center justify-center mx-auto mb-3 group-hover:bg-primary/20 transition-colors",children:n.jsx(e.icon,{className:"w-5 h-5 text-primary"})}),n.jsx("div",{className:"text-3xl font-bold font-display text-gradient-teal mb-1",children:e.value}),n.jsx("div",{className:"text-sm text-muted-foreground",children:e.label})]},t))}),n.jsxs("div",{children:[n.jsx("p",{className:"text-primary text-sm font-semibold tracking-widest uppercase mb-3 font-display",children:"WHY 10XGROWTH"}),n.jsxs("h2",{className:"text-3xl md:text-4xl font-bold font-display mb-6 leading-tight",children:["Results that ",n.jsx("span",{className:"text-gradient-teal",children:"speak for themselves"})]}),n.jsx("p",{className:"text-muted-foreground text-base leading-relaxed mb-8",children:"We've helped over 100 Australian businesses scale with performance marketing, custom websites, mobile apps, and AI-powered automation. Our clients don't just grow — they dominate."}),n.jsxs("a",{href:"#contact",className:"group inline-flex items-center gap-2 bg-primary text-primary-foreground px-8 py-3.5 rounded-xl font-bold font-display text-sm hover:scale-[1.02] transition-all tracking-wide",children:["Start Growing Today",n.jsx(W,{className:"w-4 h-4 group-hover:translate-x-1 transition-transform"})]})]})]})})}),Pb=[{name:"Emma R.",company:"My Care Options",text:"The custom app they built streamlined our entire intake process. Clients can now book, upload documents, and track progress from their phone.",category:"App Development",categoryIcon:fi,result:"Custom app launched",rating:5},{name:"Sarah M.",company:"Jericho Skincare",text:"Our Google Ads campaigns went from break-even to 6x ROAS in just 3 months. The team really understands performance marketing.",category:"Google Ads",categoryIcon:jx,result:"6x ROAS",rating:5},{name:"David L.",company:"Total Clad & Coat",text:"They rebuilt our website from scratch — it's faster, looks incredible, and our enquiry rate doubled within weeks of launching.",category:"Website",categoryIcon:cf,result:"2x enquiries",rating:5},{name:"James T.",company:"SA Sealing",text:"The AI chatbot handles 80% of our after-hours enquiries automatically. We went from missing leads to booking jobs 24/7.",category:"AI & Automation",categoryIcon:hu,result:"80% auto-handled",rating:5},{name:"Ryan P.",company:"Origani",text:"Their social media strategy grew our Instagram following by 400% and directly drove a 35% increase in online sales.",category:"Social Media",categoryIcon:TN,result:"400% follower growth",rating:5},{name:"Lisa C.",company:"Beautifun",text:"Our e-commerce conversion rate jumped 45% after the site redesign. The UX improvements made a massive difference to revenue.",category:"E-Commerce",categoryIcon:wP,result:"45% more conversions",rating:5},{name:"Chris D.",company:"Online Showroom",text:"They built a product configurator that lets customers design their own furniture online. It's been a huge competitive advantage.",category:"Web App",categoryIcon:mu,result:"Custom configurator",rating:5},{name:"Michelle K.",company:"DJM Builders",text:"We went from page 5 to the top 3 on Google for our key terms. The SEO work has been a game-changer for lead generation.",category:"SEO",categoryIcon:EN,result:"Top 3 rankings",rating:5},{name:"Steve B.",company:"Aussie Outdoors",text:"The landing pages they create for our campaigns consistently convert at 12%+. Best marketing partner we've ever worked with.",category:"Landing Pages",categoryIcon:cf,result:"12%+ conversion",rating:5},{name:"Nina F.",company:"Gone Dotty",text:"The custom Shopify integration saved us hours of manual work every week. Stock syncs automatically and orders just flow through.",category:"Integration",categoryIcon:lf,result:"Hours saved weekly",rating:5},{name:"Ben A.",company:"Aquatek Solutions",text:"From Facebook to Google to LinkedIn — they manage all our paid channels and we've seen a 3x increase in qualified leads.",category:"Paid Media",categoryIcon:hP,result:"3x qualified leads",rating:5},{name:"Tom W.",company:"Harbour Group",text:"The rebrand they delivered was spot on — new logo, colour palette, and brand guidelines that actually feel like us. Clients love it.",category:"Branding",categoryIcon:df,result:"Full rebrand",rating:5},{name:"Priya N.",company:"Horizons Health",text:"Our content marketing strategy went from zero to 15,000 organic visits per month in under six months. Incredible ROI.",category:"Content",categoryIcon:_N,result:"15K monthly visits",rating:5}],bO=()=>{const e=w.useRef(null);
471w.useEffect(()=>{const s=e.current;if(!s)return;let r,i=.5,a=!1;const o=()=>{!a&&s&&(s.scrollLeft+=i,s.scrollLeft>=s.scrollWidth/2&&(s.scrollLeft=0)),r=requestAnimationFrame(o)},l=()=>{a=!0},c=()=>{a=!1};return s.addEventListener("mouseenter",l),s.addEventListener("mouseleave",c),r=requestAnimationFrame(o),()=>{cancelAnimationFrame(r),s.removeEventListener("mouseenter",l),s.removeEventListener("mouseleave",c)}},[]);const t=[...Pb,...Pb];return n.jsxs("section",{className:"py-24 bg-card/30 border-t border-border/30",children:[n.jsx("div",{className:"container mx-auto max-w-6xl px-6",children:n.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-8 mb-12 items-end",children:[n.jsxs("div",{children:[n.jsx("p",{className:"text-primary text-sm font-semibold tracking-widest uppercase mb-3 font-display",children:"CLIENT RESULTS"}),n.jsxs("h2",{className:"text-3xl md:text-4xl font-bold font-display leading-tight",children:["Real results across ",n.jsx("span",{className:"text-gradient-teal",children:"every service"})]})]}),n.jsx("div",{className:"md:text-right",children:n.jsxs("div",{className:"inline-flex items-center gap-2 bg-secondary/50 px-4 py-2 rounded-full",children:[n.jsx("div",{className:"w-6 h-6 bg-foreground rounded-full flex items-center justify-center text-background font-bold text-[10px]",children:"G"}),n.jsx("span",{className:"font-bold font-display",children:"5.0"}),[...Array(5)].map((s,r)=>n.jsx(pu,{className:"w-3.5 h-3.5 fill-gold text-gold"},r)),n.jsx("span",{className:"text-muted-foreground text-sm ml-1",children:"30+ Reviews"})]})})]})}),n.jsx("div",{ref:e,className:"flex gap-4 overflow-x-hidden pb-4 px-6",children:t.map((s,r)=>n.jsxs("div",{className:"group shrink-0 w-[320px] p-6 rounded-2xl border border-border hover:border-primary/20 bg-background transition-all hover:-translate-y-1 hover:shadow-[0_8px_30px_hsl(var(--teal)/0.06)]",children:[n.jsxs("div",{className:"flex items-center justify-between mb-4",children:[n.jsxs("span",{className:"inline-flex items-center gap-1.5 text-[11px] font-bold px-2.5 py-1 rounded-full bg-primary/10 text-primary uppercase tracking-wider",children:[n.jsx(s.categoryIcon,{className:"w-3 h-3"}),s.category]}),n.jsx("span",{className:"text-xs font-bold text-gradient-teal font-display",children:s.result})]}),n.jsx(yP,{className:"w-6 h-6 text-primary/15 mb-3"}),n.jsxs("p",{className:"text-foreground text-sm leading-relaxed mb-6 line-clamp-4",children:['"',s.text,'"']}),n.jsxs("div",{className:"flex items-center justify-between pt-4 border-t border-border/50",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:"w-9 h-9 rounded-full bg-primary/10 border border-border/50 flex items-center justify-center text-primary font-display font-bold text-xs shrink-0",children:s.company.split(" ").map(i=>i[0]).join("").slice(0,2)}),n.jsxs("div",{children:[n.jsx("p",{className:"font-display font-bold text-sm",children:s.name}),n.jsx("p",{className:"text-muted-foreground text-xs",children:s.company})]})]}),n.jsx("div",{className:"flex gap-0.5",children:[...Array(s.rating)].map((i,a)=>n.jsx(pu,{className:"w-3 h-3 fill-gold text-gold"},a))})]})]},r))})]})},wO=()=>n.jsxs("section",{className:"py-24 px-6 relative overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_center,hsl(var(--teal)/0.06)_0%,transparent_60%)]"}),n.jsx("div",{className:"relative container mx-auto max-w-6xl",children:n.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-12 items-center",children:[n.jsxs("div",{children:[n.jsx("p",{className:"text-primary text-sm font-semibold tracking-widest uppercase mb-3 font-display",children:"GET STARTED"}),n.jsxs("h2",{className:"text-3xl md:text-4xl lg:text-5xl font-bold font-display leading-tight mb-6",children:["Ready to ",n.jsx("span",{className:"text-gradient-teal",children:"10x"})," your growth?"]}),n.jsx("p",{className:"text-muted-foreground text-base leading-relaxed mb-8 max-w-md",children:"Book a free consultation and discover how our marketing, apps, and AI solutions can transform your business."}),n.jsxs("a",{href:"#contact",className:"group inline-flex items-center gap-2 bg-primary text-primary-foreground px-10 py-4 rounded-xl font-bold font-display text-base hover:scale-[1.02] transition-all",children:["Book Your Free Consultation",n.jsx(W,{className:"w-5 h-5 group-hover:translate-x-1 transition-transform"})]})]}),n.jsxs("div",{className:"space-y-4",children:[n.jsxs("a",{href:"tel:+61883679649",className:"flex items-center gap-4 p-5 rounded-2xl border border-border hover:border-primary/30 transition-all group",children:[n.jsx("div",{className:"w-12 h-12 rounded-xl bg-primary/10 flex items-center justify-center shrink-0 group-hover:bg-primary/20 transition-colors",children:n.jsx(Ut,{className:"w-5 h-5 text-primary"})}),n.jsxs("div",{children:[n.jsx("p",{className:"font-display font-bold text-sm",children:"Call Us"}),n.jsx("p",{className:"text-muted-foreground text-sm",children:"+61 8 8367 9649"})]})]}),n.jsxs("a",{href:"mailto:[email protected]",className:"flex items-center gap-4 p-5 rounded-2xl border border-border hover:border-primary/30 transition-all group",children:[n.jsx("div",{className:"w-12 h-12 rounded-xl bg-primary/10 flex items-center justify-center shrink-0 group-hover:bg-primary/20 transition-colors",children:n.jsx(ro,{className:"w-5 h-5 text-primary"})}),n.jsxs("div",{children:[n.jsx("p",{className:"font-display font-bold text-sm",children:"Email Us"}),n.jsx("p",{className:"text-muted-foreground text-sm",children:"[email protected]"})]})]}),n.jsxs("div",{className:"flex items-center gap-4 p-5 rounded-2xl border border-border",children:[n.jsx("div",{className:"w-12 h-12 rounded-xl bg-primary/10 flex items-center justify-center shrink-0",children:n.jsx(nc,{className:"w-5 h-5 text-primary"})}),n.jsxs("div",{children:[n.jsx("p",{className:"font-display font-bold text-sm",children:"Visit Us"}),n.jsx("p",{className:"text-muted-foreground text-sm",children:"Level 1, 74 O'Connell St, North Adelaide SA 5006"})]})]})]})]})})]}),jO=()=>n.jsxs("div",{className:"min-h-screen bg-background",children:[n.jsx(fe,{title:"10xGrowth Agency — Marketing, Websites, Apps & AI",description:"Full-service Australian digital agency: SEO, paid media, websites, mobile apps, and AI automation built for growth.",path:"/agency"}),n.jsx(dO,{}),n.jsx(uO,{}),n.jsx(fO,{}),n.jsx(gO,{}),n.jsx(xO,{}),n.jsx(vO,{}),n.jsx(bO,{}),n.jsx(wO,{})]}),rl={label:"0433 975 469",href:"tel:+61433975469"},F2=[{title:"All Products",to:"/platform-suite",desc:"Overview of the suite"},{title:"FleetPro",to:"/platform-suite/fleetpro",desc:"Fleet & logistics"},{title:"OpsSync",to:"/platform-suite/opssync",desc:"Operations & workforce"}
471,{title:"CareFlow",to:"/platform-suite/careflow",desc:"Care operations"},{title:"CivicFlow",to:"/platform-suite/civicflow",desc:"Local government"},{title:"GovernmentOS",to:"/platform-suite/governmentos",desc:"AI operating platform for government"},{title:"Fleet Health Check",to:"/fleet-assessment",desc:"Free 3-minute fleet assessment"}],B2=[{title:"Startup Studio",to:"/startups"},{title:"Work",to:"/work"},{title:"Insights",to:"/insights"},{title:"About",to:"/about"},{title:"Contact",to:"/contact"}],ku={title:"Events",to:"/events/ai-business-breakfast"},U2=[{title:"AI Consulting",to:"/services/ai",desc:"Readiness, sprints, roadmap"},{title:"Automation",to:"/services/automation",desc:"Workflow & ops automation"},{title:"Digital",to:"/services/digital",desc:"App, CRM & custom dev"}],kO=({className:e=""})=>n.jsx(kh,{className:e,size:"md"}),ac=({ctaHref:e="/contact"})=>{const[t,s]=w.useState(!1),[r,i]=w.useState(null),a=l=>i(c=>c===l?null:l),o="text-foreground/75 hover:text-foreground transition-colors";return n.jsxs("nav",{className:"bg-background/90 backdrop-blur-md border-b border-foreground
471/10 px-4 sm:px-8 py-3 sticky top-0 z-50",children:[n.jsxs("div",{className:"container mx-auto max-w-7xl flex items-center justify-between",children:[n.jsx(L,{to:"/",className:"flex items-center",children:n.jsx(kO,{})}),n.jsxs("div",{className:"hidden lg:flex items-center gap-7 text-[14px] font-medium",children:[n.jsx(Ib,{label:"Platform Suite",items:F2}),n.jsx(Ib,{label:"Services",items:U2}),B2.map(l=>n.jsx(L,{to:l.to,className:o,children:l.title},l.to)),n.jsx(L,{to:ku.to,className:"text-primary font-semibold hover:opacity-80 transition-opacity",children:ku.title})]}),n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsxs("div",{className:"hidden sm:flex flex-col items-stretch gap-[12px]",children:[n.jsx(L,{to:e,className:"inline-flex items-center justify-center gap-2 bg-foreground text-background px-5 py-2 text-[12px] font-semibold tracking-wide uppercase hover:bg-foreground/85 transition-colors",children:"Book Discovery Session"}),n.jsxs("a",{href:rl.href,className:"inline-flex items-center justify-center gap-2 bg-foreground text-background px-5 py-2 text-[12px] font-semibold tracking-wide uppercase hover:bg-foreground
471/85 transition-colors","aria-label":`Call ${rl.label}`,children:[n.jsx(Ut,{className:"w-3 h-3"}),rl.label]})]}),n.jsx("button",{onClick:()=>s(l=>!l),className:"lg:hidden inline-flex items-center justify-center w-10 h-10 border border-foreground/20 text-foreground","aria-label":"Toggle menu",children:t?n.jsx(ar,{className:"w-4 h-4"}):n.jsx(vx,{className:"w-4 h-4"})})]})]}),t&&n.jsx(NO,{ctaHref:e,onClose:()=>s(!1),openSection:r,toggle:a})]})},Ib=({label:e,items:t})=>n.jsxs("div",{className:"relative group",children:[n.jsxs("button",{className:"inline-flex items-center gap-1 text-foreground/75 hover:text-foreground transition-colors py-2",children:[e," ",n.jsx(Ar,{className:"w-3.5 h-3.5"})]}),n.jsx("div",{className:"invisible opacity-0 group-hover:visible group-hover:opacity-100 transition-opacity absolute left-1/2 -translate-x-1/2 top-full pt-3 w-[320px] z-50",children:n.jsx("div",{className:"bg-background border border-foreground/15 shadow-lg",children:t.map(s=>n.jsxs(L,{to:s.to,className:"block px-5 py-3.5 border-b border-foreground
471/10 last:border-b-0 hover:bg-secondary/60 transition-colors",children:[n.jsx("div",{className:"font-display text-[15px] leading-tight",children:s.title}),n.jsx("div",{className:"text-xs text-foreground/55 mt-0.5",children:s.desc})]},s.to))})})]}),NO=({ctaHref:e,onClose:t,openSection:s,toggle:r})=>{const i="block px-4 py-3.5 text-sm font-medium text-foreground/80 hover:text-foreground border-b border-foreground/10",a=({id:o,label:l,items:c})=>n.jsxs(n.Fragment,{children:[n.jsxs("button",{onClick:()=>r(o),className:`${i} w-full flex items-center justify-between text-left`,children:[l,n.jsx(Ar,{className:`w-4 h-4 transition-transform ${s===o?"rotate-180":""}`})]}),s===o&&n.jsx("div",{className:"bg-secondary/40",children:c.map(d=>n.jsx(L,{to:d.to,onClick:t,className:`${i} pl-8`,children:d.title},d.to))})]});return n.jsxs("div",{className:"lg:hidden mt-4 pt-2 border-t border-foreground/10",children:[n.jsx(a,{id:"products",label:"Platform Suite",items:F2}),n.jsx(a,{id:"services",label:"Services",items:U2}),B2.map(o=>n.jsx(L,{to:o.to,onClick:t,className:i,children:o.title},o.to)),n.jsx(L,{to:ku.to,onClick:t,className:`${i} text-primary font-semibold`,children:ku.title}),n.jsxs("a",{href:rl.href,className:`${i} flex items-center gap-2 text-primary font-semibold`,children:[n.jsx(Ut,{className:"w-4 h-4"}),"Call ",rl.label]}),n.jsx(L,{to:e,onClick:t,className:"block mt-4 mx-4 text-center bg-foreground text-background px-5 py-3 text-xs font-semibold tracking-wide uppercase",children:"Book Discovery Session"})]})},Le=({children:e})=>n.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[n.jsx(ac,{}),e]}),SO=[{n:"01",key:"FRAME",line:"Understand the business, define the challenge, establish direction.",bullets:["Discovery workshops with leadership & operators","Map current state, pain points and constraints","Define success metrics and business outcomes","Align stakeholders on scope and direction"]},{n:"02",key:"UNIFY",line:"Connect people, processes, systems and data into one operating model.",bullets:["Redesign broken workflows before automating them","Consolidate systems, data and tooling","Standardise operating procedures","Create a single source of truth"]},{n:"03",key:"SOLVE",line:"Engineer intelligent platforms using AI, automation and modern software.",bullets:["Build custom platforms, apps and CRMs","Deploy AI agents and workflow automation","Integrate with existing enterprise stack","Ship in sprints, not multi-year programs"]},{n:"04",key:"EVOLVE",line:"Continuously optimise, improve and scale with the business.",bullets:["Measure adoption, ROI and operational impact","Iterate based on real user feedback","Expand platform capability over time","Ongoing support, tuning and enablement"]}],AO=()=>{const e=w.useRef(null),[t,s]=w.useState(!1);return w.useEffect(()=>{const r=e.current;if(!r)return;const i=new IntersectionObserver(([a])=>a.isIntersecting&&s(!0),{threshold:.15});return i.observe(r),()=>i.disconnect()},[]),{ref:e,inView:t}},_O=()=>{const{ref:e,inView:t}=AO();
471return n.jsx("section",{className:"border-t border-foreground/10 py-24 md:py-32 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"grid md:grid-cols-12 gap-8 mb-20",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:"How we think"}),n.jsx("div",{className:"hairline max-w-[3rem]"})]}),n.jsxs("div",{className:"md:col-span-8",children:[n.jsxs("h2",{className:"font-display text-3xl md:text-5xl lg:text-6xl leading-[1.02] tracking-tight",children:["FUSE",n.jsx("sup",{className:"font-display text-base md:text-xl align-super text-foreground/40 ml-1",children:"™"}),n.jsx("br",{}),n.jsx("span",{className:"font-serif-italic text-foreground/70",children:"Our operating framework."})]}),n.jsx("p",{className:"mt-6 text-foreground/60 max-w-lg text-sm md:text-base leading-relaxed",children:"Not a delivery process. A philosophy for solving complex operational problems."})]})]}),n.jsx("div",{ref:e,children:n.jsx("ol",{className:"grid gap-5 md:gap-6 md:grid-cols-2 lg:grid-cols-4",children:SO.map((s,r)=>n.jsxs("li",{className:`group relative flex flex-col bg-background border border-foreground
471/10 rounded-xl p-7 md:p-8 hover:border-foreground/30 hover:shadow-[0_8px_30px_-12px_rgba(0,0,0,0.15)] transition-all duration-500 ease-out ${t?"opacity-100 translate-y-0":"opacity-0 translate-y-3"}`,style:{transitionDelay:`${r*120}ms`},children:[n.jsxs("div",{className:"flex items-center justify-between mb-6",children:[n.jsx("span",{className:"text-[11px] font-semibold tracking-[0.22em] text-foreground/40",children:s.n}),n.jsx("span",{className:"w-2.5 h-2.5 rounded-full bg-foreground","aria-hidden":!0})]}),n.jsx("h3",{className:"font-display text-3xl md:text-4xl tracking-tight leading-none mb-4",children:s.key}),n.jsx("p",{className:"text-sm text-foreground/60 leading-relaxed mb-6",children:s.line}),n.jsx("ul",{className:"mt-auto space-y-2.5 pt-6 border-t border-foreground/10",children:s.bullets.map(i=>n.jsxs("li",{className:"flex gap-3 text-[13px] leading-snug text-foreground/75",children:[n.jsx("span",{className:"mt-[7px] w-1 h-1 rounded-full bg-foreground/50 flex-none","aria-hidden":!0}),n.jsx("span",{children:i})]},i))})]},s.key))})})]})})},Rb=[{id:"government",industry:"Government & Council",platform:"GovernmentOS",platformTo:"/platform-suite/governmentos",current:["Service requests","Manual approvals","Siloed systems","Compliance reporting","Poor visibility"],future:["AI triage","Digital workflows","Unified data","Auditable automation"]},{id:"transport",industry:"Transport & Logistics",platform:"FleetPro",platformTo:"/platform-suite/fleetpro",current:["Fatigue compliance","Manual dispatch","Driver paperwork","Fleet visibility","Multiple systems"],future:["Real-time visibility","Reduced manual work","Compliance automation","Live operations"]},{id:"local-government",industry:"Local Government",platform:"CivicFlow",platformTo:"/platform-suite/civicflow",current:["Resident requests","Manual approvals","Legacy systems","Department silos","Poor visibility"],future:["Digital workflows","Citizen experience","Automation","Operational visibility"]},{id:"construction",industry:"Construction",platform:"OpsSync",platformTo:"/platform-suite/opssync",current:["Site communication","Compliance","Workforce scheduling","Paper-based processes"],future:["Mobile workforce","Digital inspections","Automation","Live reporting"]},{id:"care",industry:"Care Providers",platform:"CareFlow",platformTo:"/platform-suite/careflow",current:["Rostering","Compliance","Client documentation","Workforce coordination"],future:["Digital care","Automation","Scheduling","Operational visibility"]}],CO=()=>{const[e,t]=w.useState("transport");
471return n.jsx("section",{className:"border-t border-foreground/10 py-24 md:py-32 px-6 bg-[#0d0d0d] text-[#f5f3ee]",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"grid md:grid-cols-12 gap-8 mb-16",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"text-[11px] font-semibold tracking-[0.22em] uppercase text-[#f5f3ee]/60 mb-4",children:"Operational Playbooks"}),n.jsx("div",{className:"h-px w-12 bg-[#f5f3ee]/30"})]}),n.jsx("div",{className:"md:col-span-8",children:n.jsxs("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:["We know how your",n.jsx("br",{}),n.jsx("span",{className:"font-serif-italic text-[#f5f3ee]/60",children:"business actually runs."})]})})]}),n.jsx("ul",{className:"border-t border-[#f5f3ee]/20",children:Rb.map(s=>{const r=e===s.id;return n.jsxs("li",{className:"border-b border-[#f5f3ee]/20",children:[n.jsxs("button",{onClick:()=>t(r?null:s.id),className:"w-full flex items-center justify-between gap-6 py-7 md:py-9 text-left group","aria-expanded":r,children:[n.jsxs("div",{className:"flex items-baseline gap-6 md:gap-10 min-w-0",children:[n.jsxs("span",{className:"text-[11px] font-semibold tracking-[0.22em] text-[#f5f3ee]/45 tabular-nums shrink-0",children:["0",Rb.indexOf(s)+1]}),n.jsx("h3",{className:"font-display text-2xl md:text-4xl leading-tight tracking-tight truncate",children:s.industry})]}),n.jsxs("div",{className:"flex items-center gap-6 shrink-0",children:[n.jsx("span",{className:"hidden md:inline text-[11px] font-semibold tracking-[0.22em] text-[#f5f3ee]/55 uppercase",children:s.platform}),n.jsx("span",{className:"w-9 h-9 border border-[#f5f3ee]/30 flex items-center justify-center group-hover:bg-[#f5f3ee] group-hover:text-[#0d0d0d] transition-colors",children:r?n.jsx(pP,{className:"w-4 h-4"}):n.jsx(xP,{className:"w-4 h-4"})})]})]}),n.jsx("div",{className:`grid transition-all duration-500 ease-out ${r?"grid-rows-[1fr] opacity-100":"grid-rows-[0fr] opacity-0"}`,children:n.jsx("div",{className:"overflow-hidden",children:n.jsxs("div",{className:"grid md:grid-cols-3 gap-10 md:gap-16 pb-10 md:pb-14 pt-2 md:pl-24",children:[n.jsxs("div",{children:[n.jsx("div",{className:"text-[11px] font-semibold tracking-[0.22em] uppercase text-[#f5f3ee]/60 mb-5",children:"Current state"}),n.jsx("ul",{className:"space-y-2.5",children:s.current.map(i=>n.jsx("li",{className:"text-[#f5f3ee]/50 text-[15px] line-through decoration-[#f5f3ee]/30 decoration-[0.5px]",children:i},i))})]}),n.jsxs("div",{children:[n.jsx("div",{className:"text-[11px] font-semibold tracking-[0.22em] uppercase text-[#00c2b2] mb-5",children:"Future state"}),n.jsx("ul",{className:"space-y-2.5",children:s.future.map(i=>n.jsx("li",{className:"text-[#f5f3ee] text-[15px] font-medium",children:i},i))})]}),n.jsxs("div",{children:[n.jsx("div",{className:"text-[11px] font-semibold tracking-[0.22em] uppercase text-[#f5f3ee]/60 mb-5",children:"Platform"}),n.jsxs(L,{to:s.platformTo,className:"group/link inline-flex flex-col gap-3 border border-[#f5f3ee]/25 p-6 hover:bg-[#f5f3ee] hover:text-[#0d0d0d] transition-colors",children:[n.jsx("span",{className:"font-display text-2xl leading-none",children:s.platform}),n.jsxs("span",{className:"inline-flex items-center gap-1.5 text-[11px] font-semibold tracking-[0.22em] uppercase text-[#f5f3ee]/60 group-hover/link:text-[#0d0d0d]/70",children:["Explore platform ",n.jsx(We,{className:"w-3.5 h-3.5"})]})]})]})]})})})]},s.id)})})]})})},EO=["Coles","SA Water","Discovery Parks","Water NSW","NSW Department of Health","ACT Government","NHVR","Main Roads WA","Microsoft","NSW Government"],TO=()=>
471n.jsx("section",{className:"border-t border-foreground/10 py-16 md:py-24 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"mb-10 md:mb-12",children:[n.jsx("div",{className:"eyebrow mb-4",children:"Founders' Experience"}),n.jsx("p",{className:"text-sm text-foreground/60 max-w-2xl",children:"Teams that have shipped, governed and operated inside the organisations we now serve."})]}),n.jsx("div",{className:"flex flex-wrap items-center gap-x-10 gap-y-6 md:gap-x-14 md:gap-y-8",children:EO.map(e=>n.jsx("span",{className:"font-display text-lg md:text-xl tracking-tight text-foreground/80 hover:text-foreground transition-colors",children:e},e))})]})}),Nh=[{slug:"council-transformation-stalls",tag:"Transformation",title:"Why council transformation stalls — and how to unstick it.",excerpt:"Most council transformation programs fail on the second re-org, not the first release. Here's what actually moves the needle.",author:"Neeraj Kumar",readTime:"7 min read",body:[{paragraphs:["Every council we have worked with has attempted transformation before. Usually more than once. The intent is real, the budgets are sizeable, and the leadership is committed. And yet, three years in, the operating model looks remarkably like it did before — with a heavier technology stack and a tired workforce.","The pattern is consistent enough to be predictable. Transformation stalls at the second re-org, not the first release.","The first release is the easy part. A vendor delivers a module, a project team celebrates, and there is a photo on the intranet. The second re-org is where the wheels come off. Staff are asked to change how they work, elected members ask for reports the new system cannot produce, and the transformation office quietly retreats into steering-committee theatre."]},{heading:"The pattern",paragraphs:["A council will procure a large platform — TechnologyOne, Civica, Dynamics — and treat implementation as the transformation. The system goes live, teams migrate, and the transformation office declares success. Six months later, staff have quietly rebuilt their old spreadsheets alongside the new platform.","The reason is that platforms encode workflows, and workflows encode operating models. A new platform without a new operating model just automates the old dysfunction faster.","You can see it in the field within a fortnight of go-live. Depot supervisors run parallel spreadsheets so they can dispatch crews the way they know works. Rates officers keep their private queries for the reports the platform can't yet produce. Customer service reps re-key data between three tabs. The 'single source of truth' quietly becomes a system of last resort."]},{heading:"What actually moves the needle",paragraphs:["Three things separate the councils that unstick from the councils that don't. First, they treat their existing systems as infrastructure — not as strategy. TechnologyOne is a ledger, not an operating model. Second, they invest in the AI and orchestration layer that sits over the platforms, rather than replacing platforms every five years. Third, they run transformation as a series of proof-of-value sprints tied to real service outcomes — roads inspected, rates queries closed, waste requests resolved — not deliverables.","The councils that get this right are not spending more. They are spending differently. Less on capital platform swaps, more on the thin, capable layer that makes the platforms they already own actually work together.","The measurable difference shows up within a single financial year. Community request resolution times fall by a third. Overtime and casual spend on backlog work drop meaningfully. Elected members get the reports they've been asking for since 2019. And the operating model — the actual way work moves through the organisation — starts to change, because staff can finally see and act on the same information at the same time."]},{heading:"Where to start on Monday",paragraphs:["Pick one high-volume, high-frustration service — roads defects, missed bins, rates enquiries — and instrument it end-to-e
471nd. Not with another dashboard, but with an AI layer that reads what's actually happening in TechnologyOne, Civica and Microsoft, and hands staff and residents a clearer view of what's next. Ship that in eight weeks, measure it in the open, and use the momentum to unstick the rest."]}]},{slug:"ai-use-cases-enterprise-operations",tag:"AI",title:"The three AI use cases actually paying back in enterprise operations.",excerpt:"Beyond the demos — the automation patterns generating measurable ROI in regulated environments.",author:"Neeraj Kumar",readTime:"6 min read",body:[{paragraphs:["A year into the enterprise AI wave, most programs have burned budget on demos and pilots that did not scale. A small number of use cases, though, have quietly gone into production and are paying back — repeatedly, and in regulated environments.","The pattern is not that these organisations are braver with AI. It is that they picked boring, high-volume workflows where the ROI could be measured in hours saved per week, and where the human still made the final decision. None of the three use cases below need a new foundation model. They need clean plumbing."]},{heading:"1. Structured extraction over unstructured content",paragraphs:["Contracts, incident reports, safety forms, invoices, correspondence. The single most valuable AI pattern in enterprise operations is turning unstructured content into structured records that flow into existing systems. This is boring, unglamorous, and pays back in weeks.","One transport operator we work with was manually keying 2,400 driver forms a month into their ERP. An extraction pipeline now does it in near real time, with a human reviewer for low-confidence items. The finance team got their month-end back. The compliance team got a searchable record. Nobody lost their job — they moved onto exception work that had been quietly unattended for years."]},{heading:"2. AI copilots inside legacy screens",paragraphs:["Rather than replacing TechOne, ServiceNow or SAP, the leverage is in embedding a governed AI copilot inside those screens — for search, drafting, summarisation and validation. Staff stay in their systems of record. AI accelerates the human, and the audit trail stays intact.","The trick is to resist rebuilding the UI. A copilot pinned to the side of the screen, aware of the record the user is looking at, cuts drafting and lookup time by 40–70% for most desk roles. The system of record does not change, so training, controls and reporting stay intact. IT stops fighting shadow tools because staff finally have a supported way to move faster inside the sanctioned system."]},{heading:"3. Operational triage and routing",paragraphs:["Community requests, service tickets, safety incidents, procurement queries. AI classification and routing at the front door of the operating model consistently removes 40–60% of manual triage work. The AI does not make the decision — it makes the queue smaller and clearer for the humans who do.","The multiplier here is not the classification itself, it is what happens next. When routing is reliable, SLAs become achievable. When SLAs become achievable, service leaders start managing to outcomes instead of to inbox volume. That is the real productivity story of AI in operations — not that a model replaces a person, but that it lets a small team run a service that used to need a much larger one."]},{heading:"What these three have in common",paragraphs:["Every one of them sits inside an existing operating model. None of them require a platform swap. All of them pay back inside a single budget cycle. If your AI program cannot describe its first three use cases in those terms, it is a demo program — not a transformation program."]}]},{slug:"mvp-to-market-ready",tag:"Product Strategy",title:"What separates an MVP from a market-ready product.",excerpt:"The difference between a prototype your team ships and a product your customers renew.",author:"Neeraj Kumar",readTime:"5 min read",body:[{paragraphs:["The MVP conversation has calcified into a caricature. Founders build the smallest possible thing, throw it at users, and hope. Most of what gets called an MVP is really a demo — enough to raise, not enough to renew.","There is nothing wrong with a demo, if you know that's what you have. The problem is that founders spend the year after the raise trying to convert a demo into a business, without ever going back and doing the product work that a real MVP would have forced them into."]},{heading:"The renewal test",paragraphs:["A market-ready product is one a customer will renew after the honeymoon. That single test is more useful than any framework. It forces you to ask: after the novelty wears off, what problem does this 
471still solve better than the alternative?","Apply the renewal test to your roadmap and it re-orders itself in about ten minutes. Every feature that only exists to close the first sale drops down the list. Every workflow that a real user has to survive on a Tuesday morning moves up. The founders who pass the renewal test almost never have the prettiest product — they have the one their customers cannot stop using."]},{heading:"The four things founders under-invest in",paragraphs:["Every product that survives its second year invests in the same four things founders systematically under-fund at MVP: onboarding, support workflows, admin tooling, and telemetry. These are not glamorous. They are what turns a working prototype into a business.","Onboarding is what decides whether the first ten customers become the first hundred. Support workflows are what decide whether your team drowns at scale. Admin tooling is what decides whether the founder can go on holiday. Telemetry is what decides whether you know which features earn their keep and which are quiet drag on the codebase.","You do not need all four on day one. You need to know which one you're deferring, why, and what will break when you can no longer defer it. Founders who name the trade-off keep control of the roadmap. Founders who ignore it end up rebuilding the same product 18 months later, this time with paying customers watching."]}]},{slug:"field-service-without-rip-and-replace",tag:"Operations",title:"Rebuilding field service operations without another ERP rip-and-replace.",excerpt:"How targeted platform work delivers 80% of the outcome for 20% of the risk.",author:"Neeraj Kumar",readTime:"6 min read",body:[{paragraphs:["Every field service organisation we speak to is haunted by the last ERP program. Two years, eight-figure budgets, painful cutover, and an operating model that still relies on WhatsApp, spreadsheets and paper.","The good news is that the second wave of field service transformation looks nothing like the first.","It is smaller, faster, and starts from the field — not from finance. It treats the ERP as a system of record rather than a system of work, and it accepts that a dispatcher, a driver and a compliance officer do not want the same interface as an accounts payable clerk."]},{heading:"The 80/20 pattern",paragraphs:["The pattern that works is targeted platform work over the systems you already own. Keep the ERP as the ledger. Add a thin, capable operations layer — dispatch, forms, mobile, compliance — that runs the field. Wire the two together with orchestration and AI, not with a re-platform.","In every engagement of this shape we have seen the same outcome: 80% of the promised transformation value, delivered in 20% of the time and risk of the ERP swap.","The mechanics are unglamorous. A driver app that works offline. A dispatch board a supervisor can actually use. A compliance workflow that captures evidence at the point of work, not the following morning from memory. An AI layer that watches the plumbing, flags anomalies, and drafts the paperwork nobody wants to write. None of it requires ripping out the general ledger, and none of it needs a business case that survives a change of CFO."]},{heading:"Why this only works with operators in the room",paragraphs:["The reason most 'thin layer' projects still fail is that they are designed by consultants who have never dispatched a truck at 4am or been on the wrong end of an audit. Field service transformation only works when the people designing it have run the operation, and when the technology decisions are made in the depot — not the boardroom. That is the difference between a program that changes the workday and a program that changes the org chart."]}]}],PO=e=>Nh.find(t=>t.slug===e),IO="/assets/breakfast-1-DCk-kFbW.jpg",RO="/assets/breakfast-2-DkNmFgP1.jpg",OO=1,MO="9a2707f0-36b4-422d-a17d-426a06568b9e",DO="2303a136-ebed-4a95-9f74-22b71420daa4",LO="/__l5e/assets-v1/9a2707f0-36b4-422d-a17d-426a06568b9e/megatrans-booth.png",$O="a/v1/2303a136-ebed-4a95-9f74-22b71420daa4/9a2707f0-36b4-422d-a17d-426a06568b9e/megatrans-booth.png",FO="megatrans-booth.png",BO=181838,UO="image/webp",WO="2026-09-30T09:23:58Z",VO={ver
471sion:OO,asset_id:MO,project_id:DO,url:LO,r2_key:$O,original_filename:FO,size:BO,content_type:UO,created_at:WO},zO=1,HO="0472e39d-ebb6-4a66-af85-a70d200e44fa",qO="2303a136-ebed-4a95-9f74-22b71420daa4",GO="/__l5e/assets-v1/0472e39d-ebb6-4a66-af85-a70d200e44fa/megatrans-conversation.jpg",KO="a/v1/2303a136-ebed-4a95-9f74-22b71420daa4/0472e39d-ebb6-4a66-af85-a70d200e44fa/megatrans-conversation.jpg",YO="megatrans-conversation.jpg",JO=559536,ZO="image/jpeg",XO="2026-09-30T09:24:02Z",QO={version:zO,asset_id:HO,project_id:qO,url:GO,r2_key:KO,original_filename:YO,size:JO,content_type:ZO,created_at:XO},e6=["AI","Automation","Business Platforms","Operational Transformation"],t6=["Build an MVP","iOS Apps","Android Apps","SaaS Platforms","Product Strategy"],s6=[{n:"01",title:"Enterprise Thinking",body:"Fifteen years inside government and enterprise operations. We know how complex organisations actually work."},{n:"02",title:"Product Mindset",body:"We build platforms, not projects. Real IP, running in production, priced for outcomes."},{n:"03",title:"AI + Automation",body:"Applied intelligence layered onto redesigned operations — not bolted onto broken ones."},{n:"04",title:"Engineering Excellence",body:"Senior teams. Modern stack. Auditable delivery. Built to run at enterprise scale."}],r6=[{tag:"Government & Council",friction:"Manual service triage across roads, rates, rubbish and compliance.",aiFix:"AI agents and unified workflows that close the loop on citizen requests."}
471,{tag:"Transport & Logistics",friction:"Manual dispatch and paper run sheets create blind spots in fleet visibility.",aiFix:"Predictive ETAs and automated compliance on a unified fleet layer."},{tag:"Construction & Field Ops",friction:"Site data locked in messenger apps and reactive maintenance cycles.",aiFix:"Computer-vision quality checks and predictive maintenance from the field."},{tag:"Care & Health Services",friction:"Admin burden on clinicians — burnout and lost time with patients.",aiFix:"Intelligent rostering and voice-to-record notes that prioritise care."},{tag:"Utilities & Infrastructure",friction:"Aging asset networks with SCADA and inspection data disconnected.",aiFix:"Sensor-fusion analytics that predict failures before they hit the network."},{tag:"Operations & Workforce",friction:"Mobile workforce on paper — no real-time signal on productivity.",aiFix:"Dynamic resource levelling and AI workflow optimisation for scale."}],n6=Nh.slice(0,3),i6=[{name:"FleetPro",tag:"Fleet & Logistics",body:"Dispatch, live tracking, maintenance and compliance for transport operators.",to:"/platform-suite/fleetpro",status:"Available"},{name:"OpsSync",tag:"Operations & Workforce",body:"Field workforce, jobs and time — one operating layer for services businesses.",to:"/platform-suite/opssync",status:"Available"},{name:"CivicFlow",tag:"Local Government",body:"Roads, rates, waste and citizen requests — with AI agents built in.",to:"/platform-suite/civicflow",status:"In Development"},{name:"GovernmentOS™",tag:"AI Operating Platform for Government",body:"Citizen services, grants, FOI, procurement, ministerial correspondence and workforce on one intelligent layer.",to:"/platform-suite/governmentos",status:"In Development"}],a6=[{label:"AI BUSINESS BREAKFAST · ADELAIDE",title:"Build Your First AI Workforce",body:"Business owners and leaders joined us at Stone & Chalk on 9 September 2026 for a practical morning of live AI workflows, candid questions and real conversations about putting AI to work.",images:[{src:IO,alt:"Speaker presenting at the 10xGrowth Labs AI Business Breakfast",caption:"Practical AI, demonstrated live"},{src:RO,alt:"Business leaders at the 10xGrowth Labs AI Business Breakfast",caption:"Business leaders learning together"}],href:"https://www.dropbox.com/scl/fo/20uj6s6xu8nc1uizzpj1c/AENjpQlFvOJ1XNyPfXGF66U?rlkey=b8prg7b67afpxsjo10axglqdp&st=qjv063zf&e=3&dl=0"},{label:"MEGATRANS · MELBOURNE",title:"FleetPro at Australia's Transport Industry Event",body:"We met transport and logistics operators at MEGATRANS Melbourne to demonstrate FleetPro in action and hear how teams are managing dispatch, drivers, vehicles, compliance and customer communication today.",images:[{src:VO.url,alt:"The 10xGrowth Labs and FleetPro team at the MEGATRANS Melbourne exhibition stand",caption:"The FleetPro stand at MEGATRANS"},{src:QO.url,alt:"FleetPro team member in conversation with a transport operator at MEGATRANS Melbourne",caption:"Conversations with transport operators"}],href:"https://drive.google.com/drive/folders/1ApuE0yiNpioab-cx78u8q-6cbOceOQvz"}],o6=()=>n.jsxs(Le,{children:[n.jsx(fe,{title:"Software & AI Automation Company Adelaide | 10xGrowth Labs",description:"Adelaide software and AI automation company building custom applications, intelligent platforms and workflow automation for organisations across Australia.",path:"/"}),n.jsx("section",{className:"ink-theme relative isolate overflow-hidden bg-background px-6 pb-16 pt-6 text-foreground md:pb-20 md:pt-10",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsx("div",{className:"eyebrow mb-5",children:"Enterprise Technology · AI · Product Engineering"}),n.jsx("h1",{className:"font-display text-[46px] sm:text-6xl md:text-7xl lg:text-[104px] leading-[0.96] tracking-[-0.025em] max-w-6xl text-foreground",children:"Building intelligent businesses."}),n.jsx("p",{className:"mt-6 text-[13px] md:text-sm font-semibold tracking-[0.14em] uppercase text-foreground/60",children:"Adelaide-based. Delivering across Australia."}
471),n.jsx("p",{className:"mt-8 text-lg md:text-xl text-foreground/75 max-w-2xl leading-relaxed",children:"We combine AI and automation to simplify operations, build digital products and help organisations grow with confidence."}),n.jsxs("p",{className:"mt-6 text-base md:text-lg text-foreground/65 max-w-3xl leading-relaxed",children:["One senior team across"," ",n.jsx(L,{to:"/services/ai",className:"underline underline-offset-4 decoration-foreground/30 hover:decoration-foreground transition-colors",children:"enterprise AI solutions"}),","," ",n.jsx(L,{to:"/services/automation",className:"underline underline-offset-4 decoration-foreground/30 hover:decoration-foreground transition-colors",children:"intelligent business automation"}),","," ",n.jsx(L,{to:"/services/digital",className:"underline underline-offset-4 decoration-foreground/30 hover:decoration-foreground transition-colors",children:"custom software development"})," ","and"," ",n.jsx(L,{to:"/platform-suite",className:"underline underline-offset-4 decoration-foreground/30 hover:decoration-foreground transition-colors",children:"operational platform engineering"})," ","— for transport, government, healthcare, construction and professional services organisations across Australia."]}),n.jsxs("div",{className:"mt-10 flex flex-wrap items-center gap-4",children:[n.jsxs(L,{to:"/contact",className:"inline-flex items-center gap-2 bg-foreground text-background px-6 py-3.5 text-[12px] font-semibold tracking-[0.14em] uppercase hover:bg-foreground
471/85 transition-colors",children:["Book Discovery Session ",n.jsx(We,{className:"w-4 h-4"})]}),n.jsxs(L,{to:"/work",className:"inline-flex items-center gap-2 border border-foreground/30 text-foreground px-6 py-3.5 text-[12px] font-semibold tracking-[0.14em] uppercase hover:bg-foreground hover:text-background transition-colors",children:["See Our Work ",n.jsx(W,{className:"w-4 h-4"})]})]}),n.jsxs("div",{className:"mt-16 grid md:grid-cols-2 gap-px bg-foreground/15 border border-foreground/15",children:[n.jsx(Ob,{eyebrow:"Enterprise",items:e6,cta:"Explore Enterprise",to:"/enterprise",tone:"dark"}),n.jsx(Ob,{eyebrow:"Startup Studio",items:t6,cta:"Explore Startup Studio",to:"/startups",tone:"light"})]})]})}),n.jsx(TO,{}),n.jsx(_O,{}),n.jsx(CO,{}),n.jsx("section",{className:"border-t border-foreground/10 py-24 md:py-32 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"grid md:grid-cols-12 gap-8 mb-14 md:mb-16",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:"Platform Suite"}),n.jsx("div",{className:"hairline max-w-[3rem]"})]}),n.jsxs("div",{className:"md:col-span-8",children:[n.jsxs("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:["Purpose-built platforms.",n.jsx("br",{}),n.jsx("span",{className:"font-serif-italic text-foreground/70",children:"One operating layer."})]}),n.jsx("p",{className:"mt-6 text-base md:text-lg text-foreground/65 max-w-2xl leading-relaxed",children:"Products already running in production — and new AI-native platforms shipping now for enterprise and government."})]})]}),n.jsx("div",{className:"grid md:grid-cols-2 gap-px bg-foreground
471/15 border border-foreground/15",children:i6.map(e=>n.jsxs(L,{to:e.to,className:"group bg-background p-8 md:p-12 flex flex-col justify-between min-h-[320px] hover:bg-secondary/60 transition-colors",children:[n.jsxs("div",{children:[n.jsxs("div",{className:"flex items-center justify-between mb-6",children:[n.jsx("div",{className:"eyebrow",children:e.tag}),n.jsxs("span",{className:`inline-flex items-center gap-1.5 border px-2 py-0.5 text-[9px] uppercase tracking-[0.15em] font-semibold ${e.status==="Available"?"border-foreground/30 text-foreground/80":"border-foreground/20 text-foreground/50"}`,children:[n.jsx("span",{className:`w-1 h-1 rounded-full ${e.status==="Available"?"bg-foreground":"bg-foreground/40"}`}),e.status]})]}),n.jsx("h3",{className:"font-display text-2xl md:text-[26px] leading-tight tracking-tight mb-3",children:e.name}),n.jsx("p",{className:"text-sm text-foreground/70 leading-relaxed",children:e.body})]}),n.jsxs("div",{className:"mt-8 inline-flex items-center gap-2 text-xs font-semibold uppercase tracking-wide text-foreground/70 group-hover:text-foreground transition-colors",children:["Explore ",n.jsx(We,{className:"w-3.5 h-3.5"})]})]},e.name))})]})}),n.jsx("section",{className:"ink-theme bg-background text-foreground border-t border-foreground
471/10 py-24 md:py-32 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"grid md:grid-cols-12 gap-8 mb-14 md:mb-16",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:"Events"}),n.jsx("div",{className:"hairline max-w-[3rem]"})]}),n.jsxs("div",{className:"md:col-span-8",children:[n.jsxs("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:["Practical AI.",n.jsx("br",{}),n.jsx("span",{className:"font-serif-italic text-foreground/70",children:"Real conversations."})]}),n.jsx("p",{className:"mt-6 text-base md:text-lg text-foreground/65 max-w-2xl leading-relaxed",children:"Intimate sessions for business leaders ready to move from AI curiosity to confident action."})]})]}),n.jsx("div",{className:"space-y-20 md:space-y-28",children:a6.map(e=>n.jsxs("article",{className:"border-t border-foreground/20 pt-8 md:pt-10",children:[n.jsx("div",{className:"grid lg:grid-cols-12 gap-8 lg:gap-12 items-end mb-8 md:mb-10",children:n.jsxs("div",{className:"lg:col-span-8",children:[n.jsx("div",{className:"eyebrow mb-5",children:e.label}),n.jsx("h3",{className:"font-display text-3xl md:text-5xl leading-[1.05] max-w-4xl",children:e.title}),n.jsx("p",{className:"mt-5 text-sm md:text-base text-foreground/65 leading-relaxed max-w-3xl",children:e.body})]})}),n.jsx("div",{className:"grid md:grid-cols-2 gap-3",children:e.images.map(t=>n.jsxs("figure",{className:"relative overflow-hidden border border-foreground
471/15 bg-secondary aspect-[4/3]",children:[n.jsx("img",{src:t.src,alt:t.alt,className:"h-full w-full object-cover transition-transform duration-700 hover:scale-[1.02]"}),n.jsx("figcaption",{className:"absolute inset-x-0 bottom-0 bg-background/85 px-4 py-3 text-[11px] font-medium text-foreground backdrop-blur-sm",children:t.caption})]},t.caption))})]},e.label))})]})}),n.jsx("section",{className:"border-t border-foreground/10 py-24 md:py-32 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"grid md:grid-cols-12 gap-8 mb-16",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:"Why 10xGrowth Labs"}),n.jsx("div",{className:"hairline max-w-[3rem]"})]}),n.jsx("div",{className:"md:col-span-8",children:n.jsxs("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:["We think differently",n.jsx("br",{}),n.jsx("span",{className:"font-serif-italic text-foreground/70",children:"about complex problems."})]})})]}),n.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-4 gap-px bg-foreground
471/15 border border-foreground/15",children:s6.map(e=>n.jsxs("div",{className:"bg-background p-8 md:p-10",children:[n.jsx("div",{className:"eyebrow mb-6",children:e.n}),n.jsx("h3",{className:"font-display text-2xl leading-tight mb-4",children:e.title}),n.jsx("p",{className:"text-sm text-foreground/70 leading-relaxed",children:e.body})]},e.title))})]})}),n.jsx("section",{className:"ink-theme bg-background text-foreground border-t border-foreground/10 py-20 md:py-28 px-6 md:px-12",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"mb-12 md:mb-16",children:[n.jsx("div",{className:"eyebrow mb-5",children:"Industries"}),n.jsxs("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight text-foreground",children:["From friction",n.jsx("span",{className:"font-serif-italic text-foreground/60",children:" to flow."})]})]}),n.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 border-t border-l border-foreground/15",children:r6.map((e,t)=>n.jsxs("div",{className:"group relative min-h-[280px] p-8 md:p-10 border-r border-b border-foreground
471/15 bg-background hover:bg-primary/10 transition-colors duration-500",children:[n.jsxs("div",{className:"mb-10",children:[n.jsxs("p",{className:"text-[10px] tracking-[0.22em] uppercase text-foreground/45 mb-3",children:["Sector ",String(t+1).padStart(2,"0")]}),n.jsx("h3",{className:"font-display text-xl md:text-2xl leading-tight text-foreground",children:e.tag})]}),n.jsxs("div",{children:[n.jsxs("div",{className:"transition-opacity duration-300 group-hover:opacity-25",children:[n.jsx("span",{className:"font-serif-italic text-sm text-foreground/55 block mb-2",children:"The friction"}),n.jsx("p",{className:"text-sm text-foreground/80 leading-relaxed",children:e.friction})]}),n.jsxs("div",{className:"absolute bottom-8 md:bottom-10 left-8 md:left-10 right-8 md:right-10 translate-y-3 opacity-0 transition-all duration-500 group-hover:translate-y-0 group-hover:opacity-100",children:[n.jsx("span",{className:"font-serif-italic text-sm text-accent block mb-2",children:"The AI fix"}),n.jsx("p",{className:"text-sm md:text-[15px] text-foreground font-medium leading-snug",children:e.aiFix})]})]})]},e.tag))}),n.jsxs("div",{className:"mt-10 flex flex-col md:flex-row md:items-center gap-6 md:gap-10",children:[n.jsx("p",{className:"text-[11px] uppercase tracking-[0.22em] text-foreground/45",children:"Hover an industry to see the fix"}),n.jsx("div",{className:"hidden md:block h-px flex-grow bg-foreground
471/10"}),n.jsxs(L,{to:"/contact",className:"inline-flex items-center gap-2 text-sm font-semibold underline underline-offset-8 decoration-foreground/30 hover:decoration-foreground transition-colors",children:["Talk to us about your operation ",n.jsx(We,{className:"w-4 h-4"})]})]})]})}),n.jsx("section",{className:"border-t border-foreground/10 py-24 md:py-32 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"grid md:grid-cols-12 gap-8 mb-16",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:"Perspectives"}),n.jsx("div",{className:"hairline max-w-[3rem]"})]}),n.jsx("div",{className:"md:col-span-8",children:n.jsxs("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:["Enterprise AI. Automation.",n.jsx("br",{}),n.jsx("span",{className:"font-serif-italic text-foreground/70",children:"Platform engineering."})]})})]}),n.jsx("div",{className:"grid md:grid-cols-3 gap-8",children:n6.map(e=>n.jsxs(L,{to:`/insights/${e.slug}
471`,className:"group border-t border-foreground/20 pt-6",children:[n.jsx("div",{className:"eyebrow mb-6",children:e.tag}),n.jsx("h3",{className:"font-display text-xl md:text-2xl leading-snug group-hover:text-foreground/70 transition-colors",children:e.title}),n.jsxs("div",{className:"mt-8 inline-flex items-center gap-2 text-sm font-semibold text-foreground/70 group-hover:text-foreground transition-colors",children:["Read ",n.jsx(We,{className:"w-4 h-4"})]})]},e.slug))})]})}),n.jsx("section",{className:"ink-theme bg-background text-foreground py-32 md:py-48 px-6 border-t border-foreground/10",children:n.jsxs("div",{className:"container mx-auto max-w-6xl text-center",children:[n.jsx("div",{className:"eyebrow mb-10",children:"Discovery session"}),n.jsxs("h2",{className:"font-display text-4xl md:text-6xl lg:text-7xl leading-[1.02] tracking-tight",children:["Building something ambitious?",n.jsx("br",{}),n.jsx("span",{className:"font-serif-italic",children:"Let's build it together."})]}),n.jsx("div",{className:"mt-14",children:n.jsxs(L,{to:"/contact",className:"group inline-flex items-center gap-3 bg-foreground text-background px-8 py-4 text-sm font-semibold tracking-wide uppercase hover:bg-foreground
471/85 transition-colors",children:["Book Discovery Session",n.jsx(W,{className:"w-4 h-4 group-hover:translate-x-1 transition-transform"})]})})]})})]}),Ob=({eyebrow:e,items:t,cta:s,to:r,tone:i="light"})=>n.jsxs(L,{to:r,className:`group p-10 md:p-14 flex flex-col justify-between min-h-[360px] transition-colors ${i==="dark"?"bg-foreground text-background hover:bg-foreground/90":"bg-background text-foreground hover:bg-secondary/60"}`,children:[n.jsxs("div",{children:[n.jsx("div",{className:`eyebrow mb-10 ${i==="dark"?"text-background/70":""}`,children:e}),n.jsx("ul",{className:"space-y-3",children:t.map(a=>n.jsx("li",{className:"font-display text-2xl md:text-3xl leading-tight tracking-tight",children:a},a))})]}),n.jsxs("div",{className:"mt-12 inline-flex items-center gap-3 text-sm font-semibold uppercase tracking-wide",children:[s,n.jsx(W,{className:"w-4 h-4 group-hover:translate-x-1 transition-transform"})]})]}),W2="/assets/ridewest-aybk2JVc.jpg",oc="/assets/designerwardrobe-mauk4sXY.jpg",V2="/assets/perfectstay-CLtV84mt.jpg",z2="/assets/covve-JmwhhlK-.jpg",lc="/assets/fleetpro-CltPIj05.jpg",Sh="/assets/cleansync-D1mLnDfp.jpg",Ah="/assets/growthos-BcpDqNTE.jpg",_h="/assets/voicedesk-Bg5l9vlp.jpg",Si=({src:e,poster:t,title:s,className:r="",mediaClassName:i="h-full w-full object-cover",accent:a,accentInk:o="#06231F"})=>{const[l,c]=w.useState(!1),d=w.useRef(null);return w.useEffect(()=>{if(!l)return;const u=d.current;if(!u)return;const h=()=>{u.play().catch(()=>{})};if(u.readyState>=2)h();else return u.addEventListener("loadeddata",h,{once:!0}),()=>u.removeEventListener("loadeddata",h)},[l]),l?n.jsx("video",{ref:d,src:e,poster:t,controls:!0,autoPlay:!0,playsInline:!0,preload:"metadata",className:i}):n.jsxs("button",{type:"button",onClick:()=>c(!0),"aria-label":`Play video: ${s}`,className:`group relative block cursor-pointer overflow-hidden ${r}`,children:[n.jsx("img",{src:t,alt:`${s} video preview`,loading:"lazy",className:`${i} transition-transform duration-500 group-hover:scale-[1.02]`}),n.jsx("span",{"aria-hidden":!0,className:"absolute inset-0 flex items-center justify-center bg-foreground
471/20 transition-colors group-hover:bg-foreground/30",children:n.jsx("span",{className:`flex h-14 w-14 items-center justify-center rounded-full shadow-sm transition-transform group-hover:scale-105 ${a?"":"bg-background text-foreground"}`,style:a?{background:a,color:o}:void 0,children:n.jsx(bx,{className:"ml-0.5 h-5 w-5 fill-current"})})})]})},H2="/assets/app-cost-story-W_xKk4wV.jpg",zx="/assets/million-dollar-idea-DmRgrZDy.jpg",l6=[{name:"RideWest",cover:W2,tag:"Mobile App · Rideshare"},{name:"Designer Wardrobe",cover:oc,tag:"Mobile App · Marketplace"},{name:"PerfectStay",cover:V2,tag:"Mobile App · Travel"},{name:"Covve",cover:z2,tag:"Personal CRM · AI"},{name:"FleetPro",cover:lc,tag:"CRM · Dispatch · AI"},{name:"CleanSync AI",cover:Sh,tag:"Field CRM · AI"},{name:"GrowthOS",cover:Ah,tag:"Marketing CRM · AI"},{name:"VoiceDesk",cover:_h,tag:"AI Receptionist · CRM"}],c6=[{icon:kN,title:"Idea & Market Validation",desc:"We pressure-test your concept against the market — competitors, demand signals, willingness-to-pay, and the riskiest assumptions to kill or confirm first.",items:["Competitive landscape map","Target user & ICP definition","Riskiest assumption shortlist","Go / pivot / kill recommendation"]},{icon:ph,title:"Business & Monetisation Plan",desc:"A founder-ready business plan: who pays, what for, how much, and the unit economics that turn the build into a real business — not just an app.",items:["Revenue & pricing model","Unit economics & breakeven","Go-to-market plan","12-month financial outlook"]},{icon:_N,title:"Wireframes & UX Flow",desc:"Low-fidelity wireframes for every key screen and user journey — so you see how the product behaves before a single pixel of UI is designed.",items:["Information architecture","User flow diagrams","Wireframes for core screens","Edge cases & empty states"]},{icon:fi,title:"Clickable Prototype",desc:"A live, clickable prototype you can demo to investors, customers, and your team. Use it to validate before you commit a dollar to dev.",items:["Figma interactive prototype","Mobile + desktop flows","Shareable preview link","Walkthrough Loom"]},{icon:mu,title:"Technical Architecture",desc:"The blueprint for how it all fits together: stack, data model, integrations, infrastru
471cture, and the scalability path from day 1 to day 1,000.",items:["Recommended tech stack","System & data architecture","Integration map (CRM, ERP, APIs)","Scalability & security plan"]},{icon:of,title:"AI & Automation Strategy",desc:"Where AI actually moves the needle in your product — and where it's just hype. Concrete agents, automations, and prompts mapped to your workflows.",items:["AI use case shortlist","Agent & automation design","Model & vendor recommendations","Build vs buy decisions"]},{icon:Q4,title:"Feature Roadmap (MVP → V2)",desc:"A prioritised feature plan that separates the lean MVP from the nice-to-haves, so you ship fast without painting yourself into a corner.",items:["MVP feature set","Phase 2 & 3 backlog","Sprint-by-sprint plan","Launch milestones"]},{icon:sP,title:"Cost & Timeline Roadmap",desc:"Transparent numbers: what the MVP costs, what each phase costs, how long it takes, and what trade-offs you can make to flex the budget.",items:["Fixed-price MVP quote","Phased cost breakdown","Timeline with milestones","Cost-saving alternatives"]}],d6=()=>n.jsxs("div",{className:"min-h-screen bg-navy-deep text-foreground",children:[n.jsx(fe,{title:"Free App or Software Blueprint | Wireframes, Architecture & Cost Roadmap",description:"Free App or Software Blueprint (valued at $15,000): idea validation, wireframes, technical architecture, AI strategy, and a full cost roadmap for any app or software build.",path:"/blueprint"}),n.jsx(ac,{ctaHref:"#blueprint-cta"}),n.jsxs("section",{className:"relative overflow-hidden",children:[n.jsx("div",{className:"absolute top-0 left-1/2 -translate-x-1/2 w-[1200px] h-[600px] rounded-full bg-labs/10 blur-[120px] pointer-events-none"}),n.jsxs("div",{className:"relative container mx-auto max-w-4xl px-6 pt-16 pb-16 md:pt-24 md:pb-20 text-center",children:[n.jsxs("div",{className:"inline-flex items-center gap-3 px-4 py-1.5 rounded-full border border-labs/20 bg-labs/5 mb-8",children:[n.jsxs("span",{className:"relative flex w-2 h-2",children:[n.jsx("span",{className:"absolute inset-0 rounded-full bg-labs animate-ping opacity-60"}),n.jsx("span",{className:"relative rounded-full w-2 h-2 bg-labs"})]}),n.jsx("span",{className:"text-[10px] md:text-[11px] font-bold font-display tracking-[0.22em] text-labs uppercase",children:"Free · Valued at $15,000 · Delivered in 48 hrs"})]}),n.jsxs("h1",{className:"text-5xl md:text-7xl font-bold font-display leading-[1.05] tracking-tight mb-6",children:["The Free ",n.jsx("span",{className:"bg-gradient-labs bg-clip-text text-transparent",children:"App or Software Blueprint"})]}),n.jsxs("p",{className:"text-lg md:text-xl text-muted-foreground max-w-2xl mx-auto leading-relaxed mb-10",children:["Whether you're building an ",n.jsx("span",{className:"text-foreground font-medium",children:"app or a software platform"}),", this is everything we do ",n.jsx("span",{className:"text-foreground font-medium",children:"before a single line of code is written"})," — validation, architecture, and a fixed-cost roadmap. Yours to keep."]}),n.jsxs("div",{className:"flex flex-col items-center gap-4",children:[n.jsxs("a",{href:"#blueprint-cta",className:"group relative inline-flex items-center gap-3 bg-gradient-labs text-navy-deep px-10 py-5 rounded-full font-bold font-display text-base md:text-lg hover:scale-[1.02] transition-all shadow-[0_0_40px_-8px_hsl(var(--labs)/0.5)]",children:["Claim Your Free Blueprint",n.jsx(W,{className:"w-5 h-5 group-hover:translate-x-1 transition-transform"})]}),n.jsx("p",{className:"text-muted-foreground text-xs md:text-sm tracking-wide",children:"Limited availability — only 2 new Blueprints accepted per month."})]})]})]}),n.jsx("section",{className:"border-b border-border/30 bg-navy-deep",children:n.jsx("div",{className:"container mx-auto max-w-6xl px-4 sm:px-6 py-16 md:py-24",children:n.jsxs("div",{className:"grid lg:grid-cols-[1fr_1.1fr] gap-10 lg:gap-16 items-center",children:[n.jsxs("div",{className:"relative mx-auto w-full max-w-[340px] order-2 lg:order-1",children:[n.jsx("div",{className:"absolute -inset-6 rounded-[3rem] bg-labs/20 blur-3xl pointer-events-none"}),n.jsx("div",{className:"relative rounded-[2.25rem] border border-labs/40 bg-navy-deep p-2 shadow-[0_30px_80px_-20px_hsl(var(--labs)/0.4)]",children:n.jsx(Si,{src:"/__l5e/assets-v1/9cd090a4-09c4-4749-8e44-ff2beed88ac7/app-cost-story.mp4",poster:H2,title:"What your app actually costs to build",className:"block w-full rounded-[1.75rem]",mediaClassName:"w-full aspect-[9/16] rounded-[1.75rem] object-cover bg-black"})})]}),n.jsxs("div",{className:"order-1 lg:order-2",children:[n.jsx("span",{className:"inline-block text-[11px] font-bold font-display tracking-[0.18em] text-labs uppercase mb-3",children:"Watch · 90 seconds"}),n.jsxs("h2",{className:"text-3xl md:text-5xl font-bold font-display leading-[1.05] tracking-tight mb-5",children:["What your app ",n.jsx("span",{className:"bg-gradient-labs bg-clip-text text-transparent",children:"actually costs"})," to build."]}),n.jsx("p",{className:"text-base md:text-lg text-muted-foreground leading-relaxed max-w-xl",children:"A quick walkthrough of how we scope, cost and de-risk your build — before a single line of code. This is what's inside your Blueprint."})]})]})})}),n.jsx("section",{className:"border-b border-border/30 bg-navy-light/20",children:n.jsx("div",{className:"container mx-auto max-w-6xl px-4 sm:px-6 py-16 md:py-24",children:n.jsxs("div",{className:"grid lg:grid-cols-[1.1fr_1fr] gap-10 lg:gap-16 items-center",children:[n.jsxs("div",{className:"order-1",children:[n.jsx("span",{className:"inline-block text-[11px] font-bold font-display tracking-[0.18em] text-labs uppercase mb-3",children:"Watch · 60 seconds"}),n.jsxs("h2",{className:"text-3xl md:text-5xl font-bold font-display leading-[1.05] tracking-tight mb-5",children:["Is your idea a ",n.jsx("span",{className:"bg-gradient-labs bg-clip-text text-transparent",children:"million-dollar app?"})]}),n.jsx("p",{className:"text-base md:text-lg text-muted-foreground leading-relaxed max-w-xl",children:"The gut-check we run on every founder pitch before we quote a build — so you spend money on the right product, not the loudest one."})]}),n.jsxs("div",{className:"relative mx-auto w-full max-w-[340px] order-2",children:[n.jsx("div",{className:"absolute -inset-6 rounded-[3rem] bg-labs/20 blur-3xl pointer-events-none"}),n.jsx("div",{className:"relative rounded-[2.25rem] border border-labs/40 bg-navy-deep p-2 shadow-[0_30px_80px_-20px_hsl(var(--labs)/0.4)]",children:n.jsx(Si,{src:"/__l5e/assets-v1/789deede-b7e9-4019-b220-d1b94e46a430/million-dollar-idea.mp4",poster:zx,title:"Is your idea a million-dollar app?",className:"block w-full rounded-[1.75rem]",mediaClassName:"w-full aspect-[9/16] rounded-[1.75rem] object-cover bg-black"})})]})]})})}),n.jsx("section",{className:"border-y border-border/30 bg-navy-deep/60 py-8 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-6xl flex flex-wrap justify-between items-center gap-8 md:gap-12",children:[n.jsxs("div",{className:"flex items-center gap-4",children:[n.jsx("div",{className:"w-11 h-11 rounded-xl bg-labs/10 flex items-center justify-center",children:n.jsx(bN,{className:"w-5 h-5 text-labs"})}),n.jsxs("div",{children:[n.jsx("div",{className:"text-[10px] font-bold text-muted-foreground
471/70 uppercase tracking-[0.18em] mb-0.5",children:"Finalist 2025"}),n.jsx("div",{className:"text-sm font-display font-bold",children:"APAC Search Awards"})]})]}),n.jsxs("div",{className:"flex items-center gap-4",children:[n.jsx("div",{className:"flex gap-0.5",children:[...Array(5)].map((e,t)=>n.jsx(pu,{className:"w-4 h-4 fill-gold text-gold"},t))}),n.jsxs("div",{children:[n.jsx("div",{className:"text-[10px] font-bold text-muted-foreground/70 uppercase tracking-[0.18em] mb-0.5",children:"5.0 on Google"}),n.jsx("div",{className:"text-sm font-display font-bold",children:"30+ Verified Reviews"})]})]}),n.jsxs("div",{className:"flex items-center gap-4",children:[n.jsx("div",{className:"w-11 h-11 rounded-xl bg-labs/10 flex items-center justify-center",children:n.jsx(vP,{className:"w-5 h-5 text-labs"})}),n.jsxs("div",{children:[n.jsx("div",{className:"text-[10px] font-bold text-muted-foreground/70 uppercase tracking-[0.18em] mb-0.5",children:"Backed by 10xGrowth"}),n.jsx("a",{href:"https://10xgrowth.com.au",target:"_blank",rel:"noopener noreferrer",className:"text-sm font-display font-bold hover:text-labs transition-colors",children:"100+ Businesses Scaled →"})]})]})]})}),n.jsxs("section",{className:"py-16 md:py-24 px-6",children:[n.jsxs("div",{className:"container mx-auto max-w-6xl mb-16 md:mb-24",children:[n.jsxs("div",{className:"text-center max-w-2xl mx-auto mb-10",children:[n.jsx("p",{className:"text-labs text-[11px] font-bold tracking-[0.28em] uppercase mb-3 font-display",children:"Recently Shipped"}),n.jsxs("h2",{className:"text-3xl md:text-4xl font-bold font-display leading-tight tracking-tight mb-3",children:["Real apps, ",n.jsx("span",{className:"bg-gradient-labs bg-clip-text text-transparent",children:"CRMs and AI systems"})," we've built."]}),n.jsx("p",{className:"text-muted-foreground text-sm md:text-base",children:"Mobile apps, marketplaces, dispatch platforms, personal & field CRMs, and AI receptionists — all shipped from a Blueprint just like the one you'll receive."})]}),n.jsx("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-3 md:gap-5",children:l6.map(e=>n.jsxs("div",{className:"group relative rounded-2xl overflow-hidden border border-border/40 bg-secondary/[0.05]",children:[n.jsx("div",{className:"aspect-[4/3] overflow-hidden bg-navy-light/40",children:n.jsx("img",{src:e.cover,alt:e.name,loading:"lazy",className:"w-full h-full object-cover group-hover:scale-105 transition-transform duration-500"})}),n.jsxs("div",{className:"p-3 md:p-4",children:[n.jsx("div",{className:"text-[10px] font-bold uppercase tracking-[0.16em] text-labs mb-1",children:e.tag}),n.jsx("div",{className:"text-sm md:text-base font-display font-bold",children:e.name})]})]},e.name))}),n.jsx("div",{className:"text-center mt-8",children:n.jsxs(L,{to:"/portfolio",className:"inline-flex items-center gap-2 text-sm font-semibold text-labs hover:underline",children:["See the full portfolio ",n.jsx(W,{className:"w-4 h-4"})]})})]}),n.jsxs("div",{className:"container mx-auto max-w-6xl",children:[n.jsxs("div",{className:"text-center max-w-2xl mx-auto mb-14",children:[n.jsx("p",{className:"text-labs text-[11px] font-bold tracking-[0.28em] uppercase mb-3 font-display",children:"What's Inside"}),n.jsxs("h2",{className:"text-4xl md:text-5xl lg:text-6xl font-bold font-display leading-[1.05] tracking-tight mb-5",children:["8 deliverables. ",n.jsx("span",{className:"text-foreground/50",children:"Before you build a thing."})]}),n.jsx("p",{className:"text-muted-foreground text-base md:text-lg leading-relaxed",children:"Everything you need to make a confident go / no-go decision — and to hand to any dev team in the world."})]}),n.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:c6.map((e,t)=>n.jsxs("div",{className:"group relative p-8 rounded-3xl border border-border/40 bg-secondary/[0.05] hover:border-labs/40 hover:bg-secondary/[0.08] transition-all",children:[n.jsx("div",{className:"absolute top-6 right-7 text-[11px] font-display font-bold text-muted-foreground/40 tracking-widest",children:String(t+1).padStart(2,"0")}),n.jsx("div",{className:"w-12 h-12 rounded-xl bg-labs/10 text-labs group-hover:bg-gradient-labs group-hover:text-navy-deep flex items-center justify-center mb-6 transition-colors",children:n.jsx(e.icon,{className:"w-6 h-6"})}),n.jsx("h3",{className:"font-display font-bold text-2xl mb-3 tracking-tight",children:e.title}),n.jsx("p",{className:"text-muted-foreground text-sm leading-relaxed mb-6",children:e.desc}),n.jsx("ul",{className:"space-y-2.5 pt-5 border-t border-border/30",children:e.items.map(s=>
471n.jsxs("li",{className:"flex gap-3 text-sm text-foreground/85",children:[n.jsx(Ye,{className:"w-4 h-4 text-labs flex-shrink-0 mt-0.5"})," ",s]},s))})]},e.title))})]})]}),n.jsx("section",{id:"blueprint-cta",className:"py-16 md:py-24 px-6",children:n.jsx("div",{className:"container mx-auto max-w-4xl",children:n.jsxs("div",{className:"relative overflow-hidden rounded-[2.5rem] p-12 md:p-20 border border-labs/20 bg-gradient-to-br from-labs/[0.08] via-secondary/5 to-navy-deep text-center",children:[n.jsx("div",{className:"absolute -top-32 -right-32 w-96 h-96 rounded-full bg-labs/20 blur-[120px] pointer-events-none"}),n.jsx("div",{className:"absolute -bottom-32 -left-32 w-96 h-96 rounded-full bg-labs/10 blur-[120px] pointer-events-none"}),n.jsxs("div",{className:"relative",children:[n.jsxs("h2",{className:"text-4xl md:text-6xl font-bold font-display leading-[1.05] tracking-tight mb-6",children:["Ready to see your idea ",n.jsx("span",{className:"bg-gradient-labs bg-clip-text text-transparent",children:"de-risked"}),"?"]}),n.jsx("p",{className:"text-muted-foreground text-base md:text-lg mb-12 max-w-xl mx-auto leading-relaxed",children:"48 hours from brief to Blueprint. No obligation. Reviewed personally by a senior solutions architect."}),n.jsxs(L,{to:"/#blueprint-form",className:"group inline-flex items-center gap-3 bg-gradient-labs text-navy-deep px-10 py-5 rounded-full font-bold font-display text-base md:text-lg hover:scale-[1.02] transition-all shadow-[0_0_40px_-8px_hsl(var(--labs)/0.5)]",children:["Get Your Free Blueprint",n.jsx(W,{className:"w-5 h-5 group-hover:translate-x-1 transition-transform"})]}),n.jsx("p",{className:"text-muted-foreground/70 text-xs mt-6 tracking-wide",children:"Only 2 Blueprints accepted per month — first come, first served."})]})]})})})]});function Ch(e,t){var s={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(s[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(s[r[i]]=e[r[i]]);return s}function u6(e,t,s,r){function i(a){return a instanceof s?a:new s(function(o){o(a)})}return new(s||(s=Promise))(function(a,o){function l(u){try{d(r.next(u))}catch(h){o(h)}}function c(u){try{d(r.throw(u))}catch(h){o(h)}}function d(u){u.done?a(u.value):i(u.value).then(l,c)}d((r=r.apply(e,t||[])).next())})}const h6=e=>e?(...t)=>e(...t):(...t)=>fetch(...t);class Hx extends Error{constructor(t,s="FunctionsError",r){super(t),this.name=s,this.context=r}toJSON(){return{name:this.name,message:this.message,context:this.context}}}class m6 extends Hx{constructor(t){super("Failed to send a request to the Edge Function","FunctionsFetchError",t)}}class Mb extends Hx{constructor(t){super("Relay Error invoking the Edge Function","FunctionsRelayError",t)}}class Db extends Hx{constructor(t){super("Edge Function returned a non-2xx status code","FunctionsHttpError",t)}}var kf;(function(e){e.Any="any",e.ApNortheast1="ap-northeast-1",e.ApNortheast2="ap-northeast-2",e.ApSouth1="ap-south-1",e.ApSoutheast1="ap-southeast-1",e.ApSoutheast2="ap-southeast-2",e.CaCentral1="ca-central-1",e.EuCentral1="eu-central-1",e.EuWest1="eu-west-1",e.EuWest2="eu-west-2",e.EuWest3="eu-west-3",e.SaEast1="sa-east-1",e.UsEast1="us-east-1",e.UsWest1="us-west-1",e.UsWest2="us-west-2"})(kf||(kf={}));class p6{constructor(t,{headers:s={},customFetch:r,region:i=kf.Any}={}){this.url=t,this.headers=s,this.region=i,this.fetch=h6(r)}setAuth(t){this.headers.Authorization=`Bearer ${t}`}invoke(t){return u6(this,arguments,void 0,function*(s,r={}){var i;let a,o;try{const{headers:l,method:c,body:d,signal:u,timeout:h}=r;let m={},{region:p}=r;p||(p=this.region);const x=new URL(`${this.url}/${s}`);p&&p!=="any"&&(m["x-region"]=p,x.searchParams.set("forceFunctionRegion",p));let y;d&&(l&&!Object.prototype.hasOwnProperty.call(l,"Content-Type")||!l)?typeof Blob<"u"&&d instanceof Blob||d instanceof ArrayBuffer?(m["Content-Type"]="application/octet-stream",y=d):typeof d=="string"?(m["Content-Type"]="text/plain",y=d):typeof FormData<"u"&&d instanceof FormData?y=d:(m["Content-Type"]="application/json",y=JSON.stringify(d)):d&&typeof d!="string"&&!(typeof Blob<"u"&&d instanceof Blob)&&!(d instanceof ArrayBuffer)&&!(typeof FormData<"u"&&d instanceof FormData)?y=JSON.stringify(d):y=d;let b=u;h&&(o=new AbortController,a=setTimeout(()=>
471o.abort(),h),u?(b=o.signal,u.addEventListener("abort",()=>o.abort())):b=o.signal);const f=yield this.fetch(x.toString(),{method:c||"POST",headers:Object.assign(Object.assign(Object.assign({},m),this.headers),l),body:y,signal:b}).catch(k=>{throw new m6(k)}),g=f.headers.get("x-relay-error");if(g&&g==="true")throw new Mb(f);if(!f.ok)throw new Db(f);let v=((i=f.headers.get("Content-Type"))!==null&&i!==void 0?i:"text/plain").split(";")[0].trim(),j;return v==="application/json"?j=yield f.json():v==="application/octet-stream"||v==="application/pdf"?j=yield f.blob():v==="text/event-stream"?j=f:v==="multipart/form-data"?j=yield f.formData():j=yield f.text(),{data:j,error:null,response:f}}catch(l){return{data:null,error:l,response:l instanceof Db||l instanceof Mb?l.context:void 0}}finally{a&&clearTimeout(a)}})}}const q2=3,Lb=e=>Math.min(1e3*2**e,3e4),f6=[520,503],G2=["GET","HEAD","OPTIONS"];var g6=class extends Error{constructor(e){super(e.message),this.name="PostgrestError",this.details=e.details,this.hint=e.hint,this.code=e.code}toJSON(){return{name:this.name,message:this.message,details:this.details,hint:this.hint,code:this.code}}};function $b(e,t){return new Promise(s=>{if(t!=null&&t.aborted){s();return}const r=setTimeout(()=>{t==null||t.removeEventListener("abort",i),s()},e);function i(){clearTimeout(r),s()}t==null||t.addEventListener("abort",i)})}function x6(e,t,s,r){return!(!r||s>=q2||!G2.includes(e)||!f6.includes(t))}var y6=class{constructor(e){var t,s,r,i,a;this.shouldThrowOnError=!1,this.retryEnabled=!0,this.method=e.method,this.url=e.url,this.headers=new Headers(e.headers),this.schema=e.schema,this.body=e.body,this.shouldThrowOnError=(t=e.shouldThrowOnError)!==null&&t!==void 0?t:!1,this.signal=e.signal,this.isMaybeSingle=(s=e.isMaybeSingle)!==null&&s!==void 0?s:!1,this.shouldStripNulls=(r=e.shouldStripNulls)!==null&&r!==void 0?r:!1,this.urlLengthLimit=(i=e.urlLengthLimit)!==null&&i!==void 0?i:8e3,this.retryEnabled=(a=e.retry)!==null&&a!==void 0?a:!0,e.fetch?this.fetch=e.fetch:this.fetch=fetch}throwOnError(){return this.shouldThrowOnError=!0,this}stripNulls(){if(this.headers.get("Accept")==="text/csv")throw new Error("stripNulls() cannot be used with csv()");return this.shouldStripNulls=!0,this}setHeader(e,t){return this.headers=new Headers(this.headers),this.headers.set(e,t),this}retry(e){return this.retryEnabled=e,this}then(e,t){var s=this;if(this.schema===void 0||(["GET","HEAD"].includes(this.method)?this.headers.set("Accept-Profile",this.schema):this.headers.set("Content-Profile",this.schema)),this.method!=="GET"&&this.method!=="HEAD"&&this.headers.set("Content-Type","application/json"),this.shouldStripNulls){const o=this.headers.get("Accept");o==="application/vnd.pgrst.object+json"?this.headers.set("Accept","application/vnd.pgrst.object+json;nulls=stripped"):(!o||o==="application/json")&&this.headers.set("Accept","application/vnd.pgrst.array+json;nulls=stripped")}const r=this.fetch;let a=(async()=>{let o=0;for(;;){const d=new Headers(s.headers);o>0&&d.set("X-Retry-Count",String(o));let u;try{u=await r(s.url.toString(),{method:s.method,headers:d,body:JSON.stringify(s.body,(h,m)=>typeof m=="bigint"?m.toString():m),signal:s.signal})}catch(h){if((h==null?void 0:h.name)==="AbortError"||(h==null?void 0:h.code)==="ABORT_ERR"||!G2.includes(s.method))throw h;if(s.retryEnabled&&o<q2){const m=Lb(o);o++,await $b(m,s.signal);continue}throw h}if(x6(s.method,u.status,o,s.retryEnabled)){var l,c;const h=(l=(c=u.headers)===null||c===void 0?void 0:c.get("Retry-After"))!==null&&l!==void 0?l:null,m=h!==null?Math.max(0,parseInt(h,10)||0)*1e3:Lb(o);await u.text(),o++,await $b(m,s.signal);continue}return await s.processResponse(u)}})();return this.shouldThrowOnError||(a=a.catch(o=>{var l;let c="",d="",u="";const h=o==null?void 0:o.cause;if(h){var m,p,x,y;const g=(m=h==null?void 0:h.message)!==null&&m!==void 0?m:"",v=(p=h==null?void 0:h.code)!==null&&p!==void 0?p:"";c=`${(x=o==null?void 0:o.name)!==null&&x!==void 0?x:"FetchError"}: ${o==null?void 0:o.message}`,c+=`
472
473Caused by: ${(y=h==null?void 0:h.name)!==null&&y!==void 0?y:"Error"}: ${g}`,v&&(c+=` (${v})`),h!=null&&h.stack&&(c+=`
474${h.stack}`)}else{var b;c=(b=o==null?void 0:o.stack)!==null&&b!==void 0?b:""}const f=this.url.toString().length;return(o==null?void 0:o.name)==="AbortError"||(o==null?void 0:o.code)==="ABORT_ERR"?(u="",d="Request was aborted (timeout or manual cancellation)",f>this.urlLengthLimit&&(d+=`. Note: Your request URL is ${f} characters, which may exceed server limits. If selecting many fields, consider using views. If filtering with large arrays (e.g., .in('id', [many IDs])), consider using an RPC function to pass values server-side.`)):((h==null?void 0:h.name)==="HeadersOverflowError"||(h==null?void 0:h.code)==="UND_ERR_HEADERS_OVERFLOW")&&(u="",d="HTTP headers exceeded server limits (typically 16KB)",f>this.urlLengthLimit&&(d+=`. Your request URL is ${f} characters. If selecting many fields, consider using views. If filtering with large arrays (e.g., .in('id', [200+ IDs])), consider using an RPC function instead.`)),{success:!1,error:{message:`${(l=o==null?void 0:o.name)!==null&&l!==void 0?l:"FetchError"}: ${o==null?void 0:o.message}`,details:c,hint:d,code:u},data:null,count:null,status:0,statusText:""}}
474)),a.then(e,t)}async processResponse(e){var t=this;let s=null,r=null,i=null,a=e.status,o=e.statusText;if(e.ok){var l,c;if(t.method!=="HEAD"){var d;const m=await e.text();m===""||(t.headers.get("Accept")==="text/csv"||t.headers.get("Accept")&&(!((d=t.headers.get("Accept"))===null||d===void 0)&&d.includes("application/vnd.pgrst.plan+text"))?r=m:r=JSON.parse(m))}const u=(l=t.headers.get("Prefer"))===null||l===void 0?void 0:l.match(/count=(exact|planned|estimated)/),h=(c=e.headers.get("content-range"))===null||c===void 0?void 0:c.split("/");u&&h&&h.length>1&&(i=parseInt(h[1])),t.isMaybeSingle&&Array.isArray(r)&&(r.length>1?(s={code:"PGRST116",details:`Results contain ${r.length} rows, application/vnd.pgrst.object+json requires 1 row`,hint:null,message:"JSON object requested, multiple (or no) rows returned"},r=null,i=null,a=406,o="Not Acceptable"):r.length===1?r=r[0]:r=null)}else{const u=await e.text();try{s=JSON.parse(u),Array.isArray(s)&&e.status===404&&(r=[],s=null,a=200,o="OK")}catch{e.status===404&&u===""?(a=204,o="No Content"):s={message:u}}if(s&&t.shouldThrowOnError)throw new g6(s)}return{success:s===null,error:s,data:r,count:i,status:a,statusText:o}}returns(){return this}overrideTypes(){return this}},v6=class extends y6{select(e){let t=!1;const s=(e??"*").split("").map(r=>/\s/.test(r)&&!t?"":(r==='"'&&(t=!t),r)).join("");return this.url.searchParams.set("select",s),this.headers.append("Prefer","return=representation"),this}order(e,{ascending:t=!0,nullsFirst:s,foreignTable:r,referencedTable:i=r}={}){const a=i?`${i}.order`:"order",o=this.url.searchParams.get(a);return this.url.searchParams.set(a,`${o?`${o},`:""}${e}.${t?"asc":"desc"}${s===void 0?"":s?".nullsfirst":".nullslast"}`),this}limit(e,{foreignTable:t,referencedTable:s=t}={}){const r=typeof s>"u"?"limit":`${s}.limit`;return this.url.searchParams.set(r,`${e}`),this}range(e,t,{foreignTable:s,referencedTable:r=s}={}){const i=typeof r>"u"?"offset":`${r}.offset`,a=typeof r>"u"?"limit":`${r}.limit`;return this.url.searchParams.set(i,`${e}`),this.url.searchParams.set(a,`${t-e+1}`),this}abortSignal(e){return this.signal=e,this}single(){return this.headers.set("Accept","application/vnd.pgrst.object+json"),this}maybeSingle(){return this.isMaybeSingle=!0,this}csv(){return this.headers.set("Accept","text/csv"),this}geojson(){return this.headers.set("Accept","application/geo+json"),this}explain({analyze:e=!1,verbose:t=!1,settings:s=!1,buffers:r=!1,wal:i=!1,format:a="text"}={}){var o;const l=[e?"analyze":null,t?"verbose":null,s?"settings":null,r?"buffers":null,i?"wal":null].filter(Boolean).join("|"),c=(o=this.headers.get("Accept"))!==null&&o!==void 0?o:"application/json";return this.headers.set("Accept",`application/vnd.pgrst.plan+${a}; for="${c}"; options=${l};`),a==="json"?this:this}rollback(){return this.headers.append("Prefer","tx=rollback"),this}returns(){return this}maxAffected(e){return this.headers.append("Prefer","handling=strict"),this.headers.append("Prefer",`max-affected=${e}`),this}};const Fb=new RegExp("[,()]");var Ki=class extends v6{eq(e,t){return this.url.searchParams.append(e,`eq.${t}`),this}neq(e,t){return this.url.searchParams.append(e,`neq.${t}`),this}gt(e,t){return this.url.searchParams.append(e,`gt.${t}`),this}gte(e,t){return this.url.searchParams.append(e,`gte.${t}`),this}lt(e,t){return this.url.searchParams.append(e,`lt.${t}`),this}lte(e,t){return this.url.searchParams.append(e,`lte.${t}`),this}like(e,t){return this.url.searchParams.append(e,`like.${t}`),this}likeAllOf(e,t){return this.url.searchParams.append(e,`like(all).{${t.join(",")}}`),this}likeAnyOf(e,t){return this.url.searchParams.append(e,`like(any).{${t.join(",")}}`),this}ilike(e,t){return this.url.searchParams.append(e,`ilike.${t}`),this}ilikeAllOf(e,t){return this.url.searchParams.append(e,`ilike(all).{${t.join(",")}}`),this}ilikeAnyOf(e,t){return this.url.searchParams.append(e,`ilike(any).{${t.join(",")}}`),this}regexMatch(e,t){return this.url.searchParams.append(e,`match.${t}`),this}regexIMatch(e,t){return this.url.searchParams.append(e,`imatch.${t}`),this}is(e,t){return this.url.searchParams.append(e,`is.${t}`),this}isDistinct(e,t){return this.url.searchParams.append(e,`isdistinct.${t}`),this}in(e,t){const s=Array.from(new Set(t)).map(r=>typeof r=="string"&&Fb.test(r)?`"${r}"`:`${r}`).join(",");return this.url.searchParams.append(e,`in.(${s})`),this}notIn(e,t){const s=Array.from(new Set(t)).map(r=>typeof r=="string"&&Fb.test(r)?`"${r}"`:`${r}`).join(",");return this.url.searchParams.append(e,`not.in.(${s})`),this}contains(e,t){return typeof t=="string"?this.url.searchParams.append(e,`cs.${t}`):Array.isArray(t)?this.url.searchParams.append(e,`cs.{${t.join(",")}}`):this.url.searchParams.append(e,`cs.${JSON.stringify(t)}`),this}containedBy(e,t){return typeof t=="string"?this.url.searchParams.append(e,`cd.${t}`):Array.isArray(t)?this.url.searchParams.append(e,`cd.{${t.join(",")}}`):this.url.searchParams.append(e,`cd.${JSON.stringify(t)}`),this}rangeGt(e,t){return this.url.searchParams.append(e,`sr.${t}`),this}rangeGte(e,t){return this.url.searchParams.append(e,`nxl.${t}`),this}rangeLt(e,t){return this.url.searchParams.append(e,`sl.${t}`),this}rangeLte(e,t){return this.url.searchParams.append(e,`nxr.${t}`),this}rangeAdjacent(e,t){return this.url.searchParams.append(e,`adj.${t}`),this}overlaps(e,t){return typeof t=="string"?this.url.searchParams.append(e,`ov.${t}`):this.url.searchParams.append(e,`ov.{${t.join(",")}}`),this}textSearch(e,t,{config:s,type:r}={}){let i="";r==="plain"?i="pl":r==="phrase"?i="ph":r==="websearch"&&(i="w");const a=s===void 0?"":`(${s})`;return this.url.searchParams.append(e,`${i}fts${a}.${t}`),this}match(e){return Object.entries(e).filter(([t,s])=>
474s!==void 0).forEach(([t,s])=>{this.url.searchParams.append(t,`eq.${s}`)}),this}not(e,t,s){return this.url.searchParams.append(e,`not.${t}.${s}`),this}or(e,{foreignTable:t,referencedTable:s=t}={}){const r=s?`${s}.or`:"or";return this.url.searchParams.append(r,`(${e})`),this}filter(e,t,s){return this.url.searchParams.append(e,`${t}.${s}`),this}},b6=class{constructor(e,{headers:t={},schema:s,fetch:r,urlLengthLimit:i=8e3,retry:a}){this.url=e,this.headers=new Headers(t),this.schema=s,this.fetch=r,this.urlLengthLimit=i,this.retry=a}cloneRequestState(){return{url:new URL(this.url.toString()),headers:new Headers(this.headers)}}select(e,t){const{head:s=!1,count:r}=t??{},i=s?"HEAD":"GET";let a=!1;const o=(e??"*").split("").map(d=>/\s/.test(d)&&!a?"":(d==='"'&&(a=!a),d)).join(""),{url:l,headers:c}=this.cloneRequestState();return l.searchParams.set("select",o),r&&c.append("Prefer",`count=${r}`),new Ki({method:i,url:l,headers:c,schema:this.schema,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}insert(e,{count:t,defaultToNull:s=!0}={}){var r;const i="POST",{url:a,headers:o}=this.cloneRequestState();if(t&&o.append("Prefer",`count=${t}`),s||o.append("Prefer","missing=default"),Array.isArray(e)){const l=e.reduce((c,d)=>c.concat(Object.keys(d)),[]);if(l.length>0){const c=[...new Set(l)].map(d=>`"${d}"`);a.searchParams.set("columns",c.join(","))}}return new Ki({method:i,url:a,headers:o,schema:this.schema,body:e,fetch:(r=this.fetch)!==null&&r!==void 0?r:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}upsert(e,{onConflict:t,ignoreDuplicates:s=!1,count:r,defaultToNull:i=!0}={}){var a;const o="POST",{url:l,headers:c}=this.cloneRequestState();if(c.append("Prefer",`resolution=${s?"ignore":"merge"}-duplicates`),t!==void 0&&l.searchParams.set("on_conflict",t),r&&c.append("Prefer",`count=${r}`),i||c.append("Prefer","missing=default"),Array.isArray(e)){const d=e.reduce((u,h)=>u.concat(Object.keys(h)),[]);if(d.length>0){const u=[...new Set(d)].map(h=>`"${h}"`);l.searchParams.set("columns",u.join(","))}}return new Ki({method:o,url:l,headers:c,schema:this.schema,body:e,fetch:(a=this.fetch)!==null&&a!==void 0?a:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}update(e,{count:t}={}){var s;const r="PATCH",{url:i,headers:a}=this.cloneRequestState();return t&&a.append("Prefer",`count=${t}`),new Ki({method:r,url:i,headers:a,schema:this.schema,body:e,fetch:(s=this.fetch)!==null&&s!==void 0?s:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}delete({count:e}={}){var t;const s="DELETE",{url:r,headers:i}=this.cloneRequestState();return e&&i.append("Prefer",`count=${e}`),new Ki({method:s,url:r,headers:i,schema:this.schema,fetch:(t=this.fetch)!==null&&t!==void 0?t:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}};function Ol(e){"@babel/helpers - typeof";return Ol=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ol(e)}function w6(e,t){if(Ol(e)!="object"||!e)return e;var s=e[Symbol.toPrimitive];if(s!==void 0){var r=s.call(e,t||"default");if(Ol(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function j6(e){var t=w6(e,"string");return Ol(t)=="symbol"?t:t+""}function k6(e,t,s){return(t=j6(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function Bb(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),s.push.apply(s,r)}return s}function Hc(e){for(var t=1;t<arguments.length;t++){var s=arguments[t]!=null?arguments[t]:{};t%2?Bb(Object(s),!0).forEach(function(r){k6(e,r,s[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):Bb(Object(s)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(s,r))})}return e}var N6=class K2{constructor(t,{headers:s={},schema:r,fetch:i,timeout:a,urlLengthLimit:o=8e3,retry:l}={}){this.url=t,this.headers=new Headers(s),this.schemaName=r,this.urlLengthLimit=o;const c=i??globalThis.fetch;a!==void 0&&a>0?this.fetch=(d,u)=>{const h=new AbortController,m=setTimeout(()=>h.abort(),a),p=u==null?void 0:u.signal;if(p){if(p.aborted)return clearTimeout(m),c(d,u);const x=()=>{clearTimeout(m),h.abort()};return p.addEventListener("abort",x,{once:!0}),c(d,Hc(Hc({},u),{},{signal:h.signal})).finally(()=>{clearTimeout(m),p.removeEventListener("abort",x)})}return c(d,Hc(Hc({},u),{},{signal:h.signal})).finally(()=>clearTimeout(m))}:this.fetch=c,this.retry=l}from(t){if(!t||typeof t!="string"||t.trim()==="")throw new Error("Invalid relation name: relation must be a non-empty string.");return new b6(new URL(`${this.url}/${t}`),{headers:new Headers(this.headers),schema:this.schemaName,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}schema(t){return new K2(this.url,{headers:this.headers,schema:t,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}rpc(t,s={},{head:r=!1,get:i=!1,count:a}={}){var o;let l;const c=new URL(`${this.url}/rpc/${t}`);let d;const u=p=>p!==null&&typeof p=="object"&&(!Array.isArray(p)||p.some(u)),h=r&&Object.values(s).some(u);h?(l="POST",d=s):r||i?(l=r?"HEAD":"GET",Object.entries(s).filter(([p,x])=>x!==void 0).map(([p,x])=>[p,Array.isArray(x)?`{${x.join(",")}}`:`${x}
474`]).forEach(([p,x])=>{c.searchParams.append(p,x)})):(l="POST",d=s);const m=new Headers(this.headers);return h?m.set("Prefer",a?`count=${a},return=minimal`:"return=minimal"):a&&m.set("Prefer",`count=${a}`),new Ki({method:l,url:c,headers:m,schema:this.schemaName,body:d,fetch:(o=this.fetch)!==null&&o!==void 0?o:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}};class S6{constructor(){}static detectEnvironment(){var t;if(typeof WebSocket<"u")return{type:"native",wsConstructor:WebSocket};const s=globalThis;if(typeof globalThis<"u"&&typeof s.WebSocket<"u")return{type:"native",wsConstructor:s.WebSocket};const r=typeof global<"u"?global:void 0;if(r&&typeof r.WebSocket<"u")return{type:"native",wsConstructor:r.WebSocket};if(typeof globalThis<"u"&&typeof s.WebSocketPair<"u"&&typeof globalThis.WebSocket>"u")return{type:"cloudflare",error:"Cloudflare Workers detected. WebSocket clients are not supported in Cloudflare Workers.",workaround:"Use Cloudflare Workers WebSocket API for server-side WebSocket handling, or deploy to a different runtime."};if(typeof globalThis<"u"&&s.EdgeRuntime||typeof navigator<"u"&&(!((t=navigator.userAgent)===null||t===void 0)&&t.includes("Vercel-Edge")))return{type:"unsupported",error:"Edge runtime detected (Vercel Edge/Netlify Edge). WebSockets are not supported in edge functions.",workaround:"Use serverless functions or a different deployment target for WebSocket functionality."};const i=globalThis.process;if(i){const a=i.versions;if(a&&a.node){const o=a.node,l=parseInt(o.replace(/^v/,"").split(".")[0]);return l>=22?typeof globalThis.WebSocket<"u"?{type:"native",wsConstructor:globalThis.WebSocket}:{type:"unsupported",error:`Node.js ${l} detected but native WebSocket not found.`,workaround:"Provide a WebSocket implementation via the transport option."}:{type:"unsupported",error:`Node.js ${l} detected without native WebSocket support.`,workaround:`For Node.js < 22, install "ws" package and provide it via the transport option:
475import ws from "ws"
476new RealtimeClient(url, { transport: ws })`}}}return{type:"unsupported",error:"Unknown JavaScript runtime without WebSocket support.",workaround:"Ensure you're running in a supported environment (browser, Node.js, Deno) or provide a custom WebSocket implementation."}}static getWebSocketConstructor(){const t=this.detectEnvironment();if(t.wsConstructor)return t.wsConstructor;let s=t.error||"WebSocket not supported in this environment.";throw t.workaround&&(s+=`
477
478Suggested solution: ${t.workaround}`),new Error(s)}static isWebSocketSupported(){try{const t=this.detectEnvironment();return t.type==="native"||t.type==="ws"}catch{return!1}}}const A6="2.105.4",_6=`realtime-js/${A6}`,C6="1.0.0",Y2="2.0.0",E6=Y2,T6=1e4,P6=100,Qr={closed:"closed",errored:"errored",joined:"joined",joining:"joining",leaving:"leaving"},J2={close:"phx_close",error:"phx_error",join:"phx_join",reply:"phx_reply",leave:"phx_leave",access_token:"access_token"},Nf={connecting:"connecting",open:"open",closing:"closing",closed:"closed"};class I6{constructor(t){this.HEADER_LENGTH=1,this.USER_BROADCAST_PUSH_META_LENGTH=6,this.KINDS={userBroadcastPush:3,userBroadcast:4},this.BINARY_ENCODING=0,this.JSON_ENCODING=1,this.BROADCAST_EVENT="broadcast",this.allowedMetadataKeys=[],this.allowedMetadataKeys=t??[]}encode(t,s){if(t.event===this.BROADCAST_EVENT&&!(t.payload instanceof ArrayBuffer)&&typeof t.payload.event=="string")return s(this._binaryEncodeUserBroadcastPush(t));let r=[t.join_ref,t.ref,t.topic,t.event,t.payload];return s(JSON.stringify(r))}_binaryEncodeUserBroadcastPush(t){var s;return this._isArrayBuffer((s=t.payload)===null||s===void 0?void 0:s.payload)?this._encodeBinaryUserBroadcastPush(t):this._encodeJsonUserBroadcastPush(t)}_encodeBinaryUserBroadcastPush(t){var s,r;const i=(r=(s=t.payload)===null||s===void 0?void 0:s.payload)!==null&&r!==void 0?r:new ArrayBuffer(0);return this._encodeUserBroadcastPush(t,this.BINARY_ENCODING,i)}_encodeJsonUserBroadcastPush(t){var s,r;const i=(r=(s=t.payload)===null||s===void 0?void 0:s.payload)!==null&&r!==void 0?r:{},o=new TextEncoder().encode(JSON.stringify(i)).buffer;return this._encodeUserBroadcastPush(t,this.JSON_ENCODING,o)}_encodeUserBroadcastPush(t,s,r){var i,a;const o=t.topic,l=(i=t.ref)!==null&&i!==void 0?i:"",c=(a=t.join_ref)!==null&&a!==void 0?a:"",d=t.payload.event,u=this.allowedMetadataKeys?this._pick(t.payload,this.allowedMetadataKeys):{},h=Object.keys(u).length===0?"":JSON.stringify(u);if(c.length>255)throw new Error(`joinRef length ${c.length} exceeds maximum of 255`);if(l.length>255)throw new Error(`ref length ${l.length} exceeds maximum of 255`);if(o.length>255)throw new Error(`topic length ${o.length} exceeds maximum of 255`);if(d.length>255)throw new Error(`userEvent length ${d.length} exceeds maximum of 255`);if(h.length>255)throw new Error(`metadata length ${h.length} exceeds maximum of 255`);const m=this.USER_BROADCAST_PUSH_META_LENGTH+c.length+l.length+o.length+d.length+h.length,p=new ArrayBuffer(this.HEADER_LENGTH+m);let x=new DataView(p),y=0;x.setUint8(y++,this.KINDS.userBroadcastPush),x.setUint8(y++,c.length),x.setUint8(y++,l.length),x.setUint8(y++,o.length),x.setUint8(y++,d.length),x.setUint8(y++,h.length),x.setUint8(y++,s),Array.from(c,f=>x.setUint8(y++,f.charCodeAt(0))),Array.from(l,f=>x.setUint8(y++,f.charCodeAt(0))),Array.from(o,f=>x.setUint8(y++,f.charCodeAt(0))),Array.from(d,f=>x.setUint8(y++,f.charCodeAt(0))),Array.from(h,f=>x.setUint8(y++,f.charCodeAt(0)));var b=new Uint8Array(p.byteLength+r.byteLength);return b.set(new Uint8Array(p),0),b.set(new Uint8Array(r),p.byteLength),b.buffer}decode(t,s){if(this._isArrayBuffer(t)){let r=this._binaryDecode(t);return s(r)}if(typeof t=="string"){const r=JSON.parse(t),[i,a,o,l,c]=r;
478return s({join_ref:i,ref:a,topic:o,event:l,payload:c})}return s({})}_binaryDecode(t){const s=new DataView(t),r=s.getUint8(0),i=new TextDecoder;switch(r){case this.KINDS.userBroadcast:return this._decodeUserBroadcast(t,s,i)}}_decodeUserBroadcast(t,s,r){const i=s.getUint8(1),a=s.getUint8(2),o=s.getUint8(3),l=s.getUint8(4);let c=this.HEADER_LENGTH+4;const d=r.decode(t.slice(c,c+i));c=c+i;const u=r.decode(t.slice(c,c+a));c=c+a;const h=r.decode(t.slice(c,c+o));c=c+o;const m=t.slice(c,t.byteLength),p=l===this.JSON_ENCODING?JSON.parse(r.decode(m)):m,x={type:this.BROADCAST_EVENT,event:u,payload:p};return o>0&&(x.meta=JSON.parse(h)),{join_ref:null,ref:null,topic:d,event:this.BROADCAST_EVENT,payload:x}}_isArrayBuffer(t){var s;return t instanceof ArrayBuffer||((s=t==null?void 0:t.constructor)===null||s===void 0?void 0:s.name)==="ArrayBuffer"}_pick(t,s){return!t||typeof t!="object"?{}:Object.fromEntries(Object.entries(t).filter(([r])=>s.includes(r)))}}var Ne;(function(e){e.abstime="abstime",e.bool="bool",e.date="date",e.daterange="daterange",e.float4="float4",e.float8="float8",e.int2="int2",e.int4="int4",e.int4range="int4range",e.int8="int8",e.int8range="int8range",e.json="json",e.jsonb="jsonb",e.money="money",e.numeric="numeric",e.oid="oid",e.reltime="reltime",e.text="text",e.time="time",e.timestamp="timestamp",e.timestamptz="timestamptz",e.timetz="timetz",e.tsrange="tsrange",e.tstzrange="tstzrange"})(Ne||(Ne={}));const Ub=(e,t,s={})=>{var r;const i=(r=s.skipTypes)!==null&&r!==void 0?r:[];return t?Object.keys(t).reduce((a,o)=>(a[o]=R6(o,e,t,i),a),{}):{}},R6=(e,t,s,r)=>{const i=t.find(l=>
vendor: 5,523 bytes, line 478
478l.name===e),a=i==null?void 0:i.type,o=s[e];return a&&!r.includes(a)?Z2(a,o):Sf(o)},Z2=(e,t)=>{if(e.charAt(0)==="_"){const s=e.slice(1,e.length);return L6(t,s)}switch(e){case Ne.bool:return O6(t);case Ne.float4:case Ne.float8:case Ne.int2:case Ne.int4:case Ne.int8:case Ne.numeric:case Ne.oid:return M6(t);case Ne.json:case Ne.jsonb:return D6(t);case Ne.timestamp:return $6(t);case Ne.abstime:case Ne.date:case Ne.daterange:case Ne.int4range:case Ne.int8range:case Ne.money:case Ne.reltime:case Ne.text:case Ne.time:case Ne.timestamptz:case Ne.timetz:case Ne.tsrange:case Ne.tstzrange:return Sf(t);default:return Sf(t)}},Sf=e=>e,O6=e=>{switch(e){case"t":return!0;case"f":return!1;default:return e}},M6=e=>{if(typeof e=="string"){const t=parseFloat(e);if(!Number.isNaN(t))return t}return e},D6=e=>{if(typeof e=="string")try{return JSON.parse(e)}catch{return e}return e},L6=(e,t)=>{if(typeof e!="string")return e;const s=e.length-1,r=e[s];if(e[0]==="{"&&r==="}"){let a;const o=e.slice(1,s);try{a=JSON.parse("["+o+"]")}catch{a=o?o.split(","):[]}return a.map(l=>Z2(t,l))}return e},$6=e=>typeof e=="string"?e.replace(" ","T"):e,X2=e=>{const t=new URL(e);return t.protocol=t.protocol.replace(/^ws/i,"http"),t.pathname=t.pathname.replace(/\/+$/,"").replace(/\/socket\/websocket$/i,"").replace(/\/socket$/i,"").replace(/\/websocket$/i,""),t.pathname===""||t.pathname==="/"?t.pathname="/api/broadcast":t.pathname=t.pathname+"/api/broadcast",t.href};var nl=e=>typeof e=="function"?e:function(){return e},F6=typeof self<"u"?self:null,Yi=typeof window<"u"?window:null,Hs=F6||Yi||globalThis,B6="2.0.0",U6=1e4,W6=1e3,Ys={connecting:0,open:1,closing:2,closed:3},Ot={closed:"closed",errored:"errored",joined:"joined",joining:"joining",leaving:"leaving"},vr={close:"phx_close",error:"phx_error",join:"phx_join",reply:"phx_reply",leave:"phx_leave"},Af={longpoll:"longpoll",websocket:"websocket"},V6={complete:4},_f="base64url.bearer.phx.",qc=class{constructor(e,t,s,r){this.channel=e,this.event=t,this.payload=s||function(){return{}},this.receivedResp=null,this.timeout=r,this.timeoutTimer=null,this.recHooks=[],this.sent=!1,this.ref=void 0}resend(e){this.timeout=e,this.reset(),this.send()}send(){this.hasReceived("timeout")||(this.startTimeout(),this.sent=!0,this.channel.socket.push({topic:this.channel.topic,event:this.event,payload:this.payload(),ref:this.ref,join_ref:this.channel.joinRef()}))}receive(e,t){return this.hasReceived(e)&&t(this.receivedResp.response),this.recHooks.push({status:e,callback:t}),this}reset(){this.cancelRefEvent(),this.ref=null,this.refEvent=null,this.receivedResp=null,this.sent=!1}destroy(){this.cancelRefEvent(),this.cancelTimeout()}matchReceive({status:e,response:t,_ref:s}){this.recHooks.filter(r=>r.status===e).forEach(r=>r.callback(t))}cancelRefEvent(){this.refEvent&&this.channel.off(this.refEvent)}cancelTimeout(){clearTimeout(this.timeoutTimer),this.timeoutTimer=null}startTimeout(){this.timeoutTimer&&this.cancelTimeout(),this.ref=this.channel.socket.makeRef(),this.refEvent=this.channel.replyEventName(this.ref),this.channel.on(this.refEvent,e=>{this.cancelRefEvent(),this.cancelTimeout(),this.receivedResp=e,this.matchReceive(e)}),this.timeoutTimer=setTimeout(()=>{this.trigger("timeout",{})},this.timeout)}hasReceived(e){return this.receivedResp&&this.receivedResp.status===e}trigger(e,t){this.channel.trigger(this.refEvent,{status:e,response:t})}},Q2=class{constructor(e,t){this.callback=e,this.timerCalc=t,this.timer=void 0,this.tries=0}reset(){this.tries=0,clearTimeout(this.timer)}scheduleTimeout(){clearTimeout(this.timer),this.timer=setTimeout(()=>{this.tries=this.tries+1,this.callback()},this.timerCalc(this.tries+1))}},z6=class{constructor(e,t,s){this.state=Ot.closed,this.topic=e,this.params=nl(t||{}),this.socket=s,this.bindings=[],this.bindingRef=0,this.timeout=this.socket.timeout,this.joinedOnce=!1,this.joinPush=new qc(this,vr.join,this.params,this.timeout),this.pushBuffer=[],this.stateChangeRefs=[],this.rejoinTimer=new Q2(()=>{this.socket.isConnected()&&this.rejoin()},this.socket.rejoinAfterMs),this.stateChangeRefs.push(this.socket.onError(()=>this.rejoinTimer.reset())),this.stateChangeRefs.push(this.socket.onOpen(()=>{this.rejoinTimer.reset(),this.isErrored()&&this.rejoin()})),this.joinPush.receive("ok",()=>{this.state=Ot.joined,this.rejoinTimer.reset(),this.pushBuffer.forEach(r=>r.send()),this.pushBuffer=[]}),this.joinPush.receive("error",r=>{this.state=Ot.errored,this.socket.hasLogger()&&this.socket.log("channel",`error ${this.topic}`,r),this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.onClose(()=>{this.rejoinTimer.reset(),this.socket.hasLogger()&&this.socket.log("channel",`close ${this.topic}`),this.state=Ot.closed,this.socket.remove(this)}),this.onError(r=>{this.socket.hasLogger()&&this.socket.log("channel",`error ${this.topic}`,r),this.isJoining()&&this.joinPush.reset(),this.state=Ot.errored,this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.joinPush.receive("timeout",()=>{this.socket.hasLogger()&&this.socket.log("channel",`timeout ${this.topic}`,this.joinPush.timeout),new qc(this,vr.leave,nl({}),this.timeout).send(),this.state=Ot.errored,this.joinPush.reset(),this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.on(vr.reply,(r,i)=>{this.trigger(this.replyEventName(i),r)})}join(e=this.timeout){if(this.joinedOnce)throw new Error("tried to join multiple times. 'join' can only be called a single time per channel instance");return this.timeout=e,this.joinedOnce=!0,this.rejoin(),this.joinPush}
vendor: 18,287 bytes, lines 478-479
478teardown(){this.pushBuffer.forEach(e=>e.destroy()),this.pushBuffer=[],this.rejoinTimer.reset(),this.joinPush.destroy(),this.state=Ot.closed,this.bindings=[]}onClose(e){this.on(vr.close,e)}onError(e){return this.on(vr.error,t=>e(t))}on(e,t){let s=this.bindingRef++;return this.bindings.push({event:e,ref:s,callback:t}),s}off(e,t){this.bindings=this.bindings.filter(s=>!(s.event===e&&(typeof t>"u"||t===s.ref)))}canPush(){return this.socket.isConnected()&&this.isJoined()}push(e,t,s=this.timeout){if(t=t||{},!this.joinedOnce)throw new Error(`tried to push '${e}' to '${this.topic}' before joining. Use channel.join() before pushing events`);let r=new qc(this,e,function(){return t},s);return this.canPush()?r.send():(r.startTimeout(),this.pushBuffer.push(r)),r}leave(e=this.timeout){this.rejoinTimer.reset(),this.joinPush.cancelTimeout(),this.state=Ot.leaving;let t=()=>{this.socket.hasLogger()&&this.socket.log("channel",`leave ${this.topic}`),this.trigger(vr.close,"leave")},s=new qc(this,vr.leave,nl({}),e);return s.receive("ok",()=>t()).receive("timeout",()=>t()),s.send(),this.canPush()||s.trigger("ok",{}),s}onMessage(e,t,s){return t}filterBindings(e,t,s){return!0}isMember(e,t,s,r){return this.topic!==e?!1:r&&r!==this.joinRef()?(this.socket.hasLogger()&&this.socket.log("channel","dropping outdated message",{topic:e,event:t,payload:s,joinRef:r}),!1):!0}joinRef(){return this.joinPush.ref}rejoin(e=this.timeout){this.isLeaving()||(this.socket.leaveOpenTopic(this.topic),this.state=Ot.joining,this.joinPush.resend(e))}trigger(e,t,s,r){let i=this.onMessage(e,t,s,r);if(t&&!i)throw new Error("channel onMessage callbacks must return the payload, modified or unmodified");let a=this.bindings.filter(o=>o.event===e&&this.filterBindings(o,t,s));for(let o=0;o<a.length;o++)a[o].callback(i,s,r||this.joinRef())}replyEventName(e){return`chan_reply_${e}`}isClosed(){return this.state===Ot.closed}isErrored(){return this.state===Ot.errored}isJoined(){return this.state===Ot.joined}isJoining(){return this.state===Ot.joining}isLeaving(){return this.state===Ot.leaving}},Nu=class{static request(e,t,s,r,i,a,o){if(Hs.XDomainRequest){let l=new Hs.XDomainRequest;return this.xdomainRequest(l,e,t,r,i,a,o)}else if(Hs.XMLHttpRequest){let l=new Hs.XMLHttpRequest;return this.xhrRequest(l,e,t,s,r,i,a,o)}else{if(Hs.fetch&&Hs.AbortController)return this.fetchRequest(e,t,s,r,i,a,o);throw new Error("No suitable XMLHttpRequest implementation found")}}static fetchRequest(e,t,s,r,i,a,o){let l={method:e,headers:s,body:r},c=null;return i&&(c=new AbortController,setTimeout(()=>c.abort(),i),l.signal=c.signal),Hs.fetch(t,l).then(d=>d.text()).then(d=>this.parseJSON(d)).then(d=>o&&o(d)).catch(d=>{d.name==="AbortError"&&a?a():o&&o(null)}),c}static xdomainRequest(e,t,s,r,i,a,o){return e.timeout=i,e.open(t,s),e.onload=()=>{let l=this.parseJSON(e.responseText);o&&o(l)},a&&(e.ontimeout=a),e.onprogress=()=>{},e.send(r),e}static xhrRequest(e,t,s,r,i,a,o,l){e.open(t,s,!0),e.timeout=a;for(let[c,d]of Object.entries(r))e.setRequestHeader(c,d);return e.onerror=()=>l&&l(null),e.onreadystatechange=()=>{if(e.readyState===V6.complete&&l){let c=this.parseJSON(e.responseText);l(c)}},o&&(e.ontimeout=o),e.send(i),e}static parseJSON(e){if(!e||e==="")return null;try{return JSON.parse(e)}catch{return console&&console.log("failed to parse JSON response",e),null}}static serialize(e,t){let s=[];for(var r in e){if(!Object.prototype.hasOwnProperty.call(e,r))continue;let i=t?`${t}[${r}]`:r,a=e[r];typeof a=="object"?s.push(this.serialize(a,i)):s.push(encodeURIComponent(i)+"="+encodeURIComponent(a))}return s.join("&")}static appendParams(e,t){if(Object.keys(t).length===0)return e;let s=e.match(/\?/)?"&":"?";return`${e}${s}${this.serialize(t)}`}},H6=e=>{let t="",s=new Uint8Array(e),r=s.byteLength;for(let i=0;i<r;i++)t+=String.fromCharCode(s[i]);return btoa(t)},$i=class{constructor(e,t){t&&t.length===2&&t[1].startsWith(_f)&&(this.authToken=atob(t[1].slice(_f.length))),this.endPoint=null,this.token=null,this.skipHeartbeat=!0,this.reqs=new Set,this.awaitingBatchAck=!1,this.currentBatch=null,this.currentBatchTimer=null,this.batchBuffer=[],this.onopen=function(){},this.onerror=function(){},this.onmessage=function(){},this.onclose=function(){},this.pollEndpoint=this.normalizeEndpoint(e),this.readyState=Ys.connecting,setTimeout(()=>this.poll(),0)}normalizeEndpoint(e){return e.replace("ws://","http://").replace("wss://","https://").replace(new RegExp("(.*)/"+Af.websocket),"$1/"+Af.longpoll)}endpointURL(){return Nu.appendParams(this.pollEndpoint,{token:this.token})}closeAndRetry(e,t,s){this.close(e,t,s),this.readyState=Ys.connecting}ontimeout(){this.onerror("timeout"),this.closeAndRetry(1005,"timeout",!1)}isActive(){return this.readyState===Ys.open||this.readyState===Ys.connecting}poll(){const e={Accept:"application/json"};this.authToken&&(e["X-Phoenix-AuthToken"]=this.authToken),this.ajax("GET",e,null,()=>this.ontimeout(),t=>{if(t){var{status:s,token:r,messages:i}=t;if(s===410&&this.token!==null){this.onerror(410),this.closeAndRetry(3410,"session_gone",!1);return}this.token=r}else s=0;switch(s){case 200:i.forEach(a=>{setTimeout(()=>this.onmessage({data:a}),0)}),this.poll();break;case 204:this.poll();break;case 410:this.readyState=Ys.open,this.onopen({}),this.poll();break;case 403:this.onerror(403),this.close(1008,"forbidden",!1);break;case 0:case 500:this.onerror(500),this.closeAndRetry(1011,"internal server error",500);break;default:throw new Error(`unhandled poll status ${s}`)}})}send(e){typeof e!="string"&&(e=H6(e)),this.currentBatch?this.currentBatch.push(e):this.awaitingBatchAck?this.batchBuffer.push(e):(this.currentBatch=[e],this.currentBatchTimer=setTimeout(()=>{this.batchSend(this.currentBatch),this.currentBatch=null},0))}batchSend(e){this.awaitingBatchAck=!0,this.ajax("POST",{"Content-Type":"application/x-ndjson"},e.join(`
479`),()=>this.onerror("timeout"),t=>{this.awaitingBatchAck=!1,!t||t.status!==200?(this.onerror(t&&t.status),this.closeAndRetry(1011,"internal server error",!1)):this.batchBuffer.length>0&&(this.batchSend(this.batchBuffer),this.batchBuffer=[])})}close(e,t,s){for(let i of this.reqs)i.abort();this.readyState=Ys.closed;let r=Object.assign({code:1e3,reason:void 0,wasClean:!0},{code:e,reason:t,wasClean:s});this.batchBuffer=[],clearTimeout(this.currentBatchTimer),this.currentBatchTimer=null,typeof CloseEvent<"u"?this.onclose(new CloseEvent("close",r)):this.onclose(r)}ajax(e,t,s,r,i){let a,o=()=>{this.reqs.delete(a),r()};a=Nu.request(e,this.endpointURL(),t,s,this.timeout,o,l=>{this.reqs.delete(a),this.isActive()&&i(l)}),this.reqs.add(a)}},q6=class Vo{constructor(t,s={}){let r=s.events||{state:"presence_state",diff:"presence_diff"};this.state={},this.pendingDiffs=[],this.channel=t,this.joinRef=null,this.caller={onJoin:function(){},onLeave:function(){},onSync:function(){}},this.channel.on(r.state,i=>{let{onJoin:a,onLeave:o,onSync:l}=this.caller;this.joinRef=this.channel.joinRef(),this.state=Vo.syncState(this.state,i,a,o),this.pendingDiffs.forEach(c=>{this.state=Vo.syncDiff(this.state,c,a,o)}),this.pendingDiffs=[],l()}),this.channel.on(r.diff,i=>{let{onJoin:a,onLeave:o,onSync:l}=this.caller;this.inPendingSyncState()?this.pendingDiffs.push(i):(this.state=Vo.syncDiff(this.state,i,a,o),l())})}onJoin(t){this.caller.onJoin=t}onLeave(t){this.caller.onLeave=t}onSync(t){this.caller.onSync=t}list(t){return Vo.list(this.state,t)}inPendingSyncState(){return!this.joinRef||this.joinRef!==this.channel.joinRef()}static syncState(t,s,r,i){let a=this.clone(t),o={},l={};return this.map(a,(c,d)=>{s[c]||(l[c]=d)}),this.map(s,(c,d)=>{let u=a[c];if(u){let h=d.metas.map(y=>y.phx_ref),m=u.metas.map(y=>y.phx_ref),p=d.metas.filter(y=>m.indexOf(y.phx_ref)<0),x=u.metas.filter(y=>h.indexOf(y.phx_ref)<0);p.length>0&&(o[c]=d,o[c].metas=p),x.length>0&&(l[c]=this.clone(u),l[c].metas=x)}else o[c]=d}),this.syncDiff(a,{joins:o,leaves:l},r,i)}static syncDiff(t,s,r,i){let{joins:a,leaves:o}=this.clone(s);return r||(r=function(){}),i||(i=function(){}),this.map(a,(l,c)=>{let d=t[l];if(t[l]=this.clone(c),d){let u=t[l].metas.map(m=>m.phx_ref),h=d.metas.filter(m=>u.indexOf(m.phx_ref)<0);t[l].metas.unshift(...h)}r(l,d,c)}),this.map(o,(l,c)=>{let d=t[l];if(!d)return;let u=c.metas.map(h=>h.phx_ref);d.metas=d.metas.filter(h=>u.indexOf(h.phx_ref)<0),i(l,d,c),d.metas.length===0&&delete t[l]}),t}static list(t,s){return s||(s=function(r,i){return i}),this.map(t,(r,i)=>s(r,i))}static map(t,s){return Object.getOwnPropertyNames(t).map(r=>s(r,t[r]))}static clone(t){return JSON.parse(JSON.stringify(t))}},Gc={HEADER_LENGTH:1,META_LENGTH:4,KINDS:{push:0,reply:1,broadcast:2},encode(e,t){if(e.payload.constructor===ArrayBuffer)return t(this.binaryEncode(e));{let s=[e.join_ref,e.ref,e.topic,e.event,e.payload];return t(JSON.stringify(s))}},decode(e,t){if(e.constructor===ArrayBuffer)return t(this.binaryDecode(e));{let[s,r,i,a,o]=JSON.parse(e);return t({join_ref:s,ref:r,topic:i,event:a,payload:o})}},binaryEncode(e){let{join_ref:t,ref:s,event:r,topic:i,payload:a}=e,o=this.META_LENGTH+t.length+s.length+i.length+r.length,l=new ArrayBuffer(this.HEADER_LENGTH+o),c=new DataView(l),d=0;c.setUint8(d++,this.KINDS.push),c.setUint8(d++,t.length),c.setUint8(d++,s.length),c.setUint8(d++,i.length),c.setUint8(d++,r.length),Array.from(t,h=>c.setUint8(d++,h.charCodeAt(0))),Array.from(s,h=>c.setUint8(d++,h.charCodeAt(0))),Array.from(i,h=>c.setUint8(d++,h.charCodeAt(0))),Array.from(r,h=>c.setUint8(d++,h.charCodeAt(0)));var u=new Uint8Array(l.byteLength+a.byteLength);return u.set(new Uint8Array(l),0),u.set(new Uint8Array(a),l.byteLength),u.buffer},binaryDecode(e){let t=new DataView(e),s=t.getUint8(0),r=new TextDecoder;switch(s){case this.KINDS.push:return this.decodePush(e,t,r);case this.KINDS.reply:return this.decodeReply(e,t,r);case this.KINDS.broadcast:return this.decodeBroadcast(e,t,r)}},decodePush(e,t,s){let r=t.getUint8(1),i=t.getUint8(2),a=t.getUint8(3),o=this.HEADER_LENGTH+this.META_LENGTH-1,l=s.decode(e.slice(o,o+r));o=o+r;let c=s.decode(e.slice(o,o+i));o=o+i;let d=s.decode(e.slice(o,o+a));o=o+a;let u=e.slice(o,e.byteLength);return{join_ref:l,ref:null,topic:c,event:d,payload:u}},decodeReply(e,t,s){let r=t.getUint8(1),i=t.getUint8(2),a=t.getUint8(3),o=t.getUint8(4),l=this.HEADER_LENGTH+this.META_LENGTH,c=s.decode(e.slice(l,l+r));l=l+r;let d=s.decode(e.slice(l,l+i));l=l+i;let u=s.decode(e.slice(l,l+a));l=l+a;let h=s.decode(e.slice(l,l+o));l=l+o;let m=e.slice(l,e.byteLength),p={status:h,response:m};return{join_ref:c,ref:d,topic:u,event:vr.reply,payload:p}},decodeBroadcast(e,t,s){let r=t.getUint8(1),i=t.getUint8(2),a=this.HEADER_LENGTH+2,o=s.decode(e.slice(a,a+r));a=a+r;let l=s.decode(e.slice(a,a+i));a=a+i;let c=e.slice(a,e.byteLength);return{join_ref:null,ref:null,topic:o,event:l,payload:c}}},G6=class{constructor(e,t={}){this.stateChangeCallbacks={open:[],close:[],error:[],message:[]},this.channels=[],this.sendBuffer=[],this.ref=0,this.fallbackRef=null,this.timeout=t.timeout||U6,this.transport=t.transport||Hs.WebSocket||$i,this.conn=void 0,this.primaryPassedHealthCheck=!1,this.longPollFallbackMs=t.longPollFallbackMs,this.fallbackTimer=null;let s=null;try{s=Hs&&Hs.sessionStorage}catch{}this.sessionStore=t.sessionStorage||s,this.establishedConnections=0,this.defaultEncoder=Gc.encode.bind(Gc),this.defaultDecoder=Gc.decode.bind(Gc),this.closeWasClean=!0,this.disconnecting=!1,this.binaryType=t.binaryType||"arraybuffer",this.connectClock=1,this.pageHidden=!1,this.encode=void 0,this.decode=void 0,this.transport!==$i?(this.encode=t.encode||this.defaultEncoder,this.decode=t.decode||this.defaultDecoder):(this.encode=this.defaultEncoder,this.decode=this.defaultDecoder);let r=null;Yi&&Yi.addEventListener&&(Yi.addEventListener("pagehide",i=>{this.conn&&(this.disconnect(),r=this.connectClock)}),Yi.addEventListener("pageshow",i=>{r===this.connectClock&&(r=null,this.connect())}),Yi.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"?this.pageHidden=!0:(this.pageHidden=!1,!this.isConnected()&&!this.closeWasClean&&this.teardown(()=>this.connect()))})),this.heartbeatIntervalMs=t.heartbeatIntervalMs||3e4,this.autoSendHeartbeat=t.autoSendHeartbeat??!0,this.heartbeatCallback=t.heartbeatCallback??(()=>{}),this.rejoinAfterMs=i=>t.rejoinAfterMs?t.rejoinAfterMs(i):[1e3,2e3,5e3][i-1]||1e4,this.reconnectAfterMs=i=>t.reconnectAfterMs?t.reconnectAfterMs(i):[10,50,100,150,200,250,500,1e3,2e3][i-1]||5e3,this.logger=t.logger||null,!this.logger&&t.debug&&(this.logger=(i,a,o)=>{console.log(`${i}: ${a}`,o)}),this.longpollerTimeout=t.longpollerTimeout||2e4,this.params=nl(t.params||{}),this.endPoint=`${e}/${Af.websocket}`,this.vsn=t.vsn||B6,this.heartbeatTimeoutTimer=null,this.heartbeatTimer=null,this.heartbeatSentAt=null,this.pendingHeartbeatRef=null,this.reconnectTimer=new Q2(()=>{if(this.pageHidden){this.log("Not reconnecting as page is hidden!"),this.teardown();return}this.teardown(async()=>{t.beforeReconnect&&await t.beforeReconnect(),this.connect()})},this.reconnectAfterMs),this.authToken=t.authToken}getLongPollTransport(){return $i}replaceTransport(e){this.connectClock++,this.closeWasClean=!0,clearTimeout(this.fallbackTimer),this.reconnectTimer.reset(),this.conn&&(this.conn.close(),this.conn=null),this.transport=e}protocol(){return location.protocol.match(/^https/)?"wss":"ws"}endPointURL(){let e=Nu.appendParams(Nu.appendParams(this.endPoint,this.params()),{vsn:this.vsn});return e.charAt(0)!=="/"?e:e.charAt(1)==="/"?`${this.protocol()}:${e}`:`${this.protocol()}://${location.host}${e}`}disconnect(e,t,s){this.connectClock++,this.disconnecting=!0,this.closeWasClean=!0,clearTimeout(this.fallbackTimer),this.reconnectTimer.reset(),this.teardown(()=>{this.disconnecting=!1,e&&e()},t,s)}connect(e){e&&(console&&console.log("passing params to connect is deprecated. Instead pass :params to the Socket constructor"),this.params=nl(e)),!(this.conn&&!this.disconnecting)&&(this.longPollFallbackMs&&this.transport!==$i?this.connectWithFallback($i,this.longPollFallbackMs):this.transportConnect())}log(e,t,s){this.logger&&this.logger(e,t,s)}hasLogger(){return this.logger!==null}onOpen(e){let t=this.makeRef();return this.stateChangeCallbacks.open.push([t,e]),t}onClose(e){let t=this.makeRef();return this.stateChangeCallbacks.close.push([t,e]),t}onError(e){let t=this.makeRef();return this.stateChangeCallbacks.error.push([t,e]),t}onMessage(e){let t=this.makeRef();return this.stateChangeCallbacks.message.push([t,e]),t}onHeartbeat(e){this.heartbeatCallback=e}ping(e){if(!this.isConnected())return!1;let t=this.makeRef(),s=Date.now();this.push({topic:"phoenix",event:"heartbeat",payload:{},ref:t});let r=this.onMessage(i=>{i.ref===t&&(this.off([r]),e(Date.now()-s))});return!0}transportName(e){switch(e){case $i:return"LongPoll";default:return e.name}}transportConnect(){this.connectClock++,this.closeWasClean=!1;let e;this.authToken&&(e=["phoenix",`${_f}${btoa(this.authToken).replace(/=/g,"")}`]),this.conn=new this.transport(this.endPointURL(),e),this.conn.binaryType=this.binaryType,this.conn.timeout=this.longpollerTimeout,this.conn.onopen=()=>this.onConnOpen(),this.conn.onerror=t=>this.onConnError(t),this.conn.onmessage=t=>this.onConnMessage(t),this.conn.onclose=t=>this.onConnClose(t)}getSession(e){return this.sessionStore&&this.sessionStore.getItem(e)}storeSession(e,t){this.sessionStore&&this.sessionStore.setItem(e,t)}connectWithFallback(e,t=2500){clearTimeout(this.fallbackTimer);let s=!1,r=!0,i,a,o=this.transportName(e),l=c=>{this.log("transport",`falling back to ${o}...`,c),this.off([i,a]),r=!1,this.replaceTransport(e),this.transportConnect()};if(this.getSession(`phx:fallback:${o}`))return l("memorized");this.fallbackTimer=setTimeout(l,t),a=this.onError(c=>{this.log("transport","error",c),r&&!s&&(clearTimeout(this.fallbackTimer),l(c))}),this.fallbackRef&&this.off([this.fallbackRef]),this.fallbackRef=this.onOpen(()=>{if(s=!0,!r){let c=this.transportName(e);return this.primaryPassedHealthCheck||this.storeSession(`phx:fallback:${c}`,"true"),this.log("transport",`established ${c} fallback`)}clearTimeout(this.fallbackTimer),this.fallbackTimer=setTimeout(l,t),this.ping(c=>{this.log("transport","connected to primary after",c),this.primaryPassedHealthCheck=!0,clearTimeout(this.fallbackTimer)})}),this.transportConnect()}clearHeartbeats(){clearTimeout(this.heartbeatTimer),clearTimeout(this.heartbeatTimeoutTimer)}onConnOpen(){this.hasLogger()&&this.log("transport",`connected to ${this.endPointURL()}`),this.closeWasClean=!1,this.disconnecting=!1,this.establishedConnections++,this.flushSendBuffer(),this.reconnectTimer.reset(),this.autoSendHeartbeat&&this.resetHeartbeat(),this.triggerStateCallbacks("open")}heartbeatTimeout(){if(this.pendingHeartbeatRef){this.pendingHeartbeatRef=null,this.heartbeatSentAt=null,this.hasLogger()&&this.log("transport","heartbeat timeout. Attempting to re-establish connection");try{this.heartbeatCallback("timeout")}catch(e){this.log("error","error in heartbeat callback",e)}this.triggerChanError(new Error("heartbeat timeout")),this.closeWasClean=!1,this.teardown(()=>this.reconnectTimer.scheduleTimeout(),W6,"heartbeat timeout")}}resetHeartbeat(){this.conn&&this.conn.skipHeartbeat||(this.pendingHeartbeatRef=null,this.clearHeartbeats(),this.heartbeatTimer=setTimeout(()=>this.sendHeartbeat(),this.heartbeatIntervalMs))}teardown(e,t,s){if(!this.conn)return e&&e();const r=this.conn;this.waitForBufferDone(r,()=>{t?r.close(t,s||""):r.close(),this.waitForSocketClosed(r,()=>{this.conn===r&&(this.conn.onopen=function(){},this.conn.onerror=function(){},this.conn.onmessage=function(){},this.conn.onclose=function(){},this.conn=null),e&&e()})})}waitForBufferDone(e,t,s=1){if(s===5||!e.bufferedAmount){t();return}setTimeout(()=>{this.waitForBufferDone(e,t,s+1)},150*s)}waitForSocketClosed(e,t,s=1){if(s===5||e.readyState===Ys.closed){t();return}setTimeout(()=>{this.waitForSocketClosed(e,t,s+1)},150*s)}onConnClose(e){this.conn&&(this.conn.onclose=()=>{}),this.hasLogger()&&this.log("transport","close",e),this.triggerChanError(e),this.clearHeartbeats(),this.closeWasClean||this.reconnectTimer.scheduleTimeout(),this.triggerStateCallbacks("close",e)}onConnError(e){this.hasLogger()&&this.log("transport","error",e);let t=this.transport,s=this.establishedConnections;this.triggerStateCallbacks("error",e,t,s),(t===this.transport||s>0)&&this.triggerChanError(e)}
vendor: 4,126 bytes, line 479
479triggerChanError(e){this.channels.forEach(t=>{t.isErrored()||t.isLeaving()||t.isClosed()||t.trigger(vr.error,e)})}connectionState(){switch(this.conn&&this.conn.readyState){case Ys.connecting:return"connecting";case Ys.open:return"open";case Ys.closing:return"closing";default:return"closed"}}isConnected(){return this.connectionState()==="open"}remove(e){this.off(e.stateChangeRefs),this.channels=this.channels.filter(t=>t!==e)}off(e){for(let t in this.stateChangeCallbacks)this.stateChangeCallbacks[t]=this.stateChangeCallbacks[t].filter(([s])=>e.indexOf(s)===-1)}channel(e,t={}){let s=new z6(e,t,this);return this.channels.push(s),s}push(e){if(this.hasLogger()){let{topic:t,event:s,payload:r,ref:i,join_ref:a}=e;this.log("push",`${t} ${s} (${a}, ${i})`,r)}this.isConnected()?this.encode(e,t=>this.conn.send(t)):this.sendBuffer.push(()=>this.encode(e,t=>this.conn.send(t)))}makeRef(){let e=this.ref+1;return e===this.ref?this.ref=0:this.ref=e,this.ref.toString()}sendHeartbeat(){if(!this.isConnected()){try{this.heartbeatCallback("disconnected")}catch(e){this.log("error","error in heartbeat callback",e)}return}if(this.pendingHeartbeatRef){this.heartbeatTimeout();return}this.pendingHeartbeatRef=this.makeRef(),this.heartbeatSentAt=Date.now(),this.push({topic:"phoenix",event:"heartbeat",payload:{},ref:this.pendingHeartbeatRef});try{this.heartbeatCallback("sent")}catch(e){this.log("error","error in heartbeat callback",e)}this.heartbeatTimeoutTimer=setTimeout(()=>this.heartbeatTimeout(),this.heartbeatIntervalMs)}flushSendBuffer(){this.isConnected()&&this.sendBuffer.length>0&&(this.sendBuffer.forEach(e=>e()),this.sendBuffer=[])}onConnMessage(e){this.decode(e.data,t=>{let{topic:s,event:r,payload:i,ref:a,join_ref:o}=t;if(a&&a===this.pendingHeartbeatRef){const l=this.heartbeatSentAt?Date.now()-this.heartbeatSentAt:void 0;this.clearHeartbeats();try{this.heartbeatCallback(i.status==="ok"?"ok":"error",l)}catch(c){this.log("error","error in heartbeat callback",c)}this.pendingHeartbeatRef=null,this.heartbeatSentAt=null,this.autoSendHeartbeat&&(this.heartbeatTimer=setTimeout(()=>this.sendHeartbeat(),this.heartbeatIntervalMs))}this.hasLogger()&&this.log("receive",`${i.status||""} ${s} ${r} ${a&&"("+a+")"||""}`.trim(),i);for(let l=0;l<this.channels.length;l++){const c=this.channels[l];c.isMember(s,r,i,o)&&c.trigger(r,i,a,o)}this.triggerStateCallbacks("message",t)})}triggerStateCallbacks(e,...t){try{this.stateChangeCallbacks[e].forEach(([s,r])=>{try{r(...t)}catch(i){this.log("error",`error in ${e} callback`,i)}})}catch(s){this.log("error",`error triggering ${e} callbacks`,s)}}leaveOpenTopic(e){let t=this.channels.find(s=>s.topic===e&&(s.isJoined()||s.isJoining()));t&&(this.hasLogger()&&this.log("transport",`leaving duplicate topic "${e}"`),t.leave())}};class il{constructor(t,s){const r=Y6(s);this.presence=new q6(t.getChannel(),r),this.presence.onJoin((i,a,o)=>{const l=il.onJoinPayload(i,a,o);t.getChannel().trigger("presence",l)}),this.presence.onLeave((i,a,o)=>{const l=il.onLeavePayload(i,a,o);t.getChannel().trigger("presence",l)}),this.presence.onSync(()=>{t.getChannel().trigger("presence",{event:"sync"})})}get state(){return il.transformState(this.presence.state)}static transformState(t){return t=K6(t),Object.getOwnPropertyNames(t).reduce((s,r)=>{const i=t[r];return s[r]=Pd(i),s},{})}static onJoinPayload(t,s,r){const i=Wb(s),a=Pd(r);return{event:"join",key:t,currentPresences:i,newPresences:a}}static onLeavePayload(t,s,r){const i=Wb(s),a=Pd(r);return{event:"leave",key:t,currentPresences:i,leftPresences:a}}}function Pd(e){return e.metas.map(t=>(t.presence_ref=t.phx_ref,delete t.phx_ref,delete t.phx_ref_prev,t))}function K6(e){return JSON.parse(JSON.stringify(e))}function Y6(e){return(e==null?void 0:e.events)&&{events:e.events}}function Wb(e){return e!=null&&e.metas?Pd(e):[]}var Vb;(function(e){e.SYNC="sync",e.JOIN="join",e.LEAVE="leave"})(Vb||(Vb={}));class J6{get state(){return this.presenceAdapter.state}constructor(t,s){this.channel=t,this.presenceAdapter=new il(this.channel.channelAdapter,s)}}function Z6(e){if(e instanceof Error)return e;if(typeof e=="string")return new Error(e);
479if(e&&typeof e=="object"){const t=e;if(typeof t.code=="number"){const s=typeof t.reason=="string"&&t.reason?` (${t.reason})`:"";return new Error(`socket closed: ${t.code}${s}`,{cause:e})}return new Error("channel error: transport failure",{cause:e})}return new Error("channel error: connection lost")}class X6{constructor(t,s,r){const i=Q6(r);this.channel=t.getSocket().channel(s,i),this.socket=t}get state(){return this.channel.state}set state(t){this.channel.state=t}get joinedOnce(){return this.channel.joinedOnce}get joinPush(){return this.channel.joinPush}get rejoinTimer(){return this.channel.rejoinTimer}on(t,s){return this.channel.on(t,s)}off(t,s){this.channel.off(t,s)}subscribe(t){return this.channel.join(t)}unsubscribe(t){return this.channel.leave(t)}teardown(){this.channel.teardown()}onClose(t){this.channel.onClose(t)}onError(t){return this.channel.onError(t)}push(t,s,r){let i;try{i=this.channel.push(t,s,r)}catch{throw new Error(`tried to push '${t}' to '${this.channel.topic}' before joining. Use channel.subscribe() before pushing events`)}if(this.channel.pushBuffer.length>P6){const a=this.channel.pushBuffer.shift();a.cancelTimeout(),this.socket.log("channel",`discarded push due to buffer overflow: ${a.event}`,a.payload())}return i}updateJoinPayload(t){const s=this.channel.joinPush.payload();this.channel.joinPush.payload=()=>Object.assign(Object.assign({},s),t)}canPush(){return this.socket.isConnected()&&this.state===Qr.joined}isJoined(){return this.state===Qr.joined}isJoining(){return this.state===Qr.joining}isClosed(){return this.state===Qr.closed}isLeaving(){return this.state===Qr.leaving}updateFilterBindings(t){this.channel.filterBindings=t}updatePayloadTransform(t){this.channel.onMessage=t}getChannel(){return this.channel}}function Q6(e){return{config:Object.assign({broadcast:{ack:!1,self:!1},presence:{key:"",enabled:!1},private:!1},e.config)}}var zb;(function(e){e.ALL="*",e.INSERT="INSERT",e.UPDATE="UPDATE",e.DELETE="DELETE"})(zb||(zb={}));var ma;(function(e){e.BROADCAST="broadcast",e.PRESENCE="presence",e.POSTGRES_CHANGES="postgres_changes",e.SYSTEM="system"})(ma||(ma={}));var br;(function(e){e.SUBSCRIBED="SUBSCRIBED",e.TIMED_OUT="TIMED_OUT",e.CLOSED="CLOSED",e.CHANNEL_ERROR="CHANNEL_ERROR"})(br||(br={}));class al{get state(){return this.channelAdapter.state}set state(t){this.channelAdapter.state=t}get joinedOnce(){return this.channelAdapter.joinedOnce}get timeout(){return this.socket.timeout}get joinPush(){return this.channelAdapter.joinPush}get rejoinTimer(){return this.channelAdapter.rejoinTimer}constructor(t,s={config:{}},r){var i,a;if(this.topic=t,this.params=s,this.socket=r,this.bindings={},this.subTopic=t.replace(/^realtime:/i,""),this.params.config=Object.assign({broadcast:{ack:!1,self:!1},presence:{key:"",enabled:!1},private:!1},s.config),this.channelAdapter=new X6(this.socket.socketAdapter,t,this.params),this.presence=new J6(this),this._onClose(()=>{this.socket._remove(this)}),this._updateFilterTransform(),this.broadcastEndpointURL=X2(this.socket.socketAdapter.endPointURL()),this.private=this.params.config.private||!1,!this.private&&(!((a=(i=this.params.config)===null||i===void 0?void 0:i.broadcast)===null||a===void 0)&&a.replay))throw new Error(`tried to use replay on public channel '${this.topic}'. It must be a private channel.`)}subscribe(t,s=this.timeout){var r,i,a;if(this.socket.isConnected()||this.socket.connect(),this.channelAdapter.isClosed()){const{config:{broadcast:o,presence:l,private:c}}=this.params,d=(i=(r=this.bindings.postgres_changes)===null||r===void 0?void 0:r.map(p=>p.filter))!==null&&i!==void 0?i:[],u=!!this.bindings[ma.PRESENCE]&&this.bindings[ma.PRESENCE].length>0||((a=this.params.config.presence)===null||a===void 0?void 0:a.enabled)===!0,h={},m={broadcast:o,presence:Object.assign(Object.assign({},l),{enabled:u}),postgres_changes:d,private:c};this.socket.accessTokenValue&&(h.access_token=this.socket.accessTokenValue),this._onError(p=>{t==null||t(br.CHANNEL_ERROR,Z6(p))}),this._onClose(()=>t==null?void 0:t(br.CLOSED)),this.updateJoinPayload(Object.assign({config:m},h)),this._updateFilterMessage(),this.channelAdapter.subscribe(s).receive("ok",async({postgres_changes:p})=>{if(this.socket._isManualToken()||this.socket.setAuth(),p===void 0){t==null||t(br.SUBSCRIBED);return}this._updatePostgresBindings(p,t)}
479).receive("error",p=>{this.state=Qr.errored;const x=Object.values(p).join(", ")||"error";t==null||t(br.CHANNEL_ERROR,new Error(x,{cause:p}))}).receive("timeout",()=>{t==null||t(br.TIMED_OUT)})}return this}_updatePostgresBindings(t,s){var r;const i=this.bindings.postgres_changes,a=(r=i==null?void 0:i.length)!==null&&r!==void 0?r:0,o=[];for(let l=0;l<a;l++){const c=i[l],{filter:{event:d,schema:u,table:h,filter:m}}=c,p=t&&t[l];if(p&&p.event===d&&al.isFilterValueEqual(p.schema,u)&&al.isFilterValueEqual(p.table,h)&&al.isFilterValueEqual(p.filter,m))o.push(Object.assign(Object.assign({},c),{id:p.id}));else{this.unsubscribe(),this.state=Qr.errored,s==null||s(br.CHANNEL_ERROR,new Error("mismatch between server and client bindings for postgres changes"));return}}this.bindings.postgres_changes=o,this.state!=Qr.errored&&s&&s(br.SUBSCRIBED)}presenceState(){return this.presence.state}async track(t,s={}){return await this.send({type:"presence",event:"track",payload:t},s.timeout||this.timeout)}async untrack(t={}){return await this.send({type:"presence",event:"untrack"},t)}on(t,s,r){const i=this.channelAdapter.isJoined()||this.channelAdapter.isJoining(),a=t===ma.PRESENCE||t===ma.POSTGRES_CHANGES;if(i&&a)throw this.socket.log("channel",`cannot add \`${t}\` callbacks for ${this.topic} after \`subscribe()\`.`),new Error(`cannot add \`${t}\` callbacks for ${this.topic} after \`subscribe()\`.`);return this._on(t,s,r)}async httpSend(t,s,r={}){var i;if(s==null)return Promise.reject(new Error("Payload is required for httpSend()"));const a={apikey:this.socket.apiKey?this.socket.apiKey:"","Content-Type":"application/json"};this.socket.accessTokenValue&&(a.Authorization=`Bearer ${this.socket.accessTokenValue}`);const o={method:"POST",headers:a,body:JSON.stringify({messages:[{topic:this.subTopic,event:t,payload:s,private:this.private}]})},l=await this._fetchWithTimeout(this.broadcastEndpointURL,o,(i=r.timeout)!==null&&i!==void 0?i:this.timeout);if(l.status===202)return{success:!0};let c=l.statusText;try{const d=await l.json();c=d.error||d.message||c}catch{}return Promise.reject(new Error(c))}async send(t,s={}){var r,i;if(!this.channelAdapter.canPush()&&t.type==="broadcast"){console.warn("Realtime send() is automatically falling back to REST API. This behavior will be deprecated 
479in the future. Please use httpSend() explicitly for REST delivery.");const{event:a,payload:o}=t,l={apikey:this.socket.apiKey?this.socket.apiKey:"","Content-Type":"application/json"};this.socket.accessTokenValue&&(l.Authorization=`Bearer ${this.socket.accessTokenValue}`);const c={method:"POST",headers:l,body:JSON.stringify({messages:[{topic:this.subTopic,event:a,payload:o,private:this.private}]})};try{const d=await this._fetchWithTimeout(this.broadcastEndpointURL,c,(r=s.timeout)!==null&&r!==void 0?r:this.timeout);return await((i=d.body)===null||i===void 0?void 0:i.cancel()),d.ok?"ok":"error"}catch(d){return d instanceof Error&&d.name==="AbortError"?"timed out":"error"}}else return new Promise(a=>{var o,l,c;const d=this.channelAdapter.push(t.type,t,s.timeout||this.timeout);t.type==="broadcast"&&!(!((c=(l=(o=this.params)===null||o===void 0?void 0:o.config)===null||l===void 0?void 0:l.broadcast)===null||c===void 0)&&c.ack)&&a("ok"),d.receive("ok",()=>a("ok")),d.receive("error",()=>a("error")),d.receive("timeout",()=>a("timed out"))})}updateJoinPayload(t){this.channelAdapter.updateJoinPayload(t)}async unsubscribe(t=this.timeout){return new Promise(s=>{this.channelAdapter.unsubscribe(t).receive("ok",()=>s("ok")).receive("timeout",()=>s("timed out")).receive("error",()=>s("error"))})}teardown(){this.channelAdapter.teardown()}async _fetchWithTimeout(t,s,r){const i=new AbortController,a=setTimeout(()=>i.abort(),r),o=await this.socket.fetch(t,Object.assign(Object.assign({},s),{signal:i.signal}));return clearTimeout(a),o}_on(t,s,r){const i=t.toLocaleLowerCase(),a=this.channelAdapter.on(t,r),o={type:i,filter:s,callback:r,ref:a};return this.bindings[i]?this.bindings[i].push(o):this.bindings[i]=[o],this._updateFilterMessage(),this}_onClose(t){this.channelAdapter.onClose(t)}_onError(t){this.channelAdapter.onError(t)}_updateFilterMessage(){this.channelAdapter.updateFilterBindings((t,s,r)=>{var i,a,o,l,c,d,u;const h=t.event.toLocaleLowerCase();if(this._notThisChannelEvent(h,r))return!1;const m=(i=this.bindings[h])===null||i===void 0?void 0:i.find(p=>p.ref===t.ref);if(!m)return!0;if(["broadcast","presence","postgres_changes"].includes(h))if("id"in m){const p=m.id,x=(a=m.filter)===null||a===void 0?void 0:a.event;return p&&((o=s.ids)===null||o===void 0?void 0:o.includes(p))&&(x==="*"||(x==null?void 0:x.toLocaleLowerCase())===((l=s.data)===null||l===void 0?void 0:l.type.toLocaleLowerCase()))}else{const p=(d=(c=m==null?void 0:m.filter)===null||c===void 0?void 0:c.event)===null||d===void 0?void 0:d.toLocaleLowerCase();return p==="*"||p===((u=s==null?void 0:s.event)===null||u===void 0?void 0:u.toLocaleLowerCase())}else return m.type.toLocaleLowerCase()===h})}_notThisChannelEvent(t,s){const{close:r,error:i,leave:a,join:o}=J2;return s&&[r,i,a,o].includes(t)&&s!==this.joinPush.ref}_updateFilterTransform(){this.channelAdapter.updatePayloadTransform((t,s,r)=>{if(typeof s=="object"&&"ids"in s){const i=s.data,{schema:a,table:o,commit_timestamp:l,type:c,errors:d}=i;return Object.assign(Object.assign({},{schema:a,table:o,commit_timestamp:l,eventType:c,new:{},old:{},errors:d}),this._getPayloadRecords(i))}return s})}copyBindings(t){if(this.joinedOnce)throw new Error("cannot copy bindings into joined channel");for(const s in t.bindings)for(const r of t.bindings[s])this._on(r.type,r.filter,r.callback)}static isFilterValueEqual(t,s){return(t??void 0)===(s??void 0)}_getPayloadRecords(t){const s={new:{},old:{}};return(t.type==="INSERT"||t.type==="UPDATE")&&(s.new=Ub(t.columns,t.record)),(t.type==="UPDATE"||t.type==="DELETE")&&(s.old=Ub(t.columns,t.old_record)),s}}class eM{constructor(t,s){this.socket=new G6(t,s)}get timeout(){return this.socket.timeout}get endPoint(){return this.socket.endPoint}get transport(){return this.socket.transport}get heartbeatIntervalMs(){return this.socket.heartbeatIntervalMs}get heartbeatCallback(){return this.socket.heartbeatCallback}set heartbeatCallback(t){this.socket.heartbeatCallback=t}get heartbeatTimer(){return this.socket.heartbeatTimer}get pendingHeartbeatRef(){return this.socket.pendingHeartbeatRef}get reconnectTimer(){return this.socket.reconnectTimer}get vsn(){return this.socket.vsn}get encode(){return this.socket.encode}get decode(){return this.socket.decode}get reconnectAfterMs(){return this.socket.reconnectAfterMs}get sendBuffer(){return this.socket.sendBuffer}get stateChangeCallbacks(){return this.socket.stateChangeCallbacks}connect(){this.socket.connect()}disconnect(t,s,r,i=1e4){return new Promise(a=>{setTimeout(()=>a("timeout"),i),this.socket.disconnect(()=>{t(),a("ok")},s,r)})}push(t){this.socket.push(t)}log(t,s,r){this.socket.log(t,s,r)}makeRef(){return this.socket.makeRef()}onOpen(t){this.socket.onOpen(t)}onClose(t){this.socket.onClose(t)}onError(t){this.socket.onError(t)}onMessage(t){this.socket.onMessage(t)}isConnected(){return this.socket.isConnected()}isConnecting(){return this.socket.connectionState()==Nf.connecting}isDisconnecting(){return this.socket.connectionState()==Nf.closing}connectionState(){return this.socket.connectionState()}endPointURL(){return this.socket.endPointURL()}sendHeartbeat(){this.socket.sendHeartbeat()}getSocket(){return this.socket}}const Hb={HEARTBEAT_INTERVAL:25e3,RECONNECT_DELAY:10,HEARTBEAT_TIMEOUT_FALLBACK:100},tM=[1e3,2e3,5e3,1e4],sM=1e4;function rM(){const e=new Map;return{get length(){return e.size},clear(){e.clear()},getItem(t){return e.has(t)?e.get(t):null},key(t){var s;return(s=Array.from(e.keys())[t])!==null&&s!==void 0?s:null},removeItem(t){e.delete(t)},setItem(t,s){e.set(t,String(s))}}}function nM(){try{if(typeof globalThis<"u"&&globalThis.sessionStorage)return globalThis.sessionStorage}catch{}return rM()}const iM=`
480  addEventListener("message", (e) => {
481    if (e.data.event === "start") {
482      setInterval(() => postMessage({ event: "keepAlive" }), e.data.interval);
483    }
484  });`;class aM{get endPoint(){return this.socketAdapter.endPoint}get timeout(){return this.socketAdapter.timeout}get transport(){return this.socketAdapter.transport}get heartbeatCallback(){return this.socketAdapter.heartbeatCallback}get heartbeatIntervalMs(){return this.socketAdapter.heartbeatIntervalMs}get heartbeatTimer(){return this.worker?this._workerHeartbeatTimer:this.socketAdapter.heartbeatTimer}get pendingHeartbeatRef(){return this.worker?this._pendingWorkerHeartbeatRef:this.socketAdapter.pendingHeartbeatRef}get reconnectTimer(){return this.socketAdapter.reconnectTimer}get vsn(){return this.socketAdapter.vsn}get encode(){return this.socketAdapter.encode}get decode(){return this.socketAdapter.decode}get reconnectAfterMs(){return this.socketAdapter.reconnectAfterMs}get sendBuffer(){return this.socketAdapter.sendBuffer}get stateChangeCallbacks(){return this.socketAdapter.stateChangeCallbacks}constructor(t,s){var r;if(this.channels=new Array,this.accessTokenValue=null,this.accessToken=null,this.apiKey=null,this.httpEndpoint="",this.headers={},this.params={}
484,this.ref=0,this.serializer=new I6,this._manuallySetToken=!1,this._authPromise=null,this._workerHeartbeatTimer=void 0,this._pendingWorkerHeartbeatRef=null,this._pendingDisconnectTimer=null,this._disconnectOnEmptyChannelsAfterMs=0,this._resolveFetch=a=>a?(...o)=>a(...o):(...o)=>fetch(...o),!(!((r=s==null?void 0:s.params)===null||r===void 0)&&r.apikey))throw new Error("API key is required to connect to Realtime");this.apiKey=s.params.apikey;const i=this._initializeOptions(s);this.socketAdapter=new eM(t,i),this.httpEndpoint=X2(t),this.fetch=this._resolveFetch(s==null?void 0:s.fetch)}connect(){if(!(this.isConnecting()||this.isDisconnecting()||this.isConnected())){this.accessToken&&!this._authPromise&&this._setAuthSafely("connect"),this._setupConnectionHandlers();try{this.socketAdapter.connect()}catch(t){const s=t.message;throw s.includes("Node.js")?new Error(`${s}
485
486To use Realtime in Node.js, you need to provide a WebSocket implementation:
487
488Option 1: Use Node.js 22+ which has native WebSocket support
489Option 2: Install and provide the "ws" package:
490
491  npm install ws
492
493  import ws from "ws"
494  const client = new RealtimeClient(url, {
495    ...options,
496    transport: ws
497  })`):new Error(`WebSocket not available: ${s}`)}this._handleNodeJsRaceCondition()}}endpointURL(){return this.socketAdapter.endPointURL()}async disconnect(t,s){return this._cancelPendingDisconnect(),this.isDisconnecting()?"ok":await this.socketAdapter.disconnect(()=>{clearInterval(this._workerHeartbeatTimer),this._terminateWorker()},t,s)}getChannels(){return this.channels}async removeChannel(t){const s=await t.unsubscribe();return s==="ok"&&t.teardown(),s}async removeAllChannels(){const t=this.channels.map(async r=>{const i=await r.unsubscribe();return r.teardown(),i}),s=await Promise.all(t);return await this.disconnect(),s}log(t,s,r){this.socketAdapter.log(t,s,r)}connectionState(){return this.socketAdapter.connectionState()||Nf.closed}isConnected(){return this.socketAdapter.isConnected()}isConnecting(){return this.socketAdapter.isConnecting()}isDisconnecting(){return this.socketAdapter.isDisconnecting()}channel(t,s={config:{}}){const r=`realtime:${t}`,i=this.getChannels().find(a=>a.topic===r);if(i)return i;{const a=new al(`realtime:${t}`,s,this);return this._cancelPendingDisconnect(),this.channels.push(a),a}}push(t){this.socketAdapter.push(t)}async setAuth(t=null){this._authPromise=this._performAuth(t);try{await this._authPromise}finally{this._authPromise=null}}_isManualToken(){return this._manuallySetToken}async sendHeartbeat(){this.socketAdapter.sendHeartbeat()}onHeartbeat(t){this.socketAdapter.heartbeatCallback=this._wrapHeartbeatCallback(t)}_makeRef(){return this.socketAdapter.makeRef()}_remove(t){this.channels=this.channels.filter(s=>s.topic!==t.topic),this.channels.length===0&&(this.log("transport","no channels remaining, scheduling disconnect"),this._schedulePendingDisconnect())}_schedulePendingDisconnect(){if(this._cancelPendingDisconnect(),this._disconnectOnEmptyChannelsAfterMs===0){this.log("transport","disconnecting immediately - no channels"),this.disconnect();return}
497this._pendingDisconnectTimer=setTimeout(()=>{this._pendingDisconnectTimer=null,this.channels.length===0&&(this.log("transport","deferred disconnect fired - no channels, disconnecting"),this.disconnect())},this._disconnectOnEmptyChannelsAfterMs),this.log("transport",`deferred disconnect scheduled in ${this._disconnectOnEmptyChannelsAfterMs}ms`)}_cancelPendingDisconnect(){this._pendingDisconnectTimer!==null&&(this.log("transport","pending disconnect cancelled - channel activity detected"),clearTimeout(this._pendingDisconnectTimer),this._pendingDisconnectTimer=null)}async _performAuth(t=null){let s,r=!1;if(t)s=t,r=!0;else if(this.accessToken)try{s=await this.accessToken()}catch(i){this.log("error","Error fetching access token from callback",i),s=this.accessTokenValue}else s=this.accessTokenValue;r?this._manuallySetToken=!0:this.accessToken&&(this._manuallySetToken=!1),this.accessTokenValue!=s&&(this.accessTokenValue=s,this.channels.forEach(i=>{const a={access_token:s,version:_6};s&&i.updateJoinPayload(a),i.joinedOnce&&i.channelAdapter.isJoined()&&i.channelAdapter.push(J2.access_token,{access_token:s})}))}async _waitForAuthIfNeeded(){this._authPromise&&await this._authPromise}_setAuthSafely(t="general"){this._isManualToken()||this.setAuth().catch(s=>{this.log("error",`Error setting auth in ${t}`,s)})}_setupConnectionHandlers(){this.socketAdapter.onOpen(()=>{(this._authPromise||(this.accessToken&&!this.accessTokenValue?this.setAuth():Promise.resolve())).catch(s=>{this.log("error","error waiting for auth on connect",s)}),this.worker&&!this.workerRef&&this._startWorkerHeartbeat()}),this.socketAdapter.onClose(()=>{this.worker&&this.workerRef&&this._terminateWorker()}),this.socketAdapter.onMessage(t=>{t.ref&&t.ref===this._pendingWorkerHeartbeatRef&&(this._pendingWorkerHeartbeatRef=null)})}_handleNodeJsRaceCondition(){this.socketAdapter.isConnected()&&this.socketAdapter.getSocket().onConnOpen()}_wrapHeartbeatCallback(t){return(s,r)=>{s=="sent"&&this._setAuthSafely(),t&&t(s,r)}}_startWorkerHeartbeat(){this.workerUrl?this.log("worker",`starting worker for from ${this.workerUrl}`):this.log("worker","starting default worker");const t=this._workerObjectUrl(this.workerUrl);this.workerRef=new Worker(t),this.workerRef.onerror=s=>{this.log("worker","worker error",s.message),this._terminateWorker(),this.disconnect()},this.workerRef.onmessage=s=>{s.data.event==="keepAlive"&&this.sendHeartbeat()},this.workerRef.postMessage({event:"start",interval:this.heartbeatIntervalMs})}_terminateWorker(){this.workerRef&&(this.log("worker","terminating worker"),this.workerRef.terminate(),this.workerRef=void 0)}_workerObjectUrl(t){let s;if(t)s=t;else{const r=new Blob([iM],{type:"application/javascript"});s=URL.createObjectURL(r)}return s}_initializeOptions(t){var s,r,i,a,o,l,c,d,u,h,m,p;this.worker=(s=t==null?void 0:t.worker)!==null&&s!==void 0?s:!1,this.accessToken=(r=t==null?void 0:t.accessToken)!==null&&r!==void 0?r:null;const x={};x.timeout=(i=t==null?void 0:t.timeout)!==null&&i!==void 0?i:T6,x.heartbeatIntervalMs=(a=t==null?void 0:t.heartbeatIntervalMs)!==null&&a!==void 0?a:Hb.HEARTBEAT_INTERVAL,this._disconnectOnEmptyChannelsAfterMs=(o=t==null?void 0:t.disconnectOnEmptyChannelsAfterMs)!==null&&o!==void 0?o:2*((l=t==null?void 0:t.heartbeatIntervalMs)!==null&&l!==void 0?l:Hb.HEARTBEAT_INTERVAL),x.transport=(c=t==null?void 0:t.transport)!==null&&c!==void 0?c:S6.getWebSocketConstructor(),x.params=t==null?void 0:t.params,x.logger=t==null?void 0:t.logger,x.heartbeatCallback=this._wrapHeartbeatCallback(t==null?void 0:t.heartbeatCallback),x.sessionStorage=(d=t==null?void 0:t.sessionStorage)!==null&&d!==void 0?d:nM(),x.reconnectAfterMs=(u=t==null?void 0:t.reconnectAfterMs)!==null&&u!==void 0?u:g=>tM[g-1]||sM;let y,b;const f=(h=t==null?void 0:t.vsn)!==null&&h!==void 0?h:E6;switch(f){case C6:y=(g,v)=>v(JSON.stringify(g)),b=(g,v)=>v(JSON.parse(g));break;case Y2:y=this.serializer.encode.bind(this.serializer),b=this.serializer.decode.bind(this.serializer);break;default:throw new Error(`Unsupported serializer version: ${x.vsn}`)}if(x.vsn=f,x.encode=(m=t==null?void 0:t.encode)!==null&&m!==void 0?m:y,x.decode=(p=t==null?void 0:t.decode)!==null&&p!==void 0?p:b,x.beforeReconnect=this._reconnectAuth.bind(this),(t!=null&&t.logLevel||t!=null&&t.log_level)&&(this.logLevel=t.logLevel||t.log_level,x.params=Object.assign(Object.assign({},x.params),{log_level:this.logLevel})),this.worker){if(typeof window<"u"&&!window.Worker)throw new Error("Web Worker is not supported");this.workerUrl=t==null?void 0:t.workerUrl,x.autoSendHeartbeat=!this.worker}return x}async _reconnectAuth(){await this._waitForAuthIfNeeded(),this.isConnected()||this.connect()}}
497var Ml=class extends Error{constructor(e,t){var s;super(e),this.name="IcebergError",this.status=t.status,this.icebergType=t.icebergType,this.icebergCode=t.icebergCode,this.details=t.details,this.isCommitStateUnknown=t.icebergType==="CommitStateUnknownException"||[500,502,504].includes(t.status)&&((s=t.icebergType)==null?void 0:s.includes("CommitState"))===!0}isNotFound(){return this.status===404}isConflict(){return this.status===409}isAuthenticationTimeout(){return this.status===419}};function oM(e,t,s){const r=new URL(t,e);if(s)for(const[i,a]of Object.entries(s))a!==void 0&&r.searchParams.set(i,a);return r.toString()}async function lM(e){return!e||e.type==="none"?{}:e.type==="bearer"?{Authorization:`Bearer ${e.token}`}:e.type==="header"?{[e.name]:e.value}:e.type==="custom"?await e.getHeaders():{}}function cM(e){const t=e.fetchImpl??globalThis.fetch;return{async request({method:s,path:r,query:i,body:a,headers:o}){const l=oM(e.baseUrl,r,i),c=await lM(e.auth),d=await t(l,{method:s,headers:{...a?{"Content-Type":"application/json"}:{},...c,...o},body:a?JSON.stringify(a):void 0}),u=await d.text(),h=(d.headers.get("content-type")||"").includes("application/json"),m=h&&u?JSON.parse(u):u;if(!d.ok){const p=h?m:void 0,x=p==null?void 0:p.error;throw new Ml((x==null?void 0:x.message)??`Request failed with status ${d.status}`,{status:d.status,icebergType:x==null?void 0:x.type,icebergCode:x==null?void 0:x.code,details:p})}return{status:d.status,headers:d.headers,data:m}}}}function Kc(e){return e.join("�")}var dM=class{constructor(e,t=""){this.client=e,this.prefix=t}async listNamespaces(e){const t=e?{parent:Kc(e.namespace)}:void 0;return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces`,query:t})).data.namespaces.map(r=>({namespace:r}))}async createNamespace(e,t){const s={namespace:e.namespace,properties:t==null?void 0:t.properties};return(await this.client.request({method:"POST",path:`${this.prefix}/namespaces`,body:s})).data}async dropNamespace(e){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${Kc(e.namespace)}`})}async loadNamespaceMetadata(e){return{properties:(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${Kc(e.namespace)}`})).data.properties}}async namespaceExists(e){try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${Kc(e.namespace)}`}),!0}catch(t){if(t instanceof Ml&&t.status===404)return!1;throw t}}async createNamespaceIfNotExists(e,t){try{return await this.createNamespace(e,t)}catch(s){if(s instanceof Ml&&s.status===409)return;throw s}}};function Fi(e){return e.join("�")}var uM=class{constructor(e,t="",s){this.client=e,this.prefix=t,this.accessDelegation=s}async listTables(e){return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${Fi(e.namespace)}/tables`})).data.identifiers}async createTable(e,t){const s={};return this.accessDelegation&&(s["X-Iceberg-Access-Delegation"]=this.accessDelegation),(await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${Fi(e.namespace)}/tables`,body:t,headers:s})).data.metadata}async updateTable(e,t){const s=await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${Fi(e.namespace)}/tables/${e.name}`,body:t});return{"metadata-location":s.data["metadata-location"],metadata:s.data.metadata}}async dropTable(e,t){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${Fi(e.namespace)}/tables/${e.name}`,query:{purgeRequested:String((t==null?void 0:t.purge)??!1)}})}async loadTable(e){const t={};return this.accessDelegation&&(t["X-Iceberg-Access-Delegation"]=this.accessDelegation),(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${Fi(e.namespace)}/tables/${e.name}`,headers:t})).data.metadata}async tableExists(e){const t={};this.accessDelegation&&(t["X-Iceberg-Access-Delegation"]=this.accessDelegation);try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${Fi(e.namespace)}/tables/${e.name}`,headers:t}),!0}catch(s){if(s instanceof Ml&&s.status===404)return!1;throw s}}async createTableIfNotExists(e,t){try{return await this.createTable(e,t)}catch(s){if(s instanceof Ml&&s.status===409)return await this.loadTable({namespace:e.namespace,name:t.name});throw s}}},hM=class{constructor(e){var r;let t="v1";e.catalogName&&(t+=`/${e.catalogName}`);const s=e.baseUrl.endsWith("/")?e.baseUrl:`${e.baseUrl}/`;this.client=cM({baseUrl:s,auth:e.auth,fetchImpl:e.fetch}),this.accessDelegation=(r=e.accessDelegation)==null?void 0:r.join(","),this.namespaceOps=new dM(this.client,t),this.tableOps=new uM(this.client,t,this.accessDelegation)}async listNamespaces(e){return this.namespaceOps.listNamespaces(e)}async createNamespace(e,t){return this.namespaceOps.createNamespace(e,t)}async dropNamespace(e){await this.namespaceOps.dropNamespace(e)}async loadNamespaceMetadata(e){return this.namespaceOps.loadNamespaceMetadata(e)}async listTables(e){return this.tableOps.listTables(e)}
497async createTable(e,t){return this.tableOps.createTable(e,t)}async updateTable(e,t){return this.tableOps.updateTable(e,t)}async dropTable(e,t){await this.tableOps.dropTable(e,t)}async loadTable(e){return this.tableOps.loadTable(e)}async namespaceExists(e){return this.namespaceOps.namespaceExists(e)}async tableExists(e){return this.tableOps.tableExists(e)}async createNamespaceIfNotExists(e,t){return this.namespaceOps.createNamespaceIfNotExists(e,t)}async createTableIfNotExists(e,t){return this.tableOps.createTableIfNotExists(e,t)}};function Dl(e){"@babel/helpers - typeof";return Dl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Dl(e)}function mM(e,t){if(Dl(e)!="object"||!e)return e;var s=e[Symbol.toPrimitive];if(s!==void 0){var r=s.call(e,t||"default");if(Dl(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function pM(e){var t=mM(e,"string");return Dl(t)=="symbol"?t:t+""}function fM(e,t,s){return(t=pM(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function qb(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),s.push.apply(s,r)}return s}function te(e){for(var t=1;t<arguments.length;t++){var s=arguments[t]!=null?arguments[t]:{};t%2?qb(Object(s),!0).forEach(function(r){fM(e,r,s[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):qb(Object(s)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(s,r))})}return e}var Eh=class extends Error{constructor(e,t="storage",s,r){super(e),this.__isStorageError=!0,this.namespace=t,this.name=t==="vectors"?"StorageVectorsError":"StorageError",this.status=s,this.statusCode=r}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}};function Th(e){return typeof e=="object"&&e!==null&&"__isStorageError"in e}var Cf=class extends Eh{constructor(e,t,s,r="storage"){super(e,r,t,s),this.name=r==="vectors"?"StorageVectorsApiError":"StorageApiError",this.status=t,this.statusCode=s}toJSON(){return te({},super.toJSON())}},eS=class extends Eh{constructor(e,t,s="storage"){super(e,s),this.name=s==="vectors"?"StorageVectorsUnknownError":"StorageUnknownError",this.originalError=t}};function Su(e,t,s){const r=te({},e),i=t.toLowerCase();for(const a of Object.keys(r))a.toLowerCase()===i&&delete r[a];return r[i]=s,r}function gM(e){const t={};for(const[s,r]of Object.entries(e))t[s.toLowerCase()]=r;return t}const xM=e=>e?(...t)=>e(...t):(...t)=>fetch(...t),yM=e=>{if(typeof e!="object"||e===null)return!1;const t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},Ef=e=>{if(Array.isArray(e))return e.map(s=>Ef(s));if(typeof e=="function"||e!==Object(e))return e;const t={};return Object.entries(e).forEach(([s,r])=>{const i=s.replace(/([-_][a-z])/gi,a=>a.toUpperCase().replace(/[-_]/g,""));t[i]=Ef(r)}),t},vM=e=>!e||typeof e!="string"||e.length===0||e.length>100||e.trim()!==e||e.includes("/")||e.includes("\\")?!1:/^[\w!.\*'() &$@=;:+,?-]+$/.test(e),Gb=e=>{if(typeof e=="object"&&e!==null){const t=e;if(typeof t.msg=="string")return t.msg;if(typeof t.message=="string")return t.message;if(typeof t.error_description=="string")return t.error_description;if(typeof t.error=="string")return t.error;if(typeof t.error=="object"&&t.error!==null){const s=t.error;if(typeof s.message=="string")return s.message}}return JSON.stringify(e)},bM=async(e,t,s,r)=>{if(e!==null&&typeof e=="object"&&"json"in e&&typeof e.json=="function"){const i=e;let a=parseInt(String(i.status),10);Number.isFinite(a)||(a=500),i.json().then(o=>{const l=(o==null?void 0:o.statusCode)||(o==null?void 0:o.code)||a+"";t(new Cf(Gb(o),a,l,r))}).catch(()=>{const o=a+"";t(new Cf(i.statusText||`HTTP ${a} error`,a,o,r))})}else t(new eS(Gb(e),e,r))},wM=(e,t,s,r)=>{const i={method:e,headers:(t==null?void 0:t.headers)||{}};if(e==="GET"||e==="HEAD"||!r)return te(te({},i),s);if(yM(r)){var a;const o=(t==null?void 0:t.headers)||{};let l;for(const[c,d]of Object.entries(o))c.toLowerCase()==="content-type"&&(l=d);i.headers=Su(o,"Content-Type",(a=l)!==null&&a!==void 0?a:"application/json"),i.body=JSON.stringify(r)}else i.body=r;return t!=null&&t.duplex&&(i.duplex=t.duplex),te(te({},i),s)};async function Po(e,t,s,r,i,a,o){return new Promise((l,c)=>{e(s,wM(t,r,i,a)).then(d=>{if(!d.ok)throw d;if(r!=null&&r.noResolveJson)return d;if(o==="vectors"){const u=d.headers.get("content-type");if(d.headers.get("content-length")==="0"||d.status===204)return{};if(!u||!u.includes("application/json"))return{}}return d.json()}).then(d=>l(d)).catch(d=>bM(d,c,r,o))})}function tS(e="storage"){return{get:async(t,s,r,i)=>Po(t,"GET",s,r,i,void 0,e),post:async(t,s,r,i,a)=>Po(t,"POST",s,i,a,r,e),put:async(t,s,r,i,a)=>Po(t,"PUT",s,i,a,r,e),head:async(t,s,r,i)=>Po(t,"HEAD",s,te(te({},r),{},{noResolveJson:!0}),i,void 0,e),remove:async(t,s,r,i,a)=>Po(t,"DELETE",s,i,a,r,e)}}const jM=tS("storage"),{get:Ll,post:Ns,put:Tf,head:kM,remove:qx}=jM,Ht=tS("vectors");var ho=class{constructor(e,t={},s,r="storage"){this.shouldThrowOnError=!1,this.url=e,this.headers=gM(t),this.fetch=xM(s),this.namespace=r}throwOnError(){return this.shouldThrowOnError=!0,this}setHeader(e,t){return this.headers=Su(this.headers,e,t),this}async handleOperation(e){var t=this;try{return{data:await e(),error:null}}catch(s){if(t.shouldThrowOnError)throw s;if(Th(s))return{data:null,error:s};throw s}}},NM=class{constructor(e,t){this.downloadFn=e,this.shouldThrowOnError=t}then(e,t){return this.execute().then(e,t)}async execute(){var e=this;try{return{data:(await e.downloadFn()).body,error:null}}catch(t){if(e.shouldThrowOnError)throw t;if(Th(t))return{data:null,error:t};throw t}}};let sS;sS=Symbol.toStringTag;var SM=class{constructor(e,t){this.downloadFn=e,this.shouldThrowOnError=t,this[sS]="BlobDownloadBuilder",this.promise=null}asStream(){return new NM(this.downloadFn,this.shouldThrowOnError)}then(e,t){return this.getPromise().then(e,t)}catch(e){return this.getPromise().catch(e)}finally(e){return this.getPromise().finally(e)}getPromise(){return this.promise||(this.promise=this.execute()),this.promise}async execute(){var e=this;try{return{data:await(await e.downloadFn()).blob(),error:null}}catch(t){if(e.shouldThrowOnError)throw t;if(Th(t))return{data:null,error:t};throw t}}};const AM={limit:100,offset:0,sortBy:{column:"name",order:"asc"}},Kb={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:!1};var _M=class extends ho{constructor(e,t={},s,r){super(e,t,r,"storage"),this.bucketId=s}async uploadOrUpdate(e,t,s,r){var i=this;return i.handleOperation(async()=>{let a;const o=te(te({},Kb),r);let l=te(te({},i.headers),e==="POST"&&{"x-upsert":String(o.upsert)});const c=o.metadata;if(typeof Blob<"u"&&s instanceof Blob?(a=new FormData,a.append("cacheControl",o.cacheControl),c&&a.append("metadata",i.encodeMetadata(c)),a.append("",s)):typeof FormData<"u"&&s instanceof FormData?(a=s,a.has("cacheControl")||a.append("cacheControl",o.cacheControl),c&&!a.has("metadata")&&a.append("metadata",i.encodeMetadata(c))):(a=s,l["cache-control"]=`max-age=${o.cacheControl}`,l["content-type"]=o.contentType,c&&(l["x-metadata"]=i.toBase64(i.encodeMetadata(c))),(typeof ReadableStream<"u"&&a 
497instanceof ReadableStream||a&&typeof a=="object"&&"pipe"in a&&typeof a.pipe=="function")&&!o.duplex&&(o.duplex="half")),r!=null&&r.headers)for(const[m,p]of Object.entries(r.headers))l=Su(l,m,p);const d=i._removeEmptyFolders(t),u=i._getFinalPath(d),h=await(e=="PUT"?Tf:Ns)(i.fetch,`${i.url}/object/${u}`,a,te({headers:l},o!=null&&o.duplex?{duplex:o.duplex}:{}));return{path:d,id:h.Id,fullPath:h.Key}})}async upload(e,t,s){return this.uploadOrUpdate("POST",e,t,s)}async uploadToSignedUrl(e,t,s,r){var i=this;const a=i._removeEmptyFolders(e),o=i._getFinalPath(a),l=new URL(i.url+`/object/upload/sign/${o}`);return l.searchParams.set("token",t),i.handleOperation(async()=>{let c;const d=te(te({},Kb),r);let u=te(te({},i.headers),{"x-upsert":String(d.upsert)});const h=d.metadata;if(typeof Blob<"u"&&s instanceof Blob?(c=new FormData,c.append("cacheControl",d.cacheControl),h&&c.append("metadata",i.encodeMetadata(h)),c.append("",s)):typeof FormData<"u"&&s instanceof FormData?(c=s,c.has("cacheControl")||c.append("cacheControl",d.cacheControl),h&&!c.has("metadata")&&c.append("metadata",i.encodeMetadata(h))):(c=s,u["cache-control"]=`max-age=${d.cacheControl}`,u["content-type"]=d.contentType,h&&(u["x-metadata"]=i.toBase64(i.encodeMetadata(h))),(typeof ReadableStream<"u"&&c instanceof ReadableStream||c&&typeof c=="object"&&"pipe"in c&&typeof c.pipe=="function")&&!d.duplex&&(d.duplex="half")),r!=null&&r.headers)for(const[m,p]of Object.entries(r.headers))u=Su(u,m,p);return{path:a,fullPath:(await Tf(i.fetch,l.toString(),c,te({headers:u},d!=null&&d.duplex?{duplex:d.duplex}:{}))).Key}})}async createSignedUploadUrl(e,t){var s=this;return s.handleOperation(async()=>{let r=s._getFinalPath(e);const i=te({},s.headers);t!=null&&t.upsert&&(i["x-upsert"]="true");const a=await Ns(s.fetch,`${s.url}/object/upload/sign/${r}`,{},{headers:i}),o=new URL(s.url+a.url),l=o.searchParams.get("token");if(!l)throw new Eh("No token returned by API");return{signedUrl:o.toString(),path:e,token:l}})}async update(e,t,s){return this.uploadOrUpdate("PUT",e,t,s)}async move(e,t,s){var r=this;return r.handleOperation(async()=>await Ns(r.fetch,`${r.url}/object/move`,{bucketId:r.bucketId,sourceKey:e,destinationKey:t,de
497stinationBucket:s==null?void 0:s.destinationBucket},{headers:r.headers}))}async copy(e,t,s){var r=this;return r.handleOperation(async()=>({path:(await Ns(r.fetch,`${r.url}/object/copy`,{bucketId:r.bucketId,sourceKey:e,destinationKey:t,destinationBucket:s==null?void 0:s.destinationBucket},{headers:r.headers})).Key}))}async createSignedUrl(e,t,s){var r=this;return r.handleOperation(async()=>{let i=r._getFinalPath(e);const a=typeof(s==null?void 0:s.transform)=="object"&&s.transform!==null&&Object.keys(s.transform).length>0;let o=await Ns(r.fetch,`${r.url}/object/sign/${i}`,te({expiresIn:t},a?{transform:s.transform}:{}),{headers:r.headers});const l=new URLSearchParams;s!=null&&s.download&&l.set("download",s.download===!0?"":s.download),(s==null?void 0:s.cacheNonce)!=null&&l.set("cacheNonce",String(s.cacheNonce));const c=l.toString();return{signedUrl:encodeURI(`${r.url}${o.signedURL}${c?`&${c}`:""}`)}})}async createSignedUrls(e,t,s){var r=this;return r.handleOperation(async()=>{const i=await Ns(r.fetch,`${r.url}/object/sign/${r.bucketId}`,{expiresIn:t,paths:e},{headers:r.headers}),a=new URLSearchParams;s!=null&&s.download&&a.set("download",s.download===!0?"":s.download),(s==null?void 0:s.cacheNonce)!=null&&a.set("cacheNonce",String(s.cacheNonce));const o=a.toString();return i.map(l=>te(te({},l),{},{signedUrl:l.signedURL?encodeURI(`${r.url}${l.signedURL}${o?`&${o}`:""}`):null}))})}download(e,t,s){const r=typeof(t==null?void 0:t.transform)=="object"&&t.transform!==null&&Object.keys(t.transform).length>0?"render/image/authenticated":"object",i=new URLSearchParams;t!=null&&t.transform&&this.applyTransformOptsToQuery(i,t.transform),(t==null?void 0:t.cacheNonce)!=null&&i.set("cacheNonce",String(t.cacheNonce));const a=i.toString(),o=this._getFinalPath(e),l=()=>Ll(this.fetch,`${this.url}/${r}/${o}${a?`?${a}`:""}`,{headers:this.headers,noResolveJson:!0},s);return new SM(l,this.shouldThrowOnError)}async info(e){var t=this;const s=t._getFinalPath(e);return t.handleOperation(async()=>Ef(await Ll(t.fetch,`${t.url}/object/info/${s}`,{headers:t.headers})))}async exists(e){var t=this;const s=t._getFinalPath(e);try{return await kM(t.fetch,`${t.url}/object/${s}`,{headers:t.headers}),{data:!0,error:null}}catch(i){if(t.shouldThrowOnError)throw i;if(Th(i)){var r;const a=i instanceof Cf?i.status:i instanceof eS?(r=i.originalError)===null||r===void 0?void 0:r.status:void 0;if(a!==void 0&&[400,404].includes(a))return{data:!1,error:i}}throw i}}getPublicUrl(e,t){const s=this._getFinalPath(e),r=new URLSearchParams;t!=null&&t.download&&r.set("download",t.download===!0?"":t.download),t!=null&&t.transform&&this.applyTransformOptsToQuery(r,t.transform),(t==null?void 0:t.cacheNonce)!=null&&r.set("cacheNonce",String(t.cacheNonce));const i=r.toString(),a=typeof(t==null?void 0:t.transform)=="object"&&t.transform!==null&&Object.keys(t.transform).length>0?"render/image":"object";return{data:{publicUrl:encodeURI(`${this.url}/${a}/public/${s}`)+(i?`?${i}`:"")}}}async remove(e){var t=this;return t.handleOperation(async()=>await qx(t.fetch,`${t.url}/object/${t.bucketId}`,{prefixes:e},{headers:t.headers}))}async list(e,t,s){var r=this;return r.handleOperation(async()=>{const i=te(te(te({},AM),t),{},{prefix:e||""});return await Ns(r.fetch,`${r.url}/object/list/${r.bucketId}`,i,{headers:r.headers},s)})}async listV2(e,t){var s=this;return s.handleOperation(async()=>{const r=te({},e);return await Ns(s.fetch,`${s.url}/object/list-v2/${s.bucketId}`,r,{headers:s.headers},t)})}encodeMetadata(e){return JSON.stringify(e)}toBase64(e){return typeof Buffer<"u"?Buffer.from(e).toString("base64"):btoa(e)}_getFinalPath(e){return`${this.bucketId}/${e.replace(/^\/+/,"")}`}_removeEmptyFolders(e){return e.replace(/^\/|\/$/g,"").replace(/\/+/g,"/")}applyTransformOptsToQuery(e,t){return t.width&&e.set("width",t.width.toString()),t.height&&e.set("height",t.height.toString()),t.resize&&e.set("resize",t.resize),t.format&&e.set("format",t.format),t.quality&&e.set("quality",t.quality.toString()),e}};const CM="2.105.4",cc={"X-Client-Info":`storage-js/${CM}`};var EM=class extends ho{constructor(e,t={},s,r){const i=new URL(e);r!=null&&r.useNewHostname&&/supabase\.(co|in|red)$/.test(i.hostname)&&!i.hostname.includes("storage.supabase.")&&(i.hostname=i.hostname.replace("supabase.","storage.supabase."));const a=i.href.replace(/\/$/,""),o=te(te({},cc),t);super(a,o,s,"storage")}async listBuckets(e){var t=this;return t.handleOperation(async()=>{const s=t.listBucketOptionsToQueryString(e);return await Ll(t.fetch,`${t.url}/bucket${s}`,{headers:t.headers})})}async getBucket(e){var t=this;return t.handleOperation(async()=>await Ll(t.fetch,`${t.url}/bucket/${e}`,{headers:t.headers}))}async createBucket(e,t={public:!1}){var s=this;return s.handleOperation(async()=>await Ns(s.fetch,`${s.url}/bucket`,{id:e,name:e,type:t.type,public:t.public,file_size_limit:t.fileSizeLimit,allowed_mime_types:t.allowedMimeTypes},{headers:s.headers}))}async updateBucket(e,t){var s=this;return s.handleOperation(async()=>await Tf(s.fetch,`${s.url}/bucket/${e}`,{id:e,name:e,public:t.public,file_size_limit:t.fileSizeLimit,allowed_mime_types:t.allowedMimeTypes},{headers:s.headers}))}async emptyBucket(e){var t=this;return t.handleOperation(async()=>await Ns(t.fetch,`${t.url}/bucket/${e}/empty`,{},{headers:t.headers}))}async deleteBucket(e){var t=this;return t.handleOperation(async()=>await qx(t.fetch,`${t.url}/bucket/${e}`,{},{headers:t.headers}))}listBucketOptionsToQueryString(e){const t={};return e&&("limit"in e&&(t.limit=String(e.limit)),"offset"in e&&(t.offset=String(e.offset)),e.search&&(t.search=e.search),e.sortColumn&&(t.sortColumn=e.sortColumn),e.sortOrder&&(t.sortOrder=e.sortOrder)),Object.keys(t).length>0?"?"+new URLSearchParams(t).toString():""}},TM=class extends ho{constructor(e,t={},s){const r=e.replace(/\/$/,""),i=te(te({},cc),t);super(r,i,s,"storage")}async createBucket(e){var t=this;return t.handleOperation(async()=>await Ns(t.fetch,`${t.url}/bucket`,{name:e},{headers:t.headers}))}async listBuckets(e){var t=this;return t.handleOperation(async()=>{const s=new URLSearchParams;(e==null?void 0:e.limit)!==void 0&&s.set("limit",e.limit.toString()),(e==null?void 0:e.offset)!==void 0&&s.set("offset",e.offset.toString()),e!=null&&e.sortColumn&&s.set("sortColumn",e.sortColumn),e!=null&&e.sortOrder&&s.set("sortOrder",e.sortOrder),e!=null&&e.search&&s.set("search",e.search);const r=s.toString(),i=r?`${t.url}/bucket?${r}`:`${t.url}/bucket`;return await Ll(t.fetch,i,{headers:t.headers})})}async deleteBucket(e){var t=this;return t.handleOperation(async()=>await qx(t.fetch,`${t.url}/bucket/${e}`,{},{headers:t.headers}))}from(e){var t=this;if(!vM(e))throw new Eh("Invalid bucket name: File, folder, and bucket names must follow AWS object key naming guidelines and should avoid the use of any other characters.");const s=new hM({baseUrl:this.url,catalogName:e,auth:{type:"custom",getHeaders:async()=>t.headers},fetch:this.fetch}
497),r=this.shouldThrowOnError;return new Proxy(s,{get(i,a){const o=i[a];return typeof o!="function"?o:async(...l)=>{try{return{data:await o.apply(i,l),error:null}}catch(c){if(r)throw c;return{data:null,error:c}}}}})}},PM=class extends ho{constructor(e,t={},s){const r=e.replace(/\/$/,""),i=te(te({},cc),{},{"Content-Type":"application/json"},t);super(r,i,s,"vectors")}async createIndex(e){var t=this;return t.handleOperation(async()=>await Ht.post(t.fetch,`${t.url}/CreateIndex`,e,{headers:t.headers})||{})}async getIndex(e,t){var s=this;return s.handleOperation(async()=>await Ht.post(s.fetch,`${s.url}/GetIndex`,{vectorBucketName:e,indexName:t},{headers:s.headers}))}async listIndexes(e){var t=this;return t.handleOperation(async()=>await Ht.post(t.fetch,`${t.url}/ListIndexes`,e,{headers:t.headers}))}async deleteIndex(e,t){var s=this;return s.handleOperation(async()=>await Ht.post(s.fetch,`${s.url}/DeleteIndex`,{vectorBucketName:e,indexName:t},{headers:s.headers})||{})}},IM=class extends ho{constructor(e,t={},s){const r=e.replace(/\/$/,""),i=te(te({},cc),{},{"Content-Type":"application/json"},t);super(r,i,s,"vectors")}async putVectors(e){var t=this;if(e.vectors.length<1||e.vectors.length>500)throw new Error("Vector batch size must be between 1 and 500 items");return t.handleOperation(async()=>await Ht.post(t.fetch,`${t.url}/PutVectors`,e,{headers:t.headers})||{})}async getVectors(e){var t=this;return t.handleOperation(async()=>await Ht.post(t.fetch,`${t.url}/GetVectors`,e,{headers:t.headers}))}async listVectors(e){var t=this;if(e.segmentCount!==void 0){if(e.segmentCount<1||e.segmentCount>16)throw new Error("segmentCount must be between 1 and 16");if(e.segmentIndex!==void 0&&(e.segmentIndex<0||e.segmentIndex>=e.segmentCount))throw new Error(`segmentIndex must be between 0 and ${e.segmentCount-1}`)}return t.handleOperation(async()=>await Ht.post(t.fetch,`${t.url}/ListVectors`,e,{headers:t.headers}))}async queryVectors(e){var t=this;return t.handleOperation(async()=>await Ht.post(t.fetch,`${t.url}/QueryVectors`,e,{headers:t.headers}))}async deleteVectors(e){var t=this;if(e.keys.length<1||e.keys.length>500)throw new Error("Keys batch size must be between 1 and 500 items");return t.handleOperation(async()=>await Ht.post(t.fetch,`${t.url}/DeleteVectors`,e,{headers:t.headers})||{})}},RM=class extends ho{constructor(e,t={},s){const r=e.replace(/\/$/,""),i=te(te({},cc),{},{"Content-Type":"application/json"},t);super(r,i,s,"vectors")}async createBucket(e){var t=this;return t.handleOperation(async()=>await Ht.post(t.fetch,`${t.url}/CreateVectorBucket`,{vectorBucketName:e},{headers:t.headers})||{})}async getBucket(e){var t=this;return t.handleOperation(async()=>await Ht.post(t.fetch,`${t.url}/GetVectorBucket`,{vectorBucketName:e},{headers:t.headers}))}async listBuckets(e={}){var t=this;return t.handleOperation(async()=>await Ht.post(t.fetch,`${t.url}/ListVectorBuckets`,e,{headers:t.headers}))}async deleteBucket(e){var t=this;return t.handleOperation(async()=>await Ht.post(t.fetch,`${t.url}/DeleteVectorBucket`,{vectorBucketName:e},{headers:t.headers})||{})}},OM=class extends RM{constructor(e,t={}){super(e,t.headers||{},t.fetch)}from(e){return new MM(this.url,this.headers,e,this.fetch)}async createBucket(e){var t=()=>super.createBucket,s=this;return t().call(s,e)}async getBucket(e){var t=()=>super.getBucket,s=this;return t().call(s,e)}async listBuckets(e={}){var t=()=>super.listBuckets,s=this;return t().call(s,e)}async deleteBucket(e){var t=()=>super.deleteBucket,s=this;return t().call(s,e)}},MM=class extends PM{constructor(e,t,s,r){super(e,t,r),this.vectorBucketName=s}async createIndex(e){var t=()=>super.createIndex,s=this;return t().call(s,te(te({},e),{},{vectorBucketName:s.vectorBucketName}))}async listIndexes(e={}){var t=()=>super.listIndexes,s=this;return t().call(s,te(te({},e),{},{vectorBucketName:s.vectorBucketName}))}async getIndex(e){var t=()=>super.getIndex,s=this;return t().call(s,s.vectorBucketName,e)}async deleteIndex(e){var t=()=>super.deleteIndex,s=this;return t().call(s,s.vectorBucketName,e)}index(e){return new DM(this.url,this.headers,this.vectorBucketName,e,this.fetch)}},DM=class extends IM{constructor(e,t,s,r,i){super(e,t,i),this.vectorBucketName=s,this.indexName=r}async putVectors(e){var t=()=>super.putVectors,s=this;return t().call(s,te(te({},e),{},{vectorBucketName:s.vectorBucketName,indexName:s.indexName}))}async getVectors(e){var t=()=>super.getVectors,s=this;return t().call(s,te(te({},e),{},{vectorBucketName:s.vectorBucketName,indexName:s.indexName}))}async listVectors(e={}){var t=()=>super.listVectors,s=this;return t().call(s,te(te({},e),{},{vectorBucketName:s.vectorBucketName,indexName:s.indexName}))}async queryVectors(e){var t=()=>super.queryVectors,s=this;return t().call(s,te(te({},e),{},{vectorBucketName:s.vectorBucketName,indexName:s.indexName}))}async deleteVectors(e){var t=()=>super.deleteVectors,s=this;return t().call(s,te(te({},e),{},{vectorBucketName:s.vectorBucketName,indexName:s.indexName}))}}
497,LM=class extends EM{constructor(e,t={},s,r){super(e,t,s,r)}from(e){return new _M(this.url,this.headers,e,this.fetch)}get vectors(){return new OM(this.url+"/vector",{headers:this.headers,fetch:this.fetch})}get analytics(){return new TM(this.url+"/iceberg",this.headers,this.fetch)}};const rS="2.105.4",Ji=30*1e3,Pf=3,Em=Pf*Ji,$M="http://localhost:9999",FM="supabase.auth.token",BM={"X-Client-Info":`gotrue-js/${rS}`},If="X-Supabase-Api-Version",nS={"2024-01-01":{timestamp:Date.parse("2024-01-01T00:00:00.0Z"),name:"2024-01-01"}},UM=/^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}$|[a-z0-9_-]{2}$)$/i,WM=10*60*1e3;class $l extends Error{constructor(t,s,r){super(t),this.__isAuthError=!0,this.name="AuthError",this.status=s,this.code=r}toJSON(){return{name:this.name,message:this.message,status:this.status,code:this.code}}}function z(e){return typeof e=="object"&&e!==null&&"__isAuthError"in e}class VM extends $l{constructor(t,s,r){super(t,s,r),this.name="AuthApiError",this.status=s,this.code=r}}function zM(e){return z(e)&&e.name==="AuthApiError"}class Ts extends $l{constructor(t,s){super(t),this.name="AuthUnknownError",this.originalError=s}}class Dr extends $l{constructor(t,s,r,i){super(t,r,i),this.name=s,this.status=r}}class st extends Dr{constructor(){super("Auth session missing!","AuthSessionMissingError",400,void 0)}}function Yc(e){return z(e)&&e.name==="AuthSessionMissingError"}class Bi extends Dr{constructor(){super("Auth session or user missing","AuthInvalidToken
497ResponseError",500,void 0)}}class Jc extends Dr{constructor(t){super(t,"AuthInvalidCredentialsError",400,void 0)}}class Zc extends Dr{constructor(t,s=null){super(t,"AuthImplicitGrantRedirectError",500,void 0),this.details=null,this.details=s}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{details:this.details})}}function HM(e){return z(e)&&e.name==="AuthImplicitGrantRedirectError"}class Yb extends Dr{constructor(t,s=null){super(t,"AuthPKCEGrantCodeExchangeError",500,void 0),this.details=null,this.details=s}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{details:this.details})}}class qM extends Dr{constructor(){super("PKCE code verifier not found in storage. This can happen if the auth flow was initiated in a different browser or device, or if the storage was cleared. For SSR frameworks (Next.js, SvelteKit, etc.), use @supabase/ssr on both the server and client to store the code verifier in cookies.","AuthPKCECodeVerifierMissingError",400,"pkce_code_verifier_not_found")}}class Rf extends Dr{constructor(t,s){super(t,"AuthRetryableFetchError",s,void 0)}}function Tm(e){return z(e)&&e.name==="AuthRetryableFetchError"}class Jb extends Dr{constructor(t,s,r){super(t,"AuthWeakPasswordError",s,"weak_password"),this.reasons=r}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{reasons:this.reasons})}}class Of extends Dr{constructor(t){super(t,"AuthInvalidJwtError",400,"invalid_jwt")}}const Au="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".split(""),Zb=` 	
498\r=`.split(""),GM=(()=>{const e=new Array(128);for(let t=0;t<e.length;t+=1)e[t]=-1;for(let t=0;t<Zb.length;t+=1)e[Zb[t].charCodeAt(0)]=-2;for(let t=0;t<Au.length;t+=1)e[Au[t].charCodeAt(0)]=t;return e})();function Xb(e,t,s){if(e!==null)for(t.queue=t.queue<<8|e,t.queuedBits+=8;t.queuedBits>=6;){const r=t.queue>>t.queuedBits-6&63;s(Au[r]),t.queuedBits-=6}else if(t.queuedBits>0)for(t.queue=t.queue<<6-t.queuedBits,t.queuedBits=6;t.queuedBits>=6;){const r=t.queue>>t.queuedBits-6&63;s(Au[r]),t.queuedBits-=6}}function iS(e,t,s){const r=GM[e];if(r>-1)for(t.queue=t.queue<<6|r,t.queuedBits+=6;t.queuedBits>=8;)s(t.queue>>t.queuedBits-8&255),t.queuedBits-=8;else{if(r===-2)return;throw new Error(`Invalid Base64-URL character "${String.fromCharCode(e)}"`)}}function Qb(e){const t=[],s=o=>{t.push(String.fromCodePoint(o))},r={utf8seq:0,codepoint:0},i={queue:0,queuedBits:0},a=o=>{JM(o,r,s)};for(let o=0;o<e.length;o+=1)iS(e.charCodeAt(o),i,a);return t.join("")}function KM(e,t){if(e<=127){t(e);return}else if(e<=2047){t(192|e>>6),t(128|e&63);return}else if(e<=65535){t(224|e>>12),t(128|e>>6&63),t(128|e&63);return}else if(e<=1114111){t(240|e>>18),t(128|e>>12&63),t(128|e>>6&63),t(128|e&63);return}throw new Error(`Unrecognized Unicode codepoint: ${e.toString(16)}`)}function YM(e,t){for(let s=0;s<e.length;s+=1){let r=e.charCodeAt(s);if(r>55295&&r<=56319){const i=(r-55296)*1024&65535;r=(e.charCodeAt(s+1)-56320&65535|i)+65536,s+=1}KM(r,t)}}function JM(e,t,s){if(t.utf8seq===0){if(e<=127){s(e);return}for(let r=1;r<6;r+=1)if(!(e>>7-r&1)){t.utf8seq=r;break}if(t.utf8seq===2)t.codepoint=e&31;else if(t.utf8seq===3)t.codepoint=e&15;else if(t.utf8seq===4)t.codepoint=e&7;else throw new Error("Invalid UTF-8 sequence");t.utf8seq-=1}else if(t.utf8seq>0){if(e<=127)throw new Error("Invalid UTF-8 sequence");t.codepoint=t.codepoint<<6|e&63,t.utf8seq-=1,t.utf8seq===0&&s(t.codepoint)}}function Ca(e){const t=[],s={queue:0,queuedBits:0},r=i=>{t.push(i)};for(let i=0;i<e.length;i+=1)iS(e.charCodeAt(i),s,r);return new Uint8Array(t)}function ZM(e){const t=[];return YM(e,s=>t.push(s)),new Uint8Array(t)}function ri(e){const t=[],s={queue:0,queuedBits:0},r=i=>{t.push(i)};return e.forEach(i=>Xb(i,s,r)),Xb(null,s,r),t.join("")}function XM(e){return Math.round(Date.now()/1e3)+e}function QM(){return Symbol("auth-callback")}const ot=()=>typeof window<"u"&&typeof document<"u",Vn={tested:!1,writable:!1},aS=()=>{if(!ot())return!1;try{if(typeof globalThis.localStorage!="object")return!1}catch{return!1}if(Vn.tested)return Vn.writable;const e=`lswt-${Math.random()}${Math.random()}`;try{globalThis.localStorage.setItem(e,e),globalThis.localStorage.removeItem(e),Vn.tested=!0,Vn.writable=!0}catch{Vn.tested=!0,Vn.writable=!1}return Vn.writable};function eD(e){const t={},s=new URL(e);if(s.hash&&s.hash[0]==="#")try{new URLSearchParams(s.hash.substring(1)).forEac
498h((i,a)=>{t[a]=i})}catch{}return s.searchParams.forEach((r,i)=>{t[i]=r}),t}const oS=e=>e?(...t)=>e(...t):(...t)=>fetch(...t),tD=e=>typeof e=="object"&&e!==null&&"status"in e&&"ok"in e&&"json"in e&&typeof e.json=="function",Zi=async(e,t,s)=>{await e.setItem(t,JSON.stringify(s))},zn=async(e,t)=>{const s=await e.getItem(t);if(!s)return null;try{return JSON.parse(s)}catch{return null}},it=async(e,t)=>{await e.removeItem(t)};class Ph{constructor(){this.promise=new Ph.promiseConstructor((t,s)=>{this.resolve=t,this.reject=s})}}Ph.promiseConstructor=Promise;function Xc(e){const t=e.split(".");if(t.length!==3)throw new Of("Invalid JWT structure");for(let r=0;r<t.length;r++)if(!UM.test(t[r]))throw new Of("JWT not in base64url format");return{header:JSON.parse(Qb(t[0])),payload:JSON.parse(Qb(t[1])),signature:Ca(t[2]),raw:{header:t[0],payload:t[1]}}}async function sD(e){return await new Promise(t=>{setTimeout(()=>t(null),e)})}function rD(e,t){return new Promise((r,i)=>{(async()=>{for(let a=0;a<1/0;a++)try{const o=await e(a);if(!t(a,null,o)){r(o);return}}catch(o){if(!t(a,o)){i(o);return}}})()})}function nD(e){return("0"+e.toString(16)).substr(-2)}function iD(){const t=new Uint32Array(56);if(typeof crypto>"u"){const s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~",r=s.length;let i="";for(let a=0;a<56;a++)i+=s.charAt(Math.floor(Math.random()*r));return i}return crypto.getRandomValues(t),Array.from(t,nD).join("")}async function aD(e){const s=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",s),i=new Uint8Array(r);return Array.from(i).map(a=>String.fromCharCode(a)).join("")}async function oD(e){if(!(typeof crypto<"u"&&typeof crypto.subtle<"u"&&typeof TextEncoder<"u"))return console.warn("WebCrypto API is not supported. Code challenge method will default to use plain instead of sha256."),e;const s=await aD(e);return btoa(s).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function Ui(e,t,s=!1){const r=iD();let i=r;s&&(i+="/recovery"),await Zi(e,`${t}-code-verifier`,i);const a=await oD(r);return[a,r===a?"plain":"s256"]}const lD=/^2[0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9]|3[0-1])$/i;function cD(e){const t=e.headers.get(If);if(!t||!t.match(lD))return null;try{return new Date(`${t}T00:00:00.0Z`)}catch{return null}}function dD(e){if(!e)throw new Error("Missing exp claim");const t=Math.floor(Date.now()/1e3);if(e<=t)throw new Error("JWT has expired")}function uD(e){switch(e){case"RS256":return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case"ES256":return{name:"ECDSA",namedCurve:"P-256",hash:{name:"SHA-256"}};default:throw new Error("Invalid alg claim")}}const hD=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;function fr(e){if(!hD.test(e))throw new Error("@supabase/auth-js: Expected parameter to be UUID but is not")}function bs(e){if(!e.passkey)throw new Error("@supabase/auth-js: the passkey API is experimental and disabled by default. Enable it by passing `auth: { experimental: { passkey: true } }` to createClient (or to the GoTrueClient constructor).")}function Pm(){const e={};return new Proxy(e,{get:(t,s)=>{if(s==="__isUserNotAvailableProxy")return!0;if(typeof s=="symbol"){const r=s.toString();if(r==="Symbol(Symbol.toPrimitive)"||r==="Symbol(Symbol.toStringTag)"||r==="Symbol(util.inspect.custom)")return}throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Accessing the "${s}" property of the session object is not supported. Please use getUser() instead.`)},set:(t,s)=>{throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Setting the "${s}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)},deleteProperty:(t,s)=>{throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Deleting the "${s}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)}})}function mD(e,t){return new Proxy(e,{get:(s,r,i)=>{if(r==="__isInsecureUserWarningProxy")return!0;
498if(typeof r=="symbol"){const a=r.toString();if(a==="Symbol(Symbol.toPrimitive)"||a==="Symbol(Symbol.toStringTag)"||a==="Symbol(util.inspect.custom)"||a==="Symbol(nodejs.util.inspect.custom)")return Reflect.get(s,r,i)}return!t.value&&typeof r=="string"&&(console.warn("Using the user object as returned from supabase.auth.getSession() or from some supabase.auth.onAuthStateChange() events could be insecure! This value comes directly from the storage medium (usually cookies on the server) and may not be authentic. Use supabase.auth.getUser() instead which authenticates the data by contacting the Supabase Auth server."),t.value=!0),Reflect.get(s,r,i)}})}function e0(e){return JSON.parse(JSON.stringify(e))}const Zn=e=>{if(typeof e=="object"&&e!==null){const t=e;if(typeof t.msg=="string")return t.msg;if(typeof t.message=="string")return t.message;if(typeof t.error_description=="string")return t.error_description;if(typeof t.error=="string")return t.error}return JSON.stringify(e)},pD=[502,503,504,520,521,522,523,524,530];async function t0(e){var t;if(!tD(e))throw new Rf(Zn(e),0);if(pD.includes(e.status))throw new Rf(Zn(e),e.status);let s;try{s=await e.json()}catch(a){throw new Ts(Zn(a),a)}let r;const i=cD(e);if(i&&i.getTime()>=nS["2024-01-01"].timestamp&&typeof s=="object"&&s&&typeof s.code=="string"?r=s.code:typeof s=="object"&&s&&typeof s.error_code=="string"&&(r=s.error_code),r){if(r==="weak_password")throw new Jb(Zn(s),e.status,((t=s.weak_password)===null||t===void 0?void 0:t.reasons)||[]);if(r==="session_not_found")throw new st}else if(typeof s=="object"&&s&&typeof s.weak_password=="object"&&s.weak_password&&Array.isArray(s.weak_password.reasons)&&s.weak_password.reasons.length&&s.weak_password.reasons.reduce((a,o)=>a&&typeof o=="string",!0))throw new Jb(Zn(s),e.status,s.weak_password.reasons);throw new VM(Zn(s),e.status||500,r)}const fD=(e,t,s,r)=>{const i={method:e,headers:(t==null?void 0:t.headers)||{}};return e==="GET"?i:(i.headers=Object.assign({"Content-Type":"application/json;charset=UTF-8"},t==null?void 0:t.headers),i.body=JSON.stringify(r),Object.assign(Object.assign({},i),s))};async function J(e,t,s,r){var i;const a=Object.assign({},r==null?void 0:r.headers);a[If]||(a[If]=nS["2024-01-01"].name),r!=null&&r.jwt&&(a.Authorization=`Bearer ${r.jwt}`);const o=(i=r==null?void 0:r.query)!==null&&i!==void 0?i:{};r!=null&&r.redirectTo&&(o.redirect_to=r.redirectTo);const l=Object.keys(o).length?"?"+new URLSearchParams(o).toString():"",c=await gD(e,t,s+l,{headers:a,noResolveJson:r==null?void 0:r.noResolveJson},{},r==null?void 0:r.body);return r!=null&&r.xform?r==null?void 0:r.xform(c):{data:Object.assign({},c),error:null}}async function gD(e,t,s,r,i,a){const o=fD(t,r,i,a);let l;try{l=await e(s,Object.assign({},o))}catch(c){throw console.error(c),new Rf(Zn(c),0)}if(l.ok||await t0(l),r!=null&&r.noResolveJson)return l;try{return await l.json()}catch(c){await t0(c)}}function ts(e){var t;let s=null;vD(e)&&(s=Object.assign({},e),e.expires_at||(s.expires_at=XM(e.expires_in)));const r=(t=e.user)!==null&&t!==void 0?t:e;return{data:{session:s,user:r},error:null}}function s0(e){const t=ts(e);return!t.error&&e.weak_password&&typeof e.weak_password=="object"&&Array.isArray(e.weak_password.reasons)&&e.weak_password.reasons.length&&e.weak_password.message&&typeof e.weak_password.message=="string"&&e.weak_password.reasons.reduce((s,r)=>s&&typeof r=="string",!0)&&(t.data.weak_password=e.weak_password),t}function en(e){var t;return{data:{user:(t=e.user)!==null&&t!==void 0?t:e},error:null}}function xD(e){return{data:e,error:null}}function yD(e){const{action_link:t,email_otp:s,hashed_token:r,redirect_to:i,verification_type:a}=e,o=Ch(e,["action_link","email_otp","hashed_token","redirect_to","verification_type"]),l={action_link:t,email_otp:s,hashed_token:r,redirect_to:i,verification_type:a},c=Object.assign({},o);return{data:{properties:l,user:c},error:null}}function r0(e){return e}function vD(e){return!!e.access_token&&!!e.refresh_token&&!!e.expires_in}const Im=["global","local","others"];class bD{constructor({url:t="",headers:s={},fetch:r,experimental:i}){this.url=t,this.headers=s,this.fetch=oS(r),this.experimental=i??{},this.mfa={listFactors:this._listFactors.bind(this),deleteFactor:this._deleteFactor.bind(this)},this.oauth={listClients:this._listOAuthClients.bind(this),createClient:this._createOAuthClient.bind(this),getClient:this._getOAuthClient.bind(this),updateClient:this._updateOAuthClient.bind(this),deleteClient:this._deleteOAuthClient.bind(this),regenerateClientSecret:this._regenerateOAuthClientSecret.bind(this)},this.customProviders={listProviders:this._listCustomProviders.bind(this),createProvider:this._createCustomProvider.bind(this),getProvider:this._getCustomProvider.bind(this),updateProvider:this._updateCustomProvider.bind(this),deleteProvider:this._deleteCustomProvider.bind(this)},this.passkey={listPasskeys:this._adminListPasskeys.bind(this),deletePasskey:this._adminDeletePasskey.bind(this)}}async signOut(t,s=Im[0]){if(Im.indexOf(s)<0)throw new Error(`@supabase/auth-js: Parameter scope must be one of ${Im.join(", ")}`);try{return await J(this.fetch,"POST",`${this.url}/logout?scope=${s}`,{headers:this.headers,jwt:t,noResolveJson:!0}),{data:null,error:null}}catch(r){if(z(r))return{data:null,error:r};throw r}}async inviteUserByEmail(t,s={}){try{return await J(this.fetch,"POST",`${this.url}/invite`,{body:{email:t,data:s.data},headers:this.headers,redirectTo:s.redirectTo,xform:en})}catch(r){if(z(r))return{data:{user:null},error:r};throw r}}async generateLink(t){try{const{options:s}=t,r=Ch(t,["options"]),i=Object.assign(Object.assign({},r),s);return"newEmail"in r&&(i.new_email=r==null?void 0:r.newEmail,delete i.newEmail),await J(this.fetch,"POST",`${this.url}/admin/generate_link`,{body:i,headers:this.headers,xform:yD,redirectTo:s==null?void 0:s.redirectTo})}catch(s){if(z(s))return{data:{properties:null,user:null},error:s};throw s}}async createUser(t){try{return await J(this.fetch,"POST",`${this.url}/admin/users`,{body:t,headers:this.headers,xform:en})}catch(s){if(z(s))return{data:{user:null},error:s};throw s}}async listUsers(t){var s,r,i,a,o,l,c;try{const d={nextPage:null,lastPage:0,total:0},u=await J(this.fetch,"GET",`${this.url}/admin/users`,{headers:this.headers,noResolveJson:!0,query:{page:(r=(s=t==null?void 0:t.page)===null||s===void 0?void 0:s.toString())!==null&&r!==void 0?r:"",per_page:(a=(i=t==null?void 0:t.perPage)===null||i===void 0?void 0:i.toString())!==null&&a!==void 0?a:""},xform:r0});if(u.error)throw u.error;const h=await u.json(),m=(o=u.headers.get("x-total-count"))!==null&&o!==void 0?o:0,p=(c=(l=u.headers.get("link"))===null||l===void 0?void 0:l.split(","))!==null&&c!==void 0?c:[];return p.length>
4980&&(p.forEach(x=>{const y=parseInt(x.split(";")[0].split("=")[1].substring(0,1)),b=JSON.parse(x.split(";")[1].split("=")[1]);d[`${b}Page`]=y}),d.total=parseInt(m)),{data:Object.assign(Object.assign({},h),d),error:null}}catch(d){if(z(d))return{data:{users:[]},error:d};throw d}}async getUserById(t){fr(t);try{return await J(this.fetch,"GET",`${this.url}/admin/users/${t}`,{headers:this.headers,xform:en})}catch(s){if(z(s))return{data:{user:null},error:s};throw s}}async updateUserById(t,s){fr(t);try{return await J(this.fetch,"PUT",`${this.url}/admin/users/${t}`,{body:s,headers:this.headers,xform:en})}catch(r){if(z(r))return{data:{user:null},error:r};throw r}}async deleteUser(t,s=!1){fr(t);try{return await J(this.fetch,"DELETE",`${this.url}/admin/users/${t}`,{headers:this.headers,body:{should_soft_delete:s},xform:en})}catch(r){if(z(r))return{data:{user:null},error:r};throw r}}async _listFactors(t){fr(t.userId);try{const{data:s,error:r}=await J(this.fetch,"GET",`${this.url}/admin/users/${t.userId}/factors`,{headers:this.headers,xform:i=>({data:{factors:i},error:null})});return{data:s,error:r}}catch(s){if(z(s))return{data:null,error:s};throw s}}async _deleteFactor(t){fr(t.userId),fr(t.id);try{return{data:await J(this.fetch,"DELETE",`${this.url}/admin/users/${t.userId}/factors/${t.id}`,{headers:this.headers}),error:null}}catch(s){if(z(s))return{data:null,error:s};throw s}}async _listOAuthClients(t){var s,r,i,a,o,l,c;try{const d={nextPage:null,lastPage:0,total:0},u=await J(this.fetch,"GET",`${this.url}/admin/oauth/clients`,{headers:this.headers,noResolveJson:!0,query:{page:(r=(s=t==null?void 0:t.page)===null||s===void 0?void 0:s.toString())!==null&&r!==void 0?r:"",per_page:(a=(i=t==null?void 0:t.perPage)===null||i===void 0?void 0:i.toString())!==null&&a!==void 0?a:""},xform:r0});if(u.error)throw u.error;const h=await u.json(),m=(o=u.headers.get("x-total-count"))!==null&&o!==void 0?o:0,p=(c=(l=u.headers.get("link"))===null||l===void 0?void 0:l.split(","))!==null&&c!==void 0?c:[];return p.length>0&&(p.forEach(x=>{const y=parseInt(x.split(";")[0].split("=")[1].substring(0,1)),b=JSON.parse(x.split(";")[1].split("=")[1]);d[`${b}Page`]=y}),d.total=parseInt(m)),{data:Object.assign(Object.assign({},h),d),error:null}}catch(d){if(z(d))return{data:{clients:[]},error:d};throw d}}async _createOAuthClient(t){try{return await J(this.fetch,"POST",`${this.url}/admin/oauth/clients`,{body:t,headers:this.headers,xform:s=>({data:s,error:null})})}catch(s){if(z(s))return{data:null,error:s};throw s}}async _getOAuthClient(t){try{return await J(this.fetch,"GET",`${this.url}/admin/oauth/clients/${t}`,{headers:this.headers,xform:s=>({data:s,error:null})})}catch(s){if(z(s))return{data:null,error:s};throw s}}async _updateOAuthClient(t,s){try{return await J(this.fetch,"PUT",`${this.url}/admin/oauth/clients/${t}`,{body:s,headers:this.headers,xform:r=>({data:r,error:null})})}catch(r){if(z(r))return{data:null,error:r};throw r}}async _deleteOAuthClient(t){try{return await J(this.fetch,"DELETE",`${this.url}/admin/oauth/clients/${t}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(s){if(z(s))return{data:null,error:s};throw s}}async _regenerateOAuthClientSecret(t){try{return await J(this.fetch,"POST",`${this.url}/admin/oauth/clients/${t}/regenerate_secret`,{headers:this.headers,xform:s=>({data:s,error:null})})}catch(s){if(z(s))return{data:null,error:s};throw s}}async _listCustomProviders(t){try{const s={};return t!=null&&t.type&&(s.type=t.type),await J(this.fetch,"GET",`${this.url}/admin/custom-providers`,{headers:this.headers,query:s,xform:r=>{var i;return{data:{providers:(i=r==null?void 0:r.providers)!==null&&i!==void 0?i:[]},error:null}}})}catch(s){if(z(s))return{data:{providers:[]},error:s};throw s}}async _createCustomProvider(t){try{return await J(this.fetch,"POST",`${this.url}/admin/custom-providers`,{body:t,headers:this.headers,xform:s=>({data:s,error:null})})}catch(s){if(z(s))return{data:null,error:s};throw s}}async _getCustomProvider(t){try{return await J(this.fetch,"GET",`${this.url}/admin/custom-providers/${t}`,{headers:this.headers,xform:s=>({data:s,error:null})})}catch(s){if(z(s))return{data:null,error:s};throw s}}async _updateCustomProvider(t,s){try{return await J(this.fetch,"PUT",`${this.url}/admin/custom-providers/${t}`,{body:s,headers:this.headers,xform:r=>({data:r,error:null})})}catch(r){if(z(r))return{data:null,error:r};throw r}}async _deleteCustomProvider(t){try{return await J(this.fetch,"DELET
498E",`${this.url}/admin/custom-providers/${t}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(s){if(z(s))return{data:null,error:s};throw s}}async _adminListPasskeys(t){bs(this.experimental),fr(t.userId);try{return await J(this.fetch,"GET",`${this.url}/admin/users/${t.userId}/passkeys`,{headers:this.headers,xform:s=>({data:s,error:null})})}catch(s){if(z(s))return{data:null,error:s};throw s}}async _adminDeletePasskey(t){bs(this.experimental),fr(t.userId),fr(t.passkeyId);try{return await J(this.fetch,"DELETE",`${this.url}/admin/users/${t.userId}/passkeys/${t.passkeyId}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(s){if(z(s))return{data:null,error:s};throw s}}}function n0(e={}){return{getItem:t=>e[t]||null,setItem:(t,s)=>{e[t]=s},removeItem:t=>{delete e[t]}}}const Ws={debug:!!(globalThis&&aS()&&globalThis.localStorage&&globalThis.localStorage.getItem("supabase.gotrue-js.locks.debug")==="true")};class lS extends Error{constructor(t){super(t),this.isAcquireTimeout=!0}}class i0 extends lS{}async function wD(e,t,s){Ws.debug&&console.log("@supabase/gotrue-js: navigatorLock: acquire lock",e,t);const r=new globalThis.AbortController;let i;t>0&&(i=setTimeout(()=>{r.abort(),Ws.debug&&console.log("@supabase/gotrue-js: navigatorLock acquire timed out",e)},t)),await Promise.resolve();try{return await globalThis.navigator.locks.request(e,t===0?{mode:"exclusive",ifAvailable:!0}:{mode:"exclusive",signal:r.signal},async a=>{if(a){clearTimeout(i),Ws.debug&&console.log("@supabase/gotrue-js: navigatorLock: acquired",e,a.name);try{return await s()}finally{Ws.debug&&console.log("@supabase/gotrue-js: navigatorLock: released",e,a.name)}}else{if(t===0)throw Ws.debug&&console.log("@supabase/gotrue-js: navigatorLock: not immediately available",e),new i0(`Acquiring an exclusive Navigator LockManager lock "${e}" immediately failed`);if(Ws.debug)try{const o=await globalThis.navigator.locks.query();console.log("@supabase/gotrue-js: Navigator LockManager state",JSON.stringify(o,null,"  "))}catch(o){console.warn("@supabase/gotrue-js: Error when querying Navigator LockManager state",o)}return console.warn("@supabase/gotrue-js: Navigator LockManager returned a null lock when using #request without ifAvailable set to true, it appears this browser is not following the LockManager spec https://developer.mozilla.org/en-US/docs/Web/API/LockManager/request"),clearTimeout(i),await s()}})}catch(a){if(t>0&&clearTimeout(i),a!==null&&typeof a=="object"&&"name"in a&&a.name==="AbortError"&&t>0){if(r.signal.aborted)return Ws.debug&&console.log("@supabase/gotrue-js: navigatorLock: acquire timeout, recovering by stealing lock",e),console.warn(`@supabase/gotrue-js: Lock "${e}" was not released within ${t}ms. This may indicate an orphaned lock from a component unmount (e.g., React Strict Mode). Forcefully acquiring the lock to recover.`),await Promise.resolve().then(()=>globalThis.navigator.locks.request(e,{mode:"exclusive",steal:!0},async o=>{if(o){Ws.debug&&console.log("@supabase/gotrue-js: navigatorLock: recovered (stolen)",e,o.name);try{return await s()}finally{Ws.debug&&console.log("@supabase/gotrue-js: navigatorLock: released (stolen)",e,o.name)}}else return console.warn("@supabase/gotrue-js: Navigator LockManager returned null lock even with steal: true"),await s()}));throw Ws.debug&&console.log("@supabase/gotrue-js: navigatorLock: lock was stolen by another request",e),new i0(`Lock "${e}" was released because another request stole it`)}throw a}}function jD(){if(typeof globalThis!="object")try{Object.defineProperty(Object.prototype,"__magic__",{get:function(){return this},configurable:!0}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__}catch{typeof self<"u"&&(self.globalThis=self)}}function cS(e){if(!/^0x[a-fA-F0-9]{40}$/.test(e))throw new Error(`@supabase/auth-js: Address "${e}" is invalid.`);return e.toLowerCase()}function kD(e){return parseInt(e,16)}function ND(e){const t=new TextEncoder().encode(e);return"0x"+Array.from(t,r=>r.toString(16).padStart(2,"0")).join("")}function SD(e){var t;const{chainId:s,domain:r,expirationTime:i,issuedAt:a=new Date,nonce:o,notBefore:l,requestId:c,resources:d,scheme:u,uri:h,version:m}=e;{if(!Number.isInteger(s))throw new Error(`@supabase/auth-js: Invalid SIWE message field "chainId". Chain ID must be a EIP-155 chain ID. Provided value: ${s}`);if(!r)throw new Error('@supabase/auth-js: Invalid SIWE message field "domain". Domain must be provided.');if(o&&o.length<8)throw new Error(`@supabase/auth-js: Invalid SIWE message field "nonce". Nonce must be at least 8 characters. Provided value: ${o}`);if(!h)throw new Error('@supabase/auth-js: Invalid SIWE message field "uri". URI must be provided.');if(m!=="1")throw new Error(`@supabase/auth-js: Invalid SIWE message field "version". Version must be '1'. Provided value: ${m}`);if(!((t=e.statement)===null||t===void 0)&&t.includes(`
499`))throw new Error(`@supabase/auth-js: Invalid SIWE message field "statement". Statement must not include '\\n'. Provided value: ${e.statement}`)}const p=cS(e.address),x=u?`${u}://${r}`:r,y=e.statement?`${e.statement}
500`:"",b=`${x} wants you to sign in with your Ethereum account:
501${p}
502
503${y}`;let f=`URI: ${h}
504Version: ${m}
505Chain ID: ${s}${o?`
506Nonce: ${o}`:""}
507Issued At: ${a.toISOString()}`;if(i&&(f+=`
508Expiration Time: ${i.toISOString()}`),l&&(f+=`
509Not Before: ${l.toISOString()}
509`),c&&(f+=`
510Request ID: ${c}`),d){let g=`
511Resources:`;for(const v of d){if(!v||typeof v!="string")throw new Error(`@supabase/auth-js: Invalid SIWE message field "resources". Every resource must be a valid string. Provided value: ${v}`);g+=`
512- ${v}`}f+=g}return`${b}
513${f}`}class Ge extends Error{constructor({message:t,code:s,cause:r,name:i}){var a;super(t,{cause:r}),this.__isWebAuthnError=!0,this.name=(a=i??(r instanceof Error?r.name:void 0))!==null&&a!==void 0?a:"Unknown Error",this.code=s}toJSON(){return{name:this.name,message:this.message,code:this.code}}}class _u extends Ge{constructor(t,s){super({code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:s,message:t}),this.name="WebAuthnUnknownError",this.originalError=s}}function AD({error:e,options:t}){var s,r,i;const{publicKey:a}=t;if(!a)throw Error("options was missing required publicKey property");if(e.name==="AbortError"){if(t.signal instanceof AbortSignal)return new Ge({message:"Registration ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:e})}else if(e.name==="ConstraintError"){if(((s=a.authenticatorSelection)===null||s===void 0?void 0:s.requireResidentKey)===!0)return new Ge({message:"Discoverable credentials were required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT",cause:e});if(t.mediation==="conditional"&&((r=a.authenticatorSelection)===null||r===void 0?void 0:r.userVerification)==="required")return new Ge({message:"User verification was required during automatic registration but it could not be performed",code:"ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE",cause:e});if(((i=a.authenticatorSelection)===null||i===void 0?void 0:i.userVerification)==="required")return new Ge({message:"User verification was required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT",cause:e})}else{if(e.name==="InvalidStateError")return new Ge({message:"The authenticator was previously registered",code:"ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED",cause:e});if(e.name==="NotAllowedError")return new Ge({message:e.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e});if(e.name==="NotSupportedError")return a.pubKeyCredParams.filter(l=>l.type==="public-key").length===0?new Ge({message:'No entry in pubKeyCredParams was of type "public-key"',code:"ERROR_MALFORMED_PUBKEYCREDPARAMS",cause:e}):new Ge({message:"No available authenticator supported any of the specified pubKeyCredParams algorithms",code:"ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG",cause:e});if(e.name==="SecurityError"){const o=window.location.hostname;if(dS(o)){if(a.rp.id!==o)return new Ge({message:`The RP ID "${a.rp.id}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:e})}else return new Ge({message:`${window.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:e})}else if(e.name==="TypeError"){if(a.user.id.byteLength<1||a.user.id.byteLength>64)return new Ge({message:"User ID was not between 1 and 64 characters",code:"ERROR_INVALID_USER_ID_LENGTH",cause:e})}else if(e.name==="UnknownError")return new Ge({message:"The authenticator was unable to process the specified options, or could not create a new credential",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:e})}return new Ge({message:"a Non-Webauthn related error has occurred",code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e})}function _D({error:e,options:t}){const{publicKey:s}=t;if(!s)throw Error("options was missing required publicKey property");if(e.name==="AbortError"){if(t.signal instanceof AbortSignal)return new Ge({message:"Authentication ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:e})}else{if(e.name==="NotAllowedError")return new Ge({message:e.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e});if(e.name==="SecurityError"){const r=window.location.hostname;if(dS(r)){if(s.rpId!==r)return new Ge({message:`The RP ID "${s.rpId}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:e})}else return new Ge({message:`${window.location.hostname}
513 is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:e})}else if(e.name==="UnknownError")return new Ge({message:"The authenticator was unable to process the specified options, or could not create a new assertion signature",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:e})}return new Ge({message:"a Non-Webauthn related error has occurred",code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e})}class CD{createNewAbortSignal(){if(this.controller){const s=new Error("Cancelling existing WebAuthn API call for new one");s.name="AbortError",this.controller.abort(s)}const t=new AbortController;return this.controller=t,t.signal}cancelCeremony(){if(this.controller){const t=new Error("Manually cancelling existing WebAuthn API call");t.name="AbortError",this.controller.abort(t),this.controller=void 0}}}const Mf=new CD;function a0(e){if(!e)throw new Error("Credential creation options are required");if(typeof PublicKeyCredential<"u"&&"parseCreationOptionsFromJSON"in PublicKeyCredential&&typeof PublicKeyCredential.parseCreationOptionsFromJSON=="function")return PublicKeyCredential.parseCreationOptionsFromJSON(e);const{challenge:t,user:s,excludeCredentials:r}=e,i=Ch(e,["challenge","user","excludeCredentials"]),a=Ca(t).buffer,o=Object.assign(Object.assign({},s),{id:Ca(s.id).buffer}),l=Object.assign(Object.assign({},i),{challenge:a,user:o});if(r&&r.length>0){l.excludeCredentials=new Array(r.length);for(let c=0;c<r.length;c++){const d=r[c];l.excludeCredentials[c]=Object.assign(Object.assign({},d),{id:Ca(d.id).buffer,type:d.type||"public-key",transports:d.transports})}}return l}function o0(e){if(!e)throw new Error("Credential request options are required");if(typeof PublicKeyCredential<"u"&&"parseRequestOptionsFromJSON"in PublicKeyCredential&&typeof PublicKeyCredential.parseRequestOptionsFromJSON=="function")return PublicKeyCredential.parseRequestOptionsFromJSON(e);const{challenge:t,allowCredentials:s}=e,r=Ch(e,["challenge","allowCredentials"]),i=Ca(t).buffer,a=Object.assign(Object.assign({},r),{challenge:i});if(s&&s.length>0){a.allowCredentials=new Array(s.length);for(let o=0;o<s.length;o++){const l=s[o];a.allowCredentials[o]=Object.assign(Object.assign({},l),{id:Ca(l.id).buffer,type:l.type||"public-key",transports:l.transports})}}return a}function l0(e){var t;if("toJSON"in e&&typeof e.toJSON=="function")return e.toJSON();const s=e;return{id:e.id,rawId:e.id,response:{attestationObject:ri(new Uint8Array(e.response.attestationObject)),clientDataJSON:ri(new Uint8Array(e.response.clientDataJSON))},type:"public-key",clientExtensionResults:e.getClientExtensionResults(),authenticatorAttachment:(t=s.authenticatorAttachment)!==null&&t!==void 0?t:void 0}}function c0(e){var t;if("toJSON"in e&&typeof e.toJSON=="function")return e.toJSON();const s=e,r=e.getClientExtensionResults(),i=e.response;return{id:e.id,rawId:e.id,response:{authenticatorData:ri(new Uint8Array(i.authenticatorData)),clientDataJSON:ri(new Uint8Array(i.clientDataJSON)),signature:ri(new Uint8Array(i.signature)),userHandle:i.userHandle?ri(new Uint8Array(i.userHandle)):void 0},type:"public-key",clientExtensionResults:r,authenticatorAttachment:(t=s.authenticatorAttachment)!==null&&t!==void 0?t:void 0}}function dS(e){return e==="localhost"||/^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$/i.test(e)}function Cu(){var e,t;return!!(ot()&&"PublicKeyCredential"in window&&window.PublicKeyCredential&&"credentials"in navigator&&typeof((e=navigator==null?void 0:navigator.credentials)===null||e===void 0?void 0:e.create)=="function"&&typeof((t=navigator==null?void 0:navigator.credentials)===null||t===void 0?void 0:t.get)=="function")}async function uS(e){try{const t=await navigator.credentials.create(e);return t?t instanceof PublicKeyCredential?{data:t,error:null}:{data:null,error:new _u("Browser returned unexpected credential type",t)}:{data:null,error:new _u("Empty credential response",t)}}catch(t){return{data:null,error:AD({error:t,options:e})}}}async function hS(e){try{const t=await navigator.credentials.get(e);return t?t instanceof PublicKeyCredential?{data:t,error:null}:{data:null,error:new _u("Browser returned unexpected credential type",t)}:{data:null,error:new _u("Empty credential response",t)}}
513catch(t){return{data:null,error:_D({error:t,options:e})}}}const ED={hints:["security-key"],authenticatorSelection:{authenticatorAttachment:"cross-platform",requireResidentKey:!1,userVerification:"preferred",residentKey:"discouraged"},attestation:"direct"},TD={userVerification:"preferred",hints:["security-key"],attestation:"direct"};function Eu(...e){const t=i=>i!==null&&typeof i=="object"&&!Array.isArray(i),s=i=>i instanceof ArrayBuffer||ArrayBuffer.isView(i),r={};for(const i of e)if(i)for(const a in i){const o=i[a];if(o!==void 0)if(Array.isArray(o))r[a]=o;else if(s(o))r[a]=o;else if(t(o)){const l=r[a];t(l)?r[a]=Eu(l,o):r[a]=Eu(o)}else r[a]=o}return r}function PD(e,t){return Eu(ED,e,t||{})}function ID(e,t){return Eu(TD,e,t||{})}class RD{constructor(t){this.client=t,this.enroll=this._enroll.bind(this),this.challenge=this._challenge.bind(this),this.verify=this._verify.bind(this),this.authenticate=this._authenticate.bind(this),this.register=this._register.bind(this)}async _enroll(t){return this.client.mfa.enroll(Object.assign(Object.assign({},t),{factorType:"webauthn"}))}async _challenge({factorId:t,webauthn:s,friendlyName:r,signal:i},a){var o;try{const{data:l,error:c}=await this.client.mfa.challenge({factorId:t,webauthn:s});if(!l)return{data:null,error:c};const d=i??Mf.createNewAbortSignal();if(l.webauthn.type==="create"){const{user:u}=l.webauthn.credential_options.publicKey;if(!u.name){const h=r;if(h)u.name=`${u.id}:${h}`;else{const p=(await this.client.getUser()).data.user,x=((o=p==null?void 0:p.user_metadata)===null||o===void 0?void 0:o.name)||(p==null?void 0:p.email)||(p==null?void 0:p.id)||"User";u.name=`${u.id}:${x}`}}u.displayName||(u.displayName=u.name)}switch(l.webauthn.type){case"create":{const u=PD(l.webauthn.credential_options.publicKey,a==null?void 0:a.create),{data:h,error:m}=await uS({publicKey:u,signal:d});return h?{data:{factorId:t,challengeId:l.id,webauthn:{type:l.webauthn.type,credential_response:h}},error:null}:{data:null,error:m}}case"request":{const u=ID(l.webauthn.credential_options.publicKey,a==null?void 0:a.request),{data:h,error:m}=await hS(Object.assign(Object.assign({},l.webauthn.credential_options),{publicKey:u,signal:d}));return h?{data:{factorId:t,challengeId:l.id,webauthn:{type:l.webauthn.type,credential_response:h}},error:null}:{data:null,error:m}}}}catch(l){return z(l)?{data:null,error:l}:{data:null,error:new Ts("Unexpected error in challenge",l)}}}async _verify({challengeId:t,factorId:s,webauthn:r}){return this.client.mfa.verify({factorId:s,challengeId:t,webauthn:r})}async _authenticate({factorId:t,webauthn:{rpId:s=typeof window<"u"?window.location.hostname:void 0,rpOrigins:r=typeof window<"u"?[window.location.origin]:void 0,signal:i}={}},a){if(!s)return{data:null,error:new $l("rpId is required for WebAuthn authentication")};try{if(!Cu())return{data:null,error:new Ts("Browser does not support WebAuthn",null)};const{data:o,error:l}=await this.challenge({factorId:t,webauthn:{rpId:s,rpOrigins:r},signal:i},{request:a});if(!o)return{data:null,error:l};const{webauthn:c}=o;return this._verify({factorId:t,challengeId:o.challengeId,webauthn:{type:c.type,rpId:s,rpOrigins:r,credential_response:c.credential_response}})}catch(o){return z(o)?{data:null,error:o}:{data:null,error:new Ts("Unexpected error in authenticate",o)}}}async _register({friendlyName:t,webauthn:{rpId:s=typeof window<"u"?window.location.hostname:void 0,rpOrigins:r=typeof window<"u"?[window.location.origin]:void 0,signal:i}={}},a){if(!s)return{data:null,error:new $l("rpId is required for WebAuthn registration")};try{if(!Cu())return{data:null,error:new Ts("Browser does not support WebAuthn",null)};const{data:o,error:l}=await this._enroll({friendlyName:t});if(!o)return await this.client.mfa.listFactors().then(u=>{var h;return(h=u.data)===null||h===void 0?void 0:h.all.find(m=>m.factor_type==="webauthn"&&m.friendly_name===t&&m.status!=="unverified")}).then(u=>u?this.client.mfa.unenroll({factorId:u==null?void 0:u.id}):void 0),{data:null,error:l};const{data:c,error:d}=await this._challenge({factorId:o.id,friendlyName:o.friendly_name,webauthn:{rpId:s,rpOrigins:r},signal:i},{create:a});return c?this._verify({factorId:o.id,challengeId:c.challengeId,webauthn:{rpId:s,rpOrigins:r,type:c.webauthn.type,credential_response:c.webauthn.credential_response}}):{data:null,error:d}}catch(o){return z(o)?{data:null,error:o}:{data:null,error:new Ts("Unexpected error in register",o)}}}}jD();const OD={url:$M,storageKey:FM,autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,headers:BM,flowType:"implicit",debug:!1,hasCustomAuthorizationHeader:!1,throwOnError:!1,lockAcquireTimeout:5e3,skipAutoInitialize:!1,experimental:{}};async function d0(e,t,s){return await s()}const Wi={};class Fl{get jwks(){var t,s;return(s=(t=Wi[this.storageKey])===null||t===void 0?void 0:t.jwks)!==null&&s!==void 0?s:{keys:[]}}set jwks(t){Wi[this.storageKey]=Object.assign(Object.assign({},Wi[this.storageKey]),{jwks:t})}get jwks_cached_at(){var t,s;return(s=(t=Wi[this.storageKey])===null||t===void 0?void 0:t.cachedAt)!==null&&s!==void 0?s:Number.MIN_SAFE_INTEGER}set jwks_cached_at(t){Wi[this.storageKey]=Object.assign(Object.assign({},Wi[this.storageKey]),{cachedAt:t})}constructor(t){var s,r,i,a;this.userStorage=null,this.memoryStorage=null,this.stateChangeEmitters=new Map,this.autoRefreshTicker=null,this.autoRefreshTickTimeout=null,this.visibilityChangedCallback=null,this.refreshingDeferred=null,this.initializePromise=null,this.detectSessionInUrl=!0,this.hasCustomAuthorizationHeader=!1,this.suppressGetSessionWarning=!1,this.lockAcquired=!1,this.pendingInLock=[],this.broadcastChannel=null,this.logger=console.log;const o=Object.assign(Object.assign({},OD),t);
513if(this.storageKey=o.storageKey,this.instanceID=(s=Fl.nextInstanceID[this.storageKey])!==null&&s!==void 0?s:0,Fl.nextInstanceID[this.storageKey]=this.instanceID+1,this.logDebugMessages=!!o.debug,typeof o.debug=="function"&&(this.logger=o.debug),this.instanceID>0&&ot()){const l=`${this._logPrefix()} Multiple GoTrueClient instances detected in the same browser context. It is not an error, but this should be avoided as it may produce undefined behavior when used concurrently under the same storage key.`;console.warn(l),this.logDebugMessages&&console.trace(l)}if(this.persistSession=o.persistSession,this.autoRefreshToken=o.autoRefreshToken,this.experimental=(r=o.experimental)!==null&&r!==void 0?r:{},this.admin=new bD({url:o.url,headers:o.headers,fetch:o.fetch,experimental:this.experimental}),this.url=o.url,this.headers=o.headers,this.fetch=oS(o.fetch),this.lock=o.lock||d0,this.detectSessionInUrl=o.detectSessionInUrl,this.flowType=o.flowType,this.hasCustomAuthorizationHeader=o.hasCustomAuthorizationHeader,this.throwOnError=o.throwOnError,this.lockAcquireTimeout=o.lockAcquireTimeout,o.lock?this.lock=o.lock:this.persistSession&&ot()&&(!((i=globalThis==null?void 0:globalThis.navigator)===null||i===void 0)&&i.locks)?this.lock=wD:this.lock=d0,this.jwks||(this.jwks={keys:[]},this.jwks_cached_at=Number.MIN_SAFE_INTEGER),this.mfa={verify:this._verify.bind(this),enroll:this._enroll.bind(this),unenroll:this._unenroll.bind(this),challenge:this._challenge.bind(this),listFactors:this._listFactors.bind(this),challengeAndVerify:this._challengeAndVerify.bind(this),getAuthenticatorAssuranceLevel:this._getAuthenticatorAssuranceLevel.bind(this),webauthn:new RD(this)},this.oauth={getAuthorizationDetails:this._getAuthorizationDetails.bind(this),approveAuthorization:this._approveAuthorization.bind(this),denyAuthorization:this._denyAuthorization.bind(this),listGrants:this._listOAuthGrants.bind(this),revokeGrant:this._revokeOAuthGrant.bind(this)},this.passkey={startRegistration:this._startPasskeyRegistration.bind(this),verifyRegistration:this._verifyPasskeyRegistration.bind(this),startAuthentication:this._startPasskeyAuthentication.bind(this),verifyAuthentication:this._verifyPasskeyAuthentication.bind(this),list:this._listPasskeys.bind(this),update:this._updatePasskey.bind(this),delete:this._deletePasskey.bind(this)},this.persistSession?(o.storage?this.storage=o.storage:aS()?this.storage=globalThis.localStorage:(this.memoryStorage={},this.storage=n0(this.memoryStorage)),o.userStorage&&(this.userStorage=o.userStorage)):(this.memoryStorage={},this.storage=n0(this.memoryStorage)),ot()&&globalThis.BroadcastChannel&&this.persistSession&&this.storageKey){try{this.broadcastChannel=new globalThis.BroadcastChannel(this.storageKey)}catch(l){console.error("Failed to create a new BroadcastChannel, multi-tab state changes will not be available",l)}(a=this.broadcastChannel)===null||a===void 0||a.addEventListener("message",async l=>{this._debug("received broadcast notification from other tab or client",l);try{await this._notifyAllSubscribers(l.data.event,l.data.session,!1)}catch(c){this._debug("#broadcastChannel","error",c)}})}o.skipAutoInitialize||this.initialize().catch(l=>{this._debug("#initialize()","error",l)})}isThrowOnErrorEnabled(){return this.throwOnError}_returnResult(t){if(this.throwOnError&&t&&t.error)throw t.error;return t}_logPrefix(){return`GoTrueClient@${this.storageKey}:${this.instanceID} (${rS}) ${new Date().toISOString()}`}_debug(...t){return this.logDebugMessages&&this.logger(this._logPrefix(),...t),this}async initialize(){return this.initializePromise?await this.initializePromise:(this.initializePromise=(async()=>await this._acquireLock(this.lockAcquireTimeout,async()=>await this._initialize()))(),await this.initializePromise)}async _initialize(){var t;try{let s={},r="none";if(ot()&&(s=eD(window.location.href),this._isImplicitGrantCallback(s)?r="implicit":await this._isPKCECallback(s)&&(r="pkce")),ot()&&this.detectSessionInUrl&&r!=="none"){const{data:i,error:a}=await this._getSessionFromURL(s,r);if(a){if(this._debug("#_initialize()","error detecting session from URL",a),HM(a)){const c=(t=a.details)===null||t===void 0?void 0:t.code;if(c==="identity_already_exists"||c==="identity_not_found"||c==="single_identity_not_deletable")return{error:a}}return{error:a}}const{session:o,redirectType:l}=i;return this._debug("#_initialize()","detected session in URL",o,"redirect type",l),await this._saveSession(o),setTimeout(async()=>{l==="recovery"?await this._notifyAllSubscribers("PASSWORD_RECOVERY",o):await this._notifyAllSubscribers("SIGNED_IN",o)},0),{error:null}}return await this._recoverAndRefresh(),{error:null}}catch(s){return z(s)?this._returnResult({error:s}):this._returnResult({error:new Ts("Unexpected error during initialization",s)})}finally{await this._handleVisibilityChange(),this._debug("#_initialize()","end")}}async signInAnonymously(t){var s,r,i;try{const a=await J(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{data:(r=(s=t==null?void 0:t.options)===null||s===void 0?void 0:s.data)!==null&&r!==void 0?r:{},gotrue_meta_security:{captcha_token:(i=t==null?void 0:t.options)===null||i===void 0?void 0:i.captchaToken}},xform:ts}),{data:o,error:l}=a;if(l||!o)return this._returnResult({data:{user:null,session:null},error:l});const c=o.session,d=o.user;return o.session&&(await this._saveSession(o.session),await this._notifyAllSubscribers("SIGNED_IN",c)),this._returnResult({data:{user:d,session:c},error:null})}catch(a){if(z(a))return this._returnResult({data:{user:null,session:null},error:a});throw a}}async signUp(t){var s,r,i;try{let a;if("email"in t){const{email:u,password:h,options:m}=t;let p=null,x=null;this.flowType==="pkce"&&([p,x]=await Ui(this.storage,this.storageKey)),a=await J(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,redirectTo:m==null?void 0:m.emailRedirectTo,body:{email:u,password:h,data:(s=m==null?void 0:m.data)!==null&&s!==void 0?s:{},gotrue_meta_security:{captcha_token:m==null?void 0:m.captchaToken},code_challenge:p,code_challenge_method:x},xform:ts})}else if("phone"in t){const{phone:u,password:h,options:m}=t;a=await J(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{phone:u,password:h,data:(r=m==null?void 0:m.data)!==null&&r!==void 0?r:{},channel:(i=m==null?void 0:m.channel)!==null&&i!==void 0?i:"sms",gotrue_meta_security:{captcha_token:m==null?void 0:m.captchaToken}},xform:ts})}else throw new Jc("You must provide either an email or phone number and a password");const{data:o,error:l}=a;if(l||!o)return await it(this.storage,`${this.storageKey}-code-verifier`),this._returnResult({data:{user:null,session:null},error:l});const c=o.session,d=o.user;return o.session&&(await this._saveSession(o.session),await this._notifyAllSubscribers("SIGNED_IN",c)),this._returnResult({data:{user:d,session:c},error:null})}catch(a){if(await it(this.storage,`${this.storageKey}-code-verifier`),z(a))return this._returnResult({data:{user:null,session:null},error:a});throw a}}async signInWithPassword(t){try{let s;if("email"in t){const{email:a,password:o,options:l}=t;s=await J(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{email:a,password:o,gotrue_meta_security:{captcha_token:l==null?void 0:l.captchaToken}},xform:s0})}else if("phone"in t){const{phone:a,password:o,options:l}=t;s=await J(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{phone:a,password:o,gotrue_meta_security:{captcha_token:l==null?void 0:l.captchaToken}},xform:s0})}else throw new Jc("You must provide either an email or phone number and a password");const{data:r,error:i}=s;if(i)return this._returnResult({data:{user:null,session:null},error:i});if(!r||!r.session||!r.user){const a=new Bi;return this._returnResult({data:{user:null,session:null},error:a})}return r.session&&(await this._saveSession(r.session),await this._notifyAllSubscribers("SIGNED_IN",r.session)),this._returnResult({data:Object.assign({user:r.user,session:r.session},r.weak_password?{weakPassword:r.weak_password}:null),error:i})}catch(s){if(z(s))return this._returnResult({data:{user:null,session:null},error:s});throw s}}async signInWithOAuth(t){var s,r,i,a;return await this._handleProviderSignIn(t.provider,{redirectTo:(s=t.options)===null||s===void 0?void 0:s.redirectTo,scopes:(r=t.options)===null||r===void 0?void 0:r.scopes,queryParams:(i=t.options)===null||i===void 0?void 0:i.queryParams,skipBrowserRedirect:(a=t.o
513ptions)===null||a===void 0?void 0:a.skipBrowserRedirect})}async exchangeCodeForSession(t){return await this.initializePromise,this._acquireLock(this.lockAcquireTimeout,async()=>this._exchangeCodeForSession(t))}async signInWithWeb3(t){const{chain:s}=t;switch(s){case"ethereum":return await this.signInWithEthereum(t);case"solana":return await this.signInWithSolana(t);default:throw new Error(`@supabase/auth-js: Unsupported chain "${s}"`)}}async signInWithEthereum(t){var s,r,i,a,o,l,c,d,u,h,m;let p,x;if("message"in t)p=t.message,x=t.signature;else{const{chain:y,wallet:b,statement:f,options:g}=t;let v;if(ot())if(typeof b=="object")v=b;else{const R=window;if("ethereum"in R&&typeof R.ethereum=="object"&&"request"in R.ethereum&&typeof R.ethereum.request=="function")v=R.ethereum;else throw new Error("@supabase/auth-js: No compatible Ethereum wallet interface on the window object (window.ethereum) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'ethereum', wallet: resolvedUserWallet }) instead.")}else{if(typeof b!="object"||!(g!=null&&g.url))throw new Error("@supabase/auth-js: Both wallet and url must be specified in non-browser environments.");v=b}const j=new URL((s=g==null?void 0:g.url)!==null&&s!==void 0?s:window.location.href),k=await v.request({method:"eth_requestAccounts"}).then(R=>R).catch(()=>{throw new Error("@supabase/auth-js: Wallet method eth_requestAccounts is missing or invalid")});if(!k||k.length===0)throw new Error("@supabase/auth-js: No accounts available. Please ensure the wallet is connected.");const N=cS(k[0]);let A=(r=g==null?void 0:g.signInWithEthereum)===null||r===void 0?void 0:r.chainId;if(!A){const R=await v.request({method:"eth_chainId"});A=kD(R)}const E={domain:j.host,address:N,statement:f,uri:j.href,version:"1",chainId:A,nonce:(i=g==null?void 0:g.signInWithEthereum)===null||i===void 0?void 0:i.nonce,issuedAt:(o=(a=g==null?void 0:g.signInWithEthereum)===null||a===void 0?void 0:a.issuedAt)!==null&&o!==void 0?o:new Date,expirationTime:(l=g==null?void 0:g.signInWithEthereum)===null||l===void 0?void 0:l.expirationTime,notBefore:(c=g==null?void 0:g.signInWithEthereum)===null||c===void 0?void 0:c.notBefore,requestId:(d=g==null?void 0:g.signInWithEthereum)===null||d===void 0?void 0:d.requestId,resources:(u=g==null?void 0:g.signInWithEthereum)===null||u===void 0?void 0:u.resources};p=SD(E),x=await v.request({method:"personal_sign",params:[ND(p),N]})}try{const{data:y,error:b}=await J(this.fetch,"POST",`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:"ethereum",message:p,signature:x},!((h=t.options)===null||h===void 0)&&h.captchaToken?{gotrue_meta_security:{captcha_token:(m=t.options)===null||m===void 0?void 0:m.captchaToken}}:null),xform:ts});if(b)throw b;if(!y||!y.session||!y.user){const f=new Bi;return this._returnResult({data:{user:null,session:null},error:f})}return y.session&&(await this._saveSession(y.session),await this._notifyAllSubscribers("SIGNED_IN",y.session)),this._returnResult({data:Object.assign({},y),error:b})}catch(y){if(z(y))return this._returnResult({data:{user:null,session:null},error:y});throw y}}async signInWithSolana(t){var s,r,i,a,o,l,c,d,u,h,m,p;let x,y;if("message"in t)x=t.message,y=t.signature;else{const{chain:b,wallet:f,statement:g,options:v}=t;let j;if(ot())if(typeof f=="object")j=f;else{const N=window;if("solana"in N&&typeof N.solana=="object"&&("signIn"in N.solana&&typeof N.solana.signIn=="function"||"signMessage"in N.solana&&typeof N.solana.signMessage=="function"))j=N.solana;else throw new Error("@supabase/auth-js: No compatible Solana wallet interface on the window object (window.solana) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'solana', wallet: resolvedUserWallet }) instead.")}else{if(typeof f!="object"||!(v!=null&&v.url))throw new Error("@supabase/auth-js: Both wallet and url must be specified in non-browser environments.");j=f}const k=new URL((s=v==null?void 0:v.url)!==null&&s!==void 0?s:window.location.href);if("signIn"in j&&j.signIn){const N=await j.signIn(Object.assign(Object.assign(Object.assign({issuedAt:new Date().toISOString()},v==null?void 0:v.signInWithSolana),{version:"1",domain:k.host,uri:k.href}),g?{statement:g}:null));let A;if(Array.isArray(N)&&N[0]&&typeof N[0]=="object")A=N[0];else if(N&&typeof N=="object"&&"signedMessage"in N&&"signature"in N)A=N;else throw new Error("@supabase/auth-js: Wallet method signIn() returned unrecognized value");if("signedMessage"in A&&"signature"in A&&(typeof A.signedMessage=="string"||A.signedMessage instanceof Uint8Array)&&A.signature instanceof Uint8Array)x=typeof A.signedMessage=="string"?A.signedMessage:new TextDecoder().decode(A.signedMessage),y=A.signature;else throw new Error("@supabase/auth-js: Wallet method signIn() API returned object without signedMessage and signature fields")}else{if(!("signMessage"in j)||typeof j.signMessage!="function"||!("publicKey"in j)||typeof j!="object"||!j.publicKey||!("toBase58"in j.publicKey)||typeof j.publicKey.toBase58!="function")throw new Error("@supabase/auth-js: Wallet does not have a compatible signMessage() and publicKey.toBase58() API");x=[`${k.host} wants you to sign in with your Solana account:`,j.publicKey.toBase58(),...g?["",g,""]:[""],"Version: 1",`URI: ${k.href}`,`Issued At: ${(i=(r=v==null?void 0:v.signInWithSolana)===null||r===void 0?void 0:r.issuedAt)!==null&&i!==void 0?i:new Date().toISOString()}`,...!((a=v==null?void 0:v.signInWithSolana)===null||a===void 0)&&a.notBefore?[`Not Before: ${v.signInWithSolana.notBefore}`]:[],...!((o=v==null?void 0:v.signInWithSolana)===null||o===void 0)&&o.expirationTime?[`Expiration Time: ${v.signInWithSolana.expirationTime}`]:[],...!((l=v==null?void 0:v.signInWithSolana)===null||l===void 0)&&l.chainId?[`Chain ID: ${v.signInWithSolana.chainId}`]:[],...!((c=v==null?void 0:v.signInWithSolana)===null||c===void 0)&&c.nonce?[`Nonce: ${v.signInWithSolana.nonce}`]:[],...!((d=v==null?void 0:v.signInWithSolana)===null||d===void 0)&&d.requestId?[`Request ID: ${v.signInWithSolana.requestId}`]:[],...!((h=(u=v==null?void 0:v.signInWithSolana)===null||u===void 0?void 0:u.resources)===null||h===void 0)&&h.length?["Resources",...v.signInWithSolana.resources.map(A=>`- ${A}`)]:[]].join(`
514`);const N=await j.signMessage(new TextEncoder().encode(x),"utf8");if(!N||!(N instanceof Uint8Array))throw new Error("@supabase/auth-js: Wallet signMessage() API returned an recognized value");y=N}}try{const{data:b,error:f}=await J(this.fetch,"POST",`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:"solana",message:x,signature:ri(y)},!((m=t.options)===null||m===void 0)&&m.captchaToken?{gotrue_meta_security:{captcha_token:(p=t.options)===null||p===void 0?void 0:p.captchaToken}}:null),xform:ts});if(f)throw f;if(!b||!b.session||!b.user){const g=new Bi;return this._returnResult({data:{user:null,session:null},error:g})}return b.session&&(await this._saveSession(b.session),await this._notifyAllSubscribers("SIGNED_IN",b.session)),this._returnResult({data:Object.assign({},b),error:f})}catch(b){if(z(b))return this._returnResult({data:{user:null,session:null},error:b});throw b}}async _exchangeCodeForSession(t){const s=await zn(this.storage,`${this.storageKey}-code-verifier`),[r,i]=(s??"").split("/");try{if(!r&&this.flowType==="pkce")throw new qM;const{data:a,error:o}=await J(this.fetch,"POST",`${this.url}/token?grant_type=pkce`,{headers:this.headers,body:{auth_code:t,code_verifier:r},xform:ts});if(await it(this.storage,`${this.storageKey}-code-verifier`),o)throw o;if(!a||!a.session||!a.user){const l=new Bi;return this._returnResult({data:{user:null,session:null,redirectType:null},error:l})}return a.session&&(await this._saveSession(a.session),await this._notifyAllSubscribers(i==="recovery"?"PASSWORD_RECOVERY":"SIGNED_IN",a.session)),this._returnResult({data:Object.assign(Object.assign({},a),{redirectType:i??null}),error:o})}catch(a){if(await it(this.storage,`${this.storageKey}-code-verifier`),z(a))return this._returnResult({data:{user:null,session:null,redirectType:null},error:a});throw a}}async signInWithIdToken(t){try{const{options:s,provider:r,token:i,access_token:a,nonce:o}=t,l=await J(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,body:{provider:r,id_token:i,access_token:a,nonce:o,gotrue_meta_security:{captcha_token:s==null?void 0:s.captchaToken}},xform:ts}),{data:c,error:d}=l;if(d)return this._returnResult({data:{user:null,session:null},error:d});if(!c||!c.session||!c.user){const u=new Bi;return this._returnResult({data:{user:null,session:null},error:u})}return c.session&&(await this._saveSession(c.session),await this._notifyAllSubscribers("SIGNED_IN",c.session)),this._returnResult({data:c,error:d})}catch(s){if(z(s))return this._returnResult({data:{user:null,session:null},error:s});throw s}}async signInWithOtp(t){var s,r,i,a,o;try{if("email"in t){const{email:l,options:c}=t;let d=null,u=null;this.flowType==="pkce"&&([d,u]=await Ui(this.storage,this.storageKey));const{error:h}=await J(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{email:l,data:(s=c==null?void 0:c.data)!==null&&s!==void 0?s:{},create_user:(r=c==null?void 0:c.shouldCreateUser)!==null&&r!==void 0?r:!0,gotrue_meta_security:{captcha_token:c==null?void 0:c.captchaToken},code_challenge:d,code_challenge_method:u},redirectTo:c==null?void 0:c.emailRedirectTo});return this._returnResult({data:{user:null,session:null},error:h})}if("phone"in t){const{phone:l,options:c}=t,{data:d,error:u}=await J(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{phone:l,data:(i=c==null?void 0:c.data)!==null&&i!==void 0?i:{},create_user:(a=c==null?void 0:c.shouldCreateUser)!==null&&a!==void 0?a:!0,gotrue_meta_security:{captcha_token:c==null?void 0:c.captchaToken},channel:(o=c==null?void 0:c.channel)!==null&&o!==void 0?o:"sms"}});return this._returnResult({data:{user:null,session:null,messageId:d==null?void 0:d.message_id},error:u})}throw new Jc("You must provide either an email or phone number.")}catch(l){if(await it(this.storage,`${this.storageKey}-code-verifier`),z(l))return this._returnResult({data:{user:null,session:null},error:l});throw l}}async verifyOtp(t){var s,r;try{let i,a;"options"in t&&(i=(s=t.options)===null||s===void 0?void 0:s.redirectTo,a=(r=t.options)===null||r===void 0?void 0:r.captchaToken);const{data:o,error:l}=await J(this.fetch,"POST",`${this.url}/verify`,{headers:this.headers,body:Object.assign(Object.assign({},t),{gotrue_meta_security:{captcha_token:a}}),redirectTo:i,xform:ts});if(l)throw l;if(!o)throw new Error("An error occurred on token verification.");const c=o.session,d=o.user;return c!=null&&c.access_token&&(await this._saveSession(c),await this._notifyAllSubscribers(t.type=="recovery"?"PASSWORD_RECOVERY":"SIGNED_IN",c)),this._returnResult({data:{user:d,session:c},error:null})}catch(i){if(z(i))return this._returnResult({data:{user:null,session:null},error:i});throw i}}async signInWithSSO(t){var s,r,i,a,o;try{let l=null,c=null;this.flowType==="pkce"&&([l,c]=await Ui(this.storage,this.storageKey));const d=await J(this.fetch,"POST",`${this.url}/sso`,{body:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},"providerId"in t?{provider_id:t.providerId}:null),"domain"in t?{domain:t.domain}:null),{redirect_to:(r=(s=t.options)===null||s===void 0?void 0:s.redirectTo)!==null&&r!==void 0?r:void 0}),!((i=t==null?void 0:t.options)===null||i===void 0)&&i.captchaToken?{gotrue_meta_security:{captcha_token:t.options.captchaToken}}:null),{skip_http_redirect:!0,code_challenge:l,code_challenge_method:c}),headers:this.headers,xform:xD});return!((a=d.data)===null||a===void 0)&&a.url&&ot()&&!(!((o=t.options)===null||o===void 0)&&o.skipBrowserRedirect)&&window.location.assign(d.data.url),this._returnResult(d)}catch(l){if(await it(this.storage,`${this.storageKey}-code-verifier`),z(l))return this._returnResult({data:null,error:l});throw l}}async reauthenticate(){return await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>await this._reauthenticate())}async _reauthenticate(){try{return await this._useSession(async t=>{const{data:{session:s},error:r}=t;if(r)throw r;if(!s)throw new st;const{error:i}=await J(this.fetch,"GET",`${this.url}/reauthenticate`,{headers:this.headers,jwt:s.access_token});return this._returnResult({data:{user:null,session:null},error:i})})}catch(t){if(z(t))return this._returnResult({data:{user:null,session:null},error:t});throw t}}async resend(t){try{const s=`${this.url}/resend`;if("email"in t){const{email:r,type:i,options:a}=t,{error:o}=await J(this.fetch,"POST",s,{headers:this.headers,body:{email:r,type:i,gotrue_meta_security:{captcha_token:a==null?void 0:a.captchaToken}},redirectTo:a==null?void 0:a.emailRedirectTo});return this._returnResult({data:{user:null,session:null},error:o})}else if("phone"in t){const{phone:r,type:i,options:a}=t,{data:o,error:l}=await J(this.fetch,"POST",s,{headers:this.headers,body:{phone:r,type:i,gotrue_meta_security:{captcha_token:a==null?void 0:a.captchaToken}}});return this._returnResult({data:{user:null,session:null,messageId:o==null?void 0:o.message_id},error:l})}throw new Jc("You must provide either an email or phone number and a type")}catch(s){if(z(s))return this._returnResult({data:{user:null,session:null},error:s});throw s}}async getSession(){return await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>this._useSession(async s=>s))}async _acquireLock(t,s){this._debug("#_acquireLock","begin",t);try{if(this.lockAcquired){const r=this.pendingInLock.length?this.pendingInLock[this.pendingInLock.length-1]:Promise.resolve(),i=(async()=>(await r,await s()))();return this.pendingInLock.push((async()=>{try{await i}catch{}})()),i}return await this.lock(`lock:${this.storageKey}`,t,async()=>{this._debug("#_acquireLock","lock acquired for storage key",this.storageKey);try{this.lockAcquired=!0;const r=s();for(this.pendingInLock.push((async()=>{try{await r}catch{}})()),await r;this.pendingInLock.length;){const i=[...this.pendingInLock];await Promise.all(i),this.pendingInLock.splice(0,i.length)}return await r}finally{this._debug("#_acquireLock","lock released for storage key",this.storageKey),this.lockAcquired=!1}})}finally{this._debug("#_acquireLock","end")}}async _useSession(t){this._debug("#_useSession","begin");try{const s=await this.__loadSession();return await t(s)}finally{this._debug("#_useSession","end")}}async __loadSession(){this._debug("#__loadSession()","begin"),this.lockAcquired||this._debug("#__loadSession()","used outside of an acquired lock!",new Error().stack);try{let t=null;const s=await zn(this.storage,this.storageKey);if(this._debug("#getSession()","session from storage",s),s!==null&&(this._isValidSession(s)?t=s:(this._debug("#getSession()","session from storage is not val
514id"),await this._removeSession())),!t)return{data:{session:null},error:null};const r=t.expires_at?t.expires_at*1e3-Date.now()<Em:!1;if(this._debug("#__loadSession()",`session has${r?"":" not"} expired`,"expires_at",t.expires_at),!r){if(this.userStorage){const o=await zn(this.userStorage,this.storageKey+"-user");o!=null&&o.user?t.user=o.user:t.user=Pm()}if(this.storage.isServer&&t.user&&!t.user.__isUserNotAvailableProxy){const o={value:this.suppressGetSessionWarning};t.user=mD(t.user,o),o.value&&(this.suppressGetSessionWarning=!0)}return{data:{session:t},error:null}}const{data:i,error:a}=await this._callRefreshToken(t.refresh_token);return a?this._returnResult({data:{session:null},error:a}):this._returnResult({data:{session:i},error:null})}finally{this._debug("#__loadSession()","end")}}async getUser(t){if(t)return await this._getUser(t);await this.initializePromise;const s=await this._acquireLock(this.lockAcquireTimeout,async()=>await this._getUser());return s.data.user&&(this.suppressGetSessionWarning=!0),s}async _getUser(t){try{return t?await J(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:t,xform:en}):await this._useSession(async s=>{var r,i,a;const{data:o,error:l}=s;if(l)throw l;return!(!((r=o.session)===null||r===void 0)&&r.access_token)&&!this.hasCustomAuthorizationHeader?{data:{user:null},error:new st}:await J(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:(a=(i=o.session)===null||i===void 0?void 0:i.access_token)!==null&&a!==void 0?a:void 0,xform:en})})}catch(s){if(z(s))return Yc(s)&&(await this._removeSession(),await it(this.storage,`${this.storageKey}-code-verifier`)),this._returnResult({data:{user:null},error:s});throw s}}async updateUser(t,s={}){return await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>await this._updateUser(t,s))}async _updateUser(t,s={}){try{return await this._useSession(async r=>{const{data:i,error:a}=r;if(a)throw a;if(!i.session)throw new st;const o=i.session;let l=null,c=null;this.flowType==="pkce"&&t.email!=null&&([l,c]=await Ui(this.storage,this.storageKey));const{data:d,error:u}=await J(this.fetch,"PUT",`${this.url}/user`,{headers:this.headers,redirectTo:s==null?void 0:s.emailRedirectTo,body:Object.assign(Object.assign({},t),{code_challenge:l,code_challenge_method:c}),jwt:o.access_token,xform:en});if(u)throw u;return o.user=d.user,await this._saveSession(o),await this._notifyAllSubscribers("USER_UPDATED",o),this._returnResult({data:{user:o.user},error:null})})}catch(r){if(await it(this.storage,`${this.storageKey}-code-verifier`),z(r))return this._returnResult({data:{user:null},error:r});throw r}}async setSession(t){return await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>await this._setSession(t))}async _setSession(t){try{if(!t.access_token||!t.refresh_token)throw new st;const s=Date.now()/1e3;let r=s,i=!0,a=null;const{payload:o}=Xc(t.access_token);if(o.exp&&(r=o.exp,i=r<=s),i){const{data:l,error:c}=await this._callRefreshToken(t.refresh_token);if(c)return this._returnResult({data:{user:null,session:null},error:c});if(!l)return{data:{user:null,session:null},error:null};a=l}else{const{data:l,error:c}=await this._getUser(t.access_token);if(c)return this._returnResult({data:{user:null,session:null},error:c});a={access_token:t.access_token,refresh_token:t.refresh_token,user:l.user,token_type:"bearer",expires_in:r-s,expires_at:r},await this._saveSession(a),await this._notifyAllSubscribers("SIGNED_IN",a)}return this._returnResult({data:{user:a.user,session:a},error:null})}catch(s){if(z(s))return this._returnResult({data:{session:null,user:null},error:s});throw s}}async refreshSession(t){return await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>await this._refreshSession(t))}async _refreshSession(t){try{return await this._useSession(async s=>{var r;if(!t){const{data:o,error:l}=s;if(l)throw l;t=(r=o.session)!==null&&r!==void 0?r:void 0}if(!(t!=null&&t.refresh_token))throw new st;const{data:i,error:a}=await this._callRefreshToken(t.refresh_token);return a?this._returnResult({data:{user:null,session:null},error:a}):i?this._returnResult({data:{user:i.user,session:i},error:null}):this._returnResult({data:{user:null,session:null},error:null})})}catch(s){if(z(s))return this._returnResult({data:{user:null,session:null},error:s});throw s}}async _getSessionFromURL(t,s){var r;try{if(!ot())throw new Zc("No browser detected.");
514if(t.error||t.error_description||t.error_code)throw new Zc(t.error_description||"Error in URL with unspecified error_description",{error:t.error||"unspecified_error",code:t.error_code||"unspecified_code"});switch(s){case"implicit":if(this.flowType==="pkce")throw new Yb("Not a valid PKCE flow url.");break;case"pkce":if(this.flowType==="implicit")throw new Zc("Not a valid implicit grant flow url.");break;default:}if(s==="pkce"){if(this._debug("#_initialize()","begin","is PKCE flow",!0),!t.code)throw new Yb("No code detected.");const{data:v,error:j}=await this._exchangeCodeForSession(t.code);if(j)throw j;const k=new URL(window.location.href);return k.searchParams.delete("code"),window.history.replaceState(window.history.state,"",k.toString()),{data:{session:v.session,redirectType:(r=v.redirectType)!==null&&r!==void 0?r:null},error:null}}const{provider_token:i,provider_refresh_token:a,access_token:o,refresh_token:l,expires_in:c,expires_at:d,token_type:u}=t;if(!o||!c||!l||!u)throw new Zc("No session defined in URL");const h=Math.round(Date.now()/1e3),m=parseInt(c);let p=h+m;d&&(p=parseInt(d));const x=p-h;x*1e3<=Ji&&console.warn(`@supabase/gotrue-js: Session as retrieved from URL expires in ${x}s, should have been closer to ${m}s`);const y=p-m;h-y>=120?console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued over 120s ago, URL could be stale",y,p,h):h-y<0&&console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued in the future? Check the device clock for skew",y,p,h);const{data:b,error:f}=await this._getUser(o);if(f)throw f;const g={provider_token:i,provider_refresh_token:a,access_token:o,expires_in:m,expires_at:p,refresh_token:l,token_type:u,user:b.user};return window.location.hash="",this._debug("#_getSessionFromURL()","clearing window.location.hash"),this._returnResult({data:{session:g,redirectType:t.type},error:null})}catch(i){if(z(i))return this._returnResult({data:{session:null,redirectType:null},error:i});throw i}}_isImplicitGrantCallback(t){return typeof this.detectSessionInUrl=="function"?this.detectSessionInUrl(new URL(window.location.href),t):!!(t.access_token||t.error_description)}async _isPKCECallback(t){const s=await zn(this.storage,`${this.storageKey}-code-verifier`);return!!(t.code&&s)}async signOut(t={scope:"global"}){return await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>await this._signOut(t))}async _signOut({scope:t}={scope:"global"}){return await this._useSession(async s=>{var r;const{data:i,error:a}=s;
514if(a&&!Yc(a))return this._returnResult({error:a});const o=(r=i.session)===null||r===void 0?void 0:r.access_token;if(o){const{error:l}=await this.admin.signOut(o,t);if(l&&!(zM(l)&&(l.status===404||l.status===401||l.status===403)||Yc(l)))return this._returnResult({error:l})}return t!=="others"&&(await this._removeSession(),await it(this.storage,`${this.storageKey}-code-verifier`)),this._returnResult({error:null})})}onAuthStateChange(t){const s=QM(),r={id:s,callback:t,unsubscribe:()=>{this._debug("#unsubscribe()","state change callback with id removed",s),this.stateChangeEmitters.delete(s)}};return this._debug("#onAuthStateChange()","registered callback with id",s),this.stateChangeEmitters.set(s,r),(async()=>(await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>{this._emitInitialSession(s)})))(),{data:{subscription:r}}}async _emitInitialSession(t){return await this._useSession(async s=>{var r,i;try{const{data:{session:a},error:o}=s;if(o)throw o;await((r=this.stateChangeEmitters.get(t))===null||r===void 0?void 0:r.callback("INITIAL_SESSION",a)),this._debug("INITIAL_SESSION","callback id",t,"session",a)}catch(a){await((i=this.stateChangeEmitters.get(t))===null||i===void 0?void 0:i.callback("INITIAL_SESSION",null)),this._debug("INITIAL_SESSION","callback id",t,"error",a),Yc(a)?console.warn(a):console.error(a)}})}async resetPasswordForEmail(t,s={}){let r=null,i=null;this.flowType==="pkce"&&([r,i]=await Ui(this.storage,this.storageKey,!0));try{return await J(this.fetch,"POST",`${this.url}/recover`,{body:{email:t,code_challenge:r,code_challenge_method:i,gotrue_meta_security:{captcha_token:s.captchaToken}},headers:this.headers,redirectTo:s.redirectTo})}catch(a){if(await it(this.storage,`${this.storageKey}-code-verifier`),z(a))return this._returnResult({data:null,error:a});throw a}}async getUserIdentities(){var t;try{const{data:s,error:r}=await this.getUser();if(r)throw r;return this._returnResult({data:{identities:(t=s.user.identities)!==null&&t!==void 0?t:[]},error:null})}catch(s){if(z(s))return this._returnResult({data:null,error:s});throw s}}async linkIdentity(t){return"token"in t?this.linkIdentityIdToken(t):this.linkIdentityOAuth(t)}async linkIdentityOAuth(t){var s;try{const{data:r,error:i}=await this._useSession(async a=>{var o,l,c,d,u;const{data:h,error:m}=a;if(m)throw m;const p=await this._getUrlForProvider(`${this.url}/user/identities/authorize`,t.provider,{redirectTo:(o=t.options)===null||o===void 0?void 0:o.redirectTo,scopes:(l=t.options)===null||l===void 0?void 0:l.scopes,queryParams:(c=t.options)===null||c===void 0?void 0:c.queryParams,skipBrowserRedirect:!0});return await J(this.fetch,"GET",p,{headers:this.headers,jwt:(u=(d=h.session)===null||d===void 0?void 0:d.access_token)!==null&&u!==void 0?u:void 0})});if(i)throw i;return ot()&&!(!((s=t.options)===null||s===void 0)&&s.skipBrowserRedirect)&&window.location.assign(r==null?void 0:r.url),this._returnResult({data:{provider:t.provider,url:r==null?void 0:r.url},error:null})}catch(r){if(z(r))return this._returnResult({data:{provider:t.provider,url:null},error:r});throw r}}async linkIdentityIdToken(t){return await this._useSession(async s=>{var r;try{const{error:i,data:{session:a}}=s;if(i)throw i;const{options:o,provider:l,token:c,access_token:d,nonce:u}=t,h=await J(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,jwt:(r=a==null?void 0:a.access_token)!==null&&r!==void 0?r:void 0,body:{provider:l,id_token:c,access_token:d,nonce:u,link_identity:!0,gotrue_meta_security:{captcha_token:o==null?void 0:o.captchaToken}},xform:ts}),{data:m,error:p}=h;return p?this._returnResult({data:{user:null,session:null},error:p}):!m||!m.session||!m.user?this._returnResult({data:{user:null,session:null},error:new Bi}):(m.session&&(await this._saveSession(m.session),await this._notifyAllSubscribers("USER_UPDATED",m.session)),this._returnResult({data:m,error:p}))}catch(i){if(await it(this.storage,`${this.storageKey}-code-verifier`),z(i))return this._returnResult({data:{user:null,session:null},error:i});throw i}})}async unlinkIdentity(t){try{return await this._useSession(async s=>{var r,i;const{data:a,error:o}=s;
514if(o)throw o;return await J(this.fetch,"DELETE",`${this.url}/user/identities/${t.identity_id}`,{headers:this.headers,jwt:(i=(r=a.session)===null||r===void 0?void 0:r.access_token)!==null&&i!==void 0?i:void 0})})}catch(s){if(z(s))return this._returnResult({data:null,error:s});throw s}}async _refreshAccessToken(t){const s=`#_refreshAccessToken(${t.substring(0,5)}...)`;this._debug(s,"begin");try{const r=Date.now();return await rD(async i=>(i>0&&await sD(200*Math.pow(2,i-1)),this._debug(s,"refreshing attempt",i),await J(this.fetch,"POST",`${this.url}/token?grant_type=refresh_token`,{body:{refresh_token:t},headers:this.headers,xform:ts})),(i,a)=>{const o=200*Math.pow(2,i);return a&&Tm(a)&&Date.now()+o-r<Ji})}catch(r){if(this._debug(s,"error",r),z(r))return this._returnResult({data:{session:null,user:null},error:r});throw r}finally{this._debug(s,"end")}}_isValidSession(t){return typeof t=="object"&&t!==null&&"access_token"in t&&"refresh_token"in t&&"expires_at"in t}async _handleProviderSignIn(t,s){const r=await this._getUrlForProvider(`${this.url}/authorize`,t,{redirectTo:s.redirectTo,scopes:s.scopes,queryParams:s.queryParams});return this._debug("#_handleProviderSignIn()","provider",t,"options",s,"url",r),ot()&&!s.skipBrowserRedirect&&window.location.assign(r),{data:{provider:t,url:r},error:null}}async _recoverAndRefresh(){var t,s;const r="#_recoverAndRefresh()";this._debug(r,"begin");try{const i=await zn(this.storage,this.storageKey);if(i&&this.userStorage){let o=await zn(this.userStorage,this.storageKey+"-user");!this.storage.isServer&&Object.is(this.storage,this.userStorage)&&!o&&(o={user:i.user},await Zi(this.userStorage,this.storageKey+"-user",o)),i.user=(t=o==null?void 0:o.user)!==null&&t!==void 0?t:Pm()}else if(i&&!i.user&&!i.user){const o=await zn(this.storage,this.storageKey+"-user");o&&(o!=null&&o.user)?(i.user=o.user,await it(this.storage,this.storageKey+"-user"),await Zi(this.storage,this.storageKey,i)):i.user=Pm()}if(this._debug(r,"session from storage",i),!this._isValidSession(i)){this._debug(r,"session is not valid"),i!==null&&await this._removeSession();return}const a=((s=i.expires_at)!==null&&s!==void 0?s:1/0)*1e3-Date.now()<Em;if(this._debug(r,`session has${a?"":" not"} expired with margin of ${Em}s`),a){if(this.autoRefreshToken&&i.refresh_token){const{error:o}=await this._callRefreshToken(i.refresh_token);o&&(console.error(o),Tm(o)||(this._debug(r,"refresh failed with a non-retryable error, removing the session",o),await this._removeSession()))}}else if(i.user&&i.user.__isUserNotAvailableProxy===!0)try{const{data:o,error:l}=await this._getUser(i.access_token);!l&&(o!=null&&o.user)?(i.user=o.user,await this._saveSession(i),await this._notifyAllSubscribers("SIGNED_IN",i)):this._debug(r,"could not get user data, skipping SIGNED_IN notification")}catch(o){console.error("Error getting user data:",o),this._debug(r,"error getting user data, skipping SIGNED_IN notification",o)}else await this._notifyAllSubscribers("SIGNED_IN",i)}catch(i){this._debug(r,"error",i),console.error(i);return}finally{this._debug(r,"end")}}async _callRefreshToken(t){var s,r;if(!t)throw new st;if(this.refreshingDeferred)return this.refreshingDeferred.promise;const i=`#_callRefreshToken(${t.substring(0,5)}...)`;this._debug(i,"begin");try{this.refreshingDeferred=new Ph;const{data:a,error:o}=await this._refreshAccessToken(t);if(o)throw o;if(!a.session)throw new st;await this._saveSession(a.session),await this._notifyAllSubscribers("TOKEN_REFRESHED",a.session);const l={data:a.session,error:null};return this.refreshingDeferred.resolve(l),l}catch(a){if(this._debug(i,"error",a),z(a)){const o={data:null,error:a};return Tm(a)||await this._removeSession(),(s=this.refreshingDeferred)===null||s===void 0||s.resolve(o),o}throw(r=this.refreshingDeferred)===null||r===void 0||r.reject(a),a}finally{this.refreshingDeferred=null,this._debug(i,"end")}}async _notifyAllSubscribers(t,s,r=!0){const i=`#_notifyAllSubscribers(${t})`;this._debug(i,"begin",s,`broadcast = ${r}`);try{this.broadcastChannel&&r&&this.broadcastChannel.postMessage({event:t,session:s});const a=[],o=Array.from(this.stateChangeEmitters.values()).map(async l=>{try{await l.callback(t,s)}catch(c){a.push(c)}});if(await Promise.all(o),a.length>0){for(let l=0;l<a.length;l+=1)console.error(a[l]);throw a[0]}}finally{this._debug(i,"end")}}async _saveSession(t){this._debug("#_saveSession()",t),this.suppressGetSessionWarning=!0,await it(this.storage,`${this.storageKey}-code-verifier`);const s=Object.assign({},t),r=s.user&&s.user.__isUserNotAvailableProxy===!0;if(this.userStorage){!r&&s.user&&await Zi(this.userStorage,this.storageKey+"-user",{user:s.user});const i=Object.assign({},s);delete i.user;const a=e0(i);await Zi(this.storage,this.storageKey,a)}else{const i=e0(s);await Zi(this.storage,this.storageKey,i)}}async _removeSession(){this._debug("#_removeSession()"),this.suppressGetSessionWarning=!1,await it(this.storage,this.storageKey),await it(this.storage,this.storageKey+"-code-verifier"),await it(this.storage,this.storageKey+"-user"),this.userStorage&&await it(this.userStorage,this.storageKey+"-user"),await this._notifyAllSubscribers("SIGNED_OUT",null)}_removeVisibilityChangedCallback(){this._debug("#_removeVisibilityChangedCallback()");const t=this.visibilityChangedCallback;this.visibilityChangedCallback=null;try{t&&ot()&&(window!=null&&window.removeEventListener)&&window.removeEventListener("visibilitychange",t)}
514catch(s){console.error("removing visibilitychange callback failed",s)}}async _startAutoRefresh(){await this._stopAutoRefresh(),this._debug("#_startAutoRefresh()");const t=setInterval(()=>this._autoRefreshTokenTick(),Ji);this.autoRefreshTicker=t,t&&typeof t=="object"&&typeof t.unref=="function"?t.unref():typeof Deno<"u"&&typeof Deno.unrefTimer=="function"&&Deno.unrefTimer(t);const s=setTimeout(async()=>{await this.initializePromise,await this._autoRefreshTokenTick()},0);this.autoRefreshTickTimeout=s,s&&typeof s=="object"&&typeof s.unref=="function"?s.unref():typeof Deno<"u"&&typeof Deno.unrefTimer=="function"&&Deno.unrefTimer(s)}async _stopAutoRefresh(){this._debug("#_stopAutoRefresh()");const t=this.autoRefreshTicker;this.autoRefreshTicker=null,t&&clearInterval(t);const s=this.autoRefreshTickTimeout;this.autoRefreshTickTimeout=null,s&&clearTimeout(s)}async startAutoRefresh(){this._removeVisibilityChangedCallback(),await this._startAutoRefresh()}async stopAutoRefresh(){this._removeVisibilityChangedCallback(),await this._stopAutoRefresh()}async _autoRefreshTokenTick(){this._debug("#_autoRefreshTokenTick()","begin");try{await this._acquireLock(0,async()=>{try{const t=Date.now();try{return await this._useSession(async s=>{const{data:{session:r}}=s;if(!r||!r.refresh_token||!r.expires_at){this._debug("#_autoRefreshTokenTick()","no session");return}const i=Math.floor((r.expires_at*1e3-t)/Ji);this._debug("#_autoRefreshTokenTick()",`access token expires in ${i} ticks, a tick lasts ${Ji}ms, refresh threshold is ${Pf} ticks`),i<=Pf&&await this._callRefreshToken(r.refresh_token)})}catch(s){console.error("Auto refresh tick failed with error. This is likely a transient error.",s)}}finally{this._debug("#_autoRefreshTokenTick()","end")}})}catch(t){if(t instanceof lS)this._debug("auto refresh token tick lock not available");else throw t}}async _handleVisibilityChange(){if(this._debug("#_handleVisibilityChange()"),!ot()||!(window!=null&&window.addEventListener))return this.autoRefreshToken&&this.startAutoRefresh(),!1;try{this.visibilityChangedCallback=async()=>{try{await this._onVisibilityChanged(!1)}catch(t){this._debug("#visibilityChangedCallback","error",t)}},window==null||window.addEventListener("visibilitychange",this.visibilityChangedCallback),await this._onVisibilityChanged(!0)}catch(t){console.error("_handleVisibilityChange",t)}}async _onVisibilityChanged(t){const s=`#_onVisibilityChanged(${t})`;this._debug(s,"visibilityState",document.visibilityState),document.visibilityState==="visible"?(this.autoRefreshToken&&this._startAutoRefresh(),t||(await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>{if(document.visibilityState!=="visible"){this._debug(s,"acquired the lock to recover the session, but the browser visibilityState is no longer visible, aborting");return}await this._recoverAndRefresh()}))):document.visibilityState==="hidden"&&this.autoRefreshToken&&this._stopAutoRefresh()}async _getUrlForProvider(t,s,r){const i=[`provider=${encodeURIComponent(s)}`];if(r!=null&&r.redirectTo&&i.push(`redirect_to=${encodeURIComponent(r.redirectTo)}`),r!=null&&r.scopes&&i.push(`scopes=${encodeURIComponent(r.scopes)}`),this.flowType==="pkce"){const[a,o]=await Ui(this.storage,this.storageKey),l=new URLSearchParams({code_challenge:`${encodeURIComponent(a)}`,code_challenge_method:`${encodeURIComponent(o)}`});i.push(l.toString())}if(r!=null&&r.queryParams){const a=new URLSearchParams(r.queryParams);i.push(a.toString())}return r!=null&&r.skipBrowserRedirect&&i.push(`skip_http_redirect=${r.skipBrowserRedirect}`),`${t}?${i.join("&")}`}async _unenroll(t){try{return await this._useSession(async s=>{var r;const{data:i,error:a}=s;return a?this._returnResult({data:null,error:a}):await J(this.fetch,"DELETE",`${this.url}/factors/${t.factorId}`,{headers:this.headers,jwt:(r=i==null?void 0:i.session)===null||r===void 0?void 0:r.access_token})})}catch(s){if(z(s))return this._returnResult({data:null,error:s});throw s}}async _enroll(t){try{return await this._useSession(async s=>{var r,i;const{data:a,error:o}=s;if(o)return this._returnResult({data:null,error:o});const l=Object.assign({friendly_name:t.friendlyName,factor_type:t.factorType},t.factorType==="phone"?{phone:t.phone}:t.factorType==="totp"?{issuer:t.issuer}:{}),{data:c,error:d}=await J(this.fetch,"POST",`${this.url}/factors`,{body:l,headers:this.headers,jwt:(r=a==null?void 0:a.session)===null||r===void 0?void 0:r.access_token});return d?this._returnResult({data:null,error:d}):(t.factorType==="totp"&&c.type==="totp"&&(!((i=c==null?void 0:c.totp)===null||i===void 0)&&i.qr_code)&&(c.totp.qr_code=`data:image/svg+xml;utf-8,${c.totp.qr_code}`),this._returnResult({data:c,error:null}))})}catch(s){if(z(s))return this._returnResult({data:null,error:s});throw s}}async _verify(t){return this._acquireLock(this.lockAcquireTimeout,async()=>{try{return await this._useSession(async s=>{var r;const{data:i,error:a}=s;
514if(a)return this._returnResult({data:null,error:a});const o=Object.assign({challenge_id:t.challengeId},"webauthn"in t?{webauthn:Object.assign(Object.assign({},t.webauthn),{credential_response:t.webauthn.type==="create"?l0(t.webauthn.credential_response):c0(t.webauthn.credential_response)})}:{code:t.code}),{data:l,error:c}=await J(this.fetch,"POST",`${this.url}/factors/${t.factorId}/verify`,{body:o,headers:this.headers,jwt:(r=i==null?void 0:i.session)===null||r===void 0?void 0:r.access_token});return c?this._returnResult({data:null,error:c}):(await this._saveSession(Object.assign({expires_at:Math.round(Date.now()/1e3)+l.expires_in},l)),await this._notifyAllSubscribers("MFA_CHALLENGE_VERIFIED",l),this._returnResult({data:l,error:c}))})}catch(s){if(z(s))return this._returnResult({data:null,error:s});throw s}})}async _challenge(t){return this._acquireLock(this.lockAcquireTimeout,async()=>{try{return await this._useSession(async s=>{var r;const{data:i,error:a}=s;if(a)return this._returnResult({data:null,error:a});const o=await J(this.fetch,"POST",`${this.url}/factors/${t.factorId}/challenge`,{body:t,headers:this.headers,jwt:(r=i==null?void 0:i.session)===null||r===void 0?void 0:r.access_token});if(o.error)return o;const{data:l}=o;if(l.type!=="webauthn")return{data:l,error:null};switch(l.webauthn.type){case"create":return{data:Object.assign(Object.assign({},l),{webauthn:Object.assign(Object.assign({},l.webauthn),{credential_options:Object.assign(Object.assign({},l.webauthn.credential_options),{publicKey:a0(l.webauthn.credential_options.publicKey)})})}),error:null};case"request":return{data:Object.assign(Object.assign({},l),{webauthn:Object.assign(Object.assign({},l.webauthn),{credential_options:Object.assign(Object.assign({},l.webauthn.credential_options),{publicKey:o0(l.webauthn.credential_options.publicKey)})})}),error:null}}})}catch(s){if(z(s))return this._returnResult({data:null,error:s});throw s}})}async _challengeAndVerify(t){const{data:s,error:r}=await this._challenge({factorId:t.factorId});return r?this._returnResult({data:null,error:r}):await this._verify({factorId:t.factorId,challengeId:s.id,code:t.code})}async _listFactors(){var t;const{data:{user:s},error:r}=await this.getUser();if(r)return{data:null,error:r};const i={all:[],phone:[],totp:[],webauthn:[]};for(const a of(t=s==null?void 0:s.factors)!==null&&t!==void 0?t:[])i.all.push(a),a.status==="verified"&&i[a.factor_type].push(a);return{data:i,error:null}}async _getAuthenticatorAssuranceLevel(t){var s,r,i,a;if(t)try{const{payload:p}=Xc(t);let x=null;p.aal&&(x=p.aal);let y=x;const{data:{user:b},error:f}=await this.getUser(t);if(f)return this._returnResult({data:null,error:f});((r=(s=b==null?void 0:b.factors)===null||s===void 0?void 0:s.filter(j=>j.status==="verified"))!==null&&r!==void 0?r:[]).length>0&&(y="aal2");const v=p.amr||[];return{data:{currentLevel:x,nextLevel:y,currentAuthenticationMethods:v},error:null}}catch(p){if(z(p))return this._returnResult({data:null,error:p});throw p}const{data:{session:o},error:l}
514=await this.getSession();if(l)return this._returnResult({data:null,error:l});if(!o)return{data:{currentLevel:null,nextLevel:null,currentAuthenticationMethods:[]},error:null};const{payload:c}=Xc(o.access_token);let d=null;c.aal&&(d=c.aal);let u=d;((a=(i=o.user.factors)===null||i===void 0?void 0:i.filter(p=>p.status==="verified"))!==null&&a!==void 0?a:[]).length>0&&(u="aal2");const m=c.amr||[];return{data:{currentLevel:d,nextLevel:u,currentAuthenticationMethods:m},error:null}}async _getAuthorizationDetails(t){try{return await this._useSession(async s=>{const{data:{session:r},error:i}=s;return i?this._returnResult({data:null,error:i}):r?await J(this.fetch,"GET",`${this.url}/oauth/authorizations/${t}`,{headers:this.headers,jwt:r.access_token,xform:a=>({data:a,error:null})}):this._returnResult({data:null,error:new st})})}catch(s){if(z(s))return this._returnResult({data:null,error:s});throw s}}async _approveAuthorization(t,s){try{return await this._useSession(async r=>{const{data:{session:i},error:a}=r;if(a)return this._returnResult({data:null,error:a});if(!i)return this._returnResult({data:null,error:new st});const o=await J(this.fetch,"POST",`${this.url}/oauth/authorizations/${t}/consent`,{headers:this.headers,jwt:i.access_token,body:{action:"approve"},xform:l=>({data:l,error:null})});return o.data&&o.data.redirect_url&&ot()&&!(s!=null&&s.skipBrowserRedirect)&&window.location.assign(o.data.redirect_url),o})}catch(r){if(z(r))return this._returnResult({data:null,error:r});throw r}}async _denyAuthorization(t,s){try{return await this._useSession(async r=>{const{data:{session:i},error:a}=r;if(a)return this._returnResult({data:null,error:a});if(!i)return this._returnResult({data:null,error:new st});const o=await J(this.fetch,"POST",`${this.url}/oauth/authorizations/${t}/consent`,{headers:this.headers,jwt:i.access_token,body:{action:"deny"},xform:l=>({data:l,error:null})});return o.data&&o.data.redirect_url&&ot()&&!(s!=null&&s.skipBrowserRedirect)&&window.location.assign(o.data.redirect_url),o})}catch(r){if(z(r))return this._returnResult({data:null,error:r});throw r}}async _listOAuthGrants(){try{return await this._useSession(async t=>{const{data:{session:s},error:r}=t;return r?this._returnResult({data:null,error:r}):s?await J(this.fetch,"GET",`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:s.access_token,xform:i=>({data:i,error:null})}):this._returnResult({data:null,error:new st})})}catch(t){if(z(t))return this._returnResult({data:null,error:t});throw t}}async _revokeOAuthGrant(t){try{return await this._useSession(async s=>{const{data:{session:r},error:i}=s;return i?this._returnResult({data:null,error:i}):r?(await J(this.fetch,"DELETE",`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:r.access_token,query:{client_id:t.clientId},noResolveJson:!0}),{data:{},error:null}):this._returnResult({data:null,error:new st})})}catch(s){if(z(s))return this._returnResult({data:null,error:s});throw s}}async fetchJwk(t,s={keys:[]}){let r=s.keys.find(l=>l.kid===t);if(r)return r;const i=Date.now();if(r=this.jwks.keys.find(l=>l.kid===t),r&&this.jwks_cached_at+WM>i)return r;const{data:a,error:o}=await J(this.fetch,"GET",`${this.url}/.well-known/jwks.json`,{headers:this.headers});if(o)throw o;return!a.keys||a.keys.length===0||(this.jwks=a,this.jwks_cached_at=i,r=a.keys.find(l=>l.kid===t),!r)?null:r}async getClaims(t,s={}){try{let r=t;if(!r){const{data:p,error:x}
514=await this.getSession();if(x||!p.session)return this._returnResult({data:null,error:x});r=p.session.access_token}const{header:i,payload:a,signature:o,raw:{header:l,payload:c}}=Xc(r);s!=null&&s.allowExpired||dD(a.exp);const d=!i.alg||i.alg.startsWith("HS")||!i.kid||!("crypto"in globalThis&&"subtle"in globalThis.crypto)?null:await this.fetchJwk(i.kid,s!=null&&s.keys?{keys:s.keys}:s==null?void 0:s.jwks);if(!d){const{error:p}=await this.getUser(r);if(p)throw p;return{data:{claims:a,header:i,signature:o},error:null}}const u=uD(i.alg),h=await crypto.subtle.importKey("jwk",d,u,!0,["verify"]);if(!await crypto.subtle.verify(u,h,o,ZM(`${l}.${c}`)))throw new Of("Invalid JWT signature");return{data:{claims:a,header:i,signature:o},error:null}}catch(r){if(z(r))return this._returnResult({data:null,error:r});throw r}}async signInWithPasskey(t){var s,r,i;bs(this.experimental);try{if(!Cu())return this._returnResult({data:null,error:new Ts("Browser does not support WebAuthn",null)});const{data:a,error:o}=await this._startPasskeyAuthentication({options:{captchaToken:(s=t==null?void 0:t.options)===null||s===void 0?void 0:s.captchaToken}});if(o||!a)return this._returnResult({data:null,error:o});const l=o0(a.options),c=(i=(r=t==null?void 0:t.options)===null||r===void 0?void 0:r.signal)!==null&&i!==void 0?i:Mf.createNewAbortSignal(),{data:d,error:u}=await hS({publicKey:l,signal:c});if(u||!d)return this._returnResult({data:null,error:u??new Ts("WebAuthn ceremony failed",null)});const h=c0(d);return this._verifyPasskeyAuthentication({challengeId:a.challenge_id,credential:h})}catch(a){if(z(a))return this._returnResult({data:null,error:a});throw a}}async registerPasskey(t){var s,r;bs(this.experimental);try{if(!Cu())return this._returnResult({data:null,error:new Ts("Browser does not support WebAuthn",null)});const{data:i,error:a}=await this._startPasskeyRegistration();if(a||!i)return this._returnResult({data:null,error:a});const o=a0(i.options),l=(r=(s=t==null?void 0:t.options)===null||s===void 0?void 0:s.signal)!==null&&r!==void 0?r:Mf.createNewAbortSignal(),{data:c,error:d}=await uS({publicKey:o,signal:l});if(d||!c)return this._returnResult({data:null,error:d??new Ts("WebAuthn ceremony failed",null)});const u=l0(c);return this._verifyPasskeyRegistration({challengeId:i.challenge_id,credential:u})}catch(i){if(z(i))return this._returnResult({data:null,error:i});throw i}}async _startPasskeyRegistration(){bs(this.experimental);try{return await this._useSession(async t=>{const{data:{session:s},error:r}=t;if(r)return this._returnResult({data:null,error:r});if(!s)return this._returnResult({data:null,error:new st});const{data:i,error:a}=await J(this.fetch,"POST",`${this.url}/passkeys/registration/options`,{headers:this.headers,jwt:s.access_token,body:{}});return a?this._returnResult({data:null,error:a}):this._returnResult({data:i,error:null})})}catch(t){if(z(t))return this._returnResult({data:null,error:t});throw t}}async _verifyPasskeyRegistration(t){bs(this.experimental);try{return await this._useSession(async s=>{const{data:{session:r},error:i}=s;if(i)return this._returnResult({data:null,error:i});if(!r)return this._returnResult({data:null,error:new st});const{data:a,error:o}=await J(this.fetch,"POST",`${this.url}/passkeys/registration/verify`,{headers:this.headers,jwt:r.access_token,body:{challenge_id:t.challengeId,credential:t.credential}});return o?this._returnResult({data:null,error:o}):this._returnResult({data:a,error:null})})}catch(s){if(z(s))return this._returnResult({data:null,error:s});throw s}}async _startPasskeyAuthentication(t){var s;bs(this.experimental);try{const{data:r,error:i}=await J(this.fetch,"POST",`${this.url}/passkeys/authentication/options`,{headers:this.headers,body:{gotrue_meta_security:{captcha_token:(s=t==null?void 0:t.options)===null||s===void 0?void 0:s.captchaToken}}});return i?this._returnResult({data:null,error:i}):this._returnResult({data:r,error:null})}catch(r){if(z(r))return this._returnResult({data:null,error:r});throw r}}async _verifyPasskeyAuthentication(t){bs(this.experimental);try{const{data:s,error:r}=await J(this.fetch,"POST",`${this.url}/passkeys/authentication/verify`,{headers:this.headers,body:{challenge_id:t.challengeId,credential:t.credential},xform:ts});return r?this._returnResult({data:null,error:r}):(s.session&&(await this._saveSession(s.session),await this._notifyAllSubscribers("SIGNED_IN",s.session)),this._returnResult({data:s,error:null}))}catch(s){if(z(s))return this._returnResult({data:null,error:s});throw s}}async _listPasskeys(){bs(this.experimental);try{return await this._useSession(async t=>{const{data:{session:s},error:r}=t;if(r)return this._returnResult({data:null,error:r});if(!s)return this._returnResult({data:null,error:new st});const{data:i,error:a}=await J(this.fetch,"GET",`${this.url}/passkeys`,{headers:this.headers,jwt:s.access_token,xform:o=>({data:o,error:null})});return a?this._returnResult({data:null,error:a}):this._returnResult({data:i,error:null})})}catch(t){if(z(t))return this._returnResult({data:null,error:t});throw t}}async _updatePasskey(t){bs(this.experimental);try{return await this._useSession(async s=>{const{data:{session:r},error:i}=s;if(i)return this._returnResult({data:null,error:i});if(!r)return this._returnResult({data:null,error:new st});const{data:a,error:o}=await J(this.fetch,"PATCH",`${this.url}/passkeys/${t.passkeyId}`,{headers:this.headers,jwt:r.access_token,body:{friendly_name:t.friendlyName}});return o?this._returnResult({data:null,error:o}):this._returnResult({data:a,error:null})})}catch(s){if(z(s))return this._returnResult({data:null,error:s});throw s}}async _deletePasskey(t){bs(this.experimental);try{return await this._useSession(async s=>{const{data:{session:r},error:i}=s;if(i)return this._returnResult({data:null,error:i});if(!r)return this._returnResult({data:null,error:new st});const{error:a}
514=await J(this.fetch,"DELETE",`${this.url}/passkeys/${t.passkeyId}`,{headers:this.headers,jwt:r.access_token,noResolveJson:!0});return a?this._returnResult({data:null,error:a}):this._returnResult({data:null,error:null})})}catch(s){if(z(s))return this._returnResult({data:null,error:s});throw s}}}Fl.nextInstanceID={};const MD=Fl,DD="2.105.4";let zo="";typeof Deno<"u"?zo="deno":typeof document<"u"?zo="web":typeof navigator<"u"&&navigator.product==="ReactNative"?zo="react-native":zo="node";const LD={"X-Client-Info":`supabase-js-${zo}/${DD}`},$D={headers:LD},FD={schema:"public"},BD={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:"implicit"},UD={};function Bl(e){"@babel/helpers - typeof";return Bl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Bl(e)}function WD(e,t){if(Bl(e)!="object"||!e)return e;var s=e[Symbol.toPrimitive];if(s!==void 0){var r=s.call(e,t||"default");if(Bl(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function VD(e){var t=WD(e,"string");return Bl(t)=="symbol"?t:t+""}function zD(e,t,s){return(t=VD(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function u0(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),s.push.apply(s,r)}return s}function Fe(e){for(var t=1;t<arguments.length;t++){var s=arguments[t]!=null?arguments[t]:{};t%2?u0(Object(s),!0).forEach(function(r){zD(e,r,s[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):u0(Object(s)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(s,r))})}return e}const HD=e=>e?(...t)=>e(...t):(...t)=>fetch(...t),qD=()=>Headers,GD=(e,t,s)=>{const r=HD(s),i=qD();return async(a,o)=>{var l;const c=(l=await t())!==null&&l!==void 0?l:e;let d=new i(o==null?void 0:o.headers);return d.has("apikey")||d.set("apikey",e),d.has("Authorization")||d.set("Authorization",`Bearer ${c}`),r(a,Fe(Fe({},o),{},{headers:d}))}};function KD(e){return e.endsWith("/")?e:e+"/"}function YD(e,t){var s,r;const{db:i,auth:a,realtime:o,global:l}=e,{db:c,auth:d,realtime:u,global:h}=t,m={db:Fe(Fe({},c),i),auth:Fe(Fe({},d),a),realtime:Fe(Fe({},u),o),storage:{},global:Fe(Fe(Fe({},h),l),{},{headers:Fe(Fe({},(s=h==null?void 0:h.headers)!==null&&s!==void 0?s:{}),(r=l==null?void 0:l.headers)!==null&&r!==void 0?r:{})}),accessToken:async()=>""};return e.accessToken?m.accessToken=e.accessToken:delete m.accessToken,m}function JD(e){const t=e==null?void 0:e.trim();if(!t)throw new Error("supabaseUrl is required.");if(!t.match(/^https?:\/\//i))throw new Error("Invalid supabaseUrl: Must be a valid HTTP or HTTPS URL.");try{return new URL(KD(t))}catch{throw Error("Invalid supabaseUrl: Provided URL is malformed.")}}var ZD=class extends MD{constructor(e){super(e)}},XD=class{constructor(e,t,s){var r,i;this.supabaseUrl=e,this.supabaseKey=t;const a=JD(e);if(!t)throw new Error("supabaseKey is required.");this.realtimeUrl=new URL("realtime/v1",a),this.realtimeUrl.protocol=this.realtimeUrl.protocol.replace("http","ws"),this.authUrl=new URL("auth/v1",a),this.storageUrl=new URL("storage/v1",a),this.functionsUrl=new URL("functions/v1",a);const o=`sb-${a.hostname.split(".")[0]}-auth-token`,l={db:FD,realtime:UD,auth:Fe(Fe({},BD),{},{storageKey:o}),global:$D},c=YD(s??{},l);if(this.storageKey=(r=c.auth.storageKey)!==null&&r!==void 0?r:"",this.headers=(i=c.global.headers)!==null&&i!==void 0?i:{},c.accessToken)this.accessToken=c.accessToken,this.auth=new Proxy({},{get:(u,h)=>{throw new Error(`@supabase/supabase-js: Supabase Client is configured with the accessToken option, accessing supabase.auth.${String(h)} is not possible`)}});else{var d;this.auth=this._initSupabaseAuthClient((d=c.auth)!==null&&d!==void 0?d:{},this.headers,c.global.fetch)}this.fetch=GD(t,this._getAccessToken.bind(this),c.global.fetch),this.realtime=this._initRealtimeClient(Fe({headers:this.headers,accessToken:this._getAccessToken.bind(this),fetch:this.fetch},c.realtime)),this.accessToken&&Promise.resolve(this.accessToken()).then(u=>this.realtime.setAuth(u)).catch(u=>console.warn("Failed to set initial Realtime auth token:",u)),this.rest=new N6(new URL("rest/v1",a).href,{headers:this.headers,schema:c.db.schema,fetch:this.fetch,timeout:c.db.timeout,urlLengthLimit:c.db.urlLengthLimit}),this.storage=new LM(this.storageUrl.href,this.headers,this.fetch,s==null?void 0:s.storage),c.accessToken||this._listenForAuthEvents()}get functions(){return new p6(this.functionsUrl.href,{headers:this.headers,customFetch:this.fetch})}from(e){return this.rest.from(e)}schema(e){return this.rest.schema(e)}rpc(e,t={},s={head:!1,get:!1,count:void 0}){return this.rest.rpc(e,t,s)}
514channel(e,t={config:{}}){return this.realtime.channel(e,t)}getChannels(){return this.realtime.getChannels()}removeChannel(e){return this.realtime.removeChannel(e)}removeAllChannels(){return this.realtime.removeAllChannels()}async _getAccessToken(){var e=this,t,s;if(e.accessToken)return await e.accessToken();const{data:r}=await e.auth.getSession();return(t=(s=r.session)===null||s===void 0?void 0:s.access_token)!==null&&t!==void 0?t:e.supabaseKey}_initSupabaseAuthClient({autoRefreshToken:e,persistSession:t,detectSessionInUrl:s,storage:r,userStorage:i,storageKey:a,flowType:o,lock:l,debug:c,throwOnError:d,experimental:u,lockAcquireTimeout:h,skipAutoInitialize:m},p,x){const y={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new ZD({url:this.authUrl.href,headers:Fe(Fe({},y),p),storageKey:a,autoRefreshToken:e,persistSession:t,detectSessionInUrl:s,storage:r,userStorage:i,flowType:o,lock:l,debug:c,throwOnError:d,experimental:u,fetch:x,lockAcquireTimeout:h,skipAutoInitialize:m,hasCustomAuthorizationHeader:Object.keys(this.headers).some(b=>b.toLowerCase()==="authorization")})}_initRealtimeClient(e){return new aM(this.realtimeUrl.href,Fe(Fe({},e),{},{params:Fe(Fe({},{apikey:this.supabaseKey}),e==null?void 0:e.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((e,t)=>{this._handleTokenChanged(e,"CLIENT",t==null?void 0:t.access_token)})}_handleTokenChanged(e,t,s){(e==="TOKEN_REFRESHED"||e==="SIGNED_IN")&&this.changedAccessToken!==s?(this.changedAccessToken=s,this.realtime.setAuth(s)):e==="SIGNED_OUT"&&(this.realtime.setAuth(),t=="STORAGE"&&this.auth.signOut(),this.changedAccessToken=void 0)}};const QD=(e,t,s)=>new XD(e,t,s);function eL(){if(typeof window<"u")return!1;const e=globalThis.process;if(!e)return!1;const t=e.version;if(t==null)return!1;const s=t.match(/^v(\d+)\./);return s?parseInt(s[1],10)<=18:!1}eL()&&console.warn("⚠️  Node.js 18 and below are deprecated and will no longer be supported in future versions of @supabase/supabase-js. Please upgrade to Node.js 20 or later. For more information, visit: https://github.com/orgs/supabase/discussions/37217");function tL(){var b,f;if(typeof window>"u")return;const e=location.hostname,s=["lovableproject.com","lovableproject-dev.com","lovable.app","gpt-eng.com","gptengineer.run"].some(g=>e===g||e.endsWith("."+g)),r="[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}",i=s?((b=e.match(new RegExp("^(?:id-preview(?:-[a-z0-9]+)?|project)--("+r+")(?:-dev)?(?=\\.|$)","i")))==null?void 0:b[1])??((f=e.match(new RegExp("^("+r+")(?=[.-])","i")))==null?void 0:f[1]):void 0,a=window.parent&&window.parent!==window;if(!i||!a)return localStorage;const o=e.endsWith(".lovableproject-dev.com")||e.endsWith(".gpt-eng.com"),l=o?/^https:\/\/([a-z0-9-]+\.)*(lovable\.dev|gptengineer\.app)$|^http:\/\/localhost:3000$/:/^https:\/\/([a-z0-9-]+\.)*(lovable\.dev|gptengineer\.app)$/,c=location.ancestorOrigins&&location.ancestorOrigins[0]||(document.referrer?new URL(document.referrer).origin:""),d=c&&l.test(c)?[c]:o?["https://lovable.dev","http://localhost:3000"]:["https://lovable.dev"],u="lovable-preview-auth:result",h=2e3,m=()=>Math.random().toString(36).slice(2)+Date.now().toString(36),p=(g,v,j)=>new Promise(k=>{const N=m();let A=!1,E;const R=_=>{A||(A=!0,clearTimeout(E),window.removeEventListener("message",I),k(_))},I=_=>{if(d.indexOf(_.origin)<0)return;const $=_.data;$&&$.type===u&&$.requestId===N&&R($)};window.addEventListener("message",I);const B={type:g,requestId:N,projectId:i,key:v};j!==void 0&&(B.value=j);for(const _ of d)window.parent.postMessage(B,_);E=setTimeout(()=>R(null),h)});let x=!0;const y=250;return{getItem:async g=>{let v=await p("lovable-preview-auth:get",g);return!v&&x&&(await new Promise(j=>setTimeout(j,y)),v=await p("lovable-preview-auth:get",g)),x=!1,v&&v.ok&&typeof v.value=="string"?v.value===""?(localStorage.removeItem(g),null):v.value:localStorage.getItem(g)},setItem:(g,v)=>(localStorage.setItem(g,v),p("lovable-preview-auth:set",g,v).then(j=>{j&&j.ok&&typeof j.value=="string"&&localStorage.getItem(g)===v&&(j.value===""?localStorage.removeItem(g):localStorage.setItem(g,j.value))})),removeItem:g=>(localStorage.removeItem(g),p("lovable-preview-auth:remove",g).then(()=>{}))}}const sL="https://keqgkndrfdzapfrwsots.supabase.co",rL="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImtlcWdrbmRyZmR6YXBmcndzb3RzIiwicm9sZSI6ImFub24iLCJpYXQiOjE3Nzg3MTg0MzksImV4cCI6MjA5NDI5NDQzOX0.09-8PiGO5qaGWE3q8PQsUhnhsmr42xZQfL5c6SH57Zg",ht=QD(sL,rL,{auth:{storage:tL(),persistSession:!0,autoRefreshToken:!0}}),nL="https://keqgkndrfdzapfrwsots.supabase.co",iL="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImtlcWdrbmRyZmR6YXBmcndzb3RzIiwicm9sZSI6ImFub24iLCJpYXQiOjE3Nzg3MTg0MzksImV4cCI6MjA5NDI5NDQzOX0.09-8PiGO5qaGWE3q8PQsUhnhsmr42xZQfL5c6SH57Zg",aL=()=>{const[e,t]=w.useState("loading"),s=new URLSearchParams(window.location.search).get("token");w.useEffect(()=>{if(!s){t("invalid");return}(async()=>{try{const i=await fetch(`${nL}/functions/v1/handle-email-unsubscribe?token=${encodeURIComponent(s)}`,{headers:{apikey:iL}}),a=await i.json();if(!i.ok){t("invalid");return}a.valid===!1&&a.reason==="already_unsubscribed"?t("already"):a.valid?t("valid"):t("invalid")}catch{t("invalid")}})()},[s]);const r=async()=>
514{if(!s)return;t("submitting");const{data:i,error:a}=await ht.functions.invoke("handle-email-unsubscribe",{body:{token:s}});if(a){t("error");return}i!=null&&i.success||(i==null?void 0:i.reason)==="already_unsubscribed"?t("success"):t("error")};return n.jsxs("main",{className:"min-h-screen flex items-center justify-center px-4 bg-background",children:[n.jsxs(ux,{children:[n.jsx("title",{children:"Unsubscribe — 10xGrowth Labs"}),n.jsx("meta",{name:"robots",content:"noindex, nofollow"})]}),n.jsxs("div",{className:"max-w-md w-full bg-secondary/20 border border-border rounded-2xl p-8 text-center",children:[n.jsx("h1",{className:"font-display text-2xl font-bold mb-3",children:"Unsubscribe"}),e==="loading"&&n.jsx(ir,{className:"w-6 h-6 animate-spin mx-auto text-labs"}),e==="invalid"&&n.jsxs(n.Fragment,{children:[n.jsx(Xv,{className:"w-8 h-8 mx-auto text-destructive mb-2"}),n.jsx("p",{className:"text-muted-foreground",children:"This unsubscribe link is invalid or expired."})]}),e==="already"&&n.jsxs(n.Fragment,{children:[n.jsx(Ye,{className:"w-8 h-8 mx-auto text-labs mb-2"}),n.jsx("p",{className:"text-muted-foreground",children:"You're already unsubscribed."})]}),e==="valid"&&n.jsxs(n.Fragment,{children:[n.jsx("p",{className:"text-muted-foreground mb-6",children:"Click below to confirm you want to unsubscribe from our emails."}),n.jsx("button",{onClick:r,className:"bg-gradient-labs text-primary-foreground px-6 py-3 rounded-xl font-bold font-display text-sm",children:"Confirm Unsubscribe"})]}),e==="submitting"&&n.jsx(ir,{className:"w-6 h-6 animate-spin mx-auto text-labs"}),e==="success"&&n.jsxs(n.Fragment,{children:[n.jsx(Ye,{className:"w-8 h-8 mx-auto text-labs mb-2"}),n.jsx("p",{className:"text-muted-foreground",children:"You've been unsubscribed. We're sorry to see you go."})]}),e==="error"&&n.jsxs(n.Fragment,{children:[n.jsx(Xv,{className:"w-8 h-8 mx-auto text-destructive mb-2"}),n.jsx("p",{className:"text-muted-foreground",children:"Something went wrong. Please try again later."})]})]})]})},Es=e=>e==="gov"?[{title:"Discovery & Advisory",subtitle:"3–6 weeks · Fixed fee",points:["Current-state process and systems audit","AI readiness and data maturity scoring","Business case, ROI model and delivery plan"]},{title:"Proof-of-Value Sprint",subtitle:"6–10 weeks · Fixed scope",points:["One targeted workflow, live in production","Governance, privacy and audit sign-off","Measured KPI uplift before scale"]},{title:"Managed Delivery",subtitle:"Program of work · SLA",points:["Multi-workflow rollout and change management","Integration with TechOne, Civica, Dynamics, M365","Ongoing evolution, support and reporting"]}]:e==="enterprise"?[{title:"Advisory Sprint",subtitle:"2–4 weeks",points:["Executive workshops and stakeholder alignment","Target operating model and roadmap","Investment case and delivery approach"]},{title:"Delivery Program",subtitle:"Fixed-price milestones",points:["Blended teams inside your governance","Design, build, integrate, adopt","Executive reporting each sprint"]},{title:"Managed Services",subtitle:"Multi-year retainer",points:["Platform evolution and enhancement","AI capability rollout and enablement","24×5 SLA-backed operations support"]}]:[{title:"Discovery Sprint",subtitle:"2 weeks · Fixed price",points:["Opportunity framing and problem statement","Solution architecture and MVP scope","Cost, timeline and delivery plan"]},{title:"Delivery Program",subtitle:"8–16 weeks · Fixed scope",points:["Design, engineering and QA sprints","Weekly demos and adoption checkpoints","Launch, analytics and handover"]},{title:"Managed Evolution",subtitle:"Retainer · Monthly",points:["Continuous improvement backlog","AI feature rollouts and experimentation","SLA-backed support and monitoring"]}],mS=[{slug:"government",kind:"industry",eyebrow:"Industry · Government",title:"AI-ready government,",titleItalic:"without replacing what already works.",lead:"We partner with federal, state and local government to design AI-enabled services, modernise processes and unlock value from the platforms you've already invested in — SAP, Salesforce, ServiceNow, TechnologyOne, Microsoft Dynamics and the rest.",primaryCta:"Request a Capability Statement",secondaryCta:"Book a briefing",kpis:[{k:"20+",v:"Public sector programs delivered"},{k:"IRAP",v:"Aligned partners and hosting"},{k:"5×",v:"Faster service delivery cycles"},{k:"AU sovereign",v:"Data and hosting options"}],context:{eyebrow:"The reality",heading:"Public sector transformation isn't a rip-and-replace problem.",body:"Every agency runs on a mix of established platforms — finance in SAP or TechnologyOne, service in ServiceNow or Salesforce, citizen data in bespoke systems, workflow in Microsoft. AI value comes from orchestrating what's already there, not from another migration program.",points:[{title:"Disparate systems, disconnected data",desc:"Records, cases and assets scattered across finance, HR, service and operational platforms."},{title:"Manual, form-driven service delivery",desc:"Citizens still email, phone or PDF their way through processes that could be self-serve."},{title:"Long approval and reporting cycles",desc:"Cross-departmental sign-offs, spreadsheets and manual reconciliation extend delivery timelines."},{title:"AI proofs that never leave the sandbox",desc:"Pilots stall on governance, integration, procurement or a lack of production-ready design."}]},aiLayer:{eyebrow:"How we deploy AI",heading:"An AI layer over your existing platforms —",italic:"not another platform to migrate to.",body:"We design a governed AI orchestration layer that sits over the systems you already run. Citizens, staff and executives interact with intelligent, unified experiences while data, records and workflows stay in the systems of truth.",systems:[{label:"TechnologyOne",note:"Finance · Property · Rates"},{label:"Civica",note:"Regulatory · Community"},{label:"Microsoft Dynamics",note:"ERP · CRM"},{label:"Salesforce",note:"Case · Grants"},{label:"ServiceNow",note:"ITSM · Workflow"},{label:"SAP",note:"Finance · HR"},{label:"M365 / SharePoint",note:"Records · Docs"},{label:"GIS / Assets",note:"Spatial · Fleet"}],layer:"AI Orchestration & Automation Layer",capabilities:["Citizen self-service copilots","Case triage and routing","Document intelligence","Approvals and workflow automation","Executive reporting and insight","Human-in-the-loop review"]},sprintsHeading:"Delivered as time-boxed sprints, not open-ended programs.",sprintsBody:"Each engagement starts with a fixed-fee Discovery, then progresses through Proof-of-Value and Delivery only when the business case is signed off.",sprints:[{label:"Sprint 01",weeks:"3–6 weeks",title:"Discovery & Advisory",deliverables:["Process and systems audit","AI opportunity map","Governance and risk framework","Business case with ROI model"]},{label:"Sprint 02",weeks:"6–10 weeks",title:"Proof-of-Value",deliverables:["One workflow, live in production","Integrations to source systems","Change and adoption plan","Measured KPI baseline"]},{label:"Sprint 03",weeks:"3–9 months",title:"Scaled Delivery",deliverables:["Multi-service rollout","Executive reporting","Enablement and training","Handover and managed support"]}],focus:{eyebrow:"Where we help",heading:"Focused on the operations",italic:"that define public service.",items:[{title:"Citizen services",desc:"Digital front doors, self
514-service portals, AI copilots for common enquiries and case triage."},{title:"Roads, rates & rubbish",desc:"Inspections, defects, work orders, waste routing and rates workflows unified across systems."},{title:"Regulatory & compliance",desc:"Applications, approvals, inspections and audit trails automated with human oversight."},{title:"Corporate & internal",desc:"Procurement, finance, HR and reporting workflows accelerated through AI copilots."}]},engagement:Es("gov"),outcomesHeading:"What good looks like at 12 months.",outcomes:[{title:"Cycle times cut by 40–60%",desc:"Case, approval and reporting workflows shortened by automation and AI triage."},{title:"Officer capacity restored",desc:"10–20 hours per officer per week back to higher-value work."},{title:"Governed, auditable AI in production",desc:"Not a pilot — real workflows running under policy, privacy and audit controls."}],finalHeadline:"Bring AI into the workflows",finalItalic:"that already run your agency.",finalSupport:"Request a capability statement or book a briefing with our public sector team. We'll come prepared with references, case studies and a first-look at where AI can create value in your environment.",finalCta:"Request a Capability Statement"},{slug:"transport-logistics",kind:"industry",eyebrow:"Industry · Transport & Logistics",title:"Compliant, connected,",titleItalic:"AI-augmented fleet operations.",lead:"We build operational platforms and AI copilots for heavy vehicle, freight and last-mile operators — connecting drivers, dispatch, safety, compliance and finance into a single system your team will actually use.",primaryCta:"Book a Discovery Session",secondaryCta:"See our FleetPro platform",kpis:[{k:"1,000+",v:"Vehicles under management"},{k:"NHVR",v:"Chain of responsibility ready"},{k:"22 hrs/wk",v:"Recovered per dispatch officer"},{k:"24×7",v:"SLA-backed operations"}],context:{eyebrow:"The reality",heading:"The industry runs on spreadsheets, WhatsApp and legacy TMS.",body:"Between the fuel card, the ELD, the TMS, the accounting package and the WhatsApp thread with drivers, most fleets have five systems and no single view of the job.",points:[{title:"Disconnected dispatch and finance",desc:"Jobs live in one system, invoicing in another, driver comms in a third."},{title:"Manual compliance and safety",desc:"Fatigue, pre-starts, defects and incidents still captured on paper or PDF."},{title:"No live cost-per-job visibility",desc:"Owners learn about margin erosion at end-of-month, not in the moment."},{title:"Driver experience is an afterthought",desc:"Retention suffers when the tools drivers use every day are the worst part of the job."}]},aiLayer:{eyebrow:"How we deploy AI",heading:"AI over your TMS, ELD and finance —",italic:"not another disconnected app.",body:"We connect the platforms you already run and put an AI orchestration layer over the top so dispatch, drivers and finance work from a single, intelligent operational view.",systems:[{label:"TMS / Dispatch",note:"MyTrucking · TruckIt"},{label:"ELD / Telematics",note:"MTData · Teletrac"},{label:"Xero / MYOB",note:"Finance · Payroll"},{label:"Fuel & Toll",note:"BP · Shell · Linkt"},{label:"HR / Rostering",note:"Deputy · Tanda"},{label:"Customer Portals",note:"EDI · Web · API"}],layer:"AI Orchestration & Automation Layer",capabilities:["Dispatch copilots","Automated PODs and invoicing","Fatigue and compliance monitoring","Driver mobile experience","Live cost-per-job dashboards","Customer self-service"]},sprintsHeading:"Sprint-based delivery, live in weeks not years.",sprints:[{label:"Sprint 01",weeks:"2 weeks",title:"Operations Audit",deliverables:["Current-state workflow map","Integration and data plan","Compliance gap assessment","Delivery blueprint and cost"]},{label:"Sprint 02",weeks:"6–10 weeks",title:"Core Platform Live",deliverables:["Dispatch and jobs module","Driver mobile app","Live executive dashboard","First integrations live"]},{label:"Sprint 03",weeks:"Ongoing",title:"AI & Scale",deliverables:["AI dispatch copilots","Automated invoicing","Compliance automation","Managed evolution"]}],focus:{eyebrow:"Where we help",heading:"Built for the operators",italic:"moving Australia.",items:[{title:"Heavy vehicle & bulk freight",desc:"Chain of responsibility, mass management, fatigue and defect workflows built in."},{title:"Last-mile & courier",desc:"Live tracking, ETAs, POD capture and customer self-service."},{title:"Passenger & specialist transport",desc:"NDIS, patient transport, school bus — rostering, incident and billing integrated."},{title:"Logistics & 3PL",desc:"Warehouse, dispatch, EDI and customer portals unified with your finance stack."}]},engagement:Es("enterprise"),outcomesHeading:"The change customers see.",outcomes:[{title:"3.2× throughput",desc:"Same team, more jobs completed per week — measured, not promised."},{title:"70% less admin",desc:"Automated PODs, invoicing and driver comms cut manual work dramatically."},{title:"Real-time margin",desc:"Owners see cost-per-job and profit in the moment, not at end-of-month."}],finalHeadline:"Turn your fleet",finalItalic:"into a data-driven business.",finalSupp
514ort:"Book a discovery session with our transport team. We'll walk you through FleetPro and show you the specific playbook we'd run for your operation.",finalCta:"Book a Discovery Session",video:{eyebrow:"The FleetPro Story",heading:"We didn't consult on this — we built it, and we run it.",body:"FleetPro is our own transport operations platform, running live fleets today. When we walk into your depot, we're not pitching a slide deck — we're bringing a system that already handles dispatch, compliance and driver ops in production.",url:"/__l5e/assets-v1/34c3cf5b-31b4-4c13-b779-60dfa5a98e37/fleetpro-story.mp4"}},{slug:"healthcare",kind:"industry",eyebrow:"Industry · Healthcare",title:"Digital health,",titleItalic:"delivered with clinical rigour.",lead:"We design and build digital health experiences, provider platforms and AI copilots for hospitals, primary care networks, aged care and NDIS providers — engineered for privacy, compliance and clinical workflow.",primaryCta:"Book a Discovery Session",secondaryCta:"Request a Capability Statement",kpis:[{k:"APP",v:"Privacy Principles aligned"},{k:"FHIR",v:"Standards-based integration"},{k:"AU hosted",v:"Sovereign data and residency"},{k:"24×7",v:"Managed operations"}],context:{eyebrow:"The reality",heading:"Care providers are drowning in admin, not clinical work.",body:"Between MyGov, Medicare, private health, incident reporting, rostering and family communications, providers spend more time on paperwork than at the bedside.",points:[{title:"Fragmented clinical systems",desc:"PMS, EHR, rostering and billing rarely talk to each other."},{title:"Manual funding and claiming",desc:"NDIS, Medicare and DVA claiming still driven by spreadsheets."},{title:"Family and participant experience",desc:"Communication is inconsistent, often verbal, hard to audit."},{title:"Workforce shortages",desc:"Every hour spent on admin is an hour not spent on care."}]},aiLayer:{eyebrow:"How we deploy AI",heading:"AI over your clinical and funding systems —",italic:"with humans firmly in the loop.",body:"We keep clinical records where they belong and use AI to remove the admin around them — intake, documentation, claiming, family communications and reporting.",systems:[{label:"EHR / PMS",note:"Best Practice · MedTech"},{label:"NDIS / Medicare",note:"Claiming · Funding"},{label:"Rostering",note:"Humanforce · Deputy"},{label:"Finance",note:"Xero · MYOB"},{label:"Communication",note:"SMS · Portals"},{label:"Compliance",note:"Incidents · Audit"}],layer:"AI Orchestration & Automation Layer",capabilities:["Clinical intake copilots","Progress note assistance","Automated claiming","Family portals","Rostering optimisation","Incident triage"]},sprintsHeading:"Delivered as clinically-safe, staged sprints.",sprints:[{label:"Sprint 01",weeks:"3–4 weeks",title:"Clinical & Compliance Audit",deliverables:["Workflow and system mapping","Privacy and governance review","AI opportunity assessment","Roadmap and business case"]},{label:"Sprint 02",weeks:"8–12 weeks",title:"Provider Platform MVP",deliverables:["Provider portal","Participant / patient experience","Claiming automation","Reporting and dashboards"]},{label:"Sprint 03",weeks:"Ongoing",title:"AI & Managed Care",deliverables:["Clinical AI copilots","Continuous compliance","Managed services","Ongoing evolution"]}],focus:{eyebrow:"Where we help",heading:"Built for regulated,",italic:"outcome-driven care.",items:[{title:"NDIS & disability",desc:"Participant portals, plan management, claiming and provider operations."},{title:"Aged & community care",desc:"Rostering, family portals, incident and clinical documentation."},{title:"Primary & allied health",desc:"Booking, telehealth, PMS integration and Medicare workflows."},{title:"Hospitals & networks",desc:"Referral pathways, patient experience and digital front door."}]},engagement:Es("enterprise"),outcomesHeading:"The change clinicians feel.",outcomes:[{title:"50% less admin per shift",desc:"Automated documentation, claiming and communication frees clinical time."},{title:"Higher family satisfaction",desc:"Transparent, timely communication measurably lifts 
514NPS and retention."},{title:"Audit-ready by default",desc:"Every action captured, timestamped and reportable without extra work."}],finalHeadline:"Take the admin",finalItalic:"out of care.",finalSupport:"Book a discovery session with our health team. We'll bring case studies from NDIS, aged care and primary health and map the highest-leverage automation wins for your organisation.",finalCta:"Book a Discovery Session"},{slug:"construction",kind:"industry",eyebrow:"Industry · Construction",title:"From site to office —",titleItalic:"one connected operation.",lead:"We build platforms and AI copilots for builders, contractors and trades — connecting site, project, finance and compliance into a single system that works on a phone and stands up to audit.",primaryCta:"Book a Discovery Session",kpis:[{k:"30–50%",v:"Reduction in project admin"},{k:"Live",v:"Cost-to-complete tracking"},{k:"WHS",v:"Compliance built-in"},{k:"Mobile-first",v:"Designed for site use"}],context:{eyebrow:"The reality",heading:"The industry runs on emails, PDFs and disconnected apps.",body:"Between the accounting package, the estimating tool, the site diary, the SWMS folder and the subcontractor WhatsApp, most builders are stitching operations together by hand.",points:[{title:"Estimates disconnected from delivery",desc:"The number that won the job never makes it to the site or the P&L."},{title:"Compliance kept in folders",desc:"SWMS, inductions and incident reports scattered across drives and inboxes."},{title:"No live project margin",desc:"Cost-to-complete is a monthly guess, not a live number."},{title:"Subcontractors on paper",desc:"Variations, RFIs and payments still driven by email chains."}]},aiLayer:{eyebrow:"How we deploy AI",heading:"AI over your estimating, accounting and site tools —",italic:"not another app your foreman won't open.",body:"We keep your accounting, estimating and site apps and add an intelligent operational layer that speaks to all of them, on a phone-first interface built for people wearing gloves.",systems:[{label:"Estimating",note:"BuildXact · CostX"},{label:"Xero / MYOB",note:"Finance · Payroll"},{label:"Project",note:"Procore · Aconex"},{label:"WHS / Compliance",note:"SWMS · Inductions"},{label:"Subcontractors",note:"Portals · Payments"},{label:"Site tools",note:"Diary · RFIs · Defects"}],layer:"AI Orchestration & Automation Layer",capabilities:["Site diary and defect capture","Cost-to-complete AI","Automated RFIs and variations","Subcontractor portals","WHS and compliance","Executive dashboards"]},sprintsHeading:"Delivered in sprints — first release in weeks.",sprints:[{label:"Sprint 01",weeks:"2 weeks",title:"Operations Audit",deliverables:["Process and systems map","Priority workflow list","Integration approach","Delivery blueprint"]},{label:"Sprint 02",weeks:"6–10 weeks",title:"Core Platform Live",deliverables:["Site mobile app","Project dashboard","Cost + estimating integration","First WHS workflows"]},{label:"Sprint 03",weeks:"Ongoing",title:"AI & Scale",deliverables:["AI cost-to-complete","Automated variations","Subcontractor portals","Managed evolution"]}],focus:{eyebrow:"Where we help",heading:"Built for builders",italic:"and trades at scale.",items:[{title:"Commercial construction",desc:"Project delivery, cost control, WHS and subcontractor management."},{title:"Residential builders",desc:"Selections, variations, client portals and site operations."},{title:"Trades & services",desc:"Job scheduling, technician mobile, invoicing and customer experience."},{title:"Civil & infrastructure",desc:"Field capture, asset handover, compliance and reporting."}]},engagement:Es("enterprise"),outcomesHeading:"The change on site and in the office.",outcomes:[{title:"Live project margin",desc:"Cost-to-complete visible in real time, not at end-of-month."},{title:"Compliance without folders",desc:"SWMS, inductions and incidents captured on site, searchable and auditable."},{title:"Faster subcontractor cycles",desc:"Variations, RFIs and payments processed in hours, not weeks."}],finalHeadline:"Build the operation,",finalItalic:"not just the project.",finalSupp
514ort:"Book a discovery session and we'll walk you through builder and trades platforms we've shipped, and the specific plan we'd run for you.",finalCta:"Book a Discovery Session"},{slug:"professional-services",kind:"industry",eyebrow:"Industry · Professional Services",title:"AI copilots for firms",titleItalic:"that sell expertise.",lead:"We build practice platforms and AI copilots for legal, accounting, engineering, advisory and consulting firms — automating the work behind the work so partners and their teams spend time on what actually bills.",primaryCta:"Book a Discovery Session",kpis:[{k:"30%",v:"Reclaimed billable hours"},{k:"Weeks",v:"Not months, per release"},{k:"Secure",v:"Data residency and IP"},{k:"AI copilots",v:"Grounded on your files"}],context:{eyebrow:"The reality",heading:"Firms sell expertise but spend time on admin.",body:"Between practice management, DMS, CRM, time and billing, most firms have a dozen systems that don't talk — and a lot of very expensive people copying data between them.",points:[{title:"Fragmented practice stack",desc:"PM, CRM, DMS and billing rarely joined up around a matter or client."},{title:"Manual document work",desc:"Drafting, summarising, reviewing — hours per matter that don't need to be human."},{title:"Knowledge locked in inboxes",desc:"IP that should be reused sits in individual folders and PSTs."},{title:"Under-monetised expertise",desc:"Firms sell hours instead of packaged, productised services."}]},aiLayer:{eyebrow:"How we deploy AI",heading:"AI grounded on your practice —",italic:"not a public chatbot.",body:"We deploy AI copilots that live inside your firm's data and process — grounded on your matters, precedents, workpapers and clients — with the security, IP and governance controls your partners will actually sign off.",systems:[{label:"Practice Mgmt",note:"Actionstep · APS"},{label:"DMS",note:"iManage · NetDocs"},{label:"CRM",note:"HubSpot · Dynamics"},{label:"Finance",note:"Xero · MYOB"},{label:"M365",note:"Docs · Email · Teams"},{label:"Client Portals",note:"Web · Mobile"}],layer:"AI Orchestration & Automation Layer",capabilities:["Matter copilots","Document drafting","Summarisation & review","Automated intake","Time capture assistance","Client portals"]},sprintsHeading:"Sprint-based, partner-led delivery.",sprints:[{label:"Sprint 01",weeks:"2–3 weeks",title:"AI Readiness Sprint",deliverables:["Practice audit","AI opportunity map","Governance and IP plan","Prioritised roadmap"]},{label:"Sprint 02",weeks:"6–10 weeks",title:"Copilot in Production",deliverables:["First AI copilot live","Grounded on firm data","Adoption and enablement","Measured productivity uplift"]},{label:"Sprint 03",weeks:"Ongoing",title:"Firmwide Rollout",deliverables:["Additional copilots","Practice platform build","Managed evolution","Executive reporting"]}],focus:{eyebrow:"Where we help",heading:"Built for partner-led firms",italic:"of every size.",items:[{title:"Legal",desc:"Matter copilots, drafting, review and intake automation."},{title:"Accounting & advisory",desc:"Workpaper AI, client portals, and productised service delivery."},{title:"Engineering & architecture",desc:"Project workflows, specification AI and client experience."},{title:"Management consulting",desc:"Knowledge platforms, proposal AI and delivery automation."}]},engagement:Es("enterprise"),outcomesHeading:"The change partners feel.",outcomes:[{title:"30% more billable capacity",desc:"Hours reclaimed from admin and reused on client work."},{title:"Productised services",desc:"Fixed-fee offerings your firm can scale without adding headcount."},{title:"Governed, IP-safe AI",desc:"Copilots your partners trust because they run inside your controls."}],finalHeadline:"Put AI to work",finalItalic:"inside your firm.",finalSupport:"Book a discovery session and we'll show you copilots we've deployed in professional services and map the highest-value use cases for your firm.",finalCta:"Book a Discovery Session"}],pS=[{slug:"strategy-advisory",kind:"solution",eyebrow:"Capability · Strategy & Advisory",title:"Digital & AI strategy",titleItal
514ic:"that gets funded and delivered.",lead:"Executive-grade advisory that turns ambition into an investable roadmap. Target operating models, business cases, AI strategy and delivery plans — grounded in the reality of your teams and systems.",primaryCta:"Book an Advisory Session",kpis:[{k:"2–6 wk",v:"Fixed-fee sprints"},{k:"Board-ready",v:"Business cases and models"},{k:"Sector-fluent",v:"Gov, Health, Transport, PS"},{k:"Delivery-linked",v:"Advisory that ships"}],context:{eyebrow:"Where we're brought in",heading:"When a strategy needs to survive contact with reality.",body:"Boards, executives and program sponsors bring us in when they need a plan that isn't just a slideware exercise — one that considers the systems, the teams, and the delivery approach that will actually make it happen.",points:[{title:"AI strategy without a business case",desc:"Pilots and platforms with no clear ROI or scale path."},{title:"Programs without an operating model",desc:"Tech goes in, ways of working don't change, value doesn't land."},{title:"Roadmaps disconnected from delivery",desc:"Strategy from one partner, delivery from another, outcomes from neither."},{title:"Business cases that don't get through gate",desc:"Numbers that don't stand up to CFO or Treasury scrutiny."}]},sprintsHeading:"Advisory delivered as fixed-fee sprints.",sprints:[{label:"Sprint 01",weeks:"2 weeks",title:"Diagnostic",deliverables:["Executive workshops","Current-state assessment","Opportunity map","Prioritised hypotheses"]},{label:"Sprint 02",weeks:"3–4 weeks",title:"Strategy & Business Case",deliverables:["Target operating model","AI/tech roadmap","Investment case with ROI","Delivery approach"]},{label:"Sprint 03",weeks:"Optional",title:"Delivery Enablement",deliverables:["Program shaping","Vendor / partner strategy","Governance model","Handover to delivery"]}],focus:{eyebrow:"What we advise on",heading:"Advisory built on",italic:"practitioner experience.",items:[{title:"AI & data strategy",desc:"Use case identification, prioritisation, platform and governance."},{title:"Business & operating models",desc:"Target operating models, service design, org and capability."},{title:"Digital transformation",desc:"Program shaping, roadmaps, business cases and delivery approach."},{title:"Technology strategy",desc:"Platform selection, integration strategy, build-vs-buy."}]},engagement:Es("enterprise"),outcomesHeading:"What you walk out with.",outcomes:[{title:"A funded plan",desc:"A business case and operating model your CFO will sign."},{title:"A delivery path",desc:"Not a slide deck — a program shape you can execute on Monday."},{title:"An honest opinion",desc:"From people who've built the platforms, not just written about them."}],finalHeadline:"Get a plan",finalItalic:"that actually ships.",finalSupport:"Book a 30-minute advisory session. We'll come prepared with references and a view on where the highest-value work sits for your organisation.",finalCta:"Book an Advisory Session"},{slug:"business-process-transformation",kind:"solution",eyebrow:"Capability · Business Process Transformation",title:"Redesign the process,",titleItalic:"then automate what's left.",lead:"We reengineer the workflows that carry the load — intake, service delivery, approvals, invoicing, reporting — and rebuild them with modern platforms and AI so throughput, quality and experience all move together.",primaryCta:"Book a Process Diagnostic",kpis:[{k:"40–60%",v:"Reduction in cycle time"},{k:"70%+",v:"Straight-through processing"},{k:"Live",v:"Executive process dashboards"},{k:"Adopted",v:"By the people who do the work"}],context:{eyebrow:"The reality",heading:'Most "transformation" digitises the old process.',body:"Automating a broken workflow just delivers the same bad experience faster. The value comes from redesigning what the process should look like first, then rebuilding it around modern tools and AI.",points:[{title:"Process debt everywhere",desc:"Workflows built over decades, still running on legacy assumptions."},{title:"Digital front, manual back",desc:"Slick portals that dump into manual back-office queues."},{title:"No process ownership",desc:"Cross-functional workflows with 
514nobody accountable end-to-end."},{title:"AI bolted onto broken flows",desc:"Copilots and chatbots layered onto processes that shouldn't exist."}]},sprintsHeading:"Diagnose, redesign, deliver — in sprints.",sprints:[{label:"Sprint 01",weeks:"2–3 weeks",title:"Process Diagnostic",deliverables:["Value stream map","Time and cost baseline","Automation opportunity list","Prioritised redesign"]},{label:"Sprint 02",weeks:"6–10 weeks",title:"Redesign & Build",deliverables:["Redesigned workflow","Platform / automation build","AI copilot where relevant","Adoption plan"]},{label:"Sprint 03",weeks:"Ongoing",title:"Scale & Optimise",deliverables:["Rollout across teams","Executive dashboards","Continuous improvement","Managed support"]}],focus:{eyebrow:"Processes we transform",heading:"Where transformation",italic:"compounds fastest.",items:[{title:"Intake & service delivery",desc:"Front-door to fulfilment: intake, triage, allocation, delivery, close."},{title:"Approvals & workflow",desc:"Cross-functional approval chains rebuilt around policy, not people."},{title:"Finance operations",desc:"Procure-to-pay, order-to-cash, reconciliation and reporting."},{title:"Compliance & audit",desc:"Evidence, reporting and audit trails automated by design."}]},engagement:Es("enterprise"),outcomesHeading:"What changes in the numbers.",outcomes:[{title:"Cycle time down 40–60%",desc:"Redesign plus automation delivers step-change, not incremental gain."},{title:"Capacity unlocked",desc:"Staff back on judgement work, not data entry."},{title:"Real-time visibility",desc:"Live process performance replaces month-end guesswork."}],finalHeadline:"Redesign the workflow,",finalItalic:"then let AI run it.",finalSupport:"Book a process diagnostic. We'll audit one high-value workflow and show you the redesign and automation opportunity — fixed fee, 2 weeks.",finalCta:"Book a Process Diagnostic"},{slug:"ai-automation",kind:"solution",eyebrow:"Capability · AI & Automation",title:"AI that ships,",titleItalic:"governed and grounded on your business.",lead:"We design and deliver production-grade AI — copilots, agents, document intelligence and process automation — grounded on your data, wrapped in the governance controls your risk and privacy teams will actually sign off on.",primaryCta:"Book an AI Discovery",kpis:[{k:"Production",v:"Not another pilot"},{k:"Governed",v:"Policy, privacy, audit"},{k:"Grounded",v:"On your data and rules"},{k:"Measured",v:"KPIs before and after"}],context:{eyebrow:"The reality",heading:"Most organisations have AI everywhere and value nowhere.",body:"Copilots, chatbots, pilots and POCs — and very little actually running in production. The gap isn't the model, it's the design, integration and governance around it.",points:[{title:"Pilots that don't scale",desc:"POCs that impress in a demo and never make it to production."},{title:"Chatbots without grounding",desc:"Generic models that hallucinate because nobody wired them to real data."},{title:"No governance, no adoption",desc:"Legal, risk and privacy block scale because the controls aren't there."},{title:"AI in isolation from process",desc:"Copilots added to workflows that weren't redesigned to use them."}]},aiLayer:{eyebrow:"How we build",heading:"AI as an orchestration layer —",italic:"on top of the systems you already run.",body:"We rarely replace a system of truth. We build the intelligent layer that sits over your platforms, calls them, reasons about them, and gives your people and customers a better experience.",systems:[{label:"ERP / Finance",note:"SAP · Dynamics · Xero"},{label:"CRM / Service",note:"Salesforce · HubSpot"},{label:"DMS / SharePoint",note:"Documents · Records"},{label:"Custom & Legacy",note:"APIs · Databases"},{label:"Data platforms",note:"Warehouse · Lakehouse"},{label:"External data",note:"Web · Third-party APIs"}],layer:"AI Orchestration & Automation Layer",capabilities:["Domain copilots","Multi-step agents","Document intelligence","RAG on your data","Process automation","Human-in-the-loop review"]},sprintsHeading:"AI delivery in production-safe sprints.",sprints:[{label:"Sprint 01",weeks:"2 weeks",title:"AI Discovery",deliverables:["Use case scoring","Data and governance review","Architecture options","ROI model"]},{label:"Sprint 02",weeks:"6–10 weeks",title:"Proof-of-Value in Production",deliverables:["One AI workflow live","Grounded on your data","Governance and controls","KPI measurement"]},{label:"Sprint 03",weeks:"Ongoing",title:"Scale & Managed",deliverables:["Additional workflows","Enablement and training","Managed evaluation","Continuous improvement"]}],focus:{eyebrow:"What we build",heading:"AI patterns that",italic:"actually earn their keep.",items:[{title:"Domain copilots",desc:"Grounded assistants for staff — case, matter, project, service."},{title:"Document intelligence",desc:"Extract, classify, summarise and act on unstructured content at scale."},{title:"Multi-step agents",desc:"Agents that call your systems to complete work end-to-e
514nd, with oversight."},{title:"Customer & citizen AI",desc:"Self-service experiences grounded on your policy and data."}]},engagement:Es("enterprise"),outcomesHeading:"What production AI actually delivers.",outcomes:[{title:"Measured productivity uplift",desc:"20–40% on the workflows we redesign around AI."},{title:"Governance you can sign off",desc:"Policy, privacy, audit and human-in-the-loop by design."},{title:"Compounding capability",desc:"A pattern you can reapply across the business, not a one-off."}],finalHeadline:"Get AI out of the sandbox",finalItalic:"and into the workflow.",finalSupport:"Book an AI discovery session. We'll come with reference architectures, case studies and a first-pass view on where AI can create measurable value in your business.",finalCta:"Book an AI Discovery"},{slug:"digital-platforms",kind:"solution",eyebrow:"Capability · Digital Platforms",title:"Custom digital platforms —",titleItalic:"designed, engineered, adopted.",lead:"When off-the-shelf falls short, we design and build the platform your business actually needs — web, mobile, portals, marketplaces and operational systems — engineered to scale and designed to be loved.",primaryCta:"Book a Product Discovery",kpis:[{k:"50+",v:"Platforms in production"},{k:"Weeks",v:"To first live release"},{k:"Design-led",v:"By our in-house UX team"},{k:"Own the IP",v:"Full code and data ownership"}],context:{eyebrow:"Why custom",heading:"Off-the-shelf almost fits. Almost.",body:"You've bent SaaS around your business, layered integrations and paid per seat for the privilege — and your team still keeps a spreadsheet on the side. Sometimes the answer is a purpose-built platform.",points:[{title:"Per-seat pricing punishes growth",desc:"Hiring should grow revenue, not your software bill."},{title:"Locked into someone else's model",desc:"Your business shaped around the vendor, not the other way around."},{title:"Integration patchwork",desc:"Zapier and middleware that breaks every time something changes."},{title:"No competitive edge",desc:"You have the same tools your competitors have."}]},sprintsHeading:"Product-led sprints, executive-grade delivery.",sprints:[{label:"Sprint 01",weeks:"2–3 weeks",title:"Product Discovery",deliverables:["Product strategy","UX and flow design","Architecture","Cost and roadmap"]},{label:"Sprint 02",weeks:"8–16 weeks",title:"Build to Launch",deliverables:["Design system","Full engineering build","Integrations and data","Launch"]},{label:"Sprint 03",weeks:"Ongoing",title:"Evolve",deliverables:["Analytics-driven roadmap","AI features","Continuous release","Managed support"]}],focus:{eyebrow:"What we build",heading:"Platforms with",italic:"product craft.",items:[{title:"Operational platforms",desc:"Purpose-built systems for how your business actually works."},{title:"Customer portals & apps",desc:"Web and mobile experiences your customers reach for."},{title:"Marketplaces & networks",desc:"Multi-sided platforms with payments, trust and scale designed in."},{title:"Data & analytics products",desc:"Dashboards, reporting and internal analytics as first-class product."}]},engagement:Es("founder"),outcomesHeading:"What good platforms deliver.",outcomes:[{title:"Product-market fit, faster",desc:"Real users, real usage, real feedback — in weeks, not quarters."},{title:"A platform that scales",desc:"Architecture and design that don't need to be rebuilt at series B."},{title:"Competitive advantage",desc:"Software your competitors can't buy off a shelf."}],finalHeadline:"Build the platform",finalItalic:"your business deserves.",finalSupport:"Book a product discovery session. We'll pressure-test the idea, sketch the architecture and give you a straight answer on scope and cost.",finalCta:"Book a Product Discovery"},{slug:"enterprise-applications",kind:"solution",eyebrow:"Capability · Enterprise Applications",title:"Make the platforms you already own",titleItalic:"actually work.",lead:"Implementation, integration and adoption for the enterprise platforms your business runs on — Microsoft Dynamics, Salesforce, ServiceNow, Zoho, HubSpot — plus the AI layer that finally makes them useful.",primaryCta:"Book a Platform Review",kpis:[{k:"Multi-cloud",v:"MS · SFDC · ServiceNow"},{k:"AI-ready",v:"Copilots and automation"},{k:"Adopted",v:"Not just deployed"},{k:"Measured",v:"Value tracked to KPI"}],context:{eyebrow:"The reality",heading:"The problem isn't the platform. It's the implementation.",body:"Most organisations already own the enterprise platform they need. Value gets lost in poor configuration, half-done integrations, low adoption — and the absence of the AI layer that would make the platform actually useful.",points:[{title:"Half-implemented modules",desc:"Modules bought and never turned on. Value paid for, not realised."},{title:"Integration debt",desc:"Point-to-point integrations that nobody documented and nobody trusts."},{title:"Low adoption",desc:"Staff working around the platform in Excel and email."},{title:"No AI layer on top",desc:"The platform is a system of record, not a source of intelligence."}]},sprintsHeading:"Platform work, delivered in sprints.",sprints:[{label:"Sprint 01",weeks:"2–3 weeks",title:"Platform Review",deliverables:["Health check and gap analysis","Adoption asse
514ssment","Integration audit","Prioritised roadmap"]},{label:"Sprint 02",weeks:"6–12 weeks",title:"Rebuild & Extend",deliverables:["Reconfigure priority modules","Rebuild key integrations","Deploy AI copilots","Adoption enablement"]},{label:"Sprint 03",weeks:"Ongoing",title:"Managed Evolution",deliverables:["Roadmap execution","SLA-backed support","Continuous enablement","Executive reporting"]}],focus:{eyebrow:"Platforms we work in",heading:"Deep experience across",italic:"the enterprise stack.",items:[{title:"Microsoft Dynamics & Power Platform",desc:"Sales, Customer Service, Field Service, Business Central, Power Apps, Copilot."},{title:"Salesforce",desc:"Sales, Service, Experience, Data Cloud and Agentforce."},{title:"ServiceNow",desc:"ITSM, CSM, HRSD and workflow across the enterprise."},{title:"Zoho & HubSpot",desc:"Right-sized CRM, marketing and ops for growing organisations."}]},engagement:Es("enterprise"),outcomesHeading:"The change your platform actually delivers.",outcomes:[{title:"Value from what you own",desc:"Modules turned on, integrations trusted, adoption real."},{title:"Intelligent platforms",desc:"Copilots and automation that lift throughput on every workflow."},{title:"Predictable evolution",desc:"A roadmap and a partner that keeps the platform earning."}],finalHeadline:"Make the platform",finalItalic:"you already own actually work.",finalSupport:"Book a platform review. Fixed fee, two weeks, an honest read on where the value is hiding and how to unlock it.",finalCta:"Book a Platform Review"},{slug:"managed-delivery",kind:"solution",eyebrow:"Capability · Managed Delivery",title:"Managed delivery",titleItalic:"as an outcome, not a headcount.",lead:"Ongoing product, platform and AI delivery — SLA-backed, executive-reported and priced against outcomes. We become the extension of your team that ships continuously and reports to your board with the same rigour we deliver with.",primaryCta:"Book a Managed Delivery Briefing",kpis:[{k:"SLA",v:"Backed operations"},{k:"Weekly",v:"Release cadence"},{k:"Executive",v:"Reporting each sprint"},{k:"AU / offshore",v:"Blended delivery"}],context:{eyebrow:"Why managed",heading:"In-house is expensive. Body-shopping doesn't ship.",body:"Most organisations don't want another 20 engineers on payroll — they want outcomes delivered every sprint. Managed delivery gives you a team that ships, reports and evolves the platform without the overhead.",points:[{title:"Delivery risk sits with you",desc:"Traditional resource contracts leave the risk of outcome with the client."},{title:"Knowledge walks out the door",desc:"Every rotation of contractors resets the context and slows delivery."},{title:"No product ownership",desc:"Body-shop models optimise for hours billed, not value released."},{title:"AI evolution is a full-time job",desc:"Platforms need continuous AI investment, not a one-off deployment."}]},sprintsHeading:"A managed engagement, run like a product.",sprints:[{label:"Sprint 01",weeks:"2 weeks",title:"Onboarding",deliverables:["Team, stack and process onboarding","Backlog and roadmap alignment","SLA and reporting model","Governance kick-off"]},{label:"Sprint 02",weeks:"Ongoing",title:"Delivery Cadence",deliverables:["Weekly release cycle","Sprint demos and reporting","Executive dashboard","AI feature rollout"]},{label:"Sprint 03",weeks:"Quarterly",title:"Strategic Review",deliverables:["Value realised vs invested","Roadmap re-shape","Capability planning","Executive briefing"]}],focus:{eyebrow:"What we run",heading:"Managed delivery,",italic:"across the stack.",items:[{title:"Product & platform evolution",desc:"Continuous release of the platforms we've built or inherited."},{title:"AI capability rollout",desc:"New AI features shipped, measured and enabled every sprint."},{title:"Integration & data operations",desc:"Keep the integrations healthy, the data clean, the reporting live."},{title:"SLA support & operations",desc:"24×5 or 24×7 operational support with clear commercial terms."}]},engagement:Es("enterprise"),outcomesHeading:"What managed delivery actually gives you.",outcomes:[{title:"Predictable delivery",desc:"Weekly releases, quarterly outcomes, no drama."}
514,{title:"Compounding capability",desc:"Platform gets better every quarter, not just at go-live."},{title:"Executive-grade reporting",desc:"Board-ready view of investment, delivery and value."}],finalHeadline:"A delivery partner",finalItalic:"you can plan around.",finalSupport:"Book a managed delivery briefing. We'll walk you through how our teams run, how we price and how we report — and where we'd start with your platform.",finalCta:"Book a Briefing"}];function oL(e,t){return(e==="solution"?pS:mS).find(r=>r.slug===t)}const Rm=({kind:e})=>{const{slug:t}=I2(),s=t?oL(e,t):void 0;if(!s)return n.jsx(D2,{to:"/",replace:!0});const r=e==="solution"?"/solutions":"/industries",i=(e==="solution"?pS:mS).filter(o=>o.slug!==s.slug),a=e==="solution"?"Other capabilities":"Other industries";return n.jsxs(Le,{children:[n.jsx(fe,{title:`${s.title} ${s.titleItalic??""}`.trim().replace(/\s+/g," ").slice(0,66)+" — 10xGrowth Labs",description:s.lead.slice(0,158),path:`${r}/${s.slug}`}),n.jsx("section",{className:"pt-8 md:pt-12 pb-20 md:pb-28 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsx("div",{className:"eyebrow mb-10",children:s.eyebrow}),n.jsxs("h1",{className:"font-display text-4xl sm:text-6xl md:text-7xl lg:text-[5.5rem] leading-[1.02] tracking-tight max-w-5xl",children:[s.title,s.titleItalic&&n.jsxs(n.Fragment,{children:[" ",n.jsx("span",{className:"font-serif-italic",children:s.titleItalic})]})]}),n.jsx("p",{className:"mt-10 text-lg md:text-xl text-foreground/70 max-w-3xl leading-relaxed",children:s.lead}),n.jsxs("div",{className:"mt-12 flex flex-col sm:flex-row items-start sm:items-center gap-5",children:[n.jsxs(L,{to:"/contact",className:"inline-flex items-center gap-3 bg-foreground text-background px-7 py-4 text-sm font-semibold tracking-wide uppercase hover:bg-foreground
514/85 transition-colors",children:[s.primaryCta??"Book Discovery Session"," ",n.jsx(W,{className:"w-4 h-4"})]}),s.secondaryCta&&n.jsxs("a",{href:"#approach",className:"inline-flex items-center gap-2 text-sm font-semibold underline underline-offset-8 decoration-foreground/30 hover:decoration-foreground transition-colors",children:[s.secondaryCta," ",n.jsx(We,{className:"w-4 h-4"})]})]})]})}),n.jsx("section",{className:"border-y border-foreground/10 py-14 px-6",children:n.jsx("div",{className:"container mx-auto max-w-7xl grid grid-cols-2 md:grid-cols-4 gap-8",children:s.kpis.map(o=>n.jsxs("div",{children:[n.jsx("div",{className:"font-display text-3xl md:text-5xl tracking-tight",children:o.k}),n.jsx("div",{className:"mt-3 text-sm text-foreground/60 leading-snug",children:o.v})]},o.v))})}),n.jsx("section",{className:"py-24 md:py-32 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"grid md:grid-cols-12 gap-8 md:gap-12 mb-16",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:s.context.eyebrow}),n.jsx("div",{className:"hairline max-w-[3rem]"})]}),n.jsxs("div",{className:"md:col-span-8",children:[n.jsx("h2",{className:"font-display text-3xl md:text-5xl lg:text-6xl leading-[1.05] tracking-tight",children:s.context.heading}),n.jsx("p",{className:"mt-6 text-lg text-foreground/70 max-w-3xl leading-relaxed",children:s.context.body})]})]}),n.jsx("div",{className:"grid md:grid-cols-2 gap-px bg-foreground
514/15 border border-foreground/15",children:s.context.points.map(o=>n.jsxs("div",{className:"bg-background p-8 md:p-10",children:[n.jsx("h3",{className:"font-display text-xl md:text-2xl mb-3",children:o.title}),n.jsx("p",{className:"text-sm text-foreground/70 leading-relaxed",children:o.desc})]},o.title))})]})}),s.aiLayer&&n.jsx(lL,{data:s.aiLayer}),s.video&&n.jsx("section",{className:"ink-theme bg-background text-foreground py-24 md:py-32 px-6 border-t border-foreground/10",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"grid md:grid-cols-12 gap-8 md:gap-12 mb-12",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:s.video.eyebrow}),n.jsx("div",{className:"hairline max-w-[3rem]"})]}),n.jsxs("div",{className:"md:col-span-8",children:[n.jsx("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:s.video.heading}),s.video.body&&n.jsx("p",{className:"mt-6 text-lg text-foreground/70 max-w-3xl leading-relaxed",children:s.video.body})]})]}
514),n.jsx("div",{className:"border border-foreground/15 bg-background overflow-hidden",children:n.jsx("video",{src:s.video.url,poster:s.video.poster,controls:!0,playsInline:!0,preload:"metadata",className:"w-full h-auto block"})})]})}),n.jsx("section",{id:"approach",className:"py-24 md:py-32 px-6 bg-secondary/40 border-y border-foreground/10",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"grid md:grid-cols-12 gap-8 md:gap-12 mb-14",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:"Our approach"}),n.jsx("div",{className:"hairline max-w-[3rem]"})]}),n.jsxs("div",{className:"md:col-span-8",children:[n.jsx("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:s.sprintsHeading}),s.sprintsBody&&n.jsx("p",{className:"mt-6 text-lg text-foreground/70 max-w-3xl leading-relaxed",children:s.sprintsBody})]})]}),n.jsx("div",{className:"grid md:grid-cols-3 gap-px bg-foreground/15 border border-foreground
514/15",children:s.sprints.map(o=>n.jsxs("div",{className:"bg-background p-8 md:p-10",children:[n.jsxs("div",{className:"flex items-baseline justify-between mb-6",children:[n.jsx("div",{className:"eyebrow",children:o.label}),n.jsx("div",{className:"text-xs text-foreground/50 font-medium tracking-wide",children:o.weeks})]}),n.jsx("h3",{className:"font-display text-2xl md:text-3xl mb-6",children:o.title}),n.jsx("ul",{className:"space-y-3 text-[15px] text-foreground/75",children:o.deliverables.map(l=>n.jsxs("li",{className:"flex items-start gap-3",children:[n.jsx("span",{className:"mt-2 h-px w-4 bg-foreground/50 flex-shrink-0"}),n.jsx("span",{children:l})]},l))})]},o.label))})]})}),n.jsx("section",{className:"py-24 md:py-32 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"grid md:grid-cols-12 gap-8 md:gap-12 mb-16",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:s.focus.eyebrow}),n.jsx("div",{className:"hairline max-w-[3rem]"})]}),n.jsx("div",{className:"md:col-span-8",children:n.jsxs("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:[s.focus.heading,s.focus.italic&&n.jsxs(n.Fragment,{children:[" ",n.jsx("span",{className:"font-serif-italic text-foreground/70",children:s.focus.italic})]})]})})]}),n.jsx("div",{className:"grid md:grid-cols-2 gap-px bg-foreground
514/15 border border-foreground/15",children:s.focus.items.map(o=>n.jsxs("div",{className:"bg-background p-8 md:p-10",children:[n.jsx("h3",{className:"font-display text-2xl md:text-3xl mb-4",children:o.title}),n.jsx("p",{className:"text-sm text-foreground/70 leading-relaxed",children:o.desc})]},o.title))})]})}),n.jsx("section",{className:"ink-theme bg-background text-foreground py-24 md:py-32 px-6 border-y border-foreground/10",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"grid md:grid-cols-12 gap-8 md:gap-12 mb-14",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:"Engagement models"}),n.jsx("div",{className:"hairline max-w-[3rem]"})]}),n.jsx("div",{className:"md:col-span-8",children:n.jsxs("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:["Choose the shape of the engagement,",n.jsx("span",{className:"font-serif-italic text-foreground/70",children:" not just the price."})]})})]}),n.jsx("div",{className:"grid md:grid-cols-3 gap-px bg-foreground
514/15 border border-foreground/15",children:s.engagement.map(o=>n.jsxs("div",{className:"bg-background p-8 md:p-10",children:[n.jsx("h3",{className:"font-display text-2xl md:text-3xl",children:o.title}),n.jsx("div",{className:"eyebrow mt-3 mb-6",children:o.subtitle}),n.jsx("ul",{className:"space-y-3 text-[15px] text-foreground/75",children:o.points.map(l=>n.jsxs("li",{className:"flex items-start gap-3",children:[n.jsx("span",{className:"mt-2 h-px w-4 bg-foreground/50 flex-shrink-0"}),n.jsx("span",{children:l})]},l))})]},o.title))})]})}),n.jsx("section",{className:"py-24 md:py-32 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"grid md:grid-cols-12 gap-8 md:gap-12 mb-14",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:"Outcomes"}),n.jsx("div",{className:"hairline max-w-[3rem]"})]}),n.jsx("div",{className:"md:col-span-8",children:n.jsx("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:s.outcomesHeading})})]}),n.jsx("div",{className:"grid md:grid-cols-3 gap-px bg-foreground
514/15 border border-foreground/15",children:s.outcomes.map(o=>n.jsxs("div",{className:"bg-background p-8 md:p-10",children:[n.jsx("h3",{className:"font-display text-xl md:text-2xl mb-4",children:o.title}),n.jsx("p",{className:"text-sm text-foreground/70 leading-relaxed",children:o.desc})]},o.title))})]})}),n.jsx("section",{className:"py-28 md:py-40 px-6 border-t border-foreground/10",children:n.jsxs("div",{className:"container mx-auto max-w-5xl text-center",children:[n.jsxs("h2",{className:"font-display text-4xl md:text-6xl leading-[1.05] tracking-tight",children:[s.finalHeadline,s.finalItalic&&n.jsxs(n.Fragment,{children:[" ",n.jsx("span",{className:"font-serif-italic",children:s.finalItalic})]})]}),n.jsx("p",{className:"mt-8 text-lg text-foreground/70 max-w-2xl mx-auto leading-relaxed",children:s.finalSupport}),n.jsx("div",{className:"mt-12",children:n.jsxs(L,{to:"/contact",className:"inline-flex items-center gap-3 bg-foreground text-background px-8 py-4 text-sm font-semibold tracking-wide uppercase hover:bg-foreground
514/85 transition-colors",children:[s.finalCta," ",n.jsx(W,{className:"w-4 h-4"})]})})]})}),n.jsx("section",{className:"py-16 md:py-20 px-6 border-t border-foreground/10",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsx("div",{className:"eyebrow mb-8",children:a}),n.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-px bg-foreground/15 border border-foreground/15",children:i.slice(0,6).map(o=>n.jsxs(L,{to:`${r}/${o.slug}`,className:"group bg-background p-6 md:p-8 flex items-start justify-between hover:bg-secondary/60 transition-colors",children:[n.jsxs("div",{children:[n.jsx("div",{className:"eyebrow mb-3",children:o.eyebrow}),n.jsx("div",{className:"font-display text-lg md:text-xl",children:o.title})]}),n.jsx(We,{className:"w-5 h-5 text-foreground/40 group-hover:text-foreground group-hover:translate-x-1 group-hover:-translate-y-1 transition-all"})]},o.slug))})]})})]})},lL=({data:e})=>n.jsx("section",{className:"py-24 md:py-32 px-6 border-t border-foreground/10",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"grid md:grid-cols-12 gap-8 md:gap-12 mb-14",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:e.eyebrow}),n.jsx("div",{className:"hairline max-w-[3rem]"})]}),n.jsxs("div",{className:"md:col-span-8",children:[n.jsxs("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:[e.heading,e.italic&&n.jsxs(n.Fragment,{children:[" ",n.jsx("span",{className:"font-serif-italic text-foreground/70",children:e.italic})]})]}),n.jsx("p",{className:"mt-6 text-lg text-foreground/70 max-w-3xl leading-relaxed",children:e.body})]})]}
514),n.jsxs("div",{className:"border border-foreground/15 bg-background p-6 md:p-10",children:[n.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-4 mb-8 pb-6 border-b border-foreground/10",children:[n.jsx("div",{className:"text-xs uppercase tracking-[0.2em] text-foreground/50 font-semibold",children:"Citizens · Staff · Executives · Partners"}),n.jsx("div",{className:"text-xs text-foreground/40 font-medium",children:"Experiences · Portals · Copilots"})]}),n.jsx("div",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-2 mb-4",children:e.capabilities.map(t=>n.jsx("div",{className:"border border-foreground/15 bg-secondary/50 p-4 text-center text-xs md:text-sm font-medium leading-snug",children:t},t))}),n.jsxs("div",{className:"ink-theme bg-background text-foreground border border-foreground/20 py-6 px-6 mb-4 text-center",children:[n.jsx("div",{className:"eyebrow mb-2 text-foreground/60",children:"AI Layer"}),n.jsx("div",{className:"font-display text-xl md:text-2xl tracking-tight",children:e.layer}),n.jsx("div",{className:"mt-2 text-xs text-foreground/60 tracking-wide",children:"Orchestration · Grounding · Governance · Human-in-the-loop"})]}),n.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[n.jsx("div",{className:"flex-1 h-px bg-foreground
514/20"}),n.jsx("div",{className:"text-[10px] uppercase tracking-[0.25em] text-foreground/40 font-semibold",children:"Governed integrations"}),n.jsx("div",{className:"flex-1 h-px bg-foreground/20"})]}),n.jsx("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-2",children:e.systems.map(t=>n.jsxs("div",{className:"border border-foreground/15 bg-background p-4",children:[n.jsx("div",{className:"font-display text-sm md:text-base font-semibold",children:t.label}),t.note&&n.jsx("div",{className:"mt-1 text-[11px] text-foreground/50 leading-snug",children:t.note})]},t.label))}),n.jsx("div",{className:"mt-6 pt-6 border-t border-foreground/10 text-xs text-foreground/50 leading-relaxed",children:"Records, transactions and workflow stay in your systems of truth. The AI layer orchestrates across them — with governance, audit and human oversight designed in from day one."})]})]})}),Qc="/industries/construction-software",cL=[{title:"Project and job management",state:"Available today",body:"Every project, job and work order in one structure — programmed, allocated and tracked against budget and site reality.",points:["Projects, stages and job records","Work orders across crews and sites","Cost codes and budget tracking","Progress capture against schedule"]},{title:"Workforce and subcontractor scheduling",state:"Available today",body:"Construction workforce management for direct labour and subcontractors, with skills, tickets and availability in one view.",points:["Crew and subcontractor scheduling","Licences, tickets and inductions","Subcontractor management software records","Insurance and compliance expiry alerts"]},{title:"Site attendance and timesheets",state:"Available today",body:"Who was on site, when, and against which job — captured on mobile rather than reconstructed on Friday afternoon.",points:["Mobile start/finish and site attendance","Timesheets against jobs and cost codes","Allowances and overtime rules","Payroll handover files"]},{title:"Equipment and asset management",state:"Available today",body:"Plant, equipment and tools tracked by location, allocation and service position, so hire costs and downtime stop hiding.",points:["Asset register and site allocation","Service schedules and defects","Hire vs. owned cost visibility","Pre-start checks on mobile"]},{title:"Safety and compliance documentation",state:"Available today",body:"Construction compliance software: SWMS, JSAs, inductions and incidents held against the job with a full audit trail.",points:["
514SWMS, JSA and induction registers","Incident and hazard reporting","Toolbox talks and sign-offs","Audit-ready evidence per project"]},{title:"Forms, permits and inspections",state:"Configurable",body:"Your own forms, not a vendor's. We configure the checklists, permits and inspections your operation actually uses.",points:["Configurable digital forms","Permits to work and approvals","Quality and ITP inspections","Conditional logic and mandatory evidence"]},{title:"Variations and approvals",state:"Configurable",body:"Variation and approval workflows routed by value, project and role, with the trail attached to the claim.",points:["Variation capture from site","Multi-step approval routing","Progress claim support","Approval history and audit trail"]},{title:"Photos and field documentation",state:"Available today",body:"Site photos, notes and documents captured against the job — instead of scattered across phones and group chats.",points:["Photo capture with job context","Site diaries and daily notes","Document storage per project","Offline capture for poor coverage"]},{title:"Customer and contractor portals",state:"Configurable",body:"Give clients, head contractors and subbies their own view of status, documents and approvals.",points:["Client project status view","Subcontractor job and document access","Shared approvals and sign-offs","Controlled, role-based visibility"]},{title:"Mobile access for site teams",state:"Available today",body:"A construction mobile app for the people on the tools — the smallest possible number of taps to record real work.",points:["iOS and Android apps","Offline-first capture","Photos, signatures and notes","Job details and site instructions"]},{title:"Invoicing and financial integrations",state:"Configurable",body:"Job-to-invoice in one pass, integrated with the finance system you already run rather than replacing it.",points:["Invoice generation from job records","Xero, MYOB and ERP integration","Retention and progress billing support","Job costing reconciliation"]},{title:"Dashboards and operational reporting",state:"Available today",body:"Live operational reporting across projects, crews, compliance and cost — from records already captured.",points:["Project and crew dashboards","Compliance and expiry reporting","Labour and plant utilisation","Executive summary reporting"]},{title:"AI-assisted administration",state:"Custom build",body:"Where it earns its place, we build AI into the admin: summarising site records, extracting data from supplier documents and drafting routine correspondence. Scoped and built per client, with a human approving anything that leaves the business.",points:["Site record and diary summarisation","Document and invoice data extraction","Drafting routine correspondence","Human review on every output"]}],h0=[{q:"Is this an off-the-shelf construction management software product?",a:"It is a configurable platform, not a fixed product. OpsSync provides the underlying operational model — jobs, workforce, assets, compliance and finance — and we configure it around your workflows. Where something genuinely does not exist yet, we build it as custom development and say so up front."},{q:"Do we have to replace Xero, MYOB or our ERP?",a:"No. The platform sits alongside your finance system as the operational layer. Invoices, timesheets and job costs flow across the integration rather than being entered twice."},{q:"Will site teams actually use it?",a:"That is the deciding factor, so the mobile experience is designed around the fewest possible taps, works offline, and is piloted with one crew before any wider rollout."},{q:"How long does an implementation take?",a:"A typical rollout runs 8–12 weeks per operating unit — discovery, configuration, pilot, then scale — with a working system in use during that window rather than at the end of it."}],dL=()=>n.jsxs(Le,{children:[n.jsx(fe,{title:"Construction Management Software Australia | OpsSync",description:"Construction operations software for jobs, workers, subcontractors, equipment, compliance, documentation and project visibility.",path:Qc,jsonLd:[Wx({name:"OpsSync for Construction",description:"Construction operations software for projects, jobs, workforce, subcontractors, equipment, compliance, documentation and reporting.",path:Qc}),ur([{name:"Industries",path:Qc},{name:"Construction Software",path:Qc}]),Vx(h0)]}),n.jsx("section",{className:"pt-8 md:pt-12 pb-16 md:pb-20 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsx("div",{className:"eyebrow mb-6",children:"Industries · Construction"}),n.jsxs("h1",{className:"font-display text-[40px] sm:text-5xl md:text-6xl lg:text-[80px] leading-[0.98] tracking-[-0.02em] max-w-5xl",children:["Construction Operations Software",n.jsx("br",{}),n.jsx("span",{className:"font-serif-italic",children:"Built Around Your Workflows."})]}
514),n.jsx("p",{className:"mt-8 text-lg md:text-xl text-foreground/70 max-w-3xl leading-relaxed",children:"Construction software for Australian builders, subcontractors and trade businesses that have outgrown spreadsheets, group chats and three disconnected tools. Projects, people, plant, compliance and cost held in one operational record — configured around how your business already runs."}),n.jsxs("p",{className:"mt-6 text-base text-foreground/65 max-w-3xl leading-relaxed",children:["Delivered on"," ",n.jsx(L,{to:"/platform-suite/opssync",className:"underline underline-offset-4 decoration-foreground/30 hover:decoration-foreground transition-colors",children:"OpsSync, our field service and workforce platform"}),", with"," ",n.jsx(L,{to:"/services/digital",className:"underline underline-offset-4 decoration-foreground/30 hover:decoration-foreground transition-colors",children:"custom development"})," ","and"," ",n.jsx(L,{to:"/services/automation",className:"underline underline-offset-4 decoration-foreground/30 hover:decoration-foreground transition-colors",children:"process automation"})," ","where your operation needs something the base platform does not cover."]}),n.jsxs("div",{className:"mt-12 flex flex-wrap gap-4",children:[n.jsxs(L,{to:"/contact",className:"group inline-flex items-center gap-3 bg-foreground text-background px-7 py-4 text-sm font-semibold tracking-wide uppercase hover:bg-foreground
514/85 transition-colors",children:["Book a discovery session ",n.jsx(W,{className:"w-4 h-4 group-hover:translate-x-1 transition-transform"})]}),n.jsxs(L,{to:"/platform-suite/opssync",className:"inline-flex items-center gap-2 border border-foreground/25 px-7 py-4 text-sm font-semibold tracking-wide uppercase hover:border-foreground/60 transition-colors",children:["See the OpsSync platform ",n.jsx(We,{className:"w-4 h-4"})]})]})]})}),n.jsx("section",{className:"border-t border-foreground/10 bg-secondary/40 py-14 md:py-16 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsx("div",{className:"eyebrow mb-6",children:"How to read this page"}),n.jsxs("div",{className:"grid md:grid-cols-3 gap-px bg-foreground/15 border border-foreground/15",children:[n.jsxs("div",{className:"bg-background p-7",children:[n.jsx("h2",{className:"font-display text-lg mb-2",children:"Available today"}),n.jsx("p",{className:"text-sm text-foreground/70 leading-relaxed",children:"Running in production on OpsSync now."})]}),n.jsxs("div",{className:"bg-background p-7",children:[n.jsx("h2",{className:"font-display text-lg mb-2",children:"Configurable"}),n.jsx("p",{className:"text-sm text-foreground/70 leading-relaxed",children:"Exists in the platform and is set up to match your rules, forms and approvals."})]}),n.jsxs("div",{className:"bg-background p-7",children:[n.jsx("h2",{className:"font-display text-lg mb-2",children:"Custom build"}),n.jsx("p",{className:"text-sm text-foreground/70 leading-relaxed",children:"Scoped and engineered for you — not available out of the box, and quoted as development."})]})]})]})}
514),n.jsx("section",{className:"border-t border-foreground/10 py-4 px-6",children:n.jsx("div",{className:"container mx-auto max-w-7xl divide-y divide-foreground/15",children:cL.map((e,t)=>n.jsxs("article",{className:"grid md:grid-cols-12 gap-8 md:gap-12 py-12 md:py-16",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:String(t+1).padStart(2,"0")}),n.jsx("h2",{className:"font-display text-2xl md:text-3xl leading-tight tracking-tight",children:e.title}),n.jsx("span",{className:"mt-4 inline-flex items-center border border-foreground/25 px-2.5 py-1 text-[10px] uppercase tracking-[0.15em] font-semibold text-foreground/70",children:e.state})]}),n.jsxs("div",{className:"md:col-span-8 md:pl-8 md:border-l border-foreground/15",children:[n.jsx("p",{className:"text-base md:text-lg text-foreground/75 max-w-2xl leading-relaxed",children:e.body}),n.jsx("ul",{className:"mt-7 grid sm:grid-cols-2 gap-x-6 gap-y-3",children:e.points.map(s=>n.jsx("li",{className:"text-sm text-foreground/75 pt-3 border-t border-foreground
514/20",children:s},s))})]})]},e.title))})}),n.jsx("section",{className:"border-t border-foreground/10 bg-secondary/40 py-24 md:py-32 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-5xl",children:[n.jsx("div",{className:"eyebrow mb-8",children:"Frequently asked"}),n.jsx("div",{className:"divide-y divide-foreground/15 border-y border-foreground/15",children:h0.map(e=>n.jsxs("details",{className:"group py-6",children:[n.jsxs("summary",{className:"flex items-start justify-between gap-6 cursor-pointer list-none",children:[n.jsx("h2",{className:"font-display text-lg md:text-xl leading-snug",children:e.q}),n.jsx("span",{className:"mt-1 text-foreground/50 group-open:rotate-45 transition-transform text-2xl leading-none",children:"+"})]}),n.jsx("p",{className:"mt-4 text-sm md:text-base text-foreground/70 leading-relaxed max-w-3xl",children:e.a})]},e.q))})]})}),n.jsx("section",{className:"ink-theme bg-background text-foreground py-24 md:py-32 px-6 border-t border-foreground/10",children:n.jsxs("div",{className:"container mx-auto max-w-5xl text-center",children:[n.jsx("div",{className:"eyebrow mb-8",children:"Next step"}),n.jsxs("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:["Show us one week of site admin.",n.jsx("br",{}),n.jsx("span",{className:"font-serif-italic",children:"We'll show you what it looks like configured."})]}),n.jsx("div",{className:"mt-12",children:n.jsxs(L,{to:"/contact",className:"inline-flex items-center gap-3 bg-foreground text-background px-8 py-4 text-sm font-semibold tracking-wide uppercase hover:bg-foreground
514/85 transition-colors",children:["Talk to our team ",n.jsx(W,{className:"w-4 h-4"})]})})]})})]}),fS="/assets/neeraj-bbgK2P_r.jpeg",uL="/assets/alisha-D4fXXRlI.jpg",hL=1,mL="90450346-edd1-4680-b515-0fdbc2503afc",pL="2303a136-ebed-4a95-9f74-22b71420daa4",fL="/__l5e/assets-v1/90450346-edd1-4680-b515-0fdbc2503afc/alan-thomas.png",gL="a/v1/2303a136-ebed-4a95-9f74-22b71420daa4/90450346-edd1-4680-b515-0fdbc2503afc/alan-thomas.png",xL="alan-thomas.png",yL=179864,vL="image/png",bL="2026-07-24T05:48:25Z",gS={version:hL,asset_id:mL,project_id:pL,url:fL,r2_key:gL,original_filename:xL,size:yL,content_type:vL,created_at:bL},wL=[{name:"Neeraj Kapoor",role:"CEO · Digital Transformation & AI",photo:fS,linkedin:"https://www.linkedin.com/in/neeraj-k-7890045/",bio:["Neeraj Kapoor is CEO of 10xGrowth Labs. Twenty years across business applications, AI and enterprise transformation — including a Director role leading Microsoft Business Applications — delivered for organisations across Australia, the US and the Middle East.","He has led product, delivery and AI transformation programs for enterprises, governments and Tier-1 Microsoft partners. Today he works hands-on with founders, executives and program owners on the platforms and products that matter most."],highlights:["Ex-Director — Microsoft Business Applications","Dynamics 365, Power Platform, Azure, data & AI","Digital & AI transformation for enterprises and governments","Advisor to founders and scale-ups across AU · US · UAE"]},{name:"Alan Thomas",role:"General Manager",photo:gS.url,linkedin:"https://www.linkedin.com/in/alan-thomas-a71aa07/",bio:["Alan Thomas is General Manager at 10xGrowth Labs. Three decades of senior leadership across sales, operations and business transformation — including GM at DWS — turned into a practical operator's lens on how organisations actually run.","He works directly with executives and program sponsors to shape engagements, keep delivery accountable, and make sure every product, platform and AI program lands with measurable outcomes on the ground."],highlights:["Ex-General Manager — DWS","30+ years across enterprise sales, operations and transformation","Executive-level engagement and program governance","Trusted advisor to founders, boards and government leaders"]},{name:"Alisha",role:"Head of CX & UX",photo:uL,linkedin:"https://10xgrowth.com.au",bio:["Alisha leads customer experience and product design at 10xGrowth Labs. She turns complex operational problems — inside councils, enterprises and startups — into products people actually want to use.","Her practice spans user research, service design, UX strategy and design systems. She works alongside engineering and delivery to make sure every product ships with clarity, craft and measurable outcomes."],highlights:["Head of CX & UX at 10xGrowth Labs","Service design, user research & UX strategy","Design systems and product craft at scale","Enterprise, government and consumer products"]}],jL=()=>n.jsxs(Le,{children:[n.jsx(fe,{title:"About — 10xGrowth Labs",description:"10xGrowth Labs is a digital transformation and product firm — helping enterprises, governments and founders design and deliver software that matters.",path:"/about"}),n.jsx("section",{className:"pt-8 md:pt-12 pb-20 md:pb-28 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsx("div",{className:"eyebrow mb-10",children:"About"}),n.jsxs("h1",{className:"font-display text-4xl sm:text-6xl md:text-7xl lg:text-8xl leading-[1.02] tracking-tight max-w-5xl",children:["A studio built to ",n.jsx("span",{className:"font-serif-italic",children:"design, build and deliver."})]}),n.jsx("p",{className:"mt-10 text-lg md:text-xl text-foreground/70 max-w-3xl leading-relaxed",children:"10xGrowth Labs is a digital transformation and product firm working with enterprises, governments and founders on the platforms, products and AI systems that shape how organisations operate."})]})}
514),n.jsx("section",{className:"border-t border-foreground/10 py-24 md:py-32 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsx("div",{className:"eyebrow mb-12",children:"Founding Team"}),n.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-px bg-foreground/15 border border-foreground/15",children:wL.map(e=>n.jsxs("article",{className:"bg-background p-8 md:p-10 flex flex-col",children:[n.jsxs("div",{className:"grid grid-cols-5 gap-6 items-start mb-8",children:[n.jsx("div",{className:"col-span-2 aspect-[4/5] overflow-hidden border border-foreground/10",children:n.jsx("img",{src:e.photo,alt:e.name,className:"w-full h-full object-cover"})}),n.jsxs("div",{className:"col-span-3",children:[n.jsx("h2",{className:"font-display text-2xl md:text-3xl leading-tight",children:e.name}),n.jsx("p",{className:"mt-2 text-sm text-foreground/60",children:e.role}),n.jsxs("a",{href:e.linkedin,target:"_blank",rel:"noopener noreferrer",className:"mt-5 inline-flex items-center gap-2 text-xs font-semibold uppercase tracking-wide text-foreground/70 hover:text-foreground transition-colors",children:[n.jsx(yx,{className:"w-4 h-4"})," LinkedIn"]})]})]}),n.jsx("div",{className:"space-y-4 text-foreground/75 text-[15px] leading-relaxed mb-8",children:e.bio.map((t,s)=>n.jsx("p",{children:t},s))}),n.jsx("ul",{className:"mt-auto space-y-2.5 text-sm text-foreground/75 border-t border-foreground
514/15 pt-6",children:e.highlights.map(t=>n.jsxs("li",{className:"flex items-start gap-3",children:[n.jsx("span",{className:"mt-2 h-px w-4 bg-foreground/50 flex-shrink-0"}),n.jsx("span",{children:t})]},t))})]},e.name))})]})}),n.jsx("section",{className:"border-t border-foreground/10 bg-secondary/40 py-24 md:py-32 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"grid md:grid-cols-12 gap-8 mb-16",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:"What We Do"}),n.jsx("div",{className:"hairline max-w-[3rem]"})]}),n.jsx("div",{className:"md:col-span-8",children:n.jsxs("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:["Product, platform and AI work —",n.jsx("span",{className:"font-serif-italic text-foreground/70",children:" shipped, not shelved."})]})})]}),n.jsx("div",{className:"grid md:grid-cols-3 gap-px bg-foreground/15 border border-foreground/15",children:[{t:"Digital Products",d:"MVPs, mobile and web apps built for real customers, real revenue and real investors."},{t:"AI & Automation",d:"Agents, copilots and workflow AI engineered for accuracy, safety and audit."},{t:"Enterprise Platforms",d:"Microsoft, Salesforce, Zoho and custom platforms — implemented and integrated."},{t:"Operations Modernisation",d:"Replacing spreadsheets and legacy tools with reliable, auditable systems."},{t:"Product Design & UX",d:"Research, service design and UX strategy that make complex operations usable."},{t:"Managed Delivery",d:"Ongoing evolution, integration and support — SLA-backed and outcome-measured."}].map(e=>n.jsxs("div",{className:"bg-background p-8 md:p-10",children:[n.jsx("h3",{className:"font-display text-xl md:text-2xl mb-4",children:e.t}),n.jsx("p",{className:"text-sm text-foreground/70 leading-relaxed",children:e.d})]},e.t))})]})}),n.jsx("section",{className:"ink-theme bg-background text-foreground py-32 md:py-40 px-6 border-t border-foreground
514/10",children:n.jsxs("div",{className:"container mx-auto max-w-5xl text-center",children:[n.jsx("div",{className:"eyebrow mb-8",children:"Let's talk"}),n.jsxs("h2",{className:"font-display text-4xl md:text-6xl leading-[1.05] tracking-tight",children:["Let's build ",n.jsx("span",{className:"font-serif-italic",children:"what's next."})]}),n.jsxs("div",{className:"mt-12 flex flex-col sm:flex-row items-center justify-center gap-5",children:[n.jsxs(L,{to:"/contact",className:"inline-flex items-center gap-3 bg-foreground text-background px-7 py-4 text-sm font-semibold tracking-wide uppercase hover:bg-foreground/85 transition-colors",children:["Book Discovery Session ",n.jsx(W,{className:"w-4 h-4"})]}),n.jsxs(L,{to:"/work",className:"inline-flex items-center gap-2 text-sm font-semibold underline underline-offset-8 decoration-foreground/30 hover:decoration-foreground transition-colors",children:["See our work ",n.jsx(We,{className:"w-4 h-4"})]})]})]})})]}),kL=[{n:"01",icon:kN,title:"Validate",free:!0,desc:"Market research, competitor analysis and idea validation before a single line of code.",deliverables:["Problem & opportunity brief","Competitor & market snapshot","Target user & jobs-to-be-done","Go / no-go recommendation"]},{n:"02",icon:ph,title:"Blueprint",free:!0,desc:"Wireframes, architecture, AI strategy and a detailed cost roadmap — normally valued at $15,000.",deliverables:["Wireframes & user flows","Technical architecture","AI & automation strategy","Phased cost & timeline roadmap"]},{n:"03",icon:oP,title:"Build",desc:"Agile development with weekly sprints, real-time demos and constant iteration.",deliverables:["Weekly demos & progress","Production-ready codebase","QA, security & accessibility","Launch on App Store / web"]},{n:"04",icon:Nx,title:"Scale",desc:"Performance optimisation, AI augmentation and infrastructure that handles millions.",deliverables:["Performance & infra hardening","AI features & automation","Analytics & growth loops","Ongoing product partnership"]}],NL=[{t:"Strategy before software",d:"We pressure-test the problem before building the product."},{t:"Senior product thinking",d:"Not just developers — product, UX, architecture and launch thinking."},{t:"Built to scale",d:"Clean code, modern infrastructure, full IP ownership and documentation."},{t:"AI where it makes sense",d:"We use AI to improve speed, efficiency and UX — not to chase hype."},{t:"Commercial focus",d:"Every feature needs a business reason, not just a technical one."}],SL=()=>n.jsxs("div",{className:"min-h-screen bg-navy-deep text-foreground",children:[n.jsx(fe,{title:"Our Method — Validate, Blueprint, Build, Scale",description:"How 10xGrowth Labs ships software: validate the idea, blueprint the build, agile delivery, then scale with AI and automation.",path:"/method"}),n.jsx(ac,{}),n.jsx("section",{className:"py-16 sm:py-24 px-3 sm:px-6 border-b border-border/30",children:n.jsxs("div",{className:"container mx-auto max-w-5xl text-center",children:[n.jsx("p",{className:"text-labs text-xs font-bold tracking-[0.2em] uppercase mb-3 font-display",children:"Our Method"}),n.jsxs("h1",{className:"text-4xl md:text-5xl lg:text-6xl font-bold font-display leading-[1.05] mb-6",children:["Validate → Blueprint →"," ",n.jsx("span",{className:"bg-gradient-labs bg-clip-text text-transparent",children:"Build → Scale."})]}),n.jsx("p",{className:"text-muted-foreground text-base md:text-lg max-w-2xl mx-auto leading-relaxed",children:"A proven four-stage framework that de-risks your product journey — from idea to scale. The first two stages are free for qualifying projects."})]})}),n.jsx("section",{className:"border-b border-border/30 bg-navy-light/20",children:n.jsx("div",{className:"container mx-auto max-w-6xl px-4 sm:px-6 py-16 md:py-24",children:n.jsxs("div",{className:"grid lg:grid-cols-[1fr_1.1fr] gap-10 lg:gap-16 items-center",children:[n.jsxs("div",{className:"relative mx-auto w-full max-w-[340px] order-2 lg:order-1",children:[n.jsx("div",{className:"absolute -inset-6 rounded-[3rem] bg-labs/20 blur-3xl pointer-events-none"}),n.jsx("div",{className:"relative rounded-[2.25rem] border border-labs/40 bg-navy-deep p-2 shadow-[0_30px_80px_-20px_hsl(var(--labs)/0.4)]",children:n.jsx(Si,{src:"/__l5e/assets-v1/789deede-b7e9-4019-b220-d1b94e46a430/million-dollar-idea.mp4",poster:zx,title:"Is your idea a million-dollar app?",className:"block w-full rounded-[1.75rem]",mediaClassName:"w-full aspect-[9/16] rounded-[1.75rem] object-cover bg-black"})})]}),n.jsxs("div",{className:"order-1 lg:order-2",children:[n.jsx("span",{className:"inline-block text-[11px] font-bold font-display tracking-[0.18em] text-labs uppercase mb-3",children:"Watch · 60 seconds"}),n.jsxs("h2",{className:"text-3xl md:text-5xl font-bold font-display leading-[1.05] tracking-tight mb-5",children:["Is your idea a ",n.jsx("span",{className:"bg-gradient-labs bg-clip-text text-transparent",children:"million-dollar app?"})]}),n.jsx("p",{className:"text-base md:text-lg text-muted-foreground leading-relaxed max-w-xl",children:"The 60-second gut-check we run inside every Validate stage — before we ever draw a wireframe or quote a build."})]})]})})}),n.jsx("section",{className:"py-16 sm:py-24 px-3 sm:px-6 border-b border-border/30 bg-navy-light/30",children:n.jsx("div",{className:"container mx-auto max-w-6xl space-y-6",children:kL.map(e=>n.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-12 gap-6 p-6 md:p-8 rounded-2xl border border-border/40 bg-navy-deep/40 hover:border-labs/40 transition-all",children:[n.jsxs("div",{className:"md:col-span-4 flex items-start gap-4",children:[n.jsx("div",{className:"w-12 h-12 rounded-xl bg-gradient-labs flex items-center justify-center shrink-0",children:n.jsx(e.icon,{className:"w-5 h-5 text-navy-deep"})}),n.jsxs("div",{children:[n.jsxs("div",{className:"text-xs font-display font-bold text-labs tracking-[0.2em] uppercase",children:["Stage ",e.n]}),n.jsx("h3",{className:"font-display font-bold text-2xl md:text-3xl mt-1",children:e.title}),e.free&&n.jsx("span",{className:"inline-block mt-2 text-[10px] font-bold font-display uppercase tracking-wider text-labs bg-labs/10 border border-labs/30 px-2 py-1 rounded-full",children:"$0 — Free"})]})]}),n.jsxs("div",{className:"md:col-span-8",children:[n.jsx("p",{className:"text-muted-foreground text-base leading-relaxed mb-4",children:e.desc}),n.jsx("ul",{className:"grid grid-cols-1 sm:grid-cols-2 gap-2.5 text-sm",children:e.deliverables.map(t=>n.jsxs("li",{className:"flex gap-2.5",children:[n.jsx(Ye,{className:"w-4 h-4 text-labs flex-shrink-0 mt-0.5"}),n.jsx("span",{children:t})]},t))})]})]},e.n))})}),n.jsx("section",{className:"py-16 sm:py-24 px-3 sm:px-6 border-b border-border/30",children:n.jsxs("div",{className:"container mx-auto max-w-6xl",children:[n.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-8 mb-12 items-end",children:[n.jsxs("div",{children:[n.jsx("p",{className:"text-labs text-xs font-bold tracking-[0.2em] uppercase mb-3 font-display",children:"Principles"}),n.jsxs("h2",{className:"text-3xl md:text-4xl lg:text-5xl font-bold font-display leading-[1.1]",children:["How we"," ",n.jsx("span",{className:"bg-gradient-labs bg-clip-text text-transparent",children:"actually work."})]})]}),n.jsx("p",{className:"text-muted-foreground text-base md:text-lg leading-relaxed md:text-right",children:"Five non-negotiables that shape every engagement."})]}),n.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-5 ga
514p-4",children:NL.map(e=>n.jsxs("div",{className:"p-5 rounded-2xl border border-border/40 bg-navy-deep/40 hover:border-labs/40 transition-all",children:[n.jsx("h3",{className:"font-display font-bold text-base mb-2",children:e.t}),n.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed",children:e.d})]},e.t))})]})}),n.jsx("section",{className:"py-16 sm:py-24 px-3 sm:px-6",children:n.jsxs("div",{className:"container mx-auto max-w-3xl text-center",children:[n.jsx(ki,{className:"w-10 h-10 text-labs mx-auto mb-6"}),n.jsxs("h2",{className:"text-3xl md:text-5xl font-bold font-display mb-5 leading-[1.1]",children:["Start with a free"," ",n.jsx("span",{className:"bg-gradient-labs bg-clip-text text-transparent",children:"Blueprint."})]}),n.jsx("p",{className:"text-muted-foreground text-base md:text-lg mb-10 max-w-xl mx-auto",children:"Stages 1 and 2 — Validate and Blueprint — are free for qualifying projects. You walk away with clarity, scope and cost before committing."}),n.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-center gap-4",children:[n.jsxs(L,{to:"/blueprint",className:"inline-flex items-center gap-2 bg-gradient-labs text-navy-deep px-7 py-3.5 rounded-xl font-bold font-display text-sm hover:scale-[1.02] transition-all",children:["Get Your Free Blueprint ",n.jsx(W,{className:"w-4 h-4"})]}),n.jsxs(L,{to:"/about",className:"inline-flex items-center gap-2 px-7 py-3.5 rounded-xl border border-labs/40 text-foreground hover:bg-labs/10 hover:border-labs transition-all font-display font-semibold text-sm",children:["About Us ",n.jsx(W,{className:"w-4 h-4"})]})]})]})})]});var ve;(function(e){e.assertEqual=i=>{};function t(i){}e.assertIs=t;function s(i){throw new Error}e.assertNever=s,e.arrayToEnum=i=>{const a={};for(const o of i)a[o]=o;return a},e.getValidEnumValues=i=>{const a=e.objectKeys(i).filter(l=>typeof i[i[l]]!="number"),o={};for(const l of a)o[l]=i[l];return e.objectValues(o)},e.objectValues=i=>e.objectKeys(i).map(function(a){return i[a]}),e.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{const a=[];for(const o in i)Object.prototype.hasOwnProperty.call(i,o)&&a.push(o);return a},e.find=(i,a)=>{for(const o of i)if(a(o))return o},e.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&Number.isFinite(i)&&Math.floor(i)===i;function r(i,a=" | "){return i.map(o=>typeof o=="string"?`'${o}'`:o).join(a)}e.joinValues=r,e.jsonStringifyReplacer=(i,a)=>typeof a=="bigint"?a.toString():a})(ve||(ve={}));var m0;(function(e){e.mergeShapes=(t,s)=>({...t,...s})})(m0||(m0={}));const X=ve.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Jr=e=>{switch(typeof e){case"undefined":return X.undefined;case"string":return X.string;case"number":return Number.isNaN(e)?X.nan:X.number;case"boolean":return X.boolean;case"function":return X.function;case"bigint":return X.bigint;case"symbol":return X.symbol;case"object":return Array.isArray(e)?X.array:e===null?X.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?X.promise:typeof Map<"u"&&e instanceof Map?X.map:typeof Set<"u"&&e instanceof Set?X.set:typeof Date<"u"&&e instanceof Date?X.date:X.object;default:return X.unknown}}
vendor: 4,685 bytes, line 514
514,U=ve.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class Rr extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};const s=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,s):this.__proto__=s,this.name="ZodError",this.issues=t}format(t){const s=t||function(a){return a.message},r={_errors:[]},i=a=>{for(const o of a.issues)if(o.code==="invalid_union")o.unionErrors.map(i);else if(o.code==="invalid_return_type")i(o.returnTypeError);else if(o.code==="invalid_arguments")i(o.argumentsError);else if(o.path.length===0)r._errors.push(s(o));else{let l=r,c=0;for(;c<o.path.length;){const d=o.path[c];c===o.path.length-1?(l[d]=l[d]||{_errors:[]},l[d]._errors.push(s(o))):l[d]=l[d]||{_errors:[]},l=l[d],c++}}};return i(this),r}static assert(t){if(!(t instanceof Rr))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,ve.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=s=>s.message){const s={},r=[];for(const i of this.issues)if(i.path.length>0){const a=i.path[0];s[a]=s[a]||[],s[a].push(t(i))}else r.push(t(i));return{formErrors:r,fieldErrors:s}}get formErrors(){return this.flatten()}}Rr.create=e=>new Rr(e);const Df=(e,t)=>{let s;switch(e.code){case U.invalid_type:e.received===X.undefined?s="Required":s=`Expected ${e.expected}, received ${e.received}`;break;case U.invalid_literal:s=`Invalid literal value, expected ${JSON.stringify(e.expected,ve.jsonStringifyReplacer)}`;break;case U.unrecognized_keys:s=`Unrecognized key(s) in object: ${ve.joinValues(e.keys,", ")}`;break;case U.invalid_union:s="Invalid input";break;case U.invalid_union_discriminator:s=`Invalid discriminator value. Expected ${ve.joinValues(e.options)}`;break;case U.invalid_enum_value:s=`Invalid enum value. Expected ${ve.joinValues(e.options)}, received '${e.received}'`;break;case U.invalid_arguments:s="Invalid function arguments";break;case U.invalid_return_type:s="Invalid function return type";break;case U.invalid_date:s="Invalid date";break;case U.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(s=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(s=`${s} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?s=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?s=`Invalid input: must end with "${e.validation.endsWith}"`:ve.assertNever(e.validation):e.validation!=="regex"?s=`Invalid ${e.validation}`:s="Invalid";break;case U.too_small:e.type==="array"?s=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?s=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?s=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?s=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?s=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:s="Invalid input";break;case U.too_big:e.type==="array"?s=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?s=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?s=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?s=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?s=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:s="Invalid input";break;case U.custom:s="Invalid input";break;case U.invalid_intersection_types:s="Intersection results could not be merged";break;case U.not_multiple_of:s=`Number must be a multiple of ${e.multipleOf}`;break;case U.not_finite:s="Number must be finite";break;default:s=t.defaultError,ve.assertNever(e)}return{message:s}};let AL=Df;function _L(){return AL}const CL=e=>
vendor: 26,565 bytes, line 514
514{const{data:t,path:s,errorMaps:r,issueData:i}=e,a=[...s,...i.path||[]],o={...i,path:a};if(i.message!==void 0)return{...i,path:a,message:i.message};let l="";const c=r.filter(d=>!!d).slice().reverse();for(const d of c)l=d(o,{data:t,defaultError:l}).message;return{...i,path:a,message:l}};function q(e,t){const s=_L(),r=CL({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,s,s===Df?void 0:Df].filter(i=>!!i)});e.common.issues.push(r)}class Jt{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,s){const r=[];for(const i of s){if(i.status==="aborted")return ne;i.status==="dirty"&&t.dirty(),r.push(i.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,s){const r=[];for(const i of s){const a=await i.key,o=await i.value;r.push({key:a,value:o})}return Jt.mergeObjectSync(t,r)}static mergeObjectSync(t,s){const r={};for(const i of s){const{key:a,value:o}=i;if(a.status==="aborted"||o.status==="aborted")return ne;a.status==="dirty"&&t.dirty(),o.status==="dirty"&&t.dirty(),a.value!=="__proto__"&&(typeof o.value<"u"||i.alwaysSet)&&(r[a.value]=o.value)}return{status:t.value,value:r}}}const ne=Object.freeze({status:"aborted"}),Ho=e=>({status:"dirty",value:e}),hs=e=>({status:"valid",value:e}),p0=e=>e.status==="aborted",f0=e=>e.status==="dirty",qa=e=>e.status==="valid",Tu=e=>typeof Promise<"u"&&e instanceof Promise;var ee;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t==null?void 0:t.message})(ee||(ee={}));class Tn{constructor(t,s,r,i){this._cachedPath=[],this.parent=t,this.data=s,this._path=r,this._key=i}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const g0=(e,t)=>{if(qa(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const s=new Rr(e.common.issues);return this._error=s,this._error}}};function he(e){if(!e)return{};const{errorMap:t,invalid_type_error:s,required_error:r,description:i}=e;if(t&&(s||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(o,l)=>{const{message:c}=e;return o.code==="invalid_enum_value"?{message:c??l.defaultError}:typeof l.data>"u"?{message:c??r??l.defaultError}:o.code!=="invalid_type"?{message:l.defaultError}:{message:c??s??l.defaultError}},description:i}}class ge{get description(){return this._def.description}_getType(t){return Jr(t.data)}_getOrReturnCtx(t,s){return s||{common:t.parent.common,data:t.data,parsedType:Jr(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Jt,ctx:{common:t.parent.common,data:t.data,parsedType:Jr(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){const s=this._parse(t);if(Tu(s))throw new Error("Synchronous parse encountered promise.");return s}_parseAsync(t){const s=this._parse(t);return Promise.resolve(s)}parse(t,s){const r=this.safeParse(t,s);if(r.success)return r.data;throw r.error}safeParse(t,s){const r={common:{issues:[],async:(s==null?void 0:s.async)??!1,contextualErrorMap:s==null?void 0:s.errorMap},path:(s==null?void 0:s.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Jr(t)},i=this._parseSync({data:t,path:r.path,parent:r});return g0(r,i)}"~validate"(t){var r,i;const s={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Jr(t)};if(!this["~standard"].async)try{const a=this._parseSync({data:t,path:[],parent:s});return qa(a)?{value:a.value}:{issues:s.common.issues}}catch(a){(i=(r=a==null?void 0:a.message)==null?void 0:r.toLowerCase())!=null&&i.includes("encountered")&&(this["~standard"].async=!0),s.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:s}).then(a=>qa(a)?{value:a.value}:{issues:s.common.issues})}async parseAsync(t,s){const r=await this.safeParseAsync(t,s);if(r.success)return r.data;throw r.error}async safeParseAsync(t,s){const r={common:{issues:[],contextualErrorMap:s==null?void 0:s.errorMap,async:!0},path:(s==null?void 0:s.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Jr(t)},i=this._parse({data:t,path:r.path,parent:r}),a=await(Tu(i)?i:Promise.resolve(i));return g0(r,a)}refine(t,s){const r=i=>typeof s=="string"||typeof s>"u"?{message:s}:typeof s=="function"?s(i):s;return this._refinement((i,a)=>{const o=t(i),l=()=>a.addIssue({code:U.custom,...r(i)});return typeof Promise<"u"&&o instanceof Promise?o.then(c=>c?!0:(l(),!1)):o?!0:(l(),!1)})}refinement(t,s){return this._refinement((r,i)=>t(r)?!0:(i.addIssue(typeof s=="function"?s(r,i):s),!1))}_refinement(t){return new Ka({schema:this,typeName:ie.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:s=>this["~validate"](s)}}optional(){return jn.create(this,this._def)}nullable(){return Ya.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return rr.create(this)}promise(){return Ou.create(this,this._def)}or(t){return Iu.create([this,t],this._def)}and(t){return Ru.create(this,t,this._def)}transform(t){return new Ka({...he(this._def),schema:this,typeName:ie.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const s=typeof t=="function"?t:()=>t;return new Ff({...he(this._def),innerType:this,defaultValue:s,typeName:ie.ZodDefault})}brand(){return new ZL({typeName:ie.ZodBranded,type:this,...he(this._def)})}catch(t){const s=typeof t=="function"?t:()=>t;return new Bf({...he(this._def),innerType:this,catchValue:s,typeName:ie.ZodCatch})}describe(t){const s=this.constructor;return new s({...this._def,description:t})}pipe(t){return Gx.create(this,t)}readonly(){return Uf.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const EL=/^c[^\s-]{8,}$/i,TL=/^[0-9a-z]+$/,PL=/^[0-9A-HJKMNP-TV-Z]{26}$/i,IL=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,RL=/^[a-z0-9_-]{21}$/i,OL=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,ML=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,DL=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,LL="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let Om;const $L=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,FL=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,BL=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,UL=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,WL=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,VL=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,xS="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",zL=new RegExp(`^${xS}$`);function yS(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);const s=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${s}`}function HL(e){return new RegExp(`^${yS(e)}$`)}function qL(e){let t=`${xS}T${yS(e)}`;const s=[];return s.push(e.local?"Z?":"Z"),e.offset&&s.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${s.join("|")})`,new RegExp(`^${t}$`)}function GL(e,t){return!!((t==="v4"||!t)&&$L.test(e)||(t==="v6"||!t)&&BL.test(e))}function KL(e,t){if(!OL.test(e))return!1;try{const[s]=e.split(".");if(!s)return!1;const r=s.replace(/-/g,"+").replace(/_/g,"/").padEnd(s.length+(4-s.length%4)%4,"="),i=JSON.parse(atob(r));return!(typeof i!="object"||i===null||"typ"in i&&(i==null?void 0:i.typ)!=="JWT"||!i.alg||t&&i.alg!==t)}catch{return!1}}function YL(e,t){return!!((t==="v4"||!t)&&FL.test(e)||(t==="v6"||!t)&&UL.test(e))}class dn extends ge{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==X.string){const a=this._getOrReturnCtx(t);return q(a,{code:U.invalid_type,expected:X.string,received:a.parsedType}),ne}const r=new Jt;let i;for(const a of this._def.checks)if(a.kind==="min")t.data.length<a.value&&(i=this._getOrReturnCtx(t,i),q(i,{code:U.too_small,minimum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),r.dirty());else if(a.kind==="max")t.data.length>a.value&&(i=this._getOrReturnCtx(t,i),q(i,{code:U.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),r.dirty());else if(a.kind==="length"){const o=t.data.length>a.value,l=t.data.length<a.value;(o||l)&&(i=this._getOrReturnCtx(t,i),o?q(i,{code:U.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!0,message:a.message}):l&&q(i,{code:U.too_small,minimum:a.value,type:"string",inclusive:!0,exact:!0,message:a.message}),r.dirty())}else if(a.kind==="email")DL.test(t.data)||(i=this._getOrReturnCtx(t,i),q(i,{validation:"email",code:U.invalid_string,message:a.message}),r.dirty());else if(a.kind==="emoji")Om||(Om=new RegExp(LL,"u")),Om.test(t.data)||(i=this._getOrReturnCtx(t,i),q(i,{validation:"emoji",code:U.invalid_string,message:a.message}),r.dirty());else if(a.kind==="uuid")IL.test(t.data)||(i=this._getOrReturnCtx(t,i),q(i,{validation:"uuid",code:U.invalid_string,message:a.message}),r.dirty());else if(a.kind==="nanoid")RL.test(t.data)||(i=this._getOrReturnCtx(t,i),q(i,{validation:"nanoid",code:U.invalid_string,message:a.message}),r.dirty());else if(a.kind==="cuid")EL.test(t.data)||(i=this._getOrReturnCtx(t,i),q(i,{validation:"cuid",code:U.invalid_string,message:a.message}),r.dirty());else if(a.kind==="cuid2")TL.test(t.data)||(i=this._getOrReturnCtx(t,i),q(i,{validation:"cuid2",code:U.invalid_string,message:a.message}),r.dirty());else if(a.kind==="ulid")PL.test(t.data)||(i=this._getOrReturnCtx(t,i),q(i,{validation:"ulid",code:U.invalid_string,message:a.message}),r.dirty());else if(a.kind==="url")try{new URL(t.data)}catch{i=this._getOrReturnCtx(t,i),q(i,{validation:"url",code:U.invalid_string,message:a.message}),r.dirty()}else a.kind==="regex"?(a.regex.lastIndex=0,a.regex.test(t.data)||(i=this._getOrReturnCtx(t,i),q(i,{validation:"regex",code:U.invalid_string,message:a.message}),r.dirty())):a.kind==="trim"?t.data=t.data.trim():a.kind==="includes"?t.data.includes(a.value,a.position)||(i=this._getOrReturnCtx(t,i),q(i,{code:U.invalid_string,validation:{includes:a.value,position:a.position},message:a.message}),r.dirty()):a.kind==="toLowerCase"?t.data=t.data.toLowerCase():a.kind==="toUpperCase"?t.data=t.data.toUpperCase():a.kind==="startsWith"?t.data.startsWith(a.value)||(i=this._getOrReturnCtx(t,i),q(i,{code:U.invalid_string,validation:{startsWith:a.value},message:a.message}),r.dirty()):a.kind==="endsWith"?t.data.endsWith(a.value)||(i=this._getOrReturnCtx(t,i),q(i,{code:U.invalid_string,validation:{endsWith:a.value},message:a.message}),r.dirty()):a.kind==="datetime"?qL(a).test(t.data)||(i=this._getOrReturnCtx(t,i),q(i,{code:U.invalid_string,validation:"datetime",message:a.message}),r.dirty()):a.kind==="date"?zL.test(t.data)||(i=this._getOrReturnCtx(t,i),q(i,{code:U.invalid_string,validation:"date",message:a.message}),r.dirty()):a.kind==="time"?HL(a).test(t.data)||(i=this._getOrReturnCtx(t,i),q(i,{code:U.invalid_string,validation:"time",message:a.message}),r.dirty()):a.kind==="duration"?ML.test(t.data)||(i=this._getOrReturnCtx(t,i),q(i,{validation:"duration",code:U.invalid_string,message:a.message}),r.dirty()):a.kind==="ip"?GL(t.data,a.version)||(i=this._getOrReturnCtx(t,i),q(i,{validation:"ip",code:U.invalid_string,message:a.message}),r.dirty()):a.kind==="jwt"?KL(t.data,a.alg)||(i=this._getOrReturnCtx(t,i),q(i,{validation:"jwt",code:U.invalid_string,message:a.message}),r.dirty()):a.kind==="cidr"?YL(t.data,a.version)||(i=this._getOrReturnCtx(t,i),q(i,{validation:"cidr",code:U.invalid_string,message:a.message}),r.dirty()):a.kind==="base64"?WL.test(t.data)||(i=this._getOrReturnCtx(t,i),q(i,{validation:"base64",code:U.invalid_string,message:a.message}),r.dirty()):a.kind==="base64url"?VL.test(t.data)||(i=this._getOrReturnCtx(t,i),q(i,{validation:"base64url",code:U.invalid_string,message:a.message}),r.dirty()):ve.assertNever(a);return{status:r.value,value:t.data}}_regex(t,s,r){return this.refinement(i=>t.test(i),{validation:s,code:U.invalid_string,...ee.errToObj(r)})}_addCheck(t){return new dn({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...ee.errToObj(t)})}url(t){return this._addCheck({kind:"url",...ee.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...ee.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...ee.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...ee.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...ee.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...ee.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...ee.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...ee.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...ee.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...ee.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...ee.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...ee.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof(t==null?void 0:t.precision)>"u"?null:t==null?void 0:t.precision,offset:(t==null?void 0:t.offset)??!1,local:(t==null?void 0:t.local)??!1,...ee.errToObj(t==null?void 0:t.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof(t==null?void 0:t.precision)>"u"?null:t==null?void 0:t.precision,...ee.errToObj(t==null?void 0:t.message)})}duration(t){return this._addCheck({kind:"duration",...ee.errToObj(t)})}regex(t,s){return this._addCheck({kind:"regex",regex:t,...ee.errToObj(s)})}includes(t,s){return this._addCheck({kind:"includes",value:t,position:s==null?void 0:s.position,...ee.errToObj(s==null?void 0:s.message)})}startsWith(t,s){return this._addCheck({kind:"startsWith",value:t,...ee.errToObj(s)})}endsWith(t,s){return this._addCheck({kind:"endsWith",value:t,...ee.errToObj(s)})}min(t,s){return this._addCheck({kind:"min",value:t,...ee.errToObj(s)})}max(t,s){return this._addCheck({kind:"max",value:t,...ee.errToObj(s)})}length(t,s){return this._addCheck({kind:"length",value:t,...ee.errToObj(s)})}nonempty(t){return this.min(1,ee.errToObj(t))}trim(){return new dn({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new dn({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new dn({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(const s of this._def.checks)s.kind==="min"&&(t===null||s.value>t)&&(t=s.value);return t}get maxLength(){let t=null;for(const s of this._def.checks)s.kind==="max"&&(t===null||s.value<t)&&(t=s.value);return t}}dn.create=e=>new dn({checks:[],typeName:ie.ZodString,coerce:(e==null?void 0:e.coerce)??!1,...he(e)});function JL(e,t){const s=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,i=s>r?s:r,a=Number.parseInt(e.toFixed(i).replace(".","")),o=Number.parseInt(t.toFixed(i).replace(".",""));return a%o/10**i}class Ul extends ge{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==X.number){const a=this._getOrReturnCtx(t);return q(a,{code:U.invalid_type,expected:X.number,received:a.parsedType}),ne}let r;const i=new Jt;for(const a of this._def.checks)a.kind==="int"?ve.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),q(r,{code:U.invalid_type,expected:"integer",received:"float",message:a.message}),i.dirty()):a.kind==="min"?(a.inclusive?t.data<a.value:t.data<=a.value)&&(r=this._getOrReturnCtx(t,r),q(r,{code:U.too_small,minimum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),i.dirty()):a.kind==="max"?(a.inclusive?t.data>a.value:t.data>=a.value)&&(r=this._getOrReturnCtx(t,r),q(r,{code:U.too_big,maximum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),i.dirty()):a.kind==="multipleOf"?JL(t.data,a.value)!==0&&(r=this._getOrReturnCtx(t,r),q(r,{code:U.not_multiple_of,multipleOf:a.value,message:a.message}),i.dirty()):a.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),q(r,{code:U.not_finite,message:a.message}),i.dirty()):ve.assertNever(a);return{status:i.value,value:t.data}}gte(t,s){return this.setLimit("min",t,!0,ee.toString(s))}gt(t,s){return this.setLimit("min",t,!1,ee.toString(s))}lte(t,s){return this.setLimit("max",t,!0,ee.toString(s))}lt(t,s){return this.setLimit("max",t,!1,ee.toString(s))}setLimit(t,s,r,i){return new Ul({...this._def,checks:[...this._def.checks,{kind:t,value:s,inclusive:r,message:ee.toString(i)}]})}_addCheck(t){return new Ul({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:ee.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:ee.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:ee.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:ee.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:ee.toString(t)})}multipleOf(t,s){return this._addCheck({kind:"multipleOf",value:t,message:ee.toString(s)})}finite(t){return this._addCheck({kind:"finite",message:ee.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:ee.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:ee.toString(t)})}get minValue(){let t=null;for(const s of this._def.checks)s.kind==="min"&&(t===null||s.value>t)&&(t=s.value);return t}get maxValue(){let t=null;for(const s of this._def.checks)s.kind==="max"&&(t===null||s.value<t)&&(t=s.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&ve.isInteger(t.value))}get isFinite(){let t=null,s=null;for(const r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(s===null||r.value>s)&&(s=r.value):r.kind==="max"&&(t===null||r.value<t)&&(t=r.value)}return Number.isFinite(s)&&Number.isFinite(t)}}Ul.create=e=>new Ul({checks:[],typeName:ie.ZodNumber,coerce:(e==null?void 0:e.coerce)||!1,...he(e)});class Wl extends ge{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==X.bigint)return this._getInvalidInput(t);let r;const i=new Jt;for(const a of this._def.checks)a.kind==="min"?(a.inclusive?t.data<a.value:t.data<=a.value)&&(r=this._getOrReturnCtx(t,r),q(r,{code:U.too_small,type:"bigint",minimum:a.value,inclusive:a.inclusive,message:a.message}),i.dirty()):a.kind==="max"?(a.inclusive?t.data>a.value:t.data>=a.value)&&(r=this._getOrReturnCtx(t,r),q(r,{code:U.too_big,type:"bigint",maximum:a.value,inclusive:a.inclusive,message:a.message}),i.dirty()):a.kind==="multipleOf"?t.data%a.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),q(r,{code:U.not_multiple_of,multipleOf:a.value,message:a.message}),i.dirty()):ve.assertNever(a);return{status:i.value,value:t.data}}_getInvalidInput(t){const s=this._getOrReturnCtx(t);return q(s,{code:U.invalid_type,expected:X.bigint,received:s.parsedType}),ne}gte(t,s){return this.setLimit("min",t,!0,ee.toString(s))}gt(t,s){return this.setLimit("min",t,!1,ee.toString(s))}lte(t,s){return this.setLimit("max",t,!0,ee.toString(s))}lt(t,s){return this.setLimit("max",t,!1,ee.toString(s))}setLimit(t,s,r,i){return new Wl({...this._def,checks:[...this._def.checks,{kind:t,value:s,inclusive:r,message:ee.toString(i)}]})}_addCheck(t){return new Wl({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:ee.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:ee.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:ee.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:ee.toString(t)})}multipleOf(t,s){return this._addCheck({kind:"multipleOf",value:t,message:ee.toString(s)})}get minValue(){let t=null;for(const s of this._def.checks)s.kind==="min"&&(t===null||s.value>t)&&(t=s.value);return t}get maxValue(){let t=null;for(const s of this._def.checks)s.kind==="max"&&(t===null||s.value<t)&&(t=s.value);return t}}Wl.create=e=>new Wl({checks:[],typeName:ie.ZodBigInt,coerce:(e==null?void 0:e.coerce)??!1,...he(e)});class x0 extends ge{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==X.boolean){const r=this._getOrReturnCtx(t);return q(r,{code:U.invalid_type,expected:X.boolean,received:r.parsedType}),ne}return hs(t.data)}}x0.create=e=>new x0({typeName:ie.ZodBoolean,coerce:(e==null?void 0:e.coerce)||!1,...he(e)});class Pu extends ge{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==X.date){const a=this._getOrReturnCtx(t);return q(a,{code:U.invalid_type,expected:X.date,received:a.parsedType}),ne}if(Number.isNaN(t.data.getTime())){const a=this._getOrReturnCtx(t);return q(a,{code:U.invalid_date}),ne}const r=new Jt;let i;for(const a of this._def.checks)a.kind==="min"?t.data.getTime()<a.value&&(i=this._getOrReturnCtx(t,i),q(i,{code:U.too_small,message:a.message,inclusive:!0,exact:!1,minimum:a.value,type:"date"}),r.dirty()):a.kind==="max"?t.data.getTime()>a.value&&(i=this._getOrReturnCtx(t,i),q(i,{code:U.too_big,message:a.message,inclusive:!0,exact:!1,maximum:a.value,type:"date"}),r.dirty()):ve.assertNever(a);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new Pu({...this._def,checks:[...this._def.checks,t]})}min(t,s){return this._addCheck({kind:"min",value:t.getTime(),message:ee.toString(s)})}max(t,s){return this._addCheck({kind:"max",value:t.getTime(),message:ee.toString(s)})}get minDate(){let t=null;for(const s of this._def.checks)s.kind==="min"&&(t===null||s.value>t)&&(t=s.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(const s of this._def.checks)s.kind==="max"&&(t===null||s.value<t)&&(t=s.value);return t!=null?new Date(t):null}}Pu.create=e=>new Pu({checks:[],coerce:(e==null?void 0:e.coerce)||!1,typeName:ie.ZodD
vendor: 8,497 bytes, line 514
514ate,...he(e)});class y0 extends ge{_parse(t){if(this._getType(t)!==X.symbol){const r=this._getOrReturnCtx(t);return q(r,{code:U.invalid_type,expected:X.symbol,received:r.parsedType}),ne}return hs(t.data)}}y0.create=e=>new y0({typeName:ie.ZodSymbol,...he(e)});class v0 extends ge{_parse(t){if(this._getType(t)!==X.undefined){const r=this._getOrReturnCtx(t);return q(r,{code:U.invalid_type,expected:X.undefined,received:r.parsedType}),ne}return hs(t.data)}}v0.create=e=>new v0({typeName:ie.ZodUndefined,...he(e)});class b0 extends ge{_parse(t){if(this._getType(t)!==X.null){const r=this._getOrReturnCtx(t);return q(r,{code:U.invalid_type,expected:X.null,received:r.parsedType}),ne}return hs(t.data)}}b0.create=e=>new b0({typeName:ie.ZodNull,...he(e)});class w0 extends ge{constructor(){super(...arguments),this._any=!0}_parse(t){return hs(t.data)}}w0.create=e=>new w0({typeName:ie.ZodAny,...he(e)});class j0 extends ge{constructor(){super(...arguments),this._unknown=!0}_parse(t){return hs(t.data)}}j0.create=e=>new j0({typeName:ie.ZodUnknown,...he(e)});class Pn extends ge{_parse(t){const s=this._getOrReturnCtx(t);return q(s,{code:U.invalid_type,expected:X.never,received:s.parsedType}),ne}}Pn.create=e=>new Pn({typeName:ie.ZodNever,...he(e)});class k0 extends ge{_parse(t){if(this._getType(t)!==X.undefined){const r=this._getOrReturnCtx(t);return q(r,{code:U.invalid_type,expected:X.void,received:r.parsedType}),ne}return hs(t.data)}}k0.create=e=>new k0({typeName:ie.ZodVoid,...he(e)});class rr extends ge{_parse(t){const{ctx:s,status:r}=this._processInputParams(t),i=this._def;if(s.parsedType!==X.array)return q(s,{code:U.invalid_type,expected:X.array,received:s.parsedType}),ne;if(i.exactLength!==null){const o=s.data.length>i.exactLength.value,l=s.data.length<i.exactLength.value;(o||l)&&(q(s,{code:o?U.too_big:U.too_small,minimum:l?i.exactLength.value:void 0,maximum:o?i.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:i.exactLength.message}),r.dirty())}if(i.minLength!==null&&s.data.length<i.minLength.value&&(q(s,{code:U.too_small,minimum:i.minLength.value,type:"array",inclusive:!0,exact:!1,message:i.minLength.message}),r.dirty()),i.maxLength!==null&&s.data.length>i.maxLength.value&&(q(s,{code:U.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),r.dirty()),s.common.async)return Promise.all([...s.data].map((o,l)=>i.type._parseAsync(new Tn(s,o,s.path,l)))).then(o=>Jt.mergeArray(r,o));const a=[...s.data].map((o,l)=>i.type._parseSync(new Tn(s,o,s.path,l)));return Jt.mergeArray(r,a)}get element(){return this._def.type}min(t,s){return new rr({...this._def,minLength:{value:t,message:ee.toString(s)}})}max(t,s){return new rr({...this._def,maxLength:{value:t,message:ee.toString(s)}})}length(t,s){return new rr({...this._def,exactLength:{value:t,message:ee.toString(s)}})}nonempty(t){return this.min(1,t)}}rr.create=(e,t)=>new rr({type:e,minLength:null,maxLength:null,exactLength:null,typeName:ie.ZodArray,...he(t)});function Xi(e){if(e instanceof Be){const t={};for(const s in e.shape){const r=e.shape[s];t[s]=jn.create(Xi(r))}return new Be({...e._def,shape:()=>t})}else return e instanceof rr?new rr({...e._def,type:Xi(e.element)}):e instanceof jn?jn.create(Xi(e.unwrap())):e instanceof Ya?Ya.create(Xi(e.unwrap())):e instanceof Ai?Ai.create(e.items.map(t=>Xi(t))):e}class Be extends ge{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const t=this._def.shape(),s=ve.objectKeys(t);return this._cached={shape:t,keys:s},this._cached}_parse(t){if(this._getType(t)!==X.object){const d=this._getOrReturnCtx(t);return q(d,{code:U.invalid_type,expected:X.object,received:d.parsedType}),ne}const{status:r,ctx:i}=this._processInputParams(t),{shape:a,keys:o}=this._getCached(),l=[];if(!(this._def.catchall instanceof Pn&&this._def.unknownKeys==="strip"))for(const d in i.data)o.includes(d)||l.push(d);const c=[];for(const d of o){const u=a[d],h=i.data[d];c.push({key:{status:"valid",value:d},value:u._parse(new Tn(i,h,i.path,d)),alwaysSet:d in i.data})}if(this._def.catchall instanceof Pn){const d=this._def.unknownKeys;if(d==="passthrough")for(const u of l)c.push({key:{status:"valid",value:u},value:{status:"valid",value:i.data[u]}});else if(d==="strict")l.length>0&&(q(i,{code:U.unrecognized_keys,keys:l}),r.dirty());else if(d!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const d=this._def.catchall;for(const u of l){const h=i.data[u];c.push({key:{status:"valid",value:u},value:d._parse(new Tn(i,h,i.path,u)),alwaysSet:u in i.data})}}return i.common.async?Promise.resolve().then(async()=>{const d=[];for(const u of c){const h=await u.key,m=await u.value;d.push({key:h,value:m,alwaysSet:u.alwaysSet})}return d}).then(d=>Jt.mergeObjectSync(r,d)):Jt.mergeObjectSync(r,c)}get shape(){return this._def.shape()}strict(t){return ee.errToObj,new Be({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(s,r)=>{var a,o;const i=((o=(a=this._def).errorMap)==null?void 0:o.call(a,s,r).message)??r.defaultError;return s.code==="unrecognized_keys"?{message:ee.errToObj(t).message??i}:{message:i}}}:{}})}strip(){return new Be({...this._def,unknownKeys:"strip"})}passthrough(){return new Be({...this._def,unknownKeys:"passthrough"})}extend(t){return new Be({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new Be({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:ie.ZodObject})}setKey(t,s){return this.augment({[t]:s})}catchall(t){return new Be({...this._def,catchall:t})}pick(t){const s={};for(const r of ve.objectKeys(t))t[r]&&this.shape[r]&&(s[r]=this.shape[r]);return new Be({...this._def,shape:()=>s})}omit(t){const s={};for(const r of ve.objectKeys(this.shape))t[r]||(s[r]=this.shape[r]);return new Be({...this._def,shape:()=>s})}deepPartial(){return Xi(this)}partial(t){const s={};for(const r of ve.objectKeys(this.shape)){const i=this.shape[r];t&&!t[r]?s[r]=i:s[r]=i.optional()}return new Be({...this._def,shape:()=>s})}required(t){const s={};for(const r of ve.objectKeys(this.shape))if(t&&!t[r])s[r]=this.shape[r];else{let a=this.shape[r];for(;a instanceof jn;)a=a._def.innerType;s[r]=a}return new Be({...this._def,shape:()=>s})}keyof(){return vS(ve.objectKeys(this.shape))}}Be.create=(e,t)=>new Be({shape:()=>e,unknownKeys:"strip",catchall:Pn.create(),typeName:ie.ZodObject,...he(t)});Be.strictCreate=(e,t)=>new Be({shape:()=>e,unknownKeys:"strict",catchall:Pn.create(),typeName:ie.ZodObject,...he(t)});Be.lazycreate=(e,t)=>new Be({shape:e,unknownKeys:"strip",catchall:Pn.create(),typeName:ie.ZodObject,...he(t)});class Iu extends ge{_parse(t){const{ctx:s}=this._processInputParams(t),r=this._def.options;function i(a){for(const l of a)if(l.result.status==="valid")return l.result;for(const l of a)if(l.result.status==="dirty")return s.common.issues.push(...l.ctx.common.issues),l.result;const o=a.map(l=>new Rr(l.ctx.common.issues));return q(s,{code:U.invalid_union,unionErrors:o}),ne}if(s.common.async)return Promise.all(r.map(async a=>{const o={...s,common:{...s.common,issues:[]},parent:null};return{result:await a._parseAsync({data:s.data,path:s.path,parent:o}),ctx:o}})).then(i);{let a;const o=[];for(const c of r){const d={...s,common:{...s.common,issues:[]},parent:null},u=c._parseSync({data:s.data,path:s.path,parent:d});if(u.status==="valid")return u;u.status==="dirty"&&!a&&(a={result:u,ctx:d}),d.common.issues.length&&o.push(d.common.issues)}if(a)return s.common.issues.push(...a.ctx.common.issues),a.result;const l=o.map(c=>new Rr(c));return q(s,{code:U.invalid_union,unionErrors:l}),ne}}get options(){return this._def.options}}Iu.create=(e,t)=>new Iu({options:e,typeName:ie.ZodUnion,...he(t)});function Lf(e,t){const s=Jr(e),r=Jr(t);if(e===t)return{valid:!0,data:e};if(s===X.object&&r===X.object){const i=ve.objectKeys(t),a=ve.objectKeys(e).filter(l=>i.indexOf(l)!==-1),o={...e,...t};for(const l of a){const c=Lf(e[l],t[l]);if(!c.valid)return{valid:!1};o[l]=c.data}return{valid:!0,data:o}}else if(s===X.array&&r===X.array){if(e.length!==t.length)return{valid:!1};const i=[];for(let a=0;a<e.length;a++){const o=e[a],l=t[a],c=Lf(o,l);if(!c.valid)return{valid:!1};i.push(c.data)}return{valid:!0,data:i}}else return s===X.date&&r===X.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}class Ru extends ge{_parse(t){const{status:s,ctx:r}=this._processInputParams(t),i=(a,o)=>
vendor: 4,157 bytes, line 514
514{if(p0(a)||p0(o))return ne;const l=Lf(a.value,o.value);return l.valid?((f0(a)||f0(o))&&s.dirty(),{status:s.value,value:l.data}):(q(r,{code:U.invalid_intersection_types}),ne)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([a,o])=>i(a,o)):i(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}Ru.create=(e,t,s)=>new Ru({left:e,right:t,typeName:ie.ZodIntersection,...he(s)});class Ai extends ge{_parse(t){const{status:s,ctx:r}=this._processInputParams(t);if(r.parsedType!==X.array)return q(r,{code:U.invalid_type,expected:X.array,received:r.parsedType}),ne;if(r.data.length<this._def.items.length)return q(r,{code:U.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),ne;!this._def.rest&&r.data.length>this._def.items.length&&(q(r,{code:U.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),s.dirty());const a=[...r.data].map((o,l)=>{const c=this._def.items[l]||this._def.rest;return c?c._parse(new Tn(r,o,r.path,l)):null}).filter(o=>!!o);return r.common.async?Promise.all(a).then(o=>Jt.mergeArray(s,o)):Jt.mergeArray(s,a)}get items(){return this._def.items}rest(t){return new Ai({...this._def,rest:t})}}Ai.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Ai({items:e,typeName:ie.ZodTuple,rest:null,...he(t)})};class N0 extends ge{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){const{status:s,ctx:r}=this._processInputParams(t);if(r.parsedType!==X.map)return q(r,{code:U.invalid_type,expected:X.map,received:r.parsedType}),ne;const i=this._def.keyType,a=this._def.valueType,o=[...r.data.entries()].map(([l,c],d)=>({key:i._parse(new Tn(r,l,r.path,[d,"key"])),value:a._parse(new Tn(r,c,r.path,[d,"value"]))}));if(r.common.async){const l=new Map;return Promise.resolve().then(async()=>{for(const c of o){const d=await c.key,u=await c.value;if(d.status==="aborted"||u.status==="aborted")return ne;(d.status==="dirty"||u.status==="dirty")&&s.dirty(),l.set(d.value,u.value)}return{status:s.value,value:l}})}else{const l=new Map;for(const c of o){const d=c.key,u=c.value;if(d.status==="aborted"||u.status==="aborted")return ne;(d.status==="dirty"||u.status==="dirty")&&s.dirty(),l.set(d.value,u.value)}return{status:s.value,value:l}}}}N0.create=(e,t,s)=>new N0({valueType:t,keyType:e,typeName:ie.ZodMap,...he(s)});class Vl extends ge{_parse(t){const{status:s,ctx:r}=this._processInputParams(t);if(r.parsedType!==X.set)return q(r,{code:U.invalid_type,expected:X.set,received:r.parsedType}),ne;const i=this._def;i.minSize!==null&&r.data.size<i.minSize.value&&(q(r,{code:U.too_small,minimum:i.minSize.value,type:"set",inclusive:!0,exact:!1,message:i.minSize.message}),s.dirty()),i.maxSize!==null&&r.data.size>i.maxSize.value&&(q(r,{code:U.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),s.dirty());const a=this._def.valueType;function o(c){const d=new Set;for(const u of c){if(u.status==="aborted")return ne;u.status==="dirty"&&s.dirty(),d.add(u.value)}return{status:s.value,value:d}}const l=[...r.data.values()].map((c,d)=>a._parse(new Tn(r,c,r.path,d)));return r.common.async?Promise.all(l).then(c=>o(c)):o(l)}min(t,s){return new Vl({...this._def,minSize:{value:t,message:ee.toString(s)}})}max(t,s){return new Vl({...this._def,maxSize:{value:t,message:ee.toString(s)}})}size(t,s){return this.min(t,s).max(t,s)}nonempty(t){return this.min(1,t)}}Vl.create=(e,t)=>new Vl({valueType:e,minSize:null,maxSize:null,typeName:ie.ZodSet,...he(t)});class S0 extends ge{get schema(){return this._def.getter()}_parse(t){const{ctx:s}=this._processInputParams(t);return this._def.getter()._parse({data:s.data,path:s.path,parent:s})}}S0.create=(e,t)=>new S0({getter:e,typeName:ie.ZodLazy,...he(t)});class $f extends ge{_parse(t){if(t.data!==this._def.value){const s=this._getOrReturnCtx(t);return q(s,{received:s.data,code:U.invalid_literal,expected:this._def.value}),ne}
vendor: 4,346 bytes, line 514
514return{status:"valid",value:t.data}}get value(){return this._def.value}}$f.create=(e,t)=>new $f({value:e,typeName:ie.ZodLiteral,...he(t)});function vS(e,t){return new Ga({values:e,typeName:ie.ZodEnum,...he(t)})}class Ga extends ge{_parse(t){if(typeof t.data!="string"){const s=this._getOrReturnCtx(t),r=this._def.values;return q(s,{expected:ve.joinValues(r),received:s.parsedType,code:U.invalid_type}),ne}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){const s=this._getOrReturnCtx(t),r=this._def.values;return q(s,{received:s.data,code:U.invalid_enum_value,options:r}),ne}return hs(t.data)}get options(){return this._def.values}get enum(){const t={};for(const s of this._def.values)t[s]=s;return t}get Values(){const t={};for(const s of this._def.values)t[s]=s;return t}get Enum(){const t={};for(const s of this._def.values)t[s]=s;return t}extract(t,s=this._def){return Ga.create(t,{...this._def,...s})}exclude(t,s=this._def){return Ga.create(this.options.filter(r=>!t.includes(r)),{...this._def,...s})}}Ga.create=vS;class A0 extends ge{_parse(t){const s=ve.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==X.string&&r.parsedType!==X.number){const i=ve.objectValues(s);return q(r,{expected:ve.joinValues(i),received:r.parsedType,code:U.invalid_type}),ne}if(this._cache||(this._cache=new Set(ve.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){const i=ve.objectValues(s);return q(r,{received:r.data,code:U.invalid_enum_value,options:i}),ne}return hs(t.data)}get enum(){return this._def.values}}A0.create=(e,t)=>new A0({values:e,typeName:ie.ZodNativeEnum,...he(t)});class Ou extends ge{unwrap(){return this._def.type}_parse(t){const{ctx:s}=this._processInputParams(t);if(s.parsedType!==X.promise&&s.common.async===!1)return q(s,{code:U.invalid_type,expected:X.promise,received:s.parsedType}),ne;const r=s.parsedType===X.promise?s.data:Promise.resolve(s.data);return hs(r.then(i=>this._def.type.parseAsync(i,{path:s.path,errorMap:s.common.contextualErrorMap})))}}Ou.create=(e,t)=>new Ou({type:e,typeName:ie.ZodPromise,...he(t)});class Ka extends ge{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===ie.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){const{status:s,ctx:r}=this._processInputParams(t),i=this._def.effect||null,a={addIssue:o=>{q(r,o),o.fatal?s.abort():s.dirty()},get path(){return r.path}};if(a.addIssue=a.addIssue.bind(a),i.type==="preprocess"){const o=i.transform(r.data,a);if(r.common.async)return Promise.resolve(o).then(async l=>{if(s.value==="aborted")return ne;const c=await this._def.schema._parseAsync({data:l,path:r.path,parent:r});return c.status==="aborted"?ne:c.status==="dirty"||s.value==="dirty"?Ho(c.value):c});{if(s.value==="aborted")return ne;const l=this._def.schema._parseSync({data:o,path:r.path,parent:r});return l.status==="aborted"?ne:l.status==="dirty"||s.value==="dirty"?Ho(l.value):l}}if(i.type==="refinement"){const o=l=>{const c=i.refinement(l,a);if(r.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return l};if(r.common.async===!1){const l=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return l.status==="aborted"?ne:(l.status==="dirty"&&s.dirty(),o(l.value),{status:s.value,value:l.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(l=>l.status==="aborted"?ne:(l.status==="dirty"&&s.dirty(),o(l.value).then(()=>({status:s.value,value:l.value}))))}if(i.type==="transform")if(r.common.async===!1){const o=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!qa(o))return ne;const l=i.transform(o.value,a);if(l instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:s.value,value:l}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(o=>qa(o)?Promise.resolve(i.transform(o.value,a)).then(l=>({status:s.value,value:l})):ne);ve.assertNever(i)}}Ka.create=(e,t,s)=>new Ka({schema:e,typeName:ie.ZodEffects,effect:t,...he(s)});Ka.createWithPreprocess=(e,t,s)=>new Ka({schema:t,effect:{type:"preprocess",transform:e},typeName:ie.ZodEffects,...he(s)});
vendor: 4,583 bytes, line 514
514class jn extends ge{_parse(t){return this._getType(t)===X.undefined?hs(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}jn.create=(e,t)=>new jn({innerType:e,typeName:ie.ZodOptional,...he(t)});class Ya extends ge{_parse(t){return this._getType(t)===X.null?hs(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}Ya.create=(e,t)=>new Ya({innerType:e,typeName:ie.ZodNullable,...he(t)});class Ff extends ge{_parse(t){const{ctx:s}=this._processInputParams(t);let r=s.data;return s.parsedType===X.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:s.path,parent:s})}removeDefault(){return this._def.innerType}}Ff.create=(e,t)=>new Ff({innerType:e,typeName:ie.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...he(t)});class Bf extends ge{_parse(t){const{ctx:s}=this._processInputParams(t),r={...s,common:{...s.common,issues:[]}},i=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return Tu(i)?i.then(a=>({status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new Rr(r.common.issues)},input:r.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new Rr(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}Bf.create=(e,t)=>new Bf({innerType:e,typeName:ie.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...he(t)});class _0 extends ge{_parse(t){if(this._getType(t)!==X.nan){const r=this._getOrReturnCtx(t);return q(r,{code:U.invalid_type,expected:X.nan,received:r.parsedType}),ne}return{status:"valid",value:t.data}}}_0.create=e=>new _0({typeName:ie.ZodNaN,...he(e)});class ZL extends ge{_parse(t){const{ctx:s}=this._processInputParams(t),r=s.data;return this._def.type._parse({data:r,path:s.path,parent:s})}unwrap(){return this._def.type}}class Gx extends ge{_parse(t){const{status:s,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{const a=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?ne:a.status==="dirty"?(s.dirty(),Ho(a.value)):this._def.out._parseAsync({data:a.value,path:r.path,parent:r})})();{const i=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return i.status==="aborted"?ne:i.status==="dirty"?(s.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:r.path,parent:r})}}static create(t,s){return new Gx({in:t,out:s,typeName:ie.ZodPipeline})}}class Uf extends ge{_parse(t){const s=this._def.innerType._parse(t),r=i=>(qa(i)&&(i.value=Object.freeze(i.value)),i);return Tu(s)?s.then(i=>r(i)):r(s)}unwrap(){return this._def.innerType}}Uf.create=(e,t)=>new Uf({innerType:e,typeName:ie.ZodReadonly,...he(t)});Be.lazycreate;var ie;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(ie||(ie={}));const Ce=dn.create;Pn.create;rr.create;const dc=Be.create;Be.strictCreate;Iu.create;Ru.create;Ai.create;const kn=$f.create;Ga.create;Ou.create;jn.create;Ya.create;const Wf="lx_attribution_v1",XL=["utm_source","utm_medium","utm_campaign","utm_term","utm_content"],QL=["gclid","fbclid","msclkid"],e8=["facebook.","instagram.","linkedin.","t.co","twitter.","x.com","youtube.","tiktok.","reddit.","pinterest."],t8=["google.","bing.","duckduckgo.","yahoo.","ecosia.","brave."],bS=e=>{if(e.gclid||e.fbclid||e.msclkid)return"paid";const t=(e.utm_medium||"").toLowerCase();if(["cpc","ppc","paid","paidsocial","paid-social","display"].includes(t))return"paid";if(["email","newsletter"].includes(t))return"email";if(["social","organic-social"].includes(t))return"social";if(t==="organic")return"organic";if(t==="referral")return"referral";const s=e.referrer||"";if(!s)return"direct";
514try{const r=new URL(s).hostname.toLowerCase();return t8.some(i=>r.includes(i))?"organic":e8.some(i=>r.includes(i))?"social":"referral"}catch{return"direct"}},s8=()=>{if(!(typeof window>"u"))try{if(sessionStorage.getItem(Wf))return;const t=new URLSearchParams(window.location.search),s={};XL.forEach(r=>{const i=t.get(r);i&&(s[r]=i)}),QL.forEach(r=>{const i=t.get(r);i&&(s[r]=i)}),s.referrer=document.referrer||"",s.landing_page=window.location.href,s.captured_at=new Date().toISOString(),s.channel=bS(s),sessionStorage.setItem(Wf,JSON.stringify(s))}catch{}},uc=()=>{if(typeof window>"u")return{};try{const t=sessionStorage.getItem(Wf);if(t)return JSON.parse(t)}catch{}const e={referrer:typeof document<"u"?document.referrer:"",landing_page:window.location.href};return e.channel=bS(e),e},r8=dc({name:Ce().trim().min(1,"Name required").max(120),email:Ce().trim().email("Valid email required").max(255),phone:Ce().trim().max(40).optional().or(kn("")),company:Ce().trim().max(160).optional().or(kn(""))}),wS=({tool:e,inputs:t,result:s,onUnlocked:r,onSubmitted:i,ctaLabel:a="Reveal my results",headline:o="Where should we send your results?",subhead:l="Get your personalised report instantly + a free strategy call invite."})=>{const[c,d]=w.useState({name:"",email:"",phone:"",company:""}),[u,h]=w.useState({}),[m,p]=w.useState(!1),[x,y]=w.useState(null),b=async f=>{f.preventDefault(),y(null);const g=r8.safeParse(c);if(!g.success){const A={};g.error.issues.forEach(E=>{A[E.path[0]]=E.message}),h(A);return}h({}),p(!0);const v=uc(),{error:j}=await ht.from("labs_leads").insert({tool:e,name:g.data.name,email:g.data.email,phone:g.data.phone||null,company:g.data.company||null,inputs:t,result:{...s,__attribution:v}});if(p(!1),j){y("Something went wrong. Please try again.");return}i==null||i({name:g.data.name,email:g.data.email,phone:g.data.phone||void 0,company:g.data.company||void 0});const k=Date.now(),N={tool:e,name:g.data.name,email:g.data.email,phone:g.data.phone||"",company:g.data.company||"",inputs:t,result:s,attribution:v};["[email protected]","[email protected]","[email protected]"].forEach(A=>{ht.functions.invoke("send-transactional-email",{body:{templateName:"lead-notification",recipientEmail:A,idempotencyKey:`lead-${e}-${A}-${g.data.email}-${k}`,templateData:N}}).catch(()=>{})}),ht.functions.invoke("send-transactional-email",{body:{templateName:"lead-confirmation",recipientEmail:g.data.email,idempotencyKey:`lead-confirm-${e}-${g.data.email}-${Date.now()}`,templateData:{tool:e,name:g.data.name,email:g.data.email,inputs:t,result:s}}}).catch(()=>{}),r()};return n.jsxs("form",{onSubmit:b,className:"space-y-4",children:[n.jsxs("div",{className:"flex items-center gap-2 text-labs",children:[n.jsx(AN,{className:"w-4 h-4"}),n.jsx("span",{className:"text-xs font-display font-bold uppercase tracking-widest",children:o})]}),n.jsx("p",{className:"text-sm text-muted-foreground",children:l}),n.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:[n.jsxs("div",{children:[n.jsx("input",{type:"text",placeholder:"Your name *",value:c.name,onChange:f=>d({...c,name:f.target.value}),className:"w-full bg-secondary/40 border border-border rounded-lg px-4 py-3 text-sm focus:outline-none focus:border-labs/60 transition-colors"}),u.name&&n.jsx("p",{className:"text-xs text-destructive mt-1",children:u.name})]}),n.jsxs("div",{children:[n.jsx("input",{type:"email",placeholder:"Work email *",value:c.email,onChange:f=>d({...c,email:f.target.value}),className:"w-full bg-secondary/40 border border-border rounded-lg px-4 py-3 text-sm focus:outline-none focus:border-labs/60 transition-colors"}),u.email&&n.jsx("p",{className:"text-xs text-destructive mt-1",children:u.email})]}),n.jsx("div",{children:n.jsx("input",{type:"tel",placeholder:"Phone (optional)",value:c.phone,onChange:f=>d({...c,phone:f.target.value}),className:"w-full bg-secondary/40 border border-border rounded-lg px-4 py-3 text-sm focus:outline-none focus:border-labs/60 transition-colors"})}),n.jsx("div",{children:n.jsx("input",{type:"text",placeholder:"Company (optional)",value:c.company,onChange:f=>d({...c,company:f.target.value}),className:"w-full bg-secondary/40 border border-border rounded-lg px-4 py-3 text-sm focus:outline-none focus:border-labs/60 transition-colors"})})]}),x&&n.jsx("p",{className:"text-sm text-destructive",children:x}),n.jsxs("button",{type:"submit",disabled:m,className:"group w-full inline-flex items-center justify-center gap-2 bg-gradient-labs text-primary-foreground px-6 py-3.5 rounded-xl font-bold font-display text-sm hover:scale-[1.01] transition-all disabled:opacity-60",children:[m?n.jsx(ir,{className:"w-4 h-4 animate-spin"}):n.jsx(Ye,{className:"w-4 h-4"}),m?"Generating...":a]}),n.jsx("p",{className:"text-[11px] text-muted-foreground text-center",children:"No spam. We'll only use your details to send your report and follow up."})]})},qr=[{id:"visibility",title:"Operational Visibility",icon:nP,question:"How much visibility do you have into daily operations across your business?",options:[{label:"Very little — most updates live in people's heads or chat",score:25},{label:"Some — spreadsheets and reports, but always out of date",score:50},{label:"Good — dashboards for most functions",score:75},{label:"Excellent — real-time dashboards across the business",score:100}]},{id:"data",title:"Data Readiness",icon:tP,question:"How clean, structured and accessible is y
514our business data?",options:[{label:"Scattered across spreadsheets, inboxes and tools",score:25},{label:"Centralised in one or two systems, some duplication",score:50},{label:"Structured and mostly reliable",score:75},{label:"Single source of truth, well-modelled and API-accessible",score:100}]},{id:"process",title:"Process Maturity",icon:kP,question:"How documented and repeatable are your core business processes?",options:[{label:"Mostly tribal knowledge — no SOPs",score:25},{label:"A few SOPs exist but rarely followed",score:50},{label:"Most core processes documented and followed",score:75},{label:"Every core process mapped, measured and optimised",score:100}]},{id:"keyperson",title:"Key Person Dependency",icon:jP,question:"If a senior person disappeared for 4 weeks, what would happen?",options:[{label:"The business would stall — too much lives with them",score:25},{label:"Significant disruption — knowledge would be lost",score:50},{label:"Manageable — most work is in systems",score:75},{label:"Barely a ripple — processes and systems run themselves",score:100}]},{id:"integration",title:"System Integration",icon:fP,question:"How well do your tools and systems talk to each other?",options:[{label:"Not at all — everything is copy-paste",score:25},{label:"A few integrations, most are manual",score:50},{label:"Core systems integrated via APIs / automations",score:75},{label:"Fully integrated stack with clean data flow",score:100}]},{id:"automation",title:"Automation Readiness",icon:fu,question:"How much of your repetitive work is already automated?",options:[{label:"None — humans do everything",score:25},{label:"A few simple automations (Zapier / Make)",score:50},{label:"Meaningful automations across key workflows",score:75},{label:"Deep automation — most repetitive tasks removed",score:100}]},{id:"ai",title:"AI Opportunity Areas",icon:ki,question:"How clearly have you identified where AI can add value?",options:[{label:"Not sure where to start",score:25},{label:"A few ideas, nothing tested",score:50},{label:"Clear shortlist of use cases, some piloted",score:75},{label:"AI is already producing measurable ROI",score:100}]},{id:"governance",title:"Governance & Adoption",icon:wx,question:"How ready is your team & governance to adopt AI safely?",options:[{label:"No AI policy, low team buy-in",score:25},{label:"Some awareness, informal usage",score:50},{label:"AI guidelines in place, team trained on basics",score:75},{label:"Formal AI governance, training and adoption program",score:100}]}],n8={visibility:{25:{issue:"You are running the business on memory and messages. Nobody can see the true state of work today.",cost:"Problems surface only once a customer complains, and every decision waits on someone being asked.",fix:"Stand up one live operations view: jobs, status, owner, due date — one screen, updated automatically."},50:{issue:"Reporting exists but it is always looking backwards. Spreadsheets are stale the moment they are sent.",cost:"Hours each week rebuilding reports, and decisions made on last week's numbers.",fix:"Replace manual reporting with an automated dashboard fed straight from your systems."},75:{issue:"Most functions are visible, but a few blind spots remain.",cost:"The gaps are usually where the surprises come from — margin, capacity or delivery slippage.",fix:"Extend dashboards to the last uncovered function and add threshold alerts."},100:{issue:"Visibility is a genuine strength.",cost:"No material risk here.",fix:"Layer AI on top: anomaly alerts and forecasting on the data you already trust."}},data:{25:{issue:"Your data is scattered across spreadsheets, inboxes and tools, so no version is trusted.",cost:"This is the single biggest blocker to AI — models and automations built on messy data produce confidently wrong answers.",fix:"Consolidate customers, jobs and finance into one source of truth before any AI work starts."},50:{issue:"Data is mostly centralised but duplicated, so the same record exists in several places.",cost:"Duplicates cause double handling, mismatched invoices and reporting people argue about.",fix:"De-duplicate, agree one owner per data set, and enforce entry at a single point."},75:{issue:"Data is structured and largely reliable.",cost:"Minor gaps will limit how far automation can reach.",fix:"Expose your data via APIs so tools and AI agents can read and write it safely."},100:{issue:"Your data foundation is AI-ready.",cost:"No material risk here.",fix:"Use it — retrieval-based assistants and predictive models are now viable."}},process:{25:{issue:"Your processes live in people's heads. Everyone does the same job slightly differently.",cost:"Quality is inconsistent, onboarding is slow and mistakes repeat because nothing is standardised.",fix:"Map your top 5 revenue and delivery processes end to end, then standardise before automating."},50:{issue:"SOPs exist on paper but are not actually followed.",cost:"You carry the cost of documentation without the benefit — and automation built on the written process will break on the real one.",fix:"Rewrite SOPs around what the team really does, then enforce them inside the tool, not in a document."},75:{issue:"Core processes are documented and followed.",cost:"Small variations still leak time.",fix:"Add measurement — cycle time and rework rate — so you automate the slowest step first."},100:{issue:"Process discipline is a competitive advantage for you.",cost:"No material risk here.",fix:"Automate the mapped steps directly; you have the pre-work most businesses skip."}}
514,keyperson:{25:{issue:"The business would stall if one or two people stepped away. Too much lives with them.",cost:"This is a hard ceiling on growth and a serious risk to business value and continuity.",fix:"Extract that knowledge into systems and checklists, starting with the highest-risk role."},50:{issue:"Losing a key person would cause significant disruption and knowledge loss.",cost:"You are paying an invisible insurance premium in overtime, escalations and single-point approvals.",fix:"Document decision rules and move approvals into a workflow anyone can run."},75:{issue:"Most work already lives in systems rather than individuals.",cost:"A few specialist tasks remain concentrated.",fix:"Cross-train and templatise the remaining specialist work."},100:{issue:"Your operation runs on systems, not heroes.",cost:"No material risk here.",fix:"Push further: let agents handle routine decisions inside your documented rules."}},integration:{25:{issue:"Your systems do not talk to each other — everything moves by copy-paste.",cost:"Manual re-entry is where errors, delays and lost revenue come from, and it grows with every new customer.",fix:"Integrate the two systems that exchange the most data first; that usually removes the bulk of re-entry."},50:{issue:"A few integrations exist but most handovers are still manual.",cost:"Staff act as the glue between tools instead of doing valuable work.",fix:"Map every manual handover and replace them in order of hours consumed."},75:{issue:"Core systems are integrated and data flows reasonably cleanly.",cost:"Edge cases still get handled by hand.",fix:"Add error handling and monitoring so failures are visible rather than silently manual."},100:{issue:"Your stack is properly connected.",cost:"No material risk here.",fix:"Use the clean data flow to run AI agents across systems, not just within one."}},automation:{25:{issue:"Nothing is automated — humans do every step, including the boring ones.",cost:"You are buying capacity with headcount, so costs rise in step with volume instead of flattening.",fix:"Automate one high-volume, low-judgement workflow and measure the hours returned."},50:{issue:"You have a few simple automations, but they are fragile and unmonitored.",cost:"When one breaks quietly, work silently reverts to manual and nobody notices for weeks.",fix:"Consolidate onto a maintained platform with logging and alerts."},75:{issue:"Meaningful automation exists across key workflows.",cost:"Judgement-heavy steps still need people.",fix:"Introduce AI where rules are not enough — classification, drafting, extraction."},100:{issue:"Most repetitive work has already been removed.",cost:"No material risk here.",fix:"Shift focus from tasks to end-to-end autonomous workflows."}},ai:{25:{issue:"You do not yet know where AI would actually pay off in your business.",cost:"The real risk is wasted spend — buying tools that do not touch your constraint.",fix:"Run a use-case workshop and rank opportunities by hours saved versus effort."},50:{issue:"You have ideas but nothing has been tested.",cost:"Untested ideas stall, and confidence in AI erodes internally.",fix:"Pick one use case and prove it in a 2–4 week pilot with a measurable baseline."},75:{issue:"You have a clear shortlist and some pilots running.",cost:"Pilots that never leave pilot are pure cost.",fix:"Choose your best pilot and productionise it with owners, SLAs and reporting."},100:{issue:"AI is already producing measurable return for you.",cost:"No material risk here.",fix:"Build proprietary capability that competitors cannot buy off the shelf."}},governance:{25:{issue:"There is no AI policy and little team buy-in.",cost:"Staff use consumer AI tools unsupervised — real exposure for client data, IP and compliance.",fix:"Publish a one-page AI usage policy and approve a short list of tools this month."},50:{issue:"Awareness is there but usage is informal and uneven.",cost:"Benefits stay stuck with a few enthusiasts while risk spreads across everyone.",fix:"Set guidelines, name an owner, and train the team on approved workflows."},75:{issue:"Guidelines are in place and the team has the basics.",cost:"Adoption may still be shallow in some teams.",f
514ix:"Add role-specific training and track adoption as a metric."},100:{issue:"Governance and adoption are handled properly.",cost:"No material risk here.",fix:"Keep reviewing quarterly as models and regulation change."}}},C0=e=>e<=25?"Critical":e<=50?"At risk":e<=75?"Solid":"Strength",i8=e=>e<=25?"border-destructive/50 bg-destructive/5 text-destructive":e<=50?"border-gold/50 bg-gold/5 text-gold":e<=75?"border-accent/40 bg-accent/5 text-accent":"border-accent/60 bg-accent/10 text-accent",a8=e=>e<40?{label:"High Operational Risk",color:"text-destructive",desc:"Your business has meaningful operational risk that must be de-risked before AI can deliver value. Start with visibility, data and process foundations."}:e<65?{label:"Foundations in Progress",color:"text-gold",desc:"You have some foundations but critical gaps remain. Focus on system integration and reducing key-person dependency before scaling AI."}:e<85?{label:"AI-Ready",color:"text-labs",desc:"You're well-positioned to adopt AI meaningfully. Time to prioritise the highest-ROI automation and AI use cases across your operation."}:{label:"AI-Native",color:"text-accent",desc:"You're operating at AI-native maturity. Focus on proprietary AI products, agents and moats that compound your advantage."},o8=[{letter:"R",label:"Repetitive",hint:"Same steps, over and over."},{letter:"A",label:"Admin-heavy",hint:"Forms, data entry, chasing."},{letter:"I",label:"Information-driven",hint:"Rules, lookups, documents."},{letter:"D",label:"Delay-prone",hint:"Waits, bottlenecks, rework."}],l8=[{id:"process",label:"Process",placeholder:"e.g. Quoting and invoicing jobs",maxLength:200},{id:"hoursPerWeek",label:"Hours / week",placeholder:"e.g. 12",maxLength:40},{id:"peopleInvolved",label:"People involved",placeholder:"e.g. 3 (ops + admin)",maxLength:80},{id:"businessImpact",label:"Business impact",placeholder:"e.g. Late invoices, cash-flow delays",maxLength:240}],c8=[{icon:jx,title:"Personal Scorecard",desc:"Your score across all 8 assessment areas with benchmarks."},{icon:PN,title:"Top 5 Operational Risks",desc:"The specific risks holding your business back from scaling with AI."},{icon:fu,title:"Automation Opportunities",desc:"The workflows you can automate first for immediate ROI."},{icon:uP,title:"AI Opportunity Map",desc:"Where AI actually moves the needle — and where it doesn't."},{icon:dP,title:"Recommended Next Steps",desc:"A prioritised 90-day roadmap tailored to your score."}],Mm=qr.length+2,d8=()=>{const[e,t]=w.useState(0),[s,r]=w.useState({}),[i,a]=w.useState(!1),[o,l]=w.useState(null),[c,d]=w.useState(!1),[u,h]=w.useState(!1),[m,p]=w.useState({process:"",hoursPerWeek:"",peopleInvolved:"",businessImpact:""}),x=qr.length,y=Object.keys(s).length===x,b=e===0,f=e===x+1,g=w.useMemo(()=>{const S=Object.values(s);return S.length?Math.round(S.reduce((C,D)=>C+D,0)/S.length):0},[s]),v=qr.map(S=>({...S,score:s[S.id]??0})),j=a8(g),k=v.map(S=>{var C;return{...S,dx:(C=n8[S.id])==null?void 0:C[S.score]}}),N=k.filter(S=>S.score<=50).sort((S,C)=>S.score-C.score),A=k.filter(S=>S.score>=75).sort((S,C)=>C.score-S.score),E=(N.length?N:k.slice().sort((S,C)=>S.score-C.score)).slice(0,3),R=parseFloat((m.hoursPerWeek||"").replace(/[^0-9.]/g,"")),I=Number.isFinite(R)&&R>0?Math.round(R*46):null,B=!b&&!f?qr[e-1]:null,_=(B==null?void 0:B.icon)??of,$=S=>{B&&(r({...s,[B.id]:S}),setTimeout(()=>t(e+1),180))},M=S=>{var C;t(Math.min(x+1,Math.max(0,S))),typeof window<"u"&&((C=document.getElementById("assessment"))==null||C.scrollIntoView({behavior:"smooth",block:"start"}))},Q=b?"Step 1 — Your biggest manual process":f?`Step ${Mm} — Your score`:`Step ${e+1} of ${Mm} — ${B==null?void 0:B.title}`,G=Math.round((e+(f?1:0))/Mm*100),se=async()=>{if(!o)return;d(!0);const S={score:g,tier:j.label,breakdown:v.map(D=>({area:D.title,score:D.score})),risks:N.map(D=>{var H;return`${D.title} (${D.score}/100): ${(H=D.dx)==null?void 0:H.issue}`}),priorities:E.map(D=>{var H;return`${D.title}: ${(H=D.dx)==null?void 0:H.fix}`}),interested_discovery_session:!0,discovery_session_note:"User clicked YES — I'M INTERESTED for complimentary 60-min 1:1 AI Discovery Session"},{error:C}=await ht.from("labs_leads").insert({tool:"ai_readiness",name:o.name,email:o.email,phone:o.phone||null,company:o.company||null,inputs:{answers:s,areas:qr.map(D=>D.title),raid_process:m.process,raid_hours_per_week:m.hoursPerWeek,raid_people_involved:m.peopleInvolved,raid_business_impact:m.businessImpact},result:S});if(!C){const D=Date.now();["[email protected]","[email protected]","[email protected]"].forEach(H=>{ht.functions.invoke("send-transactional-email",{body:{templateName:"lead-notification",recipientEmail:H,idempotencyKey:`lead-ai_readiness-discovery-${H}-${o.email}-${D}`,templateData:{tool:"ai_readiness",name:o.name,email:o.email,phone:o.phone||"",company:o.company||"",input
514s:{answers:s,areas:qr.map(Z=>Z.title),raid_process:m.process,raid_hours_per_week:m.hoursPerWeek,raid_people_involved:m.peopleInvolved,raid_business_impact:m.businessImpact},result:S}}}).catch(()=>{})}),h(!0)}d(!1)};return n.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[n.jsx(fe,{title:"Free AI Readiness Assessment | Score Operational Risk & Automation Readiness",description:"Free 8-area Operational Risk & AI Readiness Assessment for Australian businesses. Discover the gaps, dependencies and data issues that could stop AI delivering value.",path:"/ai-readiness-assessment"}),n.jsx(ac,{ctaHref:"#assessment"}),n.jsxs("section",{className:"relative overflow-hidden",children:[n.jsx("div",{className:"absolute inset-x-0 bottom-0 hairline"}),n.jsxs("div",{className:"relative container mx-auto max-w-4xl px-5 sm:px-6 pt-10 pb-10 md:pt-20 md:pb-14 text-center",children:[n.jsx("span",{className:"eyebrow",children:"Operational Risk & AI Readiness Assessment"}),n.jsxs("h1",{className:"text-[2rem] leading-[1.08] sm:text-4xl md:text-6xl font-bold font-display tracking-tight mt-4 mb-5",children:["Is Your Business ",n.jsx("span",{className:"text-gradient-labs",children:"Actually Ready"})," For AI?"]}),n.jsx("p",{className:"text-sm sm:text-base md:text-lg text-muted-foreground leading-relaxed max-w-2xl mx-auto",children:"One short guided assessment — 9 quick steps, about 3 minutes. You'll get a score out of 100 and a prioritised roadmap."}),n.jsx("div",{className:"mt-6 flex flex-wrap justify-center gap-2 text-xs",children:["9 steps","~3 minutes","Score out of 100","Free"].map(S=>n.jsx("span",{className:"px-3 py-1.5 rounded-sm border border-border bg-card text-muted-foreground",children:S},S))}),n.jsx("div",{className:"mt-7",children:n.jsxs("a",{href:"#assessment",className:"inline-flex items-center gap-2 bg-gradient-labs px-6 py-3.5 rounded-sm font-bold font-display text-sm",children:["Start the assessment ",n.jsx(W,{className:"w-4 h-4"})]})})]})]}),n.jsxs("section",{id:"assessment",className:"container mx-auto max-w-3xl px-5 sm:px-6 py-10 md:py-16 scroll-mt-24",children:[n.jsxs("div",{className:"rounded-sm border border-border bg-card",children:[n.jsxs("div",{className:"px-5 sm:px-8 pt-6 pb-5 border-b border-border",children:[n.jsxs("div",{className:"flex items-center justify-between gap-3 mb-3",children:[n.jsx("p",{className:"text-[11px] sm:text-xs font-display font-bold uppercase tracking-[0.14em] text-accent",children:Q}),n.jsxs("span",{className:"text-[11px] text-muted-foreground shrink-0",children:[G,"%"]})]}),n.jsx("div",{className:"h-1 w-full bg-secondary rounded-sm overflow-hidden",children:n.jsx("div",{className:"h-full bg-accent transition-all duration-300",style:{width:`${Math.max(G,4)}%`}})})]}),n.jsxs("div",{className:"px-5 sm:px-8 py-7",children:[b&&n.jsxs("div",{children:[n.jsx("h2",{className:"text-xl sm:text-2xl md:text-3xl font-bold font-display tracking-tight leading-snug mb-3",children:"What is ONE process you'd happily never do manually again?"}),n.jsx("p",{className:"text-sm text-muted-foreground mb-6",children:"We score it against RAID — Repetitive, Admin-heavy, Information-driven, Delay-prone. Optional, but it makes your roadmap specific."}),n.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-4 gap-2 mb-7",children:o8.map(S=>n.jsxs("div",{className:"rounded-sm border border-border bg-secondary p-3",children:[n.jsx("p",{className:"text-2xl font-bold font-display text-accent leading-none",children:S.letter}),n.jsx("p",{className:"text-xs font-display font-semibold mt-1.5",children:S.label}),n.jsx("p",{className:"text-[11px] text-muted-foreground mt-0.5 leading-snug",children:S.hint})]},S.letter))}),n.jsx("div",{className:"space-y-4",children:l8.map(S=>n.jsxs("div",{children:[n.jsx("label",{htmlFor:`raid-${S.id}`,className:"block text-sm font-display font-semibold mb-2",children:S.label}),n.jsx("input",{id:`raid-${S.id}`,type:"text",inputMode:S.id==="hoursPerWeek"?"numeric":"text",maxLength:S.maxLength,placeholder:S.placeholder,value:m[S.id],onChange:C=>p({...m,[S.id]:C.target.value.slice(0,S.maxLength)}),className:"w-full bg-background border border-border rounded-sm px-4 py-3 text-base sm:text-sm focus:outline-none focus:border-accent transition-colors"})]},S.id))})]}),B&&n.jsxs("div",{children:[n.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[n.jsx("div",{className:"w-9 h-9 rounded-sm bg-accent/10 border border-accent/30 flex items-center justify-center shrink-0",children:n.jsx(_,{className:"w-4 h-4 text-accent"})}),n.jsx("p",{className:"text-[11px] font-display font-bold uppercase tracking-[0.14em] text-muted-foreground",children:B.title})]}),n.jsx("h2",{className:"text-lg sm:text-2xl font-bold font-display leading-snug mb-5",children:B.question}),n.jsx("div",{className:"space-y-2.5",children:B.options.map((S,C)=>{const D=s[B.id]===S.score;return n.jsx("button",{onClick:()=>$(S.score),className:`w-full p-4 rounded-sm border text-sm font-medium text-left leading-snug transition-all ${D?"border-accent bg-accent/10":"border-border bg-secondary hover:border-accent/50"}`,children:S.label},C)})})]}),f&&n.jsx("div",{children:i?n.jsxs("div",{className:"space-y-8",children:[n.jsxs("div",{children:[n.jsxs("p",{className:"text-6xl sm:text-7xl font-bold font-display text-gradient-labs leading-none",children:[g,n.jsx("span",{className:"text-2xl text-muted-foreground",children:"/100"})]}),n.jsx("p",{className:`text-xl sm:text-2xl font-bold font-display mt-3 ${j.color}`,children:j.label}),n.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mt-3",children:j.desc})]}),n.jsxs("div",{className:"pt-6 border-t border-border space-y-2.5",children:[n.jsx("p",{className:"text-[11px] font-display font-bold uppercase tracking-[0.14em] text-muted-foreground mb-3",children:"Where you stand"}),k.map(S=>n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("span",{className:"text-[11px] sm:text-xs text-muted-foreground w-28 sm:w-44 shrink-0 leading-snug",children:S.title}),n.jsx("div",{className:"flex-1 h-1.5 bg-secondary rounded-sm overflow-hidden",children:n.jsx("div",{className:`h-full ${S.score<=25?"bg-destructive":S.score<=50?"bg-gold":"bg-accent"}`,style:{width:`${S.score}%`}})}),n.jsx("span",{className:"text-[10px] sm:text-[11px] font-display font-bold uppercase tracking-wide w-16 text-right text-muted-foreground",children:C0(S.score)}),n.jsx("span",{className:"text-xs font-bold font-display w-8 text-right",children:S.score})]},S.id))]}),n.jsxs("div",{className:"pt-6 border-t border-border",children:[n.jsx("p",{className:"text-[11px] font-display font-bold uppercase tracking-[0.14em] text-muted-foreground mb-4",children:"What's wrong with how you work today"}),N.length===0?n.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"No critical weaknesses showed up — your constraint is ambition, not operations. The opportunities below are about compounding what already works."}):n.jsx("div",{className:"space-y-3",children:N.map((S,C)=>{var D,H,Z;return n.jsx("div",{className:`rounded-sm border p-4 sm:p-5 ${i8(S.score)}`,children:n.jsxs("div",{className:"flex items-start gap-3",children:[n.jsx("span",{className:"font-display font-bold text-xs tabular-nums mt-0.5",children:String(C+1).padStart(2,"0")}),n.jsxs("div",{className:"min-w-0",children:[n.jsxs("p",{className:"font-display font-bold text-sm sm:text-base leading-snug",children:[S.title," — ",C0(S.score)]}
514),n.jsx("p",{className:"text-sm text-foreground/80 leading-relaxed mt-2",children:(D=S.dx)==null?void 0:D.issue}),n.jsxs("p",{className:"text-sm text-muted-foreground leading-relaxed mt-2",children:[n.jsx("span",{className:"font-semibold text-foreground/70",children:"What it costs you: "}),(H=S.dx)==null?void 0:H.cost]}),n.jsxs("p",{className:"text-sm text-muted-foreground leading-relaxed mt-2",children:[n.jsx("span",{className:"font-semibold text-foreground/70",children:"The fix: "}),(Z=S.dx)==null?void 0:Z.fix]})]})]})},S.id)})})]}),m.process&&n.jsxs("div",{className:"pt-6 border-t border-border",children:[n.jsx("p",{className:"text-[11px] font-display font-bold uppercase tracking-[0.14em] text-muted-foreground mb-3",children:"Your named process"}),n.jsxs("div",{className:"rounded-sm border border-border bg-secondary p-4 sm:p-5",children:[n.jsx("p",{className:"font-display font-bold text-sm sm:text-base",children:m.process}),I&&n.jsxs("p",{className:"text-sm text-muted-foreground leading-relaxed mt-2",children:["At roughly ",R," hours a week, that's about ",n.jsxs("span",{className:"font-bold text-foreground",children:[I.toLocaleString()," hours a year"]}),m.peopleInvolved?` across ${m.peopleInvolved}`:""," spent on work that mostly follows rules."]}),m.businessImpact&&n.jsxs("p",{className:"text-sm text-muted-foreground leading-relaxed mt-2",children:["You told us the impact is: ",m.businessImpact,". That is exactly the kind of repetitive, admin-heavy, delay-prone work automation removes first."]})]})]}),n.jsxs("div",{className:"pt-6 border-t border-border",children:[n.jsx("p",{className:"text-[11px] font-display font-bold uppercase tracking-[0.14em] text-muted-foreground mb-4",children:"Do these three first (next 90 days)"}),n.jsx("ol",{className:"space-y-3",children:E.map((S,C)=>{var D;return n.jsxs("li",{className:"flex items-start gap-3",children:[n.jsxs("span",{className:"font-display font-bold text-xs text-accent tabular-nums mt-0.5 w-6",children:[C+1,"."]}),n.jsxs("p",{className:"text-sm text-muted-foreground leading-relaxed",children:[n.jsxs("span",{className:"font-semibold text-foreground",children:[S.title,": "]}),(D=S.dx)==null?void 0:D.fix]})]},S.id)})})]}),A.length>0&&n.jsxs("div",{className:"pt-6 border-t border-border",children:[n.jsx("p",{className:"text-[11px] font-display font-bold uppercase tracking-[0.14em] text-muted-foreground mb-3",children:"What you can build on"}),n.jsx("ul",{className:"space-y-2",children:A.map(S=>{var C;return n.jsxs("li",{className:"flex items-start gap-2.5",children:[n.jsx(Ye,{className:"w-4 h-4 text-accent mt-0.5 shrink-0"}),n.jsxs("p",{className:"text-sm text-muted-foreground leading-relaxed",children:[n.jsxs("span",{className:"font-semibold text-foreground",children:[S.title,": "]}),(C=S.dx)==null?void 0:C.fix]})]},S.id)})})]}),n.jsxs("div",{className:"pt-6 border-t border-border",children:[n.jsx("p",{className:"text-[11px] font-display font-bold uppercase tracking-[0.14em] text-muted-foreground mb-2",children:"Interested in taking the next step?"}),n.jsxs("p",{className:"text-sm text-muted-foreground mb-1 leading-relaxed",children:["We're offering ",n.jsx("span",{className:"font-semibold text-foreground",children:"3 complimentary 60-min 1:1 AI Discovery Sessions"})," to businesses attending today."]}),n.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"We'll contact you after the event to arrange your session."}),u?n.jsxs("div",{className:"inline-flex items-center gap-2 text-accent",children:[n.jsx(Ye,{className:"w-5 h-5"}),n.jsx("span",{className:"text-sm font-semibold",children:"You're on the list — we'll be in touch soon."})]}):n.jsxs("button",{onClick:se,disabled:c,className:"inline-flex items-center gap-2 bg-gradient-labs px-5 py-3 rounded-sm text-sm font-bold font-display disabled:opacity-60",children:[c?n.jsx(ir,{className:"w-4 h-4 animate-spin"}):n.jsx(W,{className:"w-4 h-4"}),c?"Saving...":"YES — I'M INTERESTED"]})]})]}):n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"flex items-center gap-2 mb-5",children:[n.jsx(of,{className:"w-5 h-5 text-accent"}),n.jsx("span",{className:"text-xs font-display font-bold uppercase tracking-widest text-accent",children:"Your AI readiness score is ready"})]}),n.jsxs("div",{className:"relative rounded-sm border border-border bg-secondary p-6 mb-6 overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 backdrop-blur-md bg-background/60 flex items-center justify-center z-10",children:n.jsxs("span",{className:"text-xs text-muted-foreground bg-background px-3 py-1.5 rounded-sm border border-border",children:["🔒 ",y?"Enter your details to unlock":"Answer all 8 areas first"]})}),n.jsxs("p",{className:"text-5xl sm:text-6xl font-bold font-display text-gradient-labs",children:[y?g:"—",n.jsx("span",{className:"text-2xl text-muted-foreground",children:"/100"})]}),n.jsx("p",{className:`text-lg font-bold font-display mt-2 ${j.color}`,children:y?j.label:"Pending"})]}),n.jsx(wS,{tool:"ai_readiness",inputs:{answers:s,areas:qr.map(S=>S.title),raid_process:m.process,raid_hours_per_week:m.hoursPerWeek,raid_people_involved:m.peopleInvolved,raid_business_impact:m.businessImpact},result:{score:g,tier:j.label,breakdown:v.map(S=>({area:S.title,score:S.score})),risks:N.map(S=>{var C;return`${S.title} (${S.score}/100): ${(C=S.dx)==null?void 0:C.issue}`}),priorities:E.map(S=>{var C;return`${S.title}: ${(C=S.dx)==null?void 0:C.fix}`})},onUnlocked:()=>a(!0),onSubmitted:S=>l(S),ctaLabel:y?"Reveal my score & roadmap":"Answer all 8 areas first"})]})})]}),!i&&n.jsxs("div",{className:"px-5 sm:px-8 py-4 border-t border-border flex items-center justify-between gap-3",children:[n.jsxs("button",{onClick:()=>M(e-1),disabled:e===0,className:"inline-flex items-center gap-1.5 text-sm text-muted-foreground hover:text-foreground disabled:opacity-30",children:[n.jsx(hh,{className:"w-4 h-4"})," Back"]}),!f&&n.jsxs("button",{onClick:()=>M(e+1),disabled:!b&&B!==null&&s[B.id]===void 0,className:"inline-flex items-center gap-2 bg-gradient-labs px-5 py-2.5 rounded-sm text-sm font-bold font-display disabled:opacity-40",children:[b?"Continue":"Next"," ",n.jsx(W,{className:"w-4 h-4"})]})]})]}),n.jsx("div",{className:"mt-5 grid grid-cols-4 sm:grid-cols-8 gap-2",children:qr.map((S,C)=>{const D=s[S.id]!==void 0,H=e===C+1;return n.jsx("button",{onClick:()=>M(C+1),title:S.title,className:`h-9 rounded-sm border text-[11px] font-display font-bold transition-colors ${H?"border-accent bg-accent/10 text-accent":D?"border-accent/40 bg-card text-accent":"border-border bg-card text-muted-foreground"}`,children:D?n.jsx(Ye,{className:"w-3.5 h-3.5 mx-auto"}):C+1}
514,S.id)})})]}),n.jsxs("section",{className:"container mx-auto max-w-6xl px-5 sm:px-6 py-14 md:py-20 border-t border-border",children:[n.jsxs("div",{className:"text-center mb-10",children:[n.jsx("span",{className:"eyebrow",children:"What you receive"}),n.jsxs("h2",{className:"text-2xl sm:text-3xl md:text-5xl font-bold font-display mt-3 tracking-tight",children:["Your AI Readiness Score ",n.jsx("span",{className:"text-gradient-labs",children:"& Roadmap"})]})]}),n.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-5 gap-4",children:c8.map(S=>{const C=S.icon;return n.jsxs("div",{className:"rounded-sm border border-border bg-card p-5",children:[n.jsx("div",{className:"w-9 h-9 rounded-sm bg-accent/10 border border-accent/30 flex items-center justify-center mb-4",children:n.jsx(C,{className:"w-4 h-4 text-accent"})}),n.jsx("h3",{className:"font-display font-bold text-base mb-1.5",children:S.title}),n.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed",children:S.desc})]},S.title)})}),n.jsxs("div",{className:"mt-10 text-center",children:[n.jsxs("a",{href:"#assessment",className:"inline-flex items-center gap-2 bg-gradient-labs px-6 py-3.5 rounded-sm font-bold font-display text-sm",children:["Start the Assessment ",n.jsx(W,{className:"w-4 h-4"})]}),n.jsx("p",{className:"text-xs text-muted-foreground mt-3",children:"~3 minutes · No sales pitch · Actionable roadmap"})]})]})]})},Qi=[{id:"dispatch",title:"Dispatch & Scheduling",icon:CN,question:"How do you allocate jobs to drivers and vehicles each day?",options:[{label:"Phone calls, whiteboard and messages",score:25},{label:"Spreadsheets shared between dispatchers",score:50},{label:"Dispatch software, some manual juggling",score:75},{label:"Live dispatch board with automated allocation",score:100}]},{id:"visibility",title:"Fleet Visibility",icon:mh,question:"Right now, can you see where every vehicle and job is?",options:[{label:"No — we call drivers to find out",score:25},{label:"GPS on some vehicles, not linked to jobs",score:50},{label:"GPS across the fleet, reviewed after the fact",score:75},{label:"Live map with jobs, ETAs and exceptions together",score:100}]},{id:"compliance",title:"Compliance & Safety",icon:jN,question:"How are fatigue, pre-starts and defects recorded?",options:[{label:"Paper books and folders in the office",score:25},{label:"Photos, PDFs and emails from drivers",score:50},{label:"Digital forms, chased manually",score:75},{label:"Digital, enforced in-app with audit trail and alerts",score:100}]},{id:"maintenance",title:"Maintenance & Downtime",icon:IN,question:"How do you manage servicing, repairs and unplanned downtime?",options:[{label:"Reactive — we fix things when they break",score:25},{label:"Service reminders in a spreadsheet or calendar",score:50},{label:"Maintenance schedule tracked in a system",score:75},{label:"Preventative schedule with telemetry-driven alerts",score:100}]},{id:"fuel",title:"Fuel & Cost per Job",icon:SN,question:"Do you know the true cost and margin of each job or run?",options:[{label:"No — we look at the P&L at month end",score:25},{label:"Roughly, from fuel cards and invoices",score:50},{label:"Per vehicle, reported monthly",score:75},{label:"Per job and per driver, visible in real time",score:100}]},{id:"paperwork",title:"PODs & Paperwork",icon:ph,question:"How do proof of delivery and dockets get back to the office?",options:[{label:"Paper dockets returned with the driver",score:25},{label:"Photos texted or emailed in, keyed by admin",score:50},{label:"Driver app captures most PODs",score:75},{label:"Digital POD flows straight into billing automatically",score:100}]},{id:"billing",title:"Invoicing & Cash Flow",icon:gP,question:"How long from job completed to invoice sent?",options:[{label:"Weeks — it depends on paperwork catching up",score:25},{label:"About a week, with rekeying into accounts",score:50},{label:"A few days, mostly automated",score:75},{label:"Same day — rates applied and invoice generated automatically",score:100}]},{id:"drivers",title:"Drivers & Workforce",icon:Sx,question:"How well are drivers supported and retained?",options:[{label:"High turnover, 
514constant phone chasing",score:25},{label:"Stable core, but admin frustrates drivers",score:50},{label:"Driver app in use, decent retention",score:75},{label:"Everything in the cab app — jobs, pay clarity, comms",score:100}]}],u8={dispatch:{25:{issue:"Your run sheet lives on a whiteboard and in dispatcher's heads.",cost:"Every change is a phone call, and one absent dispatcher can stall the morning.",fix:"Move allocation onto a live dispatch board so any dispatcher can pick up the day."},50:{issue:"Spreadsheets are shared but never in sync between dispatchers.",cost:"Double-allocated drivers, missed pickups and arguments about which version is right.",fix:"Single source of truth for jobs with status, driver and vehicle on one screen."},75:{issue:"You have software but still juggle exceptions manually.",cost:"Dispatchers spend the day firefighting rather than optimising loads.",fix:"Add allocation rules and AI suggestions so only the exceptions need a human."},100:{issue:"Dispatch is a genuine strength.",cost:"No material risk here.",fix:"Push into optimisation — load consolidation and predictive capacity planning."}},visibility:{25:{issue:"You cannot see the fleet without ringing drivers.",cost:"Customers get guesses instead of ETAs, and disputes are impossible to settle.",fix:"Put GPS across the fleet and tie every trip to a job record."},50:{issue:"GPS exists but is not connected to jobs.",cost:"You can see a truck moving but not whether the work is on time.",fix:"Link telematics to job status so delays raise themselves."},75:{issue:"Tracking is fleet-wide but reviewed after the fact.",cost:"You learn about problems the day after they cost you money.",fix:"Add live exception alerts — late, idle, off-route, out of geofence."},100:{issue:"Live operational visibility is in place.",cost:"No material risk here.",fix:"Layer forecasting on top: predicted ETAs and capacity by depot."}},compliance:{25:{issue:"Compliance evidence sits in paper books and folders.",cost:"One audit or serious incident and you are reconstructing records under pressure — chain of responsibility exposure sits with the directors.",fix:"Digitise pre-starts, fatigue and defects first; it is the highest-risk gap in the business."},50:{issue:"Records arrive as photos and emails with no structure.",cost:"Nobody can prove compliance quickly, and gaps only surface when it is too late.",fix:"Replace ad-hoc submissions with enforced digital forms tied to the driver and vehicle."},75:{issue:"Forms are digital but completion is chased manually.",cost:"Admin time is spent policing paperwork instead of preventing risk.",fix:"Block job start until pre-start is complete, and alert on defects automatically."},100:{issue:"Compliance is audit-ready.",cost:"No material risk here.",fix:"Add predictive risk scoring on fatigue, licences and mass/dimension."}},maintenance:{25:{issue:"Maintenance is reactive — you find out when a truck stops.",cost:"Unplanned downtime is the most expensive hour in a fleet: lost revenue, recovery cost and a broken customer promise.",fix:"Build a preventative service schedule per asset and track it in one register."},50:{issue:"Reminders live in a spreadsheet, so they get missed.",cost:"Services slip, warranties lapse and small faults become major repairs.",fix:"Automate service triggers on kilometres and hours, not memory."},75:{issue:"Maintenance is scheduled and tracked properly.",cost:"You still cannot see failures coming.",fix:"Feed fault codes and telemetry into predictive alerts before breakdowns."},100:{issue:"Asset uptime is well managed.",cost:"No material risk here.",fix:"Optimise whole-of-life cost and replacement timing per asset class."}},fuel:{25:{issue:"You find out how you performed at month end, from the P&L.",cost:"Unprofitable customers and runs keep operating for months before anyone notices.",fix:"Attach cost — fuel, labour, tolls, maintenance — to each job so margin is visible weekly."},50:{issue:"Costs are known roughly, from fuel cards and invoices.",cost:"Rate rises are guesswork, and loss-making lanes hide inside the average.",fix:"Reconcile fuel-card and telematics data against jobs to get true cost per run."},75:{issue:"Cost is tracked per vehicle and reported monthly.",cost:"Job-level margin is still blurred.",fix:"Break cost down to job and driver level so pricing decisions become evidence-based."},100:{issue:"You know your margin where it is made.",cost:"No material risk here.",fix:"Model rate scenarios and use margin data in tender pricing."}},paperwork:{25:{issue:"Proof of delivery travels back with the driver, on paper.",cost:"Invoicing waits on the truck, dockets get lost, and disputed deliveries cannot be proved.",fix:"Capture POD in a driver app with photo, signature, time and location."},50:{issue:"PODs arrive as photos and are rekeyed by admin.",cost:"You are paying people to retype work that was already done once, and errors follow.",fix:"Structure capture at the source so no rekeying is needed downstream."},75:{issue:"Most PODs are digital, some still manual.",cost:"The exceptions consume disproportionate admin time.",fix:"Close the last paper paths and auto-extract anything still arriving as documents."},100:{issue:"Paperwork is fully digital at the source.",cost:"No material risk here.",fix:"Use the clean data for customer self-service portals."}},billing:{25:{issue:"Invoicing waits weeks on paperwork catching up.",cost:"This is a direct cash-flow problem — you fund your customers' operations with your own working c
514apital.",fix:"Trigger invoicing from job completion and digital POD, not from paperwork arriving."},50:{issue:"Invoices go out in about a week, with rekeying into accounts.",cost:"Every rekey is a chance for a credit note and a delayed payment.",fix:"Integrate operations with your accounting system so rates flow through once."},75:{issue:"Billing is mostly automated and reasonably quick.",cost:"Edge cases and rate exceptions still land on a person.",fix:"Codify rate cards and surcharges so exceptions are the only manual work."},100:{issue:"Job-to-cash is tight.",cost:"No material risk here.",fix:"Add self-billing for subcontractors and automated reconciliation."}},drivers:{25:{issue:"Turnover is high and drivers are managed by phone.",cost:"Recruiting and inducting replacements costs more than the systems that would keep them.",fix:"Give drivers one app for jobs, forms and comms — remove the friction they leave over."},50:{issue:"The core team is stable but admin frustrates them.",cost:"Good drivers spend unpaid time on paperwork, and it shows in retention.",fix:"Cut driver admin to what can be done in the cab in under a minute."},75:{issue:"A driver app is in use and retention is reasonable.",cost:"Pay and job clarity may still cause friction.",fix:"Surface hours, jobs and pay transparency inside the same app."},100:{issue:"Your drivers are properly supported.",cost:"No material risk here.",fix:"Use the data for coaching, safety scoring and incentive programs."}}},E0=e=>e<=25?"Critical":e<=50?"At risk":e<=75?"Solid":"Strength",h8=e=>e<=25?"border-destructive/50 bg-destructive/5 text-destructive":e<=50?"border-gold/50 bg-gold/5 text-gold":"border-accent/40 bg-accent/5 text-accent",m8=e=>e<40?{label:"Paper-Based Fleet",color:"text-destructive",desc:"Your fleet is running on phone calls, paper and memory. The risk is concentrated in compliance and cash flow — both are fixable within a quarter."}:e<65?{label:"Partly Systemised",color:"text-gold",desc:"You have tools but they don't talk to each other, so your team is the integration. Connecting dispatch, POD and billing is where the fastest return sits."}:e<85?{label:"Well Run Fleet",color:"text-accent",desc:"The fundamentals are solid. The opportunity now is optimisation and automation of the exceptions still handled by people."}:{label:"Digitally Mature Fleet",color:"text-accent",desc:"You are operating at a high standard. Focus on predictive maintenance, AI dispatch and margin optimisation to compound the advantage."},p8=[{id:"vehicles",label:"Vehicles in the fleet",placeholder:"e.g. 24",max:40},{id:"drivers",label:"Drivers",placeholder:"e.g. 30",max:40},{id:"adminHours",label:"Office hours / week on fleet admin",placeholder:"e.g. 25",max:40},{id:"biggestPain",label:"Your biggest daily headache",placeholder:"e.g. Chasing dockets to invoice",max:240}],Dm=Qi.length+2,T0=()=>{const[e,t]=w.useState(0),[s,r]=w.useState({}),[i,a]=w.useState(!1),[o,l]=w.useState({vehicles:"",drivers:"",adminHours:"",biggestPain:""}),c=Qi.length,d=Object.keys(s).length===c,u=e===0,h=e===c+1,m=w.useMemo(()=>{const _=Object.values(s);return _.length?Math.round(_.reduce(($,M)=>$+M,0)/_.length):0},[s]),p=Qi.map(_=>({..._,score:s[_.id]??0})),x=m8(m),y=p.map(_=>{var $;return{..._,dx:($=u8[_.id])==null?void 0:$[_.score]}}),b=y.filter(_=>_.score<=50).sort((_,$)=>_.score-$.score),f=y.filter(_=>_.score>=75).sort((_,$)=>$.score-_.score),g=(b.length?b:y.slice().sort((_,$)=>_.score-$.score)).slice(0,3),v=parseFloat((o.adminHours||"").replace(/[^0-9.]/g,"")),j=Number.isFinite(v)&&v>0?Math.round(v*46):null,k=!u&&!h?Qi[e-1]:null,N=(k==null?void 0:k.icon)??Sa,A=_=>{k&&(r({...s,[k.id]:_}),setTimeout(()=>t(e+1),180))},E=_=>{var $;t(Math.min(c+1,Math.max(0,_))),($=document.getElementById("assessment"))==null||$.scrollIntoView({behavior:"smooth",block:"start"})},R=u?"Step 1 — Your fleet":h?`Step ${Dm} — Your fleet score`:`Step ${e+1} of ${Dm} — ${k==null?void 0:k.title}`,I=Math.round((e+(h?1:0))/Dm*100),B={answers:s,areas:Qi.map(_=>_.title),fleet_vehicles:o.vehicles,fleet_drivers:o.drivers,fleet_admin_hours_per_week:o.adminHours,fleet_biggest_pain:o.biggestPain};return n.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[n.jsx(fe,{title:"Free Fleet Operations Health Check | Score Your Fleet in 3 Minutes",description:"Free 8-area fleet assessment for transport, freight and logistics operators. Score dispatch, compliance, maintenance, POD and billing — and get a prioritised 90-day plan.",path:"/fleet-assessment"}),n.jsx(ac,{ctaHref:"#assessment"}),n.jsx("section",{className:"relative overflow-hidden border-b border-foreground
514/10",children:n.jsxs("div",{className:"container mx-auto max-w-4xl px-5 sm:px-6 pt-10 pb-10 md:pt-20 md:pb-14 text-center",children:[n.jsx("span",{className:"eyebrow",children:"Fleet Operations Health Check"}),n.jsxs("h1",{className:"text-[2rem] leading-[1.08] sm:text-4xl md:text-6xl font-bold font-display tracking-tight mt-4 mb-5",children:["How much is your fleet ",n.jsx("span",{className:"text-gradient-labs",children:"losing to paperwork?"})]}),n.jsx("p",{className:"text-sm sm:text-base md:text-lg text-muted-foreground leading-relaxed max-w-2xl mx-auto",children:"Ten quick steps, about three minutes. Score your fleet across dispatch, compliance, maintenance, PODs and billing — then see exactly where the money and risk are hiding."}),n.jsx("div",{className:"mt-6 flex flex-wrap justify-center gap-2 text-xs",children:["10 steps","~3 minutes","Score out of 100","Built for AU operators","Free"].map(_=>n.jsx("span",{className:"px-3 py-1.5 rounded-sm border border-border bg-card text-muted-foreground",children:_},_))}),n.jsx("div",{className:"mt-7",children:n.jsxs("a",{href:"#assessment",className:"inline-flex items-center gap-2 bg-gradient-labs px-6 py-3.5 rounded-sm font-bold font-display text-sm",children:["Start the health check ",n.jsx(W,{className:"w-4 h-4"})]})})]})}),n.jsxs("section",{id:"assessment",className:"container mx-auto max-w-3xl px-5 sm:px-6 py-10 md:py-16 scroll-mt-24",children:[n.jsxs("div",{className:"rounded-sm border border-border bg-card",children:[n.jsxs("div",{className:"px-5 sm:px-8 pt-6 pb-5 border-b border-border",children:[n.jsxs("div",{className:"flex items-center justify-between gap-3 mb-3",children:[n.jsx("p",{className:"text-[11px] sm:text-xs font-display font-bold uppercase tracking-[0.14em] text-accent",children:R}),n.jsxs("span",{className:"text-[11px] text-muted-foreground shrink-0",children:[I,"%"]})]}),n.jsx("div",{className:"h-1 w-full bg-secondary rounded-sm overflow-hidden",children:n.jsx("div",{className:"h-full bg-accent transition-all duration-300",style:{width:`${Math.max(I,4)}%`}})})]}),n.jsxs("div",{className:"px-5 sm:px-8 py-7",children:[u&&n.jsxs("div",{children:[n.jsx("h2",{className:"text-xl sm:text-2xl md:text-3xl font-bold font-display tracking-tight leading-snug mb-3",children:"Tell us about your fleet"}),n.jsx("p",{className:"text-sm text-muted-foreground mb-6",children:"Optional, but it lets us put real hours and dollars against your result."}),n.jsx("div",{className:"space-y-4",children:p8.map(_=>n.jsxs("div",{children:[n.jsx("label",{htmlFor:`fleet-${_.id}`,className:"block text-sm font-display font-semibold mb-2",children:_.label}),n.jsx("input",{id:`fleet-${_.id}`,type:"text",inputMode:_.id==="biggestPain"?"text":"numeric",maxLength:_.max,placeholder:_.placeholder,value:o[_.id],onChange:$=>l({...o,[_.id]:$.target.value.slice(0,_.max)}),className:"w-full bg-background border border-border rounded-sm px-4 py-3 text-base sm:text-sm focus:outline-none focus:border-accent transition-colors"})]},_.id))})]}),k&&n.jsxs("div",{children:[n.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[n.jsx("div",{className:"w-9 h-9 rounded-sm bg-accent/10 border border-accent/30 flex items-center justify-center shrink-0",children:n.jsx(N,{className:"w-4 h-4 text-accent"})}),n.jsx("p",{className:"text-[11px] font-display font-bold uppercase tracking-[0.14em] text-muted-foreground",children:k.title})]}),n.jsx("h2",{className:"text-lg sm:text-2xl font-bold font-display leading-snug mb-5",children:k.question}),n.jsx("div",{className:"space-y-2.5",children:k.options.map((_,$)=>{const M=s[k.id]===_.score;return n.jsx("button",{onClick:()=>A(_.score),className:`w-full p-4 rounded-sm border text-sm font-medium text-left leading-snug transition-all ${M?"border-accent bg-accent/10":"border-border bg-secondary hover:border-accent/50"}`,children:_.label},$)})})]}),h&&n.jsx("div",{children:i?n.jsxs("div",{className:"space-y-8",children:[n.jsxs("div",{children:[n.jsxs("p",{className:"text-6xl sm:text-7xl font-bold font-display text-gradient-labs leading-none",children:[m,n.jsx("span",{className:"text-2xl text-muted-foreground",children:"/100"})]}),n.jsx("p",{className:`text-xl sm:text-2xl font-bold font-display mt-3 ${x.color}`,children:x.label}),n.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mt-3",children:x.desc})]}),n.jsxs("div",{className:"pt-6 border-t border-border space-y-2.5",children:[n.jsx("p",{className:"text-[11px] font-display font-bold uppercase tracking-[0.14em] text-muted-foreground mb-3",children:"Where your fleet stands"}),y.map(_=>n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("span",{className:"text-[11px] sm:text-xs text-muted-foreground w-28 sm:w-44 shrink-0 leading-snug",children:_.title}),n.jsx("div",{className:"flex-1 h-1.5 bg-secondary rounded-sm overflow-hidden",children:n.jsx("div",{className:`h-full ${_.score<=25?"bg-destructive":_.score<=50?"bg-gold":"bg-accent"}`,style:{width:`${_.score}%`}})}),n.jsx("span",{className:"text-[10px] sm:text-[11px] font-display font-bold uppercase tracking-wide w-16 text-right text-muted-foreground",children:E0(_.score)}),n.jsx("span",{className:"text-xs font-bold font-display w-8 text-right",children:_.score})]},_.id))]}),n.jsxs("div",{className:"pt-6 border-t border-border",children:[n.jsx("p",{className:"text-[11px] font-display font-bold uppercase tracking-[0.14em] text-muted-foreground mb-4",children:"What's costing you today"}),b.length===0?n.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:"No critical weaknesses showed up. Your fleet is well run — the next gains come from optimisation, not repair."}):n.jsx("div",{className:"space-y-3",children:b.map((_,$)=>{var M,Q,G;return n.jsx("div",{className:`rounded-sm border p-4 sm:p-5 ${h8(_.score)}`,children:n.jsxs("div",{className:"flex items-start gap-3",children:[n.jsx("span",{className:"font-display font-bold text-xs tabular-nums mt-0.5",children:String($+1).padStart(2,"0")}),n.jsxs("div",{className:"min-w-0",children:[n.jsxs("p",{className:"font-display font-bold text-sm sm:text-base leading-snug",children:[_.t
514itle," — ",E0(_.score)]}),n.jsx("p",{className:"text-sm text-foreground/80 leading-relaxed mt-2",children:(M=_.dx)==null?void 0:M.issue}),n.jsxs("p",{className:"text-sm text-muted-foreground leading-relaxed mt-2",children:[n.jsx("span",{className:"font-semibold text-foreground/70",children:"What it costs you: "}),(Q=_.dx)==null?void 0:Q.cost]}),n.jsxs("p",{className:"text-sm text-muted-foreground leading-relaxed mt-2",children:[n.jsx("span",{className:"font-semibold text-foreground/70",children:"The fix: "}),(G=_.dx)==null?void 0:G.fix]})]})]})},_.id)})})]}),(j||o.biggestPain)&&n.jsxs("div",{className:"pt-6 border-t border-border",children:[n.jsx("p",{className:"text-[11px] font-display font-bold uppercase tracking-[0.14em] text-muted-foreground mb-3",children:"Your fleet in numbers"}),n.jsxs("div",{className:"rounded-sm border border-border bg-secondary p-4 sm:p-5 space-y-2",children:[o.vehicles&&n.jsxs("p",{className:"text-sm text-muted-foreground leading-relaxed",children:[n.jsx("span",{className:"font-semibold text-foreground",children:o.vehicles})," vehicles",o.drivers?n.jsxs(n.Fragment,{children:[" and ",n.jsx("span",{className:"font-semibold text-foreground",children:o.drivers})," drivers"]}):null," under management."]}),j&&n.jsxs("p",{className:"text-sm text-muted-foreground leading-relaxed",children:["At roughly ",v," office hours a week on fleet admin, that's about"," ",n.jsxs("span",{className:"font-bold text-foreground",children:[j.toLocaleString()," hours a year"]})," spent on work that mostly follows rules."]}),o.biggestPain&&n.jsxs("p",{className:"text-sm text-muted-foreground leading-relaxed",children:["You told us the daily headache is: ",o.biggestPain,". That is exactly the kind of repetitive, delay-prone work a connected fleet system removes first."]})]})]}),n.jsxs("div",{className:"pt-6 border-t border-border",children:[n.jsx("p",{className:"text-[11px] font-display font-bold uppercase tracking-[0.14em] text-muted-foreground mb-4",children:"Do these three first (next 90 days)"}),n.jsx("ol",{className:"space-y-3",children:g.map((_,$)=>{var M;return n.jsxs("li",{className:"flex items-start gap-3",children:[n.jsxs("span",{className:"font-display font-bold text-xs text-accent tabular-nums mt-0.5 w-6",children:[$+1,"."]}),n.jsxs("p",{className:"text-sm text-muted-foreground leading-relaxed",children:[n.jsxs("span",{className:"font-semibold text-foreground",children:[_.title,": "]}),(M=_.dx)==null?void 0:M.fix]})]},_.id)})})]}),f.length>0&&n.jsxs("div",{className:"pt-6 border-t border-border",children:[n.jsx("p",{className:"text-[11px] font-display font-bold uppercase tracking-[0.14em] text-muted-foreground mb-3",children:"What you can build on"}),n.jsx("ul",{className:"space-y-2",children:f.map(_=>{var $;return n.jsxs("li",{className:"flex items-start gap-2.5",children:[n.jsx(Ye,{className:"w-4 h-4 text-accent mt-0.5 shrink-0"}),n.jsxs("p",{className:"text-sm text-muted-foreground leading-relaxed",children:[n.jsxs("span",{className:"font-semibold text-foreground",children:[_.title,": "]}),($=_.dx)==null?void 0:$.fix]})]},_.id)})})]}),n.jsxs("div",{className:"pt-6 border-t border-border",children:[n.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed mb-4",children:"We've emailed your full fleet report. Want to see how FleetPro handles the three priorities above?"}),n.jsxs("a",{href:"/platform-suite/fleetpro",className:"inline-flex items-center gap-2 bg-gradient-labs px-5 py-3 rounded-sm text-sm font-bold font-display",children:["See FleetPro ",n.jsx(W,{className:"w-4 h-4"})]})]})]}):n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"flex items-center gap-2 mb-5",children:[n.jsx(Sa,{className:"w-5 h-5 text-accent"}),n.jsx("span",{className:"text-xs font-display font-bold uppercase tracking-widest text-accent",children:"Your fleet score is ready"})]}),n.jsxs("div",{className:"relative rounded-sm border border-border bg-secondary p-6 mb-6 overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 backdrop-blur-md bg-background/60 flex items-center justify-center z-10",children:n.jsxs("span",{className:"text-xs text-muted-foreground bg-background px-3 py-1.5 rounded-sm border border-border",children:["🔒 ",d?"Enter your details to unlock":"Answer all 8 areas first"]})}),n.jsxs("p",{className:"text-5xl sm:text-6xl font-bold font-display text-gradient-labs",children:[d?m:"—",n.jsx("span",{className:"text-2xl text-muted-foreground",children:"/100"})]}),n.jsx("p",{className:`text-lg font-bold font-display mt-2 ${x.color}`,children:d?x.label:"Pending"})]}),n.jsx(wS,{tool:"fleet_assessment",inputs:B,result:{score:m,tier:x.label,breakdown:p.map(_=>({area:_.title,score:_.score})),risks:b.map(_=>{var $;return`${_.title} (${_.score}/100): ${($=_.dx)==null?void 0:$.issue}`}),priorities:g.map(_=>{var $;return`${_.title}: ${($=_.dx)==null?void 0:$.fix}`})},onUnlocked:()=>a(!0),ctaLabel:d?"Reveal my fleet score & plan":"Answer all 8 areas first",headline:"Where should we send your fleet report?",subhead:"Your score, risks and 90-day plan — emailed instantly."})]})})]}),!i&&n.jsxs("div",{className:"px-5 sm:px-8 py-4 border-t border-border flex items-center justify-between gap-3",children:[n.jsxs("button",{onClick:()=>E(e-1),disabled:e===0,className:"inline-flex items-center gap-1.5 text-sm text-muted-foreground hover:text-foreground disabled:opacity-30",children:[n.jsx(hh,{className:"w-4 h-4"})," Back"]}),!h&&n.jsxs("button",{onClick:()=>E(e+1),disabled:!u&&k!==null&&s[k.id]===void 0,className:"inline-flex items-center gap-2 bg-gradient-labs px-5 py-2.5 rounded-sm text-sm font-bold font-display disabled:opacity-40",children:[u?"Continue":"Next"," ",n.jsx(W,{className:"w-4 h-4"})]})]})]}),n.jsx("div",{className:"mt-5 grid grid-cols-4 sm:grid-cols-8 gap-2",children:Qi.map((_,$)=>{const M=s[_.id]!==void 0,Q=e===$+1;return n.jsx("button",{onClick:()=>E($+1),title:_.title,className:`h-9 rounded-sm border text-[11px] font-display font-bold transition-colors ${Q?"border-accent bg-accent/10 text-accent":M?"border-accent/40 bg-card text-accent":"border-border bg-card text-muted-foreground"}`,children:M?n.jsx(Ye,{className:"w-3.5 h-3.5 mx-auto"}):$+1},_.id)})})]}),n.jsxs("section",{className:"container mx-auto max-w-6xl px-5 sm:px-6 py-14 md:py-20 border-t border-border",children:[n.jsxs("div",{className:"text-center mb-10",children:[n.jsx("span",{className:"eyebrow",children:"What you receive"}),n.jsxs("h2",{className:"text-2xl sm:text-3xl md:text-5xl font-bold font-display mt-3 tracking-tight",children:["Your fleet scorecard ",n.jsx("span",{className:"text-gradient-labs",children:"& 90-day plan"})]})]}),n.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4",children:[{icon:mh,title:"Fleet Scorecard",desc:"Your score across all 8 operational areas."},{icon:jN,title:"Compliance Risk Review",desc:"Where your audit trail would fall over today."},{icon:SN,title:"Hidden Cost Analysis",desc:"The admin hours and cash-flow delay you're absorbing."},{icon:CN,title:"Prioritised 90-Day Plan",desc:"The three fixes worth doing before anything else."}].map(_=>{const $=_.icon;return n.jsxs("div",{className:"rounded-sm border border-border bg-card p-5",children:[n.jsx("div",{className:"w-9 h-9 rounded-sm bg-accent/10 border border-accent/30 flex items-center justify-center mb-4",children:n.jsx($,{className:"w-4 h-4 text-accent"})}),n.jsx("h3",{className:"font-display font-bold text-base mb-1.5",children:_.title}),n.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed",children:_.desc})]},_.title)})}),n.jsxs("div",{className:"mt-10 text-center",children:[n.jsxs("a",{href:"#assessment",className:"inline-flex items-center gap-2 bg-gradient-labs px-6 py-3.5 rounded-sm font-bold font-display text-sm",children:["Start the health check ",n.jsx(W,{className:"w-4 h-4"})]}),n.jsx("p",{className:"text-xs text-muted-foreground mt-3",children:"~3 minutes · No sales pitch · Built for transport operators"})]})]})]})},f8="/assets/yourride-BdojJgnj.jpg",g8="/assets/furbaby-JItHtqU6.jpg",x8="/assets/s30studio-tM30zbEE.jpg",y8="/assets/plentyoffish-C8GabPdP.jpg",v8="/assets/vics-Bmhg3AOk.jpg",jS="/assets/fieldops-BRkbhzHT.jpg",Kx="/assets/opspilot-CF27DcYI.jpg",b8=[{name:"RideWest",cover:W2,category:"Rideshare · Carpooling",tags:["iPhone","Android","Design","APIs","AWS"],description:"Ride-sharing and carpooling app — search rides in seconds, smart pickup points, driver earnings dashboard, in-app groups and chat for co-riders.",panelColor:"bg-[#1a7f3c]"},{name:"Your Ride",cover:f8,category:"Rideshare · Mobility",tags:["iPhone","Android","Design","APIs","AWS"],description:"On-demand rideshare platform with rider & driver apps, live tracking, in-app payments and a fleet dispatch console.",panelColor:"bg-[#1f7a8c]"},{name:"Fur Baby Social",cover:g8,category:"Pet Social · Community",tags:["iPhone","Android","Design","APIs","AWS"],description:"Social network for pet owners — profiles for pets, playdate matchmaking, feed and geo-based park meetups.",panelColor:"bg-[#e07a5f]"},{name:"S 30 Studio",cover:x8,category:"Fitness · Bookings",tags:["iPhone","Android","Design","APIs"],description:"Boutique gym booking app with class scheduling, membership billing, coach chat and progress tracking.",panelColor:"bg-[#2a9d8f]"},{name:"Plenty of Fish",cover:y8,category:"Dating · Social",tags:["iPhone","Android","Design","APIs","AWS"],description:"Dating experience with intelligent matching, chat, video calls and safety verification workflows.",panelColor:"bg-[#5b8def]"},{name:"Vic's",cover:v8,category:"Food & Delivery",tags:["iPhone","Android","Design","AWS"],description:"Restaurant ordering and delivery app with menu builder, live kitchen tickets and driver dispatch.",panelColor:"bg-[#c1121f]"},{name:"Designer Wardrobe",cover:oc,category:"Fashion · Marketplace",tags:["iPhone","Android","AI","Marketplace","AWS"],description:"Australasia's largest pre-loved fashion community — shop, sell and discover designer & high-street fashion with AI List Assist, personalised recommendations, free shipping and buyer protection.",panelColor:"bg-[#b76e79]"},{name:"Covve",cover:z2,category:"Productivity · CRM",tags:["Android","iPhone","AI","APIs"],description:"Personal CRM with fast business-card scanning, digital cards and smart follow-up reminders. Live on Google Play with 20k+ reviews.",panelColor:"bg-[#0f6ab4]"},{name:"PerfectStay Rentals",cover:V2,category:"Travel · Marketplace",tags:["iPhone","Android","Design","APIs"],description:"Holiday rentals app — browse stays, book, earn cashback and discover activities and restaurants around the property.",panelColor:"bg-[#218380]"},{name:"CleanSync AI",cover:Sh,category:"Field Services · SaaS",tags:["Web","iPhone","Android","AI"],description:"Two connected apps for commercial cleaning: a client portal with live site status and photo proofs, and an ops console for scheduling, payroll and AI insights.",panelColor:"bg-[#3a86ff]"},{name:"FleetPro",cover:lc,category:"Transport & Logistics",tags:["Web","iPhone","Android","AI"],description:"Our flagship product — dispatch, driver app, live tanker map, AI risk alerts and automated invoicing for fuel and courier operators.",panelColor:"bg-[#023e8a]"},{name:"GrowthOS",cover:Ah,category:"AI Marketing Command Centre",tags:["Web","AI","Meta Ads","Google Ads","CRM"],description:"AI-powered marketing command centre for SMBs — Meta & Google Ads reporting, lead tracking with AI scoring, sales pipeline, ROAS and revenue attribution, call tracking, email automation and AI recommendations. Sample account: $47,412 revenue, 183 leads, 7 customers, 3.8× ROAS.",panelColor:"bg-[#14b8a6]"},{name:"FieldOps 365",cover:jS,category:"Field Service · Microsoft Power Platform",tags:["Power Apps","Power Automate","Power BI","Mobile"],description:"Microsoft Power Platform field service suite for an electrical & plumbing company — work orders, technician scheduling, asset management, inspection forms, customer signatures, GPS tracking, photo uploads, inventory and offline mobile mode with Power BI insights.",panelColor:"bg-[#0078d4]"},{name:"VoiceDesk",cover:_h,category:"AI Receptionist · Voice AI",tags:["Voice AI","SaaS","CRM","SMS"],description:"AI receptionist platform — 24/7 phone answering, live call dashboard, transcripts, appointment booking, lead qualification, SMS follow-up, CRM sync and a voice AI training console with conversation analytics.",panelColor:"bg-[#7c3aed]"},{name:"OpsPilot AI",cover:Kx,category:"AI Operations Command Centre",tags:["Web","AI","Power Platform","Dynamics 365","Analytics"],description:"Premium enterprise ops command centre for SMBs — business health dashboard, workflow monitoring, team performance, AI recommendations, task automation metrics, revenue and customer service monitoring, plus an AI assistant sidebar, workflow automation builder, executive dashboard and real-time alerts.",panelColor:"bg-[#0b3d91]"}],w8=()=>n.jsxs(Le,{children:[n.jsx(fe,{title:"Portfolio — Apps we've built | 10xGrowth Labs",description:"Selected mobile, web and AI apps shipped by 10xGrowth Labs — rideshare, eCommerce, dating, food delivery, fitness, travel, fleet and field services.",path:"/portfolio"}),n.jsx("section",{className:"pt-8 md:pt-12 pb-16 md:pb-20 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsx("div",{className:"eyebrow mb-8",children:"Portfolio"}),n.jsxs("h1",{className:"font-display text-[42px] sm:text-6xl md:text-7xl lg:text-[88px] leading-[0.98] tracking-[-0.02em] max-w-5xl",children:["Apps we've shipped —",n.jsx("br",{}),n.jsx("span",{className:"font-serif-italic",children:"live, in production."})]}
514),n.jsx("p",{className:"mt-8 text-lg md:text-xl text-foreground/70 max-w-3xl leading-relaxed",children:"A selection of consumer, marketplace and B2B platforms our team has designed, built and shipped across iOS, Android and web."})]})}),n.jsx("section",{className:"border-t border-foreground/10 py-14 sm:py-20 px-3 sm:px-6",children:n.jsx("div",{className:"container mx-auto max-w-7xl",children:n.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:b8.map(e=>n.jsxs("article",{className:"overflow-hidden border border-foreground/15 flex flex-col",children:[n.jsx("div",{className:"relative aspect-[16/10] overflow-hidden bg-secondary/60",children:n.jsx("img",{src:e.cover,alt:e.name,loading:"lazy",className:"w-full h-full object-cover"})}),n.jsxs("div",{className:`${e.panelColor} p-8 md:p-10 flex-1 flex flex-col justify-center text-center`,children:[n.jsx("p",{className:"text-white/80 text-[11px] font-bold font-display uppercase tracking-[0.22em] mb-3",children:e.category}),n.jsx("h3",{className:"text-3xl md:text-4xl font-bold font-display text-white mb-4 leading-tight",children:e.name}),n.jsx("p",{className:"text-white/90 text-sm md:text-base leading-relaxed max-w-xl mx-auto mb-5",children:e.description}),n.jsx("div",{className:"flex flex-wrap gap-2 justify-center",children:e.tags.map(t=>n.jsx("span",{className:"px-2.5 py-1 rounded-full text-[10px] font-semibold font-display uppercase tracking-wider text-white border border-white/40",children:t},t))})]})]},e.name))})})}),n.jsx("section",{className:"ink-theme bg-background text-foreground py-24 md:py-32 px-6 border-t border-foreground
514/10",children:n.jsxs("div",{className:"container mx-auto max-w-5xl text-center",children:[n.jsx("div",{className:"eyebrow mb-8",children:"Have an idea?"}),n.jsxs("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:["Get a Free App or Software ",n.jsx("span",{className:"font-serif-italic",children:"Blueprint."})]}),n.jsx("p",{className:"mt-6 text-foreground/70 max-w-xl mx-auto",children:"Scope, stack, timeline and price — in 48 hours."}),n.jsx("div",{className:"mt-10",children:n.jsxs(L,{to:"/blueprint",className:"inline-flex items-center gap-3 bg-foreground text-background px-8 py-4 text-sm font-semibold tracking-wide uppercase hover:bg-foreground/85 transition-colors",children:["Get your Free Blueprint ",n.jsx(W,{className:"w-4 h-4"})]})})]})})]}),kS=({eyebrow:e,title:t,lead:s,children:r,className:i="",dark:a=!1,container:o="max-w-7xl"})=>n.jsx("section",{className:`${a?"ink-theme bg-background text-foreground":""} py-24 md:py-32 px-6 ${i}`,children:n.jsxs("div",{className:`container mx-auto ${o}`,children:[(e||t||s)&&n.jsxs("div",{className:"grid md:grid-cols-12 gap-8 md:gap-12 mb-16 md:mb-20",children:[n.jsxs("div",{className:"md:col-span-4",children:[e&&n.jsx("div",{className:"eyebrow mb-4",children:e}),n.jsx("div",{className:"hairline max-w-[3rem]"})]}),n.jsxs("div",{className:"md:col-span-8",children:[t&&n.jsx("h2",{className:"font-display text-3xl md:text-5xl lg:text-6xl leading-[1.05] tracking-tight",children:t}),s&&n.jsx("p",{className:"mt-6 text-lg md:text-xl text-foreground/70 max-w-3xl leading-relaxed",children:s})]})]}),r]})}),j8=[{k:"40%",v:"Reduction in manual processing time"},{k:"3.2x",v:"Increase in inspection throughput"},{k:"22 hrs",v:"Recovered per officer, per week"},{k:"60%",v:"Faster procurement cycles"}],k8=[{title:"Business Analysis & Advisory",lead:"Target operating models, current-state diagnostics and business cases that pass audit."},{title:"Business Process Reengineering",lead:"Redesigning core workflows — from intake to invoicing — for measurable throughput gains."},{title:"Enterprise Applications",lead:"Microsoft Dynamics, Salesforce, ServiceNow, Zoho — implemented, integrated and adopted."},{title:"Custom Platform Development",lead:"Bespoke platforms for regulated operations where off-the-shelf falls short."},{title:"AI & Automation",lead:"Agents, copilots and process automation designed for governance and human oversight."},{title:"Managed Services",lead:"Ongoing evolution, integration and support — SLA-backed and outcome-measured."}],N8=[{title:"Roads & Assets",lead:"Digital inspections, defect capture, work-order routing and asset lifecycle reporting."},{title:"Rates & Revenue",lead:"Rates workflows, hardship applications, refunds and citizen self-service portals."},{title:"Waste & Rubbish",lead:"Route optimisation, missed-bin handling, contamination reporting and contractor performance."},{title:"Procurement & Internal Tools",lead:"Approvals, contract lifecycle, panel management and internal service catalogues."}],S8=()=>n.jsxs(Le,{children:[n.jsx(fe,{title:"Digital Transformation Consulting Australia | 10xGrowth Labs",description:"Digital transformation consulting for Australian enterprises and government, covering AI, automation, operational platforms and software modernisation.",path:"/enterprise",jsonLd:[uo({name:"Digital Transformation Consulting",description:"Digital transformation consulting for Australian enterprises, councils and government — AI, automation, operational platforms and legacy system modernisation.",path:"/enterprise",serviceType:"Digital transformation consulting"}),ur([{name:"Enterprise & Government",path:"/enterprise"}])]}),n.jsx("section",{className:"pt-8 md:pt-12 pb-20 md:pb-28 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsx("div",{className:"eyebrow mb-10",children:"For Enterprise & Government"}),n.jsxs("h1",{className:"font-display text-4xl sm:text-6xl md:text-7xl lg:text-8xl leading-[1.02] tracking-tight max-w-5xl",children:["Modernise operations. ",n.jsx("span",{className:"font-serif-italic",children:"Deliver better services."})]}),n.jsx("p",{className:"mt-10 text-lg md:text-xl text-foreground
514/70 max-w-3xl leading-relaxed",children:"Digital transformation consulting in Australia for government agencies, councils and enterprises: we modernise business processes, replace legacy systems and deploy AI responsibly — inside your risk, procurement and governance frameworks."}),n.jsxs("div",{className:"mt-12 flex flex-col sm:flex-row items-start sm:items-center gap-5",children:[n.jsxs(L,{to:"/contact",className:"inline-flex items-center gap-3 bg-foreground text-background px-7 py-4 text-sm font-semibold tracking-wide uppercase hover:bg-foreground/85 transition-colors",children:["Request a Capability Statement ",n.jsx(W,{className:"w-4 h-4"})]}),n.jsxs("a",{href:"mailto:[email protected]?subject=Discovery%20session",className:"inline-flex items-center gap-2 text-sm font-semibold underline underline-offset-8 decoration-foreground/30 hover:decoration-foreground transition-colors",children:["Book a discovery session ",n.jsx(We,{className:"w-4 h-4"})]})]})]})}),n.jsx("section",{className:"border-y border-foreground
514/10 py-16 px-6",children:n.jsx("div",{className:"container mx-auto max-w-7xl grid grid-cols-2 md:grid-cols-4 gap-8",children:j8.map(e=>n.jsxs("div",{children:[n.jsx("div",{className:"font-display text-4xl md:text-5xl tracking-tight",children:e.k}),n.jsx("div",{className:"mt-3 text-sm text-foreground/60 leading-snug",children:e.v})]},e.v))})}),n.jsx(kS,{eyebrow:"Services",title:n.jsxs(n.Fragment,{children:["What we do for ",n.jsx("span",{className:"font-serif-italic text-foreground/70",children:"enterprises and government."})]}),children:n.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-px bg-foreground/15 border border-foreground/15",children:k8.map(e=>n.jsxs("div",{className:"bg-background p-8 md:p-10",children:[n.jsx("h3",{className:"font-display text-xl md:text-2xl mb-4",children:e.title}),n.jsx("p",{className:"text-sm text-foreground/70 leading-relaxed",children:e.lead})]},e.title))})}),n.jsx("section",{className:"ink-theme bg-background text-foreground py-24 md:py-32 px-6 border-t border-foreground/10",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"grid md:grid-cols-12 gap-8 mb-16",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:"Council Focus"}),n.jsx("div",{className:"hairline max-w-[3rem]"})]}),n.jsx("div",{className:"md:col-span-8",children:n.jsxs("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:["Roads, rates, rubbish — and the operations",n.jsx("span",{className:"font-serif-italic text-foreground/70",children:" in between."})]})})]}),n.jsx("div",{className:"grid md:grid-cols-2 gap-px bg-foreground
514/15 border border-foreground/15",children:N8.map(e=>n.jsxs("div",{className:"bg-background p-8 md:p-10",children:[n.jsx("h3",{className:"font-display text-2xl md:text-3xl mb-4",children:e.title}),n.jsx("p",{className:"text-sm text-foreground/70 leading-relaxed",children:e.lead})]},e.title))})]})}),n.jsx("section",{className:"py-32 md:py-40 px-6 border-t border-foreground/10",children:n.jsxs("div",{className:"container mx-auto max-w-5xl text-center",children:[n.jsxs("h2",{className:"font-display text-4xl md:text-6xl leading-[1.05] tracking-tight",children:["Ready to modernise ",n.jsx("span",{className:"font-serif-italic",children:"what matters?"})]}),n.jsx("div",{className:"mt-12",children:n.jsxs(L,{to:"/contact",className:"inline-flex items-center gap-3 bg-foreground text-background px-8 py-4 text-sm font-semibold tracking-wide uppercase hover:bg-foreground/85 transition-colors",children:["Book Discovery Session ",n.jsx(W,{className:"w-4 h-4"})]})})]})})]}),A8=1,_8="789deede-b7e9-4019-b220-d1b94e46a430",C8="2303a136-ebed-4a95-9f74-22b71420daa4",E8="/__l5e/assets-v1/789deede-b7e9-4019-b220-d1b94e46a430/million-dollar-idea.mp4",T8="a/v1/2303a136-ebed-4a95-9f74-22b71420daa4/789deede-b7e9-4019-b220-d1b94e46a430/million-dollar-idea.mp4",P8="million-dollar-idea.mp4",I8=5641364,R8="video/mp4",O8="2026-07-06T01:53:50Z",M8={version:A8,asset_id:_8,project_id:C8,url:E8,r2_key:T8,original_filename:P8,size:I8,content_type:R8,created_at:O8},D8=1,L8="9cd090a4-09c4-4749-8e44-ff2beed88ac7",$8="2303a136-ebed-4a95-9f74-22b71420daa4",F8="/__l5e/assets-v1/9cd090a4-09c4-4749-8e44-ff2beed88ac7/app-cost-story.mp4",B8="a/v1/2303a136-ebed-4a95-9f74-22b71420daa4/9cd090a4-09c4-4749-8e44-ff2beed88ac7/app-cost-story.mp4",U8="app-cost-story.mp4",W8=7652550,V8="video/mp4",z8="2026-07-06T01:20:42Z",H8={version:D8,asset_id:L8,project_id:$8,url:F8,r2_key:B8,original_filename:U8,size:W8,content_type:V8,created_at:z8},q8=1,G8="3da38bc6-c94a-4b09-8129-d1181c6d58e4",K8="2303a136-ebed-4a95-9f74-22b71420daa4",Y8="/__l5e/assets-v1/3da38bc6-c94a-4b09-8129-d1181c6d58e4/cleaning-trades-story.mp4",J8="a/v1/2303a136-ebed-4a95-9f74-22b71420daa4/3da38bc6-c94a-4b09-8129-d1181c6d58e4/cleaning-trades-story.mp4",Z8="cleaning-trades-story.mp4",X8=4581147,Q8="video/mp4",e$="2026-07-06T02:15:05Z",t$={version:q8,asset_id:G8,project_id:K8,url:Y8,r2_key:J8,original_filename:Z8,size:X8,content_type:Q8,created_at:e$},s$=1,r$="debac180-cb07-4901-aa4c-95a4fecf0519",n$="2303a136-ebed-4a95-9f74-22b71420daa4",i$="/__l5e/assets-v1/debac180-cb07-4901-aa4c-95a4fecf0519/transport-story.mp4",a$="a/v1/2303a136-ebed-4a95-9f74-22b71420daa4/debac180-cb07-4901-aa4c-95a4fecf0519/transport-story.mp4",o$="transport-story.mp4",l$=5428619,c$="video/mp4",d$="2026-07-06T02:15:03Z",NS={version:s$,asset_id:r$,project_id:n$,url:i$,r2_key:a$,original_filename:o$,size:l$,content_type:c$,created_at:d$},u$=1,h$="34c3cf5b-31b4-4c13-b779-60dfa5a98e37",m$="2303a136-ebed-4a95-9f74-22b71420daa4",p$="/__l5e/assets-v1/34c3cf5b-31b4-4c13-b779-60dfa5a98e37/fleetpro-story.mp4",f$="a/v1/2303a136-ebed-4a95-9f74-22b71420daa4/34c3cf5b-31b4-4c13-b779-60dfa5a98e37/fleetpro-story.mp4",g$="fleetpro-story.mp4",x$=5523318,y$="video/mp4",v$="2026-07-06T01:20:44Z",SS={version:u$,asset_id:h$,project_id:m$,url:p$,r2_key:f$,original_filename:g$,size:x$,content_type:y$,created_at:v$},b$="/assets/cleaning-trades-story-Dn5vc8F-.jpg",AS="/assets/transport-story-CMZ9O1bt.jpg",_S="/assets/fleetpro-story-CaNxadHf.jpg",w$=[{n:"01",title:"Validate",points:["Discovery Workshops","Business Strategy","Product Validation","Roadmaps"]},{n:"02",title:"Design",points:["UX / UI","Wireframes","Clickable Prototypes","Brand Identity"]},{n:"03",title:"Build",points:["MVP Development","Mobile Apps","SaaS Platforms","Marketplaces","AI Products","Enterprise Software"]},{n:"04",title:"Scale",points:["Product Growth","Analytics","AI Features","Investor Readiness","Fractional CTO"]}],j$=[{title:"FleetPro — founder story",meta:"Transport SaaS · Live production"},{title:"PerfectStay — marketplace",meta:"Consumer & host marketplace"},{title:"RideWest — WA rideshare",meta:"Marketplace"},{title:"Covve — personal CRM",meta:"Consumer app · Global launch"},{title:"Electrician platform",meta:"Trades SaaS"},{title:"Coffee membership platform",meta:"Consumer membership"}],Vi={eyebrow:"Feature film",title:"The Million Dollar App Idea",body:"How we take a founder's napkin sketch, pressure-test it against real users and shipping constraints, and turn it into a product that stands up to real customers, real revenue and real investors.",url:M8.url,poster:zx},k$=[{tag:"01 · Founders",title:"What an app actually costs",body:"The honest breakdown of a real MVP — scope, team, timeline, and where founders burn cash they didn't need to.",url:H8.url,poster:H2},{tag:"02 · Trades & Services",title:"Cleaning & Trades operators",body:"How service businesses replace WhatsApp, spreadsheets and paper with one operational platform their crew will actually use.",url:t$.url,poster:b$},{tag:"03 · Transport",title:"The transport operator's playbook",body:"Dispatch, drivers, compliance and finance — connected. The exact story we walk through with fleet operators.",url:NS.url,poster:AS},{tag:"04 · Product",title:"FleetPro — our own SaaS in production",body:"We didn't consult on FleetPro, we built it. It ships live to real fleets, and it's the reason our software advice actually holds up.",url:SS.url,poster:_S}],N$=()=>
514n.jsxs(Le,{children:[n.jsx(fe,{title:"App Developers Adelaide | MVP & SaaS Development",description:"Adelaide app developers helping founders design and build mobile apps, MVPs, SaaS platforms and scalable digital products.",path:"/startups",jsonLd:[uo({name:"App and MVP Development",description:"Adelaide app developers building mobile apps, MVPs and SaaS platforms for founders across Australia.",path:"/startups",serviceType:"Mobile app and MVP development"}),ur([{name:"Startup Studio",path:"/startups"}])]}),n.jsx("section",{className:"pt-8 md:pt-12 pb-20 md:pb-28 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsx("div",{className:"eyebrow mb-10",children:"Startup Studio · Validate · Design · Build · Scale"}),n.jsxs("h1",{className:"font-display text-4xl sm:text-6xl md:text-7xl lg:text-8xl leading-[1.02] tracking-tight max-w-5xl",children:["Helping founders turn ambitious ideas",n.jsx("span",{className:"font-serif-italic",children:" into world-class digital products."})]}),n.jsx("p",{className:"mt-10 text-lg md:text-xl text-foreground/70 max-w-3xl leading-relaxed",children:`We're app developers in Adelaide working with founders across Australia on mobile app development, MVP development and SaaS platforms. Most agencies pitch "Strategy. Design. Deliver." We run our own live SaaS — FleetPro, in production with real fleets — so every recommendation we make to you has already survived a paying customer. Below are the films, playbooks and honest breakdowns we usually only share on discovery calls.`}),n.jsxs("div",{className:"mt-12 flex flex-col sm:flex-row items-start sm:items-center gap-5",children:[n.jsxs(L,{to:"/contact",className:"inline-flex items-center gap-3 bg-foreground text-background px-7 py-4 text-sm font-semibold tracking-wide uppercase hover:bg-foreground
514/85 transition-colors",children:["Book a founder call ",n.jsx(W,{className:"w-4 h-4"})]}),n.jsxs(L,{to:"/blueprint",className:"inline-flex items-center gap-2 text-sm font-semibold underline underline-offset-8 decoration-foreground/30 hover:decoration-foreground transition-colors",children:["Get a Free App or Software Blueprint ",n.jsx(We,{className:"w-4 h-4"})]})]})]})}),n.jsx("section",{className:"ink-theme bg-background text-foreground border-t border-foreground/10 py-20 md:py-28 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"grid md:grid-cols-12 gap-8 md:gap-12 mb-10",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:Vi.eyebrow}),n.jsx("div",{className:"hairline max-w-[3rem]"})]}),n.jsxs("div",{className:"md:col-span-8",children:[n.jsx("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:Vi.title}),n.jsx("p",{className:"mt-6 text-lg text-foreground/70 max-w-3xl leading-relaxed",children:Vi.body})]})]}
514),n.jsx("div",{className:"border border-foreground/15 overflow-hidden max-w-[380px] mx-auto",children:n.jsx(Si,{src:Vi.url,poster:Vi.poster,title:Vi.title,className:"block w-full bg-black",mediaClassName:"w-full aspect-[9/16] object-cover"})})]})}),n.jsx("section",{className:"border-t border-foreground/10 py-24 md:py-32 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"grid md:grid-cols-12 gap-8 md:gap-12 mb-14",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:"Video library"}),n.jsx("div",{className:"hairline max-w-[3rem]"})]}),n.jsx("div",{className:"md:col-span-8",children:n.jsxs("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:["Four short films, one honest thesis —",n.jsx("span",{className:"font-serif-italic text-foreground/70",children:" software should earn its keep."})]})})]}),n.jsx("div",{className:"grid md:grid-cols-2 gap-px bg-foreground/15 border border-foreground
514/15",children:k$.map(e=>n.jsxs("div",{className:"bg-background p-6 md:p-8",children:[n.jsx("div",{className:"eyebrow mb-4",children:e.tag}),n.jsx("div",{className:"border border-foreground/15 overflow-hidden mb-6",children:n.jsx(Si,{src:e.url,poster:e.poster,title:e.title,className:"block w-full bg-black max-w-[320px] mx-auto",mediaClassName:"w-full aspect-[9/16] object-cover"})}),n.jsx("h3",{className:"font-display text-2xl md:text-3xl mb-3",children:e.title}),n.jsx("p",{className:"text-sm text-foreground/70 leading-relaxed",children:e.body})]},e.title))})]})}),n.jsx("section",{className:"border-t border-foreground/10 py-24 md:py-32 px-6 bg-secondary/40",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsx("div",{className:"eyebrow mb-10",children:"How we engage with founders"}),n.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-4 divide-y lg:divide-y-0 lg:divide-x divide-foreground/15 border-t border-foreground/15",children:w$.map(e=>n.jsxs("div",{className:"p-10 md:p-12",children:[n.jsx("div",{className:"eyebrow mb-6",children:e.n}),n.jsx("h3",{className:"font-display text-3xl md:text-4xl mb-8",children:e.title}),n.jsx("ul",{className:"space-y-3 text-foreground/75 text-[15px]",children:e.points.map(t=>n.jsxs("li",{className:"flex items-start gap-3",children:[n.jsx("span",{className:"mt-2 h-px w-4 bg-foreground
514/50 flex-shrink-0"}),n.jsx("span",{children:t})]},t))})]},e.title))})]})}),n.jsx(kS,{eyebrow:"Product Work",title:n.jsxs(n.Fragment,{children:["Products we've shipped ",n.jsx("span",{className:"font-serif-italic text-foreground/70",children:"for founders."})]}),children:n.jsx("div",{className:"grid md:grid-cols-2 gap-px bg-foreground/15 border border-foreground/15",children:j$.map(e=>n.jsxs(L,{to:"/portfolio",className:"group bg-background p-10 flex items-start justify-between hover:bg-secondary/60 transition-colors",children:[n.jsxs("div",{children:[n.jsx("div",{className:"eyebrow mb-4",children:e.meta}),n.jsx("h3",{className:"font-display text-2xl md:text-3xl",children:e.title})]}),n.jsx(We,{className:"w-5 h-5 text-foreground/40 group-hover:text-foreground group-hover:translate-x-1 group-hover:-translate-y-1 transition-all"})]},e.title))})}),n.jsx("section",{className:"ink-theme bg-background text-foreground py-32 md:py-40 px-6 border-t border-foreground/10",children:n.jsxs("div",{className:"container mx-auto max-w-5xl text-center",children:[n.jsxs("h2",{className:"font-display text-4xl md:text-6xl leading-[1.05] tracking-tight",children:["Let's build ",n.jsx("span",{className:"font-serif-italic",children:"something worth using."})]}),n.jsx("div",{className:"mt-12",children:n.jsxs(L,{to:"/contact",className:"inline-flex items-center gap-3 bg-foreground text-background px-8 py-4 text-sm font-semibold tracking-wide uppercase hover:bg-foreground
514/85 transition-colors",children:["Book a founder call ",n.jsx(W,{className:"w-4 h-4"})]})})]})})]}),S$=[{title:"Regional council transformation",meta:"Local Government · Process automation"},{title:"National logistics operations platform",meta:"Transport · Enterprise applications"},{title:"Microsoft ecosystem modernisation",meta:"Government · Power Platform"},{title:"Field service ERP for utilities",meta:"Infrastructure · Integration"}],A$=[{title:"FleetPro — dispatch & fleet operations",meta:"Product · Transport",to:"https://fleetpro.10xgrowthlabs.ai",external:!0},{title:"PerfectStay — holiday rental platform",meta:"Product · Marketplace",to:"/portfolio"},{title:"Covve — personal CRM",meta:"Product · Consumer app",to:"/portfolio"},{title:"RideWest — WA rideshare marketplace",meta:"Product · Marketplace",to:"/portfolio"},{title:"CleanSync — workforce operations",meta:"Product · SMB SaaS",to:"/portfolio"},{title:"Designer Wardrobe — fashion marketplace",meta:"Product · Consumer app",to:"/portfolio"}],P0=()=>n.jsxs(Le,{children:[n.jsx(fe,{title:"Work — 10xGrowth Labs",description:"Selected work across enterprise transformation and digital products.",path:"/work"}),n.jsx("section",{className:"pt-8 md:pt-12 pb-16 md:pb-24 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsx("div",{className:"eyebrow mb-10",children:"Selected Work"}),n.jsxs("h1",{className:"font-display text-4xl sm:text-6xl md:text-7xl lg:text-8xl leading-[1.02] tracking-tight max-w-5xl",children:["Enterprise transformation ",n.jsx("span",{className:"font-serif-italic",children:"and digital products."})]})]})}),n.jsx("section",{className:"px-6 pb-20",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsx("div",{className:"eyebrow mb-6",children:"Enterprise Transformation"}),n.jsx("div",{className:"grid md:grid-cols-2 gap-px bg-foreground
514/15 border border-foreground/15 mb-16",children:S$.map(e=>n.jsxs("div",{className:"bg-background p-8 md:p-10",children:[n.jsx("div",{className:"eyebrow mb-4",children:e.meta}),n.jsx("h3",{className:"font-display text-xl md:text-2xl leading-snug",children:e.title}),n.jsx("p",{className:"mt-4 text-xs text-foreground/50",children:"Client name available under NDA."})]},e.title))}),n.jsx("div",{className:"eyebrow mb-6",children:"Digital Products"}),n.jsx("div",{className:"grid md:grid-cols-2 gap-px bg-foreground/15 border border-foreground/15",children:A$.map(e=>e.external?n.jsxs("a",{href:e.to,target:"_blank",rel:"noopener noreferrer",className:"group bg-background p-8 md:p-10 flex items-start justify-between hover:bg-secondary/60 transition-colors",children:[n.jsxs("div",{children:[n.jsx("div",{className:"eyebrow mb-4",children:e.meta}),n.jsx("h3",{className:"font-display text-xl md:text-2xl leading-snug",children:e.title})]}),n.jsx(We,{className:"w-5 h-5 text-foreground/40 group-hover:text-foreground transition-all"})]},e.title):n.jsxs(L,{to:e.to,className:"group bg-background p-8 md:p-10 flex items-start justify-between hover:bg-secondary/60 transition-colors",children:[n.jsxs("div",{children:[n.jsx("div",{className:"eyebrow mb-4",children:e.meta}),n.jsx("h3",{className:"font-display text-xl md:text-2xl leading-snug",children:e.title})]}),n.jsx(We,{className:"w-5 h-5 text-foreground/40 group-hover:text-foreground transition-all"})]},e.title))}),n.jsx("div",{className:"mt-16",children:n.jsxs(L,{to:"/contact",className:"inline-flex items-center gap-3 bg-foreground text-background px-7 py-4 text-sm font-semibold tracking-wide uppercase hover:bg-foreground
514/85 transition-colors",children:["Discuss your project ",n.jsx(W,{className:"w-4 h-4"})]})})]})})]}),_$=()=>n.jsxs(Le,{children:[n.jsx(fe,{title:"Insights — 10xGrowth Labs",description:"Perspectives on transformation, AI and product from the 10xGrowth Labs team.",path:"/insights"}),n.jsx("section",{className:"pt-8 md:pt-12 pb-16 md:pb-20 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsx("div",{className:"eyebrow mb-10",children:"Insights"}),n.jsxs("h1",{className:"font-display text-4xl sm:text-6xl md:text-7xl lg:text-8xl leading-[1.02] tracking-tight max-w-5xl",children:["Perspectives on ",n.jsx("span",{className:"font-serif-italic",children:"transformation and product."})]})]})}),n.jsx("section",{className:"px-6 pb-32",children:n.jsx("div",{className:"container mx-auto max-w-7xl",children:n.jsx("div",{className:"grid md:grid-cols-2 gap-px bg-foreground/15 border border-foreground/15",children:Nh.map(e=>n.jsxs(L,{to:`/insights/${e.slug}`,className:"group bg-background p-10 md:p-14 hover:bg-secondary/50 transition-colors",children:[n.jsx("div",{className:"eyebrow mb-6",children:e.tag}),n.jsx("h3",{className:"font-display text-2xl md:text-3xl leading-tight mb-6",children:e.title}),n.jsx("p",{className:"text-foreground/70 leading-relaxed",children:e.excerpt}),n.jsxs("div",{className:"mt-8 inline-flex items-center gap-2 text-xs font-semibold uppercase tracking-widest text-foreground/70 group-hover:text-foreground transition-colors",children:["Read Article ",n.jsx(We,{className:"w-3.5 h-3.5 group-hover:translate-x-0.5 group-hover:-translate-y-0.5 transition-transform"})]})]},e.slug))})})})]}),C$=dc({name:Ce().trim().min(1,"Name required").max(120),email:Ce().trim().email("Valid email required").max(255),phone:Ce().trim().max(40).optional().or(kn("")),company:Ce().trim().max(160).optional().or(kn("")),role:Ce().trim().max(120).optional().or(kn("")),message:Ce().trim().min(10,"Please add a short message").max(2e3)}
514),zi="w-full bg-background border border-foreground/20 px-4 py-3.5 text-sm focus:outline-none focus:border-foreground transition-colors",E$=()=>{const e=Ti(),[t,s]=w.useState("Enterprise & Government"),[r,i]=w.useState({name:"",email:"",phone:"",company:"",role:"",message:""}),[a,o]=w.useState({}),[l,c]=w.useState(!1),[d,u]=w.useState(null),h=async m=>{m.preventDefault(),u(null);const p=C$.safeParse(r);if(!p.success){const g={};p.error.issues.forEach(v=>{g[v.path[0]]=v.message}),o(g);return}o({}),c(!0);const x=uc(),y={audience:t,source:"contact-page",name:p.data.name,email:p.data.email,phone:p.data.phone||"",company:p.data.company||"",role:p.data.role||"",message:p.data.message,attribution:x},{error:b}=await ht.from("labs_leads").insert({tool:"contact",name:p.data.name,email:p.data.email,phone:p.data.phone||null,company:p.data.company||null,inputs:{audience:t,role:p.data.role||"",message:p.data.message},result:{__attribution:x}});if(b){c(!1),u("Something went wrong sending your message. Please email [email protected] directly.");return}const f=Date.now();await Promise.all(["[email protected]","[email protected]","[email protected]"].map(g=>ht.functions.invoke("send-transactional-email",{body:{templateName:"contact-inquiry",recipientEmail:g,idempotencyKey:`contact-${g}-${p.data.email}-${f}`,templateData:y}}).catch(()=>null))),c(!1),e("/thankyou",{state:{name:p.data.name}})};return n.jsxs(Le,{children:[n.jsx(fe,{title:"Contact — 10xGrowth Labs",description:"Request a capability statement, book a discovery session or brief our team on your next transformation.",path:"/contact"}),n.jsx("section",{className:"pt-8 md:pt-12 pb-20 md:pb-24 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsx("div",{className:"eyebrow mb-10",children:"Contact"}),n.jsxs("h1",{className:"font-display text-4xl sm:text-6xl md:text-7xl lg:text-[5.5rem] leading-[1.02] tracking-tight max-w-5xl",children:["Let's talk about ",n.jsx("span",{className:"font-serif-italic",children:"what's next."})]}),n.jsx("p",{className:"mt-10 text-lg md:text-xl text-foreground/70 max-w-3xl leading-relaxed",children:"Request a capability statement, book a discovery session with our leadership team or brief us on the transformation you're planning. We respond inside one business day."})]})}
514),n.jsx("section",{className:"border-t border-foreground/10 py-16 md:py-24 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl grid lg:grid-cols-[1.15fr_1fr] gap-16",children:[n.jsxs("div",{children:[n.jsx("div",{className:"eyebrow mb-6",children:"Send us a note"}),n.jsx("div",{className:"flex flex-wrap gap-2 mb-8",children:["Enterprise & Government","Founders & Scale-ups"].map(m=>n.jsx("button",{type:"button",onClick:()=>s(m),className:`px-5 py-2.5 text-xs font-semibold tracking-wide uppercase border transition-colors ${t===m?"bg-foreground text-background border-foreground":"bg-transparent text-foreground border-foreground/25 hover:border-foreground"}`,children:m},m))}),n.jsxs("form",{onSubmit:h,className:"space-y-4 max-w-xl",children:[n.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[n.jsx(Hi,{label:"Full name *",error:a.name,children:n.jsx("input",{className:zi,value:r.name,onChange:m=>i({...r,name:m.target.value})})}),n.jsx(Hi,{label:"Work email *",error:a.email,children:n.jsx("input",{type:"email",className:zi,value:r.email,onChange:m=>i({...r,email:m.target.value})})}),n.jsx(Hi,{label:"Phone",children:n.jsx("input",{type:"tel",className:zi,value:r.phone,onChange:m=>i({...r,phone:m.target.value})})}),n.jsx(Hi,{label:"Company / Organisation",children:n.jsx("input",{className:zi,value:r.company,onChange:m=>i({...r,company:m.target.value})})})]}),n.jsx(Hi,{label:"Role / Title",children:n.jsx("input",{className:zi,value:r.role,onChange:m=>i({...r,role:m.target.value})})}),n.jsx(Hi,{label:"How can we help? *",error:a.message,children:n.jsx("textarea",{rows:5,className:zi+" resize-none",value:r.message,onChange:m=>i({...r,message:m.target.value}),placeholder:t==="Enterprise & Government"?"e.g. Capability statement request, program of work, AI briefing, panel invitation…":"e.g. Idea, funding stage, target launch window, key questions…"})}),d&&n.jsx("p",{className:"text-sm text-destructive",children:d}),n.jsxs("button",{type:"submit",disabled:l,className:"inline-flex items-center gap-3 bg-foreground text-background px-7 py-4 text-sm font-semibold tracking-wide uppercase hover:bg-foreground
514/85 transition-colors disabled:opacity-60",children:[l?n.jsx(ir,{className:"w-4 h-4 animate-spin"}):n.jsx(W,{className:"w-4 h-4"}),l?"Sending…":"Send message"]}),n.jsx("p",{className:"text-xs text-foreground/50",children:"We use your details only to respond to your enquiry."})]})]}),n.jsxs("aside",{className:"lg:pl-12 lg:border-l border-foreground/10 space-y-10",children:[n.jsxs("div",{children:[n.jsx("div",{className:"eyebrow mb-3",children:"Direct"}),n.jsxs("a",{href:"mailto:[email protected]",className:"inline-flex items-center gap-2 font-display text-xl md:text-2xl hover:text-foreground/70 transition-colors",children:[n.jsx(ro,{className:"w-5 h-5"})," [email protected]"]}),n.jsxs("div",{className:"mt-4 flex flex-col gap-2",children:[n.jsxs("a",{href:"tel:+61433975469",className:"inline-flex items-center gap-2 text-foreground/80 text-[15px] hover:text-foreground transition-colors",children:[n.jsx(Ut,{className:"w-4 h-4"})," 0433 975 469"]}),n.jsxs("a",{href:"tel:+61883679649",className:"inline-flex items-center gap-2 text-foreground/80 text-[15px] hover:text-foreground transition-colors",children:[n.jsx(Ut,{className:"w-4 h-4"})," 08 8367 9649"]})]})]}),n.jsxs("div",{children:[n.jsx("div",{className:"eyebrow mb-3",children:"Studio"}),n.jsxs("p",{className:"inline-flex items-start gap-2 text-foreground/80 text-[15px] leading-relaxed",children:[n.jsx(nc,{className:"w-4 h-4 mt-1"}),n.jsxs("span",{children:["Level 1, 74 O'Connell Street",n.jsx("br",{}),"North Adelaide SA 5006"]})]})]}),n.jsxs("div",{children:[n.jsx("div",{className:"eyebrow mb-3",children:"Enterprise & Government"}),n.jsx("p",{className:"text-foreground/70 leading-relaxed text-[15px] max-w-sm",children:"Request a capability statement, panel enquiry or briefing for your executive team. We work with agencies, councils and regulated enterprises across Australia."})]}),n.jsxs("div",{children:[n.jsx("div",{className:"eyebrow mb-3",children:"Founders & Scale-ups"}),n.jsxs("p",{className:"text-foreground/70 leading-relaxed text-[15px] max-w-sm",children:["Book a founder call to pressure-test your idea or program. Prefer to move faster?"," ",n.jsx("a",{href:"/blueprint",className:"underline underline-offset-4",children:"Get a Free App or Software Blueprint"}),"."]})]})]})]})})]})},Hi=({label:e,error:t,children:s})=>n.jsxs("div",{children:[n.jsx("label",{className:"block text-[11px] uppercase tracking-[0.18em] font-semibold text-foreground/60 mb-2",children:e}),s,t&&n.jsx("p",{className:"text-xs text-destructive mt-1",children:t})]}),T$=()=>{var i;const s=((i=(Bs().state||{}).name)==null?void 0:i.trim().split(/\s+/)[0])||"",r=[{title:"We read every note",body:"Your message lands directly with Neeraj Kapoor, our CEO — no ticket queues, no auto-responders doing the talking."},{title:"Response inside one business day",body:"We'll reply from [email protected]. If it's urgent, call the studio and we'll pull the conversation forward."},{title:"A useful next step, not a sales call",body:"Expect a short reply with a clear recommendation — a capability statement, a discovery session or a scoped starting point."}];return n.jsxs(Le,{children:[n.jsx(fe,{title:"Thank You — 10xGrowth Labs",description:"Thanks for reaching out. We've received your message and will respond inside one business day.",path:"/thankyou"}),n.jsx("section",{className:"pt-8 md:pt-12 pb-16 px-6 border-b border-foreground
514/10",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsx("div",{className:"eyebrow mb-8",children:"Message received"}),n.jsxs("h1",{className:"font-display text-4xl sm:text-6xl md:text-7xl lg:text-[5.5rem] leading-[1.02] tracking-tight max-w-5xl",children:["Thanks",s?`, ${s}`:""," — your note is ",n.jsx("span",{className:"font-serif-italic",children:"on its way."})]}),n.jsxs("div",{className:"mt-10 flex items-center gap-3 text-foreground/70",children:[n.jsx(Ye,{className:"w-5 h-5"}),n.jsx("p",{className:"text-base md:text-lg",children:"We've got your message and will be in touch inside one business day."})]})]})}),n.jsx("section",{className:"py-16 md:py-24 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl grid lg:grid-cols-[1.15fr_1fr] gap-16",children:[n.jsxs("div",{children:[n.jsx("div",{className:"eyebrow mb-8",children:"What happens next"}),n.jsx("ol",{className:"space-y-8 max-w-2xl",children:r.map((a,o)=>n.jsxs("li",{className:"grid grid-cols-[auto_1fr] gap-6",children:[n.jsxs("span",{className:"font-display text-2xl text-foreground/30 leading-none pt-1",children:["0",o+1]}),n.jsxs("div",{children:[n.jsx("h2",{className:"font-display text-xl md:text-2xl mb-2",children:a.title}),n.jsx("p",{className:"text-foreground/70 leading-relaxed text-[15px]",children:a.body})]})]},a.title))})]}),n.jsxs("aside",{className:"lg:pl-12 lg:border-l border-foreground
514/10 space-y-10",children:[n.jsxs("div",{children:[n.jsx("div",{className:"eyebrow mb-3",children:"Need us sooner?"}),n.jsxs("a",{href:"mailto:[email protected]",className:"inline-flex items-center gap-2 font-display text-xl md:text-2xl hover:text-foreground/70 transition-colors",children:[n.jsx(ro,{className:"w-5 h-5"})," [email protected]"]})]}),n.jsxs("div",{children:[n.jsx("div",{className:"eyebrow mb-4",children:"In the meantime"}),n.jsxs("div",{className:"space-y-3",children:[n.jsxs(L,{to:"/work",className:"group flex items-center justify-between border border-foreground/15 px-5 py-4 hover:border-foreground transition-colors",children:[n.jsx("span",{className:"font-display text-lg",children:"See our selected work"}),n.jsx(W,{className:"w-4 h-4 group-hover:translate-x-1 transition-transform"})]}),n.jsxs(L,{to:"/blueprint",className:"group flex items-center justify-between border border-foreground/15 px-5 py-4 hover:border-foreground transition-colors",children:[n.jsx("span",{className:"font-display text-lg",children:"Get a free blueprint"}),n.jsx(W,{className:"w-4 h-4 group-hover:translate-x-1 transition-transform"})]}),n.jsxs(L,{to:"/ai-readiness-assessment",className:"group flex items-center justify-between border border-foreground
514/15 px-5 py-4 hover:border-foreground transition-colors",children:[n.jsx("span",{className:"font-display text-lg",children:"Take the AI readiness assessment"}),n.jsx(W,{className:"w-4 h-4 group-hover:translate-x-1 transition-transform"})]})]})]})]})]})})]})},P$=()=>{const e=Bs();return w.useEffect(()=>{console.error("404 Error: User attempted to access non-existent route:",e.pathname)},[e.pathname]),n.jsxs("div",{className:"flex min-h-screen items-center justify-center bg-muted",children:[n.jsxs(ux,{children:[n.jsx("title",{children:"Page not found — 10xGrowth Labs"}),n.jsx("meta",{name:"robots",content:"noindex"})]}),n.jsxs("div",{className:"text-center",children:[n.jsx("h1",{className:"mb-4 text-4xl font-bold",children:"404"}),n.jsx("p",{className:"mb-4 text-xl text-muted-foreground",children:"Oops! Page not found"}),n.jsx("a",{href:"/",className:"text-primary underline hover:text-primary/90",children:"Return to Home"})]})]})},I$=[{name:"FleetPro™",tagline:"Enterprise Fleet & Logistics Platform",status:"Available",body:"A configurable operations platform for organisations moving vehicles, freight and product across complex networks. Dispatch, compliance, fuel, maintenance and finance operating as one system.",useLabel:"Purpose-built for",segments:["Transport","Freight","Fuel","Mining","Waste","Distribution"],features:["Live dispatch board & driver app","GPS tracking & geofenced depots","Fuel, ANC & IPC compliance","Fatigue, NHVR & chain-of-responsibility","Automated invoicing & finance integration","AI risk alerts & predictive maintenance"],outcomes:[{k:"30%",v:"Faster dispatch cycle"},{k:"50%",v:"Less back-office rekeying"},{k:"100%",v:"Audit-ready compliance trail"}],ctaLabel:"Explore FleetPro",to:"/platform-suite/fleetpro"},{name:"OpsSync™",tagline:"Operations & Workforce Platform",status:"Available",body:"The core operational platform for organisations managing workforce, projects, assets and service delivery. A configurable foundation that adapts to sector-specific operating models.",useLabel:"Suitable for",segments:["Construction","Commercial Cleaning","Trades","Facilities","Utilities","Manufacturing"],features:["Workforce rostering & mobile timesheets","Jobs, projects & asset management","Digital forms, SWMS & incident capture","Client portals & SLA tracking","Payroll, invoicing & ERP integration","AI copilots over legacy systems"],outcomes:[{k:"40%",v:"Reduction in admin overhead"},{k:"2×",v:"Faster job-to-invoice cycle"},{k:"Real-time",v:"Field visibility across crews"}],ctaLabel:"Explore OpsSync",to:"/platform-suite/opssync"},{name:"CareFlow™",tagline:"Care Operations Platform",status:"Available",body:"Built on OpsSync. Care coordination, rostering, compliance and claims — engineered for the pace and audit rigour of regulated care.",useLabel:"Designed for",segments:["Home Care","NDIS","Aged Care","Community Services"],features:["Client plans, goals & progress notes","Skills, gender & culture-based matching","NDIS claims automation & price guide checks","Restrictive practices & incident reporting","Family & client portal with transparency","Worker mobile app with offline mode"],outcomes:[{k:"60%",v:"Faster claim generation"},{k:"Zero",v:"Missed compliance events"},{k:"24/7",v:"Family visibility of care"}],ctaLabel:"Explore CareFlow",to:"/platform-suite/careflow"},{name:"CivicFlow™",tagline:"Local Government Platform",status:"In Development",body:"Built on OpsSync. Helping councils modernise operations, community services and internal workflows — from roads and rates to waste and works.",useLabel:"For",segments:["Roads & Assets","Rates & Revenue","Waste","Community Services","Works"],features:["Roads inspections, defects & works orders","Rates workflows, valuations & exemptions","Missed bin, waste registry & contractor SLAs","Unified community request CRM","AI copilots over TechnologyOne, Civica, Microsoft","Elected member & executive reporting"],outcomes:[{k:"50%",v:"Faster community request resolution"},{k:"1 view",v:"Roads, rates, rubbish & requests"},{k:"No swap",v:"Keeps TechOne / Civica / M365"}],ctaLabel:"Become a Design Partner",to:"/platform-suite/civicflow"}],R$=[{k:"4",v:"Proprietary platforms"},{k:"AU · NZ",v:"Live in production"},{k:"AI-first",v:"Copilots & agents built-in"},{k:"Config",v:"Not code — per sector"}],O$=()=>n.jsxs(Le,{children:[n.jsx(fe,{title:"Enterprise Software Platforms Australia | 10xGrowth Labs",description:"Purpose-built operational software platforms for transport, field services, healthcare, councils and government organisations.",path:"/platform-suite",jsonLd:ur([{name:"Platform Suite",path:"/platform-suite"}])}),n.jsx("section",{className:"pt-8 md:pt-12 pb-20 md:pb-24 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsx("div",{className:"eyebrow mb-10",children:"Platform Suite"}),n.jsxs("h1",{className:"font-display text-[42px] sm:text-6xl md:text-7xl lg:text-[96px] leading-[0.98] tracking-[-0.02em] max-w-6xl",children:["Purpose-built platforms",n.jsx("br",{}),n.jsx("span",{className:"font-serif-italic",children:"for complex industries."})]}),n.jsx("p",{className:"mt-10 text-lg md:text-2xl text-foreground
514/70 max-w-3xl leading-relaxed",children:"These are not apps. They are configurable enterprise platforms, backed by consulting, implementation and custom engineering — engineered where off-the-shelf software falls short."}),n.jsx("div",{className:"mt-14 grid grid-cols-2 md:grid-cols-4 gap-8 pt-10 border-t border-foreground/10 max-w-4xl",children:R$.map(e=>n.jsxs("div",{children:[n.jsx("div",{className:"font-display text-3xl md:text-4xl tracking-tight",children:e.k}),n.jsx("div",{className:"mt-2 text-xs md:text-sm text-foreground/60 leading-snug",children:e.v})]},e.v))})]})}),n.jsx("section",{className:"border-t border-foreground/10 py-20 md:py-24 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsx("div",{className:"eyebrow mb-10",children:"The platforms"}),n.jsx("div",{className:"divide-y divide-foreground/15 border-y border-foreground/15",children:[{name:"FleetPro™",to:"/platform-suite/fleetpro",body:"Enterprise fleet management software for transport and logistics operators — dispatch, drivers, vehicles, compliance, live tracking and invoicing as one system."},{name:"OpsSync™",to:"/platform-suite/opssync",body:"Field service management software for service-led organisations — jobs, mobile workforce, assets, compliance, customers and finance in one configurable platform."},{name:"CareFlow™",to:"/platform-suite/careflow",body:"Care operations software built on OpsSync for NDIS, home care and community services — care coordination, rostering, compliance and claims."},{name:"CivicFlow™",to:"/platform-suite/civicflow",body:"Local government operations software for councils — roads, rates, waste and community requests, over the systems councils already run."},{name:"GovernmentOS™",to:"/platform-suite/governmentos",body:"An AI operating layer for government — citizen services, grants, procurement, correspondence and workforce on one intelligent layer."}].map(e=>n.jsxs("div",{className:"grid md:grid-cols-12 gap-6 py-8",children:[n.jsx("h2",{className:"md:col-span-4 font-display text-2xl md:text-3xl leading-tight tracking-tight",children:e.name}),n.jsx("p",{className:"md:col-span-6 text-sm md:text-base text-foreground/70 leading-relaxed",children:e.body}),n.jsx("div",{className:"md:col-span-2 md:text-right",children:n.jsxs(L,{to:e.to,className:"inline-flex items-center gap-2 text-sm font-semibold underline underline-offset-8 decoration-foreground/30 hover:decoration-foreground transition-colors",children:["Explore ",n.jsx(W,{className:"w-4 h-4"})]})})]},e.name))})]})}
514),n.jsx("section",{className:"border-t border-foreground/10 bg-secondary/40 py-24 md:py-32 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"grid md:grid-cols-12 gap-8 mb-16",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:"Platform Architecture"}),n.jsx("div",{className:"hairline max-w-[3rem]"})]}),n.jsxs("div",{className:"md:col-span-8",children:[n.jsxs("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:["One ecosystem.",n.jsx("span",{className:"font-serif-italic text-foreground/70",children:" Industry editions on top."})]}),n.jsx("p",{className:"mt-6 text-foreground/70 max-w-3xl leading-relaxed",children:"OpsSync is the core operations platform. CareFlow and CivicFlow are industry-specific editions on top of OpsSync. FleetPro is a dedicated platform for transport and fleet operations. Every edition inherits the same AI, integration and workflow engine."})]})]}
514),n.jsxs("div",{className:"border border-foreground/15 bg-background p-8 md:p-14",children:[n.jsx("div",{className:"eyebrow mb-8 text-center",children:"10xGrowth Platform Suite"}),n.jsxs("div",{className:"grid md:grid-cols-2 gap-6 md:gap-8",children:[n.jsx(Io,{name:"FleetPro™",desc:"Enterprise Fleet Platform",tone:"dark"}),n.jsxs("div",{className:"space-y-4",children:[n.jsx(Io,{name:"OpsSync™",desc:"Core Operations Platform",tone:"dark"}),n.jsxs("div",{className:"pl-6 md:pl-10 border-l border-foreground/20 space-y-3",children:[n.jsx(Io,{name:"CareFlow™",desc:"Care Industry Edition",tone:"light"}),n.jsx(Io,{name:"CivicFlow™",desc:"Local Government Edition",tone:"light"}),n.jsx(Io,{name:"Future Industry Editions",desc:"Extensible by sector",tone:"ghost"})]})]})]}),n.jsxs("div",{className:"mt-10 pt-8 border-t border-foreground/15 grid md:grid-cols-3 gap-6 text-sm",children:[n.jsxs("div",{children:[n.jsx("div",{className:"eyebrow mb-2",children:"AI Layer"}),n.jsx("div",{className:"text-foreground/70",children:"Copilots, agents, RAG, structured extraction and guardrails — the same across every edition."})]}),n.jsxs("div",{children:[n.jsx("div",{className:"eyebrow mb-2",children:"Integration Layer"}),n.jsx("div",{className:"text-foreground/70",children:"TechnologyOne, Civica, Dynamics 365, SAP, ServiceNow, MYOB, Xero and Microsoft 365."})]}),n.jsxs("div",{children:[n.jsx("div",{className:"eyebrow mb-2",children:"Configuration, not code"}),n.jsx("div",{className:"text-foreground/70",children:"Rebadged and reshaped per sector — go-live in weeks, not a multi-year build."})]})]})]})]})}
514),n.jsx("section",{className:"border-t border-foreground/10",children:I$.map((e,t)=>n.jsx("div",{className:`px-6 py-20 md:py-28 border-b border-foreground/10 ${t%2===1?"bg-secondary/40":""}`,children:n.jsxs("div",{className:"container mx-auto max-w-7xl grid md:grid-cols-12 gap-8 md:gap-12",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[n.jsx("span",{className:"eyebrow",children:`0${t+1}`}),n.jsx(M$,{status:e.status})]}),n.jsx("h2",{className:"font-display text-4xl md:text-5xl lg:text-6xl leading-[1.02] tracking-tight",children:e.name}),n.jsx("div",{className:"mt-4 text-base md:text-lg text-foreground/60",children:e.tagline})]}),n.jsxs("div",{className:"md:col-span-8",children:[n.jsx("p",{className:"text-lg md:text-xl text-foreground/80 leading-relaxed max-w-3xl",children:e.body}),n.jsx("div",{className:"mt-10 mb-8 hairline max-w-[3rem]"}),n.jsx("div",{className:"eyebrow mb-5",children:"What's inside"}),n.jsx("ul",{className:"grid sm:grid-cols-2 gap-x-8 gap-y-3 mb-10 max-w-3xl",children:e.features.map(s=>n.jsxs("li",{className:"flex items-start gap-3 text-[15px] text-foreground/80",children:[n.jsx("span",{className:"mt-2 h-px w-4 bg-foreground
514/50 flex-shrink-0"}),n.jsx("span",{children:s})]},s))}),n.jsx("div",{className:"grid grid-cols-3 gap-6 border-t border-foreground/15 pt-8 mb-10 max-w-3xl",children:e.outcomes.map(s=>n.jsxs("div",{children:[n.jsx("div",{className:"font-display text-2xl md:text-3xl tracking-tight",children:s.k}),n.jsx("div",{className:"mt-2 text-xs text-foreground/60 leading-snug",children:s.v})]},s.v))}),n.jsx("div",{className:"eyebrow mb-5",children:e.useLabel}),n.jsx("div",{className:"flex flex-wrap gap-2 mb-12",children:e.segments.map(s=>n.jsx("span",{className:"inline-flex items-center border border-foreground/20 px-3 py-1.5 text-xs uppercase tracking-wide text-foreground/75",children:s},s))}),n.jsxs("div",{className:"flex flex-wrap items-center gap-6",children:[n.jsxs(L,{to:e.to,className:"group inline-flex items-center gap-3 bg-foreground text-background px-7 py-4 text-sm font-semibold tracking-wide uppercase hover:bg-foreground/85 transition-colors",children:[e.ctaLabel,n.jsx(W,{className:"w-4 h-4 group-hover:translate-x-1 transition-transform"})]}),n.jsxs(L,{to:"/contact",className:"inline-flex items-center gap-2 text-sm font-semibold underline underline-offset-8 decoration-foreground/30 hover:decoration-foreground transition-colors",children:["Book a demo ",n.jsx(We,{className:"w-4 h-4"})]})]})]})]})},e.name))}),n.jsx("section",{className:"ink-theme bg-background text-foreground py-32 md:py-40 px-6 border-t border-foreground
514/10",children:n.jsxs("div",{className:"container mx-auto max-w-5xl text-center",children:[n.jsx("div",{className:"eyebrow mb-10",children:"Let's talk"}),n.jsxs("h2",{className:"font-display text-4xl md:text-6xl leading-[1.02] tracking-tight",children:["Enterprise platforms, ",n.jsx("span",{className:"font-serif-italic",children:"delivered with you."})]}),n.jsx("div",{className:"mt-12",children:n.jsxs(L,{to:"/contact",className:"inline-flex items-center gap-3 bg-foreground text-background px-8 py-4 text-sm font-semibold tracking-wide uppercase hover:bg-foreground/85 transition-colors",children:["Book Discovery Session ",n.jsx(W,{className:"w-4 h-4"})]})})]})})]}),M$=({status:e})=>n.jsxs("span",{className:`inline-flex items-center gap-2 border px-2.5 py-1 text-[10px] uppercase tracking-[0.15em] font-semibold ${e==="Available"?"border-foreground/30 text-foreground":"border-foreground/20 text-foreground/60"}`,children:[n.jsx("span",{className:`w-1.5 h-1.5 rounded-full ${e==="Available"?"bg-foreground":"bg-foreground/40"}`}),e]}),Io=({name:e,desc:t,tone:s})=>{const r=s==="dark"?"ink-theme bg-background text-foreground border-foreground
514/10":s==="light"?"bg-secondary/60 border-foreground/15":"border-dashed border-foreground/25 text-foreground/60";return n.jsxs("div",{className:`border p-6 md:p-7 ${r}`,children:[n.jsx("div",{className:"font-display text-xl md:text-2xl leading-tight",children:e}),n.jsx("div",{className:"mt-2 text-xs md:text-sm text-foreground/60 uppercase tracking-wide",children:t})]})},Lm=[{n:"01",title:"Discover",body:"Understand how the business actually runs."},{n:"02",title:"Redesign",body:"Remove the work that shouldn't exist."},{n:"03",title:"Automate",body:"Introduce workflow and AI, deliberately."},{n:"04",title:"Build",body:"Platform, mobile, CRM — engineered to fit."},{n:"05",title:"Optimise",body:"Measure, tune, and continuously improve."}],D$=({eyebrow:e="Methodology",heading:t,className:s=""})=>n.jsx("section",{className:`border-t border-foreground/10 py-24 md:py-32 px-6 ${s}`,children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"grid md:grid-cols-12 gap-8 mb-16",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:e}),n.jsx("div",{className:"hairline max-w-[3rem]"})]}),n.jsx("div",{className:"md:col-span-8",children:n.jsx("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:t??n.jsxs(n.Fragment,{children:["Discover. Redesign. Automate.",n.jsx("br",{}),n.jsx("span",{className:"font-serif-italic text-foreground/70",children:"Build. Optimise."})]})})})]}),n.jsx("ol",{className:"grid grid-cols-1 md:grid-cols-5 border-t border-foreground
514/15",children:Lm.map((r,i)=>n.jsxs("li",{className:`relative py-10 md:py-12 md:pr-6 ${i<Lm.length-1?"md:border-r border-foreground/15":""} ${i>0?"border-t md:border-t-0 border-foreground/15":""}`,children:[n.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[n.jsx("span",{className:"text-[11px] font-semibold tracking-[0.22em] text-foreground/40",children:r.n}),i<Lm.length-1&&n.jsx("span",{className:"hidden md:block h-px w-10 bg-foreground/25"})]}),n.jsx("h3",{className:"font-display text-2xl md:text-3xl leading-tight mb-4",children:r.title}),n.jsx("p",{className:"text-sm text-foreground/65 leading-relaxed max-w-[22ch]",children:r.body})]},r.title))})]})}),L$=[{n:"01",name:"Operational Advisory",problem:"Growth has outpaced how the business actually runs.",body:"We map the operating model — people, process, systems, data — and identify where complexity is compounding cost, risk and cycle time.",delivers:["Operating-model diagnostic","Process pain map","Prioritised transformation plan"]},{n:"02",name:"Business Process Improvement",problem:"Too much manual work, workarounds and exceptions.",body:"We redesign the target process before recommending technology. Fewer steps, cleaner handoffs, clearer accountability.",delivers:["Future-state process design","SOPs and controls","Change adoption plan"]},{n:"03",name:"AI & Automation",problem:"AI opportunities exist — but the operations aren't ready.",body:"We deploy workflow automation and applied AI on top of redesigned processes — where the ROI is measurable, not theoretical.",delivers:["Automation roadmap","AI use-case backlog","Production rollouts"]},{n:"04",name:"Business Platforms",problem:"Disconnected systems, brittle integrations, no single view.",body:"We stand up connected platforms — CRM, operations, mobile, reporting — either on our Platform Suite or configured on your existing stack.",delivers:["Platform architecture","Configured platform","Integration & data model"]},{n:"05",name:"Digital Engineering",problem:"You need software built to fit — not off-the-shelf.",body:"Custom web, mobile and integration engineering — delivered by a small, senior team accountable end-to-end.",delivers:["Web & mobile applications","Integrations & APIs","Managed delivery"]}],I0=()=>n.jsxs(Le,{children:[n.jsx(fe,{title:"Solutions — 10xGrowth Labs",description:"We simplify operations before implementing technology. Advisory, process improvement, AI and automation, business platforms and digital engineering.",path:"/solutions"}),n.jsx("section",{className:"pt-6 md:pt-10 pb-16 md:pb-20 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsx("div",{className:"eyebrow mb-6",children:"Solutions"}),n.jsxs("h1",{className:"font-display text-[40px] sm:text-5xl md:text-6xl lg:text-[80px] leading-[0.98] tracking-[-0.02em] max-w-5xl",children:["Simpler operations.",n.jsx("br",{}),n.jsx("span",{className:"font-serif-italic",children:"Smarter businesses."})]}),n.jsx("p",{className:"mt-8 text-lg md:text-xl text-foreground/70 max-w-2xl leading-relaxed",children:"We redesign how the business runs before writing code. Technology is how we execute — not what we sell."})]})}
514),n.jsx("section",{className:"border-t border-foreground/10 py-4 px-6",children:n.jsx("div",{className:"container mx-auto max-w-7xl divide-y divide-foreground/15",children:L$.map(e=>n.jsxs("article",{className:"grid md:grid-cols-12 gap-8 md:gap-12 py-16 md:py-20",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:e.n}),n.jsx("h2",{className:"font-display text-3xl md:text-4xl leading-tight tracking-tight",children:e.name})]}),n.jsxs("div",{className:"md:col-span-8 md:pl-8 md:border-l border-foreground/15",children:[n.jsx("p",{className:"font-display text-xl md:text-2xl leading-snug text-foreground/85 max-w-2xl",children:e.problem}),n.jsx("p",{className:"mt-6 text-base text-foreground/70 max-w-2xl leading-relaxed",children:e.body}),n.jsx("ul",{className:"mt-8 grid sm:grid-cols-3 gap-4",children:e.delivers.map(t=>n.jsx("li",{className:"text-sm text-foreground/75 pt-3 border-t border-foreground/20",children:t},t))})]})]},e.name))})}),n.jsx(D$,{}),n.jsx("section",{className:"ink-theme bg-background text-foreground py-24 md:py-32 px-6 border-t border-foreground
514/10",children:n.jsxs("div",{className:"container mx-auto max-w-5xl text-center",children:[n.jsx("div",{className:"eyebrow mb-8",children:"Start with a discovery session"}),n.jsxs("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:["Show us where the friction lives.",n.jsx("br",{}),n.jsx("span",{className:"font-serif-italic",children:"We'll show you the redesign."})]}),n.jsxs("div",{className:"mt-12 flex flex-wrap items-center justify-center gap-6",children:[n.jsxs(L,{to:"/contact",className:"inline-flex items-center gap-3 bg-foreground text-background px-8 py-4 text-sm font-semibold tracking-wide uppercase hover:bg-foreground/85 transition-colors",children:["Book Discovery Session ",n.jsx(W,{className:"w-4 h-4"})]}),n.jsxs(L,{to:"/platform-suite",className:"inline-flex items-center gap-2 text-sm font-semibold underline underline-offset-8 decoration-foreground/30 hover:decoration-foreground transition-colors",children:["See Platform Suite ",n.jsx(We,{className:"w-4 h-4"})]})]})]})})]}),$$=[{slug:"government",name:"Government",lead:"Councils, agencies and utilities modernising service delivery without ripping out core systems.",tags:["Roads & Assets","Rates & Revenue","Waste","Community Services"]},{slug:"transport-logistics",name:"Transport & Logistics",lead:"Fleet, freight and distribution operators removing manual dispatch, paperwork and compliance drag.",tags:["Dispatch","Compliance","Driver Apps","Live Ops"]},{slug:"healthcare",name:"Healthcare",lead:"Home care, NDIS and community providers running audit-ready operations at scale.",tags:["Rostering","Client Records","Billing","Audit"]},{slug:"construction",name:"Construction",lead:"Site, safety and project teams replacing spreadsheets with connected field-to-office platforms.",tags:["Site Ops","Safety","Timesheets","Project P&L"]},{slug:"professional-services",name:"Professional Services",lead:"Consultancies and agencies eliminating admin so senior time is spent on senior work.",tags:["Delivery","Utilisation","Client Ops","Reporting"]}],F$=()=>n.jsxs(Le,{children:[n.jsx(fe,{title:"Industries — 10xGrowth Labs",description:"Operational transformation for government, transport, healthcare, construction and professional services.",path:"/industries"}),n.jsx("section",{className:"pt-6 md:pt-10 pb-16 md:pb-20 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsx("div",{className:"eyebrow mb-6",children:"Industries"}),n.jsxs("h1",{className:"font-display text-[40px] sm:text-5xl md:text-6xl lg:text-[80px] leading-[0.98] tracking-[-0.02em] max-w-5xl",children:["Deep operational fluency.",n.jsx("br",{}),n.jsx("span",{className:"font-serif-italic",children:"Not sector tourism."})]}),n.jsx("p",{className:"mt-8 text-lg md:text-xl text-foreground/70 max-w-2xl leading-relaxed",children:"We work where operations are complex, regulated and unforgiving of shortcuts."})]})}
514),n.jsx("section",{className:"border-t border-foreground/10 px-6 pb-24",children:n.jsx("div",{className:"container mx-auto max-w-7xl",children:n.jsx("div",{className:"grid md:grid-cols-2 gap-px bg-foreground/15 border border-foreground/15",children:$$.map(e=>n.jsxs(L,{to:`/industries/${e.slug}`,className:"group bg-background p-10 md:p-12 flex flex-col justify-between min-h-[300px] hover:bg-secondary/50 transition-colors",children:[n.jsxs("div",{children:[n.jsx("h2",{className:"font-display text-3xl md:text-4xl leading-tight tracking-tight",children:e.name}),n.jsx("p",{className:"mt-6 text-base text-foreground/70 leading-relaxed max-w-md",children:e.lead})]}),n.jsxs("div",{className:"mt-10 flex items-end justify-between gap-6",children:[n.jsx("div",{className:"flex flex-wrap gap-2",children:e.tags.map(t=>n.jsx("span",{className:"inline-flex items-center border border-foreground/20 px-2.5 py-1 text-[11px] uppercase tracking-wide text-foreground/70",children:t},t))}),n.jsx(We,{className:"w-5 h-5 text-foreground/40 group-hover:text-foreground group-hover:translate-x-1 group-hover:-translate-y-1 transition-all flex-shrink-0"})]})]},e.slug))})})})]}),B$=[{title:"AI opportunity discovery",body:"We sit with the people doing the work, map where time and rework actually go, and shortlist the opportunities where AI changes the economics rather than the optics."},{title:"AI strategy and roadmaps",body:"A costed, sequenced roadmap tied to business outcomes — what to run this quarter, what to prepare for, and what to deliberately leave alone."},{title:"AI use-case prioritisation",body:"Each candidate use case scored on value, data readiness, delivery risk and change effort, so the first project is one that can succeed."},{title:"AI solution design",body:"Workflow, data and interface design for copilots and agents — including where a human stays in the loop and what the system is never allowed to decide alone."},{title:"AI implementation services",body:"Our own engineers build and ship it: retrieval pipelines, agents, structured extraction and the integrations that make them useful in daily work."},{title:"Responsible AI and governance",body:"Guardrails, evaluation sets, audit trails, data boundaries and approval paths — documented so risk, legal and executive teams can sign off with confidence."},{title:"Integration with existing systems",body:"AI is applied over the ERP, CRM, finance and line-of-business systems you already own. No rip-and-replace, no parallel source of truth."},{title:"AI scaling and optimisation",body:"Once a pilot proves out, we extend it across teams and sites while managing accuracy, adoption and running cost as first-class measures."}],U$=[{n:"01",title:"AI Discovery",lead:"Map the operating model and find AI use cases that actually pay back.",points:["AI Readiness Assessment","Data & System Audit","Use-Case Prioritisation","ROI Modelling","AI Strategy & Roadmap"]},{n:"02",title:"AI Design",lead:"Design AI-native workflows, agents and integrations on the systems you already own.",points:["AI Solution Architecture","Agent & Copilot Design","Human-in-the-loop UX","Data & Retrieval Design","Governance & Guardrails"]},{n:"03",title:"AI Delivery",lead:"Ship production-grade AI — copilots, automations and agents wired into your stack.",points:["AI Copilots in Legacy Systems","Workflow & RPA Automation","Structured Extraction","LLM & RAG Engineering","Integration with ERP / CRM"]},{n:"04",title:"AI Scale",lead:"Operate, measure and improve AI in production — safely, transparently and at cost.",points:["Adoption & Change","Model Ops & Cost Control","Evaluation & Guardrails","Analytics & Reporting","Roadmap Ownership"]}],W$=[{title:"AI Readiness Sprint",weeks:"2 weeks",body:"Assess the operating model, data estate and top 5 AI use cases with a costed roadmap and ROI model."},{title:"AI Proof of Value",weeks:"6–8 weeks",body:"Ship a production-ready pilot of the highest-value AI use case — with real users and measurable outcomes."},{title:"AI Platform Build",weeks:"3–6 months",body:"Engineer the AI layer over your ERP/CRM — 
514copilots, agents, orchestration, integration and governance."},{title:"Managed AI Operations",weeks:"Ongoing",body:"Run, evaluate and continuously improve AI in production — within cost and safety envelopes."}],V$=["Reduce operational complexity","Automate 40–60% of manual triage","Cut back-office cycle time in half","Modernise legacy systems without rip-and-replace","Improve customer & citizen experience","Enable AI-ready organisations"],z$=()=>n.jsxs(Le,{children:[n.jsx(fe,{title:"AI Consulting Adelaide | Strategy & Implementation",description:"Practical AI consulting in Adelaide for strategy, opportunity discovery, solution design, governance and implementation across Australian organisations.",path:"/services/ai",jsonLd:[uo({name:"AI Consulting",serviceType:"AI consulting and implementation",description:"AI strategy, use-case prioritisation, solution design, implementation and governance for Australian organisations.",path:"/services/ai"}),ur([{name:"Services",path:"/services/ai"},{name:"AI Consulting",path:"/services/ai"}])]}),n.jsx("section",{className:"pt-8 md:pt-12 pb-16 md:pb-20 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsx("div",{className:"eyebrow mb-6",children:"Services · AI"}),n.jsxs("h1",{className:"font-display text-[40px] sm:text-5xl md:text-6xl lg:text-[80px] leading-[0.98] tracking-[-0.02em] max-w-5xl",children:["AI Consulting for",n.jsx("br",{}),n.jsx("span",{className:"font-serif-italic",children:"Australian organisations."})]}),n.jsx("p",{className:"mt-8 font-display text-2xl md:text-3xl leading-snug text-foreground/85 max-w-3xl",children:"AI, over the systems you already own."}),n.jsx("p",{className:"mt-8 text-lg md:text-xl text-foreground/70 max-w-3xl leading-relaxed",children:"We put AI into production — as copilots, agents and automations sitting over your existing ERP, CRM and legacy systems. Strategy, design, engineering and managed operations under one team."}),n.jsxs("p",{className:"mt-6 text-base text-foreground/65 max-w-3xl leading-relaxed",children:["Enterprise AI consulting, AI strategy consulting and AI implementation services delivered from Adelaide to clients across Australia. Most engagements begin with an"," ",n.jsx(L,{to:"/ai-readiness-assessment",className:"underline underline-offset-4 decoration-foreground/30 hover:decoration-foreground transition-colors",children:"AI readiness assessment"})," ","or a short AI discovery workshop. Where the answer is to remove the work rather than assist it, we move straight to"," ",n.jsx(L,{to:"/services/automation",className:"underline underline-offset-4 decoration-foreground/30 hover:decoration-foreground transition-colors",children:"AI automation delivery"}),"."]})]})}
514),n.jsx("section",{className:"border-t border-foreground/10 py-20 md:py-28 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"grid md:grid-cols-12 gap-8 mb-14",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:"What the work covers"}),n.jsx("div",{className:"hairline max-w-[3rem]"})]}),n.jsx("div",{className:"md:col-span-8",children:n.jsxs("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:["From opportunity to production,",n.jsx("span",{className:"font-serif-italic text-foreground/70",children:" with one accountable team."})]})})]}),n.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-4 gap-px bg-foreground/15 border border-foreground/15",children:B$.map(e=>n.jsxs("div",{className:"bg-background p-8",children:[n.jsx("h3",{className:"font-display text-lg md:text-xl mb-3 leading-snug",children:e.title}),n.jsx("p",{className:"text-sm text-foreground/70 leading-relaxed",children:e.body})]},e.title))})]})}
514),n.jsx("section",{className:"border-t border-foreground/10 py-4 px-6",children:n.jsx("div",{className:"container mx-auto max-w-7xl divide-y divide-foreground/15",children:U$.map(e=>n.jsxs("article",{className:"grid md:grid-cols-12 gap-8 md:gap-12 py-14 md:py-20",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:e.n}),n.jsx("h2",{className:"font-display text-3xl md:text-4xl leading-tight tracking-tight",children:e.title})]}),n.jsxs("div",{className:"md:col-span-8 md:pl-8 md:border-l border-foreground/15",children:[n.jsx("p",{className:"font-display text-xl md:text-2xl leading-snug text-foreground/85 max-w-2xl",children:e.lead}),n.jsx("ul",{className:"mt-8 grid sm:grid-cols-2 gap-4",children:e.points.map(t=>n.jsx("li",{className:"text-sm text-foreground/75 pt-3 border-t border-foreground/20",children:t},t))})]})]},e.n))})}),n.jsx("section",{className:"border-t border-foreground/10 bg-secondary/40 py-20 md:py-28 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsx("div",{className:"eyebrow mb-8",children:"Engagement models"}),n.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-4 gap-px bg-foreground
514/15 border border-foreground/15",children:W$.map(e=>n.jsxs("div",{className:"bg-background p-8",children:[n.jsx("div",{className:"text-xs uppercase tracking-widest text-foreground/55 mb-3",children:e.weeks}),n.jsx("h3",{className:"font-display text-xl mb-3",children:e.title}),n.jsx("p",{className:"text-sm text-foreground/70 leading-relaxed",children:e.body})]},e.title))})]})}),n.jsx("section",{className:"border-t border-foreground/10 py-20 md:py-24 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsx("div",{className:"eyebrow mb-8",children:"Outcomes we're accountable for"}),n.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-px bg-foreground/15 border border-foreground/15",children:V$.map(e=>n.jsx("div",{className:"bg-background p-6 text-sm text-foreground/80",children:e},e))})]})}),n.jsx("section",{className:"ink-theme bg-background text-foreground py-24 md:py-32 px-6 border-t border-foreground/10",children:n.jsxs("div",{className:"container mx-auto max-w-5xl text-center",children:[n.jsxs("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:["Start with a ",n.jsx("span",{className:"font-serif-italic",children:"2-week AI sprint."})]}),n.jsx("div",{className:"mt-10",children:n.jsxs(L,{to:"/contact",className:"inline-flex items-center gap-3 bg-foreground text-background px-8 py-4 text-sm font-semibold tracking-wide uppercase hover:bg-foreground
514/85 transition-colors",children:["Book Discovery Session ",n.jsx(W,{className:"w-4 h-4"})]})})]})})]}),H$=[{n:"01",name:"Transport & Logistics",lead:"From paper dockets to a live operating spine.",cases:["Automated dispatch allocation across depots, drivers, subcontractors","POD, docket & manifest extraction into structured records","NHVR fatigue, defect and pre-start workflows","Self-billing and contractor payment automation","Predictive maintenance from telemetry & fault codes"],link:{to:"/platform-suite/fleetpro",label:"fleet and transport management software"}},{n:"02",name:"Government & Councils",lead:"Modernise roads, rates and rubbish without ripping out TechnologyOne or Civica.",cases:["Automated triage of citizen requests into the right service line","Rates & revenue anomaly detection and reconciliation","Waste route optimisation and missed-bin resolution","Procurement compliance checks & contract auto-summary","AI-assisted DA and permit lodgement processing"],link:{to:"/platform-suite/civicflow",label:"council operations platform"}},{n:"03",name:"Healthcare & Care",lead:"Automate the paperwork so clinicians can focus on care.",cases:["NDIS claims, plan management and remittance reconciliation","Care coordination workflows and shift handover automation","Clinical documentation summarisation & structured extraction","Rostering aligned to awards, skills and compliance","Incident, complaint and quality workflow automation"],link:{to:"/platform-suite/careflow",label:"care operations platform"}},{n:"04",name:"Construction & Field Service",lead:"Kill the WhatsApp threads, spreadsheets and rekeying.",cases:["Digital SWMS, JSA and pre-start on mobile","Site diary, defect and photo capture into project spine","Automated variation and progress claim generation","Subcontractor onboarding, insurance & compliance workflows","Time capture to payroll & job cost reconciliation"],link:{to:"/industries/construction-software",label:"construction operations software"}},{n:"05",name:"Professional Services",lead:"Automate the back office of your practice.",cases:["Proposal, engagement letter and SOW generation","Contract analysis, clause extraction and review","Timesheets → billing → revenue recognition","Knowledge copilots over precedent, matters and files","Client onboarding, KYC and conflict-check workflows"],link:{to:"/services/digital",label:"custom software development"}}],q$=()=>n.jsxs(Le,{children:[n.jsx(fe,{title:"AI Automation Adelaide | Business Process Automation",description:"AI automation solutions in Adelaide for workflows, administration, customer service and operational processes. Delivered across Australia.",path:"/services/automation",jsonLd:[uo({name:"AI Automation",serviceType:"Business process and workflow automation",description:"Intelligent automation of workflows, administration, customer service and operational processes for Australian businesses.",path:"/services/automation"}),ur([{name:"Services",path:"/services/automation"},{name:"AI Automation",path:"/services/automation"}])]}),n.jsx("section",{className:"pt-8 md:pt-12 pb-16 md:pb-20 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsx("div",{className:"eyebrow mb-6",children:"Services · Automation"}),n.jsxs("h1",{className:"font-display text-[40px] sm:text-5xl md:text-6xl lg:text-[80px] leading-[0.98] tracking-[-0.02em] max-w-5xl",children:["AI Automation That",n.jsx("br",{}),n.jsx("span",{className:"font-serif-italic",children:"Removes Real Work."})]}),n.jsx("p",{className:"mt-8 text-lg md:text-xl text-foreground/70 max-w-3xl leading-relaxed",children:"We deploy automation and applied AI on top of redesigned processes — where the ROI is measurable, not theoretical. These are the use cases we run into most, by industry."}),n.jsxs("p",{className:"mt-6 text-base text-foreground/65 max-w-3xl leading-relaxed",children:["Business process automation, workflow automation and AI agents for business, delivered by an Australian process automation company. If you are still deciding where automation belongs, start with"," ",n.jsx(L,{to:"/services/ai",className:"underline underline-offset-4 decoration-foreground
514/30 hover:decoration-foreground transition-colors",children:"AI consulting and roadmapping"}),"."]})]})}),n.jsx("section",{className:"border-t border-foreground/10 py-4 px-6",children:n.jsx("div",{className:"container mx-auto max-w-7xl divide-y divide-foreground/15",children:H$.map(e=>n.jsxs("article",{className:"grid md:grid-cols-12 gap-8 md:gap-12 py-14 md:py-20",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:e.n}),n.jsx("h2",{className:"font-display text-3xl md:text-4xl leading-tight tracking-tight",children:e.name})]}),n.jsxs("div",{className:"md:col-span-8 md:pl-8 md:border-l border-foreground/15",children:[n.jsx("p",{className:"font-display text-xl md:text-2xl leading-snug text-foreground/85 max-w-2xl",children:e.lead}),n.jsx("ul",{className:"mt-8 grid sm:grid-cols-2 gap-x-6 gap-y-3",children:e.cases.map(t=>n.jsx("li",{className:"text-sm text-foreground/75 pt-3 border-t border-foreground/20",children:t},t))}),e.link&&n.jsxs(L,{to:e.link.to,className:"mt-8 inline-flex items-center gap-2 text-sm font-semibold underline underline-offset-8 decoration-foreground/30 hover:decoration-foreground transition-colors",children:["See our ",e.link.label," ",n.jsx(W,{className:"w-4 h-4"})]})]})]},e.n))})}),n.jsx("section",{className:"ink-theme bg-background text-foreground py-24 md:py-32 px-6 border-t border-foreground
514/10",children:n.jsxs("div",{className:"container mx-auto max-w-5xl text-center",children:[n.jsxs("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:["Show us the process. ",n.jsx("span",{className:"font-serif-italic",children:"We'll show you the automation."})]}),n.jsx("div",{className:"mt-10",children:n.jsxs(L,{to:"/contact",className:"inline-flex items-center gap-3 bg-foreground text-background px-8 py-4 text-sm font-semibold tracking-wide uppercase hover:bg-foreground/85 transition-colors",children:["Book Discovery Session ",n.jsx(W,{className:"w-4 h-4"})]})})]})})]}),G$=[{title:"Operational platforms",body:"The system your business actually runs on — jobs, workforce, assets, compliance and finance in one model instead of six disconnected tools."},{title:"Customer and supplier portals",body:"Self-service visibility for clients, contractors and suppliers: status, documents, approvals and history, without another inbox thread."},{title:"Mobile applications",body:"Field and customer apps for iOS and Android, built for real conditions — offline capture, photos, signatures and low-signal sites."},{title:"Workflow and approval systems",body:"Requests, variations, permits and sign-offs routed by rules, with a full audit trail of who approved what and when."},{title:"Dashboards and reporting",body:"Operational and executive reporting from live data, so decisions stop waiting on someone rebuilding a spreadsheet."},{title:"System integrations",body:"Clean integration with ERP, finance, payroll, telematics and identity systems, so data flows once and reconciles cleanly."},{title:"Legacy system modernisation",body:"Modern interfaces, APIs and workflows over systems you cannot switch off yet — replaced progressively rather than in one risky cutover."},{title:"Ongoing support and optimisation",body:"A named senior team after go-live: support, enhancement releases, performance work and a roadmap you can hold us to."}],K$=[{n:"01",title:"App Development",lead:"iOS, Android and cross-platform apps built by a senior team.",body:"Native Swift and Kotlin, or Flutter and React Native where it fits — driver apps, field apps, consumer apps, marketplace apps. Shipped to real users, not just demos.",points:["iOS (Swift) & Android (Kotlin)","Flutter & React Native","Offline-first field apps","Push, geolocation, camera & scanning","App Store & Play deployment"]},{n:"02",title:"CRM Development",lead:"CRM engineered around how your business actually sells and serves.",body:"We build CRM on Salesforce, HubSpot, Dynamics or as bespoke platforms — sales pipelines, service consoles, client portals and quoting engines that fit your operating model rather than fight it.",points:["
514Salesforce, HubSpot & Dynamics","Bespoke CRM platforms","Client & partner portals","Quoting & CPQ engines","CRM–ERP integration"]},{n:"03",title:"Custom Development",lead:"Bespoke web platforms and business systems built to fit.",body:"Where off-the-shelf breaks down we build custom — internal tools, operations platforms, marketplaces and B2B web applications engineered to be owned, extended and audited.",points:["Web platforms & internal tools","Marketplaces & B2B portals","APIs & integration services","Data platforms & dashboards","Modernisation of legacy systems"]},{n:"04",title:"AI Development",lead:"Production-grade AI features engineered into your product.",body:"LLM features, agents, RAG pipelines and structured extraction — built as first-class product surfaces with guardrails, evaluation and cost controls in place.",points:["LLM & RAG pipelines","Agents & copilots","Structured extraction","Evaluation & guardrails","Model ops & cost control"]}],Y$=["React","Next.js","TypeScript","Node","Swift","Kotlin","Flutter","Python","Postgres","Supabase","Azure","AWS"],J$=()=>n.jsxs(Le,{children:[n.jsx(fe,{title:"Custom Software Development Adelaide | 10xGrowth Labs",description:"Custom software development in Adelaide for business applications, operational platforms, CRM solutions, integrations and AI-powered software.",path:"/services/digital",jsonLd:[uo({name:"Custom Software Development",serviceType:"Custom software and digital product engineering",description:"Custom application development, mobile apps, CRM development, system integration and AI-powered business software for Australian organisations.",path:"/services/digital"}),ur([{name:"Services",path:"/services/digital"},{name:"Digital Engineering",path:"/services/digital"}])]}),n.jsx("section",{className:"pt-8 md:pt-12 pb-16 md:pb-20 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsx("div",{className:"eyebrow mb-6",children:"Services · Digital"}),n.jsxs("h1",{className:"font-display text-[40px] sm:text-5xl md:text-6xl lg:text-[80px] leading-[0.98] tracking-[-0.02em] max-w-5xl",children:["Custom Software Development",n.jsx("br",{}),n.jsx("span",{className:"font-serif-italic",children:"Built to Fit Your Business."})]}),n.jsx("p",{className:"mt-8 font-display text-2xl md:text-3xl leading-snug text-foreground/85 max-w-3xl",children:"Software built to fit. Not off the shelf."}),n.jsx("p",{className:"mt-8 text-lg md:text-xl text-foreground/70 max-w-3xl leading-relaxed",children:"Apps, CRM, custom platforms and AI features — engineered by a small senior team accountable end-to-end."})]})}
514),n.jsx("section",{className:"border-t border-foreground/10 py-20 md:py-28 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"grid md:grid-cols-12 gap-8 mb-14",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:"What we build"}),n.jsx("div",{className:"hairline max-w-[3rem]"})]}),n.jsxs("div",{className:"md:col-span-8",children:[n.jsxs("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:["Enterprise software development",n.jsx("span",{className:"font-serif-italic text-foreground/70",children:" for how your operation really runs."})]}),n.jsxs("p",{className:"mt-6 text-base text-foreground/70 max-w-3xl leading-relaxed",children:["A custom software company for Australian businesses that have outgrown spreadsheets and generic tools. The same team designs, builds and supports the system — and can layer"," ",n.jsx(L,{to:"/services/ai",className:"underline underline-offset-4 decoration-foreground/30 hover:decoration-foreground transition-colors",children:"AI consulting"})," ","and"," ",n.jsx(L,{to:"/services/automation",className:"underline underline-offset-4 decoration-foreground/30 hover:decoration-foreground transition-colors",children:"process automation"})," ","over it. Where a configurable base gets you there faster, we start from our"," ",n.jsx(L,{to:"/platform-suite",className:"underline underline-offset-4 decoration-foreground/30 hover:decoration-foreground transition-colors",children:"Platform Suite"}),"."]})]})]}),n.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-4 gap-px bg-foreground
514/15 border border-foreground/15",children:G$.map(e=>n.jsxs("div",{className:"bg-background p-8",children:[n.jsx("h3",{className:"font-display text-lg md:text-xl mb-3 leading-snug",children:e.title}),n.jsx("p",{className:"text-sm text-foreground/70 leading-relaxed",children:e.body})]},e.title))})]})}),n.jsx("section",{className:"border-t border-foreground/10 py-4 px-6",children:n.jsx("div",{className:"container mx-auto max-w-7xl divide-y divide-foreground/15",children:K$.map(e=>n.jsxs("article",{className:"grid md:grid-cols-12 gap-8 md:gap-12 py-14 md:py-20",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:e.n}),n.jsx("h2",{className:"font-display text-3xl md:text-4xl leading-tight tracking-tight",children:e.title})]}),n.jsxs("div",{className:"md:col-span-8 md:pl-8 md:border-l border-foreground/15",children:[n.jsx("p",{className:"font-display text-xl md:text-2xl leading-snug text-foreground/85 max-w-2xl",children:e.lead}),n.jsx("p",{className:"mt-5 text-base text-foreground/70 max-w-2xl leading-relaxed",children:e.body}),n.jsx("ul",{className:"mt-8 grid sm:grid-cols-2 gap-x-6 gap-y-3",children:e.points.map(t=>n.jsx("li",{className:"text-sm text-foreground/75 pt-3 border-t border-foreground
514/20",children:t},t))})]})]},e.n))})}),n.jsx("section",{className:"border-t border-foreground/10 bg-secondary/40 py-20 md:py-24 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsx("div",{className:"eyebrow mb-8",children:"Stack we build on"}),n.jsx("div",{className:"flex flex-wrap gap-3",children:Y$.map(e=>n.jsx("span",{className:"inline-flex items-center border border-foreground/25 px-4 py-2 text-xs uppercase tracking-wide text-foreground/80 bg-background",children:e},e))})]})}),n.jsx("section",{className:"ink-theme bg-background text-foreground py-24 md:py-32 px-6 border-t border-foreground/10",children:n.jsxs("div",{className:"container mx-auto max-w-5xl text-center",children:[n.jsxs("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:["A senior team, ",n.jsx("span",{className:"font-serif-italic",children:"accountable end-to-end."})]}),n.jsxs("div",{className:"mt-10 flex flex-wrap items-center justify-center gap-6",children:[n.jsxs(L,{to:"/contact",className:"inline-flex items-center gap-3 bg-foreground text-background px-8 py-4 text-sm font-semibold tracking-wide uppercase hover:bg-foreground
514/85 transition-colors",children:["Book Discovery Session ",n.jsx(W,{className:"w-4 h-4"})]}),n.jsxs(L,{to:"/portfolio",className:"inline-flex items-center gap-2 text-sm font-semibold underline underline-offset-8 decoration-foreground/30 hover:decoration-foreground transition-colors",children:["See recent work ",n.jsx(We,{className:"w-4 h-4"})]})]})]})})]}),Z$=xx("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),Js=w.forwardRef(({className:e,variant:t,size:s,asChild:r=!1,...i},a)=>{const o=r?r4:"button";return n.jsx(o,{className:cr(Z$({variant:t,size:s,className:e})),ref:a,...i})});Js.displayName="Button";const X$="/assets/custom-apps-showcase-poster-Zqy_MN1K.jpg",Q$=1,eF="736cf66e-1863-4d37-86d2-aacfcd0dc3e8",tF="2303a136-ebed-4a95-9f74-22b71420daa4",sF="/__l5e/assets-v1/736cf66e-1863-4d37-86d2-aacfcd0dc3e8/custom-apps-real-showcase.mp4",rF="a/v1/2303a136-ebed-4a95-9f74-22b71420daa4/736cf66e-1863-4d37-86d2-aacfcd0dc3e8/custom-apps-real-showcase.mp4",nF="custom-apps-real-showcase.mp4",iF=379928,aF="video/mp4",oF="2026-10-05T10:54:54Z",lF={version:Q$,asset_id:eF,project_id:tF,url:sF,r2_key:rF,original_filename:nF,size:iF,content_type:aF,created_at:oF},cF=1,dF="bcc6600b-cda5-439f-81fa-75663de7eec9",uF="2303a136-ebed-4a95-9f74-22b71420daa4",hF="/__l5e/assets-v1/bcc6600b-cda5-439f-81fa-75663de7eec9/custom-apps-real-showcase.webm",mF="a/v1/2303a136-ebed-4a95-9f74-22b71420daa4/bcc6600b-cda5-439f-81fa-75663de7eec9/custom-apps-real-showcase.webm",pF="custom-apps-real-showcase.webm",fF=523680,gF="video/webm",xF="2026-10-05T10:55:58Z",yF={version:cF,asset_id:dF,project_id:uF,url:hF,r2_key:mF,original_filename:pF,size:fF,content_type:gF,created_at:xF},vF=["Mobile","Web","Ecommerce","AI","Business Apps"],bF={Mobile:[{icon:fi,title:"iOS app development",body:"Native and cross-platform iPhone apps designed for speed, security and an excellent App Store experience."},{icon:jm,title:"Android app development",body:"Reliable Android products built for the devices, workflows and operating conditions your users face."},{icon:Co,title:"Flutter & React Native",body:"One maintainable product foundation across iOS and Android when cross-platform delivery is the right commercial choice."},{icon:Uc,title:"Connected mobile platforms",body:"Mobile experiences connected to portals, operations dashboards, payments, identity and existing business systems."}],Web:[{icon:Uc,title:"Custom web applications",body:"Secure, responsive applications shaped around your workflows, users and commercial model."},{icon:Co,title:"SaaS product development",body:"Multi-tenant products with subscriptions, roles, dashboards, notifications and operational reporting."},{icon:jm,title:"Customer & partner portals",body:"Self-service experiences for customers, suppliers and partners, available on every screen."},{icon:Bc,title:"Legacy modernisation",body:"Modern interfaces and integrations layered over essential systems, without a risky all-at-once replacement."}],Ecommerce:[{icon:bP,title:"Custom commerce platforms",body:"Commerce experiences built around your catalogue, fulfilment, pricing and customer journey."},{icon:Co,title:"Marketplace development",body:"Two-sided marketplaces with onboarding, listings, search, payments, messaging and administration."},{icon:Uc,title:"Shopify & platform extensions",body:"Custom storefronts, apps and integrations that connect commerce to the rest of your operation."},{icon:Bc,title:"Payments & fulfilment",body:"Secure payment flows, subscriptions, inventory and fulfilment integrations designed as one system."}
514],AI:[{icon:hu,title:"AI-powered applications",body:"Useful AI embedded into the product experience, grounded in your data and governed for production."},{icon:ki,title:"Copilots & agents",body:"Assistants that retrieve information, prepare work and complete approved actions across business systems."},{icon:Co,title:"Document intelligence",body:"Turn complex documents, images and correspondence into structured, reviewable operational data."},{icon:Bc,title:"AI product foundations",body:"Evaluation, permissions, observability and cost controls built in from the start—not added after launch."}],"Business Apps":[{icon:Co,title:"Operations platforms",body:"One operational model for jobs, workforce, assets, compliance, customers and finance."},{icon:jm,title:"Field service apps",body:"Offline-capable job, inspection, photo, signature and asset workflows for teams in the field."},{icon:Uc,title:"CRM & workflow systems",body:"Sales, service, approvals and reporting engineered around the way your organisation actually works."},{icon:Bc,title:"Systems integration",body:"Clean connections across finance, ERP, identity, data and industry platforms so information moves once."}]},wF=[{name:"FleetPro",category:"Transport operations platform",image:lc,result:"Dispatch, drivers, live fleet visibility, maintenance and AI assistance in one operating system."},{name:"CleanSync AI",category:"Field services platform",image:Sh,result:"Connected customer and operations applications for scheduling, proof of service and workforce insight."},{name:"Designer Wardrobe",category:"Marketplace app",image:oc,result:"A mobile marketplace experience for buying and selling pre-loved fashion across Australasia."}],jF=[lc,jS,Kx,_h,Ah,oc],$m=[["Transport & logistics","Dispatch, fleet, drivers, compliance and customer visibility."],["Construction & field services","Job delivery, site capture, subcontractors and cost control."],["Government","Case management, citizen services and governed workflow automation."],["Healthcare & care","Secure coordination, workforce and compliance-heavy service delivery."],["Professional services","Client portals, knowledge workflows and intelligent operations."],["Startups & new ventures","Focused MVPs designed to prove demand and become durable products."]],kF=[{number:"01",title:"Discover",body:"Clarify the user, the commercial outcome and what must be true for the product to succeed.",image:oc},{number:"02",title:"Blueprint",body:"Map journeys, scope, architecture, delivery stages, risks and investment before committing to a build.",image:Kx},{number:"03",title:"Build",body:"A senior product team ships in short cycles with working demonstrations and direct access to decision-makers.",image:Sh},{number:"04",title:"Launch",body:"Release to your users, measure what happens and improve with real usage guiding the next decisions.",image:Ah},{number:"05",title:"Support",body:"Fixes, improvements and answers after launch—from the same senior team that built your product.",image:_h},{number:"06",title:"Scale",body:"Grow the product on a roadmap tied to real usage and business value, not assumptions.",image:lc}],NF=[{title:"Grove Plumbing",result:"A clearer path to consistent growth",videoId:"0gPG-ephfGM"},{title:"BeautyLux",result:"An ecommerce growth story built around customer experience",videoId:"BbNhVfklnXo"},{title:"Leading home care provider",result:"Consistent lead results from a long-term partnership",videoId:"Ks35lV6PFrc"}];function SF({videoId:e,title:t}){const[s,r]=w.useState(!1);return s?n.jsx("iframe",{src:`https://www.youtube-nocookie.com/embed/${e}?rel=0&autoplay=1`,title:`${t} video testimonial`,allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowFullScreen:!0,className:"h-full w-full border-0"}):n.jsxs("button",{type:"button",onClick:()=>r(!0),"aria-label":`Play the ${t} video testimonial`,className:"group relative block h-full w-full cursor-pointer overflow-hidden bg-card text-left",children:[n.jsx("img",{src:`https://i.ytimg.com/vi/${e}/maxresdefault.jpg`,alt:`${t} video testimonial`,loading:"lazy",onError:i=>{const a=i.currentTarget;a.src.includes("hqdefault")||(a.src=`https://i.ytimg.com/vi/${e}/hqdefault.jpg`)},className:"h-full w-full object-cover transition-transform duration-500 group-hover:scale-[1.02]"}
514),n.jsx("span",{"aria-hidden":!0,className:"absolute inset-0 flex items-center justify-center bg-foreground/20 transition-colors group-hover:bg-foreground/30",children:n.jsx("span",{className:"flex h-16 w-16 items-center justify-center rounded-full bg-background text-foreground shadow-sm transition-transform group-hover:scale-105",children:n.jsx(bx,{className:"ml-1 h-6 w-6 fill-current"})})})]})}const R0=[{q:"How much does a custom app cost?",a:"Cost depends on product scope, integrations, security and platform requirements. Our Blueprint stage gives you a clear phased scope, architecture, timeline and investment range before development begins."},{q:"Do you build for both iOS and Android?",a:"Yes. We build native iOS and Android apps as well as Flutter and React Native products. We recommend the approach that best fits the experience, budget and long-term product plan."},{q:"Can you work with our existing systems?",a:"Yes. We regularly connect new applications with CRM, ERP, finance, identity, payments, data and industry platforms through secure APIs and integration services."},{q:"Will we own the application and source code?",a:"Yes. Your organisation owns the product IP and source code created for your engagement, supported by documentation and a clear handover path."},{q:"Can you add AI to an existing app?",a:"Yes. We identify where AI creates measurable value, then build it with permissions, human review, evaluation and cost controls appropriate for production use."}],AF=dc({name:Ce().trim().min(1,"Enter your name").max(120),email:Ce().trim().email("Enter a valid email").max(255),phone:Ce().trim().max(40).optional().or(kn("")),project:Ce().trim().min(10,"Tell us a little more about your app").max(2e3)}
514),ed="w-full border border-foreground/20 bg-background px-4 py-3 text-sm text-foreground outline-none transition-colors placeholder:text-foreground/40 focus:border-accent",O0="w-full border-b border-input bg-transparent px-0 py-3 text-sm text-foreground outline-none transition-colors placeholder:text-muted-foreground focus:border-accent",_F=dc({purpose:Ce().trim().max(120).optional().or(kn("")),name:Ce().trim().min(1,"Enter your name").max(120),email:Ce().trim().email("Enter a valid email").max(255),phone:Ce().trim().max(40).optional().or(kn("")),project:Ce().trim().min(10,"Tell us a little about your project").max(2e3)}),CS=async e=>{const t=uc(),s=e.name||"",r=e.email||"",i=e.phone||"",a=e.purpose||"",o=e.project||"",{error:l}=await ht.from("labs_leads").insert({tool:"contact",name:s,email:r,phone:i||null,inputs:{audience:"Custom Apps",purpose:a,message:o,source:"custom-apps"},result:{__attribution:t}});if(l)return{ok:!1};const c=Date.now(),d=a?`Purpose: ${a}
515
516${o}`:o;return await Promise.all(["[email protected]","[email protected]","[email protected]"].map(u=>ht.functions.invoke("send-transactional-email",{body:{templateName:"contact-inquiry",recipientEmail:u,idempotencyKey:`custom-apps-${u}-${r}-${c}`,templateData:{audience:"Custom Apps enquiry",source:"custom-apps",name:s,email:r,phone:i,company:a,role:"",message:d,attribution:t}}}).catch(()=>null))),{ok:!0}},CF=()=>{const e=Ti(),[t,s]=w.useState({name:"",email:"",phone:"",project:""}),[r,i]=w.useState({}),[a,o]=w.useState(!1),[l,c]=w.useState(""),d=async u=>{u.preventDefault(),c("");const h=AF.safeParse(t);if(!h.success){i(Object.fromEntries(h.error.issues.map(p=>[String(p.path[0]),p.message])));return}if(i({}),o(!0),!(await CS(h.data)).ok){o(!1),c("We couldn't send your enquiry. Please email [email protected].");return}e("/thankyou",{state:{name:h.data.name}})};return n.jsxs("form",{onSubmit:d,className:"bg-card text-card-foreground p-6 sm:p-8 border border-border",noValidate:!0,children:[n.jsx("p",{className:"eyebrow mb-3",children:"Planning an app?"}),n.jsx("h2",{className:"font-display text-2xl sm:text-3xl leading-tight",children:"Tell us what you want to build."}),n.jsx("p",{className:"mt-3 text-sm text-muted-foreground leading-relaxed",children:"Share the idea, the problem or the product you want to improve. We respond within one business day."}),n.jsxs("div",{className:"mt-6 space-y-3",children:[n.jsx(td,{label:"Full name",error:r.name,children:n.jsx("input",{"aria-label":"Full name",className:ed,value:t.name,onChange:u=>s({...t,name:u.target.value})})}),n.jsx(td,{label:"Work email",error:r.email,children:n.jsx("input",{"aria-label":"Work email",type:"email",className:ed,value:t.email,onChange:u=>s({...t,email:u.target.value})})}),n.jsx(td,{label:"Phone",error:r.phone,children:n.jsx("input",{"aria-label":"Phone",type:"tel",className:ed,value:t.phone,onChange:u=>s({...t,phone:u.target.value})})}),n.jsx(td,{label:"Tell us about your project",error:r.project,children:n.jsx("textarea",{"aria-label":"Tell us about your project",rows:4,className:`${ed} resize-none`,value:t.project,onChange:u=>s({...t,project:u.target.value})})})]}),l&&n.jsx("p",{role:"alert",className:"mt-4 text-sm text-destructive",children:l}),n.jsxs(Js,{type:"submit",size:"lg",disabled:a,className:"mt-5 w-full rounded-none uppercase tracking-wide",children:[a?n.jsx(ir,{className:"animate-spin"}):n.jsx(W,{}),a?"Sending…":"Discuss your app"]}),n.jsx("p",{className:"mt-3 text-xs text-muted-foreground",children:"Your details are used only to respond to your enquiry."})]})},td=({label:e,error:t,children:s})=>n.jsxs("label",{className:"block",children:[n.jsx("span",{className:"mb-1.5 block text-xs font-semibold uppercase tracking-wide",children:e}),s,t&&n.jsx("span",{className:"mt-1 block text-xs text-destructive",children:t})]}),EF=()=>{const e=Ti(),[t,s]=w.useState({purpose:"",name:"",email:"",phone:"",project:""}),[r,i]=w.useState({}),[a,o]=w.useState(!1),[l,c]=w.useState(""),d=h=>m=>s({...t,[h]:m.target.value}),u=async h=>{h.preventDefault(),c("");const m=_F.safeParse(t);if(!m.success){i(Object.fromEntries(m.error.issues.map(x=>[String(x.path[0]),x.message])));return}if(i({}),o(!0),!(await CS(m.data)).ok){o(!1),c("We couldn't send your enquiry. Please email [email protected].");return}e("/thankyou",{state:{name:m.data.name}})};return n.jsxs("form",{onSubmit:u,noValidate:!0,children:[n.jsx("div",{className:"grid gap-y-6 gap-x-12 sm:grid-cols-2",children:[{key:"purpose",label:"Purpose of contact",placeholder:"Purpose of contact"},{key:"name",label:"Your name",placeholder:"Your name"},{key:"email",label:"Your email",placeholder:"Your email",type:"email"},{key:"phone",label:"Phone",placeholder:"0416 555 222",type:"tel"}].map(h=>n.jsxs("div",{children:[n.jsx("input",{"aria-label":h.label,type:h.type||"text",placeholder:h.placeholder,className:O0,value:t[h.key],onChange:d(h.key)}),r[h.key]&&n.jsx("span",{className:"mt-1 block text-xs text-destructive",children:r[h.key]})]},h.key))}),n.jsxs("div",{className:"mt-6",children:[n.jsx("textarea",{"aria-label":"Tell us about your project",rows:5,placeholder:"Tell us about your project",className:`${O0} resize-none`,value:t.project,onChange:d("project")}),r.project&&n.jsx("span",{className:"mt-1 block text-xs text-destructive",children:r.project})]}),l&&n.jsx("p",{role:"alert",className:"mt-4 text-sm text-destructive",children:l}),n.jsxs(Js,{type:"submit",size:"lg",variant:"outline",disabled:a,className:"mt-8 w-full rounded-full border-foreground
516/70 bg-transparent px-10 uppercase tracking-[0.18em] hover:bg-foreground hover:text-background sm:w-auto",children:[a&&n.jsx(ir,{className:"animate-spin"}),a?"Sending…":"Send request"]})]})},TF=()=>{const[e,t]=w.useState(0);return n.jsx("section",{id:"industries",className:"px-6 py-20 md:py-28",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"mb-12 grid gap-6 border-b border-foreground/15 pb-10 md:grid-cols-2 md:items-end",children:[n.jsx("h2",{className:"font-display text-4xl leading-none md:text-7xl",children:"Industries"}),n.jsx("p",{className:"max-w-md text-foreground/65 leading-relaxed md:justify-self-end",children:"Discover tailored industry solutions with real operational insight, architecture thinking and measurable outcomes."})]}),n.jsxs("div",{className:"grid gap-10 lg:grid-cols-[1fr_1.1fr]",children:[n.jsxs("div",{children:[$m.map(([s,r],i)=>n.jsxs("button",{type:"button",onMouseEnter:()=>t(i),onFocus:()=>t(i),onClick:()=>t(i),className:"group block w-full border-b border-foreground
516/15 py-6 text-left",children:[n.jsxs("div",{className:"flex items-baseline gap-5",children:[n.jsxs("span",{className:`font-display text-sm tabular-nums ${e===i?"text-accent":"text-foreground/40"}`,children:[String(i+1).padStart(2,"0"),"."]}),n.jsx("h3",{className:`font-display text-2xl transition-colors md:text-4xl ${e===i?"text-foreground":"text-foreground/35 group-hover:text-foreground/70"}`,children:s}),n.jsx(W,{className:`ml-auto h-5 w-5 shrink-0 transition-all ${e===i?"translate-x-0 text-accent opacity-100":"-translate-x-2 opacity-0"}`})]}),n.jsx("div",{className:`grid transition-all duration-300 ${e===i?"grid-rows-[1fr] opacity-100":"grid-rows-[0fr] opacity-0"}`,children:n.jsx("p",{className:"overflow-hidden pl-10 pt-3 text-sm leading-relaxed text-foreground/65 md:text-base",children:r})})]},s)),n.jsxs(L,{to:"/industries",className:"mt-8 inline-flex items-center gap-2 text-sm font-semibold uppercase tracking-wide text-foreground hover:text-accent",children:["View all industries ",n.jsx(W,{className:"h-4 w-4"})]})]}),n.jsxs("div",{className:"relative hidden aspect-[4/5] overflow-hidden border border-foreground
516/15 lg:block lg:sticky lg:top-28 lg:self-start",children:[$m.map(([s],r)=>n.jsx("img",{src:jF[r],alt:`${s} software example`,loading:"lazy",className:`absolute inset-0 h-full w-full object-cover transition-opacity duration-500 ${e===r?"opacity-100":"opacity-0"}`},s)),n.jsxs("div",{className:"ink-theme absolute inset-x-0 bottom-0 bg-background/85 p-6 text-foreground",children:[n.jsxs("div",{className:"font-display text-5xl text-accent",children:[String(e+1).padStart(2,"0"),"."]}),n.jsx("div",{className:"mt-2 font-display text-xl",children:$m[e][0]})]})]})]})]})})},PF=()=>{const[e,t]=w.useState("Mobile");return n.jsxs(Le,{children:[n.jsx(fe,{title:"Custom App Development Australia | iOS, Android & Web Apps",description:"Custom app development for Australian businesses and startups. We design and build mobile, web, ecommerce and AI-powered applications that scale.",path:"/custom-apps",jsonLd:[uo({name:"Custom App Development",serviceType:"Mobile, web and AI application development",description:"Custom mobile, web, ecommerce and AI application development for Australian businesses, enterprises and startups.",path:"/custom-apps"}),ur([{name:"Custom Apps",path:"/custom-apps"}]),Vx(R0)]}),n.jsxs("section",{className:"ink-theme relative isolate overflow-hidden bg-background px-6 py-12 text-foreground md:py-20",children:[n.jsxs("video",{autoPlay:!0,muted:!0,loop:!0,playsInline:!0,poster:X$,preload:"metadata","aria-hidden":"true",onCanPlay:s=>{s.currentTarget.play().catch(()=>{})},className:"pointer-events-none absolute inset-0 -z-20 h-full w-full object-cover object-center opacity-45 max-lg:opacity-30",children:[n.jsx("source",{src:yF.url,type:"video/webm"}),n.jsx("source",{src:lF.url,type:"video/mp4"})]}),n.jsx("div",{"aria-hidden":"true",className:"pointer-events-none absolute inset-0 -z-10 bg-background/35"}),n.jsxs("div",{className:"container mx-auto grid max-w-7xl items-center gap-12 lg:grid-cols-[1.2fr_0.8fr] lg:gap-20",children:[n.jsxs("div",{children:[n.jsx("div",{className:"eyebrow mb-7",children:"Custom apps · Built around your business"}),n.jsxs("h1",{className:"font-display text-[44px] leading-[0.98] sm:text-6xl md:text-7xl lg:text-[88px]",children:["Custom apps that move your business ",n.jsx("span",{className:"font-serif-italic",children:"forward."})]}),n.jsx("p",{className:"mt-8 max-w-2xl text-lg leading-relaxed text-foreground/70 md:text-xl",children:"Design, build and scale mobile, web and AI-powered products with a senior Australian product engineering team."}),n.jsx("div",{className:"mt-8 flex flex-wrap gap-2",children:["iOS & Android","Web platforms","AI products","Ecommerce","Business systems"].map(s=>
516n.jsx("span",{className:"border border-foreground/20 px-3 py-2 text-xs text-foreground/75",children:s},s))}),n.jsxs("div",{className:"mt-9 flex flex-col gap-3 sm:flex-row",children:[n.jsx(Js,{asChild:!0,size:"lg",className:"rounded-none uppercase tracking-wide",children:n.jsxs("a",{href:"#project-enquiry",children:["Start a conversation ",n.jsx(W,{})]})}),n.jsx(Js,{asChild:!0,size:"lg",variant:"outline",className:"rounded-none bg-transparent uppercase tracking-wide",children:n.jsx(L,{to:"/portfolio",children:"See apps we've shipped"})})]})]}),n.jsx("div",{id:"project-enquiry",children:n.jsx(CF,{})})]})]}),n.jsx("section",{className:"border-b border-foreground/10 bg-secondary/55 px-6 py-5",children:n.jsxs("div",{className:"container mx-auto flex max-w-7xl flex-wrap items-center justify-between gap-4 text-sm",children:[n.jsx("span",{className:"font-display font-semibold",children:"Senior product strategy, UX and engineering in one team."}),n.jsx("span",{className:"text-foreground/60",children:"Mobile · Web · Cloud · AI · Integrations"})]})}),n.jsx("section",{className:"px-6 py-20 md:py-28",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"grid gap-8 md:grid-cols-12 md:gap-12",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:"What are you building?"}),n.jsx("div",{className:"hairline max-w-[3rem]"})]}),n.jsx("div",{className:"md:col-span-8",children:n.jsxs("h2",{className:"font-display text-3xl leading-tight md:text-5xl",children:["The right product approach for ",n.jsx("span",{className:"font-serif-italic",children:"the outcome you need."})]})})]}),n.jsx("div",{className:"mt-12 flex gap-2 overflow-x-auto pb-2",role:"tablist","aria-label":"App development categories",children:vF.map(s=>n.jsx(Js,{type:"button",role:"tab","aria-selected":e===s,variant:e===s?"default":"outline",onClick:()=>t(s),className:"shrink-0 rounded-none",children:s},s))}),n.jsx("div",{className:"mt-6 grid gap-px border border-foreground
516/15 bg-foreground/15 md:grid-cols-2",children:bF[e].map(({icon:s,title:r,body:i})=>n.jsxs("article",{className:"bg-background p-7 sm:p-9",children:[n.jsx("div",{className:"mb-8 flex h-12 w-12 items-center justify-center bg-secondary",children:n.jsx(s,{className:"h-5 w-5 text-accent"})}),n.jsx("h3",{className:"font-display text-xl md:text-2xl",children:r}),n.jsx("p",{className:"mt-3 max-w-xl text-sm leading-relaxed text-foreground/65 md:text-base",children:i})]},r))})]})}),n.jsx("section",{className:"ink-theme bg-background px-6 py-20 text-foreground md:py-28",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"grid gap-8 md:grid-cols-12",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:"Selected work"}),n.jsx("div",{className:"hairline max-w-[3rem]"})]}),n.jsxs("div",{className:"md:col-span-8",children:[n.jsxs("h2",{className:"font-display text-3xl md:text-5xl",children:["Real products. ",n.jsx("span",{className:"font-serif-italic",children:"Already in the world."})]}),n.jsx("p",{className:"mt-5 max-w-2xl text-foreground/65",children:"Our teams have shipped consumer apps, marketplaces and operational platforms across Australia and beyond."})]})]}),n.jsx("div",{className:"mt-14 grid gap-6 lg:grid-cols-3",children:wF.map(s=>
516n.jsxs("article",{className:"border border-foreground/15 bg-card",children:[n.jsx("img",{src:s.image,alt:`${s.name} application`,className:"aspect-[4/3] w-full object-cover",loading:"lazy"}),n.jsxs("div",{className:"p-6",children:[n.jsx("div",{className:"eyebrow",children:s.category}),n.jsx("h3",{className:"mt-3 font-display text-2xl",children:s.name}),n.jsx("p",{className:"mt-3 text-sm leading-relaxed text-foreground/65",children:s.result})]})]},s.name))}),n.jsx(Js,{asChild:!0,variant:"outline",className:"mt-8 rounded-none bg-transparent",children:n.jsxs(L,{to:"/portfolio",children:["Explore the portfolio ",n.jsx(W,{})]})})]})}),n.jsx(TF,{}),n.jsx("section",{className:"ink-theme border-y border-foreground/10 bg-background px-6 py-20 text-foreground md:py-28",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"grid gap-8 md:grid-cols-12 md:gap-12",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:"Video testimonials"}),n.jsx("div",{className:"hairline max-w-[3rem]"})]}),n.jsxs("div",{className:"md:col-span-8",children:[n.jsxs("h2",{className:"max-w-4xl font-display text-3xl leading-tight md:text-5xl",children:["Trusted by businesses ready to ",n.jsx("span",{className:"font-serif-italic",children:"move forward."})]}),n.jsx("p",{className:"mt-5 max-w-2xl text-foreground/65",children:"Hear directly from Australian businesses about the experience and outcomes of working with 10xGrowth."})]})]}),n.jsx("div",{className:"mt-12 grid gap-px border border-foreground
516/15 bg-foreground/15",children:NF.map(s=>n.jsxs("article",{className:"bg-background lg:grid lg:grid-cols-[1.6fr_1fr]",children:[n.jsx("div",{className:"aspect-video overflow-hidden bg-card",children:n.jsx(SF,{videoId:s.videoId,title:s.title})}),n.jsxs("div",{className:"p-6 md:p-8 lg:flex lg:flex-col lg:justify-center",children:[n.jsx("div",{className:"eyebrow",children:"Client story"}),n.jsx("h3",{className:"mt-3 font-display text-xl md:text-2xl",children:s.title}),n.jsx("p",{className:"mt-3 text-sm leading-relaxed text-foreground/65",children:s.result})]})]},s.videoId))})]})}),n.jsx("section",{className:"bg-secondary/40 px-6 py-20 md:py-28",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"text-center",children:[n.jsx("div",{className:"eyebrow",children:"How we deliver"}),n.jsxs("h2",{className:"mx-auto mt-5 max-w-4xl font-display text-4xl leading-tight md:text-6xl",children:["Clarity before code. ",n.jsx("span",{className:"font-serif-italic text-accent",children:"Momentum through launch."})]})]}),n.jsx("div",{className:"mt-14 flex flex-col gap-8",children:kF.map(s=>n.jsxs("article",{className:"grid overflow-hidden rounded-2xl border border-foreground
516/10 bg-card shadow-sm md:grid-cols-[1.4fr_1fr]",children:[n.jsxs("div",{className:"p-7 md:p-12",children:[n.jsx("div",{className:"flex h-16 w-16 items-center justify-center rounded-full border border-accent/40 font-display text-xl text-accent",children:s.number}),n.jsx("h3",{className:"mt-8 font-display text-3xl md:text-4xl",children:s.title}),n.jsx("p",{className:"mt-4 max-w-xl text-base leading-relaxed text-foreground/65 md:text-lg",children:s.body})]}),n.jsx("div",{className:"relative h-60 md:h-auto",children:n.jsx("img",{src:s.image,alt:s.title,className:"absolute inset-0 h-full w-full object-cover",loading:"lazy"})})]},s.number))}),n.jsx("ul",{className:"mx-auto mt-12 flex max-w-4xl flex-wrap items-center justify-center gap-x-8 gap-y-3 text-sm text-foreground/65",children:["Full product IP ownership","Senior team throughout","Weekly working demos","Support after launch"].map(s=>n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(bn,{className:"h-4 w-4 text-accent"}),s]},s))})]})}),n.jsx("section",{id:"connect",className:"ink-theme bg-background px-6 pt-20 text-foreground md:pt-28",children:n.jsx("div",{className:"container mx-auto max-w-6xl",children:n.jsxs("div",{className:"light-theme bg-card text-card-foreground rounded-t-[28px] px-6 py-14 sm:px-12 md:px-16 md:py-20",children:[n.jsxs("div",{className:"max-w-3xl",children:[n.jsx("div",{className:"eyebrow mb-5",children:"Let's connect"}),n.jsx("h2",{className:"font-display text-4xl leading-tight md:text-6xl",children:"Let's Connect!"}),n.jsxs("p",{className:"mt-5 text-base leading-relaxed text-muted-foreground md:text-lg",children:["Use the form below, or send us an email at"," ",n.jsx("a",{href:"mailto:[email protected]",className:"text-accent underline underline-offset-4 hover:opacity-80",children:"[email protected]"}),". We respond within one business day."]})]}),n.jsx("div",{className:"mt-12",children:n.jsx(EF,{})})]})})}
516),n.jsx("section",{className:"border-t border-foreground/10 px-6 py-20 md:py-28",children:n.jsxs("div",{className:"container mx-auto max-w-5xl",children:[n.jsx("div",{className:"eyebrow mb-5",children:"Common questions"}),n.jsx("h2",{className:"font-display text-3xl md:text-5xl",children:"Before we build."}),n.jsx("div",{className:"mt-10 divide-y divide-foreground/15 border-y border-foreground/15",children:R0.map(s=>n.jsxs("details",{className:"group py-5",children:[n.jsxs("summary",{className:"flex cursor-pointer list-none items-center justify-between gap-4 font-display text-lg",children:[n.jsx("span",{children:s.q}),n.jsx(Ar,{className:"h-5 w-5 shrink-0 transition-transform group-open:rotate-180"})]}),n.jsx("p",{className:"max-w-3xl pt-4 text-sm leading-relaxed text-foreground/65 md:text-base",children:s.a})]},s.q))})]})}),n.jsx("section",{className:"ink-theme bg-background px-6 py-20 text-foreground md:py-28",children:n.jsxs("div",{className:"container mx-auto max-w-5xl text-center",children:[n.jsx("div",{className:"eyebrow mb-6",children:"Have an app in mind?"}),n.jsx("h2",{className:"font-display text-4xl leading-tight md:text-6xl",children:"Turn the idea into a product people can use."}),n.jsx("p",{className:"mx-auto mt-6 max-w-2xl text-foreground/65",children:"Start with a direct conversation about the opportunity, the hard parts and the smartest path to launch."}),n.jsxs("div",{className:"mt-9 flex flex-col justify-center gap-3 sm:flex-row",children:[n.jsx(Js,{asChild:!0,size:"lg",className:"rounded-none uppercase tracking-wide",children:n.jsxs("a",{href:"#project-enquiry",children:["Discuss your app ",n.jsx(W,{})]})}),n.jsx(Js,{asChild:!0,size:"lg",variant:"outline",className:"rounded-none bg-transparent uppercase tracking-wide",children:n.jsxs("a",{href:"tel:+61433975469",children:[n.jsx(Ut,{}),"0433 975 469"]})})]})]})})]})},IF=1,RF="e8ee1cd3-8bb3-4cbd-8ecf-503b41b1234d",OF="2303a136-ebed-4a95-9f74-22b71420daa4",MF="/__l5e/assets-v1/e8ee1cd3-8bb3-4cbd-8ecf-503b41b1234d/fleetpro-demo.mp4",DF="a/v1/2303a136-ebed-4a95-9f74-22b71420daa4/e8ee1cd3-8bb3-4cbd-8ecf-503b41b1234d/fleetpro-demo.mp4",LF="fleetpro-demo.mp4",$F=17240291,FF="video/mp4",BF="2026-09-11T06:42:24Z",ES={version:IF,asset_id:RF,project_id:OF,url:MF,r2_key:DF,original_filename:LF,size:$F,content_type:FF,created_at:BF},UF=1,WF="73f116d8-8a3b-4df7-841e-4e575c8b8326",VF="2303a136-ebed-4a95-9f74-22b71420daa4",zF="/__l5e/assets-v1/73f116d8-8a3b-4df7-841e-4e575c8b8326/fleetpro-walkthrough.mp4",HF="a/v1/2303a136-ebed-4a95-9f74-22b71420daa4/73f116d8-8a3b-4df7-841e-4e575c8b8326/fleetpro-walkthrough.mp4",qF="fleetpro-walkthrough.mp4",GF=15639702,KF="video/mp4",YF="2026-09-11T06:42:35Z",TS={version:UF,asset_id:WF,project_id:VF,url:zF,r2_key:HF,original_filename:qF,size:GF,content_type:KF,created_at:YF},PS="/assets/fleetpro-demo-ZH0bxZm7.jpg",IS="/assets/fleetpro-walkthrough-DzqpB-6i.jpg",JF=1,ZF="846d3d90-9304-4111-bce2-2e22453c6641",XF="2303a136-ebed-4a95-9f74-22b71420daa4",QF="/__l5e/assets-v1/846d3d90-9304-4111-bce2-2e22453c6641/fleetpro-dashboard.jpg",e7="a/v1/2303a136-ebed-4a95-9f74-22b71420daa4/846d3d90-9304-4111-bce2-2e22453c6641/fleetpro-dashboard.jpg",t7="fleetpro-dashboard.jpg",s7=150645,r7="image/jpeg",n7="2026-07-24T09:33:54Z",RS={version:JF,asset_id:ZF,project_id:XF,url:QF,r2_key:e7,original_filename:t7,size:s7,content_type:r7,created_at:n7},i7=1,a7="6bae461e-cc70-461e-8b07-39e3aed359bc",o7="2303a136-ebed-4a95-9f74-22b71420daa4",l7="/__l5e/assets-v1/6bae461e-cc70-461e-8b07-39e3aed359bc/fleetpro-dispatch.jpg",c7="a/v1/2303a136-ebed-4a95-9f74-22b71420daa4/6bae461e-cc70-461e-8b07-39e3aed359bc/fleetpro-dispatch.jpg",d7="fleetpro-dispatch.jpg",u7=156601,h7="image/jpeg",m7="2026-07-24T09:33:54Z",p7={version:i7,asset_id:a7,project_id:o7,url:l7,r2_key:c7,original_filename:d7,size:u7,content_type:h7,created_at:m7},f7=1,g7="d728ae66-7602-4cf2-b059-0a621764c7d4",x7="2303a136-ebed-4a95-9f74-22b71420daa4",y7="/__l5e/assets-v1/d728ae66-7602-4cf2-b059-0a621764c7d4/fleetpro-livemap.jpg",v7="a/v1/2303a136-ebed-4a95-9f74-22b71420daa4/d728ae66-7602-4cf2-b059-0a621764c7d4/fleetpro-livemap.jpg",b7="fleetpro-livemap.jpg",w7=238368,j7="image/jpeg",k7="2026-07-24T09:33:54Z",N7={version:f7,asset_id:g7,project_id:x7,url:y7,r2_key:v7,original_filename:b7,size:w7,content_type:j7,created_at:k7},S7=1,A7="ad301f07-c5fa-467c-bdbe-23ee16837db5",_7="2303a136-ebed-4a95-9f74-22b71420daa4",C7="/__l5e/assets-v1/ad301f07-c5fa-467c-bdbe-23ee16837db5/fleetpro-maintenance.jpg",E7="a/v1/2303a136-ebed-4a95-9f74-22b71420daa4/ad301f07-c5fa-467c-bdbe-23ee16837db5/fleetpro-maintenance.jpg",T7="fleetpro-maintenance.jpg",P7=180640,I7="image/jpeg",R7="2026-07-24T09:33:54Z",O7={version:S7,asset_id:A7,project_id:_7,url:C7,r2_key:E7,original_filename:T7,size:P7,content_type:I7,created_at:R7},qi=[{src:RS.url,label:"Dashboard",icon:aP,caption:"AI insights, live jobs, revenue and driver utilisation on one screen."},{src:p7.url,label:"Dispatch",icon:Sa,caption:"Drag-and-drop job queue with AI dispatch recommendations."},{src:N7.url,label:"Live Map",icon:wx,caption:"Real-time tracking with geofences, trips and driver telemetry."},{src:O7.url,label:"Maintenance",icon:IN,caption:"Vehicle health, inspections, service tickets and compliance."}],M7=[{title:"Dispatch & Scheduling",body:"Plan, allocate and track jobs across depots, drivers and subcontractors — in real time."},{title:"Compliance & Safety",body:"NHVR-ready fatigue, defects, pre-starts and incident workflows engineered for audit."},{title:"Fuel & Maintenance",body:"Track fuel, tyres, servicing and asset lifecycle in one operational spine."},{title:"Finance & Billing",body:"Rate cards, self-billing, contractor payments and revenue reconciliation."},{title:"Driver Mobile App",body:"Purpose-built for the cab — jobs, POD, checklists, forms and comms."},{title:"Analytics & AI",body:"Operational dashboards and AI copilots on top of live fleet data."}],M0=["Transport","Freight","Fuel Distribution","Mining Services","Waste","Distribution"],D7=[{k:"30%",v:"Faster dispatch cycle"},{k:"50%",v:"Less back-office rekeying"},{k:"100%",v:"Audit-ready compliance"},{k:"24/7",v:"Live fleet visibility"}
516],L7=[{before:"Whiteboard run sheet and phone calls",after:"Live dispatch board, allocation in seconds"},{before:"Paper pre-starts in a folder",after:"Enforced digital checks with audit trail"},{before:"Dockets return with the driver",after:"Digital POD the moment the job is done"},{before:"Invoices wait weeks on paperwork",after:"Same-day invoicing from job completion"},{before:"Breakdowns discovered on the road",after:"Predictive alerts before failure"}],D0=[{title:"Job intake",body:"Orders arrive via portal, EDI or phone — captured once, structured, priced."},{title:"Dispatch",body:"AI-assisted allocation across depots, drivers and subcontractors on a live map."},{title:"In-cab execution",body:"Driver app for jobs, POD, pre-starts, fatigue and forms."},{title:"Compliance & fuel",body:"NHVR fatigue, ANC, IPC, defects and fuel captured in the same flow."},{title:"Invoice & settle",body:"Auto-priced invoices, self-billing and contractor payments to finance."}],$7=[{title:"AI dispatch copilot",body:"Suggests the best driver, route and depot for each job — with reasoning surfaced to the dispatcher."},{title:"Predictive maintenance",body:"Detects failure patterns across telemetry, servicing and fault codes before breakdowns."},{title:"Compliance risk alerts",body:"Flags fatigue, licence, mass and dimension risk in real time before it becomes an incident."},{title:"Structured POD extraction",body:"Turns paper dockets, PODs and manifests into structured records instantly."}],F7=["MYOB","Xero","SAP","Microsoft 365","Salesforce","Power BI","TomTom Telematics","Geotab","Google Maps","EDI","Fuelcards","SharePoint"],B7=()=>{const[e,t]=w.useState(0),s=qi[e].icon;return n.jsxs(Le,{children:[n.jsx(fe,{title:"Enterprise Fleet Management Software | FleetPro",description:"FleetPro connects transport dispatch, drivers, vehicles, compliance, tracking and invoicing in one configurable fleet management platform.",path:"/platform-suite/fleetpro",jsonLd:[Wx({name:"FleetPro",description:"Enterprise fleet and transport management software connecting dispatch, drivers, vehicles, compliance, live tracking and invoicing in one configurable platform.",path:"/platform-suite/fleetpro"}),ur([{name:"Platform Suite",path:"/platform-suite"},{name:"FleetPro",path:"/platform-suite/fleetpro"}])]}),n.jsx("section",{className:"ink-theme bg-background text-foreground border-b border-foreground
516/10 overflow-hidden",children:n.jsxs("div",{className:"container mx-auto max-w-7xl px-6 pt-10 pb-0 md:pt-16",children:[n.jsxs("div",{className:"grid lg:grid-cols-12 gap-10 lg:gap-14 items-center",children:[n.jsxs("div",{className:"lg:col-span-5",children:[n.jsx("div",{className:"eyebrow mb-6",children:"Platform Suite · FleetPro™"}),n.jsxs("h1",{className:"font-display text-[40px] sm:text-6xl lg:text-[68px] leading-[0.98] tracking-[-0.02em]",children:["Enterprise Fleet and",n.jsx("br",{}),n.jsx("span",{className:"font-serif-italic",children:"Transport Management Software."})]}),n.jsx("p",{className:"mt-7 font-display text-xl md:text-2xl leading-snug text-foreground/85 max-w-xl",children:"Enterprise fleet and logistics, engineered as one system."}),n.jsx("p",{className:"mt-6 text-base md:text-lg text-foreground/70 leading-relaxed max-w-xl",children:"Dispatch, compliance, fuel, maintenance and finance in a single platform — built with Australian transport operators and running in production today."}),n.jsxs("div",{className:"mt-8 flex flex-wrap gap-3",children:[n.jsxs(L,{to:"/fleet-assessment",className:"group inline-flex items-center gap-3 bg-foreground text-background px-6 py-3.5 text-sm font-semibold tracking-wide uppercase hover:bg-foreground
516/85 transition-colors",children:["Score your fleet — free ",n.jsx(W,{className:"w-4 h-4 group-hover:translate-x-1 transition-transform"})]}),n.jsxs("a",{href:"https://fleetpro.10xgrowthlabs.ai",target:"_blank",rel:"noopener noreferrer",className:"group inline-flex items-center gap-2 border border-foreground/25 px-6 py-3.5 text-sm font-semibold tracking-wide uppercase hover:border-foreground/60 transition-colors",children:["Visit FleetPro ",n.jsx(We,{className:"w-4 h-4 group-hover:translate-x-0.5 group-hover:-translate-y-0.5 transition-transform"})]})]}),n.jsx("div",{className:"mt-8 flex flex-wrap gap-2",children:M0.slice(0,4).map(r=>n.jsx("span",{className:"inline-flex items-center border border-foreground/20 px-3 py-1.5 text-[11px] uppercase tracking-wide text-foreground/70",children:r},r))})]}),n.jsxs("div",{className:"lg:col-span-7 relative",children:[n.jsxs("div",{className:"relative border border-foreground/15 bg-secondary/20 shadow-[0_40px_120px_-40px_rgba(0,0,0,0.6)]",children:[n.jsxs("div",{className:"flex items-center gap-2 border-b border-foreground
516/15 px-4 py-3",children:[n.jsx("span",{className:"w-2.5 h-2.5 rounded-full bg-foreground/25"}),n.jsx("span",{className:"w-2.5 h-2.5 rounded-full bg-foreground/20"}),n.jsx("span",{className:"w-2.5 h-2.5 rounded-full bg-foreground/15"}),n.jsx("span",{className:"ml-3 text-[11px] uppercase tracking-[0.18em] text-foreground/50",children:"fleetpro · live dashboard"})]}),n.jsx("img",{src:RS.url,alt:"FleetPro live operations dashboard",width:1600,height:1008,className:"w-full h-auto block"})]}),n.jsxs("div",{className:"hidden md:block absolute -bottom-8 -left-8 border border-foreground/20 bg-background px-5 py-4",children:[n.jsx("div",{className:"font-display text-3xl tracking-tight",children:"24/7"}),n.jsx("div",{className:"text-[11px] uppercase tracking-wide text-foreground/60 mt-1",children:"Live fleet visibility"})]}),n.jsxs("div",{className:"hidden md:block absolute -top-6 -right-4 border border-foreground/20 bg-background px-5 py-4",children:[n.jsx("div",{className:"font-display text-3xl tracking-tight",children:"30%"}),n.jsx("div",{className:"text-[11px] uppercase tracking-wide text-foreground/60 mt-1",children:"Faster dispatch"})]})]})]}),n.jsx("div",{className:"h-16 md:h-20"})]})}
516),n.jsx("section",{className:"border-b border-foreground/10 bg-secondary/40 py-12 md:py-16 px-6",children:n.jsx("div",{className:"container mx-auto max-w-7xl grid grid-cols-2 md:grid-cols-4 gap-8 md:gap-12",children:D7.map(r=>n.jsxs("div",{children:[n.jsx("div",{className:"font-display text-4xl md:text-6xl tracking-tight",children:r.k}),n.jsx("div",{className:"mt-3 text-xs md:text-sm text-foreground/60 leading-snug",children:r.v})]},r.v))})}),n.jsx("section",{className:"py-20 md:py-28 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"grid md:grid-cols-12 gap-8 mb-10",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:"Product tour"}),n.jsx("div",{className:"hairline max-w-[3rem]"})]}),n.jsx("div",{className:"md:col-span-8",children:n.jsxs("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:["Four screens that replace",n.jsx("span",{className:"font-serif-italic text-foreground/70",children:" the whiteboard, the folder and the spreadsheet."})]})})]}),n.jsxs("div",{className:"grid lg:grid-cols-12 gap-6 lg:gap-10 items-start",children:[n.jsx("div",{className:"lg:col-span-4 flex lg:flex-col gap-px bg-foreground
516/15 border border-foreground/15 overflow-x-auto",children:qi.map((r,i)=>{const a=r.icon,o=i===e;return n.jsxs("button",{onClick:()=>t(i),className:`flex-1 min-w-[150px] text-left p-5 md:p-6 transition-colors ${o?"bg-foreground text-background":"bg-background hover:bg-secondary/60"}`,children:[n.jsx(a,{className:"w-5 h-5 mb-3"}),n.jsx("div",{className:"font-display text-lg leading-tight",children:r.label}),n.jsx("div",{className:`mt-2 text-xs leading-relaxed ${o?"text-background/70":"text-foreground/60"}`,children:r.caption})]},r.label)})}),n.jsxs("div",{className:"lg:col-span-8",children:[n.jsx("div",{className:"border border-foreground/15 bg-secondary/30 p-2 md:p-3 shadow-[0_30px_80px_-40px_rgba(0,0,0,0.35)]",children:n.jsx("img",{src:qi[e].src,alt:`FleetPro ${qi[e].label}`,width:1600,height:1008,className:"w-full h-auto block animate-in fade-in duration-300",loading:"lazy"},qi[e].src)}),n.jsxs("div",{className:"mt-4 flex items-start gap-3",children:[n.jsx(s,{className:"w-4 h-4 mt-0.5 text-foreground/60 shrink-0"}),n.jsx("p",{className:"text-sm text-foreground/65 leading-relaxed",children:qi[e].caption})]})]})]})]})}
vendor: 1,368 bytes, line 516
516),n.jsx("section",{className:"border-y border-foreground/10 bg-secondary/40 py-20 md:py-28 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"grid md:grid-cols-12 gap-8 mb-12",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:"The shift"}),n.jsx("div",{className:"hairline max-w-[3rem]"})]}),n.jsx("div",{className:"md:col-span-8",children:n.jsxs("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:["From paper and phone calls",n.jsx("span",{className:"font-serif-italic text-foreground/70",children:" to one operating system."})]})})]}),n.jsx("div",{className:"border border-foreground/15 bg-background divide-y divide-foreground/10",children:L7.map(r=>n.jsxs("div",{className:"grid md:grid-cols-12 gap-3 md:gap-6 items-center px-6 md:px-8 py-5",children:[n.jsx("div",{className:"md:col-span-5 text-sm text-foreground/55 line-through decoration-foreground/25",children:r.before}),n.jsx("div",{className:"md:col-span-1 hidden md:flex justify-center text-foreground/35",children:n.jsx(W,{className:"w-4 h-4"})}),n.jsx("div",{className:"md:col-span-6 text-sm md:text-base font-semibold",children:r.after})]},r.before))})]})}),n.jsx("section",{className:"ink-theme bg-background text-foreground border-b border-foreground
516/10 py-16 md:py-20 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl grid md:grid-cols-12 gap-8 items-center",children:[n.jsxs("div",{className:"md:col-span-8",children:[n.jsx("div",{className:"eyebrow mb-4",children:"Free fleet health check"}),n.jsxs("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:["Score your fleet in 3 minutes.",n.jsx("span",{className:"font-serif-italic text-foreground/70",children:" See what paperwork is costing you."})]}),n.jsx("p",{className:"mt-5 text-foreground/70 max-w-2xl leading-relaxed",children:"Ten quick questions across dispatch, compliance, maintenance, PODs and billing. You get a score out of 100, the risks sitting in your operation today, and a prioritised 90-day plan."})]}),n.jsx("div",{className:"md:col-span-4 md:text-right",children:n.jsxs(L,{to:"/fleet-assessment",className:"group inline-flex items-center gap-3 bg-foreground text-background px-7 py-4 text-sm font-semibold tracking-wide uppercase hover:bg-foreground/85 transition-colors",children:["Start the health check ",n.jsx(W,{className:"w-4 h-4 group-hover:translate-x-1 transition-transform"})]})})]})}),n.jsx("section",{className:"py-24 md:py-32 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"grid md:grid-cols-12 gap-8 mb-14",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:"Capabilities"}),n.jsx("div",{className:"hairline max-w-[3rem]"})]}),n.jsx("div",{className:"md:col-span-8",children:n.jsxs("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:["One platform. ",n.jsx("span",{className:"font-serif-italic text-foreground/70",children:"Every operational function."})]})})]}),n.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-px bg-foreground
516/15 border border-foreground/15",children:M7.map((r,i)=>n.jsxs("div",{className:"group bg-background p-8 md:p-10 hover:bg-secondary/50 transition-colors",children:[n.jsx("div",{className:"eyebrow mb-5",children:String(i+1).padStart(2,"0")}),n.jsx("h3",{className:"font-display text-xl md:text-2xl mb-3",children:r.title}),n.jsx("p",{className:"text-sm text-foreground/70 leading-relaxed",children:r.body})]},r.title))})]})}),n.jsx("section",{className:"border-t border-foreground/10 bg-secondary/40 py-24 md:py-32 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"grid md:grid-cols-12 gap-8 mb-14",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:"Transport operations"}),n.jsx("div",{className:"hairline max-w-[3rem]"})]}),n.jsxs("div",{className:"md:col-span-8",children:[n.jsxs("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:["Local and interstate work,",n.jsx("span",{className:"font-serif-italic text-foreground/70",children:" on one operating spine."})]}),n.jsx("p",{className:"mt-6 text-base text-foreground/70 max-w-3xl leading-relaxed",children:"FleetPro is transport operations software for operators running mixed local and linehaul work: job management and dispatch, AI-assisted driver allocation, live job tracking for customers, and invoicing that draws from the same records your operations team already touched."})]})]}),n.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-px bg-foreground
516/15 border border-foreground/15",children:[{t:"Local and interstate transport",b:"Metro runs, regional work and linehaul legs planned in one board, with rates and requirements held per customer and lane."},{t:"Job management and dispatch",b:"Fleet dispatch software for single and multi-stop jobs — allocate, re-sequence and re-assign without a phone tree."},{t:"AI-assisted driver allocation",b:"AI fleet management suggestions rank available drivers on location, licence class, fatigue position and job history. The allocator still decides."},{t:"Vehicles, prime movers, trailers and combinations",b:"Track rigids, prime movers, trailers and full combinations as configured assets with their own compliance and service profiles."},{t:"Driver applications",b:"Driver management software on mobile: run sheets, pre-starts, defects, photos, signatures and PODs captured on the road."},{t:"Live job tracking and customer portals",b:"Customers see live status, ETAs and delivery documentation instead of calling the office for an update."},{t:"Compliance and documentation",b:"Registers for licences, inspections, permits and chain-of-responsibility records, with audit-ready history against every job."},{t:"Maintenance and fatigue integrations",b:"Service schedules, defect workflows and fatigue rules integrated with telematics feeds so problems surface before they escalate."},{t:"Invoicing, reporting and multi-depot",b:"Job-to-invoice in one pass, operational reporting per depot or branch, and a consolidated view across multi-depot operations."}].map(r=>n.jsxs("div",{className:"bg-background p-8",children:[n.jsx("h3",{className:"font-display text-lg md:text-xl mb-3 leading-snug",children:r.t}),n.jsx("p",{className:"text-sm text-foreground/70 leading-relaxed",children:r.b})]},r.t))}
516),n.jsxs("div",{className:"mt-12 border border-foreground/20 bg-background p-8 md:p-10 flex flex-wrap items-center justify-between gap-6",children:[n.jsx("p",{className:"text-base md:text-lg text-foreground/75 max-w-2xl leading-relaxed",children:"FleetPro has its own dedicated site with deeper product detail, screens and demos."}),n.jsxs("a",{href:"https://fleetpro.10xgrowthlabs.ai/",target:"_blank",rel:"noopener",className:"group inline-flex items-center gap-3 bg-foreground text-background px-7 py-4 text-sm font-semibold tracking-wide uppercase hover:bg-foreground/85 transition-colors",children:["Explore FleetPro transport management software",n.jsx(We,{className:"w-4 h-4 group-hover:translate-x-0.5 group-hover:-translate-y-0.5 transition-transform"})]})]})]})}),n.jsx("section",{className:"border-t border-foreground/10 bg-secondary/40 py-24 md:py-32 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"grid md:grid-cols-12 gap-8 mb-14",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:"How it works"}),n.jsx("div",{className:"hairline max-w-[3rem]"})]}),n.jsx("div",{className:"md:col-span-8",children:n.jsxs("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:["One operating flow,",n.jsx("span",{className:"font-serif-italic text-foreground/70",children:" from order to invoice."})]})})]}),n.jsx("div",{className:"grid md:grid-cols-5 gap-px bg-foreground
516/15 border border-foreground/15",children:D0.map((r,i)=>n.jsxs("div",{className:"relative bg-background p-6 md:p-7",children:[n.jsxs("div",{className:"flex items-center justify-between mb-4",children:[n.jsx("span",{className:"font-display text-2xl text-foreground/30",children:String(i+1).padStart(2,"0")}),i<D0.length-1&&n.jsx(W,{className:"w-4 h-4 text-foreground/25"})]}),n.jsx("h3",{className:"font-display text-lg mb-2 leading-tight",children:r.title}),n.jsx("p",{className:"text-xs text-foreground/65 leading-relaxed",children:r.body})]},r.title))})]})}),n.jsx("section",{className:"ink-theme bg-background text-foreground border-t border-foreground/10 py-20 md:py-28 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"grid md:grid-cols-12 gap-8 md:gap-12 mb-12",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:"The story"}),n.jsx("div",{className:"hairline max-w-[3rem]"})]}),n.jsx("div",{className:"md:col-span-8",children:n.jsxs("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:["See FleetPro running —",n.jsx("span",{className:"font-serif-italic text-foreground/70",children:" and why we built it."})]})})]}),n.jsxs("div",{className:"grid md:grid-cols-2 gap-6 md:gap-8",children:[n.jsx(sd,{eyebrow:"Product demo",title:"FleetPro product demo",body:"A walk through the live platform — dispatch, tracking, jobs and compliance in one place.",url:ES.url,poster:PS}),n.jsx(sd,{eyebrow:"Platform walkthrough",title:"Inside the FleetPro workspace",body:"Day-to-day operations as your team sees them: allocate work, track vehicles, close the loop on paperwork.",url:TS.url,poster:IS}),n.jsx(sd,{eyebrow:"Transport playbook",title:"The transport operator's playbook",body:"Dispatch, drivers, compliance and finance — connected. The exact story we walk through with fleet operators.",url:NS.url,poster:AS,portrait:!0}),n.jsx(sd,{eyebrow:"Behind the product",title:"FleetPro — our own SaaS in production",body:"We didn't consult on FleetPro, we built it. It ships live to real fleets.",url:SS.url,poster:_S,portrait:!0})]})]})}
516),n.jsx("section",{className:"border-t border-foreground/10 py-24 md:py-32 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"grid md:grid-cols-12 gap-8 mb-14",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:"AI-native"}),n.jsx("div",{className:"hairline max-w-[3rem]"})]}),n.jsx("div",{className:"md:col-span-8",children:n.jsxs("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:["Copilots built into",n.jsx("span",{className:"font-serif-italic text-foreground/70",children:" every operational surface."})]})})]}),n.jsx("div",{className:"grid md:grid-cols-2 gap-px bg-foreground/15 border border-foreground/15",children:$7.map(r=>n.jsxs("div",{className:"bg-background p-8 md:p-10",children:[n.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[n.jsx(ki,{className:"w-4 h-4 text-foreground/50"}),n.jsx("span",{className:"eyebrow",children:"AI"})]}),n.jsx("h3",{className:"font-display text-xl md:text-2xl mb-3",children:r.title}),n.jsx("p",{className:"text-sm text-foreground/70 leading-relaxed",children:r.body})]},r.title))})]})}
516),n.jsx("section",{className:"border-t border-foreground/10 bg-secondary/40 py-20 md:py-24 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsx("div",{className:"eyebrow mb-8",children:"Integrations"}),n.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-6 gap-px bg-foreground/15 border border-foreground/15",children:F7.map(r=>n.jsx("div",{className:"bg-background px-4 py-6 text-center",children:n.jsx("div",{className:"text-xs md:text-sm font-semibold tracking-wide text-foreground/75",children:r})},r))}),n.jsx("div",{className:"eyebrow mt-16 mb-6",children:"Purpose-built for"}),n.jsx("div",{className:"flex flex-wrap gap-3",children:M0.map(r=>n.jsx("span",{className:"inline-flex items-center border border-foreground/25 px-4 py-2 text-xs uppercase tracking-wide text-foreground/80 bg-background",children:r},r))})]})}),n.jsx("section",{className:"ink-theme bg-background text-foreground py-28 md:py-36 px-6 border-t border-foreground/10",children:n.jsxs("div",{className:"container mx-auto max-w-5xl text-center",children:[n.jsx("div",{className:"eyebrow mb-10",children:"Let's talk"}),n.jsxs("h2",{className:"font-display text-4xl md:text-6xl leading-[1.02] tracking-tight",children:["Ready to run your fleet ",n.jsx("span",{className:"font-serif-italic",children:"as one system?"})]}),n.jsxs("div",{className:"mt-12 flex flex-wrap justify-center gap-4",children:[n.jsxs(L,{to:"/contact",className:"inline-flex items-center gap-3 bg-foreground text-background px-8 py-4 text-sm font-semibold tracking-wide uppercase hover:bg-foreground
516/85 transition-colors",children:["Book Discovery Session ",n.jsx(W,{className:"w-4 h-4"})]}),n.jsx(L,{to:"/fleet-assessment",className:"inline-flex items-center gap-2 border border-foreground/25 px-8 py-4 text-sm font-semibold tracking-wide uppercase hover:border-foreground/60 transition-colors",children:"Free fleet health check"})]})]})})]})},sd=({eyebrow:e,title:t,body:s,url:r,poster:i,portrait:a=!1})=>n.jsxs("div",{className:"bg-background text-foreground p-6 md:p-8 border border-foreground/15",children:[n.jsx("div",{className:"eyebrow mb-4",children:e}),n.jsx("div",{className:"border border-foreground/15 overflow-hidden mb-6 bg-black",children:n.jsx(Si,{src:r,poster:i,title:t,className:a?"block w-full mx-auto max-w-[300px]":"block w-full",mediaClassName:a?"w-full aspect-[9/16] object-cover":"w-full h-auto"})}),n.jsx("h3",{className:"font-display text-xl md:text-2xl mb-3",children:t}),n.jsx("p",{className:"text-sm text-foreground/70 leading-relaxed",children:s})]}),L0="/assets/fleetpro-ai-qzzn3e6w.jpg",$0="/assets/fleetpro-dispatch-DxFQchzS.jpg",U7="/assets/fleetpro-ai-agent-BQMedXtV.jpg",W7="/assets/fleetpro-dashboard-IpF7wTa8.jpg",V7="/assets/fleetpro-maint-q8qTHabN.jpg",z7="/assets/fleetpro-roster-DUXJXezT.jpg",H7="/assets/fleetpro-depots-BxU15eXX.jpg",q7="/assets/megatrans-hero-BgQuO9Rq.webp",G7="/assets/megatrans-036-ACiQIp4o.jpg",K7="/assets/megatrans-062-AtzQO0v1.jpg",Y7="/assets/megatrans-043-BJAsXiIX.jpg",P={bg:"#0A1420",bgAlt:"#0D1A2A",card:"#10202F",border:"rgba(255,255,255,0.09)",text:"#EAF2F8",muted:"rgba(234,242,248,0.62)",teal:"#19C2B8",tealDim:"rgba(25,194,184,0.12)"},F0=[{label:"Product tour",href:"#product-tour"},{label:"Platform",href:"#platform"},{label:"Transport features",href:"#transport"},{label:"Industries",href:"#industries"},{label:"Calculator",href:"#calculator"},{label:"FAQ",href:"#faq"},{label:"MEGATRANS",href:"#megatrans-event"}],xt=({children:e})=>n.jsx("p",{className:"text-xs font-bold tracking-[0.25em] uppercase mb-4",style:{color:P.teal},children:e}),yt=({children:e})=>n.jsx("h2",{className:"text-3xl md:text-5xl font-bold leading-[1.08] tracking-tight",style:{color:P.text},children:e}),vt=({id:e,children:t,alt:s=!1})=>n.jsx("section",{id:e,className:"py-20 md:py-28 px-6",style:{background:s?P.bgAlt:P.bg},children:n.jsx("div",{className:"container mx-auto max-w-6xl",children:t})}),es=({children:e,className:t=""})=>n.jsx("div",{className:`rounded-2xl p-6 ${t}`,style:{background:P.card,border:`1px solid ${P.border}`},children:e}),J7=()=>{const e=Ti(),[t,s]=w.useState(!1),[r,i]=w.useState(!1),[a,o]=w.useState(null),[l,c]=w.useState(10),[d,u]=w.useState(40),[h,m]=w.useState(20),[p,x]=w.useState(45),y=w.useMemo(()=>{const f=h*4.33*p*.55,g=d*21.7*.02*120,v=l*594,j=f+g+v;return{adminMonthly:Math.round(f),revenueMonthly:Math.round(g),utilMonthly:Math.round(v),monthly:Math.round(j),annual:Math.round(j*12),hours:Math.round(h*4.33*12*.6)}},[l,d,h,p]),b=()=>{i(!0),s(!1)};return n.jsxs("main",{className:"min-h-screen w-full font-sans antialiased",style:{background:P.bg,color:P.text},children:[n.jsx(fe,{title:"AI-Powered Transport and Fleet Management Software | FleetPro",description:"FleetPro connects dispatch, drivers, vehicles, compliance, customer tracking and invoicing in one configurable transport operations platform.",path:"/platform-suite/fleetpro-transport-system"}),n.jsxs("header",{className:"sticky top-0 z-50 px-4 sm:px-8 py-3",style:{background:"rgba(10,20,32,0.92)",backdropFilter:"blur(12px)",borderBottom:`1px solid ${P.border}`},children:[n.jsxs("div",{className:"container mx-auto max-w-7xl flex items-center justify-between gap-4",children:[n.jsxs("a",{href:"#top",className:"flex items-center gap-2.5 shrink-0",children:[n.jsx("span",{className:"w-9 h-9 rounded-xl flex items-center justify-center",style:{background:P.teal},children:n.jsx(Sa,{className:"w-5 h-5",style:{color:"#06231F"}})}),n.jsxs("span",{className:"leading-tight",children:[n.jsx("span",{className:"block font-bold text-[17px]",style:{color:P.text},children:"FleetPro"}),n.jsx("span",{className:"block text-[11px]",style:{color:P.muted},children:"by 10x Growth Labs"})]})]}),n.jsx("nav",{className:"hidden lg:flex items-center gap-6 text-[13.5px] font-medium","aria-label":"Primary",children:F0.map(f=>n.jsx("a",{href:f.href,className:"transition-colors hover:opacity-100",style:{color:P.muted},onMouseEnter:g=>g.currentTarget.style.color=P.text,onMouseLeave:g=>g.currentTarget.style.color=P.muted,children:f.label},f.href))}),n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("a",{href:"tel:+61433975469",className:"md:hidden inline-flex items-center justify-center w-10 h-10 rounded-full",style:{border:`1px solid ${P.teal}`},"aria-label":"Call 0433 975 469",children:n.jsx(Ut,{className:"w-[18px] h-[18px]",style:{color:P.teal}})}),n.jsxs("a",{href:"tel:+61433975469",className:"hidden md:inline-flex items-center gap-2 px-4 py-2.5 rounded-full text-sm font-semibold transition-opacity hover:opacity-85",style:{border:`1px solid ${P.border}`,color:P.text},"aria-label":"Call 0433 975 469",children:[n.jsx(Ut,{className:"w-4 h-4",style:{color:P.teal}}),"0433 975 469"]}),n.jsxs("button",{onClick:b,className:"hidden sm:inline-flex items-center gap-2 px-5 py-2.5 rounded-full text-sm font-bold transition-transform hover:scale-[1.03]",style:{background:P.teal,color:"#06231F"},children:["Book Your Demo ",n.jsx(W,{className:"w-4 h-4"})]}),n.jsx("button",{onClick:()=>s(f=>!f),className:"lg:hidden inline-flex items-center justify-center w-10 h-10 rounded-lg",style:{border:`1px solid ${P.border}`,color:P.text},"aria-label":"Toggle menu",children:t?n.jsx(ar,{className:"w-5 h-5"}):n.jsx(vx,{className:"w-5 h-5"})})]})]}),t&&n.jsxs("div",{className:"lg:hidden mt-3 pt-2",style:{borderTop:`1px solid ${P.border}`},children:[F0.map(f=>n.jsx("a",{href:f.href,onClick:()=>s(!1),className:"block px-2 py-3 text-sm font-medium",style:{color:P.muted,borderBottom:`1px solid ${P.border}`},children:f.label},f.href)),n.jsxs("a",{href:"tel:+61433975469",className:"flex items-center gap-2 px-2 py-3 text-sm font-semibold",style:{color:P.teal},children:[n.jsx(Ut,{className:"w-4 h-4"})," Call 0433 975 469"]}),n.jsx("button",{onClick:b,className:"w-full mt-3 mb-2 py-3.5 rounded-full text-sm font-bold",style:{background:P.teal,color:"#06231F"},children:"Book Your Demo"})]})]}),n.jsxs("section",{id:"top",className:"relative px-6 pt-16 pb-20 md:pt-24 md:pb-28 overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 pointer-events-none",style:{background:`radial-gradient(ellipse 70% 50% at 50% 0%, ${P.tealDim}, transparent 70%)`}}),n.jsxs("div",{className:"relative container mx-auto max-w-6xl text-center",children:[n.jsxs("div",{className:"inline-flex flex-wrap items-center justify-center gap-2 mb-8",children:[n.jsx("span",{className:"text-xs font-semibold px-3 py-1.5 rounded-full",style:{background:P.tealDim,color:P.teal},children:"AI-powered dispatch & operations"}),n.jsx("span",{className:"text-xs font-semibold px-3 py-1.5 rounded-full",style:{background:P.card,border:`1px solid ${P.border}`,color:P.muted},children:"Exhibiting at MEGATRANS Melbourne"})]}),n.jsx("h1",{className:"text-4xl sm:text-5xl md:text-6xl lg:text-7xl font-bold leading-[1.04] tracking-tight max-w-5xl mx-auto",children:"AI-Powered Transport and Fleet Management Software"}),n.jsx("p",{className:"mt-7 text-lg md:text-xl max-w-3xl mx-auto leading-relaxed",style:{color:P.muted},children:"FleetPro connects dispatch, drivers, vehicles, compliance, customer tracking and invoicing in one configurable transport operations platform. Built for Australian transport, logistics and fleet businesses."}),n.jsxs("div",{className:"mt-10 flex flex-col sm:flex-row items-center justify-center gap-4",children:[n.jsxs("button",{onClick:b,className:"inline-flex items-center gap-2 px-8 py-4 rounded-full text-base font-bold transition-transform hover:scale-[1.03]",style:{background:P.teal,color:"#06231F"},children:["Book Your Demo ",n.jsx(W,{className:"w-5 h-5"})]}),n.jsxs("a",{href:"#product-tour",className:"inline-flex items-center gap-2 px-8 py-4 rounded-full text-base font-semibold",style:{border:`1px solid ${P.border}`,color:P.text},children:[n.jsx(bx,{className:"w-4 h-4",style:{color:P.teal}})," Watch the platform walkthrough"]})]}),n.jsxs("div",{className:"mt-8 flex flex-wrap items-center justify-center gap-x-6 gap-y-2 text-sm",style:{color:P.muted},children:[n.jsxs("span",{className:"flex items-center gap-1.5",children:[n.jsx(Ye,{className:"w-4 h-4",style:{color:P.teal}})," No long-term contracts"]}),n.jsxs("span",{className:"flex items-center gap-1.5",children:[n.jsx(Ye,{className:"w-4 h-4",style:{color:P.teal}})," AI keeps humans in control"]}),n.jsxs("span",{className:"flex items-center gap-1.5",children:[n.jsx(Ye,{className:"w-4 h-4",style:{color:P.teal}})," Configured around your operation"]})]}),n.jsxs("div",{className:"mt-14 relative max-w-5xl mx-auto",children:[n.jsx("img",{src:L0,alt:"Live FleetPro dispatch screen — AI combination builder",className:"w-full rounded-2xl",style:{border:`1px solid ${P.border}`},loading:"eager"}),n.jsx("p",{className:"mt-4 text-sm",style:{color:P.muted},children:"Live FleetPro dispatch screen — AI combination builder"})]}),n.jsx("div",{className:"mt-10 flex flex-wrap justify-center gap-x-8 gap-y-3 text-sm font-medium",style:{color:P.muted},children:["Interstate & local job management","AI-assisted driver, vehicle & trailer matching","Live tracking for your team and your customers","POD, compliance & document registers","Job-to-invoice without re-keying"].map(f=>n.jsxs("span",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"w-1.5 h-1.5 rounded-full",style:{background:P.teal}}),f]},f))})]})]}),n.jsxs(vt,{id:"product-tour",alt:!0,children:[n.jsx(xt,{children:"See the real product"}),n.jsx(yt,{children:"Transport Dispatch Software Built for Real Operations"}),n.jsx("p",{className:"mt-5 text-lg max-w-3xl",style:{color:P.muted},children:"Not a concept. These are recordings and screens from the live system — dispatch, AI assignment, tracking, maintenance and rostering."}),n.jsx("div",{className:"mt-12 grid grid-cols-1 md:grid-cols-2 gap-6",children:[{src:TS.url,poster:IS,title:"Full platform walkthrough",len:"2 min 30 sec"},{src:ES.url,poster:PS,title:"AI dispatch in action",len:"46 sec"}].map(f=>n.jsxs("div",{className:"rounded-2xl overflow-hidden",style:{background:P.card,border:`1px solid ${P.border}`},children:[n.jsx(Si,{src:f.src,poster:f.poster,title:f.title,accent:P.teal,className:"block w-full",mediaClassName:"w-full h-auto"}),n.jsxs("div",{className:"p-5 flex items-center justify-between",children:[n.jsx("p",{className:"font-semibold",children:f.title}),n.jsx("span",{className:"text-xs px-2.5 py-1 rounded-full",style:{background:P.tealDim,color:P.teal},children:f.len})]})]},f.title))}),n.jsx("div",{className:"mt-6 grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6",children:[{img:$0,t:"Dispatch board",d:"Job queue, statuses and driver panel in one screen."},{img:L0,t:"AI combination builder",d:"Vehicle, trailer, licence, mass and fatigue checked before assignment."},{img:U7,t:"Ask FleetPro — AI agent",d:"Ask about any trailer, job or driver in plain English — answers in seconds."},{img:W7,t:"Live fleet map & AI insights",d:"Driver locations, peak hours and risk alerts."},{img:V7,t:"Maintenance & compliance",d:"Inspections, services, tickets and compliance registers."},{img:z7,t:"Roster, timesheets & payroll",d:"Driver availability across day, night, split and standby shifts."}
516,{img:H7,t:"Depots & multi-branch",d:"Run multiple depots and warehouses from one account."}].map(f=>n.jsxs("div",{className:"rounded-2xl overflow-hidden",style:{background:P.card,border:`1px solid ${P.border}`},children:[n.jsx("img",{src:f.img,alt:f.t,className:"w-full aspect-[2/1] object-cover",loading:"lazy"}),n.jsxs("div",{className:"p-5",children:[n.jsx("p",{className:"font-semibold mb-1.5",children:f.t}),n.jsx("p",{className:"text-sm",style:{color:P.muted},children:f.d})]})]},f.t))})]}),n.jsxs(vt,{id:"megatrans-event",children:[n.jsx(xt,{children:"MEGATRANS Melbourne"}),n.jsx(yt,{children:"FleetPro at Australia's Transport Industry Event"}),n.jsx("p",{className:"mt-5 text-lg max-w-3xl",style:{color:P.muted},children:"We met transport and logistics operators at MEGATRANS Melbourne to demonstrate FleetPro in action and hear how teams are managing dispatch, drivers, vehicles, compliance and customer communication today."}),n.jsxs("div",{className:"mt-10",children:[n.jsx("img",{src:q7,alt:"FleetPro by 10x Growth Labs team at MEGATRANS Melbourne",className:"w-full rounded-2xl",style:{border:`1px solid ${P.border}`},loading:"lazy"}),n.jsx("p",{className:"mt-3 text-sm",style:{color:P.muted},children:"FleetPro by 10x Growth Labs"})]}),n.jsx("div",{className:"mt-6 grid grid-cols-1 sm:grid-cols-3 gap-6",children:[{img:G7,c:"FleetPro brochures at the stand"},{img:Y7,c:"Conversations with Australian operators"},{img:K7,c:"Platform demonstrations at the stand"}].map(f=>n.jsxs("figure",{children:[n.jsx("img",{src:f.img,alt:f.c,className:"w-full aspect-[5/4] object-cover rounded-2xl",style:{border:`1px solid ${P.border}`},loading:"lazy"}),n.jsx("figcaption",{className:"mt-3 text-sm",style:{color:P.muted},children:f.c})]},f.c))}),n.jsxs("button",{onClick:b,className:"mt-10 inline-flex items-center gap-2 px-8 py-4 rounded-full text-base font-bold transition-transform hover:scale-[1.03]",style:{background:P.teal,color:"#06231F"},children:["Book Your Demo ",n.jsx(W,{className:"w-5 h-5"})]})]}),n.jsxs(vt,{id:"problems",alt:!0,children:[n.jsx(xt,{children:"The problem"}),n.jsx(yt,{children:"Still Running Your Fleet Through Calls, Spreadsheets & WhatsApp?"}),n.jsx("p",{className:"mt-5 text-lg max-w-3xl",style:{color:P.muted},children:"If any of these sound familiar, your operation has outgrown its current tools."}),n.jsx("div",{className:"mt-12 grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-
5165",children:[["Missed job updates","Critical updates buried in WhatsApp threads and SMS chains."],["Manual driver allocation","Dispatchers guessing who's free, where, and with what vehicle."],["Dispatch confusion","Two drivers sent to one job. Another sits idle. It happens weekly."],["Delayed invoicing","Jobs sit uninvoiced for days while cashflow slowly bleeds out."],["No live visibility","You can't manage what you can't see in real time."],["Customers constantly chasing","Where's my driver? What's the ETA? Office phones ring all day."],["Admin time wasted daily","Hours lost re-entering jobs, copying notes, chasing paper sheets."],["Hard to scale operations","Every new vehicle adds more chaos instead of more revenue."]].map(([f,g])=>n.jsxs(es,{children:[n.jsx("p",{className:"font-semibold mb-2",children:f}),n.jsx("p",{className:"text-sm",style:{color:P.muted},children:g})]},f))})]}),n.jsxs(vt,{id:"solution",children:[n.jsx(xt,{children:"The solution"}),n.jsx(yt,{children:"From Job Intake to Invoice in One Transport System"}),n.jsx("p",{className:"mt-5 text-lg max-w-3xl",style:{color:P.muted},children:"From the moment a job comes in to the moment it is assigned, tracked, completed, invoiced, and reported — FleetPro keeps your team, drivers, customers, and admin connected."}),n.jsx("div",{className:"mt-12 flex flex-wrap gap-3",children:["Job Received","AI Triage","Dispatcher Assigns","Driver Updates","Customer Notified","Invoice Created","Reports Updated"].map((f,g)=>n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsxs("span",{className:"px-4 py-2.5 rounded-full text-sm font-semibold",style:{background:P.card,border:`1px solid ${P.border}`},children:[n.jsx("span",{style:{color:P.teal},className:"mr-2",children:g+1}),f]}),g<6&&n.jsx(W,{className:"w-4 h-4 hidden sm:block",style:{color:P.teal}})]},f))})]}),n.jsxs(vt,{id:"platform",alt:!0,children:[n.jsx(xt,{children:"What FleetPro does"}),n.jsx(yt,{children:"One Fleet Management Platform for Your Entire Operation"}),n.jsx("p",{className:"mt-5 text-lg max-w-3xl",style:{color:P.muted},children:"FleetPro is transport operations software that covers the full job lifecycle — from the phone call that creates the work to the invoice that closes it."}),n.jsx("p",{className:"mt-4 max-w-3xl leading-relaxed",style:{color:P.muted},children:"Most transport and fleet businesses do not fail because their people are slow. They lose time because job information is scattered across spreadsheets, whiteboards, messaging apps and a separate accounting system. FleetPro replaces that patchwork with a single transport management platform for Australian operators, where jobs, drivers, vehicles, trailers, compliance records, customer communication and invoicing all reference the same data."}),n.jsx("div",{className:"mt-12 grid grid-cols-1 md:grid-cols-2 gap-x-10 gap-y-8",children:[["Local and interstate transport operations","Metro distribution work and long-haul interstate movements run in the same transport management software, each with their own legs, rates, stop sequences and documentation. Dispatchers see the full day across both, so a short local run is never lost behind a linehaul job."],["Job creation, scheduling and dispatch","Jobs are created from customer requests, recurring runs or standing contracts, scheduled against the day's capacity, and dispatched from one board. Every status change — allocated, on the way, on site, completed — is recorded against the job rather than living in a phone call."],["AI-assisted vehicle and driver recommendations","FleetPro's AI dispatch software evaluates available drivers and equipment against the requirements of each job and recommends workable combinations. Your dispatcher stays in control and confirms or overrides every allocation."],["Prime mover, trailer and combination management","Prime movers, rigids, trailers and combinations are managed as assets with their own body type, class, mass suitability and service status, so allocation reflects what the equipment can legally and practically do."],["Driver mobile applications","Drivers work from a mobile app: allocated jobs, stop details, progress updates and document capture, all from the cab. Driver management software and dispatch stay in sync without radio traffic or paper run sheets."],["Live job and vehicle visibility","The office sees where each job and vehicle stands in real time. Delays surface on the board rather than arriving as a customer complaint."],["Multi-stop deliveries and route planning","Jobs can carry multiple pickups and drops with a sequenced stop list, supporting last-mile and distribution work where a single run touches many sites."],["Customer notifications and tracking portals","Automated email and SMS updates keep customers informed, and a customer portal gives them their own view of job status and history — which takes the 'where is my delivery?' calls off your dispatch team."],["Proof of delivery and document capture","Photos, signatures, notes and delivery dockets are captured on the driver app and attached to the job, so the evidence is on file before the invoice is raised."],["Fatigue, compliance and maintenance integrations","Licences, accreditations, inspections and expiry dates sit in registers rather than a filing cabinet, and fatigue and service status can be factored 
516into allocation and flagged before a vehicle goes out."],["Rules-based invoicing and Xero integration","Completed jobs convert into invoices using your rate rules, with accounting integrations such as Xero, so billing does not depend on someone re-keying yesterday's run sheets."],["Multi-depot operations and management reporting","Operators running several depots or branches manage them from one account, with reporting on completed jobs, utilisation, delays and bottlenecks per depot or across the whole fleet."]].map(([f,g])=>n.jsxs("div",{children:[n.jsxs("p",{className:"font-semibold text-lg mb-2 flex items-start gap-2.5",children:[n.jsx(Ye,{className:"w-5 h-5 mt-0.5 shrink-0",style:{color:P.teal}}),f]}),n.jsx("p",{className:"text-[15px] leading-relaxed pl-7",style:{color:P.muted},children:g})]},f))})]}),n.jsxs(vt,{id:"features",children:[n.jsx(xt,{children:"Core features"}),n.jsx(yt,{children:"Everything Your Fleet Needs To Run Like Clockwork"}),n.jsx("p",{className:"mt-5 text-lg max-w-3xl",style:{color:P.muted},children:"A complete operating system for dispatch-heavy businesses — no more bolted-together tools."}),n.jsx("div",{className:"mt-12 grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-
5165",children:[[cP,"Smart Dispatch Board","View, assign, drag, drop, and manage jobs across your team in real time."],[fi,"Driver App","Drivers receive jobs, update statuses, upload proof, and complete tasks from their phone."],[nc,"Live Job Tracking","Know where every job, vehicle, and driver stands without chasing updates."],[ki,"AI Job Assignment","AI-assisted suggestions to match the right driver, vehicle, location, and availability."],[X4,"Customer Notifications","Automated SMS/email updates when jobs are confirmed, on the way, completed, or delayed."],[ph,"Invoicing & Xero Integration","Turn completed jobs into invoices faster with rules-based invoicing and accounting integrations."],[Sa,"Fleet & Vehicle Management","Track vehicle details, availability, maintenance notes, and operational status."],[mh,"Reporting Dashboard","Monitor completed jobs, revenue, delays, driver performance, utilisation, and bottlenecks."]].map(([f,g,v])=>{const j=f;return n.jsxs(es,{children:[n.jsx("div",{className:"w-11 h-11 rounded-xl flex items-center justify-center mb-4",style:{background:P.tealDim},children:n.jsx(j,{className:"w-5 h-5",style:{color:P.teal}})}),n.jsx("p",{className:"font-semibold mb-2",children:g}),n.jsx("p",{className:"text-sm",style:{color:P.muted},children:v})]},g)})})]}),n.jsxs(vt,{id:"transport",alt:!0,children:[n.jsx(xt,{children:"Built for transport"}),n.jsx(yt,{children:"The Capabilities Transport Operators Actually Ask For"}),n.jsx("p",{className:"mt-5 text-lg max-w-3xl",style:{color:P.muted},children:"Beyond generic job software — FleetPro handles the details of Australian transport and logistics work."}),n.jsx("div",{className:"mt-12 grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-5",children:[["Interstate & local job management","Run metro runs and long-haul interstate movements side by side, with the right rates, legs and paperwork on each."],["Multi-stop deliveries","Build jobs with multiple pickups and drops, sequence the stops, and track completion at every point."],["Prime mover, trailer & combo management","Manage prime movers, trailers and combinations — including body type, class and mass suitability for each load."],["Driver availability & rostering","Day, night, split and standby shifts, leave and hours visibility, so dispatch only assigns available drivers."],["Fatigue & maintenance integrations","Fatigue and service status factored into assignment, with reminders, inspections and out-of-service flags."],["Compliance & document registers","Licences, accreditations, inspections and expiry dates kept in one register instead of a filing cabinet."],["Customer portal","Give customers their own view of job status and history, so your team stops answering 'where is it?' calls."],["POD & delivery documentation","Photos, signatures and delivery notes captured on the driver app and attached to the job and invoice."],["Depot & multi-branch operations","Run multiple depots, warehouses and branches from one system with visibility across all of them."]].map(([f,g])=>n.jsxs(es,{children:[n.jsx("p",{className:"font-semibold mb-2",children:f}),n.jsx("p",{className:"text-sm",style:{color:P.muted},children:g})]},f))})]}),n.jsxs(vt,{id:"credibility",children:[n.jsx(xt,{children:"Credibility"}),n.jsx(yt,{children:"Built With Australian Transport Operators"}),n.jsx("p",{className:"mt-5 text-lg max-w-3xl",style:{color:P.muted},children:"FleetPro is developed alongside working Australian fleets — the workflows come from real dispatch offices, not a whiteboard."}),n.jsx("div",{className:"mt-12 grid grid-cols-1 md:grid-cols-3 gap-5",children:[["Bulk liquid transport","Designed around a bulk-liquid transport operation managing local and interstate movements, with combination suitability and mass limits checked before a job is assigned."],["Heavy haulage & crane truck","Built to handle heavy vehicle classes, trailer combinations and access constraints that general job-management software doesn't account for."],["Multi-depot operators","Structured for operators running more than one depot, with drivers, assets and jobs visible across branches in a single system."]].map(([f,g])=>n.jsxs(es,{children:[n.jsx("p",{className:"text-xs font-bold tracking-[0.2em] uppercase mb-3",style:{color:P.teal},children:f}),n.jsx("p",{className:"text-sm leading-relaxed",style:{color:P.muted},children:g})]},f))}),n.jsx("p",{className:"mt-10 max-w-3xl leading-relaxed",style:{color:P.muted},children:"FleetPro is configured around your operation — your job types, your assets, your compliance requirements — rather than asking your team to change how they work to 
516suit the software."}),n.jsx("p",{className:"mt-4 text-sm",style:{color:P.muted},children:"FleetPro — a product by 10x Growth Labs, Adelaide. Client names and implementation details are shared on request, subject to approval from the operators involved."})]}),n.jsxs(vt,{id:"industries",alt:!0,children:[n.jsx(xt,{children:"Who it's for"}),n.jsx(yt,{children:"Fleet Software for Transport and Logistics Businesses"}),n.jsx("p",{className:"mt-5 text-lg max-w-3xl",style:{color:P.muted},children:"From single-depot operators to multi-branch fleets, FleetPro is configured around the way each type of operation actually runs."}),n.jsx("div",{className:"mt-12 grid grid-cols-1 md:grid-cols-2 gap-5",children:[["General freight and trucking","Trucking management software for operators moving general freight locally and interstate — linehaul legs, subcontractor work, consignment paperwork and rate rules held against each job, with utilisation reporting across the fleet."],["Bulk liquids and fuel transport","Combination suitability, mass limits, product compatibility and compliance documentation are checked before allocation, so a tanker job is never assigned to unsuitable equipment or an unlicensed driver."],["Local distribution and last-mile delivery","High-volume distribution runs with multiple pickups and drops, sequenced stops, live progress from the driver app, customer notifications and proof of delivery captured at every address."],["Crane truck operations","Crane truck and heavy vehicle work with access constraints, lift requirements, site details and operator tickets recorded against the job, plus scheduling that reflects how long each site realistically takes."],["Courier and delivery fleets","Fast-moving courier dispatch with AI-assisted allocation, live job visibility, customer tracking and same-day invoicing — built for teams handling many small jobs across a metro area."],["Waste and skip-bin fleets","Bin placements, exchanges and collections managed as recurring and ad-hoc jobs, with asset tracking, site photos and weighbridge or disposal documentation attached to each movement."],["Field service vehicle fleets","Service fleets managing scheduled and reactive jobs, technician availability, vehicle and equipment allocation, on-site documentation, and job-to-invoice without paperwork returning to the office."]].map(([f,g])=>n.jsxs(es,{children:[n.jsx("p",{className:"font-semibold mb-2",children:f}),n.jsx("p",{className:"text-sm leading-relaxed",style:{color:P.muted},children:g})]},f))})]}),n.jsxs(vt,{id:"integrations",children:[n.jsx(xt,{children:"Integrations"}),n.jsx(yt,{children:"Integrate FleetPro With Your Existing Business Systems"}),n.jsx("p",{className:"mt-5 text-lg max-w-3xl",style:{color:P.muted},children:"FleetPro is designed to sit at the centre of your transport operation and connect to the accounting, telematics, compliance and maintenance systems you already rely on. Available integrations are confirmed during discovery."}),n.jsx("div",{className:"mt-12 grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-5",children:[["Accounting and invoicing","Rules-based invoicing with accounting integrations such as Xero, so completed transport jobs become invoices without re-keying."],["Telematics and GPS","Vehicle location and movement data can be brought alongside job data for live visibility across the fleet."],["Fatigue and compliance systems","Fatigue status, licences, accreditations and inspection records can be factored into allocation and reporting."],["Maintenance and workshop","Service schedules, defects and out-of-service flags keep unavailable vehicles off the dispatch board."],["Customer notifications","Email and SMS updates triggered by job milestones, plus a customer tracking portal."],["Customer and ERP systems","Job intake and data exchange with the business systems your customers and back office already use."]].map(([f,g])=>n.jsxs(es,{children:[n.jsx("p",{className:"font-semibold mb-2",children:f}),n.jsx("p",{className:"text-sm",style:{color:P.muted},children:g})]},f))})]}),n.jsxs(vt,{alt:!0,children:[n.jsx(xt,{children:"Before vs after"}),n.jsx(yt,{children:"The Difference Is Operational, Not Cosmetic"}),n.jsx("p",{className:"mt-5 text-lg max-w-3xl",style:{color:P.muted},children:"Same drivers. Same vehicles. Same customers. A completely different way of running the business."}),n.jsxs("div",{className:"mt-12 grid grid-cols-1 md:grid-cols-2 gap-6",children:[n.jsxs(es,{children:[n.jsx("p",{className:"font-bold text-lg mb-5",style:{color:P.muted},children:"Before FleetPro"}),n.jsx("ul",{className:"space-y-3 text-[15px]",style:{color:P.muted},children:["Jobs managed manually","Dispatch depends on phone calls","Drivers send updates by text","Customers chase admin","Invoices delayed","No clear reporting","Growth creates more chaos"].map(f=>n.jsxs("li",{className:"flex items-center gap-3",children:[n.jsx(ar,{className:"w-4 h-4 shrink-0 text-red-400"}),f]},f))})]}),n.jsxs(es,{className:"ring-1",children:[n.jsx("p",{className:"font-bold text-lg mb-5",style:{color:P.teal},children:"After FleetPro"}),n.jsx("ul",{className:"space-y-3 text-[15px]",children:["Jobs managed in one dashboard","Dispatch team has live visibility","Drivers update from mobile app","Customers receive automated updates","Invoices generated faster","Management sees live reporting","Business scales with systems"].map(f=>n.jsxs("li",{className:"flex items-center gap-3",children:[n.jsx(Ye,{className:"w-4 h-4 shrink-0",style:{color:P.teal}}),f]},f))})]})]})]}),n.jsxs(vt,{id:"calculator",children:[n.jsx(xt,{children:"Savings calculator"}),n.jsx(yt,{children:"See What FleetPro Could Save Your Operation"}),n.jsx("p",{className:"mt-5 text-lg max-w-3xl",style:{color:P.muted},children:"Indicative potential based on the operational information you enter — admin time recovered, revenue you stop losing, and vehicle utilisation you unlock. Actual outcomes vary."}),n.jsxs("div",{className:"mt-12 grid grid-cols-1 lg:grid-cols-2 gap-8",children:[n.jsx(es,{children:[["Number of vehicles / drivers",l,c,1,100,""],["Jobs completed per day",d,u,1,200,""],["Weekly admin / dispatch hours",h,m,1,80," hrs"],["Average hourly cost of admin",p,x,20,120,"/hr","$"]].map(f=>{const[g,v,j,k,N,A,E]=f;return n.jsxs("div",{className:"mb-7 last:mb-0",children:[n.jsxs("div",{className:"flex items-center justify-between mb-2.5",children:[n.jsx("label",{className:"text-sm font-medium",children:g}),n.jsxs("span",{className:"text-sm font-bold",style:{color:P.teal},children:[E??"",v,A]})]}
516),n.jsx("input",{type:"range",min:k,max:N,value:v,onChange:R=>j(Number(R.target.value)),className:"w-full accent-[#19C2B8]","aria-label":g})]},g)})}),n.jsxs(es,{children:[n.jsx("p",{className:"text-xs font-bold tracking-[0.2em] uppercase mb-4",style:{color:P.muted},children:"Indicative potential"}),n.jsxs("p",{className:"text-5xl font-bold",style:{color:P.teal},children:["$",y.annual.toLocaleString()]}),n.jsxs("p",{className:"mt-1.5 text-sm",style:{color:P.muted},children:["Indicative annual potential ≈ $",y.monthly.toLocaleString()," / month"]}),n.jsx("div",{className:"mt-7 space-y-3 text-sm",children:[["Admin time recovered",`$${y.adminMonthly.toLocaleString()} /mo`],["Revenue stopped from leaking",`$${y.revenueMonthly.toLocaleString()} /mo`],["Vehicle utilisation gained",`$${y.utilMonthly.toLocaleString()} /mo`],["Hours back per year",`${y.hours.toLocaleString()} hrs`]].map(([f,g])=>n.jsxs("div",{className:"flex items-center justify-between py-2.5",style:{borderBottom:`1px solid ${P.border}`},children:[n.jsx("span",{style:{color:P.muted},children:f}),n.jsx("span",{className:"font-semibold",children:g})]},f))}),n.jsxs("button",{onClick:b,className:"mt-7 w-full inline-flex items-center justify-center gap-2 px-8 py-4 rounded-full text-base font-bold transition-transform hover:scale-[1.02]",style:{background:P.teal,color:"#06231F"},children:["Book Your Demo ",n.jsx(W,{className:"w-5 h-5"})]}),n.jsx("p",{className:"mt-4 text-xs",style:{color:P.muted},children:"Indicative potential based on the operational information entered. Actual outcomes vary."})]})]})]}),n.jsxs(vt,{alt:!0,children:[n.jsx(xt,{children:"AI automation"}),n.jsx(yt,{children:"AI-Powered Dispatch and Driver Allocation"}),n.jsx("p",{className:"mt-5 text-lg max-w-3xl",style:{color:P.muted},children:"FleetPro does not remove your dispatcher. It gives them better visibility, faster decisions, and smarter recommendations."}),n.jsx("div",{className:"mt-12 grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-5",children:[["Ask FleetPro — AI agent",'Ask about any trailer, job or driver in plain English — "Who moved T091 last?" — and get the answer in seconds.'],["AI job triage","Incoming jobs are auto-classified by type, urgency, and SLA."],["AI driver suggestion","Best-match driver surfaced — location, vehicle class, current load."],["Route & availability logic","Avoid clashes, double-bookings, and dead miles."],["Delay alerts","Flag at-risk jobs before the customer calls you."],["Admin automation","Auto-create invoices, status updates, and follow-ups."],["Reporting insights","Spot bottlenecks, top performers, and revenue leaks."]].map(([f,g])=>n.jsxs(es,{children:[n.jsx(ki,{className:"w-5 h-5 mb-3",style:{color:P.teal}}),n.jsx("p",{className:"font-semibold mb-2",children:f}),n.jsx("p",{className:"text-sm",style:{color:P.muted},children:g})]},f))})]}),n.jsxs(vt,{id:"process",children:[n.jsx(xt,{children:"Implementation"}),n.jsx(yt,{children:"Transport Software Configured Around Your Workflows"}),n.jsx("p",{className:"mt-5 text-lg max-w-3xl",style:{color:P.muted},children:"A proven four-step rollout that respects how your business actually runs today."}),n.jsx("div",{className:"mt-12 grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-
5165",children:[["01","Discovery & Operations Mapping","We map how your jobs, drivers, vehicles, customers, and invoices currently flow."],["02","System Blueprint","We design your dispatch board, driver app, workflows, automations, and integrations."],["03","Build & Configure","We configure FleetPro around your business process, not generic software assumptions."],["04","Launch & Optimise","We train your team, monitor usage, and refine the system after launch."]].map(([f,g,v])=>n.jsxs(es,{children:[n.jsx("p",{className:"text-3xl font-bold mb-3",style:{color:P.teal},children:f}),n.jsx("p",{className:"font-semibold mb-2",children:g}),n.jsx("p",{className:"text-sm",style:{color:P.muted},children:v})]},f))})]}),n.jsx(vt,{id:"demo",alt:!0,children:n.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-12 items-center",children:[n.jsxs("div",{children:[n.jsx(xt,{children:"Free fleet operations audit"}),n.jsx(yt,{children:"Book A Free Fleet Operations Audit"}),n.jsx("p",{className:"mt-5 text-lg",style:{color:P.muted},children:"We'll review how your dispatch and fleet process works today, identify bottlenecks, and show exactly how FleetPro could simplify your operation."}),n.jsx("ul",{className:"mt-8 space-y-3.5 text-[15px]",children:["Review your current dispatch & fleet process","Identify the bottlenecks costing you time and money","See how FleetPro maps onto y
516our specific operation","Get a clear blueprint — even if you don't move forward"].map(f=>n.jsxs("li",{className:"flex items-start gap-3",children:[n.jsx(Ye,{className:"w-5 h-5 mt-0.5 shrink-0",style:{color:P.teal}}),f]},f))}),n.jsxs("button",{onClick:b,className:"mt-9 inline-flex items-center gap-2 px-8 py-4 rounded-full text-base font-bold transition-transform hover:scale-[1.03]",style:{background:P.teal,color:"#06231F"},children:["Book Your Demo ",n.jsx(W,{className:"w-5 h-5"})]}),n.jsx("p",{className:"mt-4 text-sm",style:{color:P.muted},children:"Takes under a minute. A few quick details so we tailor the call to your operation."}),n.jsx("p",{className:"mt-2 text-sm",style:{color:P.muted},children:"No sales pressure. If FleetPro isn't the right fit, we'll tell you — and you'll walk away with a clearer operations blueprint."})]}),n.jsx("img",{src:$0,alt:"FleetPro dispatch board",className:"w-full rounded-2xl",style:{border:`1px solid ${P.border}`},loading:"lazy"})]})}),n.jsxs(vt,{id:"faq",children:[n.jsx(xt,{children:"FAQ"}),n.jsx(yt,{children:"Transport and Fleet Management Software Questions"}),n.jsx("p",{className:"mt-5 text-lg max-w-3xl",style:{color:P.muted},children:"Common questions from Australian transport, logistics and fleet operators considering FleetPro."}),n.jsx("div",{className:"mt-12 max-w-4xl space-y-3",children:[["What is transport management software?","Transport management software is a system used by transport, logistics and fleet businesses to create and schedule jobs, dispatch drivers and vehicles, track work in progress, capture delivery documentation and turn completed work into invoices. FleetPro brings those functions into one transport operations platform, so dispatch, drivers, compliance records, customer updates and billing all draw on the same job data instead of separate spreadsheets and message threads."],["How does FleetPro improve transport dispatch?","Dispatchers work from a single board that shows every open job alongside driver availability, vehicle status and current location. FleetPro checks vehicle class, trailer combination, licence, fatigue and service status before a job is assigned, which removes the guesswork behind double-bookings and unsuitable allocations. Status changes flow back automatically from the driver app, so the office does not have to ring around for updates."],["Can FleetPro manage local and interstate transport?","Yes. Metro runs, local distribution work and long-haul interstate movements can run side by side in the same system, each with their own legs, rates, stop sequences and paperwork. Multi-stop jobs can be built with several pickups and drops, and each stop is tracked to completion."],["Does FleetPro include a driver mobile app?","Yes. Drivers receive allocated jobs on their phone, update job progress as they go, capture proof of delivery with photos, signatures and notes, and complete documentation without returning to the depot. Everything they capture is attached to the job record and available to the office immediately."],["Can FleetPro integrate with Xero and existing fleet systems?","FleetPro supp
516orts rules-based invoicing and accounting integrations such as Xero, so completed jobs can be converted into invoices without re-keying. It can also work alongside existing fatigue, telematics and maintenance systems. The specific integrations are confirmed during discovery, because they depend on the systems you already run."],["Is FleetPro suitable for multi-depot transport companies?","Yes. Multiple depots, branches and warehouses can be managed from one account, with drivers, vehicles, trailers and jobs visible across sites. Management reporting can be viewed per depot or across the whole operation."],["How does AI-assisted driver allocation work?","When a job is ready to assign, FleetPro's AI evaluates the available drivers and equipment against the requirements of the job — location, vehicle and trailer suitability, licence class, availability, rostered hours and fatigue status — and surfaces recommended combinations to the dispatcher. The recommendation is a suggestion, not an automatic action: your dispatcher confirms or overrides every allocation."],["Can FleetPro be configured around our transport workflows?","Yes. FleetPro is a configurable transport operations platform rather than a fixed product. Job types, workflow stages, document requirements, rate rules, notifications and reporting are set up around how your operation already runs, and additional modules can be built for more complex requirements."]].map(([f,g],v)=>n.jsxs("div",{className:"rounded-xl overflow-hidden",style:{background:P.card,border:`1px solid ${P.border}`},children:[n.jsxs("button",{onClick:()=>o(a===v?null:v),className:"w-full flex items-center justify-between gap-4 px-6 py-5 text-left font-semibold","aria-expanded":a===v,children:[f,n.jsx(Ar,{className:`w-5 h-5 shrink-0 transition-transform ${a===v?"rotate-180":""}`,style:{color:P.teal}})]}),a===v&&n.jsx("p",{className:"px-6 pb-6 text-[15px] leading-relaxed",style:{color:P.muted},children:g})]},f))})]}),n.jsx("footer",{className:"px-6 py-16",style:{background:P.bgAlt,borderTop:`1px solid ${P.border}`},children:n.jsxs("div",{className:"container mx-auto max-w-6xl",children:[n.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-4 gap-10",children:[n.jsxs("div",{children:[n.jsxs("div",{className:"flex items-center gap-2.5 mb-4",children:[n.jsx("span",{className:"w-9 h-9 rounded-xl flex items-center justify-center",style:{background:P.teal},children:n.jsx(Sa,{className:"w-5 h-5",style:{color:"#06231F"}})}),n.jsxs("span",{className:"leading-tight",children:[n.jsx("span",{className:"block font-bold text-[17px]",children:"FleetPro"}),n.jsx("span",{className:"block text-[11px]",style:{color:P.muted},children:"by 10x Growth Labs"})]})]}),n.jsx("p",{className:"text-sm leading-relaxed",style:{color:P.muted},children:"Product Studio for funded founders and forward-thinking enterprises. We validate ideas, build apps, and scale with confidence — across AU, US & Dubai."})]}),n.jsxs("div",{children:[n.jsx("p",{className:"text-xs font-bold tracking-[0.2em] uppercase mb-4",style:{color:P.muted},children:"FleetPro"}),n.jsx("ul",{className:"space-y-2.5 text-sm",children:[["Transport management software","#platform"],["Product tour","#product-tour"],["Platform overview","#platform"],["Transport features","#transport"],["Industries served","#industries"],["Integrations","#integrations"],["Savings calculator","#calculator"],["FAQ","#faq"]].map(([f,g])=>n.jsx("li",{children:n.jsx("a",{href:g,style:{color:P.muted},className:"hover:opacity-100 transition-opacity",children:f})},f))})]}),n.jsxs("div",{children:[n.jsx("p",{className:"text-xs font-bold tracking-[0.2em] uppercase mb-4",style:{color:P.muted},children:"Company"}),n.jsxs("ul",{className:"space-y-2.5 text-sm",children:[n.jsx("li",{children:n.jsx("a",{href:"/",style:{color:P.muted},children:"10x Growth Labs"})}),n.jsx("li",{children:n.jsx("a",{href:"https://www.linkedin.com/company/10xgrowthlabs",target:"_blank",rel:"noreferrer",style:{color:P.muted},children:"LinkedIn"})}),n.jsx("li",{children:n.jsx("a",{href:"#megatrans-event",style:{color:P.muted},children:"MEGATRANS visitors"})}),n.jsx("li",{children:n.jsx("a",{href:"mailto:[email protected]",style:{color:P.muted},children:"Email us"})}),n.jsx("li",{children:n.jsx("a",{href:"tel:+61433975469",style:{color:P.muted},children:"Call us"})})]})]}),n.jsxs("div",{children:[n.jsx("p",{className:"text-xs font-bold tracking-[0.2em] uppercase mb-4",style:{color:P.muted},children:"Get in touch"}),n.jsxs("ul",{className:"space-y-2.5 text-sm",style:{color:P.muted},children:[n.jsx("li",{children:n.jsx("a",{href:"tel:+61433975469",className:"hover:opacity-100",children:"0433 975 469"})}),n.jsx("li",{children:n.jsx("a",{href:"tel:+61883679649",className:"hover:opacity-100",children:"+61 8 8367 9649"})}),n.jsx("li",{children:n.jsx("a",{href:"mailto:[email protected]",className:"hover:opacity-100",children:"[email protected]"})}),n.jsxs("li",{children:["Level 1, 74 O'Connell Street",n.jsx("br",{}),"North Adelaide, SA 5006"]})]}),n.jsxs("button",{onClick:b,className:"mt-5 inline-flex items-center gap-2 px-5 py-2.5 rounded-full text-sm font-bold",style:{background:P.teal,color:"#06231F"},children:["Book Your Demo ",n.jsx(W,{className:"w-4 h-4"})]})]})]}),n.jsxs("div",{className:"mt-12 pt-8 flex flex-col sm:flex-row items-center justify-between gap-3 text-sm",style:{borderTop:`1px solid ${P.border}`,color:P.muted},children:[n.jsx("p",{children:"© 2026 10x Growth Labs. All rights reserved."}),n.jsx("p",{children:"FleetPro is a product by 10x Growth Labs."})]})]})}),r&&n.jsx(Z7,{onClose:()=>i(!1),onSuccess:f=>e("/thankyou",{state:{name:f}})})]})},Z7=({onClose:e,onSuccess:t})=>
516{const[s,r]=w.useState({name:"",company:"",email:"",phone:""}),[i,a]=w.useState(!1),[o,l]=w.useState(null),c=m=>p=>r(x=>({...x,[m]:p.target.value})),d=async m=>{if(m.preventDefault(),i)return;a(!0),l(null);const p=uc(),{error:x}=await ht.from("labs_leads").insert({tool:"fleetpro-demo",name:s.name,email:s.email,phone:s.phone||null,company:s.company||null,inputs:{source:"fleetpro-transport-system"},result:{__attribution:p}});if(x){a(!1),l("Something went wrong sending your request. Please email [email protected] directly.");return}const y=Date.now();await Promise.all(["[email protected]","[email protected]","[email protected]"].map(b=>ht.functions.invoke("send-transactional-email",{body:{templateName:"contact-inquiry",recipientEmail:b,idempotencyKey:`fleetpro-demo-${b}-${s.email}-${y}`,templateData:{audience:"FleetPro demo request",source:"fleetpro-transport-system",name:s.name,email:s.email,phone:s.phone||"",company:s.company||"",role:"",message:"FleetPro demo / free fleet operations audit request",attribution:p}}}).catch(()=>null))),a(!1),t(s.name)},u="w-full rounded-xl px-4 py-3.5 text-[15px] outline-none focus:ring-2",h={background:"#0D1A2A",border:"1px solid rgba(255,255,255,0.12)",color:"#EAF2F8"};return n.jsxs("div",{className:"fixed inset-0 z-[100] flex items-center justify-center p-4",role:"dialog","aria-modal":"true","aria-label":"Book your demo",children:[n.jsx("button",{className:"absolute inset-0 bg-black/70",onClick:e,"aria-label":"Close"}),n.jsxs("div",{className:"relative w-full max-w-md rounded-2xl p-7",style:{background:"#10202F",border:"1px solid rgba(255,255,255,0.12)"},children:[n.jsx("button",{onClick:e,className:"absolute top-4 right-4 w-9 h-9 rounded-lg flex items-center justify-center",style:{border:"1px solid rgba(255,255,255,0.12)",color:"#EAF2F8"},"aria-label":"Close dialog",children:n.jsx(ar,{className:"w-4 h-4"})}),n.jsx("p",{className:"text-xs font-bold tracking-[0.25em] uppercase mb-2",style:{color:"#19C2B8"},children:"Book your demo"}),n.jsx("h3",{className:"text-2xl font-bold mb-1.5",style:{color:"#EAF2F8"},children:"See FleetPro on your operation"}),n.jsx("p",{className:"text-sm mb-6",style:{color:"rgba(234,242,248,0.62)"},children:"Takes under a minute. We'll tailor the walkthrough to your fleet."}),n.jsxs("form",{onSubmit:d,className:"space-y-3.5",children:[n.jsx("input",{required:!0,placeholder:"Your name",value:s.name,onChange:c("name"),className:u,style:h,autoComplete:"name"}),n.jsx("input",{required:!0,placeholder:"Company",value:s.company,onChange:c("company"),className:u,style:h,autoComplete:"organization"}),n.jsx("input",{required:!0,type:"email",placeholder:"Work email",value:s.email,onChange:c("email"),className:u,style:h,autoComplete:"email"}),n.jsx("input",{type:"tel",placeholder:"Phone (optional)",value:s.phone,onChange:c("phone"),className:u,style:h,autoComplete:"tel"}),o&&n.jsx("p",{className:"text-sm text-red-400",children:o}),n.jsx("button",{type:"submit",disabled:i,className:"w-full py-4 rounded-full text-base font-bold transition-transform hover:scale-[1.02] disabled:opacity-60",style:{background:"#19C2B8",color:"#06231F"},children:i?"Sending…":"Book Your Demo"})]})]})]})},X7=()=>n.jsxs("main",{className:"min-h-screen w-full bg-background flex items-center justify-center px-6 py-24",children:[n.jsx(fe,{title:"Thank You — FleetPro Transport & Fleet Management Software",description:"Thanks for your enquiry about FleetPro. Our team will be in touch within one business day.",path:"/platform-suite/fleetpro-transport-system/thankyou"}),n.jsxs("div",{className:"w-full max-w-2xl text-center",children:[n.jsx(Ye,{className:"w-12 h-12 mx-auto mb-8 text-foreground"}),n.jsx("div",{className:"eyebrow mb-6",children:"Enquiry received"}),n.jsxs("h1",{className:"font-display text-4xl sm:text-5xl md:text-6xl leading-[1.05] tracking-tight",children:["Thanks — your FleetPro request is ",n.jsx("span",{className:"font-serif-italic",children:"on its way."})]}),n.jsx("p",{className:"mt-8 text-lg text-foreground/70 leading-relaxed",children:"One of our team will reply inside one business day with next steps and a walkthrough tailored to your fleet."}),n.jsxs("div",{className:"mt-10 flex flex-col sm:flex-row items-center justify-center gap-6",children:[n.jsxs("a",{href:"mailto:[email protected]",className:"inline-flex items-center gap-2 text-foreground
516/80 hover:text-foreground transition-colors text-[15px]",children:[n.jsx(ro,{className:"w-4 h-4"})," [email protected]"]}),n.jsxs("a",{href:"tel:+61433975469",className:"inline-flex items-center gap-2 text-foreground/80 hover:text-foreground transition-colors text-[15px]",children:[n.jsx(Ut,{className:"w-4 h-4"})," 0433 975 469"]})]}),n.jsxs(L,{to:"/platform-suite/fleetpro-transport-system",className:"mt-12 inline-flex items-center gap-2 bg-foreground text-background px-7 py-4 text-sm font-semibold tracking-wide uppercase hover:bg-foreground/85 transition-colors",children:[n.jsx(hh,{className:"w-4 h-4"})," Back to FleetPro"]})]})]}),Ih=({slug:e,name:t,tagline:s,status:r,hero:i,heroSupport:a,mockupSrc:o,screenshots:l,metrics:c,capabilities:d,workflow:u,aiFeatures:h,integrations:m,useCases:p,whyUs:x,faqs:y,testimonial:b,segments:f,segmentsLabel:g,ctaLabel:v,seoTitle:j,seoDesc:k})=>n.jsxs(Le,{children:[n.jsx(fe,{title:j,description:k,path:`/platform-suite/${e}`,jsonLd:[Wx({name:t.replace(/™/g,""),description:k,path:`/platform-suite/${e}`}),ur([{name:"Platform Suite",path:"/platform-suite"},{name:t.replace(/™/g,""),path:`/platform-suite/${e}`}]),...y&&y.length>0?[Vx(y)]:[]]}),n.jsx("section",{className:"pt-8 md:pt-12 pb-16 md:pb-20 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"eyebrow mb-6",children:["Platform Suite · ",t]}),n.jsx("div",{className:"mb-8",children:n.jsxs("span",{className:`inline-flex items-center gap-2 border px-2.5 py-1 text-[10px] uppercase tracking-[0.15em] font-semibold ${r==="Available"?"border-foreground
516/30 text-foreground":"border-foreground/20 text-foreground/60"}`,children:[n.jsx("span",{className:`w-1.5 h-1.5 rounded-full ${r==="Available"?"bg-foreground":"bg-foreground/40"}`}),r]})}),n.jsxs("h1",{className:"font-display text-[42px] sm:text-6xl md:text-7xl lg:text-[88px] leading-[0.98] tracking-[-0.02em] max-w-6xl",children:[i.headline,n.jsx("br",{}),n.jsx("span",{className:"font-serif-italic",children:i.italic})]}),a&&n.jsx("p",{className:"mt-8 font-display text-2xl md:text-3xl leading-snug text-foreground/85 max-w-3xl",children:a}),n.jsx("p",{className:"mt-8 text-base md:text-lg text-foreground/60 max-w-3xl",children:s}),n.jsx("p",{className:"mt-6 text-lg md:text-xl text-foreground/70 max-w-3xl leading-relaxed",children:i.lead}),n.jsx("div",{className:"mt-12",children:n.jsxs(L,{to:"/contact",className:"group inline-flex items-center gap-3 bg-foreground text-background px-7 py-4 text-sm font-semibold tracking-wide uppercase hover:bg-foreground/85 transition-colors",children:[v," ",n.jsx(W,{className:"w-4 h-4 group-hover:translate-x-1 transition-transform"})]})})]})}),o&&n.jsx("section",{className:"pb-20 md:pb-28 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsx("div",{className:"relative border border-foreground
516/15 bg-secondary/40 p-3 md:p-5 shadow-[0_30px_80px_-40px_rgba(0,0,0,0.35)]",children:n.jsx("img",{src:o,alt:`${t} product interface`,width:1600,height:1008,className:"w-full h-auto block",loading:"lazy"})}),n.jsxs("div",{className:"mt-6 text-xs text-foreground/50 uppercase tracking-[0.15em]",children:["Product interface · ",t]})]})}),l&&l.length>0&&n.jsx("section",{className:"border-t border-foreground/10 py-24 md:py-32 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"grid md:grid-cols-12 gap-8 mb-14",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:"AI agents in action"}),n.jsx("div",{className:"hairline max-w-[3rem]"})]}),n.jsx("div",{className:"md:col-span-8",children:n.jsxs("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:["Service-line copilots,",n.jsx("span",{className:"font-serif-italic text-foreground/70",children:" already running."})]})})]}),n.jsx("div",{className:"space-y-16 md:space-y-24",children:l.map((N,A)=>n.jsxs("div",{className:"grid md:grid-cols-12 gap-8 md:gap-10 items-center",children:[n.jsx("div",{className:`md:col-span-7 ${A%2===1?"md:order-2":""}`,children:n.jsx("div",{className:"relative border border-foreground
516/15 bg-secondary/40 p-2 md:p-3 shadow-[0_20px_60px_-30px_rgba(0,0,0,0.35)]",children:n.jsx("img",{src:N.src,alt:`${t.replace(/™/g,"")} — ${N.label}`,width:1600,height:1008,className:"w-full h-auto block",loading:"lazy"})})}),n.jsxs("div",{className:"md:col-span-5",children:[n.jsx("div",{className:"eyebrow mb-4",children:N.label}),n.jsx("h3",{className:"font-display text-2xl md:text-3xl leading-tight tracking-tight mb-5",children:N.title}),n.jsx("p",{className:"text-sm md:text-base text-foreground/70 leading-relaxed",children:N.body})]})]},N.label))})]})}),c&&c.length>0&&n.jsx("section",{className:"border-y border-foreground/10 bg-secondary/40 py-14 md:py-20 px-6",children:n.jsx("div",{className:"container mx-auto max-w-7xl",children:n.jsx("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-8 md:gap-12",children:c.map(N=>n.jsxs("div",{children:[n.jsx("div",{className:"font-display text-3xl md:text-5xl tracking-tight",children:N.k}),n.jsx("div",{className:"mt-3 text-xs md:text-sm text-foreground/60 leading-snug",children:N.v})]},N.v))})})}
516),n.jsx("section",{className:"border-t border-foreground/10 py-24 md:py-32 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"grid md:grid-cols-12 gap-8 mb-16",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:"Capabilities"}),n.jsx("div",{className:"hairline max-w-[3rem]"})]}),n.jsx("div",{className:"md:col-span-8",children:n.jsxs("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:["One platform.",n.jsx("span",{className:"font-serif-italic text-foreground/70",children:" Every operational function."})]})})]}),n.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-px bg-foreground/15 border border-foreground/15",children:d.map((N,A)=>n.jsxs("div",{className:"bg-background p-8 md:p-10",children:[n.jsx("div",{className:"eyebrow mb-5",children:String(A+1).padStart(2,"0")}),n.jsx("h3",{className:"font-display text-xl md:text-2xl mb-3",children:N.title}),n.jsx("p",{className:"text-sm text-foreground/70 leading-relaxed",children:N.body})]},N.title))})]})}),u&&u.length>
5160&&n.jsx("section",{className:"border-t border-foreground/10 bg-secondary/40 py-24 md:py-32 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"grid md:grid-cols-12 gap-8 mb-14",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:"How it works"}),n.jsx("div",{className:"hairline max-w-[3rem]"})]}),n.jsx("div",{className:"md:col-span-8",children:n.jsxs("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:["One operating flow,",n.jsx("span",{className:"font-serif-italic text-foreground/70",children:" from field to finance."})]})})]}),n.jsx("div",{className:"border border-foreground/15 bg-background p-6 md:p-10",children:n.jsx("div",{className:"grid md:grid-cols-5 gap-6",children:u.map((N,A)=>n.jsxs("div",{className:"relative",children:[n.jsxs("div",{className:"flex items-start gap-3 mb-4",children:[n.jsx("span",{className:"font-display text-xl text-foreground/40",children:String(A+1).padStart(2,"0")}),A<u.length-1&&n.jsx("span",{className:"hidden md:block absolute top-2 right-[-14px] w-3 h-px bg-foreground
516/25"})]}),n.jsx("h3",{className:"font-display text-lg mb-2 leading-tight",children:N.title}),n.jsx("p",{className:"text-xs text-foreground/65 leading-relaxed",children:N.body})]},N.title))})})]})}),h&&h.length>0&&n.jsx("section",{className:"border-t border-foreground/10 py-24 md:py-32 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"grid md:grid-cols-12 gap-8 mb-14",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:"AI-native"}),n.jsx("div",{className:"hairline max-w-[3rem]"})]}),n.jsx("div",{className:"md:col-span-8",children:n.jsxs("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:["Copilots and agents",n.jsx("span",{className:"font-serif-italic text-foreground/70",children:" built into every screen."})]})})]}),n.jsx("div",{className:"grid md:grid-cols-2 gap-px bg-foreground/15 border border-foreground/15",children:h.map(N=>n.jsxs("div",{className:"bg-background p-8 md:p-10",children:[n.jsx("div",{className:"eyebrow mb-4",children:"AI"}),n.jsx("h3",{className:"font-display text-xl md:text-2xl mb-3",children:N.title}),n.jsx("p",{className:"text-sm text-foreground/70 leading-relaxed",children:N.body})]},N.title))})]})}),m&&m.length>
5160&&n.jsx("section",{className:"border-t border-foreground/10 bg-secondary/40 py-20 md:py-24 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"grid md:grid-cols-12 gap-8 mb-10",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:"Integrations"}),n.jsx("div",{className:"hairline max-w-[3rem]"})]}),n.jsx("div",{className:"md:col-span-8",children:n.jsxs("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:["Plays nicely",n.jsx("span",{className:"font-serif-italic text-foreground/70",children:" with your existing stack."})]})})]}),n.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-6 gap-px bg-foreground/15 border border-foreground/15",children:m.map(N=>n.jsx("div",{className:"bg-background px-4 py-6 text-center",children:n.jsx("div",{className:"text-xs md:text-sm font-semibold tracking-wide text-foreground/75",children:N})},N))})]})}),p&&p.length>0&&n.jsx("section",{className:"border-t border-foreground
516/10 py-24 md:py-32 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"grid md:grid-cols-12 gap-8 mb-14",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsx("div",{className:"eyebrow mb-4",children:"In production"}),n.jsx("div",{className:"hairline max-w-[3rem]"})]}),n.jsx("div",{className:"md:col-span-8",children:n.jsxs("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:["What operators actually",n.jsx("span",{className:"font-serif-italic text-foreground/70",children:" use it for."})]})})]}),n.jsx("div",{className:"divide-y divide-foreground/15 border-y border-foreground/15",children:p.map((N,A)=>n.jsxs("div",{className:"grid md:grid-cols-12 gap-6 py-8",children:[n.jsx("div",{className:"md:col-span-1 eyebrow text-foreground/50",children:String(A+1).padStart(2,"0")}),n.jsx("h3",{className:"md:col-span-4 font-display text-xl md:text-2xl leading-tight",children:N.title}),n.jsx("p",{className:"md:col-span-7 text-sm md:text-base text-foreground/70 leading-relaxed",children:N.body})]},N.title))})]})}
516),b&&n.jsx("section",{className:"border-t border-foreground/10 bg-secondary/40 py-24 md:py-32 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-5xl",children:[n.jsx("div",{className:"eyebrow mb-8",children:"From the field"}),n.jsxs("blockquote",{className:"font-display text-2xl md:text-4xl leading-[1.15] tracking-tight text-foreground/90",children:['"',b.quote,'"']}),n.jsxs("div",{className:"mt-8 text-sm text-foreground/60",children:[n.jsx("span",{className:"font-semibold text-foreground/80",children:b.name})," · ",b.role]})]})}),x&&x.length>0&&n.jsx("section",{className:"border-t border-foreground/10 py-24 md:py-32 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"grid md:grid-cols-12 gap-8 mb-14",children:[n.jsxs("div",{className:"md:col-span-4",children:[n.jsxs("div",{className:"eyebrow mb-4",children:["Why ",t]}),n.jsx("div",{className:"hairline max-w-[3rem]"})]}),n.jsx("div",{className:"md:col-span-8",children:n.jsxs("h2",{className:"font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:["Built by operators.",n.jsx("span",{className:"font-serif-italic text-foreground/70",children:" Not consultants."})]})})]}),n.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-4 gap-px bg-foreground
516/15 border border-foreground/15",children:x.map(N=>n.jsxs("div",{className:"bg-background p-8",children:[n.jsx("h3",{className:"font-display text-lg md:text-xl mb-3",children:N.title}),n.jsx("p",{className:"text-sm text-foreground/70 leading-relaxed",children:N.body})]},N.title))})]})}),y&&y.length>0&&n.jsx("section",{className:"border-t border-foreground/10 bg-secondary/40 py-24 md:py-32 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-5xl",children:[n.jsx("div",{className:"eyebrow mb-8",children:"Frequently asked"}),n.jsx("div",{className:"divide-y divide-foreground/15 border-y border-foreground/15",children:y.map(N=>n.jsxs("details",{className:"group py-6",children:[n.jsxs("summary",{className:"flex items-start justify-between gap-6 cursor-pointer list-none",children:[n.jsx("h3",{className:"font-display text-lg md:text-xl leading-snug",children:N.q}),n.jsx("span",{className:"mt-1 text-foreground/50 group-open:rotate-45 transition-transform text-2xl leading-none",children:"+"})]}),n.jsx("p",{className:"mt-4 text-sm md:text-base text-foreground/70 leading-relaxed max-w-3xl",children:N.a})]},N.q))})]})}
516),n.jsx("section",{className:"border-t border-foreground/10 py-20 md:py-24 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsx("div",{className:"eyebrow mb-8",children:g}),n.jsx("div",{className:"flex flex-wrap gap-3",children:f.map(N=>n.jsx("span",{className:"inline-flex items-center border border-foreground/25 px-4 py-2 text-xs uppercase tracking-wide text-foreground/80 bg-background",children:N},N))})]})}),n.jsx("section",{className:"ink-theme bg-background text-foreground py-32 md:py-40 px-6 border-t border-foreground/10",children:n.jsxs("div",{className:"container mx-auto max-w-5xl text-center",children:[n.jsx("div",{className:"eyebrow mb-10",children:"Let's talk"}),n.jsxs("h2",{className:"font-display text-4xl md:text-6xl leading-[1.02] tracking-tight",children:[t,", ",n.jsx("span",{className:"font-serif-italic",children:"delivered with you."})]}),n.jsxs("div",{className:"mt-12 flex flex-wrap items-center justify-center gap-6",children:[n.jsxs(L,{to:"/contact",className:"inline-flex items-center gap-3 bg-foreground text-background px-8 py-4 text-sm font-semibold tracking-wide uppercase hover:bg-foreground
516/85 transition-colors",children:[v," ",n.jsx(W,{className:"w-4 h-4"})]}),n.jsxs(L,{to:"/platform-suite",className:"inline-flex items-center gap-2 text-sm font-semibold underline underline-offset-8 decoration-foreground/30 hover:decoration-foreground transition-colors",children:["See full Platform Suite ",n.jsx(We,{className:"w-4 h-4"})]})]})]})})]}),Q7="/assets/opssync-mockup-CgX3isqw.jpg",eB=()=>n.jsx(Ih,{slug:"opssync",name:"OpsSync™",tagline:"Operations & Workforce Platform",status:"Available",mockupSrc:Q7,seoTitle:"Field Service Management Software Australia | OpsSync",seoDesc:"Connect jobs, field teams, assets, compliance, customers and finance with configurable field service management software.",hero:{headline:"Field Service and Workforce",italic:"Management Software.",lead:"OpsSync is the core operations platform for organisations managing workforce, projects, assets and service delivery — a configurable foundation that adapts to sector-specific operating models. Job management, service scheduling and mobile workforce software in one system."},heroSupport:"The operational spine for service-led organisations.",metrics:[{k:"40%",v:"Less admin overhead"},{k:"2×",v:"Faster job-to-invoice"},{k:"98%",v:"SWMS compliance"},{k:"Live",v:"Field visibility"}],capabilities:[{title:"Workforce & Rostering",body:"Skills, availability, awards and compliance — turned into a live workforce engine."},{title:"Jobs & Scheduling",body:"Plan, dispatch and track work across teams, sites and subcontractors."},{title:"Assets & Sites",body:"One source of truth for assets, sites, service history and warranties."},{title:"Forms & Compliance",body:"Digital forms, inspections, SWMS, incidents and audit trails."},{title:"Client & Contract",body:"Contracts, SLAs, rate cards and client portals — built in."},{title:"Analytics & AI",body:"Operational dashboards and AI copilots layered over live data."}],workflow:[{title:"Plan",body:"Roster the crew, assign the site, sequence the jobs."},{title:"Dispatch",body:"Push jobs to mobile with SWMS, checklists and site packs."},{title:"Execute",body:"Field teams capture time, forms, defects and photos on-device."},{title:"Verify",body:"Supervisors approve time, quality, safety and variations."},{title:"Invoice",body:"Auto-priced invoices flow to Xero / MYOB / SAP."}],aiFeatures:[{title:"AI supervisor copilot",body:"Summarises daily shift status, safety events and productivity outliers per site."},{title:"Smart rostering",body:"Suggests optimal crew mixes on skills, licences, awards and travel."},{title:"Incident intelligence",body:"Classifies incident reports and drafts investigation notes in seconds."},{title:"Contract & SLA agents",body:"Watches SLA breaches, escalates automatically and drafts client updates."}],integrations:["Xero","MYOB","SAP","Salesforce","Microsoft 365","Power BI","SharePoint","HubSpot","Deputy","Employment Hero","SafetyCulture","Procore"],useCases:[{title:"Commercial cleaning at scale",body:"Roster 500+ cleaners across sites and awards, dispatch with SWMS, verify time and quality, invoice from one flow."},{title:"Trades & facilities service",body:"Reactive and planned works across assets and sites with digital job cards, quoting and client portals."},{title:"Field services & maintenance",body:"Plan, dispatch and verify recurring field work with mobile forms, photos and defect capture."},{title:"Subcontractor networks",body:"Onboarding, insurance, compliance and self-billing for contractor-heavy operations."},{title:"Manufacturing & utilities ops",body:"Digitise pre-starts, permits, incidents and maintenance across plants and depots."}],whyUs:[{title:"Configurable, not custom",body:"Ships fast because the model is built. Configures to your operating rhythm — not another 12-month build."},{title:"AI on live data",body:"Copilots don't sit on top of a data warehouse — they sit on the live operational spine."},{title:"One accountability line",body:"Product, delivery, change and support — from one senior team."},{title:"Runs on what you own",body:"Sits alongside Xero, MYOB, SAP, Salesforce and Microsoft — no rip-and-replace."}],testimonial:{quote:"We replaced spreadsheets, Excel rostering and a broken job system with one platform. Our cleaners, supervisors and finance team are all in the same operating flow.",name:"Operations Director",role:"National cleaning & trades group"},faqs:[{q:"Do we have to rip out Xero, MYOB or SAP?",a:"No. OpsSync is designed to sit as the operational spine alongside your finance system. Invoices, payments and journals flow in and out without duplication."},{q:"How is this different from a generic field service tool?",a:"OpsSync is a configurable operating platform, not a scheduling widget. Rostering, jobs, compliance, assets, contracts and analytics live in one model — with AI built into every surface."},{q:"How fast can we go live?",a:"A typical rollout runs 8–12 weeks per operating unit — Discovery, Configure, Pilot, Scale — with a working system in weeks, not quarters."},{q:"Who owns the data and the platform?",a:"You do. OpsSync is deployed in your tenant, integrates with your identity provider, and every AI feature runs with your governance and data controls."}],segmentsLabel:"Suitable for",segments:["Construction","Trades","Cleaning","Facilities Management","Property Services","Maintenance Contractors","Mobile Service Businesses","Utilities","Manufacturing"],ctaLabel:"Book Discovery Session"}),tB="/assets/careflow-mockup-CvRihOH6.jpg",sB=()=>n.jsx(Ih,{slug:"careflow",name:"CareFlow™",tagline:"Care Operations Platform (built on OpsSync)",status:"Available",mockupSrc:tB,seoTitle:"CareFlow™ — Care Operations Platform",seoDesc:"CareFlow is a care operations platform for regulated care providers — rostering, care coordination, compliance and claims in one system.",hero:{headline:"Care operations",italic:"engineered for regulated environments.",lead:"Built on OpsSync. Care coordination, rostering, compliance and claims — engineered for the pace and audit rigour of regulated care."},metrics:[{k:"60%",v:"Faster NDIS claim generation"},{k:"Zero",v:"Missed compliance events"},{k:"24/7",v:"Family visibility of care"},{k:"100%",v:"Audit-ready records"}],capabilities:[{title:"Care Coordination",body:"Client plans, goals, notes and outcomes tied to every shift."},{title:"Rostering & Matching",body:"Match care workers by skills, gender, culture and location — with compliance baked in."},{title:"NDIS & Claims",body:"Automated claim generation, price guide alignment and error correction."},{title:"Compliance & Audit",body:"Standards, incidents, restrictive practices and audit-ready trails."},{title:"Worker Mobile App",body:"Shifts, notes, forms, medications and comms in the field."},{title:"Family & Client Portal",body:"Transparent visibility for clients, families and coordinators."}],workflow:[{title:"Intake",body:"Referral, plan and funding captured with eligibility checks."},{title:"Match",body:"Care workers matched on skill, gender, culture and location."},{title:"Deliver",body:"Care worker app: shift notes, medications, forms and incidents."},{title:"Comply",body:"Quality standards, restrictive practices and audit trail."},{title:"Claim",body:"NDIS / Aged Care claims auto-generated and reconciled."}],aiFeatures:[{title:"AI progress notes",body:"Care worker dictates — AI structures notes into goals, outcomes and observations."},{title:"Claim error detection",body:"Flags price-guide mismatches, overlaps and unfunded services before submission."},{title:"Incident triage",body:"Classifies incidents, drafts reports and routes restrictive practices for review."},{title:"Family communication agent",body:"Drafts weekly family updates from shift notes and care events."}],integrations:["NDIS PRODA","MYOB","Xero","Microsoft 365","SharePoint","Power BI","Employment Hero","Deputy","HR3","Elmo","SafetyCulture","DocuSign"],useCases:[{title:"NDIS providers",body:"Plan management, service delivery, claim generation and reconciliation — with price guide alignment and error detection built in."}
516,{title:"Home & community care",body:"Match care workers on skill, gender, culture and location, deliver via mobile app, comply with the standards."},{title:"Aged care providers",body:"Care plans, medication management, incident and restrictive-practice workflows aligned to standards."},{title:"Disability support services",body:"Client goals, progress notes, funding utilisation and outcomes — visible in one system."},{title:"Allied health at scale",body:"Rostering, mobile clinicians, notes, billing and client portals in one operating flow."}],whyUs:[{title:"Care-first, not admin-first",body:"Designed around the care worker's day and the coordinator's rhythm — not a generic HR/CRM stack."},{title:"Regulator-ready",body:"Compliance, restrictive practices and audit trails are structural — not bolted on."},{title:"AI where it earns its keep",body:"AI progress notes, claim error detection and family communication — measured on time saved."},{title:"One accountable team",body:"Product, delivery, change and support from one senior team who work in care every week."}],testimonial:{quote:"Our coordinators spend more time with clients and less time in spreadsheets. Claims that used to take days now clear in hours — clean.",name:"General Manager, Operations",role:"NDIS & home care provider"},faqs:[{q:"Does CareFlow handle NDIS and aged care?",a:"Yes. CareFlow supports NDIS, Home Care Packages, CHSP and disability supports — with claim generation, price guide alignment and outcomes tracking."},{q:"Can we keep our finance and HR systems?",a:"Yes. CareFlow integrates with Xero, MYOB, Employment Hero, Deputy and HR3 — care operations sits on top of what you already run."},{q:"How do you handle audits and standards?",a:"Every shift, note, incident and restrictive practice generates a structural audit trail — mapped to Aged Care Quality Standards and the NDIS Practice Standards."},{q:"How long to go live?",a:"Typical rollouts run 10–14 weeks per service line — configured to your model, piloted with one team, then scaled."}],segmentsLabel:"Designed for",segments:["Home Care","NDIS","Aged Care","Community Services","Disability"],ctaLabel:"Book Discovery Session"}),rB="/assets/civicflow-mockup-BgRkuArp.jpg",nB=1,iB="5e99522a-17ba-4b1b-bcdc-ff7bfc4b3fad",aB="2303a136-ebed-4a95-9f74-22b71420daa4",oB="/__l5e/assets-v1/5e99522a-17ba-4b1b-bcdc-ff7bfc4b3fad/civicflow-bins.jpg",lB="a/v1/2303a136-ebed-4a95-9f74-22b71420daa4/5e99522a-17ba-4b1b-bcdc-ff7bfc4b3fad/civicflow-bins.jpg",cB="civicflow-bins.jpg",dB=187350,uB="image/jpeg",hB="2026-07-24T09:35:24Z",mB={version:nB,asset_id:iB,project_id:aB,url:oB,r2_key:lB,original_filename:cB,size:dB,content_type:uB,created_at:hB},pB=1,fB="7b369b63-c03b-4926-9a4f-2320e71d2968",gB="2303a136-ebed-4a95-9f74-22b71420daa4",xB="/__l5e/assets-v1/7b369b63-c03b-4926-9a4f-2320e71d2968/civicflow-roads.jpg",yB="a/v1/2303a136-ebed-4a95-9f74-22b71420daa4/7b369b63-c03b-4926-9a4f-2320e71d2968/civicflow-roads.jpg",vB="civicflow-roads.jpg",bB=203304,wB="image/jpeg",jB="2026-07-24T09:35:24Z",kB={version:pB,asset_id:fB,project_id:gB,url:xB,r2_key:yB,original_filename:vB,size:bB,content_type:wB,created_at:jB},NB=1,SB="c7e13a67-82f2-45e0-8088-33364cac42a7",AB="2303a136-ebed-4a95-9f74-22b71420daa4",_B="/__l5e/assets-v1/c7e13a67-82f2-45e0-8088-33364cac42a7/civicflow-graffiti.jpg",CB="a/v1/2303a136-ebed-4a95-9f74-22b71420daa4/c7e13a67-82f2-45e0-8088-33364cac42a7/civicflow-graffiti.jpg",EB="civicflow-graffiti.jpg",TB=186400,PB="image/jpeg",IB="2026-07-24T09:35:24Z",RB={version:NB,asset_id:SB,project_id:AB,url:_B,r2_key:CB,original_filename:EB,size:TB,content_type:PB,created_at:IB},OB=[{label:"Bin Collection Agent",title:"Missed bin? Triaged, dispatched and closed — automatically.",body:"The Bin Collection agent reads resident reports, classifies the bin type, verifies contractor GPS routes and dispatches the crew. Residents receive an SMS the moment the pickup is scheduled — no ticket sits in a queue overnight.",src:mB.url},{label:"Road Defect Agent",title:"Photo in. Works order out. Crew already on the way.",body:"Photos from inspectors, drivers and residents are classified by defect type and severity. The agent cross-references the Assetic asset ID, drafts a costed works order and assigns the roads crew — with the full reasoning chain visible for audit.",src:kB.url},{label:"Graffiti Removal Agent",title:"Cleaner communities, without another spreadsheet.",body:"The Graffiti agent classifies surface, size and offensive content, routes to the right contractor and starts an SLA countdown. Councillors get a live map of open reports — and residents get confirmation their report is being actioned.",src:RB.url}],MB=()=>n.jsx(Ih,{slug:"civicflow",name:"CivicFlow™",tagline:"Local Government Platform (built on OpsSync)",status:"In Development",mockupSrc:rB,screenshots:OB,seoTitle:"CivicFlow™ — Local Government Platform",seoDesc:"CivicFlow is a local government platform helping councils modernise core operations — roads, rates, waste and community services.",hero:{headline:"Modern council operations,",italic:"without another rip-and-replace.",lead:"Built on OpsSync. Helping councils modernise operations, improve c
516ommunity services and streamline internal workflows — from roads and rates to waste and works."},metrics:[{k:"50%",v:"Faster community request resolution"},{k:"1 view",v:"Roads, rates, rubbish, requests"},{k:"No swap",v:"Keeps TechOne / Civica / M365"},{k:"AI-first",v:"Copilots across every service"}],capabilities:[{title:"Roads & Assets",body:"Inspections, defects, works orders and asset lifecycle for road and infrastructure teams."},{title:"Rates & Revenue",body:"Rates workflows, valuations, exemptions and revenue operations."},{title:"Waste & Rubbish",body:"Bin registries, missed bin workflows, contractor performance and community reporting."},{title:"Community Requests",body:"Unified CRM for community requests across every service line."},{title:"Works & Field Crews",body:"Digital job cards, timesheets, plant hire and field forms."},{title:"AI Copilots",body:"AI over TechnologyOne, Civica and Microsoft — not replacing them."}],workflow:[{title:"Report",body:"Resident lodges a request via web, phone, app or councillor."},{title:"Triage",body:"AI classifies, routes and prioritises across roads, waste, works, rates."},{title:"Assign",body:"Works crew, contractor or officer dispatched with SLA & job pack."},{title:"Resolve",body:"Field crew closes with photo, cost and asset update."},{title:"Close loop",body:"Resident notified, KPI captured, executive report updated."}],aiFeatures:[{title:"Community request copilot",body:"Drafts resident replies from context in TechOne, Civica and past cases."},{title:"Defect intelligence",body:"Photo-to-defect classification and works-order draft for road inspections."},{title:"Rates & exemption assistant",body:"Explains rates, exemptions and hardship pathways in plain language."},{title:"Executive briefing agent",body:"Weekly councillor briefings generated from live operational data."}],integrations:["TechnologyOne","Civica Authority","Microsoft Dynamics 365","SharePoint","Power BI","Microsoft 365","Assetic","Intramaps","GIS","OpenText","MailChimp","DocuSign"],useCases:[{title:"Roads & infrastru
516cture",body:"Photo-to-defect classification, works order automation and asset lifecycle over Assetic and GIS — without leaving your existing systems."},{title:"Rates & revenue",body:"Rates enquiries, exemptions, hardship and reconciliation copilots layered over TechnologyOne and Civica Authority."},{title:"Waste & rubbish",body:"Missed bin workflows, contractor performance and route intelligence — with a resident view built in."},{title:"Community services",body:"Unified triage of community requests across roads, waste, works, rates and libraries with SLA management."},{title:"Executive & councillor reporting",body:"AI-generated executive briefings from live operational data — weekly, on time, on-brand."}],whyUs:[{title:"AI over — not instead of",body:"Sits over TechnologyOne, Civica and Microsoft. Copilots add value without another rip-and-replace."},{title:"Built for regulated environments",body:"Privacy, records, audit and procurement compliance are structural — not workshops."},{title:"Council-fluent team",body:"Delivered by operators who've worked inside councils and their ERP/CRM stacks."},{title:"Design partner model",body:"Councils shape roadmap, keep IP fair and access peer benchmarking as the platform scales."}],testimonial:{quote:"Finally an AI project that respects our existing systems. Copilots sit on top of TechOne and Civica, not around them.",name:"Director of Digital",role:"Australian metropolitan council"},faqs:[{q:"Do we need to replace TechnologyOne or Civica?",a:"No. CivicFlow is deliberately built as an AI and workflow layer on top of TechnologyOne, Civica and Microsoft. Your core system of record stays."},{q:"How do you handle privacy and records?",a:"Deployment sits in your tenant, integrates with your identity provider and applies your records management, privacy and retention rules."},{q:"How does the design partner model work?",a:"Foundational councils shape the roadmap for their service line, receive favourable pricing and retain configuration ownership — while accessing the wider platform."},{q:"How fast can a first service line go live?",a:"A single service line (e.g. roads defects or missed bins) is typically live within 8–12 weeks, starting with a scoped Discovery."}],segmentsLabel:"For councils",segments:["Roads & Assets","Rates & Revenue","Waste","Community Services","Works & Infrastructure"],ctaLabel:"Become a Design Partner"}),DB=1,LB="b528d215-7980-4a3f-a74b-431453d5f845",$B="2303a136-ebed-4a95-9f74-22b71420daa4",FB="/__l5e/assets-v1/b528d215-7980-4a3f-a74b-431453d5f845/governmentos-architecture.jpg",BB="a/v1/2303a136-ebed-4a95-9f74-22b71420daa4/b528d215-7980-4a3f-a74b-431453d5f845/governmentos-architecture.jpg",UB="governmentos-architecture.jpg",WB=155135,VB="image/jpeg",zB="2026-07-25T00:27:09Z",HB={version:DB,asset_id:LB,project_id:$B,url:FB,r2_key:BB,original_filename:UB,size:WB,content_type:VB,created_at:zB},qB=1,GB="9f9a144f-2f40-409c-9183-0868eb62c29f",KB="2303a136-ebed-4a95-9f74-22b71420daa4",YB="/__l5e/assets-v1/9f9a144f-2f40-409c-9183-0868eb62c29f/governmentos-dashboard.jpg",JB="a/v1/2303a136-ebed-4a95-9f74-22b71420daa4/9f9a144f-2f40-409c-9183-0868eb62c29f/governmentos-dashboard.jpg",ZB="governmentos-dashboard.jpg",XB=178761,QB="image/jpeg",e9="2026-07-25T00:27:11Z",t9={version:qB,asset_id:GB,project_id:KB,url:YB,r2_key:JB,original_filename:ZB,size:XB,content_type:QB,created_at:e9},s9=()=>n.jsx(Ih,{slug:"governmentos",name:"GovernmentOS™",tagline:"AI Operating Platform for Government",status:"In Development",hero:{headline:"Modernising government",italic:"operations with AI.",lead:"GovernmentOS™ is the AI operating platform for federal, state and local government — unifying citizen services, grants, complaints, FOI, procurement, ministerial correspondence and workforce onto one intelligent layer."},mockupSrc:t9.url,screenshots:[{label:"Platform architecture",title:"One AI operating layer across every service line.",body:"Citizen channels flow into the GovernmentOS AI Layer, which orchestrates ten modules — from Citizen Services through to the Executive Dashboard — grounded in your existing systems of record. No rip-and-replace, no offshore data.",src:HB.url}],metrics:[{k:"10",v:"Integrated modules across the agency"},{k:"70%",v:"Reduction in ministerial correspondence turnaround"},{k:"24/7",v:"Citizen self-service across channels"},{k:"100%",v:"Auditable AI decisions with reasoning trails"}],capabilities:[{title:"Citizen Services",body:"Omnichannel intake, triage and case management for every citizen interaction — web, phone, in-person and mobile."},{title:"Grants",body:"End-to-end grants lifecycle — eligibility, assessment, disbursement and acquittal, with AI scoring and audit trails."},{title:"Complaints",body:"Structured complaints intake, classification and resolution with SLA tracking and escalation to the right team."},{title:"FOI",body:"Freedom of Information request handling with AI-assisted redaction, exemption review and statutory clock management."},{title:"Procurement",body:"Guided procurement workflows, panel management, evaluations and contract lifecycle — with policy compliance built in."},{title:"Ministerial Correspondence",body:"Draft, route and clear ministerial and executive correspondence with AI drafting on approved policy positions."},{title:"Workforce",body:"Rostering, capability, training and mobile field workforce — one operating layer across departments."},{title:"Knowledge Assistant",body:"Secure enterprise assistant grounded in your policies, procedures and record system. Answers with citations, never hallucinated."},{title:"AI Policy Search",body:"Search across acts, regulations, cabinet decisions and internal policy — with source-linked, plain-English answers for officers."},{title:"Executive Dashboard",body:"Real-time operating picture for CEs, DGs and ministers — SLAs, risk, spend and citizen sentiment in one view."}],aiFeatures:[{title:"Grounded, auditable AI",body:"Every AI answer, draft and decision is grounded in your records with full citation and a reasoning trail — ready for parliamentary scrutiny."},{title:"Policy-aware agents",body:"Agents operate within your delegations, thresholds and policy positions — not a generic chatbot bolted on top."},{title:"Sovereign & secure",body:"Australian-hosted, IRAP-aligned deployment options. Your data stays in your tenancy. No model training on citizen data."},{title:"Human-in-the-loop",body:"Officers approve, edit and sign off. AI accelerates the work — accountability stays with the delegate."}],integrations:["TechnologyOne","SAP","Objective ECM","Content Manager (TRIM)","Microsoft 365","ServiceNow","Salesforce","Asset
516ic","Pathway","Civica","Dynamics 365","Snowflake"],useCases:[{title:"Federal agency — ministerial correspondence",body:"AI-drafted first responses grounded in approved policy positions, routed through delegate approval — cutting turnaround from weeks to days."},{title:"State department — grants program",body:"Eligibility triage, AI-assisted assessment scoring and automated acquittal reminders across a $200M+ grants portfolio."},{title:"Local council — citizen services",body:"One front door for roads, rates, waste and planning — with AI triage routing residents to the right team the first time."},{title:"Regulator — FOI backlog",body:"AI-assisted redaction and exemption suggestions clear FOI backlogs while keeping every decision reviewable by the officer."}],whyUs:[{title:"Public sector native",body:"Built by operators who have delivered inside government — not a private-sector product retrofitted for council."},{title:"Sovereign by design",body:"Australian hosting, no offshore training, and a data model that respects the Archives, Privacy and FOI Acts."},{title:"Composable modules",body:"Start with one module. Add the rest at your pace. Every module works standalone or as part of the platform."},{title:"Audit-ready AI",body:"Every AI action is logged, cited and explainable — designed for the standard your Auditor-General expects."}],faqs:[{q:"Where does the data live?",a:"GovernmentOS™ deploys into your Australian-region tenancy with IRAP-aligned controls. No citizen data leaves your environment or is used to train foundation models."},{q:"How do you handle records and archives obligations?",a:"Every action, AI draft and decision is captured as a record with lineage — designed to integrate with Objective, Content Manager and other approved recordkeeping systems."},{q:"Can we start with a single module?",a:"Yes. Agencies typically start with ministerial correspondence, complaints or the Knowledge Assistant — then extend across the platform as value is proven."},{q:"How is this different from ServiceNow or Salesforce?",a:"GovernmentOS™ is AI-native and government-native from day one. It is a purpose-built operating layer, not a generic CRM or workflow tool configured for the public sector."}],segments:["Federal Agencies","State Departments","Local Government","Regulators","Statutory Authorities","Ministerial Offices"],segmentsLabel:"Built for",ctaLabel:"Request a briefing",seoTitle:"GovernmentOS™ — AI Operating Platform for Government",seoDesc:"GovernmentOS™ is the AI operating platform for government — citizen services, grants, complaints, FOI, procurement, ministerial correspondence, workforce and executive dashboards on one intelligent layer."}),r9=()=>{const{slug:e}=I2(),t=e?PO(e):void 0;if(!t)return n.jsx(D2,{to:"/insights",replace:!0});const s=Nh.filter(r=>r.slug!==t.slug).slice(0,3);return n.jsxs(Le,{children:[n.jsx(fe,{title:`${t.title} — 10xGrowth Labs Insights`,description:t.excerpt,path:`/insights/${t.slug}`}),n.jsx("article",{className:"pt-8 md:pt-12 pb-24 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-3xl",children:[n.jsxs(L,{to:"/insights",className:"inline-flex items-center gap-2 text-xs uppercase tracking-widest text-foreground/60 hover:text-foreground transition-colors mb-10",children:[n.jsx(hh,{className:"w-3.5 h-3.5"})," All Insights"]}),n.jsx("div",{className:"eyebrow mb-6",children:t.tag}),n.jsx("h1",{className:"font-display text-4xl md:text-6xl leading-[1.05] tracking-tight",children:t.title}),n.jsxs("div",{className:"mt-8 flex items-center gap-4 text-sm text-foreground/60",children:[n.jsx("span",{children:t.author}
516),n.jsx("span",{className:"w-1 h-1 rounded-full bg-foreground/30"}),n.jsx("span",{children:t.readTime})]}),n.jsx("div",{className:"hairline max-w-[3rem] my-12"}),n.jsx("p",{className:"text-xl md:text-2xl text-foreground/80 leading-relaxed mb-12 font-display",children:t.excerpt}),n.jsx("div",{className:"prose prose-lg max-w-none",children:t.body.map((r,i)=>n.jsxs("div",{className:"mb-10",children:[r.heading&&n.jsx("h2",{className:"font-display text-2xl md:text-3xl mt-14 mb-6 tracking-tight",children:r.heading}),r.paragraphs.map((a,o)=>n.jsx("p",{className:"text-lg text-foreground/80 leading-relaxed mb-6",children:a},o))]},i))})]})}),n.jsx("section",{className:"border-t border-foreground/10 py-24 px-6 bg-secondary/40",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsx("div",{className:"eyebrow mb-10",children:"More Insights"}),n.jsx("div",{className:"grid md:grid-cols-3 gap-8",children:s.map(r=>n.jsxs(L,{to:`/insights/${r.slug}`,className:"group border-t border-foreground/20 pt-6",children:[n.jsx("div",{className:"eyebrow mb-6",children:r.tag}),n.jsx("h3",{className:"font-display text-xl md:text-2xl leading-snug group-hover:text-foreground/70 transition-colors",children:r.title}),n.jsxs("div",{className:"mt-8 inline-flex items-center gap-2 text-sm font-semibold text-foreground/70 group-hover:text-foreground transition-colors",children:["Read ",n.jsx(W,{className:"w-4 h-4"})]})]},r.slug))})]})})]})},n9=[{label:"What You'll Build",href:"#deliverables"},{label:"Who It's For",href:"#audience"},{label:"Agenda",href:"#agenda"},{label:"Your Facilitators",href:"#facilitators"},{label:"FAQ",href:"#faq"}],i9=()=>n.jsx("div",{className:"hidden md:block sticky top-[64px] z-40 bg-[#102A2E] text-white/90 border-b border-white/10",children:n.jsxs("div",{className:"container mx-auto max-w-7xl px-6 flex items-center justify-between py-3",children:[n.jsxs("div",{className:"flex items-center gap-8 text-[13px]",children:[n.jsx("span",{className:"uppercase tracking-[0.22em] text-[11px] text-[#D99A2B]",children:"Product Sprint Live"}),n9.map(e=>n.jsx("a",{href:e.href,className:"hover:text-white text-white/70 transition-colors",children:e.label},e.href))]}),n.jsxs("a",{href:"#apply",className:"inline-flex items-center gap-2 bg-[#D99A2B] hover:bg-[#c68a22] text-[#102A2E] px-4 py-2 rounded-md text-[13px] font-semibold transition-colors",children:["Apply Now ",n.jsx(W,{className:"w-4 h-4"})]})]})}),kt=({children:e,dark:t=!1})=>n.jsx("div",{className:`text-[11px] font-semibold uppercase tracking-[0.24em] ${t?"text-[#D99A2B]":"text-[#0F766E]"}`,children:e}),OS=({children:e,className:t=""})=>n.jsx("div",{className:`bg-white border border-[#102A2E]/10 rounded-2xl p-8 ${t}`,children:e}),a9=()=>n.jsx("section",{className:"bg-[#F5F7F6] px-6 pt-16 pb-24 md:pt-24 md:pb-32",children:n.jsxs("div",{className:"container mx-auto max-w-7xl grid lg:grid-cols-12 gap-14 items-center",children:[n.jsxs("div",{className:"lg:col-span-7",children:[n.jsx(kt,{children:"Product Sprint Live · Half-Day Intensive"}),n.jsx("h1",{className:"mt-6 font-display text-4xl md:text-6xl lg:text-7xl leading-[1.02] tracking-tight text-[#102A2E]",children:"Turn one business idea into a product you can show."}),n.jsx("p",{className:"mt-6 text-xl md:text-2xl text-[#102A2E]/75 font-serif-italic",children:"Strategy, UX and AI prototyping—guided by specialists in one focused half-day."}),n.jsx("p",{className:"mt-6 text-base md:text-lg text-[#102A2E]/70 max-w-2xl leading-relaxed",children:"Bring an app idea, customer problem or inefficient business process. Work alongside product, UX and engineering specialists to define the right solution, simplify the user journey and create a working prototype of the most important workflow."}),n.jsxs("div",{className:"mt-10 flex flex-col sm:flex-row gap-4",children:[n.jsxs("a",{href:"#apply",className:"inline-flex items-center justify-center gap-2 bg-[#102A2E] hover:bg-[#0b1e21] text-white px-7 py-4 rounded-lg font-semibold transition-colors",children:["Apply for the Founding Cohort ",n.jsx(W,{className:"w-4 h-4"})]}),n.jsx("a",{href:"#agenda",className:"inline-flex items-center justify-center gap-2 border border-[#102A2E]/25 hover:border-[#102A2E] text-[#102A2E] px-7 py-4 rounded-lg font-semibold transition-colors",children:"See the Sprint Agenda"})]}),n.jsx("p",{className:"mt-5 text-sm text-[#102A2E]/60",children:"Maximum 10 participants · $695 + GST · No technical experience required"})]}),n.jsxs("div",{className:"lg:col-span-5 relative",children:[n.jsxs("div",{className:"aspect-[4/5] w-full rounded-2xl overflow-hidden bg-gradient-to-br from-[#102A2E] via-[#143336] to-[#0F766E] relative",children:[n.jsx("div",{className:"absolute inset-0 opacity-30 bg-[radial-gradient(circle_at_30%_20%,rgba(217,154,43,0.35),transparent_60%)]"}),n.jsxs("div",{className:"absolute bottom-8 left-8 right-8 text-white/90",children:[n.jsx("div",{className:"text-[11px] uppercase tracking-[0.22em] text-[#D99A2B] mb-2",children:"In the room"}),n.jsx("div",{className:"font-display text-2xl leading-tight",children:"A founder, a strategist and an engineer—reviewing one product workflow on screen."})]})]}),n.jsxs("div",{className:"absolute -bottom-8 -left-6 md:-left-10 bg-white border border-[#102A2E]/10 rounded-2xl p-6 shadow-xl w-[280px]",children:[n.jsx("div",{className:"text-[11px] uppercase tracking-[0.22em] text-[#0F766E] mb-3",children:"Your Sprint Output"}),n.jsx("ul",{className:"space-y-2 text-sm text-[#102A2E]",children:["Product direction","Prioritised MVP scope","Core user journey","Working prototype","Recommended next steps"].map(e=>n.jsxs("li",{className:"flex items-start gap-2",children:[n.jsx(bn,{className:"w-4 h-4 text-[#0F766E] mt-0.5 shrink-0"})," ",e]},e))})]})]})]})}),o9=()=>n.jsx("section",{className:"bg-white border-y border-[#102A2E]/10 py-10 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl flex flex-col md:flex-row md:items-center gap-6 justify-between",children:[n.jsx("p",{className:"text-[#102A2E] font-display text-lg md:text-xl max-w-md",children:"Built for people who need clarity before they invest."}),n.jsx("div",{className:"flex flex-wrap gap-x-10 gap-y-3 text-[12px] uppercase tracking-[0.22em] text-[#102A2E]/70",children:["Product Strategy","UX Design","AI Prototyping","Technical Direction"].map(e=>n.jsx("span",{children:e},e))})]})}),l9=()=>{const e=[["Unclear Product","You have an idea, but the user, problem and value proposition are not yet sharp."],["Oversized MVP","Too many features are making the product expensive and difficult to launch."],["Broken Workflow","The process makes sense internally but is confusing for customers or staff."],["Premature Development","You are considering a full software build before testing the core experience."]];return n.jsx("section",{className:"bg-[#F5F7F6] py-24 md:py-32 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"max-w-4xl",children:[n.jsx(kt,{children:"The Problem"}),n.jsxs("h2",{className:"mt-4 font-display text-3xl md:text-5xl leading-tight tracking-tight text-[#102A2E]",children:["AI can build screens quickly.",n.jsx("br",{}),n.jsx("span",{className:"text-[#0F766E]",children:"It cannot decide what you should build."})]}),n.jsx("p",{className:"mt-6 text-lg text-[#102A2E]/70 leading-relaxed",children:"Most expensive product mistakes happen before development begins. The target user is unclear. The MVP contains too many features. The workflow has not been tested. Business rules are missed. Teams invest in software before validating whether the solution is useful."})]}),n.jsx("div",{className:"mt-14 grid md:grid-cols-2 lg:grid-cols-4 gap-6",children:e.map(([t,s])=>n.jsxs(OS,{children:[n.jsx("div",{className:"font-display text-xl text-[#102A2E] mb-3",children:t}),n.jsx("p",{className:"text-[#102A2E]/70 leading-relaxed text-[15px]",children:s})]},t))}),n.jsx("div",{className:"mt-12 border-l-2 border-[#D99A2B] pl-6",children:n.jsx("p",{className:"text-xl md:text-2xl font-display text-[#102A2E]",children:"The sprint helps you make the important product decisions before the expensive development decisions."})})]})})},c9=()=>{const e=[{title:"Startup Founders",desc:"You have an app or platform idea and need help defining the MVP, user experience and next development step.",ex:["Marketplace","Membership platform","SaaS product","Customer app","Industry-specific platform"]},{title:"Business Owners",desc:"You have a manual, disconnected or frustrating process that could be improved through software or automation.",ex:["Scheduling","Customer intake","Approvals","Field operations","Reporting","Enquiry follow-up"]},{title:"Innovation & Ops Leaders",desc:"You need a tangible prototype to align stakeholders, test an internal 
516concept or support a business case.",ex:["Internal workflow","Client portal","Operational dashboard","Compliance process","Automation concept"]}];return n.jsx("section",{id:"audience",className:"bg-white py-24 md:py-32 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"max-w-3xl",children:[n.jsx(kt,{children:"Who It's For"}),n.jsx("h2",{className:"mt-4 font-display text-3xl md:text-5xl leading-tight text-[#102A2E]",children:"Designed for founders and businesses with something real to solve."})]}),n.jsx("div",{className:"mt-14 grid md:grid-cols-3 gap-6",children:e.map(t=>n.jsxs("div",{className:"border border-[#102A2E]/10 rounded-2xl p-8 bg-[#F5F7F6]",children:[n.jsx("div",{className:"font-display text-2xl text-[#102A2E]",children:t.title}),n.jsx("p",{className:"mt-3 text-[#102A2E]/70 leading-relaxed",children:t.desc}),n.jsx("ul",{className:"mt-6 space-y-1.5 text-sm text-[#102A2E]/80",children:t.ex.map(s=>n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"w-1 h-1 rounded-full bg-[#0F766E]"})," ",s]},s))})]},t.title))}),n.jsxs("div",{className:"mt-14 bg-[#102A2E]/[0.04] border border-[#102A2E]/10 rounded-2xl p-8",children:[n.jsx("div",{className:"text-[11px] uppercase tracking-[0.22em] text-[#102A2E]/60 mb-3",children:"Not suitable for"}),n.jsx("ul",{className:"grid md:grid-cols-2 gap-x-8 gap-y-2 text-[#102A2E]/75",children:["People looking for general AI training","Anyone expecting a complete production application in four hours","Ideas with 
516no defined business problem","Participants unwilling to focus on one core workflow"].map(t=>n.jsxs("li",{className:"flex items-start gap-2",children:[n.jsx(ar,{className:"w-4 h-4 mt-1 text-[#D99A2B]"})," ",t]},t))})]})]})})},d9=()=>{const e=[["01","Product Problem Statement","A clear definition of the customer, operational issue and desired outcome."],["02","Focused MVP Scope","The essential features required to test the concept, plus what should be excluded."],["03","Core User Journey","A simplified step-by-step experience for the product's most important user."],["04","Working Prototype","A clickable or functional prototype of one high-value workflow."],["05","Technical Direction","Initial guidance on architecture, integrations, data and development considerations."],["06","90-Day Next-Step Roadmap","A practical recommendation covering validation, refinement and potential development."]];return n.jsx("section",{id:"deliverables",className:"bg-[#102A2E] text-white py-24 md:py-32 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"max-w-3xl",children:[n.jsx(kt,{dark:!0,children:"Deliverables"}),n.jsx("h2",{className:"mt-4 font-display text-3xl md:text-5xl leading-tight",children:"What you'll leave with."})]}),n.jsx("div",{className:"mt-14 grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:e.map(([t,s,r])=>n.jsxs("div",{className:"border border-white/10 rounded-2xl p-8 bg-white/[0.03]",children:[n.jsx("div",{className:"text-[#D99A2B] font-display text-sm",children:t}),n.jsx("div",{className:"mt-3 font-display text-xl",children:s}),n.jsx("p",{className:"mt-3 text-white/70 leading-relaxed text-[15px]",children:r})]},t))}),n.jsx("p",{className:"mt-12 text-white/70 max-w-3xl leading-relaxed",children:"The output is designed to help you demonstrate the idea, collect feedback, brief stakeholders and make a more informed investment decision."})]})})},u9=()=>n.jsx("section",{className:"bg-[#F5F7F6] py-24 md:py-32 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl grid lg:grid-cols-12 gap-14",children:[n.jsxs("div",{className:"lg:col-span-5",children:[n.jsx(kt,{children:"Before the Event"}),n.jsx("h2",{className:"mt-4 font-display text-3xl md:text-5xl leading-tight text-[#102A2E]",children:"The work begins before you enter the room."}),n.jsx("p",{className:"mt-6 text-[#102A2E]/70 leading-relaxed",children:"This preparation allows the live session to focus on decisions, design and progress—not introductions and lengthy discovery."})]}),n.jsx("div",{className:"lg:col-span-7 space-y-6",children:[["01","Application","Tell us about your idea, business problem and desired outcome."],["02","20-Minute Preparation Call","We clarify the problem, assess suitability and identify the workflow to focus on."],["03","Pre-Sprint Setup","Our team prepares an initial product brief, workflow structure and prototype starting point."]].map(([e,t,s])=>n.jsxs("div",{className:"bg-white border border-[#102A2E]/10 rounded-2xl p-8 flex gap-6",children:[n.jsx("div",{className:"text-[#0F766E] font-display text-3xl w-12 shrink-0",children:e}),n.jsxs("div",{children:[n.jsx("div",{className:"font-display text-xl text-[#102A2E]",children:t}),n.jsx("p",{className:"mt-2 text-[#102A2E]/70",children:s})]})]},e))})]})}),h9=()=>{const e=[["1:00 PM","Define the Problem","Clarify the user, business problem, desired outcome and success criteria."],["1:30 PM","Architect the MVP","Prioritise the essential workflow, business rules and features. Remove unnecessary scope."],["2:30 PM","Design the Experience","Map and refine the core user journey with guidance from a UX specialist."],["3:15 PM","Build the Prototype","Work with the product team to turn the approved workflow into a working prototype."],["4:30 PM","Review and Roadmap","Test the concept, identify risks and define the next 90 days."],["5:00 PM","Sprint Concludes",""]];return n.jsx("section",{id:"agenda",className:"bg-white py-24 md:py-32 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"max-w-3xl",children:[n.jsx(kt,{children:"Agenda"}),n.jsx("h2",{className:"mt-4 font-display text-3xl md:text-5xl leading-tight text-[#102A2E]",children:"Four focused hours. One clear outcome."})]}),n.jsxs("div",{className:"mt-14 relative",children:[n.jsx("div",{className:"absolute left-[110px] top-2 bottom-2 w-px bg-[#102A2E]/10 hidden md:block"}),n.jsx("ol",{className:"space-y-8",children:e.map(([t,s,r])=>n.jsxs("li",{className:"flex flex-col md:flex-row gap-4 md:gap-10 items-start",children:[n.jsx("div",{className:"w-[100px] shrink-0 font-display text-[#0F766E] font-semibold",children:t}),n.jsx("div",{className:"hidden md:block relative w-3 h-3 mt-2 rounded-full bg-[#D99A2B] shrink-0"}),n.jsxs("div",{className:"flex-1",children:[n.jsx("div",{className:"font-display text-xl text-[#102A2E]",children:s}),r&&n.jsx("p",{className:"mt-2 text-[#102A2E]/70 leading-relaxed max-w-2xl",children:r})]})]},t))})]}),n.jsx("p",{className:"mt-10 text-sm text-[#102A2E]/55 italic",children:"Timing may be adju
516sted slightly depending on the final session format."})]})})},m9=()=>{const e=[["Product Strategist","Helps define the problem, commercial objective, MVP and product priorities."],["UX Specialist","Simplifies the journey, structures the screens and improves usability."],["Product Engineer","Supports technical decisions and turns the agreed workflow into a working prototype."]];return n.jsx("section",{className:"bg-[#F5F7F6] py-24 md:py-32 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"max-w-3xl",children:[n.jsx(kt,{children:"How the Sprint Works"}),n.jsxs("h2",{className:"mt-4 font-display text-3xl md:text-5xl leading-tight text-[#102A2E]",children:["You bring the business knowledge.",n.jsx("br",{}),n.jsx("span",{className:"text-[#0F766E]",children:"We bring the product team."})]})]}),n.jsx("div",{className:"mt-14 grid md:grid-cols-3 gap-6",children:e.map(([t,s])=>n.jsxs(OS,{children:[n.jsx("div",{className:"font-display text-2xl text-[#102A2E]",children:t}),n.jsx("p",{className:"mt-3 text-[#102A2E]/70 leading-relaxed",children:s})]},t))}),n.jsx("p",{className:"mt-10 text-[#102A2E]/70 max-w-3xl",children:"This is not a room where you are left alone following software tutorials. You receive direct guidance throughout the sprint."})]})})},p9=()=>n.jsx("section",{className:"bg-white py-20 px-6 border-y border-[#102A2E]/10",children:n.jsxs("div",{className:"container mx-auto max-w-7xl grid md:grid-cols-12 gap-10 items-center",children:[n.jsxs("div",{className:"md:col-span-5",children:[n.jsx(kt,{children:"Tools"}),n.jsx("h2",{className:"mt-4 font-display text-2xl md:text-3xl text-[#102A2E]",children:"Modern tools. Human product judgement."})]}),n.jsxs("div",{className:"md:col-span-7",children:[n.jsx("div",{className:"flex flex-wrap gap-x-10 gap-y-4 text-[#102A2E]/70 font-display text-lg",children:["Claude","Figma","Lovable","AI-assisted development tools"].map(e=>n.jsx("span",{className:"border border-[#102A2E]/15 rounded-md px-4 py-2",children:e},e))}),n.jsx("p",{className:"mt-6 text-[#102A2E]/65 text-sm max-w-xl",children:"The tools help accelerate the work. They do not replace strategy, UX thinking, business knowledge or technical judgement."})]})]})}),f9=()=>{const e=["Broad idea","Too many features","Unclear user journey","No product to demonstrate","Uncertain development cost","Difficult stakeholder conversations"],t=["Defined product problem","Prioritised MVP","Core workflow","Working prototype","Clear technical questions","Recommended next steps"];return n.jsx("section",{className:"bg-[#F5F7F6] py-24 md:py-32 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"max-w-3xl",children:[n.jsx(kt,{children:"Transformation"}),n.jsx("h2",{className:"mt-4 font-display text-3xl md:text-5xl leading-tight text-[#102A2E]",children:"From an idea in your head to something people can experience."})]}),n.jsxs("div",{className:"mt-14 grid md:grid-cols-2 gap-6",children:[n.jsxs("div",{className:"bg-white border border-[#102A2E]/10 rounded-2xl p-8",children:[n.jsx("div",{className:"text-[11px] uppercase tracking-[0.22em] text-[#102A2E]/50 mb-4",children:"Before"}),n.jsx("ul",{className:"space-y-3",children:e.map(s=>n.jsxs("li",{className:"flex items-start gap-3 text-[#102A2E]/70",children:[n.jsx(ar,{className:"w-4 h-4 mt-1 text-[#102A2E]/40"})," ",s]},s))})]}),n.jsxs("div",{className:"bg-[#102A2E] text-white rounded-2xl p-8",children:[n.jsx("div",{className:"text-[11px] uppercase tracking-[0.22em] text-[#D99A2B] mb-4",children:"After"}),n.jsx("ul",{className:"space-y-3",children:t.map(s=>n.jsxs("li",{className:"flex items-start gap-3 text-white/90",children:[n.jsx(bn,{className:"w-4 h-4 mt-1 text-[#D99A2B]"})," ",s]},s))})]})]})]})})},g9=()=>{const e=[["Customer Booking App","Simplify customer enquiries, scheduling and confirmations."],["Field Operations App","Connect jobs, staff, tasks, photos and reporting."],["Client or Participant Portal","Provide customers with clearer access to information, documents and requests."],["Internal Approval Workflow","Replace emails and spreadsheets with a structured process."],["Industry Marketplace","Connect buyers, sellers or service providers around a focused transaction."],["AI-Assisted Operations Tool","Use AI to support intake, administration, analysis or customer communication."]];return n.jsx("section",{className:"bg-white py-24 md:py-32 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"max-w-3xl",children:[n.jsx(kt,{children:"Examples"}),n.jsx("h2",{className:"mt-4 font-display text-3xl md:text-5xl leading-tight text-[#102A2E]",children:"What c
516ould you prototype?"})]}),n.jsx("div",{className:"mt-14 grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:e.map(([t,s])=>n.jsxs("div",{className:"border border-[#102A2E]/10 rounded-2xl p-8 hover:border-[#0F766E]/40 transition-colors",children:[n.jsx("div",{className:"font-display text-lg text-[#102A2E]",children:t}),n.jsx("p",{className:"mt-3 text-[#102A2E]/70 leading-relaxed text-[15px]",children:s})]},t))}),n.jsx("p",{className:"mt-10 text-[#102A2E]/60 max-w-2xl",children:"Your idea does not need to fit one of these categories. It does need one clear problem to solve."})]})})},x9=()=>{const e=[{role:"CEO / Product Strategist",name:"Neeraj Kapoor",bio:"CEO of 10xGrowth Labs and enterprise technology leader. Previously a Director in the Microsoft Business Applications ecosystem, Neeraj has designed operational platforms, business applications and digital transformation solutions across private and public-sector organisations."},{role:"UX and Product Designer",name:"To be announced",bio:"Senior product designer specialising in operational software and workflow-first UX."},{role:"Product Engineer",name:"To be announced",bio:"Full-stack engineer focused on rapid prototyping, integrations and production-ready architecture."}];return n.jsx("section",{id:"facilitators",className:"bg-[#F5F7F6] py-24 md:py-32 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"max-w-3xl",children:[n.jsx(kt,{children:"Your Facilitators"}),n.jsx("h2",{className:"mt-4 font-display text-3xl md:text-5xl leading-tight text-[#102A2E]",children:"Guided by people who build products, not just present slides."})]}),n.jsx("div",{className:"mt-14 grid md:grid-cols-3 gap-6",children:e.map(t=>n.jsxs("div",{className:"bg-white border border-[#102A2E]/10 rounded-2xl overflow-hidden",children:[n.jsx("div",{className:"aspect-[4/3] bg-gradient-to-br from-[#102A2E] to-[#0F766E]"}),n.jsxs("div",{className:"p-8",children:[n.jsx("div",{className:"text-[11px] uppercase tracking-[0.22em] text-[#0F766E]",children:t.role}),n.jsx("div",{className:"mt-2 font-display text-xl text-[#102A2E]",children:t.name}),n.jsx("p",{className:"mt-3 text-[#102A2E]/70 text-[15px] leading-relaxed",children:t.bio})]})]},t.role))})]})})},y9=()=>n.jsx("section",{className:"bg-white py-24 md:py-32 px-6",children:n.jsx("div",{className:"container mx-auto max-w-4xl",children:n.jsxs("div",{className:"bg-[#102A2E] text-white rounded-3xl p-10 md:p-14 relative overflow-hidden",children:[n.jsx("div",{className:"absolute -top-16 -right-16 w-64 h-64 rounded-full bg-[#0F766E]/40 blur-3xl"}),n.jsxs("div",{className:"relative",children:[n.jsxs("div",{className:"flex flex-col md:flex-row md:items-end justify-between gap-6",children:[n.jsxs("div",{children:[n.jsx(kt,{dark:!0,children:"Founding Cohort"}),n.jsx("h2",{className:"mt-3 font-display text-4xl md:text-5xl",children:"Product Sprint Live"}),n.jsx("p",{className:"mt-3 text-white/70",children:"Melbourne · Half-day intensive · Maximum 10 seats"})]}),n.jsxs("div",{className:"text-right",children:[n.jsx("div",{className:"font-display text-5xl md:text-6xl text-[#D99A2B]",children:"$695"}),n.jsx("div",{className:"text-white/60 text-sm",children:"+ GST per participant"})]})]}),n.jsx("ul",{className:"mt-10 grid md:grid-cols-2 gap-3",children:["Four-hour guided product sprint","Pre-event preparation call","Product problem definition","Prioritised MVP scope","Core user journey","Working prototype","Technical direction","90-day roadmap","Refreshments","Maximum 10 participants"].map(e=>n.jsxs("li",{className:"flex items-start gap-2 text-white/85",children:[n.jsx(bn,{className:"w-4 h-4 mt-1 text-[#D99A2B] shrink-0"})," ",e]},e))}),n.jsxs("div",{className:"mt-10 flex flex-col sm:flex-row items-start sm:items-center gap-4",children:[n.jsxs("a",{href:"#apply",className:"inline-flex items-center gap-2 bg-[#D99A2B] hover:bg-[#c68a22] text-[#102A2E] px-7 py-4 rounded-lg font-semibold transition-colors",children:["Apply for the Founding Cohort ",n.jsx(W,{className:"w-4 h-4"})]}),n.jsx("span",{className:"text-white/60 text-sm",children:"Applications are reviewed to ensure each idea is suitable for the format."})]}),n.jsx("p",{className:"mt-8 text-white/60 text-sm max-w-2xl border-t border-white/10 pt-6",children:"A full product discovery engagement can cost thousands before development begins. This intensive is designed to give founders and businesses an accessible first step without committing to a full build."})]})]})})}),v9=()=>n.jsx("section",{className:"bg-[#F5F7F6] py-24 md:py-32 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-7xl",children:[n.jsxs("div",{className:"max-w-3xl",children:[n.jsx(kt,{children:"Application Process"}),n.jsx("h2",{className:"mt-4 font-display text-3xl md:text-5xl leading-tight text-[#102A2E]",children:"How to secure your place."})]}),n.jsx("div",{className:"mt-14 grid md:grid-cols-4 gap-6",children:[["01","Submit Your Application"],["02","Complete a Short Fit Call"],["03","Receive Confirmation and Payment Link"],["04","Complete Your Pre-Sprint Preparation"]].map(([e,t])=>n.jsxs("div",{className:"bg-white border border-[#102A2E]/10 rounded-2xl p-6",children:[n.jsx("div",{className:"text-[#0F766E] font-display text-2xl",children:e}),n.jsx("div",{className:"mt-3 font-display text-lg text-[#102A2E]",children:t})]},e))}),n.jsx("div",{className:"mt-10",children:n.jsxs("a",{href:"#apply",className:"inline-flex items-center gap-2 bg-[#102A2E] hover:bg-[#0b1e21] text-white px-7 py-4 rounded-lg font-semibold",children:["Start Your Application ",n.jsx(W,{className:"w-4 h-4"})]})})]})}),b9=[["Do I need technical experience?","No. You bring the business knowledge and decisions. The team guides the product, design and prototype process."],["Will I leave with a complete app?","No. The sprint focuses on one essential workflow and produces a prototype for testing, demonstration and planning. A production application requires separate design, development, testing and deployment."],["What kind of idea should I bring?","You may bring a startup concept, customer-facing app, internal workflow or inefficient operational process. It must have a clear problem and identifiable user."],["Can t
516wo people attend from the same company?","Yes. Additional participant pricing or team packages may be available on request."],["What happens after the sprint?","You may test the prototype independently, continue refining it, use it for internal discussions or request a separate proposal for product discovery and development. There is no obligation to engage 10xGrowth Labs afterward."],["Will my idea remain confidential?","Participant ideas are treated respectfully and confidentially during preparation and delivery. Formal NDA arrangements can be discussed where genuinely required."],["What tools will be used?","The team may use Claude, Figma, Lovable and other product-development tools depending on the idea. The sprint is outcome-focused rather than tool-training focused."],["Is the fee refundable?","Because preparation work begins before the event, bookings are non-refundable after the preparation call. A place may be transferred to another suitable participant or moved to a future cohort subject to notice and availability."],["What if my idea is too complex?","The team will narrow the idea to one meaningful workflow that can be addressed within the session. Where the concept is not suitable, the application will not be accepted."]],w9=()=>{const[e,t]=w.useState(0);return n.jsx("section",{id:"faq",className:"bg-white py-24 md:py-32 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-4xl",children:[n.jsx(kt,{children:"FAQ"}),n.jsx("h2",{className:"mt-4 font-display text-3xl md:text-5xl leading-tight text-[#102A2E]",children:"Straight answers."}),n.jsx("div",{className:"mt-12 divide-y divide-[#102A2E]/10 border-y border-[#102A2E]/10",children:b9.map(([s,r],i)=>n.jsxs("button",{onClick:()=>t(e===i?null:i),className:"w-full text-left py-6 flex items-start gap-6 group",children:[n.jsxs("div",{className:"flex-1",children:[n.jsx("div",{className:"font-display text-lg text-[#102A2E]",children:s}),e===i&&n.jsx("p",{className:"mt-3 text-[#102A2E]/70 leading-relaxed",children:r})]}),n.jsx(Ar,{className:`w-5 h-5 text-[#102A2E]/50 mt-1 transition-transform ${e===i?"rotate-180":""}`})]},s))})]})})},j9=()=>n.jsxs("section",{className:"bg-[#102A2E] text-white py-24 md:py-32 px-6 relative overflow-hidden",children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(circle_at_70%_30%,rgba(217,154,43,0.18),transparent_55%)]"}),n.jsxs("div",{className:"container mx-auto max-w-4xl text-center relative",children:[n.jsx(kt,{dark:!0,children:"Maximum 10 Participants"}),n.jsxs("h2",{className:"mt-6 font-display text-4xl md:text-6xl leading-[1.05] tracking-tight",children:["Stop discussing the idea.",n.jsx("br",{}),n.jsx("span",{className:"text-[#D99A2B]",children:"Start making it tangible."})]}),n.jsx("p",{className:"mt-8 text-lg text-white/75 max-w-2xl mx-auto",children:"Bring one product idea or operational problem. Leave with the clarity and prototype needed to decide what happens next."}),n.jsx("div",{className:"mt-10 flex flex-col sm:flex-row items-center justify-center gap-4",children:n.jsxs("a",{href:"#apply",className:"inline-flex items-center gap-2 bg-[#D99A2B] hover:bg-[#c68a22] text-[#102A2E] px-8 py-4 rounded-lg font-semibold",children:["Apply for Product Sprint Live ",n.jsx(W,{className:"w-4 h-4"})]})}),n.jsx("p",{className:"mt-6 text-white/60 text-sm",children:"$695 + GST · Half-day intensive · Melbourne"})]})]}),Hn=({label:e,name:t,type:s="text",value:r,onChange:i,required:a=!0,placeholder:o})=>n.jsxs("label",{className:"block",children:[n.jsxs("span",{className:"block text-sm font-medium text-[#102A2E] mb-2",children:[e,a&&n.jsx("span",{className:"text-[#D99A2B]",children:" *"})]}),n.jsx("input",{type:s,name:t,value:r||"",onChange:i,required:a,placeholder:o,className:"w-full border border-[#102A2E]/20 rounded-lg px-4 py-3 bg-white focus:border-[#0F766E] focus:outline-none focus:ring-2 focus:ring-[#0F766E]/20"})]}),Fm=({label:e,name:t,value:s,onChange:r,required:i=!0})=>n.jsxs("label",{className:"block",children:[n.jsxs("span",{className:"block text-sm font-medium text-[#102A2E] mb-2",children:[e,i&&n.jsx("span",{className:"text-[#D99A2B]",children:" *"})]}),n.jsx("textarea",{name:t,value:s||"",onChange:r,required:i,rows:4,className:"w-full border border-[#102A2E]/20 rounded-lg px-4 py-3 bg-white focus:border-[#0F766E] focus:outline-none focus:ring-2 focus:ring-[#0F766E]/20"})]}),Ro=({label:e,name:t,options:s,value:r,onChange:i})=>n.jsxs("div",{children:[n.jsx("div",{className:"block text-sm font-medium text-[#102A2E] mb-3",children:e}),n.jsx("div",{className:"grid sm:grid-cols-2 gap-2",children:s.map(a=>n.jsxs("label",{className:`border rounded-lg px-4 py-3 cursor-pointer transition-colors ${r===a?"border-[#0F766E] bg-[#0F766E]/5":"border-[#102A2E]/15 hover:border-[#102A2E]/30"}`,children:[n.jsx("input",{type:"radio",name:t,value:a,checked:r===a,onChange:i,className:"sr-only"}),n.jsx("span",{className:"text-sm text-[#102A2E]",children:a})]},a))})]}),k9=()=>{const[e,t]=w.useState(1),[s,r]=w.useState({}),[i,a]=w.useState(!1),o=c=>r(d=>({...d,[c.target.name]:c.target.value})),l=c=>{if(c.preventDefault(),e<3){t(e+1);return}a(!0)};return i?n.jsx("section",{id:"apply",className:"bg-[#F5F7F6] py-24 md:py-32 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-2xl bg-white border border-[#102A2E]/10 rounded-2xl p-12 text-center",children:[n.jsx("div",{className:"w-14 h-14 roun
516ded-full bg-[#0F766E]/10 flex items-center justify-center mx-auto",children:n.jsx(bn,{className:"w-7 h-7 text-[#0F766E]"})}),n.jsx("h2",{className:"mt-6 font-display text-3xl text-[#102A2E]",children:"Application received."}),n.jsx("p",{className:"mt-4 text-[#102A2E]/70",children:"Thank you. We'll review your idea and contact you to arrange a short fit call if the sprint appears suitable."})]})}):n.jsx("section",{id:"apply",className:"bg-[#F5F7F6] py-24 md:py-32 px-6",children:n.jsxs("div",{className:"container mx-auto max-w-3xl",children:[n.jsxs("div",{className:"text-center mb-10",children:[n.jsx(kt,{children:"Application"}),n.jsx("h2",{className:"mt-4 font-display text-3xl md:text-5xl text-[#102A2E]",children:"Apply for Product Sprint Live"}),n.jsx("div",{className:"mt-6 flex items-center justify-center gap-2",children:[1,2,3].map(c=>n.jsx("div",{className:`h-1.5 w-16 rounded-full ${e>=c?"bg-[#0F766E]":"bg-[#102A2E]/15"}`},c))}),n.jsxs("div",{className:"mt-3 text-sm text-[#102A2E]/60",children:["Step ",e," of 3"]})]}),n.jsxs("form",{onSubmit:l,className:"bg-white border border-[#102A2E]/10 rounded-2xl p-8 md:p-10 space-y-6",children:[e===1&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"font-display text-xl text-[#102A2E]",children:"About you"}),n.jsxs("div",{className:"grid sm:grid-cols-2 gap-4",children:[n.jsx(Hn,{label:"Full name",name:"name",value:s.name,onChange:o}),n.jsx(Hn,{label:"Work email",name:"email",type:"email",value:s.email,onChange:o}),n.jsx(Hn,{label:"Mobile number",name:"phone",type:"tel",value:s.phone,onChange:o}),n.jsx(Hn,{label:"Company",name:"company",value:s.company,onChange:o}),n.jsx(Hn,{label:"Role",name:"role",value:s.role,onChange:o}),n.jsx(Hn,{label:"Website",name:"website",type:"url",value:s.website,onChange:o,required:!1})]})]}),e===2&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"font-display text-xl text-[#102A2E]",children:"Your idea"}),n.jsx(Ro,{label:"Which best describes your project?",name:"projectType",options:["New startup or product","Existing business process","Customer-facing application","Internal business application","Other"],value:s.projectType,onChange:o}),n.jsx(Fm,{label:"Briefly describe the idea or problem.",name:"idea",value:s.idea,onChange:o}),n.jsx(Hn,{label:"Who is the main user?",name:"user",value:s.user,onChange:o}),n.jsx(Fm,{label:"What is the most important workflow you want to prototype?",name:"workflow",value:s.workflow,onChange:o}),n.jsx(Ro,{label:"What have you already created?",name:"stage",options:["Idea only","Written notes","Wireframes","Prototype","Existing software","Other"],value:s.stage,onChange:o})]}),e===3&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"font-display text-xl text-[#102A2E]",children:"Your objective"}),n.jsx(Fm,{label:"What would make the sprint successful for you?",name:"success",value:s.success,onChange:o}),n.jsx(Ro,{label:"Are you considering development after the sprint?",name:"dev",options:["Yes, within 0–3 months","Possibly within 3–6 months","Still validating","No current development plan"],value:s.dev,onChange:o}),n.jsx(Ro,{label:"What level of future investment are you considering?",name:"budget",options:["Under $10,000","$10,000–$30,000","$30,000–$75,000","$75,000+","Not yet determined"],value:s.budget,onChange:o}),n.jsx(Ro,{label:"Can you attend the complete four-hour session?",name:"attend",options:["Yes","No"],value:s.attend,onChange:o})]}),n.jsxs("div",{className:"flex items-center justify-between pt-4",children:[e>1?n.jsx("button",{type:"button",onClick:()=>t(e-1),className:"text-[#102A2E]/70 hover:text-[#102A2E] font-medium",children:"← Back"}):n.jsx("span",{}),n.jsxs("button",{type:"submit",className:"inline-flex items-center gap-2 bg-[#102A2E] hover:bg-[#0b1e21] text-white px-7 py-3 rounded-lg font-semibold",children:[e<3?"Continue":"Submit My Application"," ",n.jsx(W,{className:"w-4 h-4"})]})]})]})]})})},N9=()=>n.jsxs("section",{className:"bg-white py-14 px-6 border-b border-[#102A2E]/10",children:[n.jsx("div",{className:"container mx-auto max-w-7xl grid sm:grid-cols-2 md:grid-cols-4 gap-8",children:[["Location","Melbourne — Venue to be announced"],["Date","Date to be announced"],["Duration","4 hours · Half-day intensive"],["Capacity","Maximum 10 participants"]].map(([e,t])=>n.jsxs("div",{children:[n.jsx("div",{className:"text-[11px] uppercase tracking-[0.22em] text-[#0F766E]",children:e}),n.jsx("div",{className:"mt-2 font-display text-lg text-[#102A2E]",children:t})]},e))}),n.jsx("p",{className:"container mx-auto max-w-7xl mt-6 text-sm text-[#102A2E]/55",children:"A light lunch or refreshments may be included."})]}),S9=()=>n.jsxs("div",{className:"lg:hidden fixed bottom-0 inset-x-0 z-50 bg-[#102A2E] border-t border-white/10 px-4 py-3 flex items-center justify-between",children:[n.jsxs("div",{className:"text-white text-sm",children:[n.jsx("div",{className:"font-semibold",children:"$695 + GST"}),n.jsx("div",{className:"text-white/60 text-xs",children:"Max 10 seats"})]}),n.jsxs("a",{href:"#apply",className:"inline-flex items-center gap-2 bg-[#D99A2B] text-[#102A2E] px-5 py-3 rounded-lg font-semibold text-sm",children:["Apply Now ",n.jsx(W,{className:"w-4 h-4"})]})]}),A9=()=>{const e={"@context":"https://schema.org","@type":"Event",name:"Product Sprint Live — Half-Day Product Prototyping Intensive",description:"A guided half-day product strategy, UX and prototyping intensive for founders and business owners. Maximum 10 participants.",eventAttendanceMode:"https://schema.org/OfflineEventAttendanceMode",location:{"@type":"Place",name:"Melbourne — Venue to be announced"},offers:{"@type":"Offer",price:"695",priceCurrency:"AUD"},organizer:{"@type":"Organization",name:"10xGrowth Labs",url:"https://10xgrowthlabs.ai"}};return n.jsxs(Le,{children:[n.jsx(fe,{title:"Product Sprint Live Melbourne | Half-Day Product Prototyping Intensive",description:"Turn one app idea or operational problem into a focused product scope, core user journey and working prototype in a guided half-day sprint with 10xGrowth Labs.",path:"/product-sprint-live",jsonLd:e}),n.jsx(i9,{}),n.jsx(a9,{}),n.jsx(N9,{}),n.jsx(o9,{}),n.jsx(l9,{}),n.jsx(c9,{}),n.jsx(d9,{}),n.jsx(u9,{}),n.jsx(h9,{}),n.jsx(m9,{}),n.jsx(p9,{}),n.jsx(f9,{}),n.jsx(g9,{}),n.jsx(x9,{}),n.jsx(y9,{}),n.jsx(v9,{}),n.jsx(w9,{}),n.jsx(j9,{}),n.jsx(k9,{}),n.jsx(S9,{})]})},Is=(e,t={})=>{var r,i;const s=window;try{(r=s.gtag)==null||r.call(s,"event",e,t),(i=s.fbq)==null||i.call(s,"trackCustom",e,t)}catch{}},B0=[{label:"Overview",href:"#overview"},{label:"Agenda",href:"#agenda"},{label:"Venue",href:"#venue"},{label:"Presenters",href:"#presenters"},{label:"FAQ",href:"#faq"}],_9=()=>{const[e,t]=w.useState(!1),[s,r]=w.useState(!1);return w.useEffect(()=>{const i=()=>r(window.scrollY>24);return i(),window.addEventListener("scroll",i,{passive:!0}),()=>window.removeEventListener("scroll",i)},[]),n.jsxs("header",{className:`fixed top-0 inset-x-0 z-[70] transition-colors duration-300 ${s?"bg-[#050B18]/85 backdrop-blur-xl border-b border-white/10":"bg-transparent"}`,children:[n.jsxs("div",{className:"container mx-auto max-w-7xl px-5 md:px-6 flex items-center justify-between h-[96px] md:h-[132px]",children:[n.jsx(L,{to:"/","aria-label":"10xGrowth Labs home",className:"flex items-center",children:n.jsx(kh,{size:"sm",className:"h-[84px] md:h-[116px] brightness-0 invert opacity-95"})}),n.jsx("nav",{className:"hidden lg:flex items-center gap-7 text-[13px]",children:B0.map(i=>n.jsx("a",{href:i.href,className:"text-white/65 hover:text-white transition-colors",children:i.label},i.href))}),n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsxs("a",{href:"#reserve",onClick:()=>Is("cta_click",{location:"nav"}),className:"hidden sm:inline-flex items-center gap-2 rounded-lg bg-blue-600 hover:bg-blue-500 text-white px-4 py-2.5 text-[13px] font-semibold transition-colors",children:["Reserve My Seat — $29 ",n.jsx(W,{className:"w-4 h-4"})]}),n.jsx("button",{className:"lg:hidden text-white/80 p-2 -mr-2","aria-label":e?"Close menu":"Open menu","aria-expanded":e,onClick:()=>t(i=>!i),children:e?n.jsx(ar,{className:"w-5 h-5"}):n.jsx(vx,{className:"w-5 h-5"})})]})]}),e&&n.jsx("div",{className:"lg:hidden border-t border-white/10 bg-[#050B18]/95 backdrop-blur-xl px-5 py-4",children:n.jsx("nav",{className:"flex flex-col",children:B0.map(i=>n.jsx("a",{href:i.href,onClick:()=>t(!1),className:"py-3 text-sm text-white/75 hover:text-white border-b border-white/5 last:border-0",children:i.label},i.href))})})]})},C9=()=>{const[e,t]=w.useState(!1);return w.useEffect(()=>{const s=()=>t(window.scrollY>500);return window.addEventListener("scroll",s,{passive:!0}),()=>window.removeEventListener("scroll",s)},[]),n.jsx("div",{className:`sm:hidden fixed bottom-0 inset-x-0 z-[75] transition-transform duration-300 ${e?"translate-y-0":"translate-y-full"}`,children:n.jsxs("div",{className:"border-t border-white/10 bg-[#050B18]/95 backdrop-blur-xl px-4 py-3 flex items-center gap-3",children:[n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsx("p",{className:"text-[11px] uppercase tracking-[0.16em] text-blue-300",children:"Only 30 seats"}),n.jsx("p",{className:"text-xs text-white/60 truncate",children:"Wed 9 Sep · $29 early bird · $39 standard"})]}),n.jsxs("a",{href:"#reserve",onClick:()=>Is("cta_click",{location:"sticky_mobile"}),className:"inline-flex items-center gap-2 rounded-lg bg-blue-600 hover:bg-blue-500 text-white px-4 py-3 text-sm font-semibold shrink-0",children:["Reserve My Seat — $29 ",n.jsx(W,{className:"w-4 h-4"})]})]})})}
516,U0="abb-exit-intent-seen",E9=()=>{const[e,t]=w.useState(!1);return w.useEffect(()=>{if(sessionStorage.getItem(U0))return;const s=r=>{r.clientY>0||r.relatedTarget||(sessionStorage.setItem(U0,"1"),t(!0),Is("exit_intent_shown",{page:"ai-business-breakfast"}))};return document.addEventListener("mouseout",s),()=>document.removeEventListener("mouseout",s)},[]),e?n.jsx("div",{role:"dialog","aria-modal":"true","aria-label":"Seats are limited",className:"fixed inset-0 z-[80] flex items-center justify-center px-5 bg-[#050B18]/80 backdrop-blur-sm animate-fade-in",children:n.jsxs("div",{className:"relative w-full max-w-md rounded-2xl border border-white/12 bg-[#0A1428] p-8 text-white shadow-2xl",children:[n.jsx("button",{onClick:()=>t(!1),"aria-label":"Close",className:"absolute top-4 right-4 text-white/50 hover:text-white transition-colors",children:n.jsx(ar,{className:"w-5 h-5"})}),n.jsx("div",{className:"text-[11px] uppercase tracking-[0.24em] text-blue-300",children:"Only 30 seats"}),n.jsx("h2",{className:"mt-4 font-display text-2xl leading-snug",children:"Before you go — the room fills quickly."}),n.jsx("p",{className:"mt-3 text-sm text-white/65 leading-relaxed",children:"Breakfast, live demonstrations and a practical working session — limited to 30 attendees. Early bird tickets are $29 ($39 standard)."}),n.jsxs("a",{href:"#reserve",onClick:()=>{t(!1),Is("exit_intent_cta",{})},className:"mt-7 inline-flex w-full items-center justify-center gap-2 rounded-lg bg-blue-600 hover:bg-blue-500 px-6 py-3.5 text-sm font-semibold transition-colors",children:["Reserve My Seat — $29 ",n.jsx(W,{className:"w-4 h-4"})]})]})}):null};var MS={exports:{}},T9="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",P9=T9,I9=P9;function DS(){}function LS(){}LS.resetWarningCache=DS;var R9=function(){function e(r,i,a,o,l,c){if(c!==I9){var d=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw d.name="Invariant Violation",d}}e.isRequired=e;function t(){return e}var s={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:LS,resetWarningCache:DS};return s.PropTypes=s,s};MS.exports=R9();var O9=MS.exports;const Ve=Qa(O9);function W0(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),s.push.apply(s,r)}return s}function V0(e){for(var t=1;t<arguments.length;t++){var s=arguments[t]!=null?arguments[t]:{};t%2?W0(Object(s),!0).forEach(function(r){$S(e,r,s[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):W0(Object(s)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(s,r))})}return e}function Id(e){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Id=function(t){return typeof t}:Id=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Id(e)}function $S(e,t,s){return t in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function M9(e,t){if(e==null)return{};var s={},r=Object.keys(e),i,a;for(a=0;a<r.length;a++)i=r[a],!(t.indexOf(i)>=0)&&(s[i]=e[i]);return s}function D9(e,t){if(e==null)return{};var s=M9(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)r=a[i],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(s[r]=e[r])}return s}function FS(e,t){return L9(e)||$9(e,t)||F9(e,t)||B9()}function L9(e){if(Array.isArray(e))return e}function $9(e,t){var s=e&&(typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"]);if(s!=null){var r=[],i=!0,a=!1,o,l;try{for(s=s.call(e);!(i=(o=s.next()).done)&&(r.push(o.value),!(t&&r.length===t));i=!0);}catch(c){a=!0,l=c}finally{try{!i&&s.return!=null&&s.return()}finally{if(a)throw l}}return r}}function F9(e,t){if(e){if(typeof e=="string")return z0(e,t);var s=Object.prototype.toString.call(e).slice(8,-1);if(s==="Object"&&e.constructor&&(s=e.constructor.name),s==="Map"||s==="Set")return Array.from(e);if(s==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s))return z0(e,t)}}function z0(e,t){(t==null||t>e.length)&&(t=e.length);for(var s=0,r=new Array(t);s<t;s++)r[s]=e[s];return r}
516function B9(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
517In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var Nt=function(t,s,r){var i=!!r,a=T.useRef(r);T.useEffect(function(){a.current=r},[r]),T.useEffect(function(){if(!i||!t)return function(){};var o=function(){a.current&&a.current.apply(a,arguments)};return t.on(s,o),function(){t.off(s,o)}},[i,s,t,a])},Vf=function(t){var s=T.useRef(t);return T.useEffect(function(){s.current=t},[t]),s.current},Ja=function(t){return t!==null&&Id(t)==="object"},U9=function(t){return Ja(t)&&typeof t.then=="function"},W9=function(t){return Ja(t)&&typeof t.elements=="function"&&typeof t.createToken=="function"&&typeof t.createPaymentMethod=="function"&&typeof t.confirmCardPayment=="function"},H0="[object Object]",V9=function e(t,s){if(!Ja(t)||!Ja(s))return t===s;var r=Array.isArray(t),i=Array.isArray(s);if(r!==i)return!1;var a=Object.prototype.toString.call(t)===H0,o=Object.prototype.toString.call(s)===H0;if(a!==o)return!1;if(!a&&!r)return t===s;var l=Object.keys(t),c=Object.keys(s);if(l.length!==c.length)return!1;for(var d={},u=0;u<l.length;u+=1)d[l[u]]=!0;for(var h=0;h<c.length;h+=1)d[c[h]]=!0;var m=Object.keys(d);if(m.length!==l.length)return!1;var p=t,x=s,y=function(f){return e(p[f],x[f])};return m.every(y)},z9=function(t,s,r){return Ja(t)?Object.keys(t).reduce(function(i,a){var o=!Ja(s)||!V9(t[a],s[a]);return r.includes(a)?(o&&console.warn("Unsupported prop change: options.".concat(a," is not a mutable property.")),i):o?V0(V0({},i||{}),{},$S({},a,t[a])):i},null):null},BS="Invalid prop `stripe` supplied to `Elements`. We recommend using the `loadStripe` utility from `@stripe/stripe-js`. See https://stripe.com/docs/stripe-js/react#elements-props-stripe for details.",q0=function(t){var s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:BS;if(t===null||W9(t))return t;throw new Error(s)},H9=function(t){var s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:BS;if(U9(t))return{tag:"async",stripePromise:Promise.resolve(t).then(function(i){return q0(i,s)})};var r=q0(t,s);return r===null?{tag:"empty"}:{tag:"sync",stripe:r}},q9=function(t){!t||!t._registerWrapper||!t.registerAppInfo||(t._registerWrapper({name:"react-stripe-js",version:"6.2.0"}),t.registerAppInfo({name:"react-stripe-js",version:"6.2.0",url:"https://stripe.com/docs/stripe-js/react"}))},US=T.createContext(null);US.displayName="ElementsContext";var G9=function(t,s){if(!t)throw new Error("Could not find Elements context; You need to wrap the part of your app that ".concat(s," in an <Elements> provider."));return t};Ve.any,Ve.object;Ve.func.isRequired;var WS=T.createContext(null);WS.displayName="CheckoutContext";var G0=function(t){var s=T.useContext(WS),r=T.useContext(US);if(s){if(r)throw new Error("You cannot wrap the part of your app that ".concat(t," in both a checkout provider and <Elements> provider."));return s}else return G9(r,t)},K9=["mode"],Y9=function(t){return t.charAt(0).toUpperCase()+t.slice(1)},Ze=function(t,s,r){var i="".concat(Y9(t),"Element"),a=function(d){var u=d.id,h=d.className,m=d.options,p=m===void 0?{}:m,x=d.onBlur,y=d.onFocus,b=d.onReady,f=d.onChange,g=d.onEscape,v=d.onClick,j=d.onLoadError,k=d.onLoaderStart,N=d.onNetworksChange,A=d.onConfirm,E=d.onCancel,R=d.onShippingAddressChange,I=d.onShippingRateChange,B=d.onSavedPaymentMethodRemove,_=d.onSavedPaymentMethodUpdate,$=G0("mounts <".concat(i,">")),M="elements"in $?$.elements:null,Q="checkoutState"in $?$.checkoutState:null,G=(Q==null?void 0:Q.type)==="success"||(Q==null?void 0:Q.type)==="loading"?Q.sdk:null,se=T.useState(null),S=FS(se,2),C=S[0],D=S[1],H=T.useRef(null),Z=T.useRef(null);Nt(C,"blur",x),Nt(C,"focus",y),Nt(C,"escape",g),Nt(C,"click",v),Nt(C,"loaderror",j),Nt(C,"loaderstart",k),Nt(C,"networkschange",N),Nt(C,"confirm",A),Nt(C,"cancel",E),Nt(C,"shippingaddresschange",R),Nt(C,"shippingratechange",I),Nt(C,"savedpaymentmethodremove",B),Nt(C,"savedpaymentmethodupdate",_),Nt(C,"change",f);var le;b&&(t==="expressCheckout"?le=b:le=function(){b(C)}),Nt(C,"ready",le),T.useLayoutEffect(function(){if(H.current===null&&Z.current!==null&&(M||G)){var ue=null;if(G){var Ie=G,xe=G;switch(t){case"paymentForm":ue=xe.createForm(p);break;case"payment":ue=Ie.createPaymentElement(p);break;case"address":if("mode"in p){var hr=p.mode,ms=D9(p,K9);if(hr==="shipping")ue=Ie.createShippingAddressElement(ms);else if(hr==="billing")ue=Ie.createBillingAddressElement(ms);else throw new Error("Invalid options.mode. mode must be 'billing' or 'shipping'.")}else throw new Error("You must supply options.mode. mode must be 'billing' or 'shipping'.");break;case"expressCheckout":ue=Ie.createExpressCheckoutElement(p);break;case"currencySelector":ue=G.createCurrencySelectorElement();break;case"taxId":ue=Ie.createTaxIdElement(p);break;case"contactDetails":ue=Ie.createContactDetailsElement();break;default:throw new Error("<".concat(i,"> is not supported inside a checkout provider. Use an <Elements> provider instead."))}}else M&&(ue=M.create(t,p));H.current=ue,D(ue),ue&&ue.mount(Z.current)}},[M,G,p]);var de=Vf(p);return T.useEffect(function(){if(H.current){var ue=z9(p,de,["paymentRequest"]);ue&&"update"in H.current&&H.current.update(ue)}},[p,de]),T.useLayoutEffect(function(){return function(){if(H.current&&typeof H.current.destroy=="function")try{H.current.destroy(),H.current=null}catch{}}},[]),T.createElement("div",{id:u,className:h,ref:Z})},o=function(d){G0("mounts <".concat(i,">"));var u=d.id,h=d.className;return T.createElement("div",{id:u,className:h})},l=s?o:a;return l.propTypes={id:Ve.string,className:Ve.string,onChange:Ve.func,onBlur:Ve.func,onFocus:Ve.func,onReady:Ve.func,onEscape:Ve.func,onClick:Ve.func,onLoadError:Ve.func,onLoaderStart:Ve.func,onNetworksChange:Ve.func,onConfirm:Ve.func,onCancel:Ve.func,onShippingAddressChange:Ve.func,onShippingRateChange:Ve.func,onSavedPaymentMethodRemove:Ve.func,onSavedPaymentMethodUpdate:Ve.func,options:Ve.object},l.displayName=i,l.__elementType=t,l},qe=typeof window>"u",Yx=T.createContext(null);Yx.displayName="EmbeddedCheckoutProviderContext";var VS=function(){var t=T.useContext(Yx);if(!t)throw new Error("<EmbeddedCheckout> must be used within <EmbeddedCheckoutProvider>");return t},J9="Invalid prop `stripe` supplied to `EmbeddedCheckoutProvider`. We recommend using the `loadStripe` utility from `@stripe/stripe-js`. See https://stripe.com/docs/stripe-js/react#elements-props-stripe for details.",Z9=function(t){var s=t.stripe,r=t.options,i=t.children,a=T.useMemo(function(){return H9(s,J9)},[s]),o=T.useRef(null),l=T.useRef(null),c=T.useState({embeddedCheckout:null}),d=FS(c,2),u=d[0],h=d[1];T.useEffect(function(){if(!(l.current||o.current)){var x=function(b){l.current||o.current||(l.current=b,o.current=l.current.createEmbeddedCheckoutPage(r).then(function(f){h({embeddedCheckout:f})}))};a.tag==="async"&&!l.current&&(r.clientSecret||r.fetchClientSecret)?a.stripePromise.then(function(y){y&&x(y)}):a.tag==="sync"&&!l.current&&(r.clientSecret||r.fetchClientSecret)&&x(a.stripe)}},[a,r,u,l]),T.useEffect(function(){return function(){u.embeddedCheckout?(o.current=null,u.embeddedCheckout.destroy()):o.current&&o.current.then(function(){o.current=null,u.embeddedCheckout&&u.embeddedCheckout.destroy()})}},[u.embeddedCheckout]),T.useEffect(function(){q9(l)},[l]);var m=Vf(s);T.useEffect(function(){m!==null&&m!==s&&console.warn("Unsupported prop change on EmbeddedCheckoutProvider: You cannot change the `stripe` prop after setting it.")},[m,s]);var p=Vf(r);return T.useEffect(function(){if(p!=null){if(r==null){console.warn("Unsupported prop change on EmbeddedCheckoutProvider: You cannot unset options after setting them.");return}r.clientSecret===void 0&&r.fetchClientSecret===void 0&&console.warn("Invalid props passed to EmbeddedCheckoutProvider: You must provide one of either `options.fetchClientSecret` or `options.clientSecret`."),p.clientSecret!=null&&r.clientSecret!==p.clientSecret&&console.warn("Unsupported prop change on EmbeddedCheckoutProvider: You cannot change the client secret after setting it. Unmount and create a new instance of EmbeddedCheckoutProvider instead."),p.fetchClientSecret!=null&&r.fetchClientSecret!==p.fetchClientSecret&&console.warn("Unsupported prop change on EmbeddedCheckoutProvider: You cannot change fetchClientSecret after setting it. Unmount and create a new instance of EmbeddedCheckoutProvider instead."),p.onComplete!=null&&r.onComplete!==p.onComplete&&console.warn("Unsupported prop change on EmbeddedCheckoutProvider: You cannot change the onComplete option after setting it."),p.onShippingDetailsChange!=null&&r.onShippingDetailsChange!==p.onShippingDetailsChange&&console.warn("Unsupported prop change on EmbeddedCheckoutProvider: You cannot change the onShippingDetailsChange option after setting it."),p.onLineItemsChange!=null&&r.onLineItemsChange!==p.onLineItemsChange&&console.warn("Unsupported prop change on EmbeddedCheckoutProvider: You cannot change the onLineItemsChange option after setting it.")}},[p,r]),T.createElement(Yx.Provider,{value:u},i)},X9=function(t){var s=t.id,r=t.className,i=VS(),a=i.embeddedCheckout,o=T.useRef(!1),l=T.useRef(null);return T.useLayoutEffect(function(){return!o.current&&a&&l.current!==null&&(a.mount(l.current),o.current=!0),function(){if(o.current&&a)try{a.unmount(),o.current=!1}catch{}}},[a]),T.createElement("div",{ref:l,id:s,className:r})},Q9=function(t){var s=t.id,r=t.className;return VS(),T.createElement("div",{id:s,className:r})},eU=qe?Q9:X9;Ze("auBankAccount",qe);Ze("card",qe);Ze("cardNumber",qe);Ze("cardExpiry",qe);Ze("cardCvc",qe);Ze("iban",qe);Ze("payment",qe);Ze("expressCheckout",qe);Ze("paymentRequestButton",qe);Ze("linkAuthentication",qe);Ze("contactDetails",qe);Ze("address",qe);Ze("shippingAddress",qe);Ze("paymentMethodMessaging",qe);
517Ze("taxId",qe);Ze("issuingCardNumberDisplay",qe);Ze("issuingCardCvcDisplay",qe);Ze("issuingCardExpiryDisplay",qe);Ze("issuingCardPinDisplay",qe);Ze("issuingCardCopyButton",qe);function Rd(e){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Rd=function(t){return typeof t}:Rd=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Rd(e)}var zS="dahlia",tU=function(t){return t===3?"v3":t},HS="https://js.stripe.com",sU="".concat(HS,"/").concat(zS,"/stripe.js"),rU=/^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/,nU=/^https:\/\/js\.stripe\.com\/(v3|[a-z]+)\/stripe\.js(\?.*)?$/,K0="loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used",iU=function(t){return rU.test(t)||nU.test(t)},aU=function(){for(var t=document.querySelectorAll('script[src^="'.concat(HS,'"]')),s=0;s<t.length;s++){var r=t[s];if(iU(r.src))return r}return null},Y0=function(t){var s="",r=document.createElement("script");r.src="".concat(sU).concat(s);var i=document.head||document.body;if(!i)throw new Error("Expected document.body not to be null. Stripe.js requires a <body> element.");return i.appendChild(r),r},oU=function(t,s){!t||!t._registerWrapper||t._registerWrapper({name:"stripe-js",version:"9.2.0",startTime:s})},Oo=null,rd=null,nd=null,lU=function(t){return function(s){t(new Error("Failed to load Stripe.js",{cause:s}))}},cU=function(t,s){return function(){window.Stripe?t(window.Stripe):s(new Error("Stripe.js not available"))}},dU=function(t){return Oo!==null?Oo:(Oo=new Promise(function(s,r){if(typeof window>"u"||typeof document>"u"){s(null);return}if(window.Stripe&&t&&console.warn(K0),window.Stripe){s(window.Stripe);return}try{var i=aU();if(i&&t)console.warn(K0);else if(!i)i=Y0(t);else if(i&&nd!==null&&rd!==null){var a;i.removeEventListener("load",nd),i.removeEventListener("error",rd),(a=i.parentNode)===null||a===void 0||a.removeChild(i),i=Y0(t)}nd=cU(s,r),rd=lU(r),i.addEventListener("load",nd),i.addEventListener("error",rd)}catch(o){r(o);return}}),Oo.catch(function(s){return Oo=null,Promise.reject(s)}))},uU=function(t,s,r){if(t===null)return null;var i=s[0];if(typeof i!="string")throw new Error("Expected publishable key to be of type string, got type ".concat(Rd(i)," instead."));var a=i.match(/^pk_test/),o=tU(t.version),l=zS;a&&o!==l&&console.warn("Stripe.js@".concat(o," was loaded on the page, but @stripe/stripe-js@").concat("9.2.0"," expected Stripe.js@").concat(l,". This may result in unexpected behavior. For more information, see https://docs.stripe.com/sdks/stripejs-versioning"));var c=t.apply(void 0,s);return oU(c,r),c},Mo,qS=!1,GS=function(){return Mo||(Mo=dU(null).catch(function(t){return Mo=null,Promise.reject(t)}),Mo)};Promise.resolve().then(function(){return GS()}).catch(function(e){qS||console.warn(e)});var hU=function(){for(var t=arguments.length,s=new Array(t),r=0;r<t;r++)s[r]=arguments[r];qS=!0;var i=Date.now();return GS().then(function(a){return uU(a,s,i)})};const Xn="pk_live_51SrsCuIxkbRYY1uxLeRRNSNAIF6KSspJubx5wCVB1legY3eiIrqzUmVhtj5uFdQzvTMLQeZymOml9knHExgNGEUs00me2xK0yq";function KS(){if(Xn!=null&&Xn.startsWith("pk_test_"))return"sandbox";if(Xn!=null&&Xn.startsWith("pk_live_"))return"live";throw new Error("Stripe payments are not configured for this build. Complete Stripe go-live in your Lovable project to enable production checkout.")}let Bm=null;function mU(){return Bm||(KS(),Bm=hU(Xn)),Bm}function pU(){return KS()}function fU({priceId:e,quantity:t,customerEmail:s,attendeeName:r,metadata:i,returnUrl:a}){const o=async()=>{var d,u;const{data:l,error:c}=await ht.functions.invoke("create-checkout",{body:{priceId:e,quantity:t,customerEmail:s,attendeeName:r,metadata:i,returnUrl:a,environment:pU()}});if(c||!(l!=null&&l.clientSecret)){const h=c&&typeof c=="object"&&"context"in c?await((u=(d=c.context)==null?void 0:d.text)==null?void 0:u.call(d)):"";throw new Error((c==null?void 0:c.message)||h||"Failed to create checkout session")}return l.clientSecret};return n.jsx("div",{id:"checkout",children:n.jsx(Z9,{stripe:mU(),options:{fetchClientSecret:o},children:n.jsx(eU,{})})})}function gU(){const[e,t]=w.useState(!1),[s,r]=w.useState(null),i=w.useCallback(l=>{r(l),t(!0)},[]),a=w.useCallback(()=>{t(!1),r(null)},[]),o=e&&s?n.jsx(fU,{...s}):null;return{openCheckout:i,closeCheckout:a,isOpen:e,checkoutElement:o}}const xU=["Business Owner / Founder","Director / Executive","Operations","Sales & Marketing","Finance / Admin","Technology","Other"],yU=["Generate more leads & sales","Reduce admin & repetitive work","Automate customer follow-up","Improve operations & workflows","Build AI agents / AI employees","Understand where AI fits in our business","Other"],vU=dc({firstName:Ce().trim().min(1,"First name required").max(80),lastName:Ce().trim().min(1,"Last name required").max(80),email:Ce().trim().email("Valid work email required").max(255),mobile:Ce().trim().min(6,"Mobile required").max(40),role:Ce().trim().min(1,"Please select your role"),goal:Ce().trim().min(1,"Please pick one")}),bU={firstName:"",lastName:"",email:"",mobile:"",role:"",goal:""},Do="w-full rounded-lg border border-white/12 bg-white/[0.04] px-4 py-3 text-sm text-white placeholder:text-white/35 focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-500/25 transition-colors",Gi="block text-xs font-medium uppercase tracking-[0.12em] text-white/55 mb-2",wU=()=>{const[e,t]=w.useState(bU),[s,r]=w.useState({}),[i,a]=w.useState(!1),[o,l]=w.useState(null),{openCheckout:c,closeCheckout:d,isOpen:u,checkoutElement:h}=gU(),m=x=>y=>t(b=>({...b,[x]:y.target.value})),p=async x=>{x.preventDefault(),l(null);const y=vU.safeParse(e);if(!y.success){const v={};
517y.error.issues.forEach(j=>{v[j.path[0]]=j.message}),r(v);return}r({}),a(!0);const b=uc(),f=y.data,{error:g}=await ht.from("labs_leads").insert({tool:"event_breakfast",name:`${f.firstName} ${f.lastName}`,email:f.email,phone:f.mobile,inputs:{...f,event:"AI Business Breakfast — Adelaide"},result:{__attribution:b}});if(a(!1),g){l("Something went wrong. Please try again or email [email protected].");return}for(const v of["[email protected]","[email protected]","[email protected]"])ht.functions.invoke("send-transactional-email",{body:{templateName:"lead-notification",recipientEmail:v,idempotencyKey:`abb-${v}-${f.email}-${Date.now()}`,templateData:{tool:"event_breakfast",name:`${f.firstName} ${f.lastName}`,email:f.email,phone:f.mobile,company:"",inputs:{...f,event:"AI Business Breakfast — Adelaide"},result:{},attribution:b}}}).catch(()=>{});Is("event_registration",{event_name:"AI Business Breakfast"}),c({priceId:"ai_breakfast_early_bird",quantity:1,customerEmail:f.email,attendeeName:`${f.firstName} ${f.lastName}`,metadata:{event:"AI Business Breakfast — Adelaide",role:f.role,goal:f.goal,mobile:f.mobile},returnUrl:`${window.location.origin}/events/thankyou?session_id={CHECKOUT_SESSION_ID}`})};return u?n.jsxs("div",{className:"rounded-2xl border border-white/12 bg-white/[0.04] p-4 text-left md:p-8",children:[n.jsxs("div",{className:"mb-6 flex items-start justify-between gap-4",children:[n.jsxs("div",{children:[n.jsx("h3",{className:"font-display text-xl text-white",children:"Your ticket"}),n.jsxs("p",{className:"mt-1 text-sm text-white/55",children:["AI Business Breakfast — Adelaide",n.jsx("br",{}),"Wednesday 9 September · 8:00–9:30 AM",n.jsx("br",{}),"1 × Early Bird Ticket — $29"]})]}),n.jsx("button",{type:"button",onClick:d,"aria-label":"Close checkout",className:"rounded-full p-2 text-white/60 hover:bg-white/10 hover:text-white",children:n.jsx(ar,{className:"h-5 w-5"})})]}),h??n.jsx("div",{className:"flex items-center justify-center py-12",children:n.jsx(ir,{className:"h-6 w-6 animate-spin text-blue-400"})})]}):n.jsxs("form",{onSubmit:p,className:"rounded-2xl border border-white/12 bg-white/[0.04] backdrop-blur p-6 text-left md:p-10",children:[n.jsxs("div",{className:"mb-7 flex items-center gap-2 text-xs uppercase tracking-[0.14em] text-white/50",children:[n.jsx(kx,{className:"h-4 w-4 text-blue-400"})," 30-second registration"]}),n.jsxs("div",{className:"grid gap-5 sm:grid-cols-2",children:[n.jsxs("label",{className:"block",children:[n.jsx("span",{className:Gi,children:"First name"}),n.jsx("input",{value:e.firstName,onChange:m("firstName"),className:Do,"aria-invalid":!!s.firstName}),s.firstName&&n.jsx("span",{className:"mt-1.5 block text-xs text-red-400",children:s.firstName})]}),n.jsxs("label",{className:"block",children:[n.jsx("span",{className:Gi,children:"Last name"}),n.jsx("input",{value:e.lastName,onChange:m("lastName"),className:Do,"aria-invalid":!!s.lastName}),s.lastName&&n.jsx("span",{className:"mt-1.5 block text-xs text-red-400",children:s.lastName})]}),n.jsxs("label",{className:"block",children:[n.jsx("span",{className:Gi,children:"Work email"}),n.jsx("input",{type:"email",value:e.email,onChange:m("email"),className:Do,"aria-invalid":!!s.email}),s.email&&n.jsx("span",{className:"mt-1.5 block text-xs text-red-400",children:s.email})]}),n.jsxs("label",{className:"block",children:[n.jsx("span",{className:Gi,children:"Mobile"}),n.jsx("input",{type:"tel",value:e.mobile,onChange:m("mobile"),className:Do,"aria-invalid":!!s.mobile}),s.mobile&&n.jsx("span",{className:"mt-1.5 block text-xs text-red-400",children:s.mobile})]}),n.jsxs("label",{className:"block",children:[n.jsx("span",{className:Gi,children:"Your role"}),n.jsxs("select",{value:e.role,onChange:m("role"),className:Do,"aria-invalid":!!s.role,children:[n.jsx("option",{value:"",children:"Select…"}),xU.map(x=>n.jsx("option",{value:x,className:"text-[#050B18]",children:x},x))]}),s.role&&n.jsx("span",{className:"mt-1.5 block text-xs text-red-400",children:s.role})]})]}),n.jsxs("fieldset",{className:"mt-7",children:[n.jsx("legend",{className:Gi,children:"What would you most like AI to help with?"}),n.jsx("div",{className:"grid gap-2 sm:grid-cols-2",children:yU.map(x=>n.jsx("button",{type:"button",onClick:()=>t(y=>({...y,goal:x})),className:`rounded-lg border px-4 py-3 text-left text-sm transition-colors ${e.goal===x?"border-blue-500 bg-blue-500/15 text-white":"border-white/12 bg-white/[0.03] text-white/70 hover:border-white/25"}`,children:x},x))}),s.goal&&n.jsx("span",{className:"mt-1.5 block text-xs text-red-400",children:s.goal})]}),o&&n.jsx("p",{className:"mt-5 text-sm text-red-400",children:o}
517),n.jsx("button",{type:"submit",disabled:i,className:"mt-8 inline-flex w-full items-center justify-center gap-2 rounded-full bg-blue-600 px-7 py-4 text-sm font-semibold text-white transition-colors hover:bg-blue-500 disabled:opacity-60",children:i?n.jsxs(n.Fragment,{children:[n.jsx(ir,{className:"h-4 w-4 animate-spin"})," Opening checkout…"]}):n.jsxs(n.Fragment,{children:["Pay $29 & Reserve My Seat ",n.jsx(W,{className:"h-4 w-4"})]})}),n.jsxs("p",{className:"mt-4 flex items-center justify-center gap-1.5 text-xs text-white/50",children:[n.jsx(wx,{className:"h-3.5 w-3.5"})," Secure payment powered by Stripe"]})]})},jU=["Not yet","Experimenting","Using it in some areas","Embedded across the business"],kU=["Just me","2–9","10–49","50–199","200+"],id="w-full rounded-lg border border-white/12 bg-white/[0.04] px-4 py-3 text-sm text-white placeholder:text-white/35 focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-500/25 transition-colors",ad="block text-xs font-medium uppercase tracking-[0.12em] text-white/55 mb-2",YS=()=>{const[e,t]=w.useState({industry:"",size:"",usingAi:"",automate:""}),[s,r]=w.useState(!1),[i,a]=w.useState(!1),o=c=>d=>t(u=>({...u,[c]:d.target.value})),l=async c=>{c.preventDefault(),r(!0),await ht.from("labs_leads").insert({tool:"event_breakfast",name:"Post-payment profile",email:"profile@pending",inputs:{...e,event:"AI Business Breakfast — Adelaide",stage:"post_payment_profile"},result:{}}),r(!1),a(!0)};return i?n.jsxs("div",{className:"rounded-2xl border border-white/12 bg-white/[0.04] p-8 text-center",children:[n.jsx(Ye,{className:"mx-auto h-7 w-7 text-emerald-400"}),n.jsx("p",{className:"mt-4 text-sm text-white/70",children:"Thanks — we'll tailor the morning around this."})]}):n.jsxs("form",{onSubmit:l,className:"rounded-2xl border border-white/12 bg-white/[0.04] p-6 text-left md:p-10",children:[n.jsx("h3",{className:"font-display text-xl text-white",children:"Help us tailor the morning to you"}),n.jsx("p",{className:"mt-2 text-sm text-white/55",children:"Optional — 30 seconds."}),n.jsxs("div",{className:"mt-7 grid gap-5 sm:grid-cols-2",children:[n.jsxs("label",{className:"block",children:[n.jsx("span",{className:ad,children:"What industry are you in?"}),n.jsx("input",{value:e.industry,onChange:o("industry"),className:id})]}),n.jsxs("label",{className:"block",children:[n.jsx("span",{className:ad,children:"How many people in your organisation?"}),n.jsxs("select",{value:e.size,onChange:o("size"),className:id,children:[n.jsx("option",{value:"",children:"Select…"}),kU.map(c=>n.jsx("option",{value:c,className:"text-[#050B18]",children:c},c))]})]}),n.jsxs("label",{className:"block",children:[n.jsx("span",{className:ad,children:"Are you currently using AI?"}),n.jsxs("select",{value:e.usingAi,onChange:o("usingAi"),className:id,children:[n.jsx("option",{value:"",children:"Select…"}),jU.map(c=>n.jsx("option",{value:c,className:"text-[#050B18]",children:c},c))]})]}),n.jsxs("label",{className:"block sm:col-span-2",children:[n.jsx("span",{className:ad,children:"One process you'd love to automate"}),n.jsx("textarea",{rows:3,value:e.automate,onChange:o("automate"),className:id})]})]}),n.jsx("button",{type:"submit",disabled:s,className:"mt-8 inline-flex items-center justify-center gap-2 rounded-full bg-white/10 px-7 py-3.5 text-sm font-semibold text-white transition-colors hover:bg-white/20 disabled:opacity-60",children:s?n.jsxs(n.Fragment,{children:[n.jsx(ir,{className:"h-4 w-4 animate-spin"})," Saving…"]}):"Submit"})]})},JS=w.createContext({});function NU(e){const t=w.useRef(null);return t.current===null&&(t.current=e()),t.current}const SU=typeof window<"u",AU=SU?w.useLayoutEffect:w.useEffect,Jx=w.createContext(null);function Zx(e,t){e.indexOf(t)===-1&&e.push(t)}function Mu(e,t){const s=e.indexOf(t);s>-1&&e.splice(s,1)}const lr=(e,t,s)=>s>t?t:s<e?e:s;let Rh=()=>{},_i=()=>{};const In={},ZS=e=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e),XS=e=>typeof e=="object"&&e!==null,QS=e=>/^0[^.\s]+$/u.test(e);function eA(e){let t;return()=>(t===void 0&&(t=e()),t)}const cs=e=>e,hc=(...e)=>e.reduce((t,s)=>r=>s(t(r))),zl=(e,t,s)=>{const r=t-e;return r?(s-e)/r:1};class Xx{constructor(){this.subscriptions=[]}add(t){return Zx(this.subscriptions,t),()=>Mu(this.subscriptions,t)}notify(t,s,r){const i=this.subscriptions.length;if(i)if(i===1)this.subscriptions[0](t,s,r);else for(let a=0;a<i;a++){const o=this.subscriptions[a];o&&o(t,s,r)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}const Wt=e=>e*1e3,os=e=>e/1e3,tA=(e,t)=>
vendor: 28,892 bytes, line 517
517t?e*(1e3/t):0,sA=(e,t,s)=>(((1-3*s+3*t)*e+(3*s-6*t))*e+3*t)*e,_U=1e-7,CU=12;function EU(e,t,s,r,i){let a,o,l=0;do o=t+(s-t)/2,a=sA(o,r,i)-e,a>0?s=o:t=o;while(Math.abs(a)>_U&&++l<CU);return o}function mc(e,t,s,r){if(e===t&&s===r)return cs;const i=a=>EU(a,0,1,e,s);return a=>a===0||a===1?a:sA(i(a),t,r)}const rA=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,nA=e=>t=>1-e(1-t),iA=mc(.33,1.53,.69,.99),Qx=nA(iA),aA=rA(Qx),oA=e=>e>=1?1:(e*=2)<1?.5*Qx(e):.5*(2-Math.pow(2,-10*(e-1))),ey=e=>1-Math.sin(Math.acos(e)),lA=nA(ey),cA=rA(ey),TU=mc(.42,0,1,1),PU=mc(0,0,.58,1),dA=mc(.42,0,.58,1),IU=e=>Array.isArray(e)&&typeof e[0]!="number",uA=e=>Array.isArray(e)&&typeof e[0]=="number",J0={linear:cs,easeIn:TU,easeInOut:dA,easeOut:PU,circIn:ey,circInOut:cA,circOut:lA,backIn:Qx,backInOut:aA,backOut:iA,anticipate:oA},RU=e=>typeof e=="string",Z0=e=>{if(uA(e)){_i(e.length===4,"Cubic bezier arrays must contain four numerical values.","cubic-bezier-length");const[t,s,r,i]=e;return mc(t,s,r,i)}else if(RU(e))return _i(J0[e]!==void 0,`Invalid easing type '${e}'`,"invalid-easing-type"),J0[e];return e},od=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"];function OU(e){let t=new Set,s=new Set,r=!1,i=!1;const a=new WeakSet;let o={delta:0,timestamp:0,isProcessing:!1};function l(d){a.has(d)&&(c.schedule(d),e()),d(o)}const c={schedule:(d,u=!1,h=!1)=>{const p=h&&r?t:s;return u&&a.add(d),p.add(d),d},cancel:d=>{s.delete(d),a.delete(d)},process:d=>{if(o=d,r){i=!0;return}r=!0;const u=t;t=s,s=u,t.forEach(l),t.clear(),r=!1,i&&(i=!1,c.process(d))}};return c}const MU=40;function hA(e,t){let s=!1,r=!0;const i={delta:0,timestamp:0,isProcessing:!1},a=()=>s=!0,o=od.reduce((v,j)=>(v[j]=OU(a),v),{}),{setup:l,read:c,resolveKeyframes:d,preUpdate:u,update:h,preRender:m,render:p,postRender:x}=o,y=()=>{const v=In.useManualTiming,j=v?i.timestamp:performance.now();s=!1,v||(i.delta=r?1e3/60:Math.max(Math.min(j-i.timestamp,MU),1)),i.timestamp=j,i.isProcessing=!0,l.process(i),c.process(i),d.process(i),u.process(i),h.process(i),m.process(i),p.process(i),x.process(i),i.isProcessing=!1,s&&t&&(r=!1,e(y))},b=()=>{s=!0,r=!0,i.isProcessing||e(y)};return{schedule:od.reduce((v,j)=>{const k=o[j];return v[j]=(N,A=!1,E=!1)=>(s||b(),k.schedule(N,A,E)),v},{}),cancel:v=>{for(let j=0;j<od.length;j++)o[od[j]].cancel(v)},state:i,steps:o}}const{schedule:ke,cancel:Rn,state:ct,steps:Um}=hA(typeof requestAnimationFrame<"u"?requestAnimationFrame:cs,!0);let Od;function DU(){Od=void 0}const Ct={now:()=>(Od===void 0&&Ct.set(ct.isProcessing||In.useManualTiming?ct.timestamp:performance.now()),Od),set:e=>{Od=e,queueMicrotask(DU)}},mA=e=>t=>typeof t=="string"&&t.startsWith(e),pA=mA("--"),LU=mA("var(--"),ty=e=>LU(e)?$U.test(e.split("/*")[0].trim()):!1,$U=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;function X0(e){return typeof e!="string"?!1:e.split("/*")[0].includes("var(--")}const mo={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},Hl={...mo,transform:e=>lr(0,1,e)},ld={...mo,default:1},ol=e=>Math.round(e*1e5)/1e5,sy=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function FU(e){return e==null}const BU=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,ry=(e,t)=>s=>!!(typeof s=="string"&&BU.test(s)&&s.startsWith(e)||t&&!FU(s)&&Object.prototype.hasOwnProperty.call(s,t)),fA=(e,t,s)=>r=>{if(typeof r!="string")return r;const[i,a,o,l]=r.match(sy);return{[e]:parseFloat(i),[t]:parseFloat(a),[s]:parseFloat(o),alpha:l!==void 0?parseFloat(l):1}},UU=e=>lr(0,255,e),Wm={...mo,transform:e=>Math.round(UU(e))},ni={test:ry("rgb","red"),parse:fA("red","green","blue"),transform:({red:e,green:t,blue:s,alpha:r=1})=>"rgba("+Wm.transform(e)+", "+Wm.transform(t)+", "+Wm.transform(s)+", "+ol(Hl.transform(r))+")"};function WU(e){let t="",s="",r="",i="";return e.length>5?(t=e.substring(1,3),s=e.substring(3,5),r=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),s=e.substring(2,3),r=e.substring(3,4),i=e.substring(4,5),t+=t,s+=s,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(s,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}const zf={test:ry("#"),parse:WU,transform:ni.transform},pc=e=>({test:t=>typeof t=="string"&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),xr=pc("deg"),nr=pc("%"),Y=pc("px"),VU=pc("vh"),zU=pc("vw"),Q0={...nr,parse:e=>nr.parse(e)/100,transform:e=>nr.transform(e*100)},pa={test:ry("hsl","hue"),parse:fA("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:s,alpha:r=1})=>"hsla("+Math.round(e)+", "+nr.transform(ol(t))+", "+nr.transform(ol(s))+", "+ol(Hl.transform(r))+")"},Ke={test:e=>ni.test(e)||zf.test(e)||pa.test(e),parse:e=>ni.test(e)?ni.parse(e):pa.test(e)?pa.parse(e):zf.parse(e),transform:e=>typeof e=="string"?e:e.hasOwnProperty("red")?ni.transform(e):pa.transform(e),getAnimatableNone:e=>{const t=Ke.parse(e);return t.alpha=0,Ke.transform(t)}},HU=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function qU(e){var t,s;return isNaN(e)&&typeof e=="string"&&(((t=e.match(sy))==null?void 0:t.length)||0)+(((s=e.match(HU))==null?void 0:s.length)||0)>0}const gA="number",xA="color",GU="var",KU="var(",ew="${}",YU=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function Za(e){const t=e.toString(),s=[],r={color:[],number:[],var:[]},i=[];let a=0;const l=t.replace(YU,c=>(Ke.test(c)?(r.color.push(a),i.push(xA),s.push(Ke.parse(c))):c.startsWith(KU)?(r.var.push(a),i.push(GU),s.push(c)):(r.number.push(a),i.push(gA),s.push(parseFloat(c))),++a,ew)).split(ew);return{values:s,split:l,indexes:r,types:i}}function JU(e){return Za(e).values}function yA({split:e,types:t}){const s=e.length;return r=>{let i="";for(let a=0;a<s;a++)if(i+=e[a],r[a]!==void 0){const o=t[a];o===gA?i+=ol(r[a]):o===xA?i+=Ke.transform(r[a]):i+=r[a]}return i}}function ZU(e){return yA(Za(e))}const XU=e=>typeof e=="number"?0:Ke.test(e)?Ke.getAnimatableNone(e):e,QU=(e,t)=>typeof e=="number"?t!=null&&t.trim().endsWith("/")?e:0:XU(e);function eW(e){const t=Za(e);return yA(t)(t.values.map((r,i)=>QU(r,t.split[i])))}const Ms={test:qU,parse:JU,createTransformer:ZU,getAnimatableNone:eW};function Vm(e,t,s){return s<0&&(s+=1),s>1&&(s-=1),s<1/6?e+(t-e)*6*s:s<1/2?t:s<2/3?e+(t-e)*(2/3-s)*6:e}function tW({hue:e,saturation:t,lightness:s,alpha:r}){e/=360,t/=100,s/=100;let i=0,a=0,o=0;if(!t)i=a=o=s;else{const l=s<.5?s*(1+t):s+t-s*t,c=2*s-l;i=Vm(c,l,e+1/3),a=Vm(c,l,e),o=Vm(c,l,e-1/3)}return{red:Math.round(i*255),green:Math.round(a*255),blue:Math.round(o*255),alpha:r}}function Du(e,t){return s=>s>0?t:e}const je=(e,t,s)=>e+(t-e)*s,zm=(e,t,s)=>{const r=e*e,i=s*(t*t-r)+r;return i<0?0:Math.sqrt(i)},sW=[zf,ni,pa],rW=e=>sW.find(t=>t.test(e));function tw(e){const t=rW(e);if(Rh(!!t,`'${e}' is not an animatable color. Use the equivalent color code instead.`,"color-not-animatable"),!t)return!1;let s=t.parse(e);return t===pa&&(s=tW(s)),s}const sw=(e,t)=>{const s=tw(e),r=tw(t);if(!s||!r)return Du(e,t);const i={...s};return a=>(i.red=zm(s.red,r.red,a),i.green=zm(s.green,r.green,a),i.blue=zm(s.blue,r.blue,a),i.alpha=je(s.alpha,r.alpha,a),ni.transform(i))},Hf=new Set(["none","hidden"]);function nW(e,t){return Hf.has(e)?s=>s<=0?e:t:s=>s>=1?t:e}function iW(e,t){return s=>je(e,t,s)}function ny(e){return typeof e=="number"?iW:typeof e=="string"?ty(e)?Du:Ke.test(e)?sw:lW:Array.isArray(e)?vA:typeof e=="object"?Ke.test(e)?sw:aW:Du}function vA(e,t){const s=[...e],r=s.length,i=e.map((a,o)=>ny(a)(a,t[o]));return a=>{for(let o=0;o<r;o++)s[o]=i[o](a);return s}}function aW(e,t){const s={...e,...t},r={};for(const i in s)e[i]!==void 0&&t[i]!==void 0&&(r[i]=ny(e[i])(e[i],t[i]));return i=>{for(const a in r)s[a]=r[a](i);return s}}function oW(e,t){const s=[],r={color:0,var:0,number:0};for(let i=0;i<t.values.length;i++){const a=t.types[i],o=e.indexes[a][r[a]],l=e.values[o]??0;s[i]=l,r[a]++}return s}const lW=(e,t)=>{const s=Ms.createTransformer(t),r=Za(e),i=Za(t);return r.indexes.var.length===i.indexes.var.length&&r.indexes.color.length===i.indexes.color.length&&r.indexes.number.length>=i.indexes.number.length?Hf.has(e)&&!i.values.length||Hf.has(t)&&!r.values.length?nW(e,t):hc(vA(oW(r,i),i.values),s):(Rh(!0,`Complex values '${e}' and '${t}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`,"complex-values-different"),Du(e,t))};function bA(e,t,s){return typeof e=="number"&&typeof t=="number"&&typeof s=="number"?je(e,t,s):ny(e)(e,t)}const cW=e=>{const t=({timestamp:s})=>e(s);return{start:(s=!0)=>ke.update(t,s),stop:()=>Rn(t),now:()=>ct.isProcessing?ct.timestamp:Ct.now()}},wA=(e,t,s=10)=>{let r="";const i=Math.max(Math.round(t/s),2);for(let a=0;a<i;a++)r+=Math.round(e(a/(i-1))*1e4)/1e4+", ";return`linear(${r.substring(0,r.length-2)})`},Lu=2e4;function iy(e){let t=0;const s=50;let r=e.next(t);for(;!r.done&&t<Lu;)t+=s,r=e.next(t);return t>=Lu?1/0:t}function dW(e,t=100,s){const r=s({...e,keyframes:[0,t]}),i=Math.min(iy(r),Lu);return{type:"keyframes",ease:a=>r.next(i*a).value/t,duration:os(i)}}const Re={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1};function qf(e,t){return e*Math.sqrt(1-t*t)}const uW=12;function hW(e,t,s){let r=s;for(let i=1;i<uW;i++)r=r-e(r)/t(r);return r}const Hm=.001;function mW({duration:e=Re.duration,bounce:t=Re.bounce,velocity:s=Re.velocity,mass:r=Re.mass}){let i,a;Rh(e<=Wt(Re.maxDuration),"Spring duration must be 10 seconds or less","spring-duration-limit");let o=1-t;o=lr(Re.minDamping,Re.maxDamping,o),e=lr(Re.minDuration,Re.maxDuration,os(e)),o<1?(i=d=>{const u=d*o,h=u*e,m=u-s,p=qf(d,o),x=Math.exp(-h);return Hm-m/p*x},a=d=>{const h=d*o*e,m=h*s+s,p=Math.pow(o,2)*Math.pow(d,2)*e,x=Math.exp(-h),y=qf(Math.pow(d,2),o);return(-i(d)+Hm>0?-1:1)*((m-p)*x)/y}):(i=d=>{const u=Math.exp(-d*e),h=(d-s)*e+1;return-Hm+u*h},a=d=>{const u=Math.exp(-d*e),h=(s-d)*(e*e);return u*h});const l=5/e,c=hW(i,a,l);if(e=Wt(e),isNaN(c))return{stiffness:Re.stiffness,damping:Re.damping,duration:e};{const d=Math.pow(c,2)*r;return{stiffness:d,damping:o*2*Math.sqrt(r*d),duration:e}}}const pW=["duration","bounce"],fW=["stiffness","damping","mass"];function rw(e,t){return t.some(s=>e[s]!==void 0)}function gW(e){let t={velocity:Re.velocity,stiffness:Re.stiffness,damping:Re.damping,mass:Re.mass,isResolvedFromDuration:!1,...e};if(!rw(e,fW)&&rw(e,pW))if(t.velocity=0,e.visualDuration){const s=e.visualDuration,r=2*Math.PI/(s*1.2),i=r*r,a=2*lr(.05,1,1-(e.bounce||0))*Math.sqrt(i);t={...t,mass:Re.mass,stiffness:i,damping:a}}else{const s=mW({...e,velocity:0});t={...t,...s,mass:Re.mass},t.isResolvedFromDuration=!0}return t}function $u(e=Re.visualDuration,t=Re.bounce){const s=typeof e!="object"?{visualDuration:e,keyframes:[0,1],bounce:t}:e;let{restSpeed:r,restDelta:i}=s;const a=s.keyframes[0],o=s.keyframes[s.keyframes.length-1],l={done:!1,value:a},{stiffness:c,damping:d,mass:u,duration:h,velocity:m,isResolvedFromDuration:p}=gW({...s,velocity:-os(s.velocity||0)}),x=m||0,y=d/(2*Math.sqrt(c*u)),b=o-a,f=os(Math.sqrt(c/u)),g=Math.abs(b)<5;r||(r=g?Re.restSpeed.granular:Re.restSpeed.default),i||(i=g?Re.restDelta.granular:Re.restDelta.default);let v,j,k,N,A,E;if(y<1)k=qf(f,y),N=(x+y*f*b)/k,v=I=>{const B=Math.exp(-y*f*I);return o-B*(N*Math.sin(k*I)+b*Math.cos(k*I))},A=y*f*N+b*k,E=y*f*b-N*k,j=I=>Math.exp(-y*f*I)*(A*Math.sin(k*I)+E*Math.cos(k*I));else if(y===1){v=B=>o-Math.exp(-f*B)*(b+(x+f*b)*B);const I=x+f*b;j=B=>Math.exp(-f*B)*(f*I*B-x)}else{const I=f*Math.sqrt(y*y-1);v=M=>{const Q=Math.exp(-y*f*M),G=Math.min(I*M,300);return o-Q*((x+y*f*b)*Math.sinh(G)+I*b*Math.cosh(G))/I};const B=(x+y*f*b)/I,_=y*f*B-b*I,$=y*f*b-B*I;j=M=>{const Q=Math.exp(-y*f*M),G=Math.min(I*M,300);return Q*(_*Math.sinh(G)+$*Math.cosh(G))}}const R={calculatedDuration:p&&h||null,velocity:I=>Wt(j(I)),next:I=>{if(!p&&y<1){const _=Math.exp(-y*f*I),$=Math.sin(k*I),M=Math.cos(k*I),Q=o-_*(N*$+b*M),G=Wt(_*(A*$+E*M));return l.done=Math.abs(G)<=r&&Math.abs(o-Q)<=i,l.value=l.done?o:Q,l}const B=v(I);if(p)l.done=I>=h;else{const _=Wt(j(I));l.done=Math.abs(_)<=r&&Math.abs(o-B)<=i}return l.value=l.done?o:B,l},toString:()=>{const I=Math.min(iy(R),Lu),B=wA(_=>R.next(I*_).value,I,30);return I+"ms "+B},toTransition:()=>{}};return R}$u.applyToOptions=e=>{const t=dW(e,100,$u);return e.ease=t.ease,e.duration=Wt(t.duration),e.type="keyframes",e};const xW=5;function jA(e,t,s){const r=Math.max(t-xW,0);return tA(s-e(r),t-r)}function Gf({keyframes:e,velocity:t=0,power:s=.8,timeConstant:r=325,bounceDamping:i=10,bounceStiffness:a=500,modifyTarget:o,min:l,max:c,restDelta:d=.5,restSpeed:u}){const h=e[0],m={done:!1,value:h},p=E=>l!==void 0&&E<l||c!==void 0&&E>c,x=E=>l===void 0?c:c===void 0||Math.abs(l-E)<Math.abs(c-E)?l:c;let y=s*t;const b=h+y,f=o===void 0?b:o(b);f!==b&&(y=f-h);const g=E=>-y*Math.exp(-E/r),v=E=>f+g(E),j=E=>{const R=g(E),I=v(E);m.done=Math.abs(R)<=d,m.value=m.done?f:I};let k,N;const A=E=>{p(m.value)&&(k=E,N=$u({keyframes:[m.value,x(m.value)],velocity:jA(v,E,m.value),damping:i,stiffness:a,restDelta:d,restSpeed:u}))};return A(0),{calculatedDuration:null,next:E=>{let R=!1;return!N&&k===void 0&&(R=!0,j(E),A(E)),k!==void 0&&E>=k?N.next(E-k):(!R&&j(E),m)}}}function yW(e,t,s){const r=[],i=s||In.mix||bA,a=e.length-1;for(let o=0;o<a;o++){let l=i(e[o],e[o+1]);if(t){const c=Array.isArray(t)?t[o]||cs:t;l=hc(c,l)}r.push(l)}return r}function vW(e,t,{clamp:s=!0,ease:r,mixer:i}={}){const a=e.length;if(_i(a===t.length,"Both input and output ranges must be the same length","range-length"),a===1)return()=>t[0];if(a===2&&t[0]===t[1])return()=>t[1];const o=e[0]===e[1];e[0]>e[a-1]&&(e=[...e].reverse(),t=[...t].reverse());const l=yW(t,r,i),c=l.length,d=u=>{if(o&&u<e[0])return t[0];let h=0;if(c>1)for(;h<e.length-2&&!(u<e[h+1]);h++);const m=zl(e[h],e[h+1],u);return l[h](m)};return s?u=>d(lr(e[0],e[a-1],u)):d}function bW(e,t){const s=e[e.length-1];for(let r=1;r<=t;r++){const i=zl(0,t,r);e.push(je(s,1,i))}}function wW(e){const t=[0];return bW(t,e.length-1),t}function jW(e,t){return e.map(s=>s*t)}function kW(e,t){return e.map(()=>t||dA).splice(0,e.length-1)}function ll({duration:e=300,keyframes:t,times:s,ease:r="easeInOut"}){const i=IU(r)?r.map(Z0):Z0(r),a={done:!1,value:t[0]},o=jW(s&&s.length===t.length?s:wW(t),e),l=vW(o,t,{ease:Array.isArray(i)?i:kW(t,i)});return{calculatedDuration:e,next:c=>(a.value=l(c),a.done=c>=e,a)}}const NW=e=>e!==null;function Oh(e,{repeat:t,repeatType:s="loop"},r,i=1){const a=e.filter(NW),l=i<0||t&&s!=="loop"&&t%2===1?0:a.length-1;return!l||r===void 0?a[l]:r}const SW={decay:Gf,inertia:Gf,tween:ll,keyframes:ll,spring:$u};function kA(e){typeof e.type=="string"&&(e.type=SW[e.type])}class ay{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(t=>{this.resolve=t})}notifyFinished(){this.resolve()}then(t,s){return this.finished.then(t,s)}}const AW=e=>e/100;class Fu extends ay{constructor(t){super(),this.state="idle",this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.delayState={done:!1,value:void 0},this.stop=()=>{var r,i;const{motionValue:s}=this.options;s&&s.updatedAt!==Ct.now()&&this.tick(Ct.now()),this.isStopped=!0,this.state!=="idle"&&(this.teardown(),(i=(r=this.options).onStop)==null||i.call(r))},this.options=t,this.initAnimation(),this.play(),t.autoplay===!1&&this.pause()}initAnimation(){const{options:t}=this;kA(t);const{type:s=ll,repeat:r=0,repeatDelay:i=0,repeatType:a,velocity:o=0}=t;let{keyframes:l}=t;const c=s||ll;c!==ll&&typeof l[0]!="number"&&(this.mixKeyframes=hc(AW,bA(l[0],l[1])),l=[0,100]);const d=c({...t,keyframes:l});a==="mirror"&&(this.mirroredGenerator=c({...t,keyframes:[...l].reverse(),velocity:-o})),d.calculatedDuration===null&&(d.calculatedDuration=iy(d));const{calculatedDuration:u}=d;this.calculatedDuration=u,this.resolvedDuration=u+i,this.totalDuration=this.resolvedDuration*(r+1)-i,this.generator=d}updateTime(t){const s=Math.round(t-this.startTime)*this.playbackSpeed;this.holdTime!==null?this.currentTime=this.holdTime:this.currentTime=s}tick(t,s=!1){const{generator:r,totalDuration:i,mixKeyframes:a,mirroredGenerator:o,resolvedDuration:l,calculatedDuration:c}=this;if(this.startTime===null)return r.next(0);const{delay:d=0,keyframes:u,repeat:h,repeatType:m,repeatDelay:p,type:x,onUpdate:y,finalKeyframe:b}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,t):this.speed<0&&(this.startTime=Math.min(t-i/this.speed,this.startTime)),s?this.currentTime=t:this.updateTime(t);const f=this.currentTime-d*(this.playbackSpeed>=0?1:-1),g=this.playbackSpeed>=0?f<0:f>i;this.currentTime=Math.max(f,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=i);let v=this.currentTime,j=r;if(h){const E=Math.min(this.currentTime,i)/l;let R=Math.floor(E),I=E%1;!I&&E>=1&&(I=1),I===1&&R--,R=Math.min(R,h+1),!!(R%2)&&(m==="reverse"?(I=1-I,p&&(I-=p/l)):m==="mirror"&&(j=o)),v=lr(0,1,I)*l}let k;g?(this.delayState.value=u[0],k=this.delayState):k=j.next(v),a&&!g&&(k.value=a(k.value));let{done:N}=k;!g&&c!==null&&(N=this.playbackSpeed>=0?this.currentTime>=i:this.currentTime<=0);const A=this.holdTime===null&&(this.state==="finished"||this.state==="running"&&N);return A&&x!==Gf&&(k.value=Oh(u,this.options,b,this.speed)),y&&y(k.value),A&&this.finish(),k}then(t,s){return this.finished.then(t,s)}get duration(){return os(this.calculatedDuration)}get iterationDuration(){const{delay:t=0}=this.options||{};return this.duration+os(t)}get time(){return os(this.currentTime)}set time(t){t=Wt(t),this.currentTime=t,this.startTime===null||this.holdTime!==null||this.playbackSpeed===0?this.holdTime=t:this.driver&&(this.startTime=this.driver.now()-t/this.playbackSpeed),this.driver?this.driver.start(!1):(this.startTime=0,this.state="paused",this.holdTime=t,this.tick(t))}getGeneratorVelocity(){const t=this.currentTime;if(t<=0)return this.options.velocity||0;if(this.generator.velocity)return this.generator.velocity(t);const s=this.generator.next(t).value;return jA(r=>this.generator.next(r).value,t,s)}get speed(){return this.playbackSpeed}set speed(t){const s=this.playbackSpeed!==t;s&&this.driver&&this.updateTime(Ct.now()),this.playbackSpeed=t,s&&this.driver&&(this.time=os(this.currentTime))}play(){var i,a;if(this.isStopped)return;const{driver:t=cW,startTime:s}=this.options;this.driver||(this.driver=t(o=>this.tick(o))),(a=(i=this.options).onPlay)==null||a.call(i);const r=this.driver.now();this.state==="finished"?(this.updateFinished(),this.startTime=r):this.holdTime!==null?this.startTime=r-this.holdTime:this.startTime||(this.startTime=s??r),this.state==="finished"&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state="running",this.driver.start()}pause(){this.state="paused",this.updateTime(Ct.now()),this.holdTime=this.currentTime}complete(){this.state!=="running"&&this.play(),this.state="finished",this.holdTime=null}finish(){var t,s;this.notifyFinished(),this.teardown(),this.state="finished",(s=(t=this.options).onComplete)==null||s.call(t)}cancel(){var t,s;this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),(s=(t=this.options).onCancel)==null||s.call(t)}teardown(){this.state="idle",this.stopDriver(),this.startTime=this.holdTime=null}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(t){return this.startTime=0,this.tick(t,!0)}attachTimeline(t){var s;return this.options.allowFlatten&&(this.options.type="keyframes",this.options.ease="linear",this.initAnimation()),(s=this.driver)==null||s.stop(),t.observe(this)}}function _W(e){for(let t=1;t<e.length;t++)e[t]??(e[t]=e[t-1])}const ii=e=>e*180/Math.PI,Kf=e=>{const t=ii(Math.atan2(e[1],e[0]));return Yf(t)},CW={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:e=>(Math.abs(e[0])+Math.abs(e[3]))/2,rotate:Kf,rotateZ:Kf,skewX:e=>ii(Math.atan(e[1])),skewY:e=>ii(Math.atan(e[2])),skew:e=>(Math.abs(e[1])+Math.abs(e[2]))/2},Yf=e=>(e=e%360,e<0&&(e+=360),e),nw=Kf,iw=e=>Math.sqrt(e[0]*e[0]+e[1]*e[1]),aw=e=>Math.sqrt(e[4]*e[4]+e[5]*e[5]),EW={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:iw,scaleY:aw,scale:e=>(iw(e)+aw(e))/2,rotateX:e=>Yf(ii(Math.atan2(e[6],e[5]))),rotateY:e=>Yf(ii(Math.atan2(-e[2],e[0]))),rotateZ:nw,rotate:nw,skewX:e=>ii(Math.atan(e[4])),skewY:e=>ii(Math.atan(e[1])),skew:e=>(Math.abs(e[1])+Math.abs(e[4]))/2};function Jf(e){return e.includes("scale")?1:0}function Zf(e,t){if(!e||e==="none")return Jf(t);const s=e.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);let r,i;if(s)r=EW,i=s;else{const l=e.match(/^matrix\(([-\d.e\s,]+)\)$/u);r=CW,i=l}if(!i)return Jf(t);const a=r[t],o=i[1].split(",").map(PW);return typeof a=="function"?a(o):o[a]}const TW=(e,t)=>{const{transform:s="none"}=getComputedStyle(e);return Zf(s,t)};function PW(e){return parseFloat(e.trim())}const po=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],fo=new Set([...po,"pathRotation"]),ow=e=>e===mo||e===Y,IW=new Set(["x","y","z"]),RW=po.filter(e=>!IW.has(e));function OW(e){const t=[];return RW.forEach(s=>{const r=e.getValue(s);r!==void 0&&(t.push([s,r.get()]),r.set(s.startsWith("scale")?1:0))}),t}const un={width:({x:e},{paddingLeft:t="0",paddingRight:s="0",boxSizing:r})=>{const i=e.max-e.min;return r==="border-box"?i:i-parseFloat(t)-parseFloat(s)},height:({y:e},{paddingTop:t="0",paddingBottom:s="0",boxSizing:r})=>{const i=e.max-e.min;return r==="border-box"?i:i-parseFloat(t)-parseFloat(s)},top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:(e,{transform:t})=>Zf(t,"x"),y:(e,{transform:t})=>Zf(t,"y")};un.translateX=un.x;un.translateY=un.y;const gi=new Set;let Xf=!1,Qf=!1,eg=!1;function NA(){if(Qf){const e=Array.from(gi).filter(r=>r.needsMeasurement),t=new Set(e.map(r=>r.element)),s=new Map;t.forEach(r=>{const i=OW(r);i.length&&(s.set(r,i),r.render())}),e.forEach(r=>r.measureInitialState()),t.forEach(r=>{r.render();const i=s.get(r);i&&i.forEach(([a,o])=>{var l;(l=r.getValue(a))==null||l.set(o)})}),e.forEach(r=>r.measureEndState()),e.forEach(r=>{r.suspendedScrollY!==void 0&&window.scrollTo(0,r.suspendedScrollY)})}Qf=!1,Xf=!1,gi.forEach(e=>e.complete(eg)),gi.clear()}function SA(){gi.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(Qf=!0)})}function MW(){eg=!0,SA(),NA(),eg=!1}class oy{constructor(t,s,r,i,a,o=!1){this.state="pending",this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...t],this.onComplete=s,this.name=r,this.motionValue=i,this.element=a,this.isAsync=o}scheduleResolve(){this.state="scheduled",this.isAsync?(gi.add(this),Xf||(Xf=!0,ke.read(SA),ke.resolveKeyframes(NA))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:t,name:s,element:r,motionValue:i}=this;if(t[0]===null){const a=i==null?void 0:i.get(),o=t[t.length-1];if(a!==void 0)t[0]=a;else if(r&&s){const l=r.readValue(s,o);l!=null&&(t[0]=l)}t[0]===void 0&&(t[0]=o),i&&a===void 0&&i.set(t[0])}_W(t)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(t=!1){this.state="complete",this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,t),gi.delete(this)}cancel(){this.state==="scheduled"&&(gi.delete(this),this.state="pending")}resume(){this.state==="pending"&&this.scheduleResolve()}}const DW=e=>e.startsWith("--");function AA(e,t,s){DW(t)?e.style.setProperty(t,s):e.style[t]=s}const LW={};function _A(e,t){const s=eA(e);return()=>LW[t]??s()}const $W=_A(()=>window.ScrollTimeline!==void 0,"scrollTimeline"),CA=_A(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing"),qo=([e,t,s,r])=>`cubic-bezier(${e}, ${t}, ${s}, ${r})`,lw={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:qo([0,.65,.55,1]),circOut:qo([.55,0,1,.45]),backIn:qo([.31,.01,.66,-.59]),backOut:qo([.33,1.53,.69,.99])};function EA(e,t){if(e)return typeof e=="function"?CA()?wA(e,t):"ease-out":uA(e)?qo(e):Array.isArray(e)?e.map(s=>EA(s,t)||lw.easeOut):lw[e]}function FW(e,t,s,{delay:r=0,duration:i=300,repeat:a=0,repeatType:o="loop",ease:l="easeOut",times:c}={},d=void 0){const u={[t]:s};c&&(u.offset=c);const h=EA(l,i);Array.isArray(h)&&(u.easing=h);const m={delay:r,duration:i,easing:Array.isArray(h)?"linear":h,fill:"both",iterations:a+1,direction:o==="reverse"?"alternate":"normal"};return d&&(m.pseudoElement=d),e.animate(u,m)}function TA(e){return typeof e=="function"&&"applyToOptions"in e}function BW({type:e,...t}){return TA(e)&&CA()?e.applyToOptions(t):(t.duration??(t.duration=300),t.ease??(t.ease="easeOut"),t)}class PA extends ay{constructor(t){if(super(),this.finishedTime=null,this.isStopped=!1,this.manualStartTime=null,!t)return;const{element:s,name:r,keyframes:i,pseudoElement:a,allowFlatten:o=!1,finalKeyframe:l,onComplete:c}=t;this.isPseudoElement=!!a,this.allowFlatten=o,this.options=t,_i(typeof t.type!="string",`Mini animate() doesn't support "type" as a string.`,"mini-spring");const d=BW(t);this.animation=FW(s,r,i,d,a),d.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!a){const u=Oh(i,this.options,l,this.speed);this.updateMotionValue&&this.updateMotionValue(u),AA(s,r,u),this.animation.cancel()}c==null||c(),this.notifyFinished()}}play(){this.isStopped||(this.manualStartTime=null,this.animation.play(),this.state==="finished"&&this.updateFinished())}pause(){this.animation.pause()}complete(){var t,s;(s=(t=this.animation).finish)==null||s.call(t)}cancel(){try{this.animation.cancel()}catch{}}stop(){if(this.isStopped)return;this.isStopped=!0;const{state:t}=this;t==="idle"||t==="finished"||(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){var s,r,i;const t=(s=this.options)==null?void 0:s.element;!this.isPseudoElement&&(t!=null&&t.isConnected)&&((i=(r=this.animation).commitStyles)==null||i.call(r))}get duration(){var s,r;const t=((r=(s=this.animation.effect)==null?void 0:s.getComputedTiming)==null?void 0:r.call(s).duration)||0;return os(Number(t))}get iterationDuration(){const{delay:t=0}=this.options||{};return this.duration+os(t)}get time(){return os(Number(this.animation.currentTime)||0)}set time(t){const s=this.finishedTime!==null;this.manualStartTime=null,this.finishedTime=null,this.animation.currentTime=Wt(t),s&&this.animation.pause()}get speed(){return this.animation.playbackRate}set speed(t){t<0&&(this.finishedTime=null),this.animation.playbackRate=t}get state(){return this.finishedTime!==null?"finished":this.animation.playState}get startTime(){return this.manualStartTime??Number(this.animation.startTime)}set startTime(t){this.manualStartTime=this.animation.startTime=t}attachTimeline({timeline:t,rangeStart:s,rangeEnd:r,observe:i}){var a;return this.allowFlatten&&((a=this.animation.effect)==null||a.updateTiming({easing:"linear"})),this.animation.onfinish=null,t&&$W()?(this.animation.timeline=t,s&&(this.animation.rangeStart=s),r&&(this.animation.rangeEnd=r),cs):i(this)}}const IA={anticipate:oA,backInOut:aA,circInOut:cA};function UW(e){return e in IA}function WW(e){typeof e.ease=="string"&&UW(e.ease)&&(e.ease=IA[e.ease])}const qm=10;class VW extends PA{constructor(t){WW(t),kA(t),super(t),t.startTime!==void 0&&t.autoplay!==!1&&(this.startTime=t.startTime),this.options=t}updateMotionValue(t){const{motionValue:s,onUpdate:r,onComplete:i,element:a,...o}=this.options;if(!s)return;if(t!==void 0){s.set(t);return}const l=new Fu({...o,autoplay:!1}),c=Math.max(qm,Ct.now()-this.startTime),d=lr(0,qm,c-qm),u=l.sample(c).value,{name:h}=this.options;a&&h&&AA(a,h,u),s.setWithVelocity(l.sample(Math.max(0,c-d)).value,u,d),l.stop()}}const cw=(e,t)=>t==="zIndex"?!1:!!(typeof e=="number"||Array.isArray(e)||typeof e=="string"&&(Ms.test(e)||e==="0")&&!e.startsWith("url("));function zW(e){const t=e[0];if(e.length===1)return!0;for(let s=0;s<e.length;s++)if(e[s]!==t)return!0}function HW(e,t,s,r){const i=e[0];if(i===null)return!1;if(t==="display"||t==="visibility")return!0;const a=e[e.length-1],o=cw(i,t),l=cw(a,t);return Rh(o===l,`You are trying to animate ${t} from "${i}" to "${a}". "${o?a:i}" is not an animatable value.`,"value-not-animatable"),!o||!l?!1:zW(e)||(s==="spring"||TA(s))&&r}function tg(e){e.duration=0,e.type="keyframes"}const RA=new Set(["opacity","clipPath","filter","transform","backgroundColor"]),qW=/^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/;function GW(e){for(let t=0;t<e.length;
517t++)if(typeof e[t]=="string"&&qW.test(e[t]))return!0;return!1}const KW=new Set(["color","backgroundColor","outlineColor","fill","stroke","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor"]),YW=eA(()=>Object.hasOwnProperty.call(Element.prototype,"animate"));function JW(e){var h;const{motionValue:t,name:s,repeatDelay:r,repeatType:i,damping:a,type:o,keyframes:l}=e,c=(h=t==null?void 0:t.owner)==null?void 0:h.current;if(!(c instanceof HTMLElement)&&!(c instanceof SVGElement))return!1;const{onUpdate:d,transformTemplate:u}=t.owner.getProps();return YW()&&s&&(RA.has(s)||KW.has(s)&&GW(l))&&(s!=="transform"||!u)&&!d&&!r&&i!=="mirror"&&a!==0&&o!=="inertia"}const ZW=40;class XW extends ay{constructor({autoplay:t=!0,delay:s=0,type:r="keyframes",repeat:i=0,repeatDelay:a=0,repeatType:o="loop",keyframes:l,name:c,motionValue:d,element:u,...h}){var x;super(),this.stop=()=>{var y,b;this._animation&&(this._animation.stop(),(y=this.stopTimeline)==null||y.call(this)),(b=this.keyframeResolver)==null||b.cancel()},this.createdAt=Ct.now();const m={autoplay:t,delay:s,type:r,repeat:i,repeatDelay:a,repeatType:o,name:c,motionValue:d,element:u,...h},p=(u==null?void 0:u.KeyframeResolver)||oy;this.keyframeResolver=new p(l,(y,b,f)=>this.onKeyframesResolved(y,b,m,!f),c,d,u),(x=this.keyframeResolver)==null||x.scheduleResolve()}onKeyframesResolved(t,s,r,i){var f,g;this.keyframeResolver=void 0;const{name:a,type:o,velocity:l,delay:c,isHandoff:d,onUpdate:u}=r;this.resolvedAt=Ct.now();let h=!0;HW(t,a,o,l)||(h=!1,(In.instantAnimations||!c)&&(u==null||u(Oh(t,r,s))),t[0]=t[t.length-1],tg(r),r.repeat=0);const p={startTime:i?this.resolvedAt?this.resolvedAt-this.createdAt>ZW?this.resolvedAt:this.createdAt:this.createdAt:void 0,finalKeyframe:s,...r,keyframes:t},x=h&&!d&&JW(p),y=(g=(f=p.motionValue)==null?void 0:f.owner)==null?void 0:g.current;let b;if(x)try{b=new VW({...p,element:y})}catch{b=new Fu(p)}else b=new Fu(p);b.finished.then(()=>{this.notifyFinished()}).catch(cs),this.pendingTimeline&&(this.stopTimeline=b.attachTimeline(this.pendingTimeline),this.pendingTimeline=void 0),this._animation=b}get finished(){return this._animation?this.animation.finished:this._finished}then(t,s){return this.finished.finally(t).then(()=>{})}get animation(){var t;return this._animation||((t=this.keyframeResolver)==null||t.resume(),MW()),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(t){this.animation.time=t}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(t){this.animation.speed=t}get startTime(){return this.animation.startTime}attachTimeline(t){return this._animation?this.stopTimeline=this.animation.attachTimeline(t):this.pendingTimeline=t,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){var t;this._animation&&this.animation.cancel(),(t=this.keyframeResolver)==null||t.cancel()}}function OA(e,t,s,r=0,i=1){const a=Array.from(e).sort((d,u)=>d.sortNodePosition(u)).indexOf(t),o=e.size,l=(o-1)*r;return typeof s=="function"?s(a,o):i===1?a*r:l-a*r}const dw=30,QW=e=>!isNaN(parseFloat(e));class eV{constructor(t,s={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=r=>{var a;const i=Ct.now();if(this.updatedAt!==i&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(r),this.current!==this.prev&&((a=this.events.change)==null||a.notify(this.current),this.dependents))for(const o of this.dependents)o.dirty()},this.hasAnimated=!1,this.setCurrent(t),this.owner=s.owner}setCurrent(t){this.current=t,this.updatedAt=Ct.now(),this.canTrackVelocity===null&&t!==void 0&&(this.canTrackVelocity=QW(this.current))}setPrevFrameValue(t=this.current){this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt}onChange(t){return this.on("change",t)}on(t,s){this.events[t]||(this.events[t]=new Xx);const r=this.events[t].add(s);return t==="change"?()=>{r(),ke.read(()=>{this.events.change.getSize()||this.stop()})}:r}clearListeners(){for(const t in this.events)this.events[t].clear()}attach(t,s){this.passiveEffect=t,this.stopPassiveEffect=s}set(t){this.passiveEffect?this.passiveEffect(t,this.updateAndNotify):this.updateAndNotify(t)}setWithVelocity(t,s,r){this.set(s),this.prev=void 0,this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt-r}jump(t,s=!0){this.updateAndNotify(t),this.prev=t,this.prevUpdatedAt=this.prevFrameValue=void 0,s&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){var t;(t=this.events.change)==null||t.notify(this.current)}addDependent(t){this.dependents||(this.dependents=new Set),this.dependents.add(t)}removeDependent(t){this.dependents&&this.dependents.delete(t)}get(){return this.current}getPrevious(){return this.prev}getVelocity(){const t=Ct.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||t-this.updatedAt>dw)return 0;const s=Math.min(this.updatedAt-this.prevUpdatedAt,dw);return tA(parseFloat(this.current)-parseFloat(this.prevFrameValue),s)}start(t){return this.stop(),new Promise(s=>{this.hasAnimated=!0,this.animation=t(s),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){var t,s;(t=this.dependents)==null||t.clear(),(s=this.events.destroy)==null||s.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function Xa(e,t){return new eV(e,t)}function MA(e,t){if(e!=null&&e.inherit&&t){const{inherit:s,...r}=e;return{...t,...r}}return e}function ly(e,t){const s=(e==null?void 0:e[t])??(e==null?void 0:e.default)??e;return s!==e?MA(s,e):s}const tV={type:"spring",stiffness:500,damping:25,restSpeed:10},sV=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),rV={type:"keyframes",duration:.8},nV={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},iV=(e,{keyframes:t})=>t.length>2?rV:fo.has(e)?e.startsWith("scale")?sV(t[1]):tV:nV,aV=new Set(["when","delay","delayChildren","staggerChildren","staggerDirection","repeat","repeatType","repeatDelay","from","elapsed"]);function oV(e){for(const t in e)if(!aV.has(t))return!0;return!1}const cy=(e,t,s,r={},i,a)=>o=>{const l=ly(r,e)||{},c=l.delay||r.delay||0;let{elapsed:d=0}=r;d=d-Wt(c);const u={keyframes:Array.isArray(s)?s:[null,s],ease:"easeOut",velocity:t.getVelocity(),...l,delay:-d,onUpdate:m=>{t.set(m),l.onUpdate&&l.onUpdate(m)},onComplete:()=>{o(),l.onComplete&&l.onComplete()},name:e,motionValue:t,element:a?void 0:i};oV(l)||Object.assign(u,iV(e,u)),u.duration&&(u.duration=Wt(u.duration)),u.repeatDelay&&(u.repeatDelay=Wt(u.repeatDelay)),u.from!==void 0&&(u.keyframes[0]=u.from);let h=!1;if((u.type===!1||u.duration===0&&!u.repeatDelay)&&(tg(u),u.delay===0&&(h=!0)),(In.instantAnimations||In.skipAnimations||i!=null&&i.shouldSkipAnimations||l.skipAnimations)&&(h=!0,tg(u),u.delay=0),u.allowFlatten=!l.type&&!l.ease,h&&!a&&t.get()!==void 0){const m=Oh(u.keyframes,l);if(m!==void 0){ke.update(()=>{u.onUpdate(m),u.onComplete()});return}}return l.isSync?new Fu(u):new XW(u)},lV=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function cV(e){const t=lV.exec(e);if(!t)return[,];const[,s,r,i]=t;return[`--${s??r}`,i]}const dV=4;function DA(e,t,s=1){_i(s<=dV,`Max CSS variable fallback depth detected in property "${e}". This may indicate a circular fallback dependency.`,"max-css-var-depth");const[r,i]=cV(e);if(!r)return;const a=window.getComputedStyle(t).getPropertyValue(r);if(a){const o=a.trim();return ZS(o)?parseFloat(o):o}return ty(i)?DA(i,t,s+1):i}function uw(e){const t=[{},{}];
vendor: 22,256 bytes, line 517
517return e==null||e.values.forEach((s,r)=>{t[0][r]=s.get(),t[1][r]=s.getVelocity()}),t}function dy(e,t,s,r){if(typeof t=="function"){const[i,a]=uw(r);t=t(s!==void 0?s:e.custom,i,a)}if(typeof t=="string"&&(t=e.variants&&e.variants[t]),typeof t=="function"){const[i,a]=uw(r);t=t(s!==void 0?s:e.custom,i,a)}return t}function xi(e,t,s){const r=e.getProps();return dy(r,t,s!==void 0?s:r.custom,e)}const LA=new Set(["width","height","top","left","right","bottom",...po]),sg=e=>Array.isArray(e);function uV(e,t,s){e.hasValue(t)?e.getValue(t).set(s):e.addValue(t,Xa(s))}function hV(e){return sg(e)?e[e.length-1]||0:e}function mV(e,t){const s=xi(e,t);let{transitionEnd:r={},transition:i={},...a}=s||{};a={...a,...r};for(const o in a){const l=hV(a[o]);uV(e,o,l)}}const dt=e=>!!(e&&e.getVelocity);function pV(e){return!!(dt(e)&&e.add)}function rg(e,t){const s=e.getValue("willChange");if(pV(s))return s.add(t);if(!s&&In.WillChange){const r=new In.WillChange("auto");e.addValue("willChange",r),r.add(t)}}function uy(e){return e.replace(/([A-Z])/g,t=>`-${t.toLowerCase()}`)}const fV="framerAppearId",$A="data-"+uy(fV);function FA(e){return e.props[$A]}function gV({protectedKeys:e,needsAnimating:t},s){const r=e.hasOwnProperty(s)&&t[s]!==!0;return t[s]=!1,r}function BA(e,t,{delay:s=0,transitionOverride:r,type:i}={}){let{transition:a,transitionEnd:o,...l}=t;const c=e.getDefaultTransition();a=a?MA(a,c):c;const d=a==null?void 0:a.reduceMotion,u=a==null?void 0:a.skipAnimations;r&&(a=r);const h=[],m=i&&e.animationState&&e.animationState.getState()[i],p=a==null?void 0:a.path;p&&p.animateVisualElement(e,l,a,s,h);for(const x in l){const y=e.getValue(x,e.latestValues[x]??null),b=l[x];if(b===void 0||m&&gV(m,x))continue;const f={delay:s,...ly(a||{},x)};u&&(f.skipAnimations=!0);const g=y.get();if(g!==void 0&&!y.isAnimating()&&!Array.isArray(b)&&b===g&&!f.velocity){ke.update(()=>y.set(b));continue}let v=!1;if(window.MotionHandoffAnimation){const N=FA(e);if(N){const A=window.MotionHandoffAnimation(N,x,ke);A!==null&&(f.startTime=A,v=!0)}}rg(e,x);const j=d??e.shouldReduceMotion;y.start(cy(x,y,b,j&&LA.has(x)?{type:!1}:f,e,v));const k=y.animation;k&&h.push(k)}if(o){const x=()=>ke.update(()=>{o&&mV(e,o)});h.length?Promise.all(h).then(x):x()}return h}function ng(e,t,s={}){var c;const r=xi(e,t,s.type==="exit"?(c=e.presenceContext)==null?void 0:c.custom:void 0);let{transition:i=e.getDefaultTransition()||{}}=r||{};s.transitionOverride&&(i=s.transitionOverride);const a=r?()=>Promise.all(BA(e,r,s)):()=>Promise.resolve(),o=e.variantChildren&&e.variantChildren.size?(d=0)=>{const{delayChildren:u=0,staggerChildren:h,staggerDirection:m}=i;return xV(e,t,d,u,h,m,s)}:()=>Promise.resolve(),{when:l}=i;if(l){const[d,u]=l==="beforeChildren"?[a,o]:[o,a];return d().then(()=>u())}else return Promise.all([a(),o(s.delay)])}function xV(e,t,s=0,r=0,i=0,a=1,o){const l=[];for(const c of e.variantChildren)c.notify("AnimationStart",t),l.push(ng(c,t,{...o,delay:s+(typeof r=="function"?0:r)+OA(e.variantChildren,c,r,i,a)}).then(()=>c.notify("AnimationComplete",t)));return Promise.all(l)}function yV(e,t,s={}){e.notify("AnimationStart",t);let r;if(Array.isArray(t)){const i=t.map(a=>ng(e,a,s));r=Promise.all(i)}else if(typeof t=="string")r=ng(e,t,s);else{const i=typeof t=="function"?xi(e,t,s.custom):t;r=Promise.all(BA(e,i,s))}return r.then(()=>{e.notify("AnimationComplete",t)})}const vV={test:e=>e==="auto",parse:e=>e},UA=e=>t=>t.test(e),WA=[mo,Y,nr,xr,zU,VU,vV],hw=e=>WA.find(UA(e));function bV(e){return typeof e=="number"?e===0:e!==null?e==="none"||e==="0"||QS(e):!0}const wV=new Set(["brightness","contrast","saturate","opacity"]);function jV(e){const[t,s]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[r]=s.match(sy)||[];if(!r)return e;const i=s.replace(r,"");let a=wV.has(t)?1:0;return r!==s&&(a*=100),t+"("+a+i+")"}const kV=/\b([a-z-]*)\(.*?\)/gu,ig={...Ms,getAnimatableNone:e=>{const t=e.match(kV);return t?t.map(jV).join(" "):e}},ag={...Ms,getAnimatableNone:e=>{const t=Ms.parse(e);return Ms.createTransformer(e)(t.map(r=>typeof r=="number"?0:typeof r=="object"?{...r,alpha:1}:r))}},mw={...mo,transform:Math.round},NV={rotate:xr,pathRotation:xr,rotateX:xr,rotateY:xr,rotateZ:xr,scale:ld,scaleX:ld,scaleY:ld,scaleZ:ld,skew:xr,skewX:xr,skewY:xr,distance:Y,translateX:Y,translateY:Y,translateZ:Y,x:Y,y:Y,z:Y,perspective:Y,transformPerspective:Y,opacity:Hl,originX:Q0,originY:Q0,originZ:Y},Bu={borderWidth:Y,borderTopWidth:Y,borderRightWidth:Y,borderBottomWidth:Y,borderLeftWidth:Y,borderRadius:Y,borderTopLeftRadius:Y,borderTopRightRadius:Y,borderBottomRightRadius:Y,borderBottomLeftRadius:Y,width:Y,maxWidth:Y,height:Y,maxHeight:Y,top:Y,right:Y,bottom:Y,left:Y,inset:Y,insetBlock:Y,insetBlockStart:Y,insetBlockEnd:Y,insetInline:Y,insetInlineStart:Y,insetInlineEnd:Y,padding:Y,paddingTop:Y,paddingRight:Y,paddingBottom:Y,paddingLeft:Y,paddingBlock:Y,paddingBlockStart:Y,paddingBlockEnd:Y,paddingInline:Y,paddingInlineStart:Y,paddingInlineEnd:Y,margin:Y,marginTop:Y,marginRight:Y,marginBottom:Y,marginLeft:Y,marginBlock:Y,marginBlockStart:Y,marginBlockEnd:Y,marginInline:Y,marginInlineStart:Y,marginInlineEnd:Y,fontSize:Y,backgroundPositionX:Y,backgroundPositionY:Y,...NV,zIndex:mw,fillOpacity:Hl,strokeOpacity:Hl,numOctaves:mw},SV={...Bu,color:Ke,backgroundColor:Ke,outlineColor:Ke,fill:Ke,stroke:Ke,borderColor:Ke,borderTopColor:Ke,borderRightColor:Ke,borderBottomColor:Ke,borderLeftColor:Ke,filter:ig,WebkitFilter:ig,mask:ag,WebkitMask:ag},VA=e=>SV[e],AV=new Set([ig,ag]);function zA(e,t){let s=VA(e);return AV.has(s)||(s=Ms),s.getAnimatableNone?s.getAnimatableNone(t):void 0}const _V=new Set(["auto","none","0"]);function CV(e,t,s){let r=0,i;for(;r<e.length&&!i;){const a=e[r];typeof a=="string"&&!_V.has(a)&&Za(a).values.length&&(i=e[r]),r++}if(i&&s)for(const a of t)e[a]=zA(s,i)}class EV extends oy{constructor(t,s,r,i,a){super(t,s,r,i,a,!0)}readKeyframes(){const{unresolvedKeyframes:t,element:s,name:r}=this;if(!s||!s.current)return;super.readKeyframes();for(let u=0;u<t.length;u++){let h=t[u];if(typeof h=="string"&&(h=h.trim(),ty(h))){const m=DA(h,s.current);m!==void 0&&(t[u]=m),u===t.length-1&&(this.finalKeyframe=h)}}if(this.resolveNoneKeyframes(),!LA.has(r)||t.length!==2)return;const[i,a]=t,o=hw(i),l=hw(a),c=X0(i),d=X0(a);if(c!==d&&un[r]){this.needsMeasurement=!0;return}if(o!==l)if(ow(o)&&ow(l))for(let u=0;u<t.length;u++){const h=t[u];typeof h=="string"&&(t[u]=parseFloat(h))}else un[r]&&(this.needsMeasurement=!0)}resolveNoneKeyframes(){const{unresolvedKeyframes:t,name:s}=this,r=[];for(let i=0;i<t.length;i++)(t[i]===null||bV(t[i]))&&r.push(i);r.length&&CV(t,r,s)}measureInitialState(){const{element:t,unresolvedKeyframes:s,name:r}=this;if(!t||!t.current)return;r==="height"&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=un[r](t.measureViewportBox(),window.getComputedStyle(t.current)),s[0]=this.measuredOrigin;const i=s[s.length-1];i!==void 0&&t.getValue(r,i).jump(i,!1)}measureEndState(){var l;const{element:t,name:s,unresolvedKeyframes:r}=this;if(!t||!t.current)return;const i=t.getValue(s);i&&i.jump(this.measuredOrigin,!1);const a=r.length-1,o=r[a];r[a]=un[s](t.measureViewportBox(),window.getComputedStyle(t.current)),o!==null&&this.finalKeyframe===void 0&&(this.finalKeyframe=o),(l=this.removedTransforms)!=null&&l.length&&this.removedTransforms.forEach(([c,d])=>{t.getValue(c).set(d)}),this.resolveNoneKeyframes()}}const hy=["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"];function HA(e,t,s){if(e==null)return[];if(e instanceof EventTarget)return[e];if(typeof e=="string"){const i=document.querySelectorAll(e);return i?Array.from(i):[]}return Array.from(e).filter(r=>r!=null)}const og=(e,t)=>t&&typeof e=="number"?t.transform(e):e;function TV(e){return XS(e)&&"offsetHeight"in e&&!("ownerSVGElement"in e)}const{schedule:my,cancel:sG}=hA(queueMicrotask,!1),ws={x:!1,y:!1};function qA(){return ws.x||ws.y}function PV(e){return e==="x"||e==="y"?ws[e]?null:(ws[e]=!0,()=>{ws[e]=!1}):ws.x||ws.y?null:(ws.x=ws.y=!0,()=>{ws.x=ws.y=!1})}function GA(e,t){const s=HA(e),r=new AbortController,i={passive:!0,...t,signal:r.signal};return[s,i,()=>r.abort()]}function IV(e){return!(e.pointerType==="touch"||qA())}function RV(e,t,s={}){const[r,i,a]=GA(e,s);return r.forEach(o=>{let l=!1,c=!1,d;const u=()=>{o.removeEventListener("pointerleave",x)},h=b=>{d&&(d(b),d=void 0),u()},m=b=>{l=!1,window.removeEventListener("pointerup",m),window.removeEventListener("pointercancel",m),c&&(c=!1,h(b))},p=()=>{l=!0,window.addEventListener("pointerup",m,i),window.addEventListener("pointercancel",m,i)},x=b=>{if(b.pointerType!=="touch"){if(l){c=!0;return}h(b)}},y=b=>{if(!IV(b))return;c=!1;const f=t(o,b);typeof f=="function"&&(d=f,o.addEventListener("pointerleave",x,i))};o.addEventListener("pointerenter",y,i),o.addEventListener("pointerdown",p,i)}),a}const KA=(e,t)=>t?e===t?!0:KA(e,t.parentElement):!1,py=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1,OV=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);function MV(e){return OV.has(e.tagName)||e.isContentEditable===!0}const DV=new Set(["INPUT","SELECT","TEXTAREA"]);function LV(e){return DV.has(e.tagName)||e.isContentEditable===!0}const Md=new WeakSet;function pw(e){return t=>{t.key==="Enter"&&e(t)}}function Gm(e,t){e.dispatchEvent(new PointerEvent("pointer"+t,{isPrimary:!0,bubbles:!0}))}const $V=(e,t)=>{const s=e.currentTarget;if(!s)return;const r=pw(()=>{if(Md.has(s))return;Gm(s,"down");const i=pw(()=>{Gm(s,"up")}),a=()=>Gm(s,"cancel");s.addEventListener("keyup",i,t),s.addEventListener("blur",a,t)});s.addEventListener("keydown",r,t),s.addEventListener("blur",()=>s.removeEventListener("keydown",r),t)};function fw(e){return py(e)&&!qA()}const gw=new WeakSet;function FV(e,t,s={}){const[r,i,a]=GA(e,s),o=l=>{const c=l.currentTarget;if(!fw(l)||gw.has(l))return;Md.add(c),s.stopPropagation&&gw.add(l);const d=t(c,l),u={...i,capture:!0},h=(x,y)=>{window.removeEventListener("pointerup",m,u),window.removeEventListener("pointercancel",p,u),Md.has(c)&&Md.delete(c),fw(x)&&typeof d=="function"&&d(x,{success:y})},m=x=>{h(x,c===window||c===document||s.useGlobalTarget||KA(c,x.target))},p=x=>{h(x,!1)};window.addEventListener("pointerup",m,u),window.addEventListener("pointercancel",p,u)};return r.forEach(l=>{(s.useGlobalTarget?window:l).addEventListener("pointerdown",o,i),TV(l)&&(l.addEventListener("focus",d=>$V(d,i)),!MV(l)&&!l.hasAttribute("tabindex")&&(l.tabIndex=0))}),a}function fy(e){return XS(e)&&"ownerSVGElement"in e}const Dd=new WeakMap;let Gr;const YA=(e,t,s)=>(r,i)=>i&&i[0]?i[0][e+"Size"]:fy(r)&&"getBBox"in r?r.getBBox()[t]:r[s],BV=YA("inline","width","offsetWidth"),UV=YA("block","height","offsetHeight");function WV({target:e,borderBoxSize:t}){var s;(s=Dd.get(e))==null||s.forEach(r=>{r(e,{get width(){return BV(e,t)},get height(){return UV(e,t)}})})}function VV(e){e.forEach(WV)}function zV(){typeof ResizeObserver>"u"||(Gr=new ResizeObserver(VV))}function HV(e,t){Gr||zV();const s=HA(e);return s.forEach(r=>{let i=Dd.get(r);i||(i=new Set,Dd.set(r,i)),i.add(t),Gr==null||Gr.observe(r)}),()=>{s.forEach(r=>{const i=Dd.get(r);i==null||i.delete(t),i!=null&&i.size||Gr==null||Gr.unobserve(r)})}}const Ld=new Set;let fa;function qV(){fa=()=>{const e={get width(){return window.innerWidth},get height(){return window.innerHeight}};Ld.forEach(t=>t(e))},window.addEventListener("resize",fa)}function GV(e){return Ld.add(e),fa||qV(),()=>{Ld.delete(e),!Ld.size&&typeof fa=="function"&&(window.removeEventListener("resize",fa),fa=void 0)}}function xw(e,t){return typeof e=="function"?GV(e):HV(e,t)}function KV(e){return fy(e)&&e.tagName==="svg"}const YV=[...WA,Ke,Ms],JV=e=>YV.find(UA(e)),yw=()=>({translate:0,scale:1,origin:0,originPoint:0}),ga=()=>({x:yw(),y:yw()}),vw=()=>({min:0,max:0}),Xe=()=>({x:vw(),y:vw()}),ZV=new WeakMap;function Mh(e){return e!==null&&typeof e=="object"&&typeof e.start=="function"}function ql(e){return typeof e=="string"||Array.isArray(e)}const gy=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],xy=["initial",...gy];function Dh(e){return Mh(e.animate)||xy.some(t=>ql(e[t]))}function JA(e){return!!(Dh(e)||e.variants)}function XV(e,t,s){for(const r in t){const i=t[r],a=s[r];if(dt(i))e.addValue(r,i);else if(dt(a))e.addValue(r,Xa(i,{owner:e}));else if(a!==i)if(e.hasValue(r)){const o=e.getValue(r);o.liveStyle===!0?o.jump(i):o.hasAnimated||o.set(i)}else{const o=e.getStaticValue(r);e.addValue(r,Xa(o!==void 0?o:i,{owner:e}))}}for(const r in s)t[r]===void 0&&e.removeValue(r);return t}const lg={current:null},ZA={current:!1},QV=typeof window<"u";function ez(){if(ZA.current=!0,!!QV)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>lg.current=e.matches;e.addEventListener("change",t),t()}else lg.current=!1}const bw=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];let Uu={};function XA(e){Uu=e}function tz(){return Uu}class sz{scrapeMotionValuesFromProps(t,s,r){return{}}constructor({parent:t,props:s,presenceContext:r,reducedMotionConfig:i,skipAnimations:a,blockInitialAnimation:o,visualState:l},c={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.shouldSkipAnimations=!1,this.values=new Map,this.KeyframeResolver=oy,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.hasBeenMounted=!1,this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{const p=Ct.now();this.renderScheduledAt<p&&(this.renderScheduledAt=p,ke.render(this.render,!1,!0))};const{latestValues:d,renderState:u}=l;this.latestValues=d,this.baseTarget={...d},this.initialValues=s.initial?{...d}:{},this.renderState=u,this.parent=t,this.props=s,this.presenceContext=r,this.depth=t?t.depth+1:0,this.reducedMotionConfig=i,this.skipAnimationsConfig=a,this.options=c,this.blockInitialAnimation=!!o,this.isControllingVariants=Dh(s),this.isVariantNode=JA(s),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(t&&t.current);const{willChange:h,...m}=this.scrapeMotionValuesFromProps(s,{},this);for(const p in m){const x=m[p];d[p]!==void 0&&dt(x)&&x.set(d[p])}}mount(t){var s,r;if(this.hasBeenMounted)for(const i in this.initialValues)(s=this.values.get(i))==null||s.jump(this.initialValues[i]),this.latestValues[i]=this.initialValues[i];this.current=t,ZV.set(t,this),this.projection&&!this.projection.instance&&this.projection.mount(t),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((i,a)=>this.bindToMotionValue(a,i)),this.reducedMotionConfig==="never"?this.shouldReduceMotion=!1:this.reducedMotionConfig==="always"?this.shouldReduceMotion=!0:(ZA.current||ez(),this.shouldReduceMotion=lg.current),this.shouldSkipAnimations=this.skipAnimationsConfig??!1,(r=this.parent)==null||r.addChild(this),this.update(this.props,this.presenceContext),this.hasBeenMounted=!0}unmount(){var t;this.projection&&this.projection.unmount(),Rn(this.notifyUpdate),Rn(this.render),this.valueSubscriptions.forEach(s=>s()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),(t=this.parent)==null||t.removeChild(this);for(const s in this.events)this.events[s].clear();for(const s in this.features){const r=this.features[s];r&&(r.unmount(),r.isMounted=!1)}this.current=null}addChild(t){this.children.add(t),this.enteringChildren??(this.enteringChildren=new Set),this.enteringChildren.add(t)}removeChild(t){this.children.delete(t),this.enteringChildren&&this.enteringChildren.delete(t)}bindToMotionValue(t,s){if(this.valueSubscriptions.has(t)&&this.valueSubscriptions.get(t)(),s.accelerate&&RA.has(t)&&this.current instanceof HTMLElement){const{factory:o,keyframes:l,times:c,ease:d,duration:u}=s.accelerate,h=new PA({element:this.current,name:t,keyframes:l,times:c,ease:d,duration:Wt(u)}),m=o(h);this.valueSubscriptions.set(t,()=>{m(),h.cancel()});return}const r=fo.has(t);r&&this.onBindTransform&&this.onBindTransform();const i=s.on("change",o=>{this.latestValues[t]=o,this.props.onUpdate&&ke.preRender(this.notifyUpdate),r&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()});let a;typeof window<"u"&&window.MotionCheckAppearSync&&(a=window.MotionCheckAppearSync(this,t,s)),this.valueSubscriptions.set(t,()=>{i(),a&&a()})}sortNodePosition(t){return!this.current||!this.sortInstanceNodePosition||this.type!==t.type?0:this.sortInstanceNodePosition(this.current,t.current)}updateFeatures(){let t="animation";for(t in Uu){const s=Uu[t];if(!s)continue;const{isEnabled:r,Feature:i}=s;if(!this.features[t]&&i&&r(this.props)&&(this.features[t]=new i(this)),this.features[t]){const a=this.features[t];a.isMounted?a.update():(a.mount(),a.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):Xe()}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,s){this.latestValues[t]=s}update(t,s){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=s;for(let r=0;r<bw.length;r++){const i=bw[r];this.propEventSubscriptions[i]&&(this.propEventSubscriptions[i](),delete this.propEventSubscriptions[i]);const a="on"+i,o=t[a];o&&(this.propEventSubscriptions[i]=this.on(i,o))}this.prevMotionValues=XV(this,this.scrapeMotionValuesFromProps(t,this.prevProps||{},this),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue()}getProps(){return this.props}getVariant(t){return this.props.variants?this.props.variants[t]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}addVariantChild(t){const s=this.getClosestVariantNode();if(s)return s.variantChildren&&s.variantChildren.add(t),()=>s.variantChildren.delete(t)}addValue(t,s){const r=this.values.get(t);s!==r&&(r&&this.removeValue(t),this.bindToMotionValue(t,s),this.values.set(t,s),this.latestValues[t]=s.get())}removeValue(t){this.values.delete(t);const s=this.valueSubscriptions.get(t);s&&(s(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,s){if(this.props.values&&this.props.values[t])return this.props.values[t];let r=this.values.get(t);return r===void 0&&s!==void 0&&(r=Xa(s===null?void 0:s,{owner:this}),this.addValue(t,r)),r}readValue(t,s){let r=this.latestValues[t]!==void 0||!this.current?this.latestValues[t]:this.getBaseTargetFromProps(this.props,t)??this.readValueFromInstance(this.current,t,this.options);return r!=null&&(typeof r=="string"&&(ZS(r)||QS(r))?r=parseFloat(r):!JV(r)&&Ms.test(s)&&(r=zA(t,s)),this.setBaseTarget(t,dt(r)?r.get():r)),dt(r)?r.get():r}setBaseTarget(t,s){this.baseTarget[t]=s}getBaseTarget(t){var a;const{initial:s}=this.props;let r;if(typeof s=="string"||typeof s=="object"){const o=dy(this.props,s,(a=this.presenceContext)==null?void 0:a.custom);o&&(r=o[t])}if(s&&r!==void 0)return r;const i=this.getBaseTargetFromProps(this.props,t);return i!==void 0&&!dt(i)?i:this.initialValues[t]!==void 0&&r===void 0?void 0:this.baseTarget[t]}on(t,s){return this.events[t]||(this.events[t]=new Xx),this.events[t].add(s)}notify(t,...s){this.events[t]&&this.events[t].notify(...s)}scheduleRenderMicrotask(){my.render(this.render)}}class QA extends sz{constructor(){super(...arguments),this.KeyframeResolver=EV}sortInstanceNodePosition(t,s){return t.compareDocumentPosition(s)&2?1:-1}getBaseTargetFromProps(t,s){const r=t.style;return r?r[s]:void 0}removeValueFromRenderState(t,{vars:s,style:r}){delete s[t],delete r[t]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;dt(t)&&(this.childSubscription=t.on("change",s=>{this.current&&(this.current.textContent=`${s}`)}))}}class $n{constructor(t){this.isMounted=!1,this.node=t}update(){}}function e_({top:e,left:t,right:s,bottom:r}){return{x:{min:t,max:s},y:{min:e,max:r}}}function rz({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function nz(e,t){if(!t)return e;const s=t({x:e.left,y:e.top}),r=t({x:e.right,y:e.bottom});return{top:s.y,left:s.x,bottom:r.y,right:r.x}}function Km(e){return e===void 0||e===1}function cg({scale:e,scaleX:t,scaleY:s}){return!Km(e)||!Km(t)||!Km(s)}function Qn(e){return cg(e)||t_(e)||e.z||e.rotate||e.rotateX||e.rotateY||e.skewX||e.skewY}function t_(e){return ww(e.x)||ww(e.y)}function ww(e){return e&&e!=="0%"}function Wu(e,t,s){const r=e-s,i=t*r;return s+i}function jw(e,t,s,r,i){return i!==void 0&&(e=Wu(e,i,r)),Wu(e,s,r)+t}function dg(e,t=0,s=1,r,i){e.min=jw(e.min,t,s,r,i),e.max=jw(e.max,t,s,r,i)}function s_(e,{x:t,y:s}){dg(e.x,t.translate,t.scale,t.originPoint),dg(e.y,s.translate,s.scale,s.originPoint)}const kw=.999999999999,Nw=1.0000000000001;function iz(e,t,s,r=!1){var l;const i=s.length;if(!i)return;t.x=t.y=1;let a,o;for(let c=0;c<i;c++){a=s[c],o=a.projectionDelta;const{visualElement:d}=a.options;d&&d.props.style&&d.props.style.display==="contents"||(r&&a.options.layoutScroll&&a.scroll&&a!==a.root&&(Zs(e.x,-a.scroll.offset.x),Zs(e.y,-a.scroll.offset.y)),o&&(t.x*=o.x.scale,t.y*=o.y.scale,s_(e,o)),r&&Qn(a.latestValues)&&$d(e,a.latestValues,(l=a.layout)==null?void 0:l.layoutBox))}t.x<Nw&&t.x>kw&&(t.x=1),t.y<Nw&&t.y>kw&&(t.y=1)}function Zs(e,t){e.min+=t,e.max+=t}function Sw(e,t,s,r,i=.5){const a=je(e.min,e.max,i);dg(e,t,s,a,r)}function Aw(e,t){return typeof e=="string"?parseFloat(e)/100*(t.max-t.min):e}function $d(e,t,s){const r=s??e;Sw(e.x,Aw(t.x,r.x),t.scaleX,t.scale,t.originX),Sw(e.y,Aw(t.y,r.y),t.scaleY,t.scale,t.originY)}function r_(e,t){return e_(nz(e.getBoundingClientRect(),t))}
517function az(e,t,s){const r=r_(e,s),{scroll:i}=t;return i&&(Zs(r.x,i.offset.x),Zs(r.y,i.offset.y)),r}const oz={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},lz=po.length;function cz(e,t,s){let r="",i=!0;for(let o=0;o<lz;o++){const l=po[o],c=e[l];if(c===void 0)continue;let d=!0;if(typeof c=="number")d=c===(l.startsWith("scale")?1:0);else{const u=parseFloat(c);d=l.startsWith("scale")?u===1:u===0}if(!d||s){const u=og(c,Bu[l]);if(!d){i=!1;const h=oz[l]||l;r+=`${h}(${u}) `}s&&(t[l]=u)}}const a=e.pathRotation;return a&&(i=!1,r+=`rotate(${og(a,Bu.pathRotation)}) `),r=r.trim(),s?r=s(t,i?"":r):i&&(r="none"),r}function yy(e,t,s){const{style:r,vars:i,transformOrigin:a}=e;let o=!1,l=!1;for(const c in t){const d=t[c];if(fo.has(c)){o=!0;continue}else if(pA(c)){i[c]=d;continue}else{const u=og(d,Bu[c]);c.startsWith("origin")?(l=!0,a[c]=u):r[c]=u}}if(t.transform||(o||s?r.transform=cz(t,e.transform,s):r.transform&&(r.transform="none")),l){const{originX:c="50%",originY:d="50%",originZ:u=0}=a;r.transformOrigin=`${c} ${d} ${u}`}}function n_(e,{style:t,vars:s},r,i){const a=e.style;let o;for(o in t)a[o]=t[o];i==null||i.applyProjectionStyles(a,r);for(o in s)a.setProperty(o,s[o])}function _w(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const Lo={correct:(e,t)=>{if(!t.target)return e;if(typeof e=="string")if(Y.test(e))e=parseFloat(e);else return e;const s=_w(e,t.target.x),r=_w(e,t.target.y);return`${s}% ${r}%`}},dz={correct:(e,{treeScale:t,projectionDelta:s})=>{const r=e,i=Ms.parse(e);if(i.length>5)return r;const a=Ms.createTransformer(e),o=typeof i[0]!="number"?1:0,l=s.x.scale*t.x,c=s.y.scale*t.y;i[0+o]/=l,i[1+o]/=c;const d=je(l,c,.5);return typeof i[2+o]=="number"&&(i[2+o]/=d),typeof i[3+o]=="number"&&(i[3+o]/=d),a(i)}},ug={borderRadius:{...Lo,applyTo:[...hy]},borderTopLeftRadius:Lo,borderTopRightRadius:Lo,borderBottomLeftRadius:Lo,borderBottomRightRadius:Lo,boxShadow:dz};function i_(e,{layout:t,layoutId:s}){return fo.has(e)||e.startsWith("origin")||(t||s!==void 0)&&(!!ug[e]||e==="opacity")}function vy(e,t,s){var o;const r=e.style,i=t==null?void 0:t.style,a={};if(!r)return a;for(const l in r)(dt(r[l])||i&&dt(i[l])||i_(l,e)||((o=s==null?void 0:s.getValue(l))==null?void 0:o.liveStyle)!==void 0)&&(a[l]=r[l]);return a}function uz(e){return window.getComputedStyle(e)}class hz extends QA{constructor(){super(...arguments),this.type="html",this.renderInstance=n_}mount(t){_i(!!t.style,"motion.create() components must forward their ref to a HTML or SVG element","custom-component-ref"),super.mount(t)}readValueFromInstance(t,s){var r;if(fo.has(s))return(r=this.projection)!=null&&r.isProjecting?Jf(s):TW(t,s);{const i=uz(t),a=(pA(s)?i.getPropertyValue(s):i[s])||0;return typeof a=="string"?a.trim():a}}measureInstanceViewportBox(t,{transformPagePoint:s}){return r_(t,s)}build(t,s,r){yy(t,s,r.transformTemplate)}scrapeMotionValuesFromProps(t,s,r){return vy(t,s,r)}}const mz={offset:"stroke-dashoffset",array:"stroke-dasharray"},pz={offset:"strokeDashoffset",array:"strokeDasharray"};function fz(e,t,s=1,r=0,i=!0){e.pathLength=1;const a=i?mz:pz;e[a.offset]=`${-r}`,e[a.array]=`${t} ${s}`}const a_=["transform","opacity","offsetDistance","offsetPath","offsetRotate","offsetAnchor"];function o_(e,{attrX:t,attrY:s,attrScale:r,pathLength:i,pathSpacing:a=1,pathOffset:o=0,...l},c,d,u){if(yy(e,l,d),c){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};const{attrs:h,style:m}=e;for(const p of a_)h[p]!==void 0&&(m[p]=h[p],delete h[p]);(m.transform||h.transformOrigin)&&(m.transformOrigin=h.transformOrigin??"50% 50%",delete h.transformOrigin),m.transform&&(m.transformBox=(u==null?void 0:u.transformBox)??"fill-box",delete h.transformBox),t!==void 0&&(h.x=t),s!==void 0&&(h.y=s),r!==void 0&&(h.scale=r),i!==void 0&&fz(h,i,a,o,!1)}const l_=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]),c_=e=>typeof e=="string"&&e.toLowerCase()==="svg";function gz(e,t,s,r){n_(e,t,void 0,r);for(const i in t.attrs)e.setAttribute(l_.has(i)?i:uy(i),t.attrs[i])}function d_(e,t,s){const r=vy(e,t,s);for(const i in e)if(dt(e[i])||dt(t[i])){const a=po.indexOf(i)!==-1?"attr"+i.charAt(0).toUpperCase()+i.substring(1):i;r[a]=e[i]}return r}class xz extends QA{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=Xe}getBaseTargetFromProps(t,s){return t[s]}readValueFromInstance(t,s){if(fo.has(s)){const r=VA(s);return r&&r.default||0}if(a_.includes(s)){const i=getComputedStyle(t)[s];if(typeof i=="string"&&i)return i.trim()}return s=l_.has(s)?s:uy(s),t.getAttribute(s)}scrapeMotionValuesFromProps(t,s,r){return d_(t,s,r)}build(t,s,r){o_(t,s,this.isSVGTag,r.transformTemplate,r.style)}
vendor: 47,537 bytes, line 517
517renderInstance(t,s,r,i){gz(t,s,r,i)}mount(t){this.isSVGTag=c_(t.tagName),super.mount(t)}}const yz=xy.length;function u_(e){if(!e)return;if(!e.isControllingVariants){const s=e.parent?u_(e.parent)||{}:{};return e.props.initial!==void 0&&(s.initial=e.props.initial),s}const t={};for(let s=0;s<yz;s++){const r=xy[s],i=e.props[r];(ql(i)||i===!1)&&(t[r]=i)}return t}function h_(e,t){if(!Array.isArray(t))return!1;const s=t.length;if(s!==e.length)return!1;for(let r=0;r<s;r++)if(t[r]!==e[r])return!1;return!0}const vz=[...gy].reverse(),bz=gy.length;function wz(e){return t=>Promise.all(t.map(({animation:s,options:r})=>yV(e,s,r)))}function jz(e){let t=wz(e),s=Cw(),r=!0,i=!1;const a=d=>(u,h)=>{var p;const m=xi(e,h,d==="exit"?(p=e.presenceContext)==null?void 0:p.custom:void 0);if(m){const{transition:x,transitionEnd:y,...b}=m;u={...u,...b,...y}}return u};function o(d){t=d(e)}function l(d){const{props:u}=e,h=u_(e.parent)||{},m=[],p=new Set;let x={},y=1/0;for(let f=0;f<bz;f++){const g=vz[f],v=s[g],j=u[g]!==void 0?u[g]:h[g],k=ql(j),N=g===d?v.isActive:null;N===!1&&(y=f);let A=j===h[g]&&j!==u[g]&&k;if(A&&(r||i)&&e.manuallyAnimateOnMount&&(A=!1),v.protectedKeys={...x},!v.isActive&&N===null||!j&&!v.prevProp||Mh(j)||typeof j=="boolean")continue;if(g==="exit"&&v.isActive&&N!==!0){v.prevResolvedValues&&(x={...x,...v.prevResolvedValues});continue}const E=kz(v.prevProp,j);let R=E||g===d&&v.isActive&&!A&&k||f>y&&k,I=!1;const B=Array.isArray(j)?j:[j];let _=B.reduce(a(g),{});N===!1&&(_={});const{prevResolvedValues:$={}}=v,M={...$,..._},Q=S=>{R=!0,p.has(S)&&(I=!0,p.delete(S)),v.needsAnimating[S]=!0;const C=e.getValue(S);C&&(C.liveStyle=!1)};for(const S in M){const C=_[S],D=$[S];if(x.hasOwnProperty(S))continue;let H=!1;sg(C)&&sg(D)?H=!h_(C,D)||E:H=C!==D,H?C!=null?Q(S):p.add(S):C!==void 0&&p.has(S)?Q(S):v.protectedKeys[S]=!0}v.prevProp=j,v.prevResolvedValues=_,v.isActive&&(x={...x,..._}),(r||i)&&e.blockInitialAnimation&&(R=!1);const G=A&&E;R&&(!G||I)&&m.push(...B.map(S=>{const C={type:g};if(typeof S=="string"&&(r||i)&&!G&&e.manuallyAnimateOnMount&&e.parent){const{parent:D}=e,H=xi(D,S);if(D.enteringChildren&&H){const{delayChildren:Z}=H.transition||{};C.delay=OA(D.enteringChildren,e,Z)}}return{animation:S,options:C}}))}if(p.size){const f={};if(typeof u.initial!="boolean"){const g=xi(e,Array.isArray(u.initial)?u.initial[0]:u.initial);g&&g.transition&&(f.transition=g.transition)}p.forEach(g=>{const v=e.getBaseTarget(g),j=e.getValue(g);j&&(j.liveStyle=!0),f[g]=v??null}),m.push({animation:f})}let b=!!m.length;return r&&(u.initial===!1||u.initial===u.animate)&&!e.manuallyAnimateOnMount&&(b=!1),r=!1,i=!1,b?t(m):Promise.resolve()}function c(d,u){var m;if(s[d].isActive===u)return Promise.resolve();(m=e.variantChildren)==null||m.forEach(p=>{var x;return(x=p.animationState)==null?void 0:x.setActive(d,u)}),s[d].isActive=u;const h=l(d);for(const p in s)s[p].protectedKeys={};return h}return{animateChanges:l,setActive:c,setAnimateFunction:o,getState:()=>s,reset:()=>{s=Cw(),i=!0}}}function kz(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!h_(t,e):!1}function qn(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function Cw(){return{animate:qn(!0),whileInView:qn(),whileHover:qn(),whileTap:qn(),whileDrag:qn(),whileFocus:qn(),exit:qn()}}function hg(e,t){e.min=t.min,e.max=t.max}function vs(e,t){hg(e.x,t.x),hg(e.y,t.y)}function Ew(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}const m_=1e-4,Nz=1-m_,Sz=1+m_,p_=.01,Az=0-p_,_z=0+p_;function Et(e){return e.max-e.min}function Cz(e,t,s){return Math.abs(e-t)<=s}function Tw(e,t,s,r=.5){e.origin=r,e.originPoint=je(t.min,t.max,e.origin),e.scale=Et(s)/Et(t),e.translate=je(s.min,s.max,e.origin)-e.originPoint,(e.scale>=Nz&&e.scale<=Sz||isNaN(e.scale))&&(e.scale=1),(e.translate>=Az&&e.translate<=_z||isNaN(e.translate))&&(e.translate=0)}function cl(e,t,s,r){Tw(e.x,t.x,s.x,r?r.originX:void 0),Tw(e.y,t.y,s.y,r?r.originY:void 0)}function Pw(e,t,s,r=0){const i=r?je(s.min,s.max,r):s.min;e.min=i+t.min,e.max=e.min+Et(t)}function Ez(e,t,s,r){Pw(e.x,t.x,s.x,r==null?void 0:r.x),Pw(e.y,t.y,s.y,r==null?void 0:r.y)}function Iw(e,t,s,r=0){const i=r?je(s.min,s.max,r):s.min;e.min=t.min-i,e.max=e.min+Et(t)}function Vu(e,t,s,r){Iw(e.x,t.x,s.x,r==null?void 0:r.x),Iw(e.y,t.y,s.y,r==null?void 0:r.y)}function Rw(e,t,s,r,i){return e-=t,e=Wu(e,1/s,r),i!==void 0&&(e=Wu(e,1/i,r)),e}function Tz(e,t=0,s=1,r=.5,i,a=e,o=e){if(nr.test(t)&&(t=parseFloat(t),t=je(o.min,o.max,t/100)-o.min),typeof t!="number")return;let l=je(a.min,a.max,r);e===a&&(l-=t),e.min=Rw(e.min,t,s,l,i),e.max=Rw(e.max,t,s,l,i)}function Ow(e,t,[s,r,i],a,o){Tz(e,t[s],t[r],t[i],t.scale,a,o)}const Pz=["x","scaleX","originX"],Iz=["y","scaleY","originY"];function Mw(e,t,s,r){Ow(e.x,t,Pz,s?s.x:void 0,r?r.x:void 0),Ow(e.y,t,Iz,s?s.y:void 0,r?r.y:void 0)}function Dw(e){return e.translate===0&&e.scale===1}function f_(e){return Dw(e.x)&&Dw(e.y)}function Lw(e,t){return e.min===t.min&&e.max===t.max}function Rz(e,t){return Lw(e.x,t.x)&&Lw(e.y,t.y)}function $w(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function g_(e,t){return $w(e.x,t.x)&&$w(e.y,t.y)}function Fw(e){return Et(e.x)/Et(e.y)}function Bw(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}function zs(e){return[e("x"),e("y")]}function Oz(e,t,s){let r="";const i=e.x.translate/t.x,a=e.y.translate/t.y,o=(s==null?void 0:s.z)||0;if((i||a||o)&&(r=`translate3d(${i}px, ${a}px, ${o}px) `),(t.x!==1||t.y!==1)&&(r+=`scale(${1/t.x}, ${1/t.y}) `),s){const{transformPerspective:d,rotate:u,pathRotation:h,rotateX:m,rotateY:p,skewX:x,skewY:y}=s;d&&(r=`perspective(${d}px) ${r}`),u&&(r+=`rotate(${u}deg) `),h&&(r+=`rotate(${h}deg) `),m&&(r+=`rotateX(${m}deg) `),p&&(r+=`rotateY(${p}deg) `),x&&(r+=`skewX(${x}deg) `),y&&(r+=`skewY(${y}deg) `)}const l=e.x.scale*t.x,c=e.y.scale*t.y;return(l!==1||c!==1)&&(r+=`scale(${l}, ${c})`),r||"none"}const Mz=hy.length,Uw=e=>typeof e=="string"?parseFloat(e):e,Ww=e=>typeof e=="number"||Y.test(e);function Dz(e,t,s,r,i,a){i?(e.opacity=je(0,s.opacity??1,Lz(r)),e.opacityExit=je(t.opacity??1,0,$z(r))):a&&(e.opacity=je(t.opacity??1,s.opacity??1,r));for(let o=0;o<Mz;o++){const l=hy[o];let c=Vw(t,l),d=Vw(s,l);if(c===void 0&&d===void 0)continue;c||(c=0),d||(d=0),c===0||d===0||Ww(c)===Ww(d)?(e[l]=Math.max(je(Uw(c),Uw(d),r),0),(nr.test(d)||nr.test(c))&&(e[l]+="%")):e[l]=d}(t.rotate||s.rotate)&&(e.rotate=je(t.rotate||0,s.rotate||0,r))}function Vw(e,t){return e[t]!==void 0?e[t]:e.borderRadius}const Lz=x_(0,.5,lA),$z=x_(.5,.95,cs);function x_(e,t,s){return r=>r<e?0:r>t?1:s(zl(e,t,r))}function Fz(e,t,s){const r=dt(e)?e:Xa(e);return r.start(cy("",r,t,s)),r.animation}function Gl(e,t,s,r={passive:!0}){return e.addEventListener(t,s,r),()=>e.removeEventListener(t,s,r)}const Bz=(e,t)=>e.depth-t.depth;class Uz{constructor(){this.children=[],this.isDirty=!1}add(t){Zx(this.children,t),this.isDirty=!0}remove(t){Mu(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(Bz),this.isDirty=!1,this.children.forEach(t)}}function Wz(e,t){const s=Ct.now(),r=({timestamp:i})=>{const a=i-s;a>=t&&(Rn(r),e(a-t))};return ke.setup(r,!0),()=>Rn(r)}function Fd(e){return dt(e)?e.get():e}class Vz{constructor(){this.members=[]}add(t){Zx(this.members,t);for(let s=this.members.length-1;s>=0;s--){const r=this.members[s];if(r===t||r===this.lead||r===this.prevLead)continue;const i=r.instance;(!i||i.isConnected===!1)&&!r.snapshot&&(Mu(this.members,r),r.unmount())}t.scheduleRender()}remove(t){if(Mu(this.members,t),t===this.prevLead&&(this.prevLead=void 0),t===this.lead){const s=this.members[this.members.length-1];s&&this.promote(s)}}relegate(t){var s;for(let r=this.members.indexOf(t)-1;r>=0;r--){const i=this.members[r];if(i.isPresent!==!1&&((s=i.instance)==null?void 0:s.isConnected)!==!1)return this.promote(i),!0}return!1}promote(t,s){var i;const r=this.lead;if(t!==r&&(this.prevLead=r,this.lead=t,t.show(),r)){r.updateSnapshot(),t.scheduleRender();const{layoutDependency:a}=r.options,{layoutDependency:o}=t.options;(a===void 0||a!==o)&&(t.resumeFrom=r,s&&(r.preserveOpacity=!0),r.snapshot&&(t.snapshot=r.snapshot,t.snapshot.latestValues=r.animationValues||r.latestValues),(i=t.root)!=null&&i.isUpdating&&(t.isLayoutDirty=!0)),t.options.crossfade===!1&&r.hide()}}exitAnimationComplete(){this.members.forEach(t=>{var s,r,i,a,o;(r=(s=t.options).onExitComplete)==null||r.call(s),(o=(i=t.resumingFrom)==null?void 0:(a=i.options).onExitComplete)==null||o.call(a)})}scheduleRender(){this.members.forEach(t=>t.instance&&t.scheduleRender(!1))}removeLeadSnapshot(){var t;(t=this.lead)!=null&&t.snapshot&&(this.lead.snapshot=void 0)}}const Bd={hasAnimatedSinceResize:!0,hasEverUpdated:!1},Ym=["","X","Y","Z"],zz=1e3;let Hz=0;function Jm(e,t,s,r){const{latestValues:i}=t;i[e]&&(s[e]=i[e],t.setStaticValue(e,0),r&&(r[e]=0))}function y_(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;const{visualElement:t}=e.options;if(!t)return;const s=FA(t);if(window.MotionHasOptimisedAnimation(s,"transform")){const{layout:i,layoutId:a}=e.options;window.MotionCancelOptimisedAnimation(s,"transform",ke,!(i||a))}const{parent:r}=e;r&&!r.hasCheckedOptimisedAppear&&y_(r)}function v_({attachResizeListener:e,defaultParent:t,measureScroll:s,checkIsScrollRoot:r,resetTransform:i}){return class{constructor(o={},l=t==null?void 0:t()){this.id=Hz++,this.animationId=0,this.animationCommitId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.layoutVersion=0,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,this.nodes.forEach(Kz),this.nodes.forEach(eH),this.nodes.forEach(tH),this.nodes.forEach(Yz)},this.resolvedRelativeTargetAt=0,this.linkedParentVersion=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=o,this.root=l?l.root||l:this,this.path=l?[...l.path,l]:[],this.parent=l,this.depth=l?l.depth+1:0;for(let c=0;c<this.path.length;c++)this.path[c].shouldResetTransform=!0;this.root===this&&(this.nodes=new Uz)}addEventListener(o,l){return this.eventHandlers.has(o)||this.eventHandlers.set(o,new Xx),this.eventHandlers.get(o).add(l)}notifyListeners(o,...l){const c=this.eventHandlers.get(o);c&&c.notify(...l)}hasListeners(o){return this.eventHandlers.has(o)}mount(o){if(this.instance)return;this.isSVG=fy(o)&&!KV(o),this.instance=o;const{layoutId:l,layout:c,visualElement:d}=this.options;if(d&&!d.current&&d.mount(o),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),this.root.hasTreeAnimated&&(c||l)&&(this.isLayoutDirty=!0),e){let u,h=0;const m=()=>this.root.updateBlockedByResize=!1;ke.read(()=>{h=window.innerWidth}),e(o,()=>{const p=window.innerWidth;p!==h&&(h=p,this.root.updateBlockedByResize=!0,u&&u(),u=Wz(m,250),Bd.hasAnimatedSinceResize&&(Bd.hasAnimatedSinceResize=!1,this.nodes.forEach(qw)))})}l&&this.root.registerSharedNode(l,this),this.options.animate!==!1&&d&&(l||c)&&this.addEventListener("didUpdate",({delta:u,hasLayoutChanged:h,hasRelativeLayoutChanged:m,layout:p})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const x=this.options.transition||d.getDefaultTransition()||aH,{onLayoutAnimationStart:y,onLayoutAnimationComplete:b}=d.getProps(),f=!this.targetLayout||!g_(this.targetLayout,p),g=!h&&m;if(this.options.layoutRoot||this.resumeFrom||g||h&&(f||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);const v={...ly(x,"layout"),onPlay:y,onComplete:b};(d.shouldReduceMotion||this.options.layoutRoot)&&(v.delay=0,v.type=!1),this.startAnimation(v),this.setAnimationOrigin(u,g,v.path)}else h||qw(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=p})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const o=this.getStack();o&&o.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),Rn(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(sH),this.animationId++)}getTransformTemplate(){const{visualElement:o}=this.options;return o&&o.getProps().transformTemplate}willUpdate(o=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&y_(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let u=0;u<this.path.length;u++){const h=this.path[u];h.shouldResetTransform=!0,(typeof h.latestValues.x=="string"||typeof h.latestValues.y=="string")&&(h.isLayoutDirty=!0),h.updateScroll("snapshot"),h.options.layoutRoot&&h.willUpdate(!1)}const{layoutId:l,layout:c}=this.options;if(l===void 0&&!c)return;const d=this.getTransformTemplate();this.prevTransformTemplateValue=d?d(this.latestValues,""):void 0,this.updateSnapshot(),o&&this.notifyListeners("willUpdate")}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){const c=this.updateBlockedByResize;this.unblockUpdate(),this.updateBlockedByResize=!1,this.clearAllSnapshots(),c&&this.nodes.forEach(Zz),this.nodes.forEach(zw);return}if(this.animationId<=this.animationCommitId){this.nodes.forEach(Hw);return}this.animationCommitId=this.animationId,this.isUpdating?(this.isUpdating=!1,this.nodes.forEach(Xz),this.nodes.forEach(Qz),this.nodes.forEach(qz),this.nodes.forEach(Gz)):this.nodes.forEach(Hw),this.clearAllSnapshots();const l=Ct.now();ct.delta=lr(0,1e3/60,l-ct.timestamp),ct.timestamp=l,ct.isProcessing=!0,Um.update.process(ct),Um.preRender.process(ct),Um.render.process(ct),ct.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,my.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(Jz),this.sharedNodes.forEach(rH)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,ke.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){ke.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure(),this.snapshot&&!Et(this.snapshot.measuredBox.x)&&!Et(this.snapshot.measuredBox.y)&&(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let c=0;c<this.path.length;c++)this.path[c].updateScroll();const o=this.layout;this.layout=this.measure(!1),this.layoutVersion++,this.layoutCorrected||(this.layoutCorrected=Xe()),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners("measure",this.layout.layoutBox);const{visualElement:l}=this.options;l&&l.notify("LayoutMeasure",this.layout.layoutBox,o?o.layoutBox:void 0)}updateScroll(o="measure"){let l=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===o&&(l=!1),l&&this.instance){const c=r(this.instance);this.scroll={animationId:this.root.animationId,phase:o,isRoot:c,offset:s(this.instance),wasRoot:this.scroll?this.scroll.isRoot:c}}}resetTransform(){if(!i)return;const o=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,l=this.projectionDelta&&!f_(this.projectionDelta),c=this.getTransformTemplate(),d=c?c(this.latestValues,""):void 0,u=d!==this.prevTransformTemplateValue;o&&this.instance&&(l||Qn(this.latestValues)||u)&&(i(this.instance,d),this.shouldResetTransform=!1,this.scheduleRender())}measure(o=!0){const l=this.measurePageBox();let c=this.removeElementScroll(l);return o&&(c=this.removeTransform(c)),oH(c),{animationId:this.root.animationId,measuredBox:l,layoutBox:c,latestValues:{},source:this.id}}measurePageBox(){var d;const{visualElement:o}=this.options;if(!o)return Xe();const l=o.measureViewportBox();if(!(((d=this.scroll)==null?void 0:d.wasRoot)||this.path.some(lH))){const{scroll:u}=this.root;u&&(Zs(l.x,u.offset.x),Zs(l.y,u.offset.y))}return l}removeElementScroll(o){var c;const l=Xe();if(vs(l,o),(c=this.scroll)!=null&&c.wasRoot)return l;for(let d=0;d<this.path.length;d++){const u=this.path[d],{scroll:h,options:m}=u;u!==this.root&&h&&m.layoutScroll&&(h.wasRoot&&vs(l,o),Zs(l.x,h.offset.x),Zs(l.y,h.offset.y))}return l}applyTransform(o,l=!1,c){var u,h;const d=c||Xe();vs(d,o);for(let m=0;m<this.path.length;m++){const p=this.path[m];!l&&p.options.layoutScroll&&p.scroll&&p!==p.root&&(Zs(d.x,-p.scroll.offset.x),Zs(d.y,-p.scroll.offset.y)),Qn(p.latestValues)&&$d(d,p.latestValues,(u=p.layout)==null?void 0:u.layoutBox)}return Qn(this.latestValues)&&$d(d,this.latestValues,(h=this.layout)==null?void 0:h.layoutBox),d}removeTransform(o){var c;const l=Xe();vs(l,o);for(let d=0;d<this.path.length;d++){const u=this.path[d];if(!Qn(u.latestValues))continue;let h;u.instance&&(cg(u.latestValues)&&u.updateSnapshot(),h=Xe(),vs(h,u.measurePageBox())),Mw(l,u.latestValues,(c=u.snapshot)==null?void 0:c.layoutBox,h)}return Qn(this.latestValues)&&Mw(l,this.latestValues),l}setTargetDelta(o){this.targetDelta=o,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(o){this.options={...this.options,...o,crossfade:o.crossfade!==void 0?o.crossfade:!0}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==ct.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(o=!1){var p;const l=this.getLead();this.isProjectionDirty||(this.isProjectionDirty=l.isProjectionDirty),this.isTransformDirty||(this.isTransformDirty=l.isTransformDirty),this.isSharedProjectionDirty||(this.isSharedProjectionDirty=l.isSharedProjectionDirty);const c=!!this.resumingFrom||this!==l;if(!(o||c&&this.isSharedProjectionDirty||this.isProjectionDirty||(p=this.parent)!=null&&p.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;const{layout:u,layoutId:h}=this.options;if(!this.layout||!(u||h))return;this.resolvedRelativeTargetAt=ct.timestamp;const m=this.getClosestProjectingParent();m&&this.linkedParentVersion!==m.layoutVersion&&!m.options.layoutRoot&&this.removeRelativeTarget(),!this.targetDelta&&!this.relativeTarget&&(this.options.layoutAnchor!==!1&&m&&m.layout?this.createRelativeTarget(m,this.layout.layoutBox,m.layout.layoutBox):this.removeRelativeTarget()),!(!this.relativeTarget&&!this.targetDelta)&&(this.target||(this.target=Xe(),this.targetWithTransforms=Xe()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),Ez(this.target,this.relativeTarget,this.relativeParent.target,this.options.layoutAnchor||void 0)):this.targetDelta?(this.resumingFrom?this.applyTransform(this.layout.layoutBox,!1,this.target):vs(this.target,this.layout.layoutBox),s_(this.target,this.targetDelta)):vs(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget&&(this.attemptToResolveRelativeTarget=!1,this.options.layoutAnchor!==!1&&m&&!!m.resumingFrom==!!this.resumingFrom&&!m.options.layoutScroll&&m.target&&this.animationProgress!==1?this.createRelativeTarget(m,this.target,m.target):this.relativeParent=this.relativeTarget=void 0))}getClosestProjectingParent(){if(!(!this.parent||cg(this.parent.latestValues)||t_(this.parent.latestValues)))return this.parent.isProjecting()?this.parent:this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}createRelativeTarget(o,l,c){this.relativeParent=o,this.linkedParentVersion=o.layoutVersion,this.forceRelativeParentToResolveTarget(),this.relativeTarget=Xe(),this.relativeTargetOrigin=Xe(),Vu(this.relativeTargetOrigin,l,c,this.options.layoutAnchor||void 0),vs(this.relativeTarget,this.relativeTargetOrigin)}removeRelativeTarget(){this.relativeParent=this.relativeTarget=void 0}calcProjection(){var x;const o=this.getLead(),l=!!this.resumingFrom||this!==o;let c=!0;if((this.isProjectionDirty||(x=this.parent)!=null&&x.isProjectionDirty)&&(c=!1),l&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(c=!1),this.resolvedRelativeTargetAt===ct.timestamp&&(c=!1),c)return;const{layout:d,layoutId:u}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(d||u))return;vs(this.layoutCorrected,this.layout.layoutBox);const h=this.treeScale.x,m=this.treeScale.y;iz(this.layoutCorrected,this.treeScale,this.path,l),o.layout&&!o.target&&(this.treeScale.x!==1||this.treeScale.y!==1)&&(o.target=o.layout.layoutBox,o.targetWithTransforms=Xe());const{target:p}=o;if(!p){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}!this.projectionDelta||!this.prevProjectionDelta?this.createProjectionDeltas():(Ew(this.prevProjectionDelta.x,this.projectionDelta.x),Ew(this.prevProjectionDelta.y,this.projectionDelta.y)),cl(this.projectionDelta,this.layoutCorrected,p,this.latestValues),(this.treeScale.x!==h||this.treeScale.y!==m||!Bw(this.projectionDelta.x,this.prevProjectionDelta.x)||!Bw(this.projectionDelta.y,this.prevProjectionDelta.y))&&(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners("projectionUpdate",p))}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(o=!0){var l;if((l=this.options.visualElement)==null||l.scheduleRender(),o){const c=this.getStack();c&&c.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=ga(),this.projectionDelta=ga(),this.projectionDeltaWithTransform=ga()}setAnimationOrigin(o,l=!1,c){const d=this.snapshot,u=d?d.latestValues:{},h={...this.latestValues},m=ga();(!this.relativeParent||!this.relativeParent.options.layoutRoot)&&(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!l;const p=Xe(),x=d?d.source:void 0,y=this.layout?this.layout.source:void 0,b=x!==y,f=this.getStack(),g=!f||f.members.length<=1,v=!!(b&&!g&&this.options.crossfade===!0&&!this.path.some(iH));this.animationProgress=0;let j;const k=c==null?void 0:c.interpolateProjection(o);this.mixTargetDelta=N=>{const A=N/1e3,E=k==null?void 0:k(A);E?(m.x.translate=E.x,m.x.scale=je(o.x.scale,1,A),m.x.origin=o.x.origin,m.x.originPoint=o.x.originPoint,m.y.translate=E.y,m.y.scale=je(o.y.scale,1,A),m.y.origin=o.y.origin,m.y.originPoint=o.y.originPoint):(Gw(m.x,o.x,A),Gw(m.y,o.y,A)),this.setTargetDelta(m),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Vu(p,this.layout.layoutBox,this.relativeParent.layout.layoutBox,this.options.layoutAnchor||void 0),nH(this.relativeTarget,this.relativeTargetOrigin,p,A),j&&Rz(this.relativeTarget,j)&&(this.isProjectionDirty=!1),j||(j=Xe()),vs(j,this.relativeTarget)),b&&(this.animationValues=h,Dz(h,u,this.latestValues,A,v,g)),E&&E.rotate!==void 0&&(this.animationValues||(this.animationValues=h),this.animationValues.pathRotation=E.rotate),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=A},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(o){var l,c,d;this.notifyListeners("animationStart"),(l=this.currentAnimation)==null||l.stop(),(d=(c=this.resumingFrom)==null?void 0:c.currentAnimation)==null||d.stop(),this.pendingAnimation&&(Rn(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=ke.update(()=>{Bd.hasAnimatedSinceResize=!0,this.motionValue||(this.motionValue=Xa(0)),this.motionValue.jump(0,!1),this.currentAnimation=Fz(this.motionValue,[0,1e3],{...o,velocity:0,isSync:!0,onUpdate:u=>{this.mixTargetDelta(u),o.onUpdate&&o.onUpdate(u)},onComplete:()=>{o.onComplete&&o.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const o=this.getStack();o&&o.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(zz),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const o=this.getLead();let{targetWithTransforms:l,target:c,layout:d,latestValues:u}=o;if(!(!l||!c||!d)){if(this!==o&&this.layout&&d&&b_(this.options.animationType,this.layout.layoutBox,d.layoutBox)){c=this.target||Xe();const h=Et(this.layout.layoutBox.x);c.x.min=o.target.x.min,c.x.max=c.x.min+h;const m=Et(this.layout.layoutBox.y);c.y.min=o.target.y.min,c.y.max=c.y.min+m}vs(l,c),$d(l,u),cl(this.projectionDeltaWithTransform,this.layoutCorrected,l,u)}}registerSharedNode(o,l){this.sharedNodes.has(o)||this.sharedNodes.set(o,new Vz),this.sharedNodes.get(o).add(l);const d=l.options.initialPromotionConfig;l.promote({transition:d?d.transition:void 0,preserveFollowOpacity:d&&d.shouldPreserveFollowOpacity?d.shouldPreserveFollowOpacity(l):void 0})}isLead(){const o=this.getStack();return o?o.lead===this:!0}getLead(){var l;const{layoutId:o}=this.options;return o?((l=this.getStack())==null?void 0:l.lead)||this:this}getPrevLead(){var l;const{layoutId:o}=this.options;return o?(l=this.getStack())==null?void 0:l.prevLead:void 0}getStack(){const{layoutId:o}=this.options;if(o)return this.root.sharedNodes.get(o)}promote({needsReset:o,transition:l,preserveFollowOpacity:c}={}){const d=this.getStack();d&&d.promote(this,c),o&&(this.projectionDelta=void 0,this.needsReset=!0),l&&this.setOptions({transition:l})}relegate(){const o=this.getStack();return o?o.relegate(this):!1}resetSkewAndRotation(){const{visualElement:o}=this.options;if(!o)return;let l=!1;const{latestValues:c}=o;if((c.z||c.rotate||c.rotateX||c.rotateY||c.rotateZ||c.skewX||c.skewY)&&(l=!0),!l)return;const d={};c.z&&Jm("z",o,d,this.animationValues);for(let u=0;u<Ym.length;u++)Jm(`rotate${Ym[u]}`,o,d,this.animationValues),Jm(`skew${Ym[u]}`,o,d,this.animationValues);o.render();for(const u in d)o.setStaticValue(u,d[u]),this.animationValues&&(this.animationValues[u]=d[u]);o.scheduleRender()}applyProjectionStyles(o,l){if(!this.instance||this.isSVG)return;if(!this.isVisible){o.visibility="hidden";return}const c=this.getTransformTemplate();if(this.needsReset){this.needsReset=!1,o.visibility="",o.opacity="",o.pointerEvents=Fd(l==null?void 0:l.pointerEvents)||"",o.transform=c?c(this.latestValues,""):"none";return}const d=this.getLead();if(!this.projectionDelta||!this.layout||!d.target){this.options.layoutId&&(o.opacity=this.latestValues.opacity!==void 0?this.latestValues.opacity:1,o.pointerEvents=Fd(l==null?void 0:l.pointerEvents)||""),this.hasProjected&&!Qn(this.latestValues)&&(o.transform=c?c({},""):"none",this.hasProjected=!1);return}o.visibility="";const u=d.animationValues||d.latestValues;this.applyTransformsToTarget();let h=Oz(this.projectionDeltaWithTransform,this.treeScale,u);c&&(h=c(u,h)),o.transform=h;const{x:m,y:p}=this.projectionDelta;o.transformOrigin=`${m.origin*100}% ${p.origin*100}% 0`,d.animationValues?o.opacity=d===this?u.opacity??this.latestValues.opacity??1:this.preserveOpacity?this.latestValues.opacity:u.opacityExit:o.opacity=d===this?u.opacity!==void 0?u.opacity:"":u.opacityExit!==void 0?u.opacityExit:0;for(const x in ug){if(u[x]===void 0)continue;const{correct:y,applyTo:b,isCSSVariable:f}=ug[x],g=h==="none"?u[x]:y(u[x],d);if(b){const v=b.length;for(let j=0;j<v;j++)o[b[j]]=g}else f?this.options.visualElement.renderState.vars[x]=g:o[x]=g}this.options.layoutId&&(o.pointerEvents=d===this?Fd(l==null?void 0:l.pointerEvents)||"":"none")}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(o=>{var l;return(l=o.currentAnimation)==null?void 0:l.stop()}),this.root.nodes.forEach(zw),this.root.sharedNodes.clear()}}}function qz(e){e.updateLayout()}function Gz(e){var s;const t=((s=e.resumeFrom)==null?void 0:s.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&t&&e.hasListeners("didUpdate")){const{layoutBox:r,measuredBox:i}=e.layout,{animationType:a}=e.options,o=t.source!==e.layout.source;if(a==="size")zs(h=>{const m=o?t.measuredBox[h]:t.layoutBox[h],p=Et(m);m.min=r[h].min,m.max=m.min+p});else if(a==="x"||a==="y"){const h=a==="x"?"y":"x";hg(o?t.measuredBox[h]:t.layoutBox[h],r[h])}else b_(a,t.layoutBox,r)&&zs(h=>{const m=o?t.measuredBox[h]:t.layoutBox[h],p=Et(r[h]);m.max=m.min+p,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[h].max=e.relativeTarget[h].min+p)});const l=ga();cl(l,r,t.layoutBox);const c=ga();o?cl(c,e.applyTransform(i,!0),t.measuredBox):cl(c,r,t.layoutBox);const d=!f_(l);let u=!1;if(!e.resumeFrom){const h=e.getClosestProjectingParent();if(h&&!h.resumeFrom){const{snapshot:m,layout:p}=h;if(m&&p){const x=e.options.layoutAnchor||void 0,y=Xe();Vu(y,t.layoutBox,m.layoutBox,x);const b=Xe();Vu(b,r,p.layoutBox,x),g_(y,b)||(u=!0),h.options.layoutRoot&&(e.relativeTarget=b,e.relativeTargetOrigin=y,e.relativeParent=h)}}}e.notifyListeners("didUpdate",{layout:r,snapshot:t,delta:c,layoutDelta:l,hasLayoutChanged:d,hasRelativeLayoutChanged:u})}else if(e.isLead()){const{onExitComplete:r}=e.options;r&&r()}e.options.transition=void 0}function Kz(e){e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function Yz(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function Jz(e){e.clearSnapshot()}function zw(e){e.clearMeasurements()}function Zz(e){e.isLayoutDirty=!0,e.updateLayout()}function Hw(e){e.isLayoutDirty=!1}function Xz(e){e.isAnimationBlocked&&e.layout&&!e.isLayoutDirty&&(e.snapshot=e.layout,e.isLayoutDirty=!0)}function Qz(e){const{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function qw(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function eH(e){e.resolveTargetDelta()}function tH(e){e.calcProjection()}function sH(e){e.resetSkewAndRotation()}function rH(e){e.removeLeadSnapshot()}function Gw(e,t,s){e.translate=je(t.translate,0,s),e.scale=je(t.scale,1,s),e.origin=t.origin,e.originPoint=t.originPoint}function Kw(e,t,s,r){e.min=je(t.min,s.min,r),e.max=je(t.max,s.max,r)}function nH(e,t,s,r){Kw(e.x,t.x,s.x,r),Kw(e.y,t.y,s.y,r)}function iH(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}const aH={duration:.45,ease:[.4,0,.1,1]},Yw=e=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),Jw=Yw("applewebkit/")&&!Yw("chrome/")?Math.round:cs;function Zw(e){e.min=Jw(e.min),e.max=Jw(e.max)}function oH(e){Zw(e.x),Zw(e.y)}function b_(e,t,s){return e==="position"||e==="preserve-aspect"&&!Cz(Fw(t),Fw(s),.2)}function lH(e){var t;return e!==e.root&&((t=e.scroll)==null?void 0:t.wasRoot)}const cH=v_({attachResizeListener:(e,t)=>Gl(e,"resize",t),measureScroll:()=>{var e,t;return{x:document.documentElement.scrollLeft||((e=document.body)==null?void 0:e.scrollLeft)||0,y:document.documentElement.scrollTop||((t=document.body)==null?void 0:t.scrollTop)||0}},checkIsScrollRoot:()=>!0}),Zm={current:void 0},w_=v_({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!Zm.current){const e=new cH({});e.mount(window),e.setOptions({layoutScroll:!0}),Zm.current=e}return Zm.current},resetTransform:(e,t)=>{e.style.transform=t!==void 0?t:"none"},checkIsScrollRoot:e=>window.getComputedStyle(e).position==="fixed"}),j_=w.createContext({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"});function dH(e=!0){const t=w.useContext(Jx);if(t===null)return[!0,null];const{isPresent:s,onExitComplete:r,register:i}=t,a=w.useId();w.useEffect(()=>{if(e)return i(a)},[e]);const o=w.useCallback(()=>e&&r&&r(a),[a,r,e]);return!s&&r?[!1,o]:[!0]}const k_=w.createContext({strict:!1}),Xw={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]};let Qw=!1;function uH(){if(Qw)return;const e={};for(const t in Xw)e[t]={isEnabled:s=>Xw[t].some(r=>!!s[r])};XA(e),Qw=!0}function N_(){return uH(),tz()}function hH(e){const t=N_();for(const s in e)t[s]={...t[s],...e[s]};XA(t)}const Lh=w.createContext({});function mH(e,t){if(Dh(e)){const{initial:s,animate:r}=e;return{initial:s===!1||ql(s)?s:void 0,animate:ql(r)?r:void 0}}return e.inherit!==!1?t:{}}function pH(e){const{initial:t,animate:s}=mH(e,w.useContext(Lh));return w.useMemo(()=>({initial:t,animate:s}),[e1(t),e1(s)])}function e1(e){return Array.isArray(e)?e.join(" "):e}const by=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function S_(e,t,s){for(const r in t)!dt(t[r])&&!i_(r,s)&&(e[r]=t[r])}function fH({transformTemplate:e},t){return w.useMemo(()=>{const s=by();return yy(s,t,e),Object.assign({},s.vars,s.style)},[t])}function gH(e,t){const s=e.style||{},r={};return S_(r,s,e),Object.assign(r,fH(e,t)),r}function xH(e,t){const s={},r=gH(e,t);return e.drag&&e.dragListener!==!1&&(s.draggable=!1,r.userSelect=r.WebkitUserSelect=r.WebkitTouchCallout="none",r.touchAction=e.drag===!0?"none":`pan-${e.drag==="x"?"y":"x"}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(s.tabIndex=0),s.style=r,s}const A_=()=>({...by(),attrs:{}});function yH(e,t,s,r){const i=w.useMemo(()=>{const a=A_();return o_(a,t,c_(r),e.transformTemplate,e.style),{...a.attrs,style:{...a.style}}},[t]);if(e.style){const a={};S_(a,e.style,e),i.style={...a,...i.style}}return i}const vH=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","propagate","ignoreStrict","viewport"]);function zu(e){return e.startsWith("while")||e.startsWith("drag")&&e!=="draggable"||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||e.startsWith("onLayout")||vH.has(e)}function bH(e,t){return e.startsWith("on")?!zu(e):(t==null?void 0:t(e))??!zu(e)}function wH(e,t,s,r){const i={};for(const a in e)a==="values"&&typeof e.values=="object"||dt(e[a])||(bH(a,r)||s===!0&&zu(a)||!t&&!zu(a)||e.draggable&&a.startsWith("onDrag"))&&(i[a]=e[a]);return i}const jH=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function wy(e){return typeof e!="string"||e.includes("-")?!1:!!(jH.indexOf(e)>-1||/[A-Z]/u.test(e))}function kH(e,t,s,{latestValues:r},i,a=!1,o,l){const d=(o??wy(e)?yH:xH)(t,r,i,e),u=wH(t,typeof e=="string",a,l),h=e!==w.Fragment?{...u,...d,ref:s}:{},{children:m}=t,p=w.useMemo(()=>dt(m)?m.get():m,[m]);return w.createElement(e,{...h,children:p})}function NH({scrapeMotionValuesFromProps:e,createRenderState:t},s,r,i){return{latestValues:SH(s,r,i,e),renderState:t()}}function SH(e,t,s,r){const i={},a=r(e,{});for(const m in a)i[m]=Fd(a[m]);let{initial:o,animate:l}=e;const c=Dh(e),d=JA(e);t&&d&&!c&&e.inherit!==!1&&(o===void 0&&(o=t.initial),l===void 0&&(l=t.animate));let u=s?s.initial===!1:!1;u=u||o===!1;const h=u?l:o;if(h&&typeof h!="boolean"&&!Mh(h)){const m=Array.isArray(h)?h:[h];for(let p=0;p<m.length;p++){const x=dy(e,m[p]);if(x){const{transitionEnd:y,transition:b,...f}=x;for(const g in f){let v=f[g];if(Array.isArray(v)){const j=u?v.length-1:0;v=v[j]}v!==null&&(i[g]=v)}for(const g in y)i[g]=y[g]}}}return i}const __=e=>(t,s)=>{const r=w.useContext(Lh),i=w.useContext(Jx),a=()=>NH(e,t,r,i);return s?a():NU(a)},AH=__({scrapeMotionValuesFromProps:vy,createRenderState:by}),_H=__({scrapeMotionValuesFromProps:d_,createRenderState:A_}),CH=Symbol.for("motionComponentSymbol");function EH(e,t,s){const r=w.useRef(s);w.useInsertionEffect(()=>{r.current=s});const i=w.useRef(null);return w.useCallback(a=>{var l;a&&((l=e.onMount)==null||l.call(e,a)),t&&(a?t.mount(a):t.unmount());const o=r.current;if(typeof o=="function")if(a){const c=o(a);typeof c=="function"&&(i.current=c)}else i.current?(i.current(),i.current=null):o(a);else o&&(o.current=a)},[t])}const C_=w.createContext({});function ea(e){return e&&typeof e=="object"&&Object.prototype.hasOwnProperty.call(e,"current")}function TH(e,t,s,r,i,a){var v,j;const{visualElement:o}=w.useContext(Lh),l=w.useContext(k_),c=w.useContext(Jx),d=w.useContext(j_),u=d.reducedMotion,h=d.skipAnimations,m=w.useRef(null),p=w.useRef(!1);r=r||l.renderer,!m.current&&r&&(m.current=r(e,{visualState:t,parent:o,props:s,presenceContext:c,blockInitialAnimation:c?c.initial===!1:!1,reducedMotionConfig:u,skipAnimations:h,isSVG:a}),p.current&&m.current&&(m.current.manuallyAnimateOnMount=!0));const x=m.current,y=w.useContext(C_);x&&!x.projection&&i&&(x.type==="html"||x.type==="svg")&&PH(m.current,s,i,y);const b=w.useRef(!1);w.useInsertionEffect(()=>{x&&b.current&&x.update(s,c)});const f=s[$A],g=w.useRef(!!f&&typeof window<"u"&&!((v=window.MotionHandoffIsComplete)!=null&&v.call(window,f))&&((j=window.MotionHasOptimisedAnimation)==null?void 0:j.call(window,f)));return AU(()=>{p.current=!0,x&&(b.current=!0,window.MotionIsMounted=!0,x.updateFeatures(),x.scheduleRenderMicrotask(),g.current&&x.animationState&&x.animationState.animateChanges())}),w.useEffect(()=>{x&&(!g.current&&x.animationState&&x.animationState.animateChanges(),g.current&&(queueMicrotask(()=>{var k;(k=window.MotionHandoffMarkAsComplete)==null||k.call(window,f)}),g.current=!1),x.enteringChildren=void 0)}),x}function PH(e,t,s,r){const{layoutId:i,layout:a,drag:o,dragConstraints:l,layoutScroll:c,layoutRoot:d,layoutAnchor:u,layoutCrossfade:h}=t;e.projection=new s(e.latestValues,t["data-framer-portal-id"]?void 0:E_(e.parent)),e.projection.setOptions({layoutId:i,layout:a,alwaysMeasureLayout:!!o||l&&ea(l),visualElement:e,animationType:typeof a=="string"?a:"both",initialPromotionConfig:r,crossfade:h,layoutScroll:c,layoutRoot:d,layoutAnchor:u})}function E_(e){if(e)return e.options.allowProjection!==!1?e.projection:E_(e.parent)}function Xm(e,{forwardMotionProps:t=!1,type:s}={},r,i){r&&hH(r);const a=s?s==="svg":wy(e),o=a?_H:AH;function l(d,u){let h;const m={...w.useContext(j_),...d,layoutId:IH(d)},{isStatic:p,isValidProp:x}=m,y=pH(d),b=o(d,p);if(!p&&typeof window<"u"){RH();const f=OH(m);h=f.MeasureLayout,y.visualElement=TH(e,b,m,i,f.ProjectionNode,a)}return n.jsxs(Lh.Provider,{value:y,children:[h&&y.visualElement?n.jsx(h,{visualElement:y.visualElement,...m}):null,kH(e,d,EH(b,y.visualElement,u),b,p,t,a,x)]})}l.displayName=`motion.${typeof e=="string"?e:`create(${e.displayName??e.name??""})`}`;const c=w.forwardRef(l);return c[CH]=e,c}function IH({layoutId:e}){const t=w.useContext(JS).id;return t&&e!==void 0?t+"-"+e:e}function RH(e,t){w.useContext(k_).strict}function OH(e){const t=N_(),{drag:s,layout:r}=t;if(!s&&!r)return{};const i={...s,...r};return{MeasureLayout:s!=null&&s.isEnabled(e)||r!=null&&r.isEnabled(e)?i.MeasureLayout:void 0,ProjectionNode:i.ProjectionNode}}function MH(e,t){if(typeof Proxy>"u")return Xm;const s=new Map,r=(a,o)=>Xm(a,o,e,t),i=(a,o)=>r(a,o);return new Proxy(i,{get:(a,o)=>o==="create"?r:(s.has(o)||s.set(o,Xm(o,void 0,e,t)),s.get(o))})}const DH=(e,t)=>t.isSVG??wy(e)?new xz(t):new hz(t,{allowProjection:e!==w.Fragment});class LH extends $n{constructor(t){super(t),t.animationState||(t.animationState=jz(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();Mh(t)&&(this.unmountControls=t.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:t}=this.node.getProps(),{animate:s}=this.node.prevProps||{};t!==s&&this.updateAnimationControlsSubscription()}unmount(){var t;this.node.animationState.reset(),(t=this.unmountControls)==null||t.call(this)}}let $H=0;class FH extends $n{constructor(){super(...arguments),this.id=$H++,this.isExitComplete=!1}update(){var a;if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:s}=this.node.presenceContext,{isPresent:r}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===r)return;if(t&&r===!1){if(this.isExitComplete){const{initial:o,custom:l}=this.node.getProps();if(typeof o=="string"||typeof o=="object"&&o!==null&&!Array.isArray(o)){const c=xi(this.node,o,l);if(c){const{transition:d,transitionEnd:u,...h}=c;for(const m in h)(a=this.node.getValue(m))==null||a.jump(h[m])}}this.node.animationState.reset(),this.node.animationState.animateChanges()}else this.node.animationState.setActive("exit",!1);this.isExitComplete=!1;return}const i=this.node.animationState.setActive("exit",!t);s&&!t&&i.then(()=>{this.isExitComplete=!0,s(this.id)})}mount(){const{register:t,onExitComplete:s}=this.node.presenceContext||{};s&&s(this.id),t&&(this.unmount=t(this.id))}unmount(){}}const BH={animation:{Feature:LH},exit:{Feature:FH}};function fc(e){return{point:{x:e.pageX,y:e.pageY}}}const UH=e=>t=>py(t)&&e(t,fc(t));function dl(e,t,s,r){return Gl(e,t,UH(s),r)}const T_=({current:e})=>e?e.ownerDocument.defaultView:null,t1=(e,t)=>Math.abs(e-t);function WH(e,t){const s=t1(e.x,t.x),r=t1(e.y,t.y);return Math.sqrt(s**2+r**2)}const s1=new Set(["auto","scroll"]);class P_{constructor(t,s,{transformPagePoint:r,contextWindow:i=window,dragSnapToOrigin:a=!1,distanceThreshold:o=3,element:l}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.lastRawMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.scrollPositions=new Map,this.removeScrollListeners=null,this.onElementScroll=x=>{this.handleScroll(x.target)},this.onWindowScroll=()=>{this.handleScroll(window)},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;this.lastRawMoveEventInfo&&(this.lastMoveEventInfo=cd(this.lastRawMoveEventInfo,this.transformPagePoint));const x=Qm(this.lastMoveEventInfo,this.history),y=this.startEvent!==null,b=WH(x.offset,{x:0,y:0})>=this.distanceThreshold;if(!y&&!b)return;const{point:f}=x,{timestamp:g}=ct;this.history.push({...f,timestamp:g});const{onStart:v,onMove:j}=this.handlers;y||(v&&v(this.lastMoveEvent,x),this.startEvent=this.lastMoveEvent),j&&j(this.lastMoveEvent,x)},this.handlePointerMove=(x,y)=>{this.lastMoveEvent=x,this.lastRawMoveEventInfo=y,this.lastMoveEventInfo=cd(y,this.transformPagePoint),ke.update(this.updatePoint,!0)},this.handlePointerUp=(x,y)=>{this.end();const{onEnd:b,onSessionEnd:f,resumeAnimation:g}=this.handlers;if((this.dragSnapToOrigin||!this.startEvent)&&g&&g(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const v=Qm(x.type==="pointercancel"?this.lastMoveEventInfo:cd(y,this.transformPagePoint),this.history);this.startEvent&&b&&b(x,v),f&&f(x,v)},!py(t))return;this.dragSnapToOrigin=a,this.handlers=s,this.transformPagePoint=r,this.distanceThreshold=o,this.contextWindow=i||window;const c=fc(t),d=cd(c,this.transformPagePoint),{point:u}=d,{timestamp:h}=ct;this.history=[{...u,timestamp:h}];const{onSessionStart:m}=s;m&&m(t,Qm(d,this.history));const p={passive:!0,capture:!0};this.removeListeners=hc(dl(this.contextWindow,"pointermove",this.handlePointerMove,p),dl(this.contextWindow,"pointerup",this.handlePointerUp,p),dl(this.contextWindow,"pointercancel",this.handlePointerUp,p)),l&&this.startScrollTracking(l)}startScrollTracking(t){let s=t.parentElement;for(;s;){const r=getComputedStyle(s);(s1.has(r.overflowX)||s1.has(r.overflowY))&&this.scrollPositions.set(s,{x:s.scrollLeft,y:s.scrollTop}),s=s.parentElement}this.scrollPositions.set(window,{x:window.scrollX,y:window.scrollY}),window.addEventListener("scroll",this.onElementScroll,{capture:!0}),window.addEventListener("scroll",this.onWindowScroll),this.removeScrollListeners=()=>{window.removeEventListener("scroll",this.onElementScroll,{capture:!0}),window.removeEventListener("scroll",this.onWindowScroll)}}handleScroll(t){const s=this.scrollPositions.get(t);if(!s)return;const r=t===window,i=r?{x:window.scrollX,y:window.scrollY}:{x:t.scrollLeft,y:t.scrollTop},a={x:i.x-s.x,y:i.y-s.y};a.x===0&&a.y===0||(r?this.lastMoveEventInfo&&(this.lastMoveEventInfo.point.x+=a.x,this.lastMoveEventInfo.point.y+=a.y):this.history.length>0&&(this.history[0].x-=a.x,this.history[0].y-=a.y),this.scrollPositions.set(t,i),ke.update(this.updatePoint,!0))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),this.removeScrollListeners&&this.removeScrollListeners(),this.scrollPositions.clear(),Rn(this.updatePoint)}}function cd(e,t){return t?{point:t(e.point)}:e}function r1(e,t){return{x:e.x-t.x,y:e.y-t.y}}function Qm({point:e},t){return{point:e,delta:r1(e,I_(t)),offset:r1(e,VH(t)),velocity:zH(t,.1)}}function VH(e){return e[0]}function I_(e){return e[e.length-1]}function zH(e,t){if(e.length<2)return{x:0,y:0};let s=e.length-1,r=null;const i=I_(e);for(;s>=0&&(r=e[s],!(i.timestamp-r.timestamp>Wt(t)));)s--;if(!r)return{x:0,y:0};r===e[0]&&e.length>2&&i.timestamp-r.timestamp>Wt(t)*2&&(r=e[1]);const a=os(i.timestamp-r.timestamp);if(a===0)return{x:0,y:0};const o={x:(i.x-r.x)/a,y:(i.y-r.y)/a};return o.x===1/0&&(o.x=0),o.y===1/0&&(o.y=0),o}function HH(e,{min:t,max:s},r){return t!==void 0&&e<t?e=r?je(t,e,r.min):Math.max(e,t):s!==void 0&&e>s&&(e=r?je(s,e,r.max):Math.min(e,s)),e}function n1(e,t,s){return{min:t!==void 0?e.min+t:void 0,max:s!==void 0?e.max+s-(e.max-e.min):void 0}}function qH(e,{top:t,left:s,bottom:r,right:i}){return{x:n1(e.x,s,i),y:n1(e.y,t,r)}}function i1(e,t){let s=t.min-e.min,r=t.max-e.max;return t.max-t.min<e.max-e.min&&([s,r]=[r,s]),{min:s,max:r}}function GH(e,t){return{x:i1(e.x,t.x),y:i1(e.y,t.y)}}function KH(e,t){let s=.5;const r=Et(e),i=Et(t);return i>r?s=zl(t.min,t.max-r,e.min):r>i&&(s=zl(e.min,e.max-i,t.min)),lr(0,1,s)}function YH(e,t){const s={};return t.min!==void 0&&(s.min=t.min-e.min),t.max!==void 0&&(s.max=t.max-e.min),s}const mg=.35;function JH(e=mg){return e===!1?e=0:e===!0&&(e=mg),{x:a1(e,"left","right"),y:a1(e,"to
517p","bottom")}}function a1(e,t,s){return{min:o1(e,t),max:o1(e,s)}}function o1(e,t){return typeof e=="number"?e:e[t]||0}const ZH=new WeakMap;class XH{constructor(t){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=Xe(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=t}start(t,{snapToCursor:s=!1,distanceThreshold:r}={}){const{presenceContext:i}=this.visualElement;if(i&&i.isPresent===!1)return;const a=h=>{s&&this.snapToCursor(fc(h).point),this.stopAnimation()},o=(h,m)=>{const{drag:p,dragPropagation:x,onDragStart:y}=this.getProps();if(p&&!x&&(this.openDragLock&&this.openDragLock(),this.openDragLock=PV(p),!this.openDragLock))return;this.latestPointerEvent=h,this.latestPanInfo=m,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),zs(f=>{let g=this.getAxisMotionValue(f).get()||0;if(nr.test(g)){const{projection:v}=this.visualElement;if(v&&v.layout){const j=v.layout.layoutBox[f];j&&(g=Et(j)*(parseFloat(g)/100))}}this.originPoint[f]=g}),y&&ke.update(()=>y(h,m),!1,!0),rg(this.visualElement,"transform");const{animationState:b}=this.visualElement;b&&b.setActive("whileDrag",!0)},l=(h,m)=>{this.latestPointerEvent=h,this.latestPanInfo=m;const{dragPropagation:p,dragDirectionLock:x,onDirectionLock:y,onDrag:b}=this.getProps();if(!p&&!this.openDragLock)return;const{offset:f}=m;if(x&&this.currentDirection===null){this.currentDirection=eq(f),this.currentDirection!==null&&y&&y(this.currentDirection);return}this.updateAxis("x",m.point,f),this.updateAxis("y",m.point,f),this.visualElement.render(),b&&ke.update(()=>b(h,m),!1,!0)},c=(h,m)=>{this.latestPointerEvent=h,this.latestPanInfo=m,this.stop(h,m),this.latestPointerEvent=null,this.latestPanInfo=null},d=()=>{const{dragSnapToOrigin:h}=this.getProps();(h||this.constraints)&&this.startAnimation({x:0,y:0})},{dragSnapToOrigin:u}=this.getProps();this.panSession=new P_(t,{onSessionStart:a,onStart:o,onMove:l,onSessionEnd:c,resumeAnimation:d},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:u,distanceThreshold:r,contextWindow:T_(this.visualElement),element:this.visualElement.current})}stop(t,s){const r=t||this.latestPointerEvent,i=s||this.latestPanInfo,a=this.isDragging;if(this.cancel(),!a||!i||!r)return;const{velocity:o}=i;this.startAnimation(o);const{onDragEnd:l}=this.getProps();l&&ke.postRender(()=>l(r,i))}cancel(){this.isDragging=!1;const{projection:t,animationState:s}=this.visualElement;t&&(t.isAnimationBlocked=!1),this.endPanSession();const{dragPropagation:r}=this.getProps();!r&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),s&&s.setActive("whileDrag",!1)}endPanSession(){this.panSession&&this.panSession.end(),this.panSession=void 0}updateAxis(t,s,r){const{drag:i}=this.getProps();if(!r||!dd(t,i,this.currentDirection))return;const a=this.getAxisMotionValue(t);let o=this.originPoint[t]+r[t];this.constraints&&this.constraints[t]&&(o=HH(o,this.constraints[t],this.elastic[t])),a.set(o)}resolveConstraints(){var a;const{dragConstraints:t,dragElastic:s}=this.getProps(),r=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):(a=this.visualElement.projection)==null?void 0:a.layout,i=this.constraints;t&&ea(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&r?this.constraints=qH(r.layoutBox,t):this.constraints=!1,this.elastic=JH(s),i!==this.constraints&&!ea(t)&&r&&this.constraints&&!this.hasMutatedConstraints&&zs(o=>{this.constraints!==!1&&this.getAxisMotionValue(o)&&(this.constraints[o]=YH(r.layoutBox[o],this.constraints[o]))})}resolveRefConstraints(){const{dragConstraints:t,onMeasureDragConstraints:s}=this.getProps();if(!t||!ea(t))return!1;const r=t.current;_i(r!==null,"If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.","drag-constraints-ref");const{projection:i}=this.visualElement;if(!i||!i.layout)return!1;i.root&&(i.root.scroll=void 0,i.root.updateScroll());const a=az(r,i.root,this.visualElement.getTransformPagePoint());let o=GH(i.layout.layoutBox,a);if(s){const l=s(rz(o));this.hasMutatedConstraints=!!l,l&&(o=e_(l))}return o}startAnimation(t){const{drag:s,dragMomentum:r,dragElastic:i,dragTransition:a,dragSnapToOrigin:o,onDragTransitionEnd:l}=this.getProps(),c=this.constraints||{},d=zs(u=>{if(!dd(u,s,this.currentDirection))return;
vendor: 7,228 bytes, line 517
517let h=c&&c[u]||{};(o===!0||o===u)&&(h={min:0,max:0});const m=i?200:1e6,p=i?40:1e7,x={type:"inertia",velocity:r?t[u]:0,bounceStiffness:m,bounceDamping:p,timeConstant:750,restDelta:1,restSpeed:10,...a,...h};return this.startAxisValueAnimation(u,x)});return Promise.all(d).then(l)}startAxisValueAnimation(t,s){const r=this.getAxisMotionValue(t);return rg(this.visualElement,t),r.start(cy(t,r,0,s,this.visualElement,!1))}stopAnimation(){zs(t=>this.getAxisMotionValue(t).stop())}getAxisMotionValue(t){const s=`_drag${t.toUpperCase()}`,i=this.visualElement.getProps()[s];return i||this.visualElement.getValue(t,this.visualElement.latestValues[t]??0)}snapToCursor(t){zs(s=>{const{drag:r}=this.getProps();if(!dd(s,r,this.currentDirection))return;const{projection:i}=this.visualElement,a=this.getAxisMotionValue(s);if(i&&i.layout){const{min:o,max:l}=i.layout.layoutBox[s],c=a.get()||0;a.set(t[s]-je(o,l,.5)+c)}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:t,dragConstraints:s}=this.getProps(),{projection:r}=this.visualElement;if(!ea(s)||!r||!this.constraints)return;this.stopAnimation();const i={x:0,y:0};zs(o=>{const l=this.getAxisMotionValue(o);if(l&&this.constraints!==!1){const c=l.get();i[o]=KH({min:c,max:c},this.constraints[o])}});const{transformTemplate:a}=this.visualElement.getProps();this.visualElement.current.style.transform=a?a({},""):"none",r.root&&r.root.updateScroll(),r.updateLayout(),this.constraints=!1,this.resolveConstraints(),zs(o=>{if(!dd(o,t,null))return;const l=this.getAxisMotionValue(o),{min:c,max:d}=this.constraints[o];l.set(je(c,d,i[o]))}),this.visualElement.render()}addListeners(){if(!this.visualElement.current)return;ZH.set(this.visualElement,this);const t=this.visualElement.current,s=dl(t,"pointerdown",d=>{const{drag:u,dragListener:h=!0}=this.getProps(),m=d.target,p=m!==t&&LV(m);u&&h&&!p&&this.start(d)});let r;const i=()=>{const{dragConstraints:d}=this.getProps();ea(d)&&d.current&&(this.constraints=this.resolveRefConstraints(),r||(r=QH(t,d.current,()=>this.scalePositionWithinConstraints())))},{projection:a}=this.visualElement,o=a.addEventListener("measure",i);a&&!a.layout&&(a.root&&a.root.updateScroll(),a.updateLayout()),ke.read(i);const l=Gl(window,"resize",()=>this.scalePositionWithinConstraints()),c=a.addEventListener("didUpdate",({delta:d,hasLayoutChanged:u})=>{this.isDragging&&u&&(zs(h=>{const m=this.getAxisMotionValue(h);m&&(this.originPoint[h]+=d[h].translate,m.set(m.get()+d[h].translate))}),this.visualElement.render())});return()=>{l(),s(),o(),c&&c(),r&&r()}}getProps(){const t=this.visualElement.getProps(),{drag:s=!1,dragDirectionLock:r=!1,dragPropagation:i=!1,dragConstraints:a=!1,dragElastic:o=mg,dragMomentum:l=!0}=t;return{...t,drag:s,dragDirectionLock:r,dragPropagation:i,dragConstraints:a,dragElastic:o,dragMomentum:l}}}function l1(e){let t=!0;return()=>{if(t){t=!1;return}e()}}function QH(e,t,s){const r=xw(e,l1(s)),i=xw(t,l1(s));return()=>{r(),i()}}function dd(e,t,s){return(t===!0||t===e)&&(s===null||s===e)}function eq(e,t=10){let s=null;return Math.abs(e.y)>t?s="y":Math.abs(e.x)>t&&(s="x"),s}class tq extends $n{constructor(t){super(t),this.removeGroupControls=cs,this.removeListeners=cs,this.controls=new XH(t)}mount(){const{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||cs}update(){const{dragControls:t}=this.node.getProps(),{dragControls:s}=this.node.prevProps||{};t!==s&&(this.removeGroupControls(),t&&(this.removeGroupControls=t.subscribe(this.controls)))}unmount(){this.removeGroupControls(),this.removeListeners(),this.controls.isDragging||this.controls.endPanSession()}}const ep=e=>(t,s)=>{e&&ke.update(()=>e(t,s),!1,!0)};class sq extends $n{constructor(){super(...arguments),this.removePointerDownListener=cs}onPointerDown(t){this.session=new P_(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:T_(this.node)})}createPanHandlers(){const{onPanSessionStart:t,onPanStart:s,onPan:r,onPanEnd:i}=this.node.getProps();return{onSessionStart:ep(t),onStart:ep(s),onMove:ep(r),onEnd:(a,o)=>{delete this.session,i&&ke.postRender(()=>i(a,o))}}}mount(){this.removePointerDownListener=dl(this.node.current,"pointerdown",t=>this.onPointerDown(t))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}let tp=!1;class rq extends w.Component{componentDidMount(){const{visualElement:t,layoutGroup:s,switchLayoutGroup:r,layoutId:i}=this.props,{projection:a}=t;a&&(s.group&&s.group.add(a),r&&r.register&&i&&r.register(a),tp&&a.root.didUpdate(),a.addEventListener("animationComplete",()=>{this.safeToRemove()}),a.setOptions({...a.options,layoutDependency:this.props.layoutDependency,onExitComplete:()=>this.safeToRemove()})),Bd.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){const{layoutDependency:s,visualElement:r,drag:i,isPresent:a}=this.props,{projection:o}=r;return o&&(o.isPresent=a,t.layoutDependency!==s&&o.setOptions({...o.options,layoutDependency:s}),tp=!0,i||t.layoutDependency!==s||s===void 0||t.isPresent!==a?o.willUpdate():this.safeToRemove(),t.isPresent!==a&&(a?o.promote():o.relegate()||ke.postRender(()=>{const l=o.getStack();(!l||!l.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{visualElement:t,layoutAnchor:s}=this.props,{projection:r}=t;r&&(r.options.layoutAnchor=s,r.root.didUpdate(),my.postRender(()=>{!r.currentAnimation&&r.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:t,layoutGroup:s,switchLayoutGroup:r}=this.props,{projection:i}=t;tp=!0,i&&(i.scheduleCheckAfterUnmount(),s&&s.group&&s.group.remove(i),r&&r.deregister&&r.deregister(i))}safeToRemove(){const{safeToRemove:t}=this.props;t&&t()}render(){return null}}function R_(e){const[t,s]=dH(),r=w.useContext(JS);return n.jsx(rq,{...e,layoutGroup:r,switchLayoutGroup:w.useContext(C_),isPresent:t,safeToRemove:s})}const nq={pan:{Feature:sq},drag:{Feature:tq,ProjectionNode:w_,MeasureLayout:R_}};function c1(e,t,s){const{props:r}=e;e.animationState&&r.whileHover&&e.animationState.setActive("whileHover",s==="Start");const i="onHover"+s,a=r[i];a&&ke.postRender(()=>a(t,fc(t)))}class iq extends $n{mount(){const{current:t}=this.node;t&&(this.unmount=RV(t,(s,r)=>(c1(this.node,r,"Start"),i=>c1(this.node,i,"End"))))}unmount(){}}class aq extends $n{constructor(){super(...arguments),this.isActive=!1}onFocus(){let t=!1;try{t=this.node.current.matches(":focus-visible")}catch{t=!0}!t||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=hc(Gl(this.node.current,"focus",()=>this.onFocus()),Gl(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}function d1(e,t,s){const{props:r}=e;if(e.current instanceof HTMLButtonElement&&e.current.disabled)return;e.animationState&&r.whileTap&&e.animationState.setActive("whileTap",s==="Start");const i="onTap"+(s==="End"?"":s),a=r[i];a&&ke.postRender(()=>a(t,fc(t)))}class oq extends $n{mount(){const{current:t}=this.node;if(!t)return;
517const{globalTapTarget:s,propagate:r}=this.node.props;this.unmount=FV(t,(i,a)=>(d1(this.node,a,"Start"),(o,{success:l})=>d1(this.node,o,l?"End":"Cancel")),{useGlobalTarget:s,stopPropagation:(r==null?void 0:r.tap)===!1})}unmount(){}}const pg=new WeakMap,sp=new WeakMap,lq=e=>{const t=pg.get(e.target);t&&t(e)},cq=e=>{e.forEach(lq)};function dq({root:e,...t}){const s=e||document;sp.has(s)||sp.set(s,{});const r=sp.get(s),i=JSON.stringify(t);return r[i]||(r[i]=new IntersectionObserver(cq,{root:e,...t})),r[i]}function uq(e,t,s){const r=dq(t);return pg.set(e,s),r.observe(e),()=>{pg.delete(e),r.unobserve(e)}}const hq={some:0,all:1};class mq extends $n{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){var c;(c=this.stopObserver)==null||c.call(this);const{viewport:t={}}=this.node.getProps(),{root:s,margin:r,amount:i="some",once:a}=t,o={root:s?s.current:void 0,rootMargin:r,threshold:typeof i=="number"?i:hq[i]},l=d=>{const{isIntersecting:u}=d;if(this.isInView===u||(this.isInView=u,a&&!u&&this.hasEnteredView))return;u&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",u);const{onViewportEnter:h,onViewportLeave:m}=this.node.getProps(),p=u?h:m;p&&p(d)};this.stopObserver=uq(this.node.current,o,l)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:s}=this.node;["amount","margin","root"].some(pq(t,s))&&this.startObserver()}unmount(){var t;(t=this.stopObserver)==null||t.call(this),this.hasEnteredView=!1,this.isInView=!1}}function pq({viewport:e={}},{viewport:t={}}={}){return s=>e[s]!==t[s]}const fq={inView:{Feature:mq},tap:{Feature:oq},focus:{Feature:aq},hover:{Feature:iq}},gq={layout:{ProjectionNode:w_,MeasureLayout:R_}},xq={...BH,...fq,...nq,...gq},yq=MH(xq,DH),at=({children:e,delay:t=0,className:s=""})=>n.jsx(yq.div,{className:s,initial:{opacity:0,y:24},whileInView:{opacity:1,y:0},viewport:{once:!0,margin:"-80px"},transition:{duration:.6,delay:t,ease:[.22,1,.36,1]},children:e}),vq="/assets/stone-and-chalk-logo-DwoXkII7.svg",bq=[["📅","Wednesday 9 September"],["🕗","8:00am – 9:30am"],["📍","Stone & Chalk, Lot Fourteen"],["☕","Breakfast included"],["👥","Only 30 seats"],["💲","$29 early bird · $39 standard"]],wq=[["☕","Full Breakfast Included","Fresh breakfast and barista coffee before the session begins."],["🤝","Executive Networking","Meet business owners, founders and senior decision makers."],["📍","Lot Fourteen, North Terrace","Hosted at Stone & Chalk in the Marnirni-apinthi Building. Easy CBD access and nearby parking."],["🎯","Live Demonstrations","Real AI workflows running in front of you, then a practical working session."]],jq=()=>n.jsx("section",{id:"venue",className:"px-5 md:px-6 py-20 md:py-28 scroll-mt-24 bg-neutral-50",children:n.jsxs("div",{className:"container mx-auto max-w-6xl",children:[n.jsx("div",{className:"mb-14 rounded-3xl border border-black/10 bg-white p-8 md:p-10 shadow-[0_24px_60px_-40px_rgba(5,11,24,0.4)]",children:n.jsxs("div",{className:"grid md:grid-cols-[minmax(0,1fr)_auto] gap-8 md:gap-12 items-center",children:[n.jsxs("div",{children:[n.jsx("div",{className:"text-[11px] font-semibold uppercase tracking-[0.28em] text-blue-600",children:"Wednesday 9 September 2026 · 8:00 – 9:30am"}),n.jsx("h3",{className:"mt-4 font-display text-3xl md:text-[2.75rem] leading-[1.05] tracking-tight",children:"Stone & Chalk, Adelaide"}),n.jsx("p",{className:"mt-3 text-[15px] md:text-base text-neutral-600",children:"Marnirni-apinthi Building, Lot Fourteen, North Terrace, Adelaide SA 5000"})]}),n.jsxs("div",{className:"md:pl-12 md:border-l md:border-black/10",children:[n.jsx("img",{src:vq,alt:"Stone & Chalk",className:"h-14 md:h-20 w-auto",loading:"lazy"}),n.jsx("div",{className:"mt-3 text-[11px] uppercase tracking-[0.22em] text-neutral-500",children:"Host venue"})]})]})}),n.jsxs("div",{className:"max-w-3xl",children:[n.jsx("div",{className:"text-[11px] font-semibold uppercase tracking-[0.28em] text-blue-600",children:"The venue"}),n.jsx("h2",{className:"mt-5 font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:"Experience the morning."}),n.jsx("p",{className:"mt-5 text-[15px] md:text-base text-neutral-600 leading-relaxed",children:"Hosted at Stone & Chalk — Marnirni-apinthi Building, Lot Fourteen, North Terrace, Adelaide SA 5000. Breakfast and networking included."})]}),n.jsx("ul",{className:"mt-10 flex flex-wrap gap-2.5",children:bq.map(([e,t])=>n.jsxs("li",{className:"inline-flex items-center gap-2 rounded-full border border-black/10 bg-white px-4 py-2.5 text-[13px] font-medium text-neutral-700 shadow-sm",children:[n.jsx("span",{"aria-hidden":!0,
517children:e})," ",t]},t))}),n.jsx("div",{className:"mt-12 grid sm:grid-cols-2 lg:grid-cols-4 gap-5",children:wq.map(([e,t,s])=>n.jsxs("div",{className:"rounded-2xl border border-black/10 bg-white p-7 shadow-[0_18px_40px_-30px_rgba(5,11,24,0.35)]",children:[n.jsx("div",{className:"text-2xl","aria-hidden":!0,children:e}),n.jsx("h3",{className:"mt-4 font-display text-lg tracking-tight",children:t}),n.jsx("p",{className:"mt-2 text-[14px] text-neutral-600 leading-relaxed",children:s})]},t))}),n.jsx("div",{className:"mt-12 overflow-hidden rounded-2xl ring-1 ring-black/10 shadow-[0_18px_40px_-30px_rgba(5,11,24,0.35)]",children:n.jsx("iframe",{title:"Map of Stone & Chalk, Marnirni-apinthi Building, Lot Fourteen, North Terrace, Adelaide",src:"https://maps.google.com/maps?q=Marnirni-apinthi%20Building%20Lot%20Fourteen%20North%20Terrace%20Adelaide%20SA%205000&z=16&output=embed",loading:"lazy",className:"w-full h-56 md:h-64 border-0",referrerPolicy:"no-referrer-when-downgrade"})}),n.jsxs("div",{className:"mt-12 flex flex-col sm:flex-row sm:items-center gap-5",children:[n.jsx("h3",{className:"font-display text-2xl md:text-3xl tracking-tight",children:"Ready to join us?"}),n.jsxs("a",{href:"#reserve",onClick:()=>Is("cta_click",{location:"venue"}),className:"inline-flex items-center justify-center gap-2 rounded-full bg-blue-600 hover:bg-blue-500 text-white px-8 py-3.5 text-sm font-semibold transition-colors",children:["Reserve My Seat — $29 ",n.jsx(W,{className:"w-4 h-4"})]}),n.jsx("p",{className:"text-[12px] text-neutral-500 sm:ml-1",children:"$29 Early Bird · $39 Standard"})]})]})}),kq="pk_live_51SrsCuIxkbRYY1uxLeRRNSNAIF6KSspJubx5wCVB1legY3eiIrqzUmVhtj5uFdQzvTMLQeZymOml9knHExgNGEUs00me2xK0yq";function Nq(){return kq.startsWith("pk_test_")?n.jsxs("div",{className:"w-full bg-orange-100 border-b border-orange-300 px-4 py-2 text-center text-sm text-orange-800",children:["All payments made in the preview are in test mode."," ",n.jsx("a",{href:"https://docs.lovable.dev/features/payments#test-and-live-environments",target:"_blank",rel:"noopener noreferrer",className:"underline font-medium",children:"Read more"})]}):null}const Sq="/assets/stone-and-chalk-logo-white-BRINh7Zn.svg",$o=30,Kl=29,Hu=39,ud=`Reserve My Seat — $${Kl}`,hd=`$${Kl} Early Bird · $${Hu} Standard`,Aq=["Live AI demonstrations","Practical AI roadmap","Breakfast & executive networking"],_q=[["8:00 AM","Breakfast & Executive Networking"],["8:20 AM","Where AI Is Creating Real Bu
517siness Value"],["8:40 AM","Watch AI Work — Live"],["9:05 AM","Find Your Best AI Opportunities"],["9:25 AM","Your 30-Day AI Action Plan"]],Cq=[["Leads",["Enquiry","Qualification","Follow-Up","Booking"]],["Operations",["Email","Job","Team","Customer Update"]],["Admin",["Documents","Data","Action","Reporting"]]],Eq=[["15+","Years enterprise experience"],["100+","Projects delivered"],["Thousands","Hours automated"],["100+","Businesses supported"]],Tq=[["Save 10+ hours weekly","See exactly which tasks AI can take off your team."],["Reduce admin","Automate the repetitive work slowing your business down."],["Improve profitability","Focus AI where it moves margin, not headlines."],["See AI live","Real business work completed in front of you."],["Build your AI roadmap","Leave with a practical 90-day plan."],["Meet other owners","A room of 20 Adelaide decision-makers."]],Pq=[["8:00","Breakfast & Networking","Breakfast and coffee with fellow business owners and senior leaders."],["8:20","The AI Shift","Where AI is creating real advantage — and where it isn't."],["8:40","Live Demonstrations","Watch AI complete real business work, start to finish."],["9:05","Build Your AI Workforce","Map the highest-value AI opportunities in your business."],["9:20","Open Q&A","Bring your biggest operational challenge."],["9:30","Close & Networking","Keep the conversation going over coffee."]],Iq=["Enterprise AI experience","Practical demonstrations","No sales pitch","Real Australian case studies"],rp=[{name:"Neeraj Kapoor",role:"CEO · 10xGrowth Labs",previousRole:"Ex-Director — Microsoft Business Applications",photo:fS,bio:"Neeraj Kapoor is CEO of 10xGrowth Labs, with twenty years delivering enterprise transformation, AI automation and operational improvement for Australian organisations. Previously Director in the Microsoft Business Applications ecosystem, he now leads strategy and delivery for the platforms, products and AI systems that shape how organisations operate.",tags:["Enterprise Transformation","AI Automation","Microsoft Business Apps","Operations"],linkedin:"https://www.linkedin.com/in/neeraj-k-7890045/"},{name:"Alan Thomas",role:"General Manager · 10xGrowth Labs",previousRole:"Ex-GM — DWS",photo:gS.url,bio:"Alan Thomas is General Manager at 10xGrowth Labs, with three decades of commercial leadership across sales, growth and operations. Former GM at DWS, he brings the business lens to AI adoption — where it pays back, and where it doesn't.",tags:["Commercial Strategy","Growth","Leadership","Operations"],linkedin:"https://www.linkedin.com/in/alan-thomas-a71aa07/"}],Rq=["Your personalised AI Opportunity Map","Three AI opportunities specific to your business","A practical 90-day implementation roadmap","AI prompts and workflows you can use immediately","AI Business Toolkit","Connections with Adelaide business owners"],u1=[["Who should attend?","Business owners, managing directors, CEOs, founders and senior operations leaders."],["Do I need technical knowledge?","No. Everything is explained in business language, focused on outcomes."],["Is breakfast included?","Yes — full breakfast and barista coffee at Stone & Chalk, Lot Fourteen."],["Can I bring a colleague?","Yes, subject to availability. The room is capped at 30 attendees."],["How long is the session?","Arrive from 8:00am. The session closes at 9:30am with networking."],["Is there parking?","Yes. Secure undercover and on-street parking nearby — details in your confirmation."],["What is the refund policy?",`Full refund up to 48 hours before the event. Early bird tickets are $${Kl}; standard tickets are $${Hu}.`]],Gn=({id:e,children:t,className:s=""})=>n.jsx("section",{id:e,className:`px-5 md:px-6 py-20 md:py-28 scroll-mt-24 ${s}`,children:n.jsx("div",{className:"container mx-auto max-w-6xl",children:t})}),Kn=({children:e,dark:t=!1})=>n.jsx("div",{className:`text-[11px] font-semibold uppercase tracking-[0.28em] ${t?"text-blue-300":"text-blue-600"}`,children:e}),Oq=({q:e,a:t})=>{const[s,r]=w.useState(!1);return n.jsxs("div",{className:"border-b border-black/10",children:[n.jsxs("button",{onClick:()=>r(i=>!i),"aria-expanded":s,className:"w-full flex items-center justify-between gap-6 py-7 text-left",children:[n.jsx("span",{className:"font-display text-lg md:text-xl text-neutral-900",children:e}),n.jsx(Ar,{className:`w-5 h-5 shrink-0 text-neutral-400 transition-transform ${s?"rotate-180":""}`})]}),s&&n.jsx("p",{className:"pb-7 -mt-3 text-[15px] text-neutral-600 leading-relaxed max-w-2xl",children:t})]})},Mq=()=>{const[e]=L2(),t=w.useMemo(()=>e.get("checkout")==="success",[e]);return n.jsxs("div",{className:"min-h-screen bg-white text-neutral-900 antialiased selection:bg-blue-500/20",children:[n.jsx(Nq,{}),t&&n.jsxs("div",{className:"w-full bg-emerald-100 border-b border-emerald-300 px-4 py-3 text-center text-sm text-emerald-800",children:[n.jsx("span",{className:"font-semibold",children:"Payment received."})," Your seat is confirmed — check your inbox for your ticket."]}),n.jsx(fe,{title:"10xGrowth Labs — AI Business Breakfast Adelaide",description:"Wednesday 9 September · 8:00–9:30am · Stone & Chalk, Lot Fourteen · 30 seats.",path:"/events/ai-business-breakfast",jsonLd:[{"@context":"https://schema.org","@type":"Event",name:"AI Business Breakfast — Adelaide",description:"An executive breakfast for business owners exploring practical AI that delivers measurable business outcomes.",startDate:"2026-09-09T08:00:00+09:30",endDate:"2026-09-09T09:30:00+09:30",eventAttendanceMode:"https://schema.org/OfflineEventAttendanceMode",eventStatus:"https://schema.org/EventScheduled",maximumAttendeeC
517apacity:30,location:{"@type":"Place",name:"Stone & Chalk — Lot Fourteen",address:"Marnirni-apinthi Building, Lot Fourteen, North Terrace, Adelaide SA 5000, Australia"},organizer:{"@type":"Organization",name:"10xGrowth",url:"https://10xgrowthlabs.ai"},performer:rp.map(s=>({"@type":"Person",name:s.name})),offers:{"@type":"Offer",price:"29",priceCurrency:"AUD",url:"https://10xgrowthlabs.ai/events/ai-business-breakfast#reserve",availability:"https://schema.org/LimitedAvailability"}},{"@context":"https://schema.org","@type":"FAQPage",mainEntity:u1.map(([s,r])=>({"@type":"Question",name:s,acceptedAnswer:{"@type":"Answer",text:r}}))}]}),n.jsx(_9,{}),n.jsx(C9,{}),n.jsx(E9,{}),n.jsxs("section",{id:"overview",className:"relative overflow-hidden bg-[#050B18] text-white pt-24 md:pt-36 pb-16 md:pb-32 px-5 md:px-6",children:[n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(circle_at_15%_5%,rgba(59,130,246,0.22),transparent_60%)]"}),n.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(circle_at_85%_80%,rgba(29,78,216,0.18),transparent_55%)]"}),n.jsx("div",{className:"absolute inset-0 opacity-[0.10]",style:{backgroundImage:"linear-gradient(to right, rgba(255,255,255,0.5) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,0.5) 1px, transparent 1px)",backgroundSize:"72px 72px",maskImage:"radial-gradient(circle at 30% 20%, black, transparent 70%)",WebkitMaskImage:"radial-gradient(circle at 30% 20%, black, transparent 70%)"}}),n.jsx("div",{className:"absolute inset-x-0 bottom-0 h-40 bg-gradient-to-t from-[#050B18] to-transparent"}),n.jsx("div",{className:"container mx-auto max-w-6xl relative",children:n.jsxs(at,{children:[n.jsxs("div",{className:"grid lg:grid-cols-[minmax(0,1.15fr)_minmax(0,0.85fr)] gap-12 lg:gap-16 items-center",children:[n.jsxs("div",{children:[n.jsxs("div",{className:"inline-flex flex-wrap items-center gap-x-3 gap-y-1 rounded-full border border-white/15 bg-white/[0.04] px-4 py-2 text-[11px] font-semibold uppercase tracking-[0.2em] text-blue-300 backdrop-blur",children:[n.jsx("span",{children:"AI Business Breakfast"}),n.jsx("span",{className:"text-white/25",children:"·"}),n.jsx("span",{children:"Adelaide"}),n.jsx("span",{className:"text-white/25",children:"·"}),n.jsx("span",{className:"text-white/70",children:"Wed 9 Sep · 8:00–9:30am"})]}),n.jsx("h1",{className:"mt-6 font-display text-[2.4rem] leading-[1.05] md:text-6xl lg:text-[4.5rem] tracking-tight",children:"Build Your First AI Workforce"}),n.jsx("p",{className:"mt-5 text-[15px] md:text-xl text-blue-100/85 leading-snug max-w-2xl",children:"See how Australian businesses are using practical AI to cut admin, automate follow-up and get more done — without hiring more staff."}),n.jsxs("div",{className:"mt-7 flex items-baseline gap-2.5",children:[n.jsx("span",{className:"text-[10px] font-semibold uppercase tracking-[0.2em] text-blue-300",children:"Early bird"}),n.jsxs("span",{className:"font-display text-3xl md:text-4xl tracking-tight",children:["$",Kl]}),n.jsxs("span",{className:"text-sm text-white/40 line-through",children:["$",Hu]}),n.jsx("span",{className:"hidden sm:inline text-[12px] text-white/45",children:"Standard ticket"})]}),n.jsxs("div",{className:"mt-5 md:mt-6 flex flex-col sm:flex-row sm:items-center gap-3 sm:gap-4",children:[n.jsxs("a",{href:"#reserve",onClick:()=>Is("cta_click",{location:"hero_primary"}),className:"inline-flex items-center justify-center gap-2 rounded-full bg-blue-600 hover:bg-blue-500 px-9 py-4 text-base font-semibold transition-colors shadow-lg shadow-blue-900/30",children:[ud," ",n.jsx(W,{className:"w-4 h-4"})]}),n.jsxs("a",{href:"#presenters",className:"inline-flex items-center justify-center gap-2 rounded-full border border-white/25 hover:border-white/60 px-8 py-4 text-sm font-semibold transition-colors",children:["Meet Your Hosts ",n.jsx(W,{className:"w-4 h-4"})]})]}),n.jsxs("p",{className:"mt-4 text-[13px] text-white/55",children:["Breakfast included · Limited to ",$o," attendees"]}),n.jsxs("div",{className:"mt-6 inline-flex flex-wrap items-center gap-4 roun
517ded-2xl border border-white/12 bg-white/[0.05] px-5 py-4 backdrop-blur",children:[n.jsx("img",{src:Sq,alt:"Stone & Chalk",className:"h-9 md:h-11 w-auto"}),n.jsx("div",{className:"h-8 w-px bg-white/15 hidden sm:block"}),n.jsxs("div",{children:[n.jsx("div",{className:"font-display text-lg md:text-xl tracking-tight",children:"Wednesday 9 September"}),n.jsx("div",{className:"text-[12px] text-white/60",children:"Stone & Chalk · Lot Fourteen, North Terrace, Adelaide"})]})]}),n.jsx("ul",{className:"mt-5 hidden md:flex flex-wrap gap-x-5 gap-y-2 text-[12px] md:text-[13px] text-white/70",children:Aq.map(s=>n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(bn,{className:"w-3.5 h-3.5 text-blue-400 shrink-0"})," ",s]},s))})]}),n.jsx("div",{className:"relative hidden lg:block",children:n.jsxs("div",{className:"rounded-3xl border border-white/12 bg-white/[0.035] backdrop-blur-sm p-8",children:[n.jsx("div",{className:"text-[10px] font-semibold uppercase tracking-[0.28em] text-blue-300",children:"Your morning"}),n.jsx("ol",{className:"mt-7 relative border-l border-white/12 pl-6 space-y-6",children:_q.map(([s,r])=>n.jsxs("li",{className:"relative",children:[n.jsx("span",{className:"absolute -left-[1.845rem] top-1.5 h-2 w-2 rounded-full bg-blue-400 ring-4 ring-[#050B18]"}),n.jsx("div",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] tabular-nums text-white/45",children:s}),n.jsx("div",{className:"mt-1 text-[15px] font-semibold tracking-tight",children:r})]},s))}),n.jsxs("div",{className:"mt-7 pt-6 border-t border-white/10 text-[11px] uppercase tracking-[0.18em] text-white/40",children:["FINISH 9:30 AM · BREAKFAST INCLUDED · ",$o," SEATS"]})]})})]}),n.jsxs("div",{className:"mt-10 md:mt-12 flex items-center gap-4",children:[n.jsx("div",{className:"flex -space-x-3",children:rp.map(s=>n.jsx("img",{src:s.photo,alt:s.name,width:56,height:56,className:"w-12 h-12 rounded-full object-cover ring-2 ring-[#050B18]"},s.name))}),n.jsxs("p",{className:"text-[13px] md:text-sm text-white/65 leading-snug",children:["Hosted by ",n.jsx("span",{className:"text-white",children:"Neeraj Kapoor"})," &"," ",n.jsx("span",{className:"text-white",children:"Alan Thomas"}),n.jsx("br",{}),n.jsx("span",{className:"text-white/45",children:"20+ years of enterprise technology, transformation & AI experience"})]})]})]})})]}),n.jsxs(Gn,{className:"bg-neutral-50",children:[n.jsxs(at,{children:[n.jsx(Kn,{children:"The gap"}),n.jsx("h2",{className:"mt-5 font-display text-3xl md:text-5xl leading-[1.05] tracking-tight max-w-3xl",children:"AI is everywhere. Practical implementation isn't."}),n.jsx("p",{className:"mt-5 text-[15px] md:text-base text-neutral-600 leading-relaxed max-w-2xl",children:"Most businesses don't need another presentation about ChatGPT. They need to know where AI can actually remove work from their business."})]}),n.jsx("div",{className:"mt-12 grid md:grid-cols-3 gap-5",children:Cq.map(([s,r],i)=>n.jsx(at,{delay:i*.06,children:n.jsxs("div",{className:"h-full rounded-2xl border border-black/10 bg-white p-7 shadow-[0_18px_40px_-32px_rgba(5,11,24,0.35)]",children:[n.jsx("div",{className:"text-[11px] font-semibold uppercase tracking-[0.24em] text-blue-600",children:s}),n.jsx("ol",{className:"mt-5 space-y-3",children:r.map((a,o)=>n.jsxs("li",{className:"flex items-center gap-3 text-[15px] text-neutral-800",children:[n.jsxs("span",{className:"text-[11px] tabular-nums text-neutral-400",children:["0",o+1]}),a]},a))})]})},s))}),n.jsx(at,{children:n.jsxs("div",{className:"mt-12 flex flex-col sm:flex-row sm:items-center gap-5",children:[n.jsx("p",{className:"font-display text-xl md:text-2xl tracking-tight max-w-md",children:"At this breakfast, we'll show you how these systems work live."}),n.jsxs("div",{className:"sm:ml-auto",children:[n.jsxs("a",{href:"#reserve",onClick:()=>Is("cta_click",{location:"workflows"}),className:"inline-flex items-center justify-center gap-2 rounded-full bg-blue-600 hover:bg-blue-500 text-white px-8 py-4 text-sm font-semibold transition-colors",children:[ud," ",n.jsx(W,{className:"w-4 h-4"})]}),n.jsx("p",{className:"mt-2 text-[12px] text-neutral-500",children:hd})]})]})})]}),n.jsx(Gn,{className:"!py-20 md:!py-24",children:n.jsx("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-10 md:gap-8",children:Eq.map(([s,r],i)=>n.jsxs(at,{delay:i*.06,children:[n.jsx("div",{className:"font-display text-3xl md:text-5xl tracking-tight",children:s}),n.jsx("div",{className:"mt-3 text-[13px] text-neutral-500 leading-snug",children:r})]},r))})}),n.jsx("div",{className:"h-px bg-gradient-to-r from-transparent via-black/10 to-transparent"}),n.jsxs(Gn,{id:"why",className:"bg-[#0B1220] text-white",children:[n.jsxs(at,{children:[n.jsx(Kn,{dark:!0,children:"Why attend"}),n.jsx("h2",{className:"mt-5 font-display text-3xl md:text-5xl leading-[1.05] tracking-tight max-w-3xl",children:"Two hours that change how your business runs."})]}),n.jsx("div",{className:"mt-14 grid sm:grid-cols-2 lg:grid-cols-3 gap-y-10 gap-x-10",children:Tq.map(([s,r],i)=>n.jsx(at,{delay:i*.05,children:n.jsxs("div",{className:"h-full rounded-2xl border border-white/10 bg-white/[0.03] p-6",children:[n.jsxs("div",{className:"text-[11px] font-semibold tabular-nums text-blue-400",children:["0",i+1]}),n.jsx("h3",{className:"mt-3 font-display text-xl md:text-2xl tracking-tight",children:s}),n.jsx("p",{className:"mt-3 text-[15px] text-white/65 leading-relaxed",children:r})]})},s))})]}),n.jsxs(Gn,{id:"agenda",children:[n.jsxs(at,{children:[n.jsx(Kn,{children:"Agenda"}),n.jsx("h2",{className:"mt-5 font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:"The morning."})]}),n.jsx("div",{className:"mt-10",children:Pq.map(([s,r,i],a)=>n.jsx(at,{delay:a*.04,children:n.jsxs("div",{className:"grid md:grid-cols-[120px_1fr] gap-2 md:gap-10 py-6 border-b border-black/10",children:[n.jsx("span",{className:"font-display text-xl md:text-2xl tabular-nums text-blue-600 tracking-tight",children:s}),n.jsxs("div",{children:[n.jsx("h3",{className:"font-display text-xl md:text-2xl tracking-tight",children:r}),n.jsx("p",{className:"mt-2 text-[15px] text-neutral-600",children:i})]})]})},r))})]}),n.jsx(jq,{}),n.jsx("section",{className:"px-5 md:px-6 py-12 md:py-14 bg-neutral-950 text-white",children:n.jsxs("div",{className:"container mx-auto max-w-6xl flex flex-col md:flex-row md:items-center md:justify-between gap-7",children:[n.jsxs("div",{children:[n.jsxs("h3",{className:"font-display text-2xl md:text-3xl tracking-tight",children:["Limited to ",$o," attendees."]}),n.jsx("p",{className:"mt-2 text-[15px] text-white/60",children:"Breakfast. Live demonstrations. Practical working session."}),n.jsx("p",{className:"mt-2 text-[13px] text-blue-300",children:hd})]}),n.jsxs("a",{href:"#reserve",onClick:()=>Is("cta_click",{location:"mid_page"}),className:"inline-flex items-center justify-center gap-2 rounded-full bg-blue-600 hover:bg-blue-500 text-white px-8 py-4 text-sm font-semibold transition-colors shrink-0",children:[ud," ",n.jsx(W,{className:"w-4 h-4"})]})]})}),n.jsxs(Gn,{className:"bg-neutral-50",children:[n.jsxs(at,{children:[n.jsx(Kn,{children:"You'll leave with"}),n.jsx("h2",{className:"mt-5 font-display text-3xl md:text-5xl leading-[1.05] tracking-tight max-w-3xl",children:"Something you can use on Thursday."})]}),n.jsx("ul",{className:"mt-10 grid sm:grid-cols-2 gap-y-4 gap-x-12 max-w-4xl",children:Rq.map((s,r)=>n.jsx(at,{delay:r*.04,children:n.jsxs("li",{className:"flex items-start gap-4 border-b border-black/10 pb-4 text-[15px] md:text-base text-neutral-800",children:[n.jsx(bn,{className:"w-4 h-4 mt-1 shrink-0 text-blue-600"})," ",s]})},s))})]}),n.jsxs(Gn,{id:"presenters",className:"bg-[#0B1220] text-white",children:[n.jsxs(at,{children:[n.jsx(Kn,{dark:!0,children:"Presenters"}),n.jsx("h2",{className:"mt-5 font-display text-3xl md:text-5xl leading-[1.05] tracking-tight max-w-3xl",children:"Practical AI from people who build it."})]}),n.jsx("div",{className:"mt-12 grid md:grid-cols-2 gap-10 md:gap-14",children:rp.map((s,r)=>n.jsx(at,{delay:r*.08,children:n.jsxs("div",{className:"h-full rounded-2xl border border-white/10 bg-white/[0.03] p-7",children:[n.jsx("img",{src:s.photo,alt:s.name,width:160,height:160,className:"w-24 h-24 md:w-28 md:h-28 rounded-full object-cover"}),n.jsx("h3",{className:"mt-5 font-display text-2xl tracking-tight",children:s.name}),n.jsx("p",{className:"mt-1 text-[13px] uppercase tracking-[0.16em] text-blue-300",children:s.role}),s.previousRole&&n.jsx("p",{className:"mt-1 text-[13px] text-white/45",children:s.previousRole}),n.jsx("p",{className:"mt-4 text-[15px] text-white/65 leading-relaxed max-w-md",children:s.bio}),n.jsx("ul",{className:"mt-5 flex flex-wrap gap-2",children:s.tags.map(i=>n.jsx("li",{className:"rounded-full border border-white/15 px-3 py-1.5 text-[11px] uppercase tracking-[0.1em] text-white/60",children:i},i))}),n.jsxs("a",{href:s.linkedin,target:"_blank",rel:"noopener noreferrer",className:"mt-5 inline-flex items-center gap-2 text-[13px] text-white/55 hover:text-blue-300 transition-colors",children:[n.jsx(yx,{className:"w-4 h-4"})," LinkedIn"]})]})},s.name))}),n.jsx(at,{children:n.jsxs("div",{className:"mt-14 pt-10 border-t border-white/10",children:[n.jsx("h3",{className:"font-display text-2xl md:text-3xl tracking-tight",children:"Why attend with us?"}),n.jsx("ul",{className:"mt-6 grid sm:grid-cols-2 lg:grid-cols-4 gap-
5175",children:Iq.map(s=>n.jsxs("li",{className:"flex items-start gap-3 text-[15px] text-white/70",children:[n.jsx(bn,{className:"w-4 h-4 mt-1 shrink-0 text-blue-400"})," ",s]},s))})]})})]}),n.jsxs(Gn,{id:"faq",children:[n.jsxs(at,{children:[n.jsx(Kn,{children:"FAQ"}),n.jsx("h2",{className:"mt-5 font-display text-3xl md:text-5xl leading-[1.05] tracking-tight",children:"Questions."})]}),n.jsx("div",{className:"mt-10 max-w-4xl",children:u1.map(([s,r])=>n.jsx(Oq,{q:s,a:r},s))})]}),n.jsx("section",{id:"reserve",className:"px-5 md:px-6 py-20 md:py-28 bg-[#050B18] text-white scroll-mt-24",children:n.jsxs("div",{className:"container mx-auto max-w-3xl text-center",children:[n.jsxs(at,{children:[n.jsx(Kn,{dark:!0,children:"Reserve your seat"}),n.jsx("h2",{className:"mt-6 font-display text-4xl md:text-6xl leading-[1.05] tracking-tight",children:"Reserve Your Seat"}),n.jsxs("p",{className:"mt-6 text-lg text-white/65 max-w-xl mx-auto leading-relaxed",children:["Breakfast. Live demonstrations. Practical working session. Limited to ",$o," attendees."]}),n.jsxs("div",{className:"mt-8 flex items-baseline justify-center gap-3",children:[n.jsxs("span",{className:"font-display text-3xl md:text-4xl tracking-tight",children:["$",Kl]}),n.jsxs("span",{className:"text-base text-white/35 line-through",children:["$",Hu]})]}),n.jsx("p",{className:"mt-2 text-[13px] text-blue-300",children:hd}),n.jsx("ul",{className:"mt-10 flex flex-wrap justify-center gap-x-8 gap-y-3 text-[13px] text-white/55",children:["Secure checkout","Instant confirmation","Calendar invite","Breakfast included","48-hour refund"].map(s=>n.jsx("li",{children:s},s))})]}),n.jsx(at,{delay:.1,children:n.jsx("div",{className:"mt-12",children:t?n.jsx(YS,{}):n.jsx(wU,{})})})]})}),n.jsx("section",{className:"px-5 md:px-6 py-16 md:py-20 bg-neutral-950 text-white border-t border-white/10",children:n.jsxs("div",{className:"container mx-auto max-w-4xl text-center",children:[n.jsx("h2",{className:"font-display text-3xl md:text-5xl leading-[1.08] tracking-tight",children:"Ready to build your first AI workforce?"}),n.jsxs("p",{className:"mt-5 text-sm text-white/55",children:["Wednesday 9 September · 8:00–9:30am · Stone & Chalk, Lot Fourteen · Limited to ",$o," attendees"]}),n.jsxs("a",{href:"#reserve",onClick:()=>Is("cta_click",{location:"footer"}),className:"mt-10 inline-flex items-center gap-2 rounded-full bg-blue-600 hover:bg-blue-500 px-9 py-4 text-sm font-semibold transition-colors",children:[ud," ",n.jsx(W,{className:"w-4 h-4"})]}),n.jsx("p",{className:"mt-3 text-[12px] text-white/45",children:hd})]})})]})},Dq=()=>{const[e]=L2(),t=e.get("session_id")||"",s=w.useMemo(()=>t&&!t.includes("{")?`ABB-${t.slice(-8).toUpperCase()}`:null,[t]);return w.useEffect(()=>{Is("purchase_complete",{event_name:"AI Business Breakfast"})},[]),n.jsxs("div",{className:"min-h-screen bg-[#050B18] text-white",children:[n.jsx(fe,{title:"Seat Confirmed — AI Business Breakfast | 10xGrowth Labs",description:"Your seat at the AI Business Breakfast in Adelaide is confirmed. Your ticket and calendar invite are on their way by email.",path:"/events/thankyou",noindex:!0}),n.jsxs("main",{className:"container mx-auto max-w-3xl px-5 py-24 md:py-32",children:[n.jsxs("div",{className:"rounded-2xl border border-emerald-400/25 bg-emerald-400/[0.06] p-7 text-center md:p-10",children:[n.jsx(Ye,{className:"mx-auto h-10 w-10 text-emerald-400"}),n.jsx("h1",{className:"mt-5 font-display text-3xl md:text-4xl",children:"Payment received — your seat is confirmed"}),n.jsx("p",{className:"mx-auto mt-4 max-w-xl text-sm leading-relaxed text-white/65",children:"Thanks for registering for the AI Business Breakfast. We've emailed your ticket and confirmation — please check your inbox (and spam folder just in case)."})]}),n.jsxs("section",{className:"mt-8 rounded-2xl border border-white/12 bg-white/[0.04] p-7 md:p-10",children:[n.jsx("h2",{className:"font-display text-xl",children:"Your ticket"}),n.jsxs("dl",{className:"mt-6 grid gap-5 sm:grid-cols-2",children:[n.jsxs("div",{className:"flex gap-3",children:[n.jsx(kx,{className:"mt-0.5 h-5 w-5 shrink-0 text-blue-400"}),n.jsxs("div",{children:[n.jsx("dt",{className:"text-xs uppercase tracking-[0.12em] text-white/45",children:"Ticket"}),n.jsxs("dd",{className:"mt-1 text-sm text-white/85",children:["1 × Early Bird — $29 AUD",s&&n.jsxs("span",{className:"block text-white/55",children:["Ref
517: ",s]})]})]})]}),n.jsxs("div",{className:"flex gap-3",children:[n.jsx(wN,{className:"mt-0.5 h-5 w-5 shrink-0 text-blue-400"}),n.jsxs("div",{children:[n.jsx("dt",{className:"text-xs uppercase tracking-[0.12em] text-white/45",children:"When"}),n.jsx("dd",{className:"mt-1 text-sm text-white/85",children:"Wednesday 9 September · 8:00–9:30 AM"})]})]}),n.jsxs("div",{className:"flex gap-3",children:[n.jsx(nc,{className:"mt-0.5 h-5 w-5 shrink-0 text-blue-400"}),n.jsxs("div",{children:[n.jsx("dt",{className:"text-xs uppercase tracking-[0.12em] text-white/45",children:"Where"}),n.jsxs("dd",{className:"mt-1 text-sm text-white/85",children:["Stone & Chalk, Marnirni-apinthi Building, Lot Fourteen,",n.jsx("br",{}),"North Terrace, Adelaide SA 5000"]})]})]}),n.jsxs("div",{className:"flex gap-3",children:[n.jsx(ro,{className:"mt-0.5 h-5 w-5 shrink-0 text-blue-400"}),n.jsxs("div",{children:[n.jsx("dt",{className:"text-xs uppercase tracking-[0.12em] text-white/45",children:"Confirmation"}),n.jsxs("dd",{className:"mt-1 text-sm text-white/85",children:["Ticket + calendar invite sent to your email. Questions? ",n.jsx("a",{href:"mailto:[email protected]",className:"text-blue-400 hover:underline",children:"[email protected]"})]})]})]})]})]}),n.jsx("div",{className:"mt-8",children:n.jsx(YS,{})}),n.jsx("div",{className:"mt-8 text-center",children:n.jsxs(L,{to:"/events/ai-business-breakfast",className:"inline-flex items-center gap-2 rounded-full border border-white/15 px-6 py-3 text-sm text-white/80 transition-colors hover:bg-white/10 hover:text-white",children:["Back to event details ",n.jsx(W,{className:"h-4 w-4"})]})})]})]})},Lq=()=>n.jsxs("div",{className:"min-h-screen bg-[#050B18] text-white",children:[n.jsx(fe,{title:"Payment Not Completed — AI Business Breakfast | 10xGrowth Labs",description:"Your payment for the AI Business Breakfast wasn't completed. Your seat isn't reserved yet — try again to secure it.",path:"/events/failed",noindex:!0}),n.jsxs("main",{className:"container mx-auto max-w-3xl px-5 py-24 md:py-32",children:[n.jsxs("div",{className:"rounded-2xl border border-red-400/25 bg-red-400/[0.06] p-7 text-center md:p-10",children:[n.jsx(PN,{className:"mx-auto h-10 w-10 text-red-400"}),n.jsx("h1",{className:"mt-5 font-display text-3xl md:text-4xl",children:"Payment wasn't completed"}),n.jsx("p",{className:"mx-auto mt-4 max-w-xl text-sm leading-relaxed text-white/65",children:"Your seat has not been reserved and you have not been charged. No confirmation email has been sent. If your card was declined, try again or use a different card."})]}),n.jsxs("section",{className:"mt-8 rounded-2xl border border-white/12 bg-white/[0.04] p-7 md:p-10",children:[n.jsx("h2",{className:"font-display text-xl",children:"What you were booking"}),n.jsxs("dl",{className:"mt-6 grid gap-5 sm:grid-cols-2",children:[n.jsxs("div",{className:"flex gap-3",children:[n.jsx(kx,{className:"mt-0.5 h-5 w-5 shrink-0 text-blue-400"}),n.jsxs("div",{children:[n.jsx("dt",{className:"text-xs uppercase tracking-[0.12em] text-white/45",children:"Ticket"}),n.jsx("dd",{className:"mt-1 text-sm text-white/85",children:"1 × Early Bird — $29 AUD"})]})]}),n.jsxs("div",{className:"flex gap-3",children:[n.jsx(wN,{className:"mt-0.5 h-5 w-5 shrink-0 text-blue-400"}),n.jsxs("div",{children:[n.jsx("dt",{className:"text-xs uppercase tracking-[0.12em] text-white/45",children:"When"}),n.jsx("dd",{className:"mt-1 text-sm text-white/85",children:"Wednesday 9 September · 8:00–9:30 AM"})]})]}),n.jsxs("div",{className:"flex gap-3",children:[n.jsx(nc,{className:"mt-0.5 h-5 w-5 shrink-0 text-blue-400"}),n.jsxs("div",{children:[n.jsx("dt",{className:"text-xs uppercase tracking-[0.12em] text-white/45",children:"Where"}),n.jsxs("dd",{className:"mt-1 text-sm text-white/85",children:["Stone & Chalk, Marnirni-apinthi Building, Lot Fourteen,",n.jsx("br",{}),"North Terrace, Adelaide SA 5000"]})]})]}),n.jsxs("div",{className:"flex gap-3",children:[n.jsx(ro,{className:"mt-0.5 h-5 w-5 shrink-0 text-blue-400"}),n.jsxs("div",{children:[n.jsx("dt",{className:"text-xs uppercase tracking-[0.12em] text-white/45",children:"Need help?"}),n.jsxs("dd",{className:"mt-1 text-sm text-white/85",children:["Email ",n.jsx("a",{href:"mailto:[email protected]",className:"text-blue-400 hover:underline",children:"[email protected]"})," and we'll sort it out."]})]})]})]})]}),n.jsxs("div",{className:"mt-8 flex flex-col items-center gap-3 sm:flex-row sm:justify-center",children:[n.jsxs(L,{to:"/events/ai-business-breakfast",className:"inline-flex items-center gap-2 rounded-full bg-blue-600 px-7 py-3.5 text-sm font-semibold text-white transition-colors hover:bg-blue-500",children:["Try again — reserve my seat ",n.jsx(W,{className:"h-4 w-4"})]}),n.jsx(L,{to:"/",className:"inline-flex items-center gap-2 rounded-full border border-white/15 px-6 py-3 text-sm text-white/80 transition-colors hover:bg-white/10 hover:text-white",children:"Back to home"})]})]})]}),O_=w.forwardRef(({className:e,type:t,...s},r)=>n.jsx("input",{type:t,className:cr("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:r,...s}));O_.displayName="Input";var $q="Label",M_=w.forwardRef((e,t)=>
517n.jsx(Rt.label,{...e,ref:t,onMouseDown:s=>{var i;s.target.closest("button, input, select, textarea")||((i=e.onMouseDown)==null||i.call(e,s),!s.defaultPrevented&&s.detail>1&&s.preventDefault())}}));M_.displayName=$q;var D_=M_;const Fq=xx("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),L_=w.forwardRef(({className:e,...t},s)=>n.jsx(D_,{ref:s,className:cr(Fq(),e),...t}));L_.displayName=D_.displayName;const Bq=()=>{const[e,t]=w.useState(""),[s,r]=w.useState(!1),[i,a]=w.useState(null),o=async()=>{var l,c;if(a(null),!e.trim()){a("Please enter the admin key.");return}r(!0);try{const{data:d,error:u}=await ht.functions.invoke("export-leads",{headers:{"x-admin-key":e.trim()}});if(u)throw u;const h=new Blob([d],{type:"text/csv;charset=utf-8;"}),m=URL.createObjectURL(h),p=document.createElement("a");p.href=m,p.setAttribute("download","10xgrowthlabs-leads.csv"),document.body.appendChild(p),p.click(),document.body.removeChild(p),URL.revokeObjectURL(m)}catch(d){const u=(l=d==null?void 0:d.message)!=null&&l.includes("Unauthorized")||(c=d==null?void 0:d.message)!=null&&c.includes("401")?"Invalid admin key.":(d==null?void 0:d.message)||"Could not download the leads list. Please try again.";a(u)}finally{r(!1)}};return n.jsxs(Le,{children:[n.jsx(fe,{title:"Export Leads — 10xGrowth Labs",description:"Download the full 10xGrowth Labs leads list.",path:"/admin/leads",noindex:!0}),n.jsx("section",{className:"pt-16 md:pt-24 pb-24 px-6",children:n.jsx("div",{className:"container mx-auto max-w-2xl",children:n.jsxs("div",{className:"border border-foreground
517/15 p-8 md:p-12",children:[n.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[n.jsx("div",{className:"inline-flex items-center justify-center w-10 h-10 bg-foreground/5 text-foreground",children:n.jsx(iP,{className:"w-5 h-5"})}),n.jsx("h1",{className:"font-display text-2xl md:text-3xl tracking-tight",children:"Export Leads"})]}),n.jsx("p",{className:"text-foreground/70 mb-8 leading-relaxed",children:"Download the full 10xGrowth Labs leads list as a CSV. The export includes names, emails, phone numbers, companies, tool usage, timestamps, and submission details."}),n.jsxs("div",{className:"space-y-5",children:[n.jsxs("div",{className:"space-y-2",children:[n.jsxs(L_,{htmlFor:"admin-key",className:"inline-flex items-center gap-2 text-sm font-medium",children:[n.jsx(AN,{className:"w-4 h-4"})," Admin key"]}),n.jsx(O_,{id:"admin-key",type:"password",placeholder:"Enter your admin export key",value:e,onChange:l=>t(l.target.value),className:"bg-transparent border-foreground/20 focus-visible:ring-foreground/30"})]}),i&&n.jsx("div",{className:"text-sm text-red-600 bg-red-50 px-4 py-3",children:i}),n.jsx(Js,{onClick:o,disabled:s,className:"w-full inline-flex items-center justify-center gap-2 bg-foreground text-background hover:bg-foreground
517/85 rounded-none h-12 text-[12px] font-semibold tracking-[0.14em] uppercase",children:s?"Downloading...":n.jsxs(n.Fragment,{children:[n.jsx(rP,{className:"w-4 h-4"})," Download CSV"]})})]}),n.jsx("p",{className:"mt-6 text-xs text-foreground/50 leading-relaxed",children:"The export is protected by an admin key stored in your backend secrets. If you need the current key or want to change it, contact your team admin."})]})})})]})},Uq=()=>{const{pathname:e}=Bs();return w.useEffect(()=>{window.scrollTo({top:0,left:0,behavior:"auto"})},[e]),null},h1="G-MM79NBS6XG",m1="ga-measurement-id",Wq=24*60*60*1e3;function fg(...e){typeof window>"u"||(window.dataLayer=window.dataLayer||[],window.dataLayer.push(e))}async function Vq(){if(typeof window>"u")return h1;try{const e=window.localStorage.getItem(m1);if(e){const t=JSON.parse(e);if(t.id&&t.ts&&Date.now()-t.ts<Wq)return t.id}}catch{}try{const e=await fetch("https://keqgkndrfdzapfrwsots.supabase.co/functions/v1/analytics-config",{headers:{Authorization:"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImtlcWdrbmRyZmR6YXBmcndzb3RzIiwicm9sZSI6ImFub24iLCJpYXQiOjE3Nzg3MTg0MzksImV4cCI6MjA5NDI5NDQzOX0.09-8PiGO5qaGWE3q8PQsUhnhsmr42xZQfL5c6SH57Zg",apikey:"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImtlcWdrbmRyZmR6YXBmcndzb3RzIiwicm9sZSI6ImFub24iLCJpYXQiOjE3Nzg3MTg0MzksImV4cCI6MjA5NDI5NDQzOX0.09-8PiGO5qaGWE3q8PQsUhnhsmr42xZQfL5c6SH57Zg"}});if(e.ok){const s=((await e.json()).measurementId||"").trim();if(/^G-[A-Z0-9]+$/.test(s)){try{window.localStorage.setItem(m1,JSON.stringify({id:s,ts:Date.now()}))}catch{}return s}}}catch{}return h1}let p1=!1;async function zq(){if(p1||typeof window>"u")return;p1=!0;const e=await Vq(),t=document.createElement("script");t.async=!0,t.src=`https://www.googletagmanager.com/gtag/js?id=${e}`,document.head.appendChild(t),fg("js",new Date),fg("config",e,{send_page_view:!0})}function Hq(e){fg("event","page_view",{page_path:e,page_location:window.location.href,page_title:document.title})}const qq=new qI,Gq=()=>{const{pathname:e}=Bs(),t=w.useRef(!0);return w.useEffect(()=>{if(t.current){t.current=!1;return}Hq(e)},[e]),null},Kq=()=>{const{pathname:e}=Bs();return e.startsWith("/events/")||e.startsWith("/platform-suite/fleetpro-transport-system")?null:n.jsx(cO,{})},Yq=()=>n.jsx(KI,{client:qq,children:n.jsxs(jI,{children:[n.jsx(i5,{}),n.jsx(L5,{}),n.jsxs(HR,{children:[n.jsx(Uq,{}),n.jsx(Gq,{}),n.jsxs(LR,{children:[n.jsx(re,{path:"/",element:n.jsx(o6,{})}),n.jsx(re,{path:"/agency",element:n.jsx(jO,{})}),n.jsx(re,{path:"/blueprint",element:n.jsx(d6,{})}),n.jsx(re,{path:"/unsubscribe",element:n.jsx(aL,{})}),n.jsx(re,{path:"/solutions/:slug",element:n.jsx(Rm,{kind:"solution"})}),n.jsx(re,{path:"/industries/construction-software",element:n.jsx(dL,{})}),n.jsx(re,{path:"/industries/:slug",element:n.jsx(Rm,{kind:"industry"})}),n.jsx(re,{path:"/about",element:n.jsx(jL,{})}),n.jsx(re,{path:"/method",element:n.jsx(SL,{})}),n.jsx(re,{path:"/ai-readiness-assessment",element:n.jsx(d8,{})}),n.jsx(re,{path:"/fleet-assessment",element:n.jsx(T0,{})}),n.jsx(re,{path:"/fleet-health-check",element:n.jsx(T0,{})}),n.jsx(re,{path:"/portfolio",element:n.jsx(w8,{})}),n.jsx(re,{path:"/enterprise",element:n.jsx(S8,{})}),n.jsx(re,{path:"/startups",element:n.jsx(N$,{})}),n.jsx(re,{path:"/platform-suite",element:n.jsx(O$,{})}),n.jsx(re,{path:"/platform-suite/fleetpro",element:n.jsx(B7,{})}),n.jsx(re,{path:"/platform-suite/fleetpro-transport-system",element:n.jsx(J7,{})}),n.jsx(re,{path:"/platform-suite/fleetpro-transport-system/thankyou",element:n.jsx(X7,{})}),n.jsx(re,{path:"/platform-suite/opssync",element:n.jsx(eB,{})}),n.jsx(re,{path:"/platform-suite/careflow",element:n.jsx(sB,{})}),n.jsx(re,{path:"/platform-suite/civicflow",element:n.jsx(MB,{})}),n.jsx(re,{path:"/platform-suite/governmentos",element:n.jsx(s9,{})}),n.jsx(re,{path:"/solutions",element:n.jsx(I0,{})}),n.jsx(re,{path:"/industries",element:n.jsx(F$,{})}),n.jsx(re,{path:"/consulting",element:n.jsx(I0,{})}),n.jsx(re,{path:"/services/ai",element:n.jsx(z$,{})}),n.jsx(re,{path:"/services/automation",element:n.jsx(q$,{})}),n.jsx(re,{path:"/services/digital",element:n.jsx(J$,{})}),n.jsx(re,{path:"/custom-apps",element:n.jsx(PF,{})}),n.jsx(re,{path:"/work",element:n.jsx(P0,{})}),n.jsx(re,{path:"/case-studies",element:n.jsx(P0,{})}),n.jsx(re,{path:"/insights",element:n.jsx(_$,{})}),n.jsx(re,{path:"/insights/:slug",element:n.jsx(r9,{})}),n.jsx(re,{path:"/contact",element:n.jsx(E$,{})}),n.jsx(re,{path:"/thankyou",element:n.jsx(T$,{})}),n.jsx(re,{path:"/product-sprint-live",element:n.jsx(A9,{})}),n.jsx(re,{path:"/events/ai-business-breakfast",element:n.jsx(Mq,{})}),n.jsx(re,{path:"/events/thankyou",element:n.jsx(Dq,{})}),n.jsx(re,{path:"/events/failed",element:n.jsx(Lq,{})}),n.jsx(re,{path:"/admin/leads",element:n.jsx(Bq,{})}),n.jsx(re,{path:"/capabilities/:slug",element:n.jsx(Rm,{kind:"solution"})}),n.jsx(re,{path:"*",element:n.jsx(P$,{})})]}),n.jsx(Kq,{})]})]})});s8();zq();if(typeof window<"u"&&location.hostname.endsWith("10xgrowthlabs.ai")&&navigator.doNotTrack!=="1"){const e=()=>{const t=window;if(t.fbq)return;const s=function(...i){s.callMethod?s.callMethod.apply(s,i):s.queue.push(i)};s.queue=[],s.loaded=!0,s.version="2.0",t.fbq=s,t._fbq||(t._fbq=s);const r=document.createElement("script");r.async=!0,r.src="https://connect.facebook.net/en_US/fbevents.js",document.head.appendChild(r),t.fbq("init","1922114235169873"),t.fbq("track","PageView")};document.readyState==="complete"?setTimeout(e,1200):window.addEventListener("load",()=>setTimeout(e,1200),{once:!0})}Lk(document.getElementById("root")).render(n.jsx(zk,{children:n.jsx(Yq,{})}));

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.