1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8450],{2087:(e,t,r)=>{"use strict";r.d(t,{Bc:()=>s,ZI:()=>c,k$:()=>l,m_:()=>o});var a=r(75315);r(31283);var n=r(3164),i=r(86005);function s({delayDuration:e=0,...t}){return(0,a.jsx)(n.Kq,{"data-slot":"tooltip-provider",delayDuration:e,...t})}function o({...e}){return(0,a.jsx)(s,{children:(0,a.jsx)(n.bL,{"data-slot":"tooltip",...e})})}function l({...e}){return(0,a.jsx)(n.l9,{"data-slot":"tooltip-trigger",...e})}function c({className:e,sideOffset:t=0,children:r,...s}){return(0,a.jsx)(n.ZL,{children:(0,a.jsxs)(n.UC,{"data-slot":"tooltip-content",sideOffset:t,className:(0,i.cn)("bg-primary text-primary-foreground 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 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",e),...s,children:[r,(0,a.jsx)(n.i3,{className:"bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}},4023:(e,t,r)=>{"use strict";r.d(t,{default:()=>o});var a=r(75315),n=r(53514),i=r(18521),s=r(55036);function o(){if(!n.u.features.enableAffonsoAffiliate)return null;let e=s.env.NEXT_PUBLIC_AFFILIATE_AFFONSO_ID;return e?(0,a.jsx)(i.default,{src:"https://affonso.io/js/pixel.min.js",strategy:"lazyOnload","data-affonso":e,"data-cookie_duration":"30"}):null}},6445:(e,t,r)=>{"use strict";r.d(t,{default:()=>s});var a=r(75315),n=r(18521),i=r(31283);function s(){let e="AW-17901130236",t="3PWYCMSCvIscEPyj9tdC",r="mb35CNLxi4scEPyj9tdC",s="Zgm5CNem15YcEPyj9tdC",o="-L3PCLTOo5YcEPyj9tdC";return((0,i.useEffect)(()=>
1{e?(t||console.warn("[Google Ads] â ï¸ NEXT_PUBLIC_GOOGLE_ADS_SIGNUP_LABEL æªé ç½®ï¼æ³¨å转åè·è¸ªå°ä¸å¯ç¨"),r||console.warn("[Google Ads] â ï¸ NEXT_PUBLIC_GOOGLE_ADS_SUBSCRIPTION_LABEL æªé ç½®ï¼è®¢é 转åè·è¸ªå°ä¸å¯ç¨"),s||console.warn("[Google Ads] â ï¸ NEXT_PUBLIC_GOOGLE_ADS_RENEWAL_LABEL æªé ç½®ï¼ç»è´¹æ¬¡çº§è½¬åå°ä¸å¯ç¨"),o||console.warn("[Google Ads] â ï¸ NEXT_PUBLIC_GOOGLE_ADS_BEGIN_CHECKOUT_LABEL æªé ç½®ï¼å¼å§ç»è´¦è½¬åå°ä¸å¯ç¨"),console.log("[Google Ads] â gtag.js å·²å è½½")):console.error("[Google Ads] â NEXT_PUBLIC_GOOGLE_ADS_ID æªé ç½®ï¼Google Ads èæ¬ä¸ä¼å è½½ï¼ææè½¬åè·è¸ªå°å¤±æã")},[e,o,s,t,r]),e)?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.default,{src:`https://www.googletagmanager.com/gtag/js?id=${e}`,strategy:"afterInteractive"}),(0,a.jsx)(n.default,{id:"google-ads-init",strategy:"afterInteractive",children:` 2 window.dataLayer = window.dataLayer || []; 3 function gtag(){dataLayer.push(arguments);} 4 gtag('js', new Date()); 5 gtag('config', '${e}'); 6 `})]}):null}},9071:(e,t,r)=>{"use strict";r.d(t,{XO:()=>i,iN:()=>l,tx:()=>c});var a=r(38153),n=r(38437);let{Link:i,getPathname:s,redirect:o,usePathname:l,useRouter:c}=(0,a.A)(n.DT)},17132:(e,t,r)=>{"use strict";r.d(t,{SelineAnalytics:()=>s});var a=r(75315),n=r(18521),i=r(55036);
6function s(){let e=i.env.NEXT_PUBLIC_SELINE_TOKEN;return e?(0,a.jsx)(n.default,{async:!0,strategy:"lazyOnload",src:"https://cdn.seline.com/seline.js","data-token":e}):null}},19789:(e,t,r)=>{"use strict";async function a(e){try{let t=localStorage.getItem("user_source");if(!t)return void console.log("[SyncSource] No stored source to sync");let r={...JSON.parse(t),...e};if(r.sessionId||(r.sessionId=sessionStorage.getItem("tracking_session_id")||""),!(r.gclid||r.gbraid||r.wbraid||r.utm_source))return void console.log("[SyncSource] No meaningful source to sync");console.log("[SyncSource] Syncing source to database:",{hasGclid:!!r.gclid,hasGbraid:!!r.gbraid,utmSource:r.utm_source,sessionId:r.sessionId||"none"});let a=await fetch("/api/tracking/sync-user-source",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});if(a.ok){let e=await a.json();console.log("[SyncSource] Source synced successfully:",e)}else console.warn("[SyncSource] Failed to sync source:",a.status)}catch(e){console.error("[SyncSource] Error syncing source:",e)}}r.d(t,{Q:()=>a})},21152:(e,t,r)=>{"use strict";r.d(t,{UserIdentifier:()=>s});var a=r(46942),n=r(31283),i=r(38154);function s(){let{data:e}=i.y.useSession(),t=e?.user,r=t&&"object"==typeof t&&"role"in t?t.role:void 0,s=t&&"object"==typeof t&&"countryCode"in t?t.countryCode:void 0;return!function(e,t){let r=(0,n.useRef)(t);r.current=t;let i=(0,n.useMemo)(()=>{if(!e)return null;let r=t?.email??"",a=t?.name??"",n=t?.role??"",i=t?.countryCode??"";return`${e}|${r}|${a}|${n}|${i}`},[e,t?.email,t?.name,t?.role,t?.countryCode]),s=(0,n.useRef)({key:null,umami:!1,clarity:!1,attempts:0,timer:null});(0,n.useEffect)(()=>{if(!e)return void(0,a.CA)();(0,a.dv)(e)},[e]),(0,n.useEffect)(()=>{if(!e||!i)return;s.current.key!==i&&(s.current={key:i,umami:!1,clarity:!1,attempts:0,timer:null});let t=()=>{let a=s.current;if(a.key!==i||a.umami&&a.clarity||a.attempts>=10)return;a.attempts+=1;let n=r.current;if(!a.umami&&window.umami)try{window.umami.identify({userId:e,...n}),a.umami=!0}catch{}if(!a.clarity&&window.clarity)try{window.clarity("identify",e),n?.email&&window.clarity("set","email",n.email),n?.name&&window.clarity("set","name",n.name),n?.role&&window.clarity("set","role",n.role),n?.countryCode&&window.clarity("set","country",n.countryCode),a.clarity=!0}catch{}a.umami&&a.clarity||(a.timer=window.setTimeout(t,500))};return t(),()=>{let e=s.current;e.timer&&(window.clearTimeout(e.timer),e.timer=null)}},[e,i])}(t?.id,{email:t?.email??void 0,name:t?.name??void 0,role:r,countryCode:s}),null}},23261:(e,t,r)=>{"use strict";r.d(t,{default:()=>o});var a=r(75315),n=r(53514),i=r(18521),s=r(55036);
6function o(){if(!n.u.features.enablePromotekitAffiliate)return null;let e=s.env.NEXT_PUBLIC_AFFILIATE_PROMOTEKIT_ID;return e?(0,a.jsx)(i.default,{src:"https://cdn.promotekit.com/promotekit.js","data-promotekit":e,strategy:"lazyOnload"}):null}},32155:(e,t,r)=>{"use strict";r.d(t,{default:()=>i});var a=r(75315),n=r(40585);function i(){let e="G-X8TT8CP2PZ";return e?(0,a.jsx)(n.GoogleAnalytics,{gaId:e}):null}},34434:(e,t,r)=>{"use strict";r.d(t,{NewUserConversionTracker:()=>u});var a=r(9071),n=r(38154),i=r(50641),s=r(43635),o=r(46942),l=r(19789),c=r(19492),d=r(31283);function u(){let e=(0,c.useSearchParams)(),t=(0,a.tx)(),r=(0,d.useRef)(!1),{data:u,isPending:m}=n.y.useSession();return(0,d.useEffect)(()=>{if("1"!==e.get("new_user")||r.current||m)return;let a=u?.user?.name?.trim()||"",n=a.split(/\s+/).filter(Boolean),c=n.slice(0,-1).join(" ")||a,d=n.slice(-1)[0]||a;r.current=!0,console.log("[NewUserConversion] Detected new_user=1, triggering conversion tracking"),(0,i.m2)(u?.user?.id,{email:u?.user?.email,firstName:c,lastName:d}),u?.user?.email&&(0,s.b)({conversionKind:"signup",conversionDateTime:new Date().toISOString(),userEmail:u.user.email,userId:u.user.id}),u?.user?.id&&(0,o.o$)({method:"social",signupKey:u.user.id}),(0,l.Q)();let g=new URL(window.location.href);g.searchParams.delete("new_user"),t.replace(g.pathname+g.search)},[m,t,e,u?.user?.email,u?.user?.id,u?.user?.name]),null}},38041:(e,t,r)=>{"use strict";r.d(t,{UmamiAnalytics:()=>i});var a=r(75315),n=r(18521);function i(){let e="cc9589b1-0bdb-4f9a-83f9-a9754129ca0c";if(!e)return null;let t="https://cloud.umami.is/script.js";return t?(0,a.jsx)(n.default,{async:!0,strategy:"lazyOnload",type:"text/javascript","data-website-id":e,src:t}):null}},38437:(e,t,r)=>{"use strict";r.d(t,{DT:()=>o,Xn:()=>i,YZ:()=>s});var a=r(53514),n=r(57322);let i=a.u.i18n.defaultLocale,s=Object.keys(a.u.i18n.locales),o=(0,n.A)({locales:s,defaultLocale:i,localeDetection:!1,localeCookie:{name:"NEXT_LOCALE",maxAge:31536e3},localePrefix:"as-needed"})},41777:(e,t,r)=>{"use strict";r.d(t,{PlausibleAnalytics:()=>s});var a=r(75315),n=r(18521),i=r(55036);
6function s(){let e=i.env.NEXT_PUBLIC_PLAUSIBLE_DOMAIN;if(!e)return null;let t="https://plausible.io/js/script.js";return t?(0,a.jsx)(n.default,{defer:!0,strategy:"lazyOnload",type:"text/javascript","data-domain":e,src:t}):null}},43180:(e,t,r)=>{"use strict";r.d(t,{CookieConsent:()=>p});var a=r(75315),n=r(54694),i=r(70149),s=r(31283);let o="cookie_consent",l="user_geo_country",c=["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE","IS","LI","NO","GB"];var d=r(47218),u=r(79038),m=r(12998),g=r(85843),f=r.n(g);function p(){let e=(0,m.c3)("CookieConsent"),{shouldShow:t,accept:r,reject:g}=function(){let[e,t]=(0,s.useState)("pending"),[r,a]=(0,s.useState)(!1),[n,d]=(0,s.useState)(null);(0,s.useEffect)(()=>{(async()=>{try{let e=localStorage.getItem(o);if(e){let r=JSON.parse(e);if(r.expiry&&Date.now()<r.expiry){t(r.status),a(!0);return}localStorage.removeItem(o)}let r=localStorage.getItem(l);if(r){let e=c.includes(r);d(e),a(!0);return}let n=await fetch("/api/geo"),s=(0,i.o$)(await n.json()),u=null==s.data?null:(0,i.o$)(s.data);if(!0===s.success&&"string"==typeof u?.countryCode&&u.countryCode){let e=u.countryCode;localStorage.setItem(l,e);let t=c.includes(e);d(t)}else d(!1)}catch(e){console.error("[CookieConsent] Failed to check geo:",e),d(!1)}a(!0)})()},[]);let u=(0,s.useCallback)(e=>{try{let r=Date.now()+31536e6;localStorage.setItem(o,JSON.stringify({status:e,expiry:r})),t(e)}catch(e){console.error("[CookieConsent] Failed to save status:",e)}},[]),m=(0,s.useCallback)(()=>{u("accepted")},[u]);return{status:e,isLoaded:r,isEuropean:n,shouldShow:r&&"pending"===e&&!0===n,accept:m,reject:(0,s.useCallback)(()=>{u("rejected")},[u])}}();return t?(0,a.jsx)("div",{className:"fixed bottom-4 left-4 z-50 max-w-sm animate-in slide-in-from-bottom-4 fade-in duration-300",children:(0,a.jsxs)("div",{className:"relative rounded-lg border bg-background/95 backdrop-blur-sm shadow-lg p-4",children:[(0,a.jsx)("button",{type:"button",onClick:g,className:"absolute top-3 right-3 text-muted-foreground hover:text-foreground transition-colors","aria-label":e("close"),children:(0,a.jsx)(d.A,{className:"h-4 w-4"})}),(0,a.jsxs)("div",{className:"flex items-center gap-2 mb-3 pr-6",children:[(0,a.jsx)(u.A,{className:"h-5 w-5 text-primary"}),(0,a.jsx)("h3",{className:"font-semibold text-foreground",children:e("title")})]}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground mb-4",children:e("description")}),(0,a.jsxs)("div",{className:"flex gap-3 mb-3",children:[(0,a.jsx)(n.$,{onClick:r,className:"flex-1",children:e("accept")}),(0,a.jsx)(n.$,{onClick:g,variant:"secondary",className:"flex-1",children:e("reject")})]}),(0,a.jsxs)("p",{className:"text-xs text-muted-foreground",children:[e("learnMore")," ",(0,a.jsx)(f(),{href:"/privacy",className:"text-primary underline underline-offset-2 hover:text-primary/80",children:e("privacyPolicy")})]})]})}):null}},44875:(e,t,r)=>{"use strict";r.d(t,{default:()=>s});var a=r(75315),n=r(18521),i=r(55036);
6function s(){let e=i.env.NEXT_PUBLIC_DATAFAST_DOMAIN;if(!e)return null;let t=i.env.NEXT_PUBLIC_DATAFAST_WEBSITE_ID;return t?(0,a.jsx)(a.Fragment,{children:(0,a.jsx)(n.default,{defer:!0,strategy:"lazyOnload","data-website-id":t,"data-domain":e,src:"https://datafa.st/js/script.js"})}):null}},47446:(e,t,r)=>{"use strict";r.d(t,{ReturnVisitTracker:()=>u});var a=r(31283),n=r(6330);function i(e){let t=("string"==typeof e?new URL(e):e).searchParams;return{gclid:t.get("gclid")||void 0,gbraid:t.get("gbraid")||void 0,wbraid:t.get("wbraid")||void 0,gad_source:t.get("gad_source")||void 0,gad_campaignid:t.get("gad_campaignid")||void 0}}function s(e){let t="string"==typeof e?new URL(e):e,r=t.searchParams,a=r.get("utm_source")||void 0,n=r.get("utm_medium")||void 0,s=r.get("utm_campaign")||void 0,o=r.get("utm_term")||void 0,l=r.get("utm_content")||void 0,c=i(t);return(c.gclid||c.gbraid||c.wbraid||c.gad_source)&&(a||(a="google_ads"),n||(n="cpc"),!s&&c.gad_campaignid&&(s=c.gad_campaignid)),{utm_source:a,utm_medium:n,utm_campaign:s,utm_term:o,utm_content:l}}var o=r(67260),l=r(83370),c=r(60106),d=r(50641);function u(){let{track:e}=(0,l.F)(),t=(0,o.i)(),r=(0,a.useRef)(!1);return(0,a.useEffect)(()=>{if(r.current)return;let e=function(){let e=window.location.href;new URL(e);let t=s(e),r=i(e),a=document.referrer||void 0;if(!(r.gclid||r.gbraid||r.wbraid||t.utm_source)&&a){let e=function(e){let t={utmParams:{},googleAdsParams:{}};try{let r=decodeURIComponent(e),a=r.match(/[?&]url=([^&]+)/),n=a?decodeURIComponent(a[1]):r,o=new URL(n.startsWith("http")?n:`https://${n}`);t.utmParams=s(o),t.googleAdsParams=i(o)}catch{let r=decodeURIComponent(e);for(let[a,n]of Object.entries({gclid:/[?&]gclid=([^&]+)/i,gbraid:/[?&]gbraid=([^&]+)/i,wbraid:/[?&]wbraid=([^&]+)/i,gad_source:/[?&]gad_source=([^&]+)/i,gad_campaignid:/[?&]gad_campaignid=([^&]+)/i,utm_source:/[?&]utm_source=([^&]+)/i,utm_medium:/[?&]utm_medium=([^&]+)/i,utm_campaign:/[?&]utm_campaign=([^&]+)/i,utm_term:/[?&]utm_term=([^&]+)/i,utm_content:/[?&]utm_content=([^&]+)/i})){let i=e.match(n)||r.match(n);if(i){let e=decodeURIComponent(i[1]);["gclid","gbraid","wbraid","gad_source","gad_campaignid"].includes(a)?t.googleAdsParams[a]=e:t.utmParams[a]=e}}}return t}(a);t={...e.utmParams,...t},r={...e.googleAdsParams,...r},(e.googleAdsParams.gclid||e.utmParams.utm_source)&&console.debug("[UTM Parser] Extracted params from referrer:",e)}let n=sessionStorage.getItem("tracking_session_id");n||(n=`sess_${Date.now()}_${Math.random().toString(36).substring(2,15)}`,sessionStorage.setItem("tracking_session_id",n));let o=navigator.userAgent,l=function(){let e=navigator.userAgent.toLowerCase(),t=window.innerWidth,r=/android|webos|iphone|ipod|blackberry|iemobile|opera mini/i.test(e),a=/ipad|tablet|playbook|silk/i.test(e)||t>=768&&t<=1024;return r&&!a?"mobile":a?"tablet":"desktop"}(),c=function(e){let t=e.toLowerCase();return t.includes("edg/")?"edge":t.includes("chrome")&&!t.includes("edg")?"chrome":t.includes("safari")&&!t.includes("chrome")?"safari":t.includes("firefox")?"firefox":t.includes("opera")||t.includes("opr")?"opera":t.includes("msie")||t.includes("trident")?"ie":"other"}(o),d=function(e){let t=e.toLowerCase();return t.includes("windows")?"windows":t.includes("mac os")||t.includes("macintosh")?"macos":t.includes("linux")&&!t.includes("android")?"linux":t.includes("android")?"android":t.includes("iphone")||t.includes("ipad")?"ios":t.includes("cros")?"chromeos":"other"}(o);return{...t,...r,referrer:a,landingPage:window.location.pathname+window.location.search,sessionId:n,userAgent:o,deviceType:l,browser:c,os:d}}();if(!e)return;let a=Object.fromEntries(Object.entries(e).filter(([e,t])=>void 0!==t));Object.keys(a).length>0&&sessionStorage.setItem("utm_params",JSON.stringify(a));let o={...e,userId:t?.id,ga_client_id:(0,n.BE)()},l=`source-tracking:${o.sessionId}:${o.userId??"guest"}`,c=Number.parseInt(sessionStorage.getItem(l)||"0",10);if(Date.now()-c<3e5){r.current=!0;return}sessionStorage.setItem(l,Date.now().toString()),r.current=!0;let d=new AbortController,u=setTimeout(()=>d.abort(),1200);fetch("/api/tracking/record-source",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o),keepalive:!0,signal:d.signal}).then(t=>
6{if(t.ok)return void console.log("[SourceTracking] æ¥æºä¿¡æ¯å·²è®°å½:",e);console.warn("[SourceTracking] æ¥æºè®°å½è¿åé 2xxï¼ä¿æå»éé¿å
éè¯é£æ´:",t.status)}).catch(e=>{e instanceof Error&&"AbortError"!==e.name&&console.error("[SourceTracking] è®°å½æ¥æºä¿¡æ¯å¤±è´¥:",e)}).finally(()=>{clearTimeout(u)})},[t?.id]),(0,a.useEffect)(()=>{(0,d.Iu)();let t="lastVisitTimestamp",r="firstVisitTimestamp",a=Date.now(),n=localStorage.getItem(t);if(localStorage.getItem(r)||localStorage.setItem(r,a.toString()),n){let t=Math.floor((a-Number.parseInt(n))/864e5);if(t>=1){let r=c.o.returnVisit(t);e(r.name,r.data)}}localStorage.setItem(t,a.toString())},[e]),null}},52679:(e,t,r)=>{"use strict";r.d(t,{TranslationWarningDialog:()=>E});var a=r(75315),n=r(31283),i=r(27985),s=r(86005),o=r(54694);function l({...e}){return(0,a.jsx)(i.bL,{"data-slot":"alert-dialog",...e})}function c({...e}){return(0,a.jsx)(i.ZL,{"data-slot":"alert-dialog-portal",...e})}function d({className:e,...t}){return(0,a.jsx)(i.hJ,{"data-slot":"alert-dialog-overlay",className:(0,s.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...t})}function u({className:e,...t}){return(0,a.jsxs)(c,{children:[(0,a.jsx)(d,{}),(0,a.jsx)(i.UC,{"data-slot":"alert-dialog-content",className:(0,s.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg box-border",e),...t})]})}function m({className:e,...t}){return(0,a.jsx)("div",{"data-slot":"alert-dialog-header",className:(0,s.cn)("flex flex-col gap-2 text-center sm:text-left",e),...t})}function g({className:e,...t}){return(0,a.jsx)("div",{"data-slot":"alert-dialog-footer",className:(0,s.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...t})}function f({className:e,...t}){return(0,a.jsx)(i.hE,{"data-slot":"alert-dialog-title",className:(0,s.cn)("text-lg font-semibold",e),...t})}function p({className:e,...t}){return(0,a.jsx)(i.VY,{"data-slot":"alert-dialog-description",className:(0,s.cn)("text-muted-foreground text-sm",e),...t})}function h({className:e,...t}){return(0,a.jsx)(i.rc,{className:(0,s.cn)((0,o.r)(),e),...t})}function w({className:e,...t}){return(0,a.jsx)(i.ZD,{className:(0,s.cn)((0,o.r)({variant:"outline"}),e),...t})}var v=r(85167),y=r(21280),b=r(30052),x=r(55398),_=r(12998),j=r(19492);let k="translation-warning-dismissed",S=Object.keys(v.K.i18n.locales),I=v.K.i18n.locales;function E(){let e=(0,_.c3)("TranslationWarning"),t=(0,j.useRouter)(),r=(0,j.usePathname)(),[i,s]=(0,n.useState)(!1),[o,c]=(0,n.useState)(null);(0,n.useEffect)(()=>{if("true"===sessionStorage.getItem(k))return;let e=()=>{(function(){let e=document.documentElement;if(e.classList.contains("translated-ltr")||e.classList.contains("translated-rtl")||e.hasAttribute("apple-translate"))return!0;let t=e.getAttribute("lang")||"";if(t.includes("-x-mtfrom-")||t.includes("-translated")||document.querySelectorAll('iframe.goog-te-menu-frame, iframe.goog-te-banner-frame, iframe[id^="goog-gt-"],iframe[src*="translator.microsoft"], iframe[src*="bing.com/translator"],iframe[src*="translate.yandex"],iframe[src*="fanyi.baidu"],iframe[id*="translate"], iframe[class*="translate"]').length>0||document.querySelectorAll('script[src*="translate.google"], script[src*="translate_a/element"],script[src*="translator.microsoft"], script[src*="aka.ms/translator"],script[src*="translate.yandex"],script[src*="fanyi.baidu"],script[src*="fanyi.youdao"]').length>0||document.querySelectorAll('.goog-te-banner-frame, .goog-te-menu-value, #goog-gt-tt, .goog-te-gadget,#MicrosoftTranslatorWidget, .translator-widget,[class*="translator-"], [id*="translator-"],[data-translate], [translate="yes"]').length>0)return!0;let r=document.body;if(r){let e=r.className||"";if(e.includes("translated")||e.includes("translate")||r.hasAttribute("data-translated"))return!0}return!1})()&&(c(function(){for(let e of navigator.languages||[navigator.language]){let t=S.find(t=>t.toLowerCase()===e.toLowerCase());if(t)return t;let r=e.split("-")[0].toLowerCase(),a=S.find(e=>e.toLowerCase()===r);if(a)return a;
6if("zh-tw"===e.toLowerCase()){let e=S.find(e=>"zh-tw"===e.toLowerCase());if(e)return e}}return"en"}()),s(!0))},t=setTimeout(e,1e3),r=new MutationObserver(t=>{for(let r of t){if("attributes"===r.type){let t=r.attributeName||"";if("class"===t||"lang"===t||t.includes("translate")||t.includes("data-"))return void e()}if("childList"===r.type&&r.addedNodes.length>0){for(let t of r.addedNodes)if(t.nodeType===Node.ELEMENT_NODE){let r=t.tagName?.toLowerCase()||"";if("iframe"===r||"script"===r||t.id?.toLowerCase().includes("translate")||t.className?.toString().toLowerCase().includes("translate")||t.id?.toLowerCase().includes("goog-gt")||t.className?.toString().toLowerCase().includes("goog-te"))return void e()}}}});return r.observe(document.documentElement,{attributes:!0,attributeFilter:["class","lang","translate","data-translated"]}),r.observe(document.body,{attributes:!0,childList:!0,subtree:!1}),()=>{clearTimeout(t),r.disconnect()}},[]);let d=o?I[o]:null;return(0,a.jsx)(l,{open:i,onOpenChange:s,children:(0,a.jsxs)(u,{className:"max-w-md",children:[(0,a.jsx)(m,{children:(0,a.jsxs)("div",{className:"flex items-start gap-3",children:[(0,a.jsx)("div",{className:"flex-shrink-0 p-2 bg-amber-100 dark:bg-amber-900/30 rounded-full",children:(0,a.jsx)(y.A,{className:"h-6 w-6 text-amber-600 dark:text-amber-500"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)(f,{className:"text-lg",children:e("title")}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground mt-1",children:e("subtitle")})]})]})}),(0,a.jsxs)(p,{className:"space-y-4",children:[(0,a.jsxs)("div",{className:"flex items-start gap-2 text-sm",children:[(0,a.jsx)(b.A,{className:"h-4 w-4 mt-0.5 flex-shrink-0 text-muted-foreground"}),(0,a.jsx)("p",{children:e("description")})]}),d&&(0,a.jsxs)("div",{className:"bg-primary/10 border border-primary/20 rounded-lg p-3 space-y-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 text-sm font-medium text-primary",children:[(0,a.jsx)(x.A,{className:"h-4 w-4"}),(0,a.jsx)("span",{children:e("languageAvailable")})]}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:e("switchLanguageHint",{language:d.nativeName})})]}),(0,a.jsx)("p",{className:"text-sm font-medium",children:e("recommendation")}),(0,a.jsxs)("div",{className:"bg-muted/50 rounded-lg p-3 space-y-2 text-sm",children:[(0,a.jsx)("p",{className:"font-medium",children:e("howToDisable")}),(0,a.jsxs)("ul",{className:"space-y-1.5 text-muted-foreground",children:[(0,a.jsxs)("li",{children:[(0,a.jsx)("strong",{children:"Chrome:"})," ",e("chrome")]}),(0,a.jsxs)("li",{children:[(0,a.jsx)("strong",{children:"Edge:"})," ",e("edge")]}),(0,a.jsxs)("li",{children:[(0,a.jsx)("strong",{children:"Safari:"})," ",e("safari")]})]})]})]}),(0,a.jsxs)(g,{className:"flex-col sm:flex-row gap-2",children:[d&&(0,a.jsxs)(h,{onClick:()=>{let e;if(!o)return;sessionStorage.setItem(k,"true");let a=r.split("/").filter(Boolean);(S.includes(a[0])?a[0]:null)?(a[0]=o,e=`/${a.join("/")}`):e=o===v.K.i18n.defaultLocale?r:`/${o}${r}`,o===v.K.i18n.defaultLocale&&e.startsWith(`/${v.K.i18n.defaultLocale}`)&&(e=e.replace(`/${v.K.i18n.defaultLocale}`,"")||"/"),s(!1),t.push(e),setTimeout(()=>{window.location.reload()},100)},className:"bg-primary hover:bg-primary/90",children:[(0,a.jsx)(x.A,{className:"h-4 w-4 mr-2"}),e("switchLanguageButton",{flag:d.flag,language:d.nativeName})]}),(0,a.jsx)(w,{onClick:()=>{sessionStorage.setItem(k,"true"),s(!1)},children:e("continueButton")})]}),(0,a.jsx)("p",{className:"text-xs text-center text-muted-foreground",children:e("sessionNote")})]})})}},54327:(e,t,r)=>{"use strict";r.d(t,{DeferredAnalytics:()=>i});var a=r(75315),n=r(31283);function i({children:e,delayMs:t=4e3}){let[r,i]=(0,n.useState)(!1);return((0,n.useEffect)(()=>{if(r)return;let e=()=>i(!0),a=window.setTimeout(e,t),n={once:!0,passive:!0};return window.addEventListener("pointerdown",e,n),window.addEventListener("scroll",e,n),window.addEventListener("keydown",e,n),()=>{window.clearTimeout(a),window.removeEventListener("pointerdown",e),window.removeEventListener("scroll",e),window.removeEventListener("keydown",e)}},[t,r]),r)?(0,a.jsx)(a.Fragment,{children:e}):null}},54694:(e,t,r)=>{"use strict";r.d(t,{$:()=>l,r:()=>o});var a=r(75315);r(31283);var n=r(45601),i=r(22583),s=r(86005);let o=(0,i.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",destructive:"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9"}},defaultVariants:{variant:"default",size:"default"}});function l({className:e,variant:t,size:r,asChild:i=!1,...l}){let c=i?n.DX:"button";return(0,a.jsx)(c,{"data-slot":"button",className:(0,s.cn)(o({variant:t,size:r,className:e})),...l})}},58874:(e,t,r)=>{"use strict";r.d(t,{l:()=>l,p:()=>c});var a=r(75315),n=r(53514),i=r(31283);let s=n.u.ui.theme?.defaultTheme??"default",o=(0,i.createContext)(void 0);function l({children:e,initialTheme:t}){let[r,n]=(0,i.useState)(()=>t||s);return(0,i.useEffect)(()=>{document.cookie=`active_theme=${r}; path=/; max-age=31536000; SameSite=Lax; ${"https:"===window.location.protocol?"Secure;":""}`,Array.from(document.body.classList).filter(e=>
6e.startsWith("theme-")).forEach(e=>{document.body.classList.remove(e)}),document.body.classList.add(`theme-${r}`)},[r]),(0,a.jsx)(o.Provider,{value:{activeTheme:r,setActiveTheme:n},children:e})}function c(){let e=(0,i.useContext)(o);if(void 0===e)throw Error("useThemeConfig must be used within an ActiveThemeProvider");return e}},60106:(e,t,r)=>{"use strict";r.d(t,{o:()=>a});let a={userSignup:e=>({name:"user_signup",data:{method:e}}),userLogin:e=>({name:"user_login",data:{method:e}}),userLogout:()=>({name:"user_logout"}),viewPricing:e=>({name:"view_pricing",data:e?{source:e}:void 0}),clickSubscribe:(e,t)=>({name:"click_subscribe",data:{plan:e,interval:t}}),clickBuyCredits:(e,t)=>({name:"click_buy_credits",data:{package:e,amount:t}}),paymentSessionCreated:(e,t)=>({name:"payment_session_created",data:{type:e,sessionId:t}}),paymentCompleted:e=>({name:"payment_completed",data:e}),paymentFailed:e=>({name:"payment_failed",data:{reason:e}}),openImageGenerator:()=>({name:"open_image_generator"}),submitImageGeneration:e=>({name:"submit_image_generation",data:e}),imageGenerationSuccess:(e,t)=>({name:"image_generation_success",data:{requestId:e,duration:t}}),imageGenerationFailed:(e,t)=>({name:"image_generation_failed",data:{requestId:e,error:t}}),downloadImage:e=>({name:"download_image",data:{requestId:e}}),viewCreditsBalance:e=>({name:"view_credits_balance",data:{balance:e}}),insufficientCredits:(e,t)=>({name:"insufficient_credits",data:{required:e,balance:t,deficit:e-t}}),creditsPurchased:(e,t)=>({name:"credits_purchased",data:{amount:e,package:t}}),viewDashboard:()=>({name:"view_dashboard"}),viewImageDetail:e=>({name:"view_image_detail",data:{taskId:e}}),viewMyImages:()=>({name:"view_my_images"}),viewSettings:e=>({name:"view_settings",data:{section:e}}),returnVisit:e=>({name:"return_visit",data:{daysSinceLastVisit:e}})}},62395:(e,t,r)=>{"use strict";r.d(t,{AhrefsAnalytics:()=>s});var a=r(75315),n=r(18521),i=r(55036);
6function s(){let e=i.env.NEXT_PUBLIC_AHREFS_WEBSITE_ID;return e?(0,a.jsx)(n.default,{async:!0,strategy:"lazyOnload",type:"text/javascript","data-key":e,src:"https://analytics.ahrefs.com/analytics.js"}):null}},67260:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var a=r(38154),n=r(31283);let i=0,s="",o=()=>{let{data:e,error:t,isPending:r}=a.y.useSession(),[o,l]=(0,n.useState)(!1),c=(0,n.useRef)(!1);if((0,n.useEffect)(()=>{l(!0)},[]),t){let e=Date.now(),r=t instanceof Error?t.message:String(t);return!c.current&&(r!==s||e-i>5e3)&&(c.current=!0,i=e,s=r,console.error("[Auth] Session error:",r)),null}return!o||r?null:e?.user??null}},70149:(e,t,r)=>{"use strict";r.d(t,{JC:()=>u,Pi:()=>m,kI:()=>w,o$:()=>n,pH:()=>p,tw:()=>i,u2:()=>d,v0:()=>h,xc:()=>g});var a=r(1458);function n(e){if(!e||"object"!=typeof e||Array.isArray(e))throw Error("Invalid API response: expected an object");return e}function i(e,t){if(!e||"object"!=typeof e||Array.isArray(e))return t;for(let t of["error","message","msg"])if("string"==typeof e[t]&&e[t].trim())return e[t];return t}let s=a.Yj().nullish().transform(e=>e??null),o=a.ai().nullish().transform(e=>e??null),l={prompt:s,model:s,status:a.Yj().nullish().transform(e=>e??"pending"),errorMessage:s,createdAt:s,completedAt:s},c={...l,provider:s,resultUrls:a.YO(a.Yj()).nullish().transform(e=>e??null),creditsConsumed:o},d=a.Ik({taskId:a.Yj().min(1),...c}),u=a.Ik({images:a.YO(a.Ik({id:a.Yj().min(1),...c})),total:a.ai().int().nonnegative().optional()}),m=a.Ik({videos:a.YO(a.Ik({taskId:a.Yj().min(1),...l,generationType:s,aspectRatio:s,videoUrl:s,resolution:s,hasAudio:a.zM().nullish().transform(e=>e??null)}))}),g=a.Ik({total:a.ai().int().nonnegative(),completed:a.ai().int().nonnegative(),failed:a.ai().int().nonnegative(),thisMonth:a.ai().int().nonnegative(),successRate:a.ai().min(0).max(100)}),f=a.Ik({id:a.Yj().min(1),name:a.Yj(),token:a.Yj().min(1),description:s,imageUrl:a.Yj().min(1),imageSourceType:a.k5(["upload","generate"]),generationPrompt:s,isPublic:a.zM().optional(),createdAt:a.Yj()}),p=a.Ik({characters:a.YO(f)}),h=a.Ik({character:f}),w=a.Ik({success:a.eu(!0),data:a.Ik({url:a.Yj().url().refine(e=>{let t=new URL(e);return["http:","https:"].includes(t.protocol)&&!t.username&&!t.password},"Invalid uploaded image URL"),key:a.Yj()})})},70393:(e,t,r)=>{Promise.resolve().then(r.bind(r,23530)),Promise.resolve().then(r.bind(r,12124)),Promise.resolve().then(r.bind(r,47666)),Promise.resolve().then(r.t.bind(r,20770,23)),Promise.resolve().then(r.t.bind(r,30362,23)),Promise.resolve().then(r.t.bind(r,77345,23)),Promise.resolve().then(r.t.bind(r,83716,23)),Promise.resolve().then(r.t.bind(r,37685,23)),Promise.resolve().then(r.bind(r,61486)),Promise.resolve().then(r.bind(r,54386)),Promise.resolve().then(r.bind(r,62395)),Promise.resolve().then(r.bind(r,72092)),Promise.resolve().then(r.bind(r,44875)),Promise.resolve().then(r.bind(r,54327)),Promise.resolve().then(r.bind(r,6445)),Promise.resolve().then(r.bind(r,32155)),Promise.resolve().then(r.bind(r,41777)),Promise.resolve().then(r.bind(r,17132)),Promise.resolve().then(r.bind(r,38041)),Promise.resolve().then(r.bind(r,73242)),Promise.resolve().then(r.bind(r,4023)),Promise.resolve().then(r.bind(r,23261)),Promise.resolve().then(r.bind(r,34434)),Promise.resolve().then(r.bind(r,47446)),Promise.resolve().then(r.bind(r,21152)),Promise.resolve().then(r.bind(r,43180)),Promise.resolve().then(r.bind(r,71468)),Promise.resolve().then(r.bind(r,52679)),Promise.resolve().then(r.t.bind(r,92968,23))},71468:(e,t,r)=>{"use strict";r.d(t,{LocalePromptToast:()=>c});var a=r(53514),n=r(9071),i=r(92757),s=r(31283),o=r(54386);let l="locale_prompt_dismissed";function c(){let e=(0,i.Ym)(),t=(0,n.tx)(),[r,c]=(0,s.useState)(!1);return(0,s.useEffect)(()=>{if(r)return;if(localStorage.getItem(l))return void c(!0);let n=navigator.language||navigator.userLanguage;if(!n)return void c(!0);let i=function(e){let t=Object.keys(a.u.i18n.locales),r=e.toLowerCase(),n=r.split("-")[0];return t.includes(r)?r:t.includes(n)?n:null}(n);if(!i||i===e)return void c(!0);let s=a.u.i18n.locales[i],d=s?.nativeName||s?.name||i;(0,o.o)(`This page is available in ${d}`,{icon:"\uD83C\uDF10",duration:1e4,action:{label:`Switch to ${d}`,onClick:()=>{t.push("/",{locale:i})}},cancel:{label:"Stay",onClick:()=>{localStorage.setItem(l,"true")}},onDismiss:()=>{localStorage.setItem(l,"true")}}),c(!0)},[e,t,r]),null}},72092:(e,t,r)=>{"use strict";r.d(t,{ClarityAnalytics:()=>n});var a=r(31283);function n(){let e="w9dnea9xok";return e&&(0,a.useEffect)(()=>
6{if(document.getElementById("clarity-analytics"))return;let t=()=>{if(document.getElementById("clarity-analytics"))return;let t=document.createElement("script");t.id="clarity-analytics",t.type="text/javascript",t.defer=!0,t.text=`(function(c,l,a,r,i,t,y){c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);})(window, document, "clarity", "script", "${e}");`,document.head.appendChild(t)},r=()=>window.setTimeout(t,3e3),a=window.requestIdleCallback;if(a){let e=a(r);return()=>{window.cancelIdleCallback?.(e)}}let n=window.setTimeout(r,1500);return()=>window.clearTimeout(n)},[e]),null}},73242:(e,t,r)=>{"use strict";r.d(t,{Providers:()=>y});var a=r(75315),n=r(70149),i=r(53514),s=r(38154),o=r(19492),l=r(31283);let c="googleOneTapAttemptedAt";function d(e){if(!e)return null;try{let t=new URL(e,window.location.origin),r=`${t.pathname}${t.search}`,a=r.indexOf("#");return(a>=0?r.substring(0,a):r)||"/"}catch{let t=e.indexOf("#");return(t>=0?e.substring(0,t):e)||"/"}}async function u(e=8e3){let t=Date.now();for(;Date.now()-t<e;){try{let e=await fetch(`/api/auth/get-session?_onetap=${Date.now()}`,{method:"GET",cache:"no-store",credentials:"include",headers:{"cache-control":"no-store"}});if(e.ok){let t=(0,n.o$)(await e.json()).user;if(t&&"object"==typeof t&&"id"in t&&"string"==typeof t.id)return!0}}catch{}await new Promise(e=>window.setTimeout(e,300))}return!1}function m(){let e=(0,o.usePathname)(),t=(0,o.useRouter)(),r=(0,l.useRef)(!1),a=(0,l.useRef)(null),n=(0,l.useRef)(null),{data:m,isPending:g,refetch:f}=s.y.useSession(),p=m?.user?.id,h=(0,l.useRef)(void 0),w=(0,l.useRef)(!0);h.current=p,w.current=g;let v=(0,l.useMemo)(()=>i.u.auth.enableGoogleOneTap&&!0,[]),y=(0,l.useCallback)(()=>{if(r.current||!v||w.current||h.current)return;let e=function(){let e=new URL(window.location.href),t=d(e.searchParams.get("callbackUrl")||e.searchParams.get("callbackURL"));return t||d(e.pathname+e.search)||"/"}(),a=s.y.oneTap;a&&(r.current=!0,a({callbackURL:e,onPromptNotification:e=>{let t=e?.getMomentType?.(),r=e?.getDismissedReason?.();console.log("[OneTap] prompt notification:",t,r),"dismissed"===t&&("cancel_called"===r||"credential_returned"===r)&&(console.log("[OneTap] ç¨æ·ä¸»å¨å
³éæç»å½æåï¼è¿å
¥30ç§å·å´"),window.sessionStorage.setItem(c,Date.now().toString()))}},{onSuccess:async()=>{console.log("[OneTap] ç»å½æåï¼çå¾
ä¼è¯å°±ç»ª"),await u(),(0,s.q)(),await f();let e=function(){let e=new URL(window.location.href),t=d(e.searchParams.get("callbackUrl")||e.searchParams.get("callbackURL"));return t||(e.pathname.includes("/auth")?"/":null)}();if(e)return void window.location.assign(e);t.refresh()},onError:e=>{console.error("[OneTap] ç»å½å¤±è´¥:",e.error)}}).catch(e=>{console.error("[OneTap] One Tap è°ç¨å¤±è´¥:",e)}))},[v,f,t]);return(0,l.useEffect)(()=>()=>{a.current&&(window.clearTimeout(a.current),a.current=null),n.current&&(window.clearTimeout(n.current),n.current=null)},[]),(0,l.useEffect)(()=>{r.current=!1,a.current&&(window.clearTimeout(a.current),a.current=null),n.current&&(window.clearTimeout(n.current),n.current=null)},[e]),(0,l.useEffect)(()=>{if(!v||g||p||r.current||!(e&&(e.includes("/auth")||e.match(/^\/([a-z]{2}(?:-[A-Z]{2})?)?$/))))return;let t=window.sessionStorage.getItem(c);if(t&&Date.now()-Number.parseInt(t,10)<3e4)return;a.current=window.setTimeout(()=>{a.current=null,y()},800);let i=()=>{!r.current&&window.scrollY/(document.documentElement.scrollHeight-window.innerHeight)>=.3&&y()};return n.current=window.setTimeout(()=>{n.current=null,y()},5e3),window.addEventListener("scroll",i,{passive:!0}),()=>{window.removeEventListener("scroll",i),a.current&&(window.clearTimeout(a.current),a.current=null),n.current&&(window.clearTimeout(n.current),n.current=null)}},[v,g,p,e,y]),null}var g=r(58874),f=r(91348),p=r(83598);function h({children:e}){let[t]=(0,l.useState)(()=>new f.E({defaultOptions:{queries:{staleTime:3e5,gcTime:6e5,retry:1,refetchOnWindowFocus:!1},mutations:{retry:1}}}));return(0,a.jsx)(p.Ht,{client:t,children:e})}var w=r(2087),v=r(76542);function y({children:e,locale:t}){let r=i.u.ui.mode?.defaultMode??"system";return(0,a.jsxs)(h,{children:[(0,a.jsx)(m,{}),(0,a.jsx)(v.N,{attribute:"class",defaultTheme:r,enableSystem:!0,disableTransitionOnChange:!0,children:(0,a.jsx)(g.l,{children:(0,a.jsx)(w.Bc,{children:e})})})]})}},83370:(e,t,r)=>{"use strict";r.d(t,{F:()=>n});var a=r(31283);function n(){return{track:(0,a.useCallback)((e,t)=>{if(window.umami)try{window.umami.track(e,t)}catch(e){console.error("[Umami Track Error]",e)}},[]),identify:(0,a.useCallback)(e=>{if(window.umami)try{window.umami.identify(e)}catch(e){console.error("[Umami Identify Error]",e)}},[])}}},92968:()=>{}},e=>{e.O(0,[1311,8467,6889,2757,5843,9012,6498,7248,3839,2388,2005,1458,6453,7150,4613,9203,5507,7358],()=>e(e.s=70393)),_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.