1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6410,7177],{8475:(e,t,n)=>{"use strict";n.d(t,{OutstandingProvider:()=>c,c:()=>u});var r=n(95155),i=n(12115),l=n(73867),o=n(21480);let a={invoiceCount:0,totalDueCents:0,hasOverdue:!1},s=(0,i.createContext)(void 0);function c({children:e}){let{isAuthenticated:t}=(0,l.A)(),[n,u]=(0,i.useState)(a),[d,m]=(0,i.useState)(!1),f=(0,i.useRef)(null),b=(0,i.useCallback)(async()=>{if(!t)return void u(a);if(f.current)return f.current;m(!0);let e=(async()=>{try{let e=await (0,o.z)();e.success?u({invoiceCount:e.data.invoiceCount,totalDueCents:e.data.totalDueCents,hasOverdue:e.data.hasOverdue}):u(a)}catch{u(a)}finally{m(!1),f.current=null}})();return f.current=e,e},[t]);return(0,i.useEffect)(()=>{b()},[b]),(0,i.useEffect)(()=>{if(!t)return;let e=()=>{"visible"===document.visibilityState&&b()};return document.addEventListener("visibilitychange",e),()=>document.removeEventListener("visibilitychange",e)},[t,b]),(0,r.jsx)(s.Provider,{value:{...n,loading:d,refresh:b},children:e})}function u(){let e=(0,i.useContext)(s);return e||{...a,loading:!1,refresh:async()=>{}}}},14482:(e,t,n)=>{"use strict";n.d(t,{DialogProvider:()=>v,SC:()=>g,Ue:()=>p,kc:()=>x});var r=n(95155),i=n(12115),l=n(68822),o=n(41585),a=n(32106),s=n(52484),c=n(45497),u=n(58219),d=n(15575);let m={cancel:{en:"Cancel",zh:"åæ¶",es:"Cancelar"}
1,confirm:{en:"Confirm",zh:"确认",es:"Confirmar"},submit:{en:"Submit",zh:"æäº¤",es:"Enviar"},ok:{en:"OK",zh:"ç¡®å®",es:"Aceptar"}};function f(e,t){return m[e][t]??m[e].en}let b=(0,i.createContext)(void 0);function v({children:e}){let[t,n]=(0,i.useState)(null),[l,o]=(0,i.useState)(""),a=(0,i.useCallback)(e=>{n(t=>(t&&("confirm"===t.kind?t.resolve(!1):"prompt"===t.kind?t.resolve(null):t.resolve()),e)),o("prompt"===e.kind?e.options.defaultValue??"":"")},[]),s=(0,i.useCallback)(()=>{n(e=>(e&&("confirm"===e.kind?e.resolve(!1):"prompt"===e.kind?e.resolve(null):e.resolve()),null))},[]),c=(0,i.useCallback)(()=>{n(e=>{if(!e)return null;if("confirm"===e.kind)e.resolve(!0);else if("prompt"===e.kind){if(e.options.required&&""===l.trim())return e;e.resolve(l)}else e.resolve();return null})},[l]);return(0,r.jsxs)(b.Provider,{value:{request:a},children:[e,t&&(0,r.jsx)(y,{request:t,inputValue:l,onInputChange:o,onCancel:s,onConfirm:c})]})}function h(){let e=(0,i.useContext)(b);if(!e)throw Error("Dialog hooks must be used within <DialogProvider>");return e}function g(){let{request:e}=h(),{language:t}=(0,d.ok)();return(0,i.useCallback)(n=>new Promise(r=>{e({kind:"confirm",options:{...n,cancelLabel:n.cancelLabel??f("cancel",t),confirmLabel:n.confirmLabel??f("confirm",t)},resolve:r})}),[e,t])}function p(){let{request:e}=h(),{language:t}=(0,d.ok)();return(0,i.useCallback)(n=>new Promise(r=>{e({kind:"alert",options:{...n,okLabel:n.okLabel??f("ok",t)},resolve:r})}),[e,t])}function x(){let{request:e}=h(),{language:t}=(0,d.ok)();return(0,i.useCallback)(n=>new Promise(r=>{e({kind:"prompt",options:{...n,cancelLabel:n.cancelLabel??f("cancel",t),confirmLabel:n.confirmLabel??f("submit",t)},resolve:r})}),[e,t])}let w={default:{Icon:null,iconClass:"",confirmBtn:"bg-blue-600 hover:bg-blue-700 text-white"}
1,info:{Icon:l.A,iconClass:"text-blue-500",confirmBtn:"bg-blue-600 hover:bg-blue-700 text-white"},warning:{Icon:o.A,iconClass:"text-amber-500",confirmBtn:"bg-amber-600 hover:bg-amber-700 text-white"},danger:{Icon:a.A,iconClass:"text-red-500",confirmBtn:"bg-red-600 hover:bg-red-700 text-white"},success:{Icon:s.A,iconClass:"text-green-500",confirmBtn:"bg-green-600 hover:bg-green-700 text-white"}};function y({request:e,inputValue:t,onInputChange:n,onCancel:i,onConfirm:l}){let o=w[e.options.variant??("alert"===e.kind?"warning":"default")],{Icon:a}=o,s="alert"===e.kind?null:"cancelLabel"in e.options&&e.options.cancelLabel||"Cancel",d="confirm"===e.kind?e.options.confirmLabel||"Confirm":"prompt"===e.kind?e.options.confirmLabel||"Submit":e.options.okLabel||"OK",m="prompt"===e.kind&&!!e.options.required&&""===t.trim();return(0,r.jsx)(c.d,{isOpen:!0,onClose:i,children:(0,r.jsxs)("div",{className:"bg-white rounded-xl p-6 max-w-md w-full shadow-xl",children:[(0,r.jsxs)("div",{className:"flex items-start gap-3",children:[a&&(0,r.jsx)("div",{className:"flex-shrink-0 mt-0.5",children:(0,r.jsx)(a,{className:(0,u.cn)("w-6 h-6",o.iconClass),"aria-hidden":"true"})}),(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[e.options.title&&(0,r.jsx)("h3",{className:"text-lg font-bold text-gray-900 mb-2",children:e.options.title}),"prompt"===e.kind?(0,r.jsx)(C,{options:e.options,value:t,onChange:n,onSubmit:l,submitDisabled:m}):e.options.message&&(0,r.jsx)("p",{className:"text-sm text-gray-700 whitespace-pre-line leading-relaxed",children:e.options.message})]})]}),(0,r.jsxs)("div",{className:"mt-5 flex justify-end gap-2",children:[s&&(0,r.jsx)("button",{type:"button",onClick:i,className:"px-4 py-2 text-sm font-medium text-gray-700 bg-white border border-gray-300 rounded-lg hover:bg-gray-50",children:s}),(0,r.jsx)("button",{type:"button",onClick:l,disabled:m,className:(0,u.cn)("px-4 py-2 text-sm font-medium rounded-lg disabled:opacity-50 disabled:cursor-not-allowed transition-colors",o.confirmBtn),children:d})]})]})})}function C({options:e,value:t,onChange:n,onSubmit:i,submitDisabled:l}){let o="w-full px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none";return(0,r.jsxs)(r.Fragment,{children:[e.message&&(0,r.jsx)("p",{className:"text-sm text-gray-700 whitespace-pre-line leading-relaxed mb-3",children:e.message}),e.inputLabel&&(0,r.jsx)("label",{className:"block text-xs font-medium text-gray-600 mb-1",children:e.inputLabel}),e.multiline?(0,r.jsx)("textarea",{value:t,onChange:e=>n(e.target.value),placeholder:e.placeholder,rows:4,className:(0,u.cn)(o,"resize-y")}):(0,r.jsx)("input",{type:"text",value:t,onChange:e=>n(e.target.value),onKeyDown:e=>{"Enter"!==e.key||l||(e.preventDefault(),i())},placeholder:e.placeholder,className:o})]})}},16594:(e,t,n)=>{"use strict";n.d(t,{H:()=>i});var r=n(9339);let i=(0,r.createServerReference)("007e2d8398aedea29f874db7e27d507ac6f528016a",r.callServer,void 0,r.findSourceMapURL,"getReferralCodeAction")},21480:(e,t,n)=>{"use strict";n.d(t,{z:()=>i});var r=n(9339);let i=(0,r.createServerReference)("0093c54cf1e52621db7a57c7e4343b14d0dd1e91d7",r.callServer,void 0,r.findSourceMapURL,"getOutstandingBalance")},27618:(e,t,n)=>{"use strict";n.d(t,{K:()=>i});var r=n(12115);function i(e){(0,r.useEffect)(()=>{if(!e)return;let t=window.scrollY,n=document.documentElement,r=document.body,i={position:r.style.position,top:r.style.top,left:r.style.left,right:r.style.right,overflow:r.style.overflow,htmlOverscrollBehavior:n.style.overscrollBehavior};return r.style.position="fixed",r.style.top=`-${t}px`,r.style.left="0",r.style.right="0",r.style.overflow="hidden",n.style.overscrollBehavior="none",()=>{r.style.position=i.position,r.style.top=i.top,r.style.left=i.left,r.style.right=i.right,r.style.overflow=i.overflow,n.style.overscrollBehavior=i.htmlOverscrollBehavior,window.scrollTo({top:t,behavior:"instant"})}},[e])}},45497:(e,t,n)=>{"use strict";n.d(t,{A:()=>u,d:()=>c});var r=n(95155),i=n(12115),l=n(47650),o=n(27618),a=n(53917),s=n(58219);function c({isOpen:e,onClose:t,children:n,backdropClassName:u,contentClassName:d,disableBackdropClick:m=!1,disableEscapeKey:f=!1,animated:b=!0,ariaLabelledBy:v}){let[h,g]=(0,i.useState)(!1),[p,x]=(0,i.useState)(!1),w=(0,i.useRef)(null),y=(0,i.useRef)(null),C=(0,a.G)(e);(0,i.useEffect)(()=>(g(!0),()=>g(!1)),[]),(0,o.K)(e),(0,i.useEffect)(()=>{e&&b?x(!0):x(!1)},[e,b]);let k=(0,i.useCallback)(()=>{b?(x(!1),setTimeout(t,200)):t()},[t,b]);(0,i.useEffect)(()=>
1{if(!e||f||!C)return;let t=e=>{"Escape"===e.key&&k()};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[e,f,C,k]),(0,i.useEffect)(()=>{if(!e)return;let t=w.current;if(!t)return;y.current=document.activeElement;let n=e=>{if("Tab"!==e.key)return;let n=t.querySelectorAll('a[href], button:not([disabled]), textarea, input:not([disabled]), select, [tabindex]:not([tabindex="-1"])');if(0===n.length)return;let r=n[0],i=n[n.length-1];e.shiftKey&&document.activeElement===r?(e.preventDefault(),i.focus()):e.shiftKey||document.activeElement!==i||(e.preventDefault(),r.focus())};return requestAnimationFrame(()=>{let e=t.querySelector('button:not([disabled]), [tabindex]:not([tabindex="-1"]), input:not([disabled])');e?.focus()}),window.addEventListener("keydown",n),()=>{window.removeEventListener("keydown",n),y.current?.focus()}},[e]);let j=h?document.getElementById("layer-modal"):null;return e&&h&&j?(0,l.createPortal)((0,r.jsxs)("div",{ref:w,className:(0,s.cn)("fixed inset-0",s.Tl.layout.belowNavbar,b&&"transition-opacity duration-200",b&&(p?"opacity-100":"opacity-0")),role:"dialog","aria-modal":C,...v?{"aria-labelledby":v}:{},children:[(0,r.jsx)("div",{className:(0,s.cn)("fixed inset-0",s.Tl.layout.belowNavbar,"bg-black/50 backdrop-blur-sm",u),onClick:e=>{e.target!==e.currentTarget||m||k()},"aria-hidden":"true"}),(0,r.jsx)("div",{className:(0,s.cn)("fixed inset-0 overflow-y-auto overscroll-none pointer-events-none",s.Tl.layout.belowNavbar),children:(0,r.jsx)("div",{className:(0,s.cn)("min-h-full flex items-center justify-center p-4",d),children:(0,r.jsx)("div",{className:(0,s.cn)("pointer-events-auto",b&&"transition-all duration-200",b&&(p?"opacity-100 scale-100 translate-y-0":"opacity-0 scale-95 translate-y-4")),children:n})})})]}),j):null}let u=c},53917:(e,t,n)=>{"use strict";n.d(t,{G:()=>o});var r=n(12115);let i=[],l=new Set;function o(e){let t=(0,r.useId)(),[n,o]=(0,r.useState)(!0);return(0,r.useEffect)(()=>{if(!e)return;i.push(t),l.forEach(e=>e());let n=()=>o(i[i.length-1]===t);return l.add(n),n(),()=>{let e;(e=i.indexOf(t))>=0&&i.splice(e,1),l.forEach(e=>e()),l.delete(n)}},[e,t]),n}},57231:(e,t,n)=>{"use strict";n.d(t,{ToastProvider:()=>f,d:()=>b});var r=n(95155),i=n(12115),l=n(52484),o=n(62791),a=n(13545),s=n(68822),c=n(33210),u=n(99712),d=n(47706);let m=(0,i.createContext)(void 0);function f({children:e,position:t="top-right",maxToasts:n=5}){let[l,o]=(0,i.useState)([]),a=(0,i.useCallback)(e=>{o(t=>t.filter(t=>t.id!==e))},[]),s=(0,i.useCallback)(e=>{let t=Math.random().toString(36).substring(2,9),r={id:t,dismissible:!0,duration:5e3,...e};o(e=>[...e,r].slice(-n)),r.duration&&r.duration>0&&setTimeout(()=>{a(t)},r.duration)},[n,a]),c=(0,i.useCallback)(()=>{o([])},[]);return(0,r.jsxs)(m.Provider,{value:{toasts:l,showToast:s,hideToast:a,clearAllToasts:c}
1,children:[e,(0,r.jsx)(v,{toasts:l,position:t,onDismiss:a})]})}function b(){let e=(0,i.useContext)(m);if(void 0===e)throw Error("useToast must be used within a ToastProvider");return e}function v({toasts:e,position:t,onDismiss:n}){return(0,r.jsx)("div",{className:`fixed ${{"top-right":"top-4 right-4","top-center":"top-4 left-1/2 -translate-x-1/2","bottom-right":"bottom-4 right-4","bottom-center":"bottom-4 left-1/2 -translate-x-1/2"}[t]} z-[100] flex flex-col gap-2 max-w-md w-full pointer-events-none`,"aria-live":"polite","aria-atomic":"true",children:e.map(e=>(0,r.jsx)(g,{toast:e,onDismiss:n},e.id))})}let h={success:{container:"bg-green-50 border-green-200 text-green-900",icon:"text-green-500",IconComponent:l.A},error:{container:"bg-red-50 border-red-200 text-red-900",icon:"text-red-500",IconComponent:o.A},warning:{container:"bg-amber-50 border-amber-200 text-amber-900",icon:"text-amber-500",IconComponent:a.A},info:{container:"bg-blue-50 border-blue-200 text-blue-900",icon:"text-blue-500",IconComponent:s.A}};function g({toast:e,onDismiss:t}){let n=h[e.type],l=n.IconComponent,o=u.w[function(){let[e,t]=(0,i.useState)(()=>"u"<typeof document?"en":(0,d.Z0)(document.documentElement.lang));return(0,i.useEffect)(()=>{let e=document.documentElement,n=()=>t((0,d.Z0)(e.lang));n();let r=new MutationObserver(n);return r.observe(e,{attributes:!0,attributeFilter:["lang"]}),()=>r.disconnect()},[]),e}()].dismiss;return(0,r.jsx)("div",{className:` 2 pointer-events-auto 3 border rounded-xl p-4 shadow-lg 4 ${n.container} 5 animate-in slide-in-from-right-full duration-300 6 data-[state=closed]:animate-out data-[state=closed]:slide-out-to-right-full 7 `,role:"alert",children:(0,r.jsxs)("div",{className:"flex gap-3 items-start",children:[(0,r.jsx)("div",{className:"flex-shrink-0 mt-0.5",children:(0,r.jsx)(l,{className:`w-5 h-5 ${n.icon}`})}),(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[e.title&&(0,r.jsx)("h4",{className:"text-sm font-semibold mb-1",children:e.title}),(0,r.jsx)("p",{className:"text-sm leading-relaxed",children:e.message})]}),e.dismissible&&(0,r.jsx)("button",{type:"button",onClick:()=>t(e.id),className:"flex-shrink-0 p-1 rounded-lg hover:bg-black/5 transition-colors","aria-label":o,children:(0,r.jsx)(c.A,{className:"w-4 h-4"})})]})})}},66410:(e,t,n)=>{"use strict";n.r(t),n.d(t,{captureUtmParams:()=>l,clearUtmCookie:()=>a,getStoredUtm:()=>o});var r=n(20585);let i=r.AZ.UTM;function l(){if((0,r.Ri)(i))return;let e=new URLSearchParams(window.location.search),t=e.get("utm_source"),n=e.get("utm_medium"),l=e.get("utm_campaign"),o=e.get("utm_content"),a=e.get("gclid"),s=e.get("fbclid"),c=e.get("twclid"),u=e.get("ref"),d=null;t||n||l||o?d={...t&&{utmSource:t},...n&&{utmMedium:n},...l&&{utmCampaign:l},...o&&{utmContent:o}}:a?d={utmSource:"google",utmMedium:"cpc"}:s?d={utmSource:"facebook",utmMedium:"cpc"}:c?d={utmSource:"twitter",utmMedium:"cpc"}:u&&(d={utmSource:"referral",utmMedium:"referral"}),d&&(d.landingPage=window.location.pathname,(0,r.TV)(i,JSON.stringify(d),r.M4.REFERRAL_CODE))}function o(){let e=(0,r.Ri)(i);if(!e)return null;try{return JSON.parse(e)}catch{return null}}function a(){(0,r.Yj)(i)}},66872:()=>{},67523:(e,t,n)=>{"use strict";n.d(t,{AnalyticsScripts:()=>v});var r=n(95155),i=n(12115),l=n(65596),o=n(41463);let a="G-0MRDBY7650\n".trim(),s="AW-17900113038\n".trim(),c="G-PLTDFZHHTH".trim(),u=o.env.NEXT_PUBLIC_FB_PIXEL_ID?.trim(),d=o.env.NEXT_PUBLIC_X_PIXEL_ID?.trim();function m(){return((0,i.useEffect)(()=>{a&&(window.dataLayer=window.dataLayer||[],window.gtag||(window.gtag=function(){window.dataLayer.push(arguments)}),window.gtag("js",new Date),window.gtag("config",a),s&&window.gtag("config",s),c&&window.gtag("config",c))},[]),a)?(0,r.jsx)(l.default,{src:`https://www.googletagmanager.com/gtag/js?id=${a}`,strategy:"afterInteractive"}):null}function f(){return((0,i.useEffect)(()=>{if(!u||window.fbq)return;let e=[],t=Object.assign((...t)=>{e.push(t)},{queue:e,loaded:!0,version:"2.0"});window.fbq=t,window.fbq("init",u),window.fbq("track","PageView")},[]),u)?(0,r.jsx)(l.default,{src:"https://connect.facebook.net/en_US/fbevents.js",strategy:"lazyOnload"}):null}function b(){return((0,i.useEffect)(()=>
7{if(!d||window.twq)return;let e=[];window.twq=Object.assign((...t)=>{e.push(t)},{queue:e}),window.twq("config",d)},[]),d)?(0,r.jsx)(l.default,{src:"https://static.ads-twitter.com/uwt.js",strategy:"lazyOnload"}):null}function v(){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(m,{}),(0,r.jsx)(f,{}),(0,r.jsx)(b,{})]})}},67813:(e,t,n)=>{Promise.resolve().then(n.bind(n,67523)),Promise.resolve().then(n.bind(n,14482)),Promise.resolve().then(n.bind(n,75878)),Promise.resolve().then(n.bind(n,94032)),Promise.resolve().then(n.bind(n,57231)),Promise.resolve().then(n.t.bind(n,66872,23)),Promise.resolve().then(n.bind(n,8475)),Promise.resolve().then(n.bind(n,72186)),Promise.resolve().then(n.bind(n,73867)),Promise.resolve().then(n.bind(n,10816)),Promise.resolve().then(n.t.bind(n,19951,23)),Promise.resolve().then(n.t.bind(n,97819,23))},70330:(e,t,n)=>{"use strict";n.d(t,{d:()=>i});var r=n(9339);let i=(0,r.createServerReference)("00884875967446caa2d6742dca15ffd4bb92d63505",r.callServer,void 0,r.findSourceMapURL,"getUserCreditBalanceDetailedAction")},72186:(e,t,n)=>{"use strict";n.d(t,{ReferralProvider:()=>d,T:()=>m});var r=n(95155),i=n(12115),l=n(73867),o=n(93068),a=n(16594),s=n(70330);let c=(0,o.Ol)("referral"),u=(0,i.createContext)(void 0);function d({children:e}){let{user:t,isAuthenticated:n}=(0,l.A)(),[o,m]=(0,i.useState)({referralCode:null,shareUrl:null,creditBalance:null}),[f,b]=(0,i.useState)(!1),[v,h]=(0,i.useState)(!1),g=(0,i.useRef)(!1),p=(0,i.useRef)(null),x=(0,i.useCallback)(async()=>{if(!g.current){g.current=!0,b(!0);try{let[e,t]=await Promise.all([(0,a.H)(),(0,s.d)()]);m({referralCode:e.success?e.data?.code??null:null,shareUrl:e.success?e.data?.shareUrl??null:null,creditBalance:t.success?t.data??null:null}),h(!0)}finally{g.current=!1,b(!1)}}},[]),w=(0,i.useCallback)(async()=>{if(p.current)try{let e=await (0,s.d)();e.success&&e.data&&m(t=>({...t,creditBalance:e.data}))}catch{}},[]),y=(0,i.useCallback)(async()=>{p.current&&await x()},[x]);return(0,i.useEffect)(()=>{c&&(n&&t?.id?p.current!==t.id&&(p.current=t.id,x()):(p.current=null,m({referralCode:null,shareUrl:null,creditBalance:null}),h(!1)))},[n,t?.id,x]),(0,r.jsx)(u.Provider,{value:{data:o,loading:f,isInitialized:v,refresh:y,refreshBalance:w},children:e})}function m(){let e=(0,i.useContext)(u);if(!e)throw Error("useReferral must be used within ReferralProvider");return e}},75878:(e,t,n)=>{"use strict";n.d(t,{UtmCapture:()=>l});var r=n(12115),i=n(66410);function l(){return(0,r.useEffect)(()=>{(0,i.captureUtmParams)()},[]),null}},94032:(e,t,n)=>{"use strict";n.d(t,{QueryProvider:()=>a});var r=n(95155),i=n(12115),l=n(17130),o=n(35625);function a({children:e}){let[t]=(0,i.useState)(()=>new l.E({defaultOptions:{queries:{staleTime:3e5,gcTime:6e5,retry:2,refetchOnWindowFocus:!1}}}));return(0,r.jsx)(o.Ht,{client:t,children:e})}}},e=>{e.O(0,[7513,2709,1922,1935,9504,4850,5575,8219,3867,8441,3794,7358],()=>e(e.s=67813)),_N_E=e.O()}]);
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.