1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9278],{17483:(e,t,n)=>{"use strict";n.d(t,{Bd:()=>d,O5:()=>m,RT:()=>x,Vx:()=>f,ZV:()=>s,cn:()=>a,eG:()=>o,gf:()=>b,jX:()=>w,l9:()=>c,qL:()=>y,vv:()=>u,wV:()=>p,wk:()=>g,wm:()=>function e(t,n){if(!n?.trim())return t;let r=t.toLowerCase(),i=n.toLowerCase().trim(),a=r.indexOf(i);if(-1===a)return t;let s=t.slice(0,a),o=t.slice(a,a+i.length),u=t.slice(a+i.length);return(0,l.createElement)(l.Fragment,null,s,(0,l.createElement)("mark",{className:"bg-yellow-200 dark:bg-yellow-800 rounded px-0.5"},o),e(u,n))}});var r=n(9917),i=n(2809),l=n(7620);function a(...e){return(0,i.QP)((0,r.$)(e))}function s(e){return null==e?"-":e.toLocaleString("en-US")}function o(e){if(e>=1e6){let t=e/1e6;return`${t%1==0?t.toFixed(0):t.toFixed(1)}M+`}if(e>=1e3){let t=e/1e3;return`${t%1==0?t.toFixed(0):t.toFixed(1)}K+`}return`${e}+`}function u(e){return e>=1e6?`$${(e/1e6).toFixed(1)}M`:e>=1e3?`$${(e/1e3).toFixed(1)}K`:`$${e.toFixed(2)}`}function d(e){return e>=1e6?`$${(e/1e6).toFixed(1)}M+`:e>=1e3?`$${(e/1e3).toFixed(1)}K+`:`$${e.toFixed(0)}+`}function c(e){let t=100*e,n=t>=0?"+":"";return`${n}${t.toFixed(1)}%`}function f(e){return`https://www.amazon.com/dp/${encodeURIComponent(x(e))}`}let h=/^[A-Z0-9]{10}$/;function m(e){return h.test(e.trim().toUpperCase())}function x(e){return e.trim().toUpperCase()}function g(e,t=0){return null==e?"â":e.toLocaleString(void 0,{minimumFractionDigits:t,maximumFractionDigits:t})}function p(e){return null==e?"â":`$${e.toFixed(2)}`}function w(e,t=2){return null==e?"â":`${e.toFixed(t)}%`}function b(e){return null!=e&&!isNaN(e)}let k=/^[A-Z]{2}$/;function y(e){if(!e?.length)return null;let t={},n=0;for(let r of e){let e=r.split("|");for(let r=e.length-1;r>=Math.max(0,e.length-3);r--){let i=e[r]?.trim().toUpperCase();if(i&&k.test(i)){t[i]=(t[i]||0)+1,n++;break}}}if(0===n)return null;let[r,i]=Object.entries(t).sort((e,t)=>t[1]-e[1])[0];return{country:r,count:i,total:n,rate:i/n}}},54183:(e,t,n)=>{"use strict";let r,i,l,a,s;async function o(){return r||(r=await Promise.all([n.e(7809),n.e(1238)]).then(n.bind(n,71238))),i||(i=await Promise.all([n.e(2234),n.e(7809),n.e(2043)]).then(n.bind(n,48054))),{firebaseApp:r,firebaseAuth:i}}n.d(t,{$P:()=>y,Bh:()=>b,CI:()=>g,G6:()=>h,Gg:()=>k,J1:()=>v,Ru:()=>m,bk:()=>x,p9:()=>w});let u={apiKey:"AIzaSyBVVr4dnGk52-_SvMn2D099l9p2VHkx718",authDomain:"srp-hermes-production.firebaseapp.com",projectId:"srp-hermes-production",storageBucket:"srp-hermes-production.firebasestorage.app",messagingSenderId:"504429854641",appId:"1:504429854641:web:ca22c8027bb26435140790"};async function d(){let{firebaseApp:e}=await o();if(!l){let t=e.getApps();l=t.length>0?t[0]:e.initializeApp(u)}return l}async function c(){let{firebaseAuth:e}=await o();if(!a){let t=await d();a=e.getAuth(t)}return a}
1async function f(){let{firebaseAuth:e}=await o();return s||(s=new e.GoogleAuthProvider),s}async function h(){let{firebaseAuth:e}=await o(),t=await c(),n=await f();return/iPhone|iPad|iPod|Android/i.test(navigator.userAgent)?(await e.signInWithRedirect(t,n),null):(await e.signInWithPopup(t,n)).user}async function m(e,t){let{firebaseAuth:n}=await o(),r=await c();return(await n.signInWithEmailAndPassword(r,e,t)).user}async function x(e,t){let{firebaseAuth:n}=await o(),r=await c();return(await n.createUserWithEmailAndPassword(r,e,t)).user}async function g(){let{firebaseAuth:e}=await o(),t=await c();await e.signOut(t)}async function p(){return(await c()).currentUser}async function w(e=!1){let t=await p();return t?t.getIdToken(e):null}function b(e){let t;return c().then(r=>{Promise.all([n.e(2234),n.e(7809),n.e(2043)]).then(n.bind(n,48054)).then(({onAuthStateChanged:n})=>{t=n(r,e)})}),()=>{t&&t()}}function k(){return!0}async function y(){let{firebaseAuth:e}=await o(),t=await c(),n=await e.getRedirectResult(t);return n?.user||null}async function v(e){let{firebaseAuth:t}=await o(),n=await c();await t.sendPasswordResetEmail(n,e)}},69317:(e,t,n)=>{Promise.resolve().then(n.bind(n,29035)),Promise.resolve().then(n.t.bind(n,35604,23)),Promise.resolve().then(n.bind(n,91443))},83811:(e,t,n)=>{"use strict";n.d(t,{BQ:()=>c,Di:()=>u,Kc:()=>o,mB:()=>s,nT:()=>d,nc:()=>a});var r=n(94245),i=n(59055);let l={user:null,loading:!0,error:null,idToken:null,internalToken:null,internalTokenExpiresAt:null,firebaseUser:null},a=(0,r.v)()((0,i.Zr)((e,t)=>({...l,setFirebaseUser:n=>{n?e({firebaseUser:n,error:null}):null!==t().idToken?e({firebaseUser:null,user:null,idToken:null,internalToken:null,internalTokenExpiresAt:null,loading:!1,error:null}):e({firebaseUser:null,loading:!1,error:null})},setUserInfo:t=>{t?e({user:{uid:String(t.uid),email:t.email,displayName:t.name,photoURL:t.avatar},loading:!1}):e({user:null})},setLoading:t=>e({loading:t}),setError:t=>e({error:t,loading:!1}),setIdToken:t=>e({idToken:t}),setInternalToken:(n,r)=>{let i=n&&r&&r>0?Date.now()+1e3*r:n?t().internalTokenExpiresAt:null;e({internalToken:n,internalTokenExpiresAt:i})},reset:()=>e(l)}),{name:"hermes-auth",storage:(0,i.KU)(()=>localStorage),partialize:e=>({user:e.user,internalToken:e.internalToken,internalTokenExpiresAt:e.internalTokenExpiresAt}),onRehydrateStorage:()=>e=>{if(!e)return;let t=e.internalTokenExpiresAt;null!==t&&t<=Date.now()&&(e.user=null,e.internalToken=null,e.internalTokenExpiresAt=null)}})),s=e=>e.user,o=e=>null!==e.user,u=e=>e.loading,d=e=>e.error,c=e=>e.internalToken}
1,91443:(e,t,n)=>{"use strict";n.d(t,{Navbar:()=>p});var r=n(54568),i=n(7620),l=n(48842),a=n(33971),s=n(36645),o=n(17212),u=n(82175),d=n(17483);function c({variant:e="default",className:t,showText:n=!0}){return"icon"!==e&&n?(0,r.jsx)(u.default,{src:"white"===e?"/logo-white.png":"/logo.png",alt:"ZooData",width:130,height:40,className:(0,d.cn)("h-8 w-auto",t),priority:"default"===e}):(0,r.jsx)("svg",{viewBox:"0 0 80 80",className:(0,d.cn)("h-8 w-8",t),role:"img","aria-label":"ZooData",xmlns:"http://www.w3.org/2000/svg",children:(0,r.jsx)("path",{d:"M 9 40 C 9 18 33 18 40 40 C 47 62 71 62 71 40 C 71 18 47 18 40 40 C 33 62 9 62 9 40 Z",fill:"none",stroke:"white"===e?"#ffffff":"#0B0B17",strokeWidth:13,strokeLinecap:"round",strokeLinejoin:"round"})})}var f=n(97788),h=n(39174),m=n(52991),x=n(5279);let g=[{href:"/features",labelKey:"features"},{href:"/skills",labelKey:"skills"},{href:"/use-cases",labelKey:"useCases"},{href:"/playground",labelKey:"playground"},{href:"/pricing",labelKey:"pricing"},{href:"/blog",labelKey:"blog"},{href:"/docs",labelKey:"docs"}];function p(){let e=(0,a.c)("marketing.nav"),{user:t,isAuthenticated:n,loading:u}=(0,x.Jd)(),[p,w]=(0,i.useState)(!1),[b,k]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{let e=()=>k(window.scrollY>10);return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)},[]),(0,r.jsxs)("nav",{className:(0,d.cn)("fixed top-0 left-0 right-0 z-50 transition-all duration-300",b?"bg-white/70 backdrop-blur-xl backdrop-saturate-150 shadow-sm border-b border-white/40":"bg-white/55 backdrop-blur-xl backdrop-saturate-150 border-b border-white/30"),"data-testid":"navbar",children:[(0,r.jsx)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,r.jsxs)("div",{className:"flex items-center justify-between h-16",children:[(0,r.jsx)(l.N_,{href:"/",className:"flex items-center gap-3","data-testid":"logo",children:(0,r.jsx)(c,{variant:"default"})}),(0,r.jsx)("div",{className:"hidden md:flex items-center gap-8",children:g.map(t=>(0,r.jsx)(l.N_,{href:t.href,className:"text-foreground/75 hover:text-foreground text-sm font-medium transition-colors",children:e(t.labelKey)},t.labelKey))}),(0,r.jsxs)("div",{className:"hidden md:flex items-center gap-3",children:[(0,r.jsx)(h.Q,{}),u?(0,r.jsx)("div",{className:"w-8 h-8 rounded-full bg-muted animate-pulse"}):n&&t?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(f.$,{variant:"ghost",size:"sm",asChild:!0,children:(0,r.jsx)(l.N_,{href:"/overview",children:e("dashboard")})}),(0,r.jsx)(m.B,{user:t})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(f.$,{variant:"ghost",size:"sm",asChild:!0,children:(0,r.jsx)(l.N_,{href:"/login",children:e("signIn")})}),(0,r.jsx)(f.$,{size:"sm",asChild:!0,children:(0,r.jsx)(l.N_,{href:"/register",children:e("getApiKey")})})]})]}),(0,r.jsx)("button",{className:"md:hidden p-2 text-foreground",onClick:()=>w(!p),"aria-label":p?"Close menu":"Open menu","aria-expanded":p,"data-testid":"button-mobile-menu",children:p?(0,r.jsx)(s.A,{className:"w-5 h-5"}):(0,r.jsx)(o.A,{className:"w-5 h-5"})})]})}),p&&(0,r.jsxs)("div",{className:"md:hidden bg-white border-t border-[#e2e8f0] px-4 py-4 space-y-3",children:[g.map(t=>(0,r.jsx)(l.N_,{href:t.href,className:"block text-foreground text-sm font-medium py-2",onClick:()=>w(!1),children:e(t.labelKey)},t.labelKey)),(0,r.jsx)("hr",{className:"border-[#e2e8f0]"}),(0,r.jsx)("div",{className:"py-2",children:(0,r.jsx)(h.Q,{})}),u?(0,r.jsx)("div",{className:"w-full h-10 bg-muted animate-pulse rounded-lg"}):n&&t?(0,r.jsx)(l.N_,{href:"/overview",className:"block w-full bg-primary text-primary-foreground text-sm font-semibold px-5 py-2.5 rounded-lg text-center",onClick:()=>w(!1),children:e("dashboard")}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(l.N_,{href:"/login",className:"block w-full text-left text-foreground text-sm font-medium py-2",onClick:()=>w(!1),children:e("signIn")}),(0,r.jsx)(l.N_,{href:"/register",className:"block w-full bg-primary text-primary-foreground text-sm font-semibold px-5 py-2.5 rounded-lg text-center",onClick:()=>w(!1),children:e("getApiKey")})]})]})]})}}},e=>{e.O(0,[3811,5587,3357,6754,222,3588,7224,5604,4356,833,9838,587,1968,7358],()=>e(e.s=69317)),_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.