1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3884],{4167:(e,r,t)=>{"use strict";t.d(r,{$:()=>l});var n=t(49200);t(21084);var a=t(97145),o=t(83482),i=t(81028);let s=(0,o.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded text-sm font-semibold transition-[color,background-color,border-color,transform] duration-150 ease-out 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 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 hover:bg-primary hover:brightness-95",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",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 dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-11 px-4 py-2 has-[>svg]:px-3",sm:"h-11 rounded gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-11 rounded px-6 has-[>svg]:px-4",icon:"size-11"}},defaultVariants:{variant:"default",size:"default"}});function l(e){let{className:r,variant:t,size:o,asChild:l=!1,...c}=e,d=l?a.DX:"button";return(0,n.jsx)(d,{"data-slot":"button",className:(0,i.cn)(s({variant:t,size:o,className:r})),...c})}},4873:(e,r,t)=>{"use strict";t.d(r,{TopographyBg:()=>o});var n=t(49200),a=t(21084);function o(e){let{lines:r=8,seed:t=0,className:o,draw:i=!1}=e,s=(0,a.useId)(),l=Array.from({length:r},(e,r)=>{let n=100+(r+t)*60%600;return"M -50 ".concat(n," Q 200 ").concat(n-40+((37*r+13*t)%100-50)/4," 500 ").concat(n," T 1100 ").concat(n+20)});return(0,n.jsxs)("svg",{"aria-hidden":!0,className:"pointer-events-none absolute inset-0 hidden md:block ".concat(null!=o?o:""),viewBox:"0 0 1280 800",preserveAspectRatio:"xMidYMid slice",style:{opacity:.06},children:[(0,n.jsx)("title",{children:"topography"}),(0,n.jsx)("defs",{children:(0,n.jsxs)("linearGradient",{id:"grad-".concat(s),x1:"0",x2:"0",y1:"0",y2:"1",children:[(0,n.jsx)("stop",{offset:"0%",stopColor:"currentColor",stopOpacity:"0.6"}),(0,n.jsx)("stop",{offset:"100%",stopColor:"currentColor",stopOpacity:"0"})]})}),l.map(e=>(0,n.jsx)("path",{d:e,fill:"none",stroke:"url(#grad-".concat(s,")"),strokeWidth:"0.6",style:i?{strokeDasharray:2e3,"--codex-draw-len":"2000",animation:"codex-draw 1.4s var(--ease-pageturn, ease) forwards"}:void 0},e))]})}},9284:(e,r,t)=>{"use strict";t.r(r),t.d(r,{default:()=>n});let n={src:"/_next/static/media/naval.87ce5668.jpg",height:1316,width:2636,blurDataURL:"data:image/jpeg;base64,/9j/2wBDAAoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/v/2wBDAQoKCgoKCgsMDAsPEA4QDxYUExMUFiIYGhgaGCIzICUgICUgMy03LCksNy1RQDg4QFFeT0pPXnFlZXGPiI+7u/v/wgARCAAEAAgDASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAb/xAAVAQEBAAAAAAAAAAAAAAAAAAADBP/aAAwDAQACEAMQAAAAgRM3/8QAGhABAAIDAQAAAAAAAAAAAAAAAQIDAAUTIf/aAAgBAQABPwDYTjXYnGpAPGOf/8QAFREBAQAAAAAAAAAAAAAAAAAAAFH/2gAIAQIBAT8Aj//EABURAQEAAAAAAAAAAAAAAAAAAAAB/9oACAEDAQE/AI//2Q==",blurWidth:8,blurHeight:4}},12199:(e,r,t)=>{"use strict";t.d(r,{c3:()=>o});var n=t(28594);function a(e,r){return(...e)=>{try{return r(...e)}catch{throw Error(void 0)}}}let o=a(0,n.c3);a(0,n.kc)},12929:(e,r,t)=>{"use strict";t.d(r,{A:()=>A});var n=t(74026),a=t(21084),o=t.t(a,2),i=t(28594),s=o["use".trim()],l=t(60830),c=t(57599),d=t(37763),u=t(49200),p=t(11273);function A(e){let{Link:r,config:t,getPathname:o,...A}=function(e,r){var t,o,i;let p={...t=r||{},localePrefix:"object"==typeof(i=t.localePrefix)?i:{mode:i||"always"},localeCookie:!!((o=t.localeCookie)??1)&&{name:"NEXT_LOCALE",sameSite:"lax",..."object"==typeof o&&o},localeDetection:t.localeDetection??!0,alternateLinks:t.alternateLinks??!0},A=p.pathnames,m=(0,a.forwardRef)(function({href:r,locale:t,...n},a){let o,i;"object"==typeof r?(o=r.pathname,i=r.params):o=r;let d=(0,l._x)(r),m=e(),h=(0,l.yL)(m)?s(m):m,g=d?f({locale:t||h,href:null==A?o:{pathname:o,params:i}},null!=t||void 0):o;return(0,u.jsx)(c.default,{ref:a,href:"object"==typeof r?{...r,pathname:g}:g,locale:t,localeCookie:p.localeCookie,...n})});function f(e,r){let t,{href:n,locale:a}=e;return null==A?"object"==typeof n?(t=n.pathname,n.query&&(t+=(0,d.Zn)(n.query))):t=n:t=(0,d.FP)({locale:a,...(0,d.TK)(n),pathnames:p.pathnames}),(0,d.x3)(t,a,p,r)}function h(e){return function(r,...t){return e(f(r),...t)}}return{config:p,Link:m,redirect:h(n.redirect),permanentRedirect:h(n.permanentRedirect),getPathname:f}}(i.Ym,e);return{...A,Link:r,usePathname:function(){let e=function(e){let r=(0,n.usePathname)(),t=(0,i.Ym)();return(0,a.useMemo)(()=>
1{if(!r)return r;let n=r,a=(0,l.XP)(t,e.localePrefix);if((0,l.wO)(a,r))n=(0,l.MY)(r,a);else if("as-needed"===e.localePrefix.mode&&e.localePrefix.prefixes){let e=(0,l.bL)(t);(0,l.wO)(e,r)&&(n=(0,l.MY)(r,e))}return n},[e.localePrefix,t,r])}(t),r=(0,i.Ym)();return(0,a.useMemo)(()=>e&&t.pathnames?(0,d.aM)(r,e,t.pathnames):e,[r,e])},useRouter:function(){let e=(0,n.useRouter)(),r=(0,i.Ym)(),s=(0,n.usePathname)();return(0,a.useMemo)(()=>{function n(e){return function(n,a){let{locale:i,...l}=a||{},c=[o({href:n,locale:i||r})];Object.keys(l).length>0&&c.push(l),e(...c),(0,p.A)(t.localeCookie,s,r,i)}}return{...e,push:n(e.push),replace:n(e.replace),prefetch:n(e.prefetch)}},[r,s,e])},getPathname:o}}},14089:(e,r,t)=>{"use strict";t.r(r),t.d(r,{CommandBlock:()=>i});var n=t(49200),a=t(4167),o=t(21084);function i(e){let{command:r,labels:t}=e,[i,s]=(0,o.useState)("");async function l(){try{await navigator.clipboard.writeText(r),s(t.copied)}catch(e){s(t.failed)}}return(0,n.jsxs)("div",{className:"min-w-0 border-t border-border py-4",children:[(0,n.jsx)("pre",{className:"overflow-x-auto whitespace-pre-wrap break-words font-mono text-sm",children:(0,n.jsx)("code",{children:r})}),(0,n.jsx)(a.$,{type:"button",variant:"outline",onClick:l,className:"mt-3",children:t.copy}),(0,n.jsx)("output",{className:"mt-2 block min-h-5 text-sm text-muted-foreground",children:i})]})}},23884:(e,r,t)=>{Promise.resolve().then(t.bind(t,57599)),Promise.resolve().then(t.bind(t,66581)),Promise.resolve().then(t.bind(t,9284)),Promise.resolve().then(t.bind(t,34632)),Promise.resolve().then(t.bind(t,32709)),Promise.resolve().then(t.bind(t,14089)),Promise.resolve().then(t.bind(t,36907)),Promise.resolve().then(t.bind(t,4873)),Promise.resolve().then(t.bind(t,90018))},32709:(e,r,t)=>{"use strict";t.d(r,{AsciiDrift:()=>c});var n=t(49200),a=t(29772),o=t.n(a),i=t(81028),s=t(37442),l=t(21084);function c(e){let{count:r=4,chars:t=["\xb7","â","â´","â"],className:a}=e,c=(0,s.I)(),[d,u]=(0,l.useState)([]),p=t.join("");return(0,l.useEffect)(()=>{u(Array.from({length:r},()=>{var e;return{left:Math.floor(90*Math.random())+5,delay:Math.floor(8e3*Math.random()),ch:null!==(e=t[Math.floor(Math.random()*t.length)])&&void 0!==e?e:"\xb7"}}))},[r,p]),(0,n.jsxs)("div",{"aria-hidden":!0,className:(0,i.cn)("pointer-events-none absolute inset-0 overflow-hidden",a),children:[d.map((e,r)=>(0,n.jsx)("span",{className:(0,i.cn)(o().className,"absolute text-[14px] text-[var(--codex-text-subtle)]"),style:{left:"".concat(e.left,"%"),top:c?"".concat(20+20*r,"%"):"-10%",animation:c?void 0:"codex-drift 8s linear ".concat(e.delay,"ms infinite")},children:e.ch},"".concat(e.left,"-").concat(r))),(0,n.jsx)("style",{children:"@keyframes codex-drift {\n from { transform: translateY(0); opacity: 0; }\n 20% { opacity: 1; }\n 80% { opacity: 1; }\n to { transform: translateY(120vh); opacity: 0; }\n }"})]})}},34632:(e,r,t)=>{"use strict";t.d(r,{BlogCategoryListDesktop:()=>l});var n=t(49200),a=t(78986),o=t(81028),i=t(12199),s=t(74026);function l(e){let{categoryList:r}=e,{slug:t}=(0,s.useParams)(),l=(0,i.c3)("BlogPage");return(0,n.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,n.jsx)(a.XO,{href:"/blog","aria-current":t?void 0:"page",className:(0,o.cn)("inline-flex min-h-11 items-center text-sm px-4 py-2 rounded border transition-colors",t?"border-border text-muted-foreground hover:border-foreground
1/40 hover:text-foreground":"border-foreground bg-foreground text-background"),children:l("all")}),r.map(e=>(0,n.jsx)(a.XO,{href:"/blog/category/".concat(e.slug),"aria-current":t===e.slug?"page":void 0,className:(0,o.cn)("inline-flex min-h-11 items-center text-sm px-4 py-2 rounded border transition-colors",t===e.slug?"border-foreground bg-foreground text-background":"border-border text-muted-foreground hover:border-foreground/40 hover:text-foreground"),children:e.name},e.slug))]})}},36907:(e,r,t)=>{"use strict";t.d(r,{CountUp:()=>u});var n=t(49200),a=t(37442),o=t(80964),i=t(50249),s=t(34856),l=t(74073),c=t(32836),d=t(21084);function u(e){let{value:r,group:t=!0,className:u,durationMs:p=1100}=e,A=(0,a.I)(),m=(0,d.useRef)(null),f=(0,o.W)(m,{once:!0,margin:"-10% 0px"}),h=(0,i.d)(A?r:0),g=(0,s.G)(h,e=>t?Math.round(e).toLocaleString("en-US"):String(Math.round(e)));return(0,d.useEffect)(()=>{if(A){h.set(r);return}if(f){let e=(0,l.i)(h,r,{duration:p/1e3,ease:[.2,.7,.2,1]});return()=>e.stop()}},[f,A,r,p,h]),(0,n.jsx)(c.P.span,{ref:m,className:u,children:g})}},77998:(e,r,t)=>{"use strict";t.d(r,{DT:()=>s,Xn:()=>o});var n=t(86923),a=t(91101);let o=n.u.i18n.defaultLocale,i=Object.keys(n.u.i18n.locales),s=(0,a.A)({locales:i,defaultLocale:o,localeDetection:!1,localeCookie:!1,localePrefix:"as-needed"})},78986:(e,r,t)=>{"use strict";t.d(r,{XO:()=>o,iN:()=>l,tx:()=>c});var n=t(12929),a=t(77998);let{Link:o,getPathname:i,redirect:s,usePathname:l,useRouter:c}=(0,n.A)(a.DT)},81028:(e,r,t)=>{"use strict";t.d(r,{cn:()=>o});var n=t(13256),a=t(80036);function o(){for(var e=arguments.length,r=Array(e),t=0;t<e;t++)r[t]=arguments[t];return(0,a.QP)((0,n.$)(r))}},86923:(e,r,t)=>{"use strict";t.d(r,{u:()=>i});var n=function(e){return e.MONTH="month",e.YEAR="year",e}({}),a=function(e){return e.SUBSCRIPTION="subscription",e.ONE_TIME="one_time",e}({}),o=t(39214);let i={ui:{theme:{defaultTheme:"default",enableSwitch:!0},mode:{defaultMode:"dark",enableSwitch:!0}},metadata:{images:{ogImage:"/og/home.jpg?v=20260605",twitterImage:"/og/home.jpg?v=20260605",docsImage:"/images/docs/banner.png",logoLight:"/logo.png",logoDark:"/logo-dark.png"},social:{github:"https://github.com/geekjourneyx",twitter:"https://x.com/intent/follow?screen_name=seekjourney"}},features:{enableUpgradeCard:!1,enableUpdateAvatar:!0,enableAffonsoAffiliate:!1,enablePromotekitAff
1iliate:!1,enableDatafastRevenueTrack:!1,enableCrispChat:!1,enableTurnstileCaptcha:!1,hideLoginEntry:!0,hidePricingPage:!0},routes:{defaultLoginRedirect:"/"},analytics:{enableVercelAnalytics:!1,enableSpeedInsights:!1},auth:{enableGoogleLogin:!1,enableGithubLogin:!1,enableCredentialLogin:!1},i18n:{defaultLocale:"zh",locales:{zh:{flag:"\uD83C\uDDE8\uD83C\uDDF3",name:"䏿",hreflang:"zh-CN"},en:{flag:"\uD83C\uDDFA\uD83C\uDDF8",name:"English",hreflang:"en"}}},blog:{enable:!0,paginationSize:12,relatedPostsSize:3},docs:{enable:!0},mail:{provider:"resend",fromEmail:"Geekjourney <[email protected]>",supportEmail:"Geekjourney <[email protected]>"},newsletter:{enable:!0,provider:"resend",autoSubscribeAfterSignUp:!0},storage:{enable:!0,provider:"s3"},payment:{provider:"stripe"},price:{plans:{free:{id:"free",prices:[],isFree:!0,isLifetime:!1,credits:{enable:!0,amount:50,expireDays:30}},pro:{id:"pro",prices:[{type:a.SUBSCRIPTION,priceId:o.env.NEXT_PUBLIC_STRIPE_PRICE_PRO_MONTHLY,amount:990,currency:"USD",interval:n.MONTH},{type:a.SUBSCRIPTION,priceId:o.env.NEXT_PUBLIC_STRIPE_PRICE_PRO_YEARLY,amount:9900,currency:"USD",interval:n.YEAR}],isFree:!1,isLifetime:!1,popular:!0,credits:{enable:!0,amount:1e3,expireDays:30}},lifetime:{id:"lifetime",prices:[{type:a.ONE_TIME,priceId:o.env.NEXT_PUBLIC_STRIPE_PRICE_LIFETIME,amount:19900,currency:"USD",allowPromotionCode:!0}],isFree:!1,isLifetime:!0,credits:{enable:!0,amount:1e3,expireDays:30}}}},credits:{enableCredits:!1,enablePackagesForFreePlan:!1,registerGiftCredits:{enable:!0,amount:50,expireDays:30},packages:{basic:{id:"basic",popular:!1,amount:100,expireDays:30,price:{priceId:o.env.NEXT_PUBLIC_STRIPE_PRICE_CREDITS_BASIC,amount:990,currency:"USD",allowPromotionCode:!0}},standard:{id:"standard",popular:!0,amount:200,expireDays:30,price:{priceId:o.env.NEXT_PUBLIC_STRIPE_PRICE_CREDITS_STANDARD,amount:1490,currency:"USD",allowPromotionCode:!0}},premium:{id:"premium",popular:!1,amount:500,expireDays:30,price:{priceId:o.env.NEXT_PUBLIC_STRIPE_PRICE_CREDITS_PREMIUM,amount:3990,currency:"USD",allowPromotionCode:!0}},enterprise:{id:"enterprise",popular:!1,amount:1e3,expireDays:30,price:{priceId:o.env.NEXT_PUBLIC_STRIPE_PRICE_CREDITS_ENTERPRISE,amount:6990,currency:"USD",allowPromotionCode:!0}}}}}},90018:(e,r,t)=>{"use strict";t.d(r,{WhoamiTerminal:()=>l});var n=t(49200),a=t(29772),o=t.n(a),i=t(81028),s=t(37442);function l(e){let{lines:r,cursor:t=!0,className:a}=e,l=(0,s.I)();return(0,n.jsxs)("pre",{className:(0,i.cn)(o().className,"inline-block whitespace-pre rounded-none border border-[var(--codex-border)] bg-[var(--codex-surface-muted)] px-4 py-3 text-[13px] leading-[1.6] text-[var(--codex-text)]",a),children:[r.join("\n"),t?(0,n.jsx)("span",{"aria-hidden":!0,className:"ml-1 inline-block w-[0.55ch] bg-[var(--codex-text)]",style:{height:"1.05em",verticalAlign:"text-bottom",animation:l?void 0:"codex-cursor 1.06s steps(2) infinite"}}):null,(0,n.jsx)("style",{children:"@keyframes codex-cursor {\n 0%, 50% { opacity: 1; }\n 51%, 100% { opacity: 0; }\n }"})]})}},91101:(e,r,t)=>{"use strict";function n(e){return e}t.d(r,{A:()=>n})}}]);
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.