PageSourceSearch

https://aiidentifiers.com/assets/index-DEJqbaRV.js

js aiidentifiers.com collected 2026-09-24 14:10:30 UTC 733,675 bytes, 223 lines download raw bytes

1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/vendor-DZoFMmQa.js","assets/react-core-B_NPnx9L.js","assets/AdvancedAIProcessing-BBC1454w.js","assets/ui-lib-Ca8IKDfB.js","assets/react-query-DhhpI0VK.js","assets/sentry-CQCgREoE.js","assets/i18n-Z_19K4At.js","assets/ProductWalkthrough-BFBonLLK.js","assets/PlatformScreenshots-Bg9MaO1c.js","assets/ComparisonTable-ic3CHfmz.js","assets/HomeDiagnosticsShowcase-D6tVDUHq.js","assets/HomeCodeSnippets-TR8j3KWP.js","assets/SocialProofSection-B8qZVBUn.js","assets/ProgrammaticContentFactory-z2rmSKAE.js","assets/admin-5Rdqfqcm.js","assets/input-GS94WY2p.js","assets/switch-CAcpZcSQ.js","assets/admin-board-mmDLoPM3.js","assets/admin-marketplace-launch-CqIMIs88.js","assets/checkbox-qLJY0cBy.js","assets/label-TU_r4gzP.js","assets/media-outreach-Dns9bLm3.js","assets/moderation-YRMcj_uB.js","assets/analytics-JXziOnLu.js","assets/charts-Dr5E8Syr.js","assets/enterprise-DAalptkx.js","assets/BreadcrumbSchema-AV1hFigg.js","assets/get-api-key-DEj4tVNU.js","assets/status-B4-jza5G.js","assets/public-status-7WX8QpTB.js","assets/quarantine-audit-3sPpKYVF.js","assets/detection-alerts-G3L1VHMh.js","assets/form-IhFVTmKG.js","assets/deepfake-detection-api-DN1SzvJQ.js","assets/ai-content-verification-api-D4PdoNZh.js","assets/developer-dashboard-DfTkcnk8.js","assets/BatchDetectionWidget-BSo-B7qJ.js","assets/team-dashboard-XzzApBXV.js","assets/purchaseAgreement-DFAdyyl_.js","assets/accept-invite-DgFuZyUy.js","assets/ai-image-detector-api--857gM99.js","assets/ai-text-detector-api-DRHQlzPC.js","assets/synthetic-media-detection-api-BB9CqG9m.js","assets/index-C2hriulq.js","assets/NewsletterSignup-BUDltXkA.js","assets/blogPresentation-CvfTOjNq.js","assets/article-DkWZ9F6V.js","assets/FAQSchema-DsWtTPnp.js","assets/markdown-DJCJ7RCt.js","assets/search-D_EBnd9j.js","assets/authors-1aW_N5tM.js","assets/skeleton-CMOAB1y4.js","assets/authors-index-CJKu8SBV.js","assets/category-CWN29U02.js","assets/tag-C2WK3cLN.js","assets/StoragePage-8jEDBklu.js","assets/separator-CehMvKNC.js","assets/uppy-BD4BFxWj.js","assets/uppy-CS5M_bM4.css","assets/Pricing-FKcOFjJ5.js","assets/subscriptionCatalog-CBGs1O6-.js","assets/Store-htdAm1Rv.js","assets/investors-BYxG7FDF.js","assets/privacy-8psQsvBD.js","assets/delete-account-Wts8EoEw.js","assets/terms-DvVWrZpA.js","assets/dmca-S564rgxD.js","assets/refund-policy-Bknk55Ko.js","assets/support-CY5eLkvB.js","assets/faq-ClADV0FU.js","assets/SecurityPage-sQq6p83p.js","assets/DeveloperToolsPage-D0f8Ydtk.js","assets/DocsHome-CFziiCnW.js","assets/DocsLayout-DkjIkJFO.js","assets/DocsLayout-DTv292cE.css","assets/DocsPage-BNvXptyG.js","assets/ChangelogPage-DfC_89lX.js","assets/CompetitivePage-CVQsa8xi.js","assets/google-partnership-Ziwi6uWQ.js","assets/synthid-integration-DSd6abha.js","assets/enterprise-ai-detection-BmGxnK8M.js","assets/google-ai-technology-CMt6d8at.js","assets/ai-detection-history-BWgLlpRE.js","assets/google-cloud-ai-integration-MnDMld4E.js","assets/GoogleSynthIDTechnology-BJoVQaCa.js","assets/free-ai-detector-B-zSmWKb.js","assets/ai-detector-CPyUeXKW.js","assets/ai-plagiarism-checker-DDpMsnQu.js","assets/chatgpt-detector-DLR75_ha.js","assets/bard-detector-rWXymHde.js","assets/claude-detector-D9-10VRa.js","assets/audio-deepfake-checker-0wPij1iP.js","assets/pdf-ai-detector-WetsiyXw.js","assets/video-deepfake-detector-IuuQHp-A.js","assets/ai-voice-detector-D1oLx30a.js","assets/contact-DP4xULU1.js","assets/index-BhHlcYEe.js","assets/index-Br24KPPu.js","assets/legal-ai-detection-BjLTTEKO.js","assets/international-DMw_HsyI.js","assets/about-history-h-b1Wgv5.js","assets/students-BtfBmUio.js","assets/Press-TAq9lXMh.js","assets/our-team-DKqwKpxm.js","assets/product-tour-BwZJwF9W.js","assets/trust-BxmrsVfi.js","assets/blog-landing-xozARlOg.js","assets/commercial-EHjUlVh-.js","assets/marketplace-DOkkJ_Ed.js","assets/gcp-signup-DUdsYBvu.js","assets/data-network-effects-DX1j5NzE.js","assets/enterprise-integrations-C5v6V9Kd.js","assets/enterprise-landing-DIcSW-Im.js","assets/eu-ai-act-compliance-bkm3HT-v.js","assets/info-landing-yMzgMQ3a.js","assets/regulatory-expertise-B7u1gke7.js","assets/services-BTyVagIU.js","assets/services-landing-ykjblGyy.js","assets/traffic-growth-strategy-DKfZvbB_.js","assets/tshirt-showcase-DzY4RTxI.js","assets/UniversityAIDetection-B24nDDC3.js","assets/university-partnerships-CVSFuWDA.js","assets/education-resources-BCRes_3h.js","assets/authority-pages-siRIHG4p.js","assets/sitemap-CHyMCC0H.js","assets/community-DNQQKgaG.js","assets/get
1-involved-DE1vsf7V.js","assets/checkout-8V9Jk-QX.js","assets/payment-success-D0G5tRWh.js","assets/agent-dashboard-ECxAtRx9.js","assets/integrity-agent-BEm-Nop-.js","assets/careers-DR1C637U.js","assets/social-media-influencer-DDpvstZW.js","assets/investment-manager-Bpwqk6Uj.js","assets/senior-ml-engineer-cBBHkTBw.js","assets/security-researcher-BlR4w_oT.js","assets/leaderboard-h6fsggJc.js","assets/api-tiers-Cy5ty3LX.js","assets/researchers-B3eQUOlN.js","assets/ai-tool-trends-DksvruRq.js","assets/bug-bounty-CnPhVdLB.js","assets/shirt-templates-akPVw1dz.js","assets/samples-CtFf0ulg.js","assets/shirt-preview-DjYAP24X.js","assets/design-collection-oA7u7aPT.js","assets/trademark-application-BkKX-1fA.js","assets/Login-DxlXQQgs.js","assets/auth-utils-BFcSAkF-.js","assets/Register-BCWXTitq.js","assets/ForgotPassword-mEXXl3Ie.js","assets/ResetPassword-DaQB2bcX.js","assets/analyze-IDtFRG0T.js","assets/identify-B-Jk5TZR.js","assets/ContentExpansionStrategy-WvSOLCca.js","assets/Verify-YBQ-xjXl.js","assets/Playground-YB-Krbey.js","assets/ModelsPage-CKr-1q_G.js","assets/EnterpriseSla-BmpBwOhU.js","assets/LmsIntegration-C2tNDxRZ.js","assets/LtiAdmin-BRxIC_s4.js","assets/LtiLaunchView-Ci7fSMbe.js","assets/a2a-cHtyR43c.js","assets/qr-CFt8ju3Q.js","assets/ncat-AfKfqXF1.js","assets/PortalHome-CsnvK8g7.js","assets/HomecomingPage-DCdhgIFr.js","assets/FriendsFamily-CJhFChbv.js","assets/TailgateSchedule-DqPX51o-.js","assets/AggieStories-Bub_FWfD.js","assets/AggieStoryGuide-Cw91VZ6F.js","assets/HomecomingPerks-Cvug9A7w.js","assets/ExtensionLandingPage-Du0GGL-8.js","assets/EmojiMarket-DyE7mdEL.js","assets/EmojiMarket-ne9t4bM1.css"])))=>i.map(i=>d[i]);
2import{a as s,j as e,f as or,R as cr}from"./react-core-B_NPnx9L.js";import{u as ot,a as gt,b as xt,c as Kt,L as B,Q as lr,R as dr}from"./react-query-DhhpI0VK.js";import{bH as ur,bI as mr,ao as pr,bJ as Dt,bK as je,bL as gr,bM as hr}from"./vendor-DZoFMmQa.js";import{V as pn,R as gn,A as hn,C as fn,X as ge,T as xn,D as yn,P as fr,S as xr,a as He,b as Ya,H as bn,c as qe,d as yr,B as Qa,e as Jt,f as La,W as br,g as Ct,L as vn,h as wn,M as An,i as In,j as jn,k as Nn,l as vr,m as kn,I as Cn,n as Sn,o as Pn,p as ht,q as Dn,r as wr,s as Tn,t as En,u as Ar,v as Ir,G as jr,w as $e,x as _n,y as Rn,F as Ln,z as Ie,E as Nr,J as Oe,K as vt,N as ye,O as Tt,Q as yt,U as rt,Y as ha,Z as Ge,_ as Ni,$ as jt,a0 as Ve,a1 as ki,a2 as kr,a3 as fa,a4 as Ci,a5 as Rt,a6 as xa,a7 as zn,a8 as St,a9 as We,aa as Mn,ab as Za,ac as Si,ad as Pi,ae as Di,af as Nt,ag as za,ah as ya,ai as Cr,aj as Sr,ak as Ne,al as ia,am as Ma,an as Pr,ao as tt,ap as Be,aq as Fa,ar as qa,as as Fn,at as Oa,au as qn,av as Dr,aw as On,ax as $n,ay as Tr,az as Er,aA as Un,aB as _r,aC as Xa,aD as na,aE as Gn,aF as sa,aG as Vn,aH as ra,aI as oa,aJ as Bn,aK as Me,aL as ei,aM as ca,aN as Rr,aO as Lr,aP as Hn,aQ as Wn,aR as Kn,aS as zr,aT as Jn,aU as Pt,aV as Ti,aW as Yn,aX as Yt,aY as Mr,aZ as $a,a_ as Ua,a$ as Qn,b0 as Qt,b1 as Zn,b2 as Fr,b3 as Xn,b4 as es,b5 as qr,b6 as ts,b7 as Or,b8 as as,b9 as is,ba as $r,bb as Ur,bc as ns,bd as Gr,be as Vr,bf as ss,bg as Br,bh as Hr,bi as Wr,bj as Kr,bk as Ga,bl as Jr,bm as Yr,bn as Qr,bo as Zr,bp as Xr,bq as eo,br as to,bs as ao,bt as io,bu as Ei,bv as ti,bw as Va,bx as no,by as so,bz as ro,bA as oo,bB as co,bC as rs,bD as os,bE as lo,bF as uo,bG as _i,bH as mo,bI as po,bJ as go,bK as ho,bL as fo,bM as xo}from"./ui-lib-Ca8IKDfB.js";import{i as yo,b as bo,r as vo,c as wo}from"./sentry-CQCgREoE.js";import{u as he,i as ai,B as Ao,a as Io}from"./i18n-Z_19K4At.js";(function(){const a=document.createElement("link").relList;if(a&&a.supports&&a.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))i(o);new MutationObserver(o=>{for(const r of o)if(r.type==="childList")for(const c of r.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&i(c)}).observe(document,{childList:!0,subtree:!0});function n(o){const r={};return o.integrity&&(r.integrity=o.integrity),o.referrerPolicy&&(r.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?r.credentials="include":o.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function i(o){if(o.ep)return;o.ep=!0;const r=n(o);fetch(o.href,r)}})();const jo="modulepreload",No=function(t){return"/"+t},Ri={}
2,h=function(a,n,i){let o=Promise.resolve();if(n&&n.length>0){let u=function(d){return Promise.all(d.map(m=>Promise.resolve(m).then(p=>({status:"fulfilled",value:p}),p=>({status:"rejected",reason:p}))))};document.getElementsByTagName("link");const c=document.querySelector("meta[property=csp-nonce]"),l=c?.nonce||c?.getAttribute("nonce");o=u(n.map(d=>{if(d=No(d),d in Ri)return;Ri[d]=!0;const m=d.endsWith(".css"),p=m?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${d}"]${p}`))return;const b=document.createElement("link");if(b.rel=m?"stylesheet":jo,m||(b.as="script"),b.crossOrigin="",b.href=d,l&&b.setAttribute("nonce",l),document.head.appendChild(b),m)return new Promise((x,y)=>{b.addEventListener("load",x),b.addEventListener("error",()=>y(new Error(`Unable to preload CSS for ${d}`)))})}))}function r(c){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=c,window.dispatchEvent(l),!l.defaultPrevented)throw c}return o.then(c=>{for(const l of c||[])l.status==="rejected"&&r(l.reason);return a().catch(r)})};async function cs(t){if(!t.ok){const a=await t.text()||t.statusText;throw{status:t.status,message:a,url:t.url,timestamp:new Date().toISOString(),recoverable:t.status>=500||t.status===429,isRateLimit:t.status===429,retryAfter:t.headers.get("retry-after")||t.headers.get("ratelimit-reset"),name:"ApiError"}}}async function Et(t,a,n){const i=await fetch(a,{method:t,headers:n?{"Content-Type":"application/json"}:{},body:n?JSON.stringify(n):void 0,credentials:"include"});return await cs(i),i}const ko=({on401:t})=>async({queryKey:a})=>{const n=await fetch(a.join("/"),{credentials:"include"});return await cs(n),await n.json()},Ba=new ur({defaultOptions:{queries:{queryFn:ko({on401:"throw"}),refetchInterval:!1,refetchOnWindowFocus:!1,staleTime:300*1e3,retry:(t,a)=>t>=5?!1:a&&"status"in a&&typeof a.status=="number"?a.status===429||a.status>=500:!0,retryDelay:(t,a)=>{if(a&&"isRateLimit"in a&&a.isRateLimit){const i=2e3*Math.pow(2,t),o=Math.random()*1e3;return Math.min(i+o,6e4)}return Math.min(1e3*2**t,3e4)}},mutations:{retry:(t,a)=>t>=3?!1:a&&"status"in a&&typeof a.status=="number"?a.status===429||a.status>=500:!1,retryDelay:(t,a)=>{if(a&&"isRateLimit"in a&&a.isRateLimit){const i=3e3*Math.pow(2,t),o=Math.random()*1e3;return Math.min(i+o,6e4)}return Math.min(2e3*2**t,3e4)}}}}),Co=1,So=1e6;let ba=0;function Po(){return ba=(ba+1)%Number.MAX_SAFE_INTEGER,ba.toString()}const va=new Map,Li=t=>{if(va.has(t))return;const a=setTimeout(()=>{va.delete(t),kt({type:"REMOVE_TOAST",toastId:t})},So);va.set(t,a)},Do=(t,a)=>{switch(a.type){case"ADD_TOAST":return{...t,toasts:[a.toast,...t.toasts].slice(0,Co)};case"UPDATE_TOAST":return{...t,toasts:t.toasts.map(n=>n.id===a.toast.id?{...n,...a.toast}:n)};case"DISMISS_TOAST":{const{toastId:n}=a;return n?Li(n):t.toasts.forEach(i=>{Li(i.id)}),{...t,toasts:t.toasts.map(i=>i.id===n||n===void 0?{...i,open:!1}:i)}}case"REMOVE_TOAST":return a.toastId===void 0?{...t,toasts:[]}:{...t,toasts:t.toasts.filter(n=>n.id!==a.toastId)}}},Ut=[];let Gt={toasts:[]};function kt(t){Gt=Do(Gt,t),Ut.forEach(a=>{a(Gt)})}function at({...t}){const a=Po(),n=o=>kt({type:"UPDATE_TOAST",toast:{...o,id:a}}),i=()=>kt({type:"DISMISS_TOAST",toastId:a});return kt({type:"ADD_TOAST",toast:{...t,id:a,open:!0,onOpenChange:o=>{o||i()}}}),{id:a,dismiss:i,update:n}}function ke(){const[t,a]=s.useState(Gt);return s.useEffect(()=>(Ut.push(a),()=>{const n=Ut.indexOf(a);n>-1&&Ut.splice(n,1)}),[]),{...t,toast:at,dismiss:n=>kt({type:"DISMISS_TOAST",toastId:n})}}function _(...t){return mr(pr(t))}const To=fr,ls=s.forwardRef(({className:t,...a},n)=>e.jsx(pn,{ref:n,className:_("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]",t),...a}));ls.displayName=pn.displayName;const Eo=Dt("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"}}),ds=s.forwardRef(({className:t,variant:a,...n},i)=>e.jsx(gn,{ref:i,className:_(Eo({variant:a}),t),...n}));ds.displayName=gn.displayName;const _o=s.forwardRef(({className:t,...a},n)=>e.jsx(hn,{ref:n,className:_("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 hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",t),...a}));_o.displayName=hn.displayName;const us=s.forwardRef(({className:t,...a},n)=>e.jsx(fn,{ref:n,className:_("absolute right-2 top-2 rounded-md p-1 text-foreground
2/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",t),"toast-close":"",...a,children:e.jsx(ge,{className:"h-4 w-4"})}));us.displayName=fn.displayName;const ms=s.forwardRef(({className:t,...a},n)=>e.jsx(xn,{ref:n,className:_("text-sm font-semibold",t),...a}));ms.displayName=xn.displayName;const ps=s.forwardRef(({className:t,...a},n)=>e.jsx(yn,{ref:n,className:_("text-sm opacity-90",t),...a}));ps.displayName=yn.displayName;function Ro(){const{toasts:t}=ke();return e.jsxs(To,{children:[t.map(function({id:a,title:n,description:i,action:o,...r}){return e.jsxs(ds,{...r,children:[e.jsxs("div",{className:"grid gap-1",children:[n&&e.jsx(ms,{children:n}),i&&e.jsx(ps,{children:i})]}),o,e.jsx(us,{})]},a)}),e.jsx(ls,{})]})}const Lo=Dt("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"}}),I=s.forwardRef(({className:t,variant:a,size:n,asChild:i=!1,...o},r)=>{const c=i?xr:"button";return e.jsx(c,{className:_(Lo({variant:a,size:n,className:t})),ref:r,...o})});I.displayName="Button";const De=s.forwardRef(({className:t,...a},n)=>e.jsx("div",{ref:n,className:_("rounded-lg border bg-card text-card-foreground shadow-sm",t),...a}));De.displayName="Card";const ct=s.forwardRef(({className:t,...a},n)=>e.jsx("div",{ref:n,className:_("flex flex-col space-y-1.5 p-6",t),...a}));ct.displayName="CardHeader";const lt=s.forwardRef(({className:t,...a},n)=>e.jsx("div",{ref:n,className:_("text-2xl font-semibold leading-none tracking-tight",t),...a}));lt.displayName="CardTitle";const la=s.forwardRef(({className:t,...a},n)=>e.jsx("div",{ref:n,className:_("text-sm text-muted-foreground",t),...a}));la.displayName="CardDescription";const Te=s.forwardRef(({className:t,...a},n)=>e.jsx("div",{ref:n,className:_("p-6 pt-0",t),...a}));Te.displayName="CardContent";const zo=s.forwardRef(({className:t,...a},n)=>e.jsx("div",{ref:n,className:_("flex items-center p-6 pt-0",t),...a}));zo.displayName="CardFooter";function Mo(t){if(!t?.trim())return!1;try{const a=new URL(t.trim());return a.protocol==="https:"&&a.username.length>0&&a.password.length===0&&a.hostname.length>0&&a.pathname.length>1}catch{return!1}}const wa="https://c470a76b0b42d6bdbcdc8e2d46a60618@o4512011451957248.ingest.us.sentry.io/4512011472666625".trim();Mo(wa)?yo({dsn:wa,environment:"production",tracesSampleRate:.1,replaysSessionSampleRate:0,replaysOnErrorSampleRate:.5,integrations:[bo(),vo({maskAllText:!0,blockAllMedia:!0})]}):wa&&console.warn("[sentry] invalid DSN format — error monitoring disabled");const ii="aid_analytics_consent",gs="aid_ga_purchase_receipts",hs=100;let Zt=!1,zi=null;const Mi=new Set,fs=()=>globalThis.__AID_GA_MEASUREMENT_ID__,ni=()=>typeof navigator<"u"&&(navigator.doNotTrack==="1"||navigator.globalPrivacyControl===!0),xs=()=>/^G-[A-Z0-9]+$/i.test(fs()??""),Fi=()=>{if(typeof window>"u"||ni())return!0;try{const t=localStorage.getItem(ii);return t==="granted"||t==="denied"}catch{return!0}},ft=()=>{if(typeof window>"u"||ni())return"denied";try{return localStorage.getItem(ii)==="granted"?"granted":"denied"}catch{return"denied"}},Fo=(...t)=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push(t)},si=()=>{typeof window>"u"||(window.dataLayer=window.dataLayer||[],window.gtag=window.gtag||Fo,window.gtag("consent","default",{analytics_storage:"denied",ad_storage:"denied",ad_user_data:"denied",ad_personalization:"denied"}))},qo=t=>{if(typeof window>"u")return;const a=ni()?"denied":t;try{localStorage.setItem(ii,a)}catch{}si(),window.gtag?.("consent","update",{analytics_storage:a,ad_storage:"denied",ad_user_data:"denied",ad_personalization:"denied"}),a==="granted"&&(ys(),ri(window.location.pathname))},ys=()=>{const t=fs();if(typeof window>"u"||Zt||!t||!xs()||ft()!=="granted")return;si();const a=document.createElement("script");
2a.async=!0,a.src=`https://www.googletagmanager.com/gtag/js?id=${encodeURIComponent(t)}`,a.dataset.aidGa="true",document.head.appendChild(a),window.gtag?.("js",new Date),window.gtag?.("config",t,{send_page_view:!1,allow_google_signals:!1,allow_ad_personalization_signals:!1}),Zt=!0,ri(window.location.pathname)},Oo=new Set(["/","/analyze","/identify","/login","/register","/pricing","/store","/checkout","/payment-success","/privacy","/terms","/support","/faq","/about","/contact","/blog","/docs","/dashboard","/enterprise","/developers","/status","/ncat","/homecoming","/friends-family-pass","/tailgate-schedule","/aggie-stories","/homecoming-perks","/extension"]),$o=t=>{const a=(t.split(/[?#]/,1)[0]||"/").replace(/\/+$/,"")||"/";return Oo.has(a)?a:/^\/blog\/[^/]+$/.test(a)?"/blog/:article":/^\/blog\/(category|tag|authors)\/[^/]+$/.test(a)?"/blog/:collection":/^\/verify\/[^/]+$/.test(a)?"/verify/:result":/^\/docs\/[^/]+$/.test(a)?"/docs/:page":"/other"},Ee=(t,a={})=>typeof window>"u"||!Zt||ft()!=="granted"?!1:(window.gtag?.("event",t,a),!0),ri=t=>{if(typeof window>"u"||!Zt||ft()!=="granted")return;const a=$o(t);if(a===zi)return;zi=a;const n=`${window.location.origin}${a}`;Ee("page_view",{page_path:a,page_location:n})},Px=t=>Ee("sign_up",{method:t}),Dx=t=>Ee("login",{method:t}),Tx=t=>Ee("begin_checkout",{item_type:t}),qi=t=>Ee("scan_start",{file_type:vs(t)}),Oi=(t,a)=>Ee("scan_complete",{file_type:vs(t),scan_type:a}),Uo=(t,a=!1)=>Ee("exception",{description:t,fatal:a}),Ex=t=>Ee("aggies_portal_cta",{source:t}),Lt=(t,a={})=>
2{if(!(typeof window>"u")){try{window.umami?.track(t,a)}catch{}Ee(t,a)}},bs=()=>{try{const t=JSON.parse(localStorage.getItem(gs)||"[]");return Array.isArray(t)?t.filter(a=>typeof a=="string").slice(-hs):[]}catch{return[]}},Go=t=>{try{const a=bs().filter(n=>n!==t);localStorage.setItem(gs,JSON.stringify([...a,t].slice(-hs)))}catch{}},Vo=async t=>{if(!/^[A-Za-z0-9_-]{8,255}$/.test(t)||!globalThis.crypto?.subtle)return null;const a=new TextEncoder().encode(t),n=await globalThis.crypto.subtle.digest("SHA-256",a);return Array.from(new Uint8Array(n)).map(i=>i.toString(16).padStart(2,"0")).join("")},_x=async(t,a,n)=>{if(!n)return!1;const i=await Vo(t);if(!i||Mi.has(i)||bs().includes(i))return!1;const o=Ee("purchase",{transaction_id:i,...typeof a=="number"&&Number.isFinite(a)?{value:a,currency:"USD"}:{},item_type:n});return o&&(Mi.add(i),Go(i)),o},vs=t=>{const a=t.toLowerCase();return a.startsWith("image/")?"image":a.startsWith("video/")?"video":a.startsWith("audio/")?"audio":a.includes("pdf")||a.includes("text")?"document":"other"},Bo=[/failed to fetch dynamically imported module/i,/error loading dynamically imported module/i,/importing a module script failed/i,/loading chunk [\d-]+ failed/i,/chunkloaderror/i];function $i(t){const a=t instanceof Error?`${t.name}: ${t.message}`:String(t??"");return Bo.some(n=>n.test(a))}function Ui(t,a){return`navigation-recovery:${a||"dev"}:${t||"/"}`}async function Gi(t,a=3e3){const n=await t.getRegistration();if(!n)return;await n.update();const i=n.waiting??n.installing;if(!i)return;const o=new Promise(r=>{t.addEventListener("controllerchange",()=>r(),{once:!0})});i.state==="installed"?i.postMessage("SKIP_WAITING"):i.addEventListener("statechange",()=>{i.state==="installed"&&i.postMessage("SKIP_WAITING")},{once:!0}),await Promise.race([o,new Promise(r=>setTimeout(r,a))])}class Ho extends s.Component{constructor(a){super(a),this.state={hasError:!1}}static getDerivedStateFromError(a){return{hasError:!0,error:a}}componentDidCatch(a,n){this.setState({error:a,errorInfo:n}),this.logErrorToService(a,n),this.recoverStaleNavigation(a)}recoverStaleNavigation=async a=>{if(typeof window>"u"||!$i(a))return;const n=Ui(window.location.pathname,document.querySelector('script[type="module"][src]')?.src||"unknown-build");window.sessionStorage.getItem(n)!=="attempted"&&(window.sessionStorage.setItem(n,"attempted"),"serviceWorker"in navigator&&await Gi(navigator.serviceWorker).catch(()=>{}),window.location.reload())};logErrorToService=(a,n)=>{wo(a,{extra:{componentStack:n.componentStack,url:window.location.href,buildVersion:"dev"}}),Uo($i(a)?"stale_asset":"client_error",!0)};handleReload=async()=>{const a=Ui(window.location.pathname,document.querySelector('script[type="module"][src]')?.src||"unknown-build");window.sessionStorage.removeItem(a),"serviceWorker"in navigator&&await Gi(navigator.serviceWorker).catch(()=>{}),window.location.reload()};handleGoHome=()=>{window.location.href="/"};render(){return this.state.hasError?this.props.fallback?this.props.fallback:e.jsx("div",{className:"min-h-screen bg-gray-50 dark:bg-gray-900 flex items-center justify-center p-4",children:e.jsxs(De,{className:"w-full max-w-md",children:[e.jsxs(ct,{className:"text-center",children:[e.jsx("div",{className:"mx-auto w-12 h-12 bg-red-100 dark:bg-red-900/20 rounded-full flex items-center justify-center mb-4",children:e.jsx(He,{className:"w-6 h-6 text-red-600 dark:text-red-400"})}),e.jsx(lt,{className:"text-xl font-semibold text-gray-900 dark:text-white",children:"Something went wrong"})]}),e.jsxs(Te,{className:"text-center space-y-4",children:[e.jsx("p",{className:"text-gray-600 dark:text-gray-300",children:"We encountered an unexpected error. Our team has been notified and is working on a fix."}),!1,e.jsxs("div",{className:"flex flex-col sm:flex-row gap-3",children:[e.jsxs(I,{onClick:this.handleReload,className:"flex items-center justify-center",variant:"outline",children:[e.jsx(Ya,{className:"w-4 h-4 mr-2"}),"Try Again"]}),e.jsxs(I,{onClick:this.handleGoHome,className:"flex items-center justify-center",children:[e.jsx(bn,{className:"w-4 h-4 mr-2"}),"Go Home"]})]})]})]})}):this.props.children}}const Vi=(t,a)=>{},oi=()=>{const[t,a]=s.useState(!1),[n,i]=s.useState(!1),[o,r]=s.useState(!navigator.onLine),[c,l]=s.useState(!1),[u,d]=s.useState(!1),[m,p]=s.useState(null);s.useEffect(()=>{const v=window.matchMedia("(display-mode: standalone)").matches;i(v);const k=F=>{F.preventDefault(),p(F),a(!0),Vi("pwa_prompt_shown",{platform:F.platforms?.[0]})},C=()=>{i(!0),a(!1),p(null)},S=()=>r(!1),L=()=>r(!0);return window.addEventListener("beforeinstallprompt",k),window.addEventListener("appinstalled",C),window.addEventListener("online",S),window.addEventListener("offline",L),()=>{window.removeEventListener("beforeinstallprompt",k),window.removeEventListener("appinstalled",C),window.removeEventListener("online",S),window.removeEventListener("offline",L)}},[]);const b=async()=>
2{if(m)try{await m.prompt();const{outcome:v}=await m.userChoice;Vi(v==="accepted"?"pwa_prompt_accepted":"pwa_prompt_dismissed",{outcome:v}),p(null),a(!1)}catch(v){console.error("PWA installation error:",v)}},x=async()=>{if(navigator.share)try{await navigator.share({title:"AI Identifiers - Advanced AI Detection",text:"Check out this powerful AI detection platform!",url:window.location.href}),console.log("✅ PWA shared successfully")}catch(v){console.log("Share cancelled or failed:",v)}else await navigator.clipboard.writeText(window.location.href),console.log("📋 URL copied to clipboard")},y=()=>{t&&!n&&!u&&(d(!0),setTimeout(()=>{l(!0)},2e3))},g=()=>{l(!1)};return{isInstallable:t,isInstalled:n,isOffline:o,showInstallPrompt:c,userStartedDetection:u,deferredPrompt:m,installApp:b,shareApp:x,canShare:!!navigator.share,hideInstallPrompt:g,triggerInstallPrompt:y,triggerInstallPromptOnDetection:y}},Wo=()=>{const{isInstallable:t,isInstalled:a,showInstallPrompt:n,installApp:i,shareApp:o,hideInstallPrompt:r,canShare:c}=oi();return!n||a||!t?null:e.jsx("div",{className:"fixed bottom-4 left-4 right-4 bg-gradient-to-r from-amber-500 to-yellow-600 text-white p-4 rounded-lg shadow-lg z-50 md:max-w-md md:left-auto md:right-4",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex-1 mr-3",children:[e.jsx("h3",{className:"font-semibold text-sm mb-1",children:"Install AI Identifiers"}),e.jsx("p",{className:"text-xs opacity-90",children:"Get faster access and work offline"})]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsxs(I,{onClick:i,size:"sm",variant:"secondary",className:"bg-white/20 hover:bg-white/30 text-white border-white/20",children:[e.jsx(qe,{className:"w-4 h-4 mr-1"}),"Install"]}),c&&e.jsx(I,{onClick:o,size:"sm",variant:"ghost",className:"text-white hover:bg-white/20",children:e.jsx(yr,{className:"w-4 h-4"})}),e.jsx(I,{onClick:r,size:"sm",variant:"ghost",className:"text-white hover:bg-white/20",children:e.jsx(ge,{className:"w-4 h-4"})})]})]})})};let Xt=null,ws=!1,Ha=!1;const Ko=()=>Ha?!1:(Ha=!0,!0),Aa=()=>{Ha=!1};typeof window<"u"&&(window.addEventListener("beforeinstallprompt",t=>{t.preventDefault(),Xt=t}),window.addEventListener("appinstalled",()=>{ws=!0,Xt=null}));const Rx=()=>Xt,Lx=()=>ws||typeof window<"u"&&window.matchMedia("(display-mode: standalone)").matches,zx=()=>{Xt=null};function Jo(t){const a="=".repeat((4-t.length%4)%4),n=(t+a).replace(/-/g,"+").replace(/_/g,"/"),i=atob(n);return Uint8Array.from([...i].map(o=>o.charCodeAt(0)))}function Bi(t){if(!t)return null;const a=new Uint8Array(t);let n="";for(const i of a)n+=String.fromCharCode(i);return btoa(n).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}function Yo(t){const a=t.toJSON(),n=typeof t.endpoint=="string"&&t.endpoint.trim()?t.endpoint:typeof a.endpoint=="string"?a.endpoint:"",i=typeof a.keys?.p256dh=="string"?a.keys.p256dh:Bi(t.getKey("p256dh")),o=typeof a.keys?.auth=="string"?a.keys.auth:Bi(t.getKey("auth"));if(!n.trim()||!i||!o)throw new Error("Push subscription is missing endpoint or encryption keys");return{endpoint:n,expirationTime:typeof a.expirationTime=="number"?a.expirationTime:null,keys:{p256dh:i,auth:o}}}async function ea(t={}){if(typeof window>"u"||!("Notification"in window)||!("serviceWorker"in navigator)||!("PushManager"in window))return!1;let a=Notification.permission;if(a!=="granted"&&t.requestPermission&&(a=await Notification.requestPermission()),a!=="granted")return!1;const n=await fetch("/api/push-web/vapid-key");if(!n.ok)throw new Error(`Unable to load push configuration (${n.status})`);const{publicKey:i}=await n.json();if(typeof i!="string"||!i.trim())throw new Error("Push configuration did not include a public key");const o=await navigator.serviceWorker.ready,c=await o.pushManager.getSubscription()??await o.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:Jo(i)}),l=await fetch("/api/push-web/subscribe",{method:"POST",headers:{"Content-Type":"application/json",...t.loginWelcomeEvent?{"X-Login-Welcome-Event":t.loginWelcomeEvent}:{}},credentials:"include",body:JSON.stringify(Yo(c))});if(!l.ok)throw new Error(`Unable to save push subscription (${l.status})`);return!0}
2const Ia="notif_prompt_dismissed",ja="notif_prompt_dismissed_pwa";function Na(){return window.matchMedia("(display-mode: standalone)").matches||"standalone"in navigator&&navigator.standalone===!0}function Qo(){const[t,a]=s.useState(!1),[n,i]=s.useState(!1),[o,r]=s.useState("idle");s.useEffect(()=>{if(!("Notification"in window)||!("serviceWorker"in navigator)||Notification.permission!=="default")return;const u=Na();i(u);const d=u?ja:Ia;if(localStorage.getItem(d))return;const m=300*1e3,p=setTimeout(()=>{Ko()&&a(!0)},m);return()=>clearTimeout(p)},[]);const c=s.useCallback(()=>{a(!1),Aa();const u=Na()?ja:Ia;localStorage.setItem(u,"1")},[]),l=s.useCallback(async()=>{r("loading");try{if(!await ea({requestPermission:!0})){r("denied"),setTimeout(()=>a(!1),3e3);return}r("done");const d=Na()?ja:Ia;localStorage.setItem(d,"1"),setTimeout(()=>{a(!1),Aa()},2500)}catch{r("denied"),setTimeout(()=>{a(!1),Aa()},2500)}},[]);return t?n?e.jsx("div",{className:"fixed inset-0 z-50 flex items-end justify-center bg-black/40 backdrop-blur-sm animate-in fade-in duration-200",children:e.jsx("div",{className:"w-full max-w-lg bg-white dark:bg-gray-900 rounded-t-3xl p-6 pb-10 shadow-2xl animate-in slide-in-from-bottom-4 duration-300",children:o==="done"?e.jsxs("div",{className:"flex flex-col items-center text-center py-4 gap-3",children:[e.jsx("div",{className:"p-4 bg-green-100 dark:bg-green-900/30 rounded-full",children:e.jsx(Qa,{className:"w-8 h-8 text-green-600 dark:text-green-400"})}),e.jsx("p",{className:"text-lg font-bold text-slate-900 dark:text-slate-100",children:"You're all set!"}),e.jsx("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:"We'll send you a daily reminder to scan and check files. You'll see them right in your notification tray."})]}):o==="denied"?e.jsxs("div",{className:"flex flex-col items-center text-center py-4 gap-3",children:[e.jsx("p",{className:"text-base font-semibold text-slate-700 dark:text-slate-300",children:"No problem"}),e.jsx("p",{className:"text-sm text-slate-500",children:"You can enable notifications anytime from your phone's app settings for AI Identifiers."})]}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex items-center justify-between mb-5",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"p-3 bg-blue-100 dark:bg-blue-900/30 rounded-2xl",children:e.jsx(Jt,{className:"w-6 h-6 text-blue-600 dark:text-blue-400"})}),e.jsxs("div",{children:[e.jsx("p",{className:"font-bold text-slate-900 dark:text-slate-100 text-base leading-tight",children:"Stay in the loop"}),e.jsx("p",{className:"text-xs text-slate-500 dark:text-slate-400",children:"AI Identifiers"})]})]}),e.jsx("button",{onClick:c,className:"p-2 rounded-full hover:bg-slate-100 dark:hover:bg-gray-800 text-slate-400","aria-label":"Dismiss",children:e.jsx(ge,{className:"w-5 h-5"})})]}),e.jsxs("ul",{className:"text-slate-600 dark:text-slate-300 text-sm leading-relaxed mb-6 space-y-1.5",children:[e.jsxs("li",{children:["🌅 ",e.jsx("strong",{children:"Morning tip"})," — a daily AI detection trick"]}),e.jsxs("li",{children:["📰 ",e.jsx("strong",{children:"Afternoon brief"})," — trending deepfake & AI news"]}),e.jsxs("li",{children:["📄 ",e.jsx("strong",{children:"New articles"})," — instant alert when we publish"]})]}),e.jsxs("div",{className:"flex flex-col gap-3",children:[e.jsx(I,{onClick:l,disabled:o==="loading",className:"w-full h-12 text-base font-semibold bg-blue-600 hover:bg-blue-700 text-white rounded-2xl",children:o==="loading"?"Enabling…":"🔔  Allow notifications"}),e.jsx(I,{variant:"ghost",onClick:c,className:"w-full h-10 text-sm text-slate-500 hover:text-slate-700 rounded-2xl",children:"Not now"})]})]})})}):e.jsx("div",{className:"hidden md:block fixed bottom-6 left-1/2 -translate-x-1/2 z-50 w-[calc(100%-2rem)] max-w-md animate-in slide-in-from-bottom-4 duration-300",children:e.jsxs("div",{className:"bg-white dark:bg-gray-900 border border-slate-200 dark:border-gray-700 rounded-2xl shadow-2xl p-4 flex items-start gap-3",children:[e.jsx("div",{className:"shrink-0 mt-0.5 p-2 bg-blue-100 dar
2k:bg-blue-900/30 rounded-xl",children:e.jsx(Jt,{className:"w-5 h-5 text-blue-600 dark:text-blue-400"})}),e.jsx("div",{className:"flex-1 min-w-0",children:o==="done"?e.jsx("p",{className:"text-sm font-medium text-green-600 dark:text-green-400",children:"✅ Notifications enabled! We'll remind you to scan files daily."}):o==="denied"?e.jsx("p",{className:"text-sm font-medium text-slate-500 dark:text-slate-400",children:"No problem — enable them anytime from your browser settings."}):e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"text-sm font-semibold text-slate-900 dark:text-slate-100 leading-snug",children:"Stay ahead of AI fakes"}),e.jsx("p",{className:"text-xs text-slate-500 dark:text-slate-400 mt-0.5",children:"Morning tip · afternoon AI news · instant new-article alerts"}),e.jsxs("div",{className:"flex gap-2 mt-3",children:[e.jsx(I,{size:"sm",onClick:l,disabled:o==="loading",className:"h-8 text-xs bg-blue-600 hover:bg-blue-700 text-white rounded-lg px-4",children:o==="loading"?"Enabling…":"Yes, remind me"}),e.jsx(I,{size:"sm",variant:"ghost",onClick:c,className:"h-8 text-xs text-slate-500 hover:text-slate-700 rounded-lg px-3",children:"Maybe later"})]})]})}),e.jsx("button",{onClick:c,className:"shrink-0 p-1 rounded-md hover:bg-slate-100 dark:hover:bg-gray-800 text-slate-400 hover:text-slate-600 transition-colors","aria-label":"Dismiss",children:e.jsx(ge,{className:"w-4 h-4"})})]})}):null}const As="ai-identifiers:sound-notifications",Wa="ai-identifiers:sound-notifications-changed";let Pe=null,nt=!1,Ka=!1,wt=null,At=0;const ka=new Map,zt=new Map,Zo=3e4;function Xo(){if(typeof window>"u")return null;const t=window;return t.AudioContext??t.webkitAudioContext??null}function Is(){if(Pe)return Pe;const t=Xo();if(!t)return null;try{return Pe=new t({latencyHint:"interactive"}),Pe}catch{return null}}function ec(){if(typeof window>"u")return null;try{return window.localStorage.getItem(As)}catch{return null}}function dt(){return typeof window>"u"?!1:ec()!=="disabled"}function Ja(){return{enabled:dt(),unlocked:nt,needsActivation:Ka}}function ci(){typeof window>"u"||window.dispatchEvent(new CustomEvent(Wa,{detail:Ja()}))}function Fe(t){Ka!==t&&(Ka=t,ci())}function tc(t){if(!(typeof window>"u")){try{window.localStorage.setItem(As,t?"enabled":"disabled")}catch{}t||Fe(!1),ci()}}function ac(t){const a=t.createBuffer(1,1,t.sampleRate),n=t.createBufferSource();n.buffer=a,n.connect(t.destination),n.start(0),n.stop(t.currentTime+.01)}async function da(){return dt()?nt&&Pe?.state==="running"?!0:wt||(wt=(async()=>{const t=Is();if(!t)return Fe(!1),!1;try{if(t.state!=="running"&&await t.resume(),t.state!=="running")throw new Error(`Audio context remained ${t.state}`);return ac(t),nt=!0,Fe(!1),ci(),!0}catch{return nt=!1,Fe(!0),!1}finally{wt=null}})(),wt):!1}function ic(t){const a=t.currentTime,n=.025;[911,1800,911,1800,911].forEach((o,r)=>{const c=a+r*n,l=c+n,u=t.createGain(),d=t.createOscillator();u.gain.setValueAtTime(1e-4,c),u.gain.exponentialRampToValueAtTime(.2,c+.003),u.gain.exponentialRampToValueAtTime(1e-4,l),d.type="sine",d.frequency.setValueAtTime(o,c),d.connect(u),u.connect(t.destination),d.start(c),d.stop(l)})}async function Hi(){if(!dt())return!1;const t=Is();if(!t||(!nt||t.state!=="running")&&!await da())return!1;try{return ic(t),!0}catch{return Fe(!0),!1}}function st(t){if(!t)return Hi();const a=Date.now();for(const[o,r]of zt)a-r>Zo&&zt.delete(o);if(zt.has(t))return Promise.resolve(!1);const n=ka.get(t);if(n)return n;const i=Hi().then(o=>(o&&zt.set(t,Date.now()),o)).finally(()=>{ka.delete(t)});return ka.set(t,i),i}async function Mx(){return da()}function Wi(){const t=Pe;if(t){if(document.hidden){t.suspend().catch(()=>{});return}dt()&&nt&&t.resume().then(()=>{t.state!=="running"&&Fe(!0)}).catch(()=>{Fe(!0)})}}function Ki(){!document.hidden&&dt()&&nt&&Pe&&Pe.resume().then(()=>{Pe?.state!=="running"&&Fe(!0)}).catch(()=>Fe(!0))}function Ji(){Pe?.suspend().catch(()=>{})}function Se(){da()}function nc(){return At+=1,At===1&&typeof document<"u"&&(document.addEventListener("pointerdown",Se,{passive:!0,capture:!0}),document.addEventListener("touchstart",Se,{passive:!0,capture:!0}),document.addEventListener("keydown",Se,{passive:!0,capture:!0}),document.addEventListener("wheel",Se,{passive:!0,capture:!0}),document.addEventListener("scroll",Se,{passive:!0,capture:!0}),document.addEventListener("visibilitychange",Wi),window.addEventListener("pageshow",Ki),window.addEventListener("pagehide",Ji)),(
2)=>{At=Math.max(0,At-1),!(At!==0||typeof document>"u")&&(document.removeEventListener("pointerdown",Se,!0),document.removeEventListener("touchstart",Se,!0),document.removeEventListener("keydown",Se,!0),document.removeEventListener("wheel",Se,!0),document.removeEventListener("scroll",Se,!0),document.removeEventListener("visibilitychange",Wi),window.removeEventListener("pageshow",Ki),window.removeEventListener("pagehide",Ji))}}function js(){const[t,a]=s.useState(Ja);s.useEffect(()=>{const o=nc(),r=c=>{c instanceof CustomEvent&&c.detail?a(c.detail):a(Ja())};return window.addEventListener(Wa,r),window.addEventListener("storage",r),()=>{o(),window.removeEventListener(Wa,r),window.removeEventListener("storage",r)}},[]);const n=s.useCallback(async()=>{const o=!dt();tc(o),o&&await st()},[]),i=s.useCallback(()=>da(),[]);return{enabled:t.enabled,isUnlocked:t.unlocked,needsActivation:t.needsActivation,toggle:n,unlock:i}}function sc(){const{t}=he(),{enabled:a,needsActivation:n,unlock:i}=js();return!a||!n?null:e.jsxs("div",{role:"status","aria-live":"polite",className:"fixed inset-x-3 bottom-4 z-[90] mx-auto flex max-w-md items-center gap-3 rounded-lg border border-border bg-background/95 px-3 py-2.5 text-sm shadow-lg backdrop-blur sm:inset-x-auto sm:end-5 sm:bottom-5","data-testid":"sound-activation-prompt",children:[e.jsx(La,{className:"h-4 w-4 shrink-0 text-primary","aria-hidden":"true"}),e.jsx("span",{className:"min-w-0 flex-1 text-foreground",children:t("header.soundNotifications")}),e.jsx("button",{type:"button",onClick:()=>{i()},className:"shrink-0 rounded-md bg-primary px-3 py-1.5 text-xs font-semibold text-primary-foreground transition-colors hover:bg-primary/90 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary","data-testid":"button-enable-sound",children:t("header.soundNotificationsOff")})]})}function rc(){const{t}=he(),[a,n]=s.useState(typeof navigator<"u"?navigator.onLine:!0);return s.useEffect(()=>{const i=()=>{n(!0),at({title:t("offline.restored"),description:t("offline.restoredDesc"),variant:"default"})},o=()=>{n(!1),at({title:t("offline.title"),description:t("offline.offlineDesc"),variant:"destructive"})};return window.addEventListener("online",i),window.addEventListener("offline",o),()=>{window.removeEventListener("online",i),window.removeEventListener("offline",o)}},[t]),a?null:e.jsxs("div",{role:"status","aria-live":"polite",className:"fixed bottom-4 end-4 z-50 flex items-center gap-2 rounded-lg bg-amber-600 px-4 py-2 text-sm font-medium text-white shadow-lg",children:[e.jsx(br,{className:"h-4 w-4 shrink-0"}),t("offline.banner"),e.jsx("span",{className:"h-2 w-2 animate-ping rounded-full bg-white opacity-75"})]})}const oc=100*1024*1024,Ns=s.createContext({isUploading:!1,setIsUploading:()=>{},handoffFile:()=>{},consumeHandoffFile:()=>null,pendingHandoff:null});function cc({children:t}){const[a,n]=s.useState(!1),[i,o]=s.useState(null),r=s.useRef(null),c=s.useCallback(u=>{const d={file:u,filename:u.name};r.current=d,o(d)},[]),l=s.useCallback(()=>{const u=r.current?.file??null;return r.current=null,o(null),u},[]);return e.jsx(Ns.Provider,{value:{isUploading:a,setIsUploading:n,handoffFile:c,consumeHandoffFile:l,pendingHandoff:i},children:t})}function ks(){return s.useContext(Ns)}const Cs=s.createContext(void 0);function lc({children:t,defaultTheme:a="light"}){const[n,i]=s.useState(()=>{if(typeof window<"u")try{const c=localStorage.getItem("theme");if(c==="light"||c==="dark")return c}catch{}return a});s.useEffect(()=>{const c=document.documentElement;c.classList.remove("light","dark"),c.classList.add(n);try{localStorage.setItem("theme",n)}catch{}},[n]);const r={theme:n,setTheme:i,toggleTheme:()=>{i(c=>c==="light"?"dark":"light")}};return e.jsx(Cs.Provider,{value:r,children:t})}const dc=()=>{const t=s.useContext(Cs);if(t===void 0)throw new Error("useTheme must be used within a ThemeProvider");return t};function uc(){const[t,a]=s.useState(()=>ft()),[n,i]=s.useState(()=>Fi()),[o,r]=s.useState(!1);s.useEffect(()=>{a(ft()),i(Fi())},[]);const c=l=>{qo(l),a(ft()),i(!0),r(!1)};return xs()?n&&!o?e.jsxs("button",{type:"button",className:"fixed bottom-3 left-3 z-50 rounded bg-white px-2 py-1 text-xs shadow ring-1 ring-slate-200 dark:bg-slate-900 dark:ring-slate-700",onClick:()=>r(!0),children:["Analytics: ",t==="granted"?"on":"off"]}):e.jsxs("section",{role:"dialog","aria-label":"Analytics privacy choices",className:"fixed bottom-3 left-3 right-3 z-50 max-w-md rounded-lg bg-white p-4 text-sm shadow-xl ring-1 ring-slate-200 dark:bg-slate-900 dark:ring-slate-700",children:[e.jsx("p",{className:"font-semibold",children:"Analytics privacy"}
2),e.jsx("p",{className:"mt-1 text-slate-600 dark:text-slate-300",children:"Optional analytics help us improve the site. We do not send scan content, account details, or URL queries."}),e.jsxs("div",{className:"mt-3 flex gap-2",children:[e.jsx("button",{type:"button",className:"rounded bg-slate-200 px-3 py-2 font-medium dark:bg-slate-700",onClick:()=>c("denied"),children:"Decline"}),e.jsx("button",{type:"button",className:"rounded bg-indigo-600 px-3 py-2 font-medium text-white",onClick:()=>c("granted"),children:"Allow analytics"})]})]}):null}const mc=()=>{const[t]=ot(),a=s.useRef(null);s.useEffect(()=>{const n=t.split("?",1)[0].replace(/\/+$/,"")||"/";n!==a.current&&(ri(n),a.current=n)},[t])},pc="[email protected]";async function gc(){const t=await fetch("/api/user/profile",{credentials:"include"});return t.status===401||!t.ok?null:t.json()}function Le({children:t}){const{data:a,isLoading:n}=gt({queryKey:["admin-gate-profile"],queryFn:gc,retry:!1,staleTime:6e4}),i=a?.email===pc;return s.useEffect(()=>{if(!n&&a===null){const o=window.location.pathname+window.location.search;window.location.href=`/api/auth/google?returnTo=${encodeURIComponent(o)}`}},[a,n]),n||a===null?e.jsxs("div",{className:"min-h-[100dvh] bg-slate-50 dark:bg-gray-950 flex flex-col items-center justify-center p-4",role:"status","aria-live":"polite",children:[e.jsxs("div",{className:"flex flex-col items-center gap-4 text-slate-500 dark:text-slate-400",children:[e.jsx(Ya,{className:"h-8 w-8 animate-spin text-amber-500","aria-hidden":"true"}),e.jsx("p",{className:"text-sm font-medium animate-pulse",children:"Verifying secure session..."})]}),e.jsx("span",{className:"sr-only",children:"Checking administrator access permissions"})]}):i?e.jsx(e.Fragment,{children:t}):e.jsx("div",{className:"min-h-[100dvh] bg-slate-50 dark:bg-gray-950 flex items-center justify-center p-4",children:e.jsxs("div",{className:"max-w-md w-full bg-white dark:bg-gray-900 border border-slate-200 dark:border-gray-800 rounded-2xl shadow-sm p-8 text-center space-y-6",role:"alert","aria-labelledby":"admin-access-title",children:[e.jsx("div",{className:"mx-auto w-16 h-16 bg-red-100 dark:bg-red-900/30 rounded-full flex items-center justify-center",children:e.jsx(Ct,{className:"h-8 w-8 text-red-600 dark:text-red-500","aria-hidden":"true"})}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("h1",{id:"admin-access-title",className:"text-2xl font-bold text-slate-900 dark:text-white",children:"Administrator Access Required"}),e.jsxs("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:["The account ",e.jsx("strong",{className:"font-semibold text-slate-700 dark:text-slate-300",children:a?.email})," does not have administrator privileges."]})]}),e.jsxs("div",{className:"flex flex-col gap-3 pt-2",children:[e.jsx(I,{asChild:!0,className:"w-full bg-amber-500 hover:bg-amber-600 text-slate-900",children:e.jsxs("a",{href:`/api/auth/google?returnTo=${encodeURIComponent(window.location.pathname+window.location.search)}`,children:[e.jsx(vn,{className:"w-4 h-4 mr-2","aria-hidden":"true"}),"Sign in with different account"]})}),e.jsx(I,{asChild:!0,variant:"outline",className:"w-full",children:e.jsxs("a",{href:"/",children:[e.jsx(wn,{className:"w-4 h-4 mr-2","aria-hidden":"true"}),"Return Home"]})})]})]})})}function hc(){const t=s.useRef(0),a=s.useRef(0);s.useEffect(()=>{const o=document.createElement("canvas");o.width=64,o.height=64;const r=o.getContext("2d");if(!r)return;let c=document.querySelector("link[rel~='icon']");c||(c=document.createElement("link"),c.rel="icon",document.head.appendChild(c));function l(d){if(!r)return;r.clearRect(0,0,64,64),r.save(),r.translate(32,32),r.rotate(d);const m=r.createRadialGradient(0,0,0,0,0,30);m.addColorStop(0,"#fde047"),m.addColorStop(.5,"#f59e0b"),m.addColorStop(1,"#d97706"),r.beginPath(),r.arc(0,0,30,0,Math.PI*2),r.fillStyle=m,r.fill(),r.strokeStyle="#b45309",r.lineWidth=.8,r.stroke(),r.strokeStyle="#fde047",r.lineWidth=1.5,r.lineCap="round";const p=8,b=18,x=30;for(let C=0;C<p;C++){const S=C/p*Math.PI*2;r.beginPath(),r.moveTo(Math.cos(S)*b,Math.sin(S)*b),r.lineTo(Math.cos(S)*x,Math.sin(S)*x),r.stroke()}r.strokeStyle="#fbbf24",r.lineWidth=1;const y=16,g=24;for(let C=0;C<p;C++){const S=(C+.5)/p*Math.PI*2;r.beginPath(),r.moveTo(Math.cos(S)*y,Math.sin(S)*y),r.lineTo(Math.cos(S)*g,Math.sin(S)*g),r.stroke()}r.strokeStyle="#fde047",r.lineWidth=.8,r.setLineDash([3,2]),r.beginPath(),r.arc(0,0,24,0,Math.PI*2),r.stroke(),r.setLineDash([]),r.fillStyle="#fde047";const v=28;for(let C=0;C<8;C++){const S=C/8*Math.PI*2;r.beginPath(),r.arc(Math.cos(S)*v,Math.sin(S)*v,1.2,0,Math.PI*2),r.fill()}
2r.restore();const k=r.createRadialGradient(32,32,0,32,32,12);k.addColorStop(0,"#fffbeb"),k.addColorStop(1,"#fef3c7"),r.beginPath(),r.arc(32,32,12,0,Math.PI*2),r.fillStyle=k,r.fill(),r.strokeStyle="#f59e0b",r.lineWidth=2,r.stroke(),r.fillStyle="#92400e",r.font="bold 14px system-ui, sans-serif",r.textAlign="center",r.textBaseline="middle",r.fillText("AI",32,33)}function u(){a.current+=.012,l(a.current),c.href=o.toDataURL("image/png"),t.current=requestAnimationFrame(u)}return t.current=requestAnimationFrame(u),()=>{cancelAnimationFrame(t.current)}},[])}const Yi="https://aiidentifiers.com";function fc(){const[t]=ot(),a=t.split("?")[0].split("#")[0],n=a==="/"?`${Yi}/`:`${Yi}${a}`;return e.jsxs(je,{children:[e.jsx("link",{rel:"canonical",href:n}),e.jsx("meta",{property:"og:url",content:n})]})}function xc(){const{t}=he();return e.jsx("div",{className:"fixed bottom-[88px] end-4 z-40 xl:hidden",children:e.jsxs("button",{onClick:()=>window.dispatchEvent(new Event("open-mobile-navigation")),"aria-label":t("header.openNavigation"),"aria-controls":"mobile-navigation",className:"flex h-14 w-14 items-center justify-center rounded-full border border-primary/30 bg-background/90 backdrop-blur-md text-primary shadow-[0_4px_20px_hsl(var(--primary)/0.25)] transition-all hover:bg-background hover:scale-105 active:scale-95 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary",children:[e.jsx("span",{className:"sr-only",children:t("header.menu")}),e.jsx(An,{className:"h-6 w-6"})]})})}async function yc(){const t=await fetch("/api/auth/me",{credentials:"include"});if(t.status===401)return null;if(!t.ok)throw new Error(`${t.status}: ${t.statusText}`);return t.json()}async function bc(){await fetch("/api/auth/logout",{method:"POST",credentials:"include"})}function ut(){const t=xt(),{data:a,isLoading:n}=gt({queryKey:["/api/auth/me"],queryFn:yc,retry:!1,staleTime:1e3*60*5}),i=Kt({mutationFn:bc,onSuccess:()=>{t.setQueryData(["/api/auth/me"],null),window.location.href="/"}});return{user:a,isLoading:n,isAuthenticated:!!a,logout:i.mutate,isLoggingOut:i.isPending}}const li="ai_checkout_intent";function Fx(t){try{sessionStorage.setItem(li,JSON.stringify(t))}catch{}}function vc(){try{const t=sessionStorage.getItem(li);return t?JSON.parse(t):null}catch{return null}}function wc(){try{sessionStorage.removeItem(li)}catch{}}function Ac(t){const a=new URLSearchParams({plan:t.plan});return t.billing&&a.set("billing",t.billing),t.packageId&&a.set("package",t.packageId),`/checkout?${a.toString()}`}function Ic(){const{user:t,isLoading:a}=ut();s.useEffect(()=>{if(a||!t)return;const n=vc();if(!n)return;wc();const i=Ac(n);window.location.pathname!=="/checkout"&&(window.location.href=i)},[a,!!t])}const jc="post_login",Ss="post_login_welcome_event";function Nc(){sessionStorage.setItem(jc,"1"),sessionStorage.setItem(Ss,typeof crypto.randomUUID=="function"?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2)}`)}function kc(){return sessionStorage.getItem(Ss)}const Cc=()=>{const t=s.useRef(!1);s.useEffect(()=>{t.current||(t.current=!0,document.addEventListener("touchstart",()=>{},{passive:!0}))},[])};async function Sc(){return(await Et("GET","/api/analysis")).json()}async function Pc(t){return(await Et("DELETE",`/api/analysis/${t}`)).json()}async function ua(t){return(await Et("GET",`/api/analysis/export/${t}`)).blob()}async function Dc(){const a=await(await Et("GET","/api/models")).json();return Array.isArray(a)?a:a?.models??[]}async function Tc(t,a){const n=await fetch("/api/detect/text",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json","Idempotency-Key":a},body:JSON.stringify({text:t})}),i=await n.json().catch(()=>({}));if(!n.ok){const o=new Error(i.message||i.error||"Text detection failed.");throw o.status=n.status,o.code=i.error,o}return i}async function Ps(t,a,n){return new Promise((i,o)=>
2{if(n?.aborted){o(new DOMException("Upload cancelled.","AbortError"));return}const r=new FormData;r.append("file",t);const c=new XMLHttpRequest;c.withCredentials=!0;const l=()=>n?.removeEventListener("abort",u),u=()=>c.abort();n?.addEventListener("abort",u,{once:!0}),c.upload.addEventListener("progress",d=>{d.lengthComputable&&a&&a(Math.round(d.loaded/d.total*100))}),c.addEventListener("load",()=>{if(l(),c.status>=200&&c.status<300){try{i(JSON.parse(c.responseText))}catch{o({status:c.status,message:"Invalid server response.",name:"UploadError",recoverable:!1})}return}let d={};try{d=JSON.parse(c.responseText)}catch{}o({status:c.status,message:d.error||d.message||"Upload failed.",timestamp:new Date().toISOString(),recoverable:c.status>=500,name:"UploadError",requiresAuth:d.requiresAuth===!0,redirectTo:d.redirectTo,used:d.used,limit:d.limit})}),c.addEventListener("error",()=>{l(),o({status:0,message:"Network error — please check your connection.",name:"UploadError",recoverable:!0})}),c.addEventListener("abort",()=>{l(),o(new DOMException("Upload cancelled.","AbortError"))}),c.open("POST","/api/upload-and-analyze"),c.send(r)})}const di=Ar,ui=Ir,Ec=s.forwardRef(({className:t,inset:a,children:n,...i},o)=>e.jsxs(In,{ref:o,className:_("flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",a&&"pl-8",t),...i,children:[n,e.jsx(jn,{className:"ml-auto"})]}));Ec.displayName=In.displayName;const _c=s.forwardRef(({className:t,...a},n)=>e.jsx(Nn,{ref:n,className:_("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg 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 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 origin-[--radix-dropdown-menu-content-transform-origin]",t),...a}));_c.displayName=Nn.displayName;const ma=s.forwardRef(({className:t,sideOffset:a=4,...n},i)=>e.jsx(vr,{children:e.jsx(kn,{ref:i,sideOffset:a,className:_("z-50 max-h-[var(--radix-dropdown-menu-content-available-height)] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md 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 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 origin-[--radix-dropdown-menu-content-transform-origin]",t),...n})}));ma.displayName=kn.displayName;const it=s.forwardRef(({className:t,inset:a,...n},i)=>e.jsx(Cn,{ref:i,className:_("relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",a&&"pl-8",t),...n}));it.displayName=Cn.displayName;const Rc=s.forwardRef(({className:t,children:a,checked:n,...i},o)=>e.jsxs(Sn,{ref:o,className:_("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),checked:n,...i,children:[e.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(Pn,{children:e.jsx(ht,{className:"h-4 w-4"})})}),a]}));Rc.displayName=Sn.displayName;const Lc=s.forwardRef(({className:t,children:a,...n},i)=>e.jsxs(Dn,{ref:i,className:_("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...n,children:[e.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(Pn,{children:e.jsx(wr,{className:"h-2 w-2 fill-current"})})}),a]}));Lc.displayName=Dn.displayName;const Ds=s.forwardRef(({className:t,inset:a,...n},i)=>e.jsx(Tn,{ref:i,className:_("px-2 py-1.5 text-sm font-semibold",a&&"pl-8",t),...n}));Ds.displayName=Tn.displayName;const mi=s.forwardRef(({className:t,...a},n)=>e.jsx(En,{ref:n,className:_("-mx-1 my-1 h-px bg-muted",t),...a}));mi.displayName=En.displayName;const zc={home:"Home",about:"About",pricing:"Pricing",contact:"Contact",blog:"Blog",enterprise:"Enterprise",features:"Features",detection:"Detection",analysis:"Analysis"},Mc={titleLead:"Know what you’re",titleFocus:"looking at.",subtitle:"AI Identifiers Technology comb
2ines multimodal analysis and provenance signals to examine images, text, audio, and video. Make a careful call, backed by evidence—not a black-box verdict.",freeScans:"15 free scans each month after sign-in. No card required.",installChrome:"Available on Chrome",cta:"Start Detection",tryFree:"Sign in to scan",uploadFile:"Upload File for Analysis",badge:"Multimodal verification / v4.2",analyzedCount:"files analyzed and counting",reviewRetention:"Review retention options before scanning"},Fc={title:"AI Identifiers Technology for Cutting-Edge Detection",multiFormat:"Multi-Format Support",multiFormatDesc:"Use AI Identifiers Technology to analyze images, videos, audio, and text with advanced detection",googlePartnership:"Provenance signals when present",googlePartnershipDesc:"Probabilistic by design",realTime:"Real-Time Processing",realTimeDesc:"Get instant analysis results with quantum-enhanced processing",enterprise:"Enterprise Security",enterpriseDesc:"Bank-grade security with SOC 2 compliance and private cloud options"},qc={uploadTitle:"Upload Content for Analysis",selectFile:"Select File",analyzing:"Analyzing...",results:"Analysis Results",confidence:"Confidence Score",aiGenerated:"AI Generated",human:"Human Created",processing:"Processing your file...",completed:"Analysis Complete"},Oc={accuracy:"Accuracy Rate",filesProcessed:"Files Processed",countriesServed:"Countries Served",languagesSupported:"Languages Supported"},$c={product:"Product",features:"Features",pricing:"Pricing",enterprise:"Enterprise",company:"Company",about:"About Us",contact:"Contact",privacy:"Privacy Policy",terms:"Terms of Service",copyright:"© 2025 AI Identifiers. All rights reserved.",description:"AI content detection platform using multimodal analysis and provenance signals"},Uc={loading:"Loading...",error:"Error",retry:"Retry",cancel:"Cancel",save:"Save",close:"Close",edit:"Edit",delete:"Delete",language:"Language",selectLanguage:"Select Language",englishFallback:"English fallback"},Gc={banner:"Offline — reconnecting…",restored:"Connection restored",restoredDesc:"You're back online — scans are working normally.",title:"You're offline",scanDesc:"File scans require a network connection. Please reconnect and try again.",offlineDesc:"Scans will resume automatically when you reconnect.",tryAgain:"You're offline — please reconnect and try again."},Vc={dropHere:"Drop a file here or click to browse",uploading:"Uploading & analysing…",aiDetected:"AI-generated content detected",likelyHuman:"Likely human-created",createAccount:"Create free account",scanAnother:"Scan another file",dailyLimit:"Daily scan limit reached",noCredits:"No scan credits remaining",upgradePro:"Upgrade to Pro",getApiKey:"Get an API key",dismiss:"Dismiss",widgetTitle:"AI Content Detection",widgetDesc:"Sign in to upload text, images, audio, or video for probabilistic AI-content analysis with detailed confidence scores and reports.",welcomeBack:"Welcome back, {{name}}!",paygBadge:"Pay-As-You-Go",paygDetails:"Files up to 50 MB accepted. Audio & video are billed per 15-second segment; text and images cost 1 credit each. Stripe auto-invoices at $10.",feat1Title:"AI Detection",feat1Desc:"Probabilistic detection of AI-generated images; results vary by content, model, and editing",feat2Title:"Audio & PDF",feat2Desc:"Detect AI-cloned voices (ElevenLabs, Suno) and AI-written text in uploaded documents",feat3Title:"Deepfake Video",feat3Desc:"Frame-level deepfake forensics and AI Identifiers Technology watermark signal signal inspection for supported content",selectFile:"Select File",analysing:"Analysing…",signUpNudge:"Want plain-English explanations and transcripts? Sign up free →"},Bc={networkError:"Network error — please try again.",detectionFailed:"Detection failed — please try again.",tooManyRequests:"Too many requests — please slow down and try again."},Hc={tryNow:"Scan your content",tryNowDesc:"Sign in, then paste your own text or upload a supported image, PDF, audio, or video file. Accepted formats are shown before you choose a file.",synthidTitle:"Watermark Signal Inspection",ctaBannerTitle:"Start detecting AI content today",ctaBannerDe
2sc:"15 free scans / month after sign-in",getFreeApiKey:"Get Free API Key",viewPricing:"View Pricing",signalBased:"Signal-based",probabilistic:"Probabilistic analysis",algorithms:"Detection algorithms",contentTypes:"Content types",freeScans:"15 scans / month after sign-in"},Wc={title:"Batch AI Detection",desc:"Upload up to {{count}} supported image, audio, video, or PDF files for simultaneous AI detection.",dropPrompt:"Click or drag files to upload",dropActive:"Drop files here",fileTypes:"Images: JPG, JPEG, PNG, WebP, GIF · Video: MP4, AVI, MOV, WebM · Audio: MP3, WAV, OGG, M4A, AAC · PDF",fileTooLarge:"{{name}} exceeds the {{limit}} file size limit",invalidType:"{{name}} is not a supported file type",tooManyFiles:"Maximum {{count}} files allowed",startProcessing:"Start Processing",pause:"Pause",resume:"Resume",clearCompleted:"Clear Completed",clearAll:"Clear All",paygNotice:"Pay-As-You-Go: Files up to 50 MB. Each scan is billed per credit.",maxFileSize:"{{size}} maximum",totalCount:"{{count}} Total",pendingCount:"{{count}} Pending",processingCount:"{{count}} Processing",completedCount:"{{count}} Completed",errorCount:"{{count}} Errors",statusPending:"Pending",statusUploading:"Uploading",statusAnalyzing:"Analyzing",statusComplete:"Complete",statusError:"Error",signUpNudgeTitle:"Unlock explanations & full reports",signUpNudgeDesc:"Sign up free to get plain-English breakdowns, transcripts, and history for every scan.",signUpNudgeCta:"Sign up free →"},Kc={toggle:"Transcript",wordCount:"{{count}} words",unavailable:"Transcript not available for this scan"},Jc={labels:"Scene labels",explicit:"{{pct}}% explicit frames"},Yc={tools:"Detection Tools",provenance:"Signals & Provenance",platform:"Developers & Platform",trust:"Trust & Context",search:"Search",searchLabel:"Search AI Identifiers Technology",navigation:"Navigation",mainNavigation:"Main navigation",mobileNavigation:"Mobile navigation",openNavigation:"Open full navigation",closeNavigation:"Close navigation menu",menu:"Menu",darkMode:"Dark Mode",lightMode:"Light Mode",switchDark:"Switch to dark theme",switchLight:"Switch to light theme",installExtension:"Install Chrome Extension",notificationsOn:"Notifications are on",enableNotifications:"Enable push notifications",soundNotifications:"Sound notifications",soundNotificationsOn:"Sound notifications are on",soundNotificationsOff:"Enable sound notifications",soundOn:"On",soundOff:"Off",searchTitle:"Search the evidence index",searchDescription:"Tools, documentation, guides, and research",searchPlaceholder:"Try “API documentation” or “deepfake”",searchGrounded:"Search is grounded in published platform content.",escClose:"ESC to close",systemsUpdating:"Systems Updating",extension:"Chrome Extension",downloadExtension:"Download Chrome Extension",catalog:{tools:{multimodalAnalysis:{label:"Multimodal Analysis",desc:"Text, image, video, audio, and document inspection"},textLanguage:{label:"Text & Language",desc:"LLM patterns and probabilistic scoring"},imageSynthesis:{label:"Image & Synthesis",desc:"Generative artifacts and pixel anomalies"},videoDeepfakeDetector:{label:"Video Deepfake Detector",desc:"Frame-by-frame temporal analysis"},aiVoiceDetector:{label:"AI Voice Detector",desc:"Frequency and spectral signal inspection"},pdfAiDetector:{label:"PDF AI Detector",desc:"Structured document forensics"},freeAiDetector:{label:"Free AI Detector",desc:"Start with a no-card evaluation"},aiPlagiarismChecker:{label:"AI Plagiarism Checker",desc:"Review writing for AI signals"},textSignalChecker:{label:"Text Signal Checker",desc:"Inspect text for AI-generation patterns"},languageSignalChecker:{label:"Language Signal Checker",desc:"Inspect text for AI-generation patterns"},writingSignalChecker:{label:"Writing Signal Checker",desc:"Inspect text for AI-generation patterns"},audioDeepfakeChecker:{label:"Audio Deepfake Checker",desc:"Review synthetic voice signals"}},provenance:{watermarkInspection:{label:"Watermark Inspection",desc:"Supported provenance signals when present"},signalCoverage:{label:"Signal Coverage",desc:"Supported capabilities across modalities"},detectionHistory:{label:"Detection History",desc:"Historical evolution of AI signatures"},provenanceSignalContext:{label:"Provenance Signal Context",desc:"Independent verification context"},aiSystemsContext:{label:"AI Systems Context",desc:"AI technology and provenance context"},watermarkTechnologyContext:{label:"Watermark Technology Context",desc:"Supported watermark technology context"},enterpriseAiIntegration:{label:"Enterprise AI Integration",desc:"Enterprise integration information"},enterpriseAiDetection:{label:"Enterprise AI Detection",desc:"Organizational detection workflows"},legalAiDetection:{label:"Legal AI Detection",desc:"Evidence-aware review context"}},access:{freeEvaluation:{label:"Free Evaluation",desc:"10 web scans each day, no card required"},pricing:{label:"Pricing",desc:"Plans and volume access for professional use"},apiPlatform:{label:"API Platform",desc:"Programmatic access for developers"},developerCenter:{label:"Developer Center",desc:"Build with AI Identifiers Technology"},getApiKey:{label:"Get an API Key",desc:"Create credentials for paid API access"},apiPlayground:{label:"API Playground",desc:"Test supported API requests"},developerDocumentation:{label:"Developer Documentation",desc:"Integration guides and references"},integrityAgent:{label:"Integrity Agent",desc:"Review content with guided workflows"},agentConnectivity:{label:"Agent Connectivity",desc:"Connect compatible AI agents"},lmsIntegration:{label:"LMS Integration",desc:"Campus-wide academic deployment"},aggieHomecoming:{label:"Aggie Homecoming",desc:"Independent celebration companion and portal guide"},aggiesPortal:{label:"Aggies Portal",desc:"Dedicated access path for eligible NC A&T users"},enterpriseIntegrations:{label:"Enterprise Integrations",desc:"Connect organizational systems"},enterpriseSolutions:{label:"Enterprise Solutions",desc:"Organization controls and volume workflows"},trustCenter:{label:"Trust Center",desc:"Security, privacy, and enterprise review materials"},marketplace:{label:"Marketplace",desc:"Distribution and platform access"}},trust:{privacyRetention:{label:"Privacy & Retention",desc:"Data handling and processing protocols"}
2,securityBounties:{label:"Security & Bounties",desc:"Infrastructure protection reports"},accuracyContext:{label:"Accuracy Context",desc:"Probabilistic bounds and limitations"},systemStatus:{label:"System Status",desc:"Real-time API and platform uptime"},documentation:{label:"Documentation",desc:"Technical integration and usage guides"},productChangelog:{label:"Product Changelog",desc:"Released improvements and platform changes"},productTour:{label:"Product Tour",desc:"See the platform's main workflows"},blogGuides:{label:"Blog & Guides",desc:"Research, explainers, and practical guides"},studentResources:{label:"Student Resources",desc:"Responsible verification guidance for students"},about:{label:"About AI Identifiers LLC",desc:"Mission, history, and platform context"},teamCeo:{label:"Our Team & CEO",desc:"Meet Marvin White, Founder & CEO"},community:{label:"Community",desc:"Community participation and shared context"},communityLeaderboard:{label:"Community Leaderboard",desc:"Public community activity rankings"},supportCenter:{label:"Support Center",desc:"Help with accounts and platform use"},contact:{label:"Contact",desc:"Get in touch with the team"},careers:{label:"Careers",desc:"Open roles and opportunities"},investorInformation:{label:"Investor Information",desc:"Company and platform overview"},internationalAccess:{label:"International Access",desc:"Regional access and language context"},allPagesDirectory:{label:"All Pages Directory",desc:"Browse every published canonical page"}}}},Qc={email:"Email",password:"Password",firstName:"First name",lastName:"Last name",showPassword:"Show password",hidePassword:"Hide password",passwordPlaceholder:"Enter your password",passwordHint:"At least 8 characters",invalidEmail:"Please enter a valid email address",passwordMin:"Password must be at least 8 characters",nameRequired:"Please enter your name",welcomeBack:"Welcome Back",loginDescription:"Sign in to your AI Identifiers account",signIn:"Sign In",signingIn:"Signing in...",signedIn:"Signed in successfully ✓",signedInDescription:"Welcome back to AI Identifiers.",loginFailed:"Login failed",continueGoogle:"Continue with Google",orContinue:"or continue with",forgotQuestion:"Forgot your password?",noAccount:"Don't have an account?",createOne:"Create one",createFree:"Create a Free Account",registerDescription:"Get 15 free scans/month — no credit card required",createAccount:"Create Account",creatingAccount:"Creating account...",orSignUp:"or sign up with",alreadyAccount:"Already have an account?",registrationFailed:"Registration failed",registrationSuccess:"🎉 Welcome to AI Identifiers!",registrationSuccessDesc:"Your free account is ready. You have 15 scans/month — let's use one!",forgotTitle:"Forgot Password",forgotDescription:"Enter your email and we'll send you a reset link",checkEmail:"Check your email",resetSent:"If an account with that email exists, we've sent a password reset link. The link will expire in 1 hour.",sendReset:"Send Reset Link",sending:"Sending...",backLogin:"Back to Login",resetFailed:"Failed to send reset email. Please try again.",genericError:"Something went wrong"},Zc={firstScan:"Your first scan!",guestScansLeft:"Welcome to AI Identifiers — you have {{count}} scans left today.",aiVerdict:"⚠ AI-Generated Content Detected",humanVerdict:"✓ Likely Human-Created",confidence:"AI Confidence Score",highConfidence:"High confidence — strong AI markers detected",moderateConfidence:"Moderate confidence — some AI patterns found",lowConfidence:"Low confidence — content appears human-written",upsell:"Create a free account to save scan history and access detailed reports — no credit card required.",signIn:"Sign In",usedScans:"{{used}} of {{limit}} free scans used",leftScans:"{{count}} free scans left",proTitle:"Upgrade to Pro — more scans and advanced analysis, $19/mo",proDesc:"More hosted scans, scan history, priority processing, API access, and detailed forensic reports.",scanAnother:"Scan another file",supported:"Upload one supported image, PDF document, audio file, or video file.",accepted:"Accepted formats: {{formats}}",maxSize:"Maximum file size: {{size}}",signUpForLargerFiles:"Sign up for 50 MB",enterpriseForLargerFiles:"Need larger files? Explore Enterprise",uploadingProgress:"Uploading… {{progress}}%",processing:"Processing with AI…",selectSignIn:"Sign in to scan",freeAllowance:"Create a free account to get 15 scans per month. No credit card required.",text:"Text",image:"Image",audio:"Audio",video:"Video",publicImage:"Public image",textHelp:"Paste or upload text content for linguistic signals.",urlHelp:"Paste a public image URL to scan it without downloading.",fileHelp:"Upload a {{mode}} file, or choose another mode above.",scanText:"Scan pasted text",scanUrl:"Scan URL",pasteText:"Paste text here to scan its linguistic signals…",reselect:"Re-select file to scan",defaultUpsell:"Create a free account to save results and access history.",quotaGuest:"Sign in is required to scan",quotaMonthly:"You've used all 15 free scans this month",quotaCredits:"You've used all your scan credits",quotaGuestDesc:"Create a free account before starting a scan.",quotaMonthlyDesc:"Your 10 free daily scans are used up. Your hosted-scan quota resets at midnight UTC.",quotaCreditsDesc:"You've used all your available scan credits for this billing period.",registrationFree:"Registration is free and no credit card is required.",quotaUpsell:"Create a free account to scan, or review Pro options for a larger allowance.",urlFailed:"URL scan failed",urlFailedDesc:"Check that the image URL is public and try again.",queued:"Queued for upload",queuedDesc:"{{name}} will upload automatically when you reconnect.",unsupported:"Unsupported file type",unsupportedDesc:"That format isn't supported. Please upload a {{formats}}
2 file and try again.",tooLarge:"File too large",tooLargeDesc:"Maximum file size is {{limit}}. Your file is {{size}} MB — please compress or trim it.",slowConnection:"Slow connection detected",compressed:"Image compressed from {{before}} KB to {{after}} KB for faster upload.",reused:"Recent result reused",mediaQueued:"Media scan queued",success:"Upload successful",failed:"Upload failed",failedDesc:"Try a different file or check your connection.",agreementFailed:"Agreement not recorded",agreementFailedDesc:"Please try again before scanning."},Xc={spectralAnalysis:"Spectral Analysis",spectralDescription:"AI probability distribution across timeline",exportSuccessful:"Export Successful",exportSuccessDescription:"Analysis results exported as {{format}}.",exportFailed:"Export Failed",exportFailedDescription:"Failed to export results. Please try again.",executiveReportTooltip:"Export Executive PDF Audit Report — $5.00",verificationCertificate:"View verification certificate",thinking:"thinking…",filePreviewLabel:"{{type}} file: {{filename}}",pages:"{{count}} pages",c2paAiProven:"C2PA: AI Proven",c2paTampered:"C2PA: Tampered",c2paVerified:"C2PA Verified",cryptoLocked:"Cryptographic Provenance Locked",untitled:"Untitled",reportMisclassification:"Report misclassification",averageSeconds:"{{time}}s avg",officialVerification:"Official verification",officialReport:"Export Official Cryptographic PDF Audit Report ($5.00)",officialReportDescription:"Turn your latest completed scan into a signed, shareable audit record.",fingerprint:"SHA-256 Fingerprint",modelBreakdown:"Sub-Model Breakdown",qrVerification:"QR Verification Link",exportOfficialReport:"Export Official PDF Report — $5.00",proDetail:"Expanded scans · $19/mo",proUnlimited:"Expanded monthly allowance",proHistory:"Full scan history & reports",proPriority:"Priority processing",proApi:"API access included",exporting:"Exporting...",exportJson:"Export as JSON",exportCsv:"Export as CSV",detectionModels:"Detection Models",active:"ACTIVE",inactive:"INACTIVE",shareResults:"Share Your Results",badgeDescription:"Add a verified AI detection badge to your website or portfolio",getBadge:"Get Badge",title:"Analysis Results",completed:"Completed",aiGenerated:"AI Generated",uncertain:"Uncertain",humanWritten:"Human Written",aiDetected:"AI DETECTED",humanMade:"HUMAN WRITTEN",confidence:"Confidence Score",verdict:"Verdict",status:"Status",aiConfidence:"AI Confidence",averageConfidence:"Average Confidence",shareTitle:"AI Detection: {{confidence}}% confidence",shareText:'"{{filename}}" scored {{confidence}}% AI confidence on AI Identifiers.',file:"File",syntheticArtifact:"Synthetic artifact",uncertainRegion:"Uncertain region",naturalAudio:"Natural audio",filesCount:"{{count}} of {{total}} files",reasoning:"Reasoning…",reasoningTitle:"AI Identifiers reasoning",noScans:"No scans yet",noScansDescription:"Upload a file, paste text, or drop an image above to run your first AI detection scan.",tryScan:"Try scanning a file or URL",aiDetection:"AI Detection",contentAnalysis:"Content Analysis",metadata:"Metadata",noContentAnalysis:"No scans yet — upload a file to see content analysis.",signal:"Signal {{count}}",noModelBreakdown:"No model breakdown available.",processedIn:"Processed in {{time}}ms",noMetadata:"No scans yet — upload a file to see metadata.",fileType:"File type",scanned:"Scanned",processingTime:"Processing time",analyzedFiles:"Analyzed Files",analyzedAgo:"Analyzed {{time}}s ago",summary:"Analysis Summary",filesAnalyzed:"Files Analyzed",aiDetectionRate:"AI Detection Rate",exportResults:"Export Results"},el=JSON.parse(`{"billingInterval":{"monthly":"monthly","annual":"annual","yearly":"annual"},"paygRate":"$0.02 / scan","highVolumeQuestion":"100K+ scans?","highVolumeContact":"Contact us for $0.003/scan","purchasedCredits":"Purchased credits","lowCredits":"Only {{count}} purchased credits left — top up to avoid interruption.","buyCredits":"Buy credits","callsOfLimit":"{{used}} / {{limit}} calls ({{pct}}%)","closeToLimit":"You're close to your limit.","creditWeights":"Text 1 cr · Image 3 cr · Video/Audio 8 cr","title":"Developer Dashboard","description":"Manage your API key and monitor usage","payg":"Pay-As-You-Go","plan":"{{plan}} plan","monthlyQuota":"Monthly API quota","remaining":"{{count}} remaining","currentPlan":"Current plan","quotaLimit":"Quota limit","usage":"Usage","free":"Free","pro":"Pro","enterprise":"Enterprise","unlimited":"Unlimited","unlimitedMetered":"Unlimited (metered)","callsPerMonth":"{{count}} calls / month","callsUsed":"API calls used","noMonthlyCap":"no monthly cap","ofPerMonth":"of {{count}}/mo","creditsFirst":"Purchased credits are consumed first, before your monthly quota. They never expire or reset.","paygUsage":"Pay-As-You-Go Usage","scansThisMonth":"Scans this month","estimatedCharge":"Estimated charge","monthEndInvoice":"invoiced by Stripe at month-end","resets":"Resets {{date}}","freePlanQuota":"50 API calls / month · upgrade anytime","planWithInterval":"{{plan}} plan · {{interval}}","planTier":"Plan tier","seoTitle":"Developer Dashboard — AI Identifiers","avgProviderLatency":"Avg provider latency","successfulCalls24h":"successful c
2alls · last 24h","totalAnalysesGlobal":"Total analyses (global)","allTime":"all-time","geminiGeneration":"AI Generation","geminiDescription":"Generate text with AI Identifiers Technology using your API key. Costs","oneCredit":"1 credit","perCall":"per call","geminiPromptPlaceholder":"Enter a prompt, e.g. 'Summarise what AI watermarking is in two sentences.'","generating":"Generating…","generate":"Generate","shortcutToRun":"⌘↵ to run","createKeyForTest":"Create a new key to use the live test","callsRemainingToday":"{{count}} calls remaining today","geminiLimits":"1 credit per call · API key required · 50,000 character prompt limit","geminiKeyUnavailable":"For security, your API key is only shown once when it is created. Use the endpoint example below from your integration.","geminiDailyLimit":"Daily limit reached — {{count}} calls/day. Resets at midnight UTC.","requestFailed":"Request failed","networkError":"Network error — please try again.","microCredits":"Micro-Credits","availableBalance":"Available Balance","addCredits":"Add Credits","callsCount":"{{count}} calls","recentActivity":"Recent Activity","balanceShort":"Bal: {{balance}}","noRecentActivity":"No recent activity","apiCosts":"API Costs","loadingPrices":"Loading prices…","downloadFailed":"Download failed","downloadFailedDescription":"Could not download this scan.","saveFailed":"Save failed","zdrEnabled":"Zero-data retention enabled","zdrDisabled":"Zero-data retention disabled","zdrEnabledDescription":"Scans are now processed in-memory only. No results will be stored.","zdrDisabledDescription":"Scan results will be stored normally.","zdrSaveFailed":"Could not update ZDR setting.","retentionSaved":"Retention policy saved","retentionSavedDays":"Scans older than {{count}} days will be auto-deleted nightly.","keptIndefinitely":"Scans are kept indefinitely.","policySaveFailed":"Could not save policy.","ipSaved":"IP restrictions saved","ipsWhitelisted":"{{count}} IP whitelisted.","ipsWhitelisted_other":"{{count}} IPs whitelisted.","allIpsAllowed":"All IPs allowed (no restriction).","ipSaveFailed":"Could not save IP list.","sessionRevoked":"Session revoked","deviceSignedOut":"That device has been signed out.","revokeFailed":"Failed to revoke session","paymentMethodSaved":"✓ Payment method saved","autoRechargeCanEnable":"Auto-recharge can now be enabled.","keyRotated":"Key rotated","paygActivated":"🎉 Pay-As-You-Go activated!","paygActivatedDescription":"You'll be charged $0.25 per scan, invoiced by Stripe at month-end. No monthly cap.","planUpdated":"✅ Plan updated","planUpdatedDescription":"Your plan changes are live. A confirmation email is on its way.","planActivated":"🎉 Plan activated!","planActivatedDescription":"Your subscription is live. Your new quota and features are ready to use.","gcpActivated":"☁️ Marketplace plan activated!","gcpActivatedDescription":"Your marketplace subscription is linked. Usage is billed directly through your account.","microCreditsAdded":"✅ Micro-Credits Added","microCreditsAddedDescription":"Your micro-credits have been successfully applied to your balance.","creditsAdded":"✅ Credits added to your account!","creditsAddedDescription":"Your purchased credits are ready to use. They're consumed before your monthly quota and never expire.","somethingWrong":"Something went wrong","checkoutOpenFailed":"Could not open checkout. Please try again.","subscriptionStatus":{"active":"Active","trialing":"Trialing","past_due":"Past due","canceled":"Canceled","unpaid":"Unpaid","incomplete":"Incomplete"},"cancelsAtPeriodEnd":"Cancels at period end","opening":"Opening…","manageBilling":"Manage billing ↗","billingPortalFailed":"Could not open billing portal","switchAnnual":"Switch to Annual — lock in your rate","annualSavings":"Save \${{amount}}/year (~17% off) and pay upfront — protects against future price increases.","annualSavingsGeneric":"Pay annually and save up to 17% off your current plan.","switch":"Switch ↗","endsInDays":"Ends in {{count}} day","endsInDays_other":"Ends in {{count}} days","renewsInDays":"Renews in {{count}} day","renewsInDays_other":"Renews in {{count}} days","autoRecharge":"Auto-Recharge","active":"Active","off":"Off","autoRechargeDescription":"Automatically purchase a credit pack when your balance drops below a set threshold — no interruptions for high-volume API calls.","card":"Card","endingIn":"ending in {{last4}}","cardRemoved":"Card removed","autoRechargeDisabledDescription":"Auto-recharge has been disabled.","remove":"Remove","noPaymentMethod":"No payment method saved. Add a card to enable auto-recharge.","stripeOpenFailed":"Could not open Stripe","addPaymentMethod":"Add payment method ↗","enableAutoRecharge":"Enable auto-recharge","chargeBelowThreshold":"Charge saved card when credits fall below threshold","topUpBelow":"Top up when below","creditsCount":"{{count}} credits","purchaseAmount":"Purchase amount","autoRechargeEnabled":"✓ Auto-recharge enabled","autoRechargeDisabled":"Auto-recharge disabled","saving":"Saving…","saveSettings":"Save settings","re
2centRechargeActivity":"Recent recharge activity","rechargeStatus":{"success":"success","failed":"failed"},"failed":"failed","gcpMarketplace":"Marketplace","loading":"loading","loadingEllipsis":"Loading…","gcpManagedDescription":"Subscription and quota are managed through your linked marketplace account.","viewGcpConsole":"View marketplace console","gcpPending":"Your marketplace entitlement is pending. Complete or confirm activation in your marketplace console.","entitlementId":"Entitlement ID","linkedGcpAccount":"Linked marketplace account","activationDate":"Activation date","pendingActivation":"Pending activation","apiKey":"API Key","secretShownOnce":"Secret shown only when created","generateApiKey":"Generate API Key","rotateKey":"Rotate key","ipRestrictions":"IP Restrictions","ipRestrictionsDescription":"Whitelist specific IPs or CIDR ranges that may use your API key. Leave empty to allow all origins.","removeIp":"Remove {{ip}}","noIpRestrictions":"No restrictions — all IPs may call this key.","add":"Add","ipWarning":"⚠ Make sure your server's IP is included or your API calls will be blocked.","saveRestrictions":"Save restrictions","dataRetentionPolicy":"Data Retention Policy","retentionDescription":"Set how long completed scan records are kept. Auto-deletion runs nightly. Required by SOC 2, GDPR, and enterprise data-handling agreements.","zeroDataRetention":"Zero-Data Retention","zdrDescription":"Process scans without saving their payload, scan history, public certificate, or reusable result record. Billing, fraud-prevention, and the setting itself may still retain limited account metadata.","disableZdr":"Disable zero-data retention","enableZdr":"Enable zero-data retention","zdrActiveWarning":"⚠ ZDR is active. Use the bounded synchronous text route for memory-only processing. Uploaded media, provider-dependent, batch, asynchronous, share, and certificate workflows fail closed; no ZDR result appears in history.","privacyControls":"Your privacy controls","privacyControlsDescription":"Download your stored account data, remove scan records individually from scan history, or permanently delete your account.","downloadMyData":"Download my data","deleteAccount":"Delete account","keepForever":"Keep forever","daysCount":"{{count}} days","retentionWarning":"⚠ Completed scans older than {{count}} days will be permanently deleted each night. This cannot be undone.","savePolicy":"Save policy","buyApiCredits":"Buy API Credits","buyApiCreditsDescription":"Prepaid credits for high-volume API usage. Never expire — consumed before your monthly subscription quota.","pricePerCall":"{{price}} per call","openingCheckout":"Opening checkout…","buyPack":"Buy {{label}} Pack","oneTimePayment":"One-time payment via Stripe. No subscription created.","activeSessions":"Active Sessions","activeSessionsDescription":"All devices currently signed in to your account. Revoke any session you don't recognise.","noActiveSessions":"No active sessions found.","sessionNumber":"Session {{number}}","current":"Current","expiresInDays":"Expires in {{count}}
2 day","expiresInDays_other":"Expires in {{count}} days","revoking":"Revoking…","revoke":"Revoke","allSessionsRevoked":"All other sessions revoked","devicesSignedOut":"{{count}} device signed out.","devicesSignedOut_other":"{{count}} devices signed out.","signOutAllOther":"Sign out all other sessions","batchFileScanner":"Batch File Scanner","batchFileScannerDescription":"Upload up to 10 documents (.txt, .md, .docx, .pdf) and scan them all in one shot. Results include AI score, sentiment, and top topics per file — exportable as CSV or JSON.","pastBatchScans":"Past Batch Scans","pastBatchScansDescription":"Revisit completed scans or download the CSV again without re-uploading files.","loadingPastScans":"Loading past scans…","pastScansLoadFailed":"Past scans could not be loaded. Refresh the page to try again.","noPastScans":"No past scans yet. Your next completed batch will appear here automatically.","filesCount":"{{count}} file","filesCount_other":"{{count}} files","aiFlaggedCount":"{{count}} AI-flagged","downloadCsv":"Download CSV","fullApiDocs":"Full API Docs","openapiSpec":"OpenAPI Spec","postmanCollection":"Postman Collection","apiStatus":"API Status","proUpsellFeatures":"1,000 calls/month, priority SLA, webhook support"}`),tl={nav:zc,hero:Mc,features:Fc,detection:qc,stats:Oc,footer:$c,common:Uc,offline:Gc,scan:Vc,errors:Bc,home:Hc,batch:Wc,transcript:Kc,videoEvidence:Jc,header:Yc,auth:Qc,upload:Zc,results:Xc,dashboard:el},al={home:"Inicio",about:"Acerca de",pricing:"Precios",contact:"Contacto",blog:"Blog",enterprise:"Empresas",features:"Características",detection:"Detección",analysis:"Análisis"},il={title:"Detección Avanzada de Contenido IA",subtitle:"Analiza contenido generado por IA con señales forenses y de procedencia, incluidas señales compatibles de AI Identifiers Technology watermark signal cuando están presentes",cta:"Iniciar Detección",tryFree:"Probar Demo Gratuita",uploadFile:"Subir Archivo para Análisis",badge:"Análisis de señales compatibles de AI Identifiers Technology watermark signal",analyzedCount:"archivos analizados y contando",reviewRetention:"Revisa las opciones de retención antes de analizar"},nl={title:"Detección de IA de Vanguardia",multiFormat:"Soporte Multi-Formato",multiFormatDesc:"Analiza imágenes, videos, audio y texto con detección avanzada de IA",googlePartnership:"Integración AI Identifiers Technology watermark signal",googlePartnershipDesc:"Examina señales compatibles de marcas de agua AI Identifiers Technology watermark signal cuando están presentes",realTime:"Procesamiento en Tiempo Real",realTimeDesc:"Obtén resultados de análisis instantáneos con procesamiento cuántico mejorado",enterprise:"Seguridad Empresarial",enterpriseDesc:"Seguridad de nivel bancario con cumplimiento SOC 2 y opciones de nube privada"},sl={uploadTitle:"Subir Contenido para Análisis",selectFile:"Seleccionar Archivo",analyzing:"Analizando...",results:"Resultados del Análisis",confidence:"Puntuación de Confianza",aiGenerated:"Generado por IA",human:"Creado por Humano",processing:"Procesando tu archivo...",completed:"Análisis Completado"},rl={accuracy:"Tasa de Precisión",filesProcessed:"Archivos Procesados",countriesServed:"Países Atendidos",languagesSupported:"Idiomas Soportados"},ol={product:"Producto",features:"Características",pricing:"Precios",enterprise:"Empresas",company:"Empresa",about:"Acerca de Nosotros",contact:"Contacto",privacy:"Política de Privacidad",terms:"Términos de Servicio",copyright:"© 2025 AI Identifiers. Todos los derechos reservados.",description:"Plataforma avanzada de detección de contenido IA potenciada por la tecnología AI Identifiers Technology watermark signal"},cl={loading:"Cargando...",error:"Error",retry:"Reintentar",cancel:"Cancelar",save:"Guardar",close:"Cerrar",edit:"Editar",delete:"Eliminar",language:"Idioma",selectLanguage:"Seleccionar Idioma",englishFallback:"Contenido en inglés"},ll={banner:"Sin conexión — reconectando…",restored:"Conexión restablecida",restoredDesc:"Ya estás conectado; los análisis funcionan normalmente.",title:"Estás sin conexión",scanDesc:"Los análisis requieren conexión. Vuelve a conectarte e inténtalo de nuevo.",offlineDesc:"Los análisis se reanudarán automáticamente al reconectarte.",tryAgain:"Estás sin conexión; reconéctate e inténtalo de nuevo."},dl={dropHere:"Suelta un archivo aquí o haz clic para buscar",uploading:"Subiendo y analizando…",aiDetected:"Se detectó contenido generado por IA",likelyHuman:"Probablemente creado por una persona",createAccount:"Crear cuenta gratuita",scanAnother:"Analizar otro archivo",dailyLimit:"Se alcanzó el límite diario de análisis",noCredits:"No quedan créditos de análisis",upgradePro:"Mejorar a Pro",getApiKey:"Obtener una clave API",dismiss:"Cerrar",widgetTitle:"Detección de Contenido IA",widgetDesc:"Sube cualquier archivo para analizar si fue creado por inteligencia artificial. Obtén puntuaciones de confianza detalladas e informes de análisis completos.",welcomeBack:"¡Bienvenido de nuevo, {{name}}!",paygBadge:"Pago por uso",paygDetails:"Se aceptan archivos de hasta 50 MB. El audio y el vídeo se facturan por segmento de 15 segundos; el texto y las imágenes cuestan 1 crédito cada uno. Stripe factura automáticamente al alcanzar $10.",feat1Title:"Detección de IA",feat1Desc:"Detección probabilística de imágenes generadas por IA; los resultados varían según el contenido, el modelo y la edición",feat2Title:"Audio y PDF",feat2Desc:"Detecta voces clonadas por IA (ElevenLabs, Suno) y texto escrito por IA en documentos subidos",feat3Title:"Vídeo deepfake",feat3Desc:"Análisis forense de deepfakes fotograma a fotograma e inspección de señales de marca de agua de AI Identifiers Technology para contenido compatible",selectFile:"Seleccionar Archivo",analysing:"Analizando…",signUpNudge:"¿Quieres explicaciones claras y transcripciones? Regístrate gratis →"},ul={networkError:"Error de red; inténtalo de nuevo.",detectionFailed:"Falló la detección; inténtalo de nuevo.",tooManyRequests:"Demasiadas solicitudes; espera e inténtalo de nuevo."},ml={tryNow:"Pruébalo ahora gratis",tryNowDesc:"Pega texto o sube una imagen, PDF, audio o video compatible.",synthidTitle:"Compatibilidad con señales de AI Identifiers Technology watermark signal",ctaBannerTitle:"Empieza a detectar contenido de IA hoy",ctaBannerDe
2sc:"15 análisis gratuitos al mes. Sin tarjeta.",getFreeApiKey:"Obtener clave API gratis",viewPricing:"Ver precios",signalBased:"Basado en señales",probabilistic:"Análisis probabilístico",algorithms:"Algoritmos de detección",contentTypes:"Tipos de contenido",freeScans:"15 análisis / mes"},pl={title:"Detección de IA por lotes",desc:"Sube hasta {{count}} archivos compatibles de imagen, audio, vídeo o PDF para la detección simultánea de IA.",dropPrompt:"Haz clic o arrastra archivos para subirlos",dropActive:"Suelta los archivos aquí",fileTypes:"Imágenes: JPG, JPEG, PNG, WebP, GIF · Vídeo: MP4, AVI, MOV, WebM · Audio: MP3, WAV, OGG, M4A, AAC · PDF",fileTooLarge:"{{name}} supera el límite de tamaño de archivo de {{limit}}",invalidType:"{{name}} no es un tipo de archivo compatible",tooManyFiles:"Se permite un máximo de {{count}} archivos",startProcessing:"Iniciar procesamiento",pause:"Pausar",resume:"Reanudar",clearCompleted:"Borrar completados",clearAll:"Borrar todo",paygNotice:"Pago por uso: archivos de hasta 50 MB. Cada análisis se factura por crédito.",maxFileSize:"{{size}} máximo",totalCount:"{{count}} en total",pendingCount:"{{count}} pendientes",processingCount:"{{count}} en proceso",completedCount:"{{count}} completados",errorCount:"{{count}} errores",statusPending:"Pendiente",statusUploading:"Subiendo",statusAnalyzing:"Analizando",statusComplete:"Completado",statusError:"Error",signUpNudgeTitle:"Desbloquea explicaciones e informes completos",signUpNudgeDesc:"Regístrate gratis para obtener desgloses en lenguaje sencillo, transcripciones e historial de cada análisis.",signUpNudgeCta:"Regístrate gratis →"},gl={toggle:"Transcripción",wordCount:"{{count}} palabras",unavailable:"Transcripción no disponible"},hl={labels:"Etiquetas de escena",explicit:"fotogramas explícitos"},fl={tools:"Herramientas de detección",provenance:"Señales y procedencia",platform:"Desarrolladores y plataforma",trust:"Confianza y contexto",search:"Buscar",searchLabel:"Buscar en AI Identifiers Technology",navigation:"Navegación",mainNavigation:"Navegación principal",mobileNavigation:"Navegación móvil",openNavigation:"Abrir navegación completa",closeNavigation:"Cerrar menú de navegación",menu:"Menú",darkMode:"Modo oscuro",lightMode:"Modo claro",switchDark:"Cambiar al tema oscuro",switchLight:"Cambiar al tema claro",installExtension:"Instalar extensión de Chrome",notificationsOn:"Las notificaciones están activadas",enableNotifications:"Activar notificaciones",searchTitle:"Buscar en el índice de evidencia",searchDescription:"Herramientas, documentación, guías e investigación",searchPlaceholder:"Prueba «documentación API» o «deepfake»",searchGrounded:"La búsqueda se basa en contenido publicado de la plataforma.",escClose:"ESC para cerrar",systemsUpdating:"Sistemas actualizándose",extension:"Extensión de Chrome",downloadExtension:"Descargar extensión de Chrome",catalog:{tools:{multimodalAnalysis:{label:"Análisis multimodal",desc:"Inspección de texto, imágenes, vídeo, audio y documentos"},textLanguage:{label:"Texto y lenguaje",desc:"Patrones de modelos de lenguaje y puntuación probabilística"},imageSynthesis:{label:"Imagen y síntesis",desc:"Artefactos generativos y anomalías de píxeles"},videoDeepfakeDetector:{label:"Detector de vídeos deepfake",desc:"Análisis temporal fotograma a fotograma"},aiVoiceDetector:{label:"Detector de voz de IA",desc:"Inspección de frecuencias y señales espectrales"},pdfAiDetector:{label:"Detector de IA en PDF",desc:"Análisis forense de documentos estructurados"},freeAiDetector:{label:"Detector de IA gratuito",desc:"Comienza con una evaluación sin tarjeta"},aiPlagiarismChecker:{label:"Comprobador de plagio con IA",desc:"Revisa textos en busca de señales de IA"},textSignalChecker:{label:"Comprobador de señales de texto",desc:"Inspecciona patrones de generación por IA en el texto"},languageSignalChecker:{label:"Comprobador de señales lingüísticas",desc:"Inspecciona patrones de generación por IA en el texto"},writingSignalChecker:{label:"Comprobador de señales de escritura",desc:"Inspecciona patrones de generación por IA en el texto"},audioDeepfakeChecker:{label:"Comprobador de audio deepfake",desc:"Revisa señales de voz sint
2ética"}},provenance:{watermarkInspection:{label:"Inspección de marcas de agua",desc:"Señales de procedencia compatibles cuando están presentes"},signalCoverage:{label:"Cobertura de señales",desc:"Capacidades compatibles en distintas modalidades"},detectionHistory:{label:"Historia de la detección",desc:"Evolución histórica de las firmas de IA"},provenanceSignalContext:{label:"Contexto de señales de procedencia",desc:"Contexto de verificación independiente"},aiSystemsContext:{label:"Contexto de sistemas de IA",desc:"Contexto sobre tecnología de IA y procedencia"},watermarkTechnologyContext:{label:"Contexto de tecnología de marcas de agua",desc:"Contexto sobre tecnología de marcas de agua compatible"},enterpriseAiIntegration:{label:"Integración de IA empresarial",desc:"Información sobre integración empresarial"},enterpriseAiDetection:{label:"Detección de IA empresarial",desc:"Flujos de detección para organizaciones"},legalAiDetection:{label:"Detección legal de IA",desc:"Contexto de revisión basado en pruebas"}},access:{freeEvaluation:{label:"Evaluación gratuita",desc:"15 análisis web al mes, sin tarjeta"},pricing:{label:"Precios",desc:"Planes y acceso por volumen para uso profesional"},apiPlatform:{label:"Plataforma API",desc:"Acceso programático para desarrolladores"},developerCenter:{label:"Centro para desarrolladores",desc:"Crea soluciones con AI Identifiers Technology"},getApiKey:{label:"Obtener una clave API",desc:"Crea credenciales para el acceso de pago a la API"},apiPlayground:{label:"Entorno de pruebas de API",desc:"Prueba solicitudes API compatibles"},developerDocumentation:{label:"Documentación para desarrolladores",desc:"Guías de integración y referencias"},integrityAgent:{label:"Agente de integridad",desc:"Revisa contenido mediante flujos guiados"},agentConnectivity:{label:"Conectividad de agentes",desc:"Conecta agentes de IA compatibles"},lmsIntegration:{label:"Integración LMS",desc:"Implementación académica en todo el campus"},aggieHomecoming:{label:"Reencuentro Aggie",desc:"Guía independiente de celebración y del portal"},aggiesPortal:{label:"Portal Aggies",desc:"Acceso dedicado para usuarios elegibles de NC A&T"},enterpriseIntegrations:{label:"Integraciones empresariales",desc:"Conecta sistemas de la organización"},enterpriseSolutions:{label:"Soluciones empresariales",desc:"Controles organizativos y flujos de gran volumen"},trustCenter:{label:"Centro de confianza",desc:"Materiales sobre seguridad, privacidad y revisión empresarial"},marketplace:{label:"Mercado",desc:"Distribución y acceso a la plataforma"}},trust:{privacyRetention:{label:"Privacidad y retención",desc:"Protocolos de tratamiento y procesamiento de datos"},securityBounties:{label:"Seguridad y recompensas",desc:"Informes de protección de infraestructura"},accuracyContext:{label:"Contexto de precisión",desc:"Límites probabilísticos y limitaciones"},systemStatus:{label:"Estado del sistema",desc:"Disponibilidad de la API y la plataforma en tiempo real"},documentation:{label:"Documentación",desc:"Guías técnicas de integración y uso"},productChangelog:{label:"Registro de cambios",desc:"Mejoras publicadas y cambios de la plataforma"},productTour:{label:"Recorrido del producto",desc:"Conoce los principales flujos de la plataforma"},blogGuides:{label:"Blog y guías",desc:"Investigación, explicaciones y guías prácticas"},studentResources:{label:"Recursos para estudiantes",desc:"Orientación para una verificación responsable"},about:{label:"Acerca de AI Identifiers LLC",desc:"Misión, historia y contexto de la plataforma"}
2,teamCeo:{label:"Nuestro equipo y director ejecutivo",desc:"Conoce a Marvin White, fundador y director ejecutivo"},community:{label:"Comunidad",desc:"Participación comunitaria y contexto compartido"},communityLeaderboard:{label:"Clasificación de la comunidad",desc:"Clasificación pública de actividad comunitaria"},supportCenter:{label:"Centro de ayuda",desc:"Ayuda con cuentas y uso de la plataforma"},contact:{label:"Contacto",desc:"Ponte en contacto con el equipo"},careers:{label:"Empleo",desc:"Vacantes y oportunidades"},investorInformation:{label:"Información para inversores",desc:"Resumen de la empresa y la plataforma"},internationalAccess:{label:"Acceso internacional",desc:"Acceso regional y contexto lingüístico"},allPagesDirectory:{label:"Directorio de todas las páginas",desc:"Explora todas las páginas canónicas publicadas"}}}},xl={email:"Correo electrónico",password:"Contraseña",firstName:"Nombre",lastName:"Apellido",showPassword:"Mostrar contraseña",hidePassword:"Ocultar contraseña",passwordPlaceholder:"Introduce tu contraseña",passwordHint:"Al menos 8 caracteres",invalidEmail:"Introduce un correo electrónico válido",passwordMin:"La contraseña debe tener al menos 8 caracteres",nameRequired:"Introduce tu nombre",welcomeBack:"Bienvenido de nuevo",loginDescription:"Inicia sesión en tu cuenta de AI Identifiers",signIn:"Iniciar sesión",signingIn:"Iniciando sesión...",signedIn:"Sesión iniciada correctamente ✓",signedInDescription:"Bienvenido de nuevo a AI Identifiers.",loginFailed:"Error al iniciar sesión",continueGoogle:"Continuar con Google",orContinue:"o continúa con",forgotQuestion:"¿Olvidaste tu contraseña?",noAccount:"¿No tienes una cuenta?",createOne:"Crear una",createFree:"Crear una cuenta gratuita",registerDescription:"Obtén 15 análisis gratis al mes, sin tarjeta",createAccount:"Crear cuenta",creatingAccount:"Creando cuenta...",orSignUp:"o regístrate con",alreadyAccount:"¿Ya tienes una cuenta?",registrationFailed:"Error de registro",registrationSuccess:"🎉 ¡Bienvenido a AI Identifiers!",registrationSuccessDesc:"Tu cuenta gratuita está lista. Tienes 15 análisis al mes.",forgotTitle:"Olvidé mi contraseña",forgotDescription:"Introduce tu correo y te enviaremos un enlace",checkEmail:"Revisa tu correo",resetSent:"Si existe una cuenta con ese correo, enviamos un enlace para restablecer la contraseña. Caduca en 1 hora.",sendReset:"Enviar enlace",sending:"Enviando...",backLogin:"Volver al inicio de sesión",resetFailed:"No se pudo enviar el correo. Inténtalo de nuevo.",genericError:"Algo salió mal"},yl={firstScan:"¡Tu primer análisis!",guestScansLeft:"Bienvenido a AI Identifiers: te quedan {{count}} análisis de invitado.",aiVerdict:"⚠ Contenido generado por IA detectado",humanVerdict:"✓ Probablemente creado por una persona",confidence:"Puntuación de confianza de IA",highConfidence:"Confianza alta: se detectaron marcadores fuertes de IA",moderateConfidence:"Confianza moderada: se encontraron algunos patrones de IA",lowConfidence:"Confianza baja: el contenido parece escrito por una persona",upsell:"Crea una cuenta gratuita para guardar el historial y acceder a informes detallados, sin tarjeta.",signIn:"Iniciar sesión",usedScans:"{{used}} de {{limit}} análisis gratis usados",leftScans:"Quedan {{count}} análisis gratis",proTitle:"Mejora a Pro: análisis ilimitados, $19/mes",proDesc:"Análisis ilimitados, historial, procesamiento prioritario, acceso API e informes forenses detallados.",scanAnother:"Analizar otro archivo",supported:"Sube una imagen, documento PDF, audio o video compatible.",accepted:"Formatos aceptados: {{formats}}",maxSize:"Tamaño máximo: {{size}}",signUpForLargerFiles:"Regístrate para subir hasta 50 MB",enterpriseForLargerFiles:"¿Necesitas archivos más grandes? Explora Enterprise",uploadingProgress:"Subiendo… {{progress}}%",processing:"Procesando con IA…",selectSignIn:"Selecciona un archivo e inicia sesión",freeAllowance:"Gratis · 15 análisis/mes · Sin tarjeta",text:"Texto",image:"Imagen",audio:"Audio",video:"Video",publicImage:"Imagen pública",textHelp:"Pega o sube texto para analizar señales lingüísticas.",urlHelp:"Pega una URL pública de imagen para analizarla sin descargarla.",fileHelp:"Sube un archivo de {{mode}} o elige otro modo.",scanText:"Analizar texto pegado",scanUrl:"Analizar URL",pasteText:"Pega aquí el texto que quieres analizar…",reselect:"Vuelve a seleccionar el archivo",defaultUpsell:"Crea una cuenta gratuita para guardar resultados y acceder al historial.",quotaGuest:"Has usado los 50 análisis de invitado",quotaMonthly:"Has usado los 15 análisis gratuitos de este mes",quotaCredits:"Has usado todos tus créditos",quotaGuestDesc:"Crea una cuenta gratuita para seguir analizando y guardar tus resultados.",quotaMonthlyDesc:"Has usado los 15 análisis gratuitos mensuales. La cuota se reinicia el {{date}} (en {{count}} días).",quotaCreditsDesc:"Has usado todos los créditos disponibles de este periodo.",registrationFree:"El registro es gratuito y no requiere tarjeta.",quotaUpsell:"Regístrate gratis para guardar tu historial o mejora a Pro para obtener análisis ilimitados.",urlFailed:"Falló el análisis de URL",urlFailedDesc:"Comprueba que la URL de la imagen sea pública e inténtalo de nuevo.",queued:"En cola para subir",queuedDesc:"{{name}} se subirá automáticamente al reconectarte.",unsupported:"Tipo de archivo no compatible",unsupportedDesc:"Este formato no es compatible. Sube un archivo {{formats}}.",tooLarge:"Archivo demasiado grande",tooLargeDesc:"El tamaño máximo es {{limit}}. Tu archivo ocupa {{size}} MB; comprímelo o recórtalo.",slowConnection:"Conexión lenta detectada",compressed:"Imagen comprimida de {{before}} KB a {{after}} KB.",reused:"Se reutilizó un resultado reciente",mediaQueued:"Análisis multimedia en cola",success:"Archivo subido",failed:"Falló la subida",failedDesc:"Prueba otro archivo o comprueba tu conexión.",agreementFailed:"No se registró el acuerdo",agreementFailedDesc:"Inténtalo de nuevo antes de analizar."},bl={spectralAnalysis:"Análisis espectral",spectralDescription:"Distribución de la probabilidad de IA a lo largo de la línea de tiempo",exportSuccessful:"Exportación completada",exportSuccessDescription:"Los resultados del análisis se exportaron como {{format}}.",exportFailed:"Error de exportación",exportFailedDescription:"No se pudieron exportar los resultados. Inténtalo de nuevo.",executiveReportTooltip:"Exportar informe ejecutivo de auditoría en PDF — 5,00 US$",verificationCertificate:"Ver certificado de verificación",thinking:"analizando…",filePreviewLabel:"Archivo {{t
2ype}}: {{filename}}",pages:"{{count}} páginas",c2paAiProven:"C2PA: IA comprobada",c2paTampered:"C2PA: Manipulado",c2paVerified:"C2PA verificado",cryptoLocked:"Procedencia criptográfica bloqueada",untitled:"Sin título",reportMisclassification:"Informar de clasificación incorrecta",averageSeconds:"{{time}} s de media",officialVerification:"Verificación oficial",officialReport:"Exportar informe oficial de auditoría PDF criptográfica (5,00 $)",officialReportDescription:"Convierte tu último análisis completado en un registro de auditoría firmado y compartible.",fingerprint:"Huella SHA-256",modelBreakdown:"Desglose por submodelo",qrVerification:"Enlace de verificación QR",exportOfficialReport:"Exportar informe PDF oficial — 5,00 $",proDetail:"Análisis ilimitados · 19 $/mes",proUnlimited:"Análisis mensuales ilimitados",proHistory:"Historial e informes completos",proPriority:"Procesamiento prioritario",proApi:"Acceso a API incluido",exporting:"Exportando...",exportJson:"Exportar como JSON",exportCsv:"Exportar como CSV",detectionModels:"Modelos de detección",active:"ACTIVO",inactive:"INACTIVO",shareResults:"Comparte tus resultados",badgeDescription:"Añade una insignia de detección de IA verificada a tu sitio web o portafolio",getBadge:"Obtener insignia",title:"Resultados del análisis",completed:"Completado",aiGenerated:"Generado por IA",uncertain:"Incierto",humanWritten:"Escrito por una persona",aiDetected:"IA DETECTADA",humanMade:"ESCRITO POR PERSONA",confidence:"Puntuación de confianza",verdict:"Veredicto",status:"Estado",aiConfidence:"Confianza de IA",averageConfidence:"Confianza media",shareTitle:"Detección de IA: {{confidence}}% de confianza",shareText:'"{{filename}}" obtuvo {{confidence}}% de confianza de IA en AI Identifiers.',file:"Archivo",syntheticArtifact:"Artefacto sintético",uncertainRegion:"Región incierta",naturalAudio:"Audio natural",filesCount:"{{count}} de {{total}} archivos",reasoning:"Razonamiento…",reasoningTitle:"Razonamiento de AI Identifiers",noScans:"Aún no hay análisis",noScansDescription:"Sube un archivo, pega texto o suelta una imagen para realizar tu primer análisis.",tryScan:"Analizar un archivo o URL",aiDetection:"Detección de IA",contentAnalysis:"Análisis de contenido",metadata:"Metadatos",noContentAnalysis:"Aún no hay análisis; sube un archivo para ver el contenido.",signal:"Señal {{count}}",noModelBreakdown:"No hay desglose de modelos disponible.",processedIn:"Procesado en {{time}} ms",noMetadata:"Aún no hay análisis; sube un archivo para ver metadatos.",fileType:"Tipo de archivo",scanned:"Analizado",processingTime:"Tiempo de procesamiento",analyzedFiles:"Archivos analizados",analyzedAgo:"Analizado hace {{time}} s",summary:"Resumen del análisis",filesAnalyzed:"Archivos analizados",aiDetectionRate:"Tasa de detección de IA",exportResults:"Exportar resultados"},vl=JSON.parse('{"billingInterval":{"monthly":"mensual","annual":"anual","yearly":"anual"},"paygRate":"0,02 US$ / análisis","highVolumeQuestion":"¿Más de 100 mil análisis?","highVolumeContact":"Contáctanos para obtener 0,003 US$/análisis","purchasedCredits":"Créditos comprados","lowCredits":"Solo quedan {{count}} créditos comprados; recarga para evitar interrupciones.","buyCredits":"Comprar créditos","callsOfLimit":"{{used}} / {{limit}} llamadas ({{pct}}%)","closeToLimit":"Estás cerca de tu límite.","creditWeights":"Texto 1 cr · Imagen 3 cr · Vídeo/audio 8 cr","title":"Panel de desarrollador","description":"Administra tu clave API y supervisa el uso","payg":"Pago por uso","plan":"Plan {{plan}}","monthlyQuota":"Cuota mensual de API","remaining":"{{count}} restantes","currentPlan":"Plan actual","quotaLimit":"Límite de cuota","usage":"Uso","free":"Gratis","pro":"Pro","enterprise":"Empresa","unlimited":"Ilimitado","unlimitedMetered":"Ilimitado (medido)","callsPerMonth":"{{count}} llamadas / mes","callsUsed":"Llamadas API usadas","noMonthlyCap":"sin límite mensual","ofPerMonth":"de {{count}}/mes","creditsFirst":"Los créditos comprados se consumen antes de la cuota mensual y no caducan.","paygUsage":"Uso de pago por uso","scansThisMonth":"Análisis de este mes","estimatedCharge":"Cargo estimado","monthEndInvoice":"facturado por Stripe al final del mes","resets":"Se reinicia {{date}}","freePlanQuota":"50 llamadas API / mes · mejora cuando quieras","planWithInterval":"Plan {{plan}} · {{interval}}","planTier":"Nivel de plan","seoTitle":"Panel de desarrollador — AI Identifiers","avgProviderLatency":"Latencia media del proveedor","successfulCalls24h":"llamadas correctas · últimas 24 h","totalAnalysesGlobal":"Análisis totales (global)","allTime":"histórico","geminiGeneration":"Generación con Gemini","geminiDescription":"Genera texto con AI Identifiers Technology usando tu clave API. Cuesta","oneCredit":"1 crédito","perCall":"por llamada","geminiPromptPlaceholder":"Escribe una instrucción, por ejemplo: «Resume qué es una marca de agua de IA en dos frases».","generating":"Generando…","generate":"Generar","shortcutToRun":"⌘↵ para ejecutar","createKeyForTest":"Crea una clave nueva para usar la prueba","callsRemainingToday":"{{count}} llamadas restantes hoy","geminiLimits":"1 crédito por llamada · clave API obligatoria · límite de 50.000 caracteres","geminiKeyUnavailable":"Por seguridad, tu clave API solo se muestra una vez al crearla. Usa el ejemplo de endpoint en tu integración.","geminiDailyLimit":"Límite diario alcanzado: {{count}} llamadas/día. Se reinicia a medianoche UTC.","requestFailed":"La solicitud falló","networkError":"Error de red; inténtalo de nuevo.","microCredits":"Microcréditos","availableBalance":"Saldo disponible","addCredits":"Añadir créditos","callsCount":"{{count}} llamadas","recentActivity":"Actividad reciente","balanceShort":"Saldo: {{balance}}","noRecentActivity":"No hay actividad reciente","apiCosts":"Costes de API","loadingPrices":"Cargando precios…","downloadFailed":"Error de descarga","downloadFailedDescription":"No se pudo descargar este análisis.","saveFailed":"Error al guardar","zdrEnabled":"Retención cero activada","zdrDisabled":"Retención cero desactivada","zdrEnabledDescription":"Los análisis se procesan solo en memoria. No se guardarán resultados.","zdrDisabledDescription":"Los resultados se guardarán normalmente.","zdrSaveFailed":"No se pudo actualizar ZDR.","retentionSaved":"Política de retención guardada","retentionSavedDays":"Los análisis de más de {{count}} días se eliminarán cada noche.","keptIndefinitely":"Los análisis se 
2conservan indefinidamente.","policySaveFailed":"No se pudo guardar la política.","ipSaved":"Restricciones IP guardadas","ipsWhitelisted":"{{count}} IP autorizada.","ipsWhitelisted_other":"{{count}} IP autorizadas.","allIpsAllowed":"Se permiten todas las IP.","ipSaveFailed":"No se pudo guardar la lista IP.","sessionRevoked":"Sesión revocada","deviceSignedOut":"Ese dispositivo ha cerrado sesión.","revokeFailed":"No se pudo revocar la sesión","paymentMethodSaved":"✓ Método de pago guardado","autoRechargeCanEnable":"Ya puedes activar la recarga automática.","keyRotated":"Clave rotada","paygActivated":"🎉 ¡Pago por uso activado!","paygActivatedDescription":"Se cobrarán 0,02 $ por análisis mediante Stripe al final del mes, sin límite mensual.","planUpdated":"✅ Plan actualizado","planUpdatedDescription":"Los cambios ya están activos. Recibirás un correo de confirmación.","planActivated":"🎉 ¡Plan activado!","planActivatedDescription":"Tu suscripción está activa. Ya puedes usar la nueva cuota y funciones.","gcpActivated":"☁️ ¡Plan de GCP Marketplace activado!","gcpActivatedDescription":"Tu suscripción de Google Cloud está vinculada. El uso se factura a tu cuenta GCP.","microCreditsAdded":"✅ Microcréditos añadidos","microCreditsAddedDescription":"Los microcréditos se han aplicado a tu saldo.","creditsAdded":"✅ ¡Créditos añadidos a tu cuenta!","creditsAddedDescription":"Tus créditos están listos, se consumen antes de la cuota mensual y no caducan.","somethingWrong":"Algo salió mal","checkoutOpenFailed":"No se pudo abrir el pago. Inténtalo de nuevo.","subscriptionStatus":{"active":"Activo","trialing":"En prueba","past_due":"Pago vencido","canceled":"Cancelado","unpaid":"Impagado","incomplete":"Incompleto"},"cancelsAtPeriodEnd":"Se cancela al final del periodo","opening":"Abriendo…","manageBilling":"Gestionar facturación ↗","billingPortalFailed":"No se pudo abrir el portal de facturación","switchAnnual":"Cambia a anual y fija tu tarifa","annualSavings":"Ahorra ${{amount}} al año (~17 %) pagando por adelantado y protégete de futuras subidas.","annualSavingsGeneric":"Paga anualmente y ahorra hasta un 17 %.","switch":"Cambiar ↗","endsInDays":"Termina en {{count}} día","endsInDays_other":"Termina en {{count}} días","renewsInDays":"Se renueva en {{count}} día","renewsInDays_other":"Se renueva en {{count}} días","autoRecharge":"Recarga automática","active":"Activa","off":"Desactivada","autoRechargeDescription":"Compra automáticamente un paquete cuando el saldo baja del umbral, sin interrupciones.","card":"Tarjeta","endingIn":"terminada en {{last4}}","cardRemoved":"Tarjeta eliminada","autoRechargeDisabledDescription":"La recarga automática se ha desactivado.","remove":"Eliminar","noPaymentMethod":"No hay método de pago. Añade una tarjeta para activar la recarga.","stripeOpenFailed":"No se pudo abrir Stripe","addPaymentMethod":"Añadir método de pago ↗","enableAutoRecharge":"Activar recarga automática","chargeBelowThreshold":"Cobrar a la tarjeta cuando el saldo baje del umbral","topUpBelow":"Recargar por debajo de","creditsCount":"{{count}} créditos","purchaseAmount":"Importe de compra","autoRechargeEnabled":"✓ Recarga automática activada","autoRechargeDisabled":"Recarga automática desactivada","saving":"Guardando…","saveSettings":"Guardar ajustes","recentRechargeActivity":"Actividad de recargas reciente","rechargeStatus":{"success":"correcta","failed":"fallida"},"failed":"fallido","gcpMarketplace":"Google Cloud Marketplace","loading":"cargando","loadingEllipsis":"Cargando…","gcpManagedDescription":"La suscripción y cuota se gestionan en tu cuenta de Google Cloud.","viewGcpConsole":"Ver en la consola GCP","gcpPending":"Tu derecho de GCP Marketplace está pendiente. Completa o confirma la activación en GCP.","entitlementId":"ID de derecho","linkedGcpAccount":"Cuenta GCP vinculada","activationDate":"Fecha de activación","pendingActivation":"Activación pendiente","apiKey":"Clave API","secretShownOnce":"El secreto solo se muestra al crearlo","generateApiKey":"Generar clave API","rotateKey":"Rotar clave","ipRestrictions":"Restricciones IP","ipRestrictionsDescription":"Autoriza IP o rangos CIDR para usar tu clave. Déjalo vacío para permitir todos.","removeIp":"Eliminar {{ip}}","noIpRestrictions":"Sin restricciones: todas las IP pueden usar la clave.","add":"Añadir","
2ipWarning":"⚠ Incluye la IP de tu servidor o se bloquearán las llamadas.","saveRestrictions":"Guardar restricciones","dataRetentionPolicy":"Política de retención de datos","retentionDescription":"Define cuánto se conservan los análisis. La eliminación automática se ejecuta cada noche.","zeroDataRetention":"Retención cero de datos","zdrDescription":"Procesa análisis sin guardar contenido, historial, certificado ni resultados reutilizables. Puede conservarse metadatos limitados para facturación y prevención del fraude.","disableZdr":"Desactivar retención cero","enableZdr":"Activar retención cero","zdrActiveWarning":"⚠ ZDR está activo. Usa la ruta de texto síncrona limitada para procesar solo en memoria; los flujos no compatibles fallarán de forma segura.","privacyControls":"Tus controles de privacidad","privacyControlsDescription":"Descarga tus datos, elimina análisis desde el historial o borra tu cuenta permanentemente.","downloadMyData":"Descargar mis datos","deleteAccount":"Eliminar cuenta","keepForever":"Conservar siempre","daysCount":"{{count}} días","retentionWarning":"⚠ Los análisis de más de {{count}} días se eliminarán cada noche. No se puede deshacer.","savePolicy":"Guardar política","buyApiCredits":"Comprar créditos API","buyApiCreditsDescription":"Créditos prepago para alto volumen. No caducan y se consumen antes de la cuota.","pricePerCall":"{{price}} por llamada","openingCheckout":"Abriendo pago…","buyPack":"Comprar paquete de {{label}}","oneTimePayment":"Pago único mediante Stripe. No crea una suscripción.","activeSessions":"Sesiones activas","activeSessionsDescription":"Dispositivos con sesión iniciada. Revoca cualquier sesión que no reconozcas.","noActiveSessions":"No hay sesiones activas.","sessionNumber":"Sesión {{number}}","current":"Actual","expiresInDays":"Caduca en {{count}} día","expiresInDays_other":"Caduca en {{count}} días","revoking":"Revocando…","revoke":"Revocar","allSessionsRevoked":"Se revocaron las demás sesiones","devicesSignedOut":"{{count}} dispositivo desconectado.","devicesSignedOut_other":"{{count}} dispositivos desconectados.","signOutAllOther":"Cerrar las demás sesiones","batchFileScanner":"Analizador de archivos por lotes","batchFileScannerDescription":"Sube hasta 10 documentos (.txt, .md, .docx, .pdf) y analízalos juntos. Exporta los resultados como CSV o JSON.","pastBatchScans":"Análisis por lotes anteriores","pastBatchScansDescription":"Consulta análisis completados o descarga de nuevo el CSV.","loadingPastScans":"Cargando análisis anteriores…","pastScansLoadFailed":"No se pudieron cargar. Actualiza la página.","noPastScans":"Aún no hay análisis anteriores. Tu próximo lote aparecerá aquí.","filesCount":"{{count}} archivo","filesCount_other":"{{count}} archivos","aiFlaggedCount":"{{count}} marcado por IA","downloadCsv":"Descargar CSV","fullApiDocs":"Documentación API","openapiSpec":"Especificación OpenAPI","postmanCollection":"Colección Postman","apiStatus":"Estado de API","proUpsellFeatures":"1.000 llamadas/mes, SLA prioritario y webhooks"}'),wl={nav:al,hero:il,features:nl,detection:sl,stats:rl,footer:ol,common:cl,offline:ll,scan:dl,errors:ul,home:ml,batch:pl,transcript:gl,videoEvidence:hl,header:fl,auth:xl,upload:yl,results:bl,dashboard:vl},Al={home:"Accueil",about:"À propos",pricing:"Tarifs",contact:"Contact",blog:"Blog",enterprise:"Entreprise",features:"Fonctionnalités",detection:"Détection",analysis:"Analyse"},Il={title:"Détection Avancée de Contenu IA",subtitle:"Analysez le contenu généré par IA à l’aide de signaux forensiques et de provenance, y compris les signaux AI Identifiers Technology watermark signal pris en charge lorsqu’ils sont présents",cta:"Commencer la Détection",tryFree:"Essayer la Démo Gratuite",uploadFile:"Télécharger un Fichier pour Analyse",badge:"Analyse des signaux AI Identifiers Technology watermark signal pris en charge",analyzedCount:"fichiers analysés et en cours",reviewRetention:"Examinez les options de conservation avant l’analyse"},jl={title:"Détection IA de Pointe",multiFormat:"Support Multi-Format",multiFormatDesc:"Analysez images, vidéos, audio et texte avec détection IA avancée",googlePartnership:"Intégration AI Identifiers Technology watermark signal",googlePartnershipDesc:"Examine les signaux de filigrane AI Identifiers Technology watermark signal pris en charge lorsqu’ils sont présents",realTime:"Traitement en Temps Réel",realTimeDesc:"Obtenez des résultats d'analyse instantanés avec traitement quantique amélioré",enterprise:"Sécurité Entreprise",enterpriseDesc:"Sécurité de niveau bancaire avec conformité SOC 2 et options cloud privé"},Nl={uploadTitle:"Télécharger Contenu pour Analyse",selectFile:"Sélectionner Fichier",analyzing:"Analyse en cours...",results:"Résultats de l'Analyse",confidence:"Score de Confiance",aiGenerated:"Généré par IA",human:"Créé par Humain",processing:"Traitement de votre fichier...",completed:"Analyse Terminée"},kl={accuracy:"Taux de Précision",filesProcessed:"Fichiers Traités",countriesServed:"Pays Desservis",languagesSupported:"Langues Supportées"},Cl={product:"Produit",features:"Fonctionnalités",pricing:"Tarifs",enterprise:"Entreprise",company:"Société",about:"À Propos de Nous",contact:"Contact",privacy:"Politique de Confidentialité",terms:"Conditions de Service",copyright:"© 2025 AI Identifiers. Tous droits réservés.",description:"Plateforme avancée de détection de contenu IA alimentée par la technologie AI Identifiers Technology watermark signal"},Sl={loading:"Chargement...",error:"Erreur",retry:"Réessayer",cancel:"Annuler",save:"Enregistrer",close:"Fermer",edit:"Modifier",delete:"Supprimer",language:"Langue",selectLanguage:"Sélectionner la Langue",englishFallback:"Contenu en anglais"},Pl={banner:"Hors ligne — reconnexion…",restored:"Connexion rétablie",restoredDesc:"Vous êtes de nouveau en ligne ; les analyses fonctionnent normalement.",title:"Vous êtes hors ligne",scanDesc:"Les anal
2yses nécessitent une connexion. Reconnectez-vous et réessayez.",offlineDesc:"Les analyses reprendront automatiquement après la reconnexion.",tryAgain:"Vous êtes hors ligne ; reconnectez-vous et réessayez."},Dl={dropHere:"Déposez un fichier ici ou cliquez pour parcourir",uploading:"Téléchargement et analyse…",aiDetected:"Contenu généré par IA détecté",likelyHuman:"Probablement créé par un humain",createAccount:"Créer un compte gratuit",scanAnother:"Analyser un autre fichier",dailyLimit:"Limite quotidienne d’analyses atteinte",noCredits:"Aucun crédit d’analyse restant",upgradePro:"Passer à Pro",getApiKey:"Obtenir une clé API",dismiss:"Fermer",widgetTitle:"Détection de Contenu IA",widgetDesc:"Importez n’importe quel fichier pour déterminer s’il a été créé par intelligence artificielle. Obtenez des scores de confiance détaillés et des rapports d’analyse complets.",welcomeBack:"Bon retour, {{name}} !",paygBadge:"Paiement à l'usage",paygDetails:"Fichiers jusqu’à 50 Mo acceptés. L’audio et la vidéo sont facturés par segment de 15 secondes ; le texte et les images coûtent 1 crédit chacun. Stripe facture automatiquement à 10 $US.",feat1Title:"Détection IA",feat1Desc:"Détection probabiliste d’images générées par IA ; les résultats varient selon le contenu, le modèle et les modifications",feat2Title:"Audio et PDF",feat2Desc:"Détectez les voix clonées par IA (ElevenLabs, Suno) et le texte rédigé par IA dans les documents importés",feat3Title:"Vidéos deepfake",feat3Desc:"Analyse forensique des deepfakes image par image et inspection des signaux de filigrane AI Identifiers Technology pour les contenus pris en charge",selectFile:"Sélectionner un fichier",analysing:"Analyse en cours…",signUpNudge:"Vous voulez des explications claires et des transcriptions ? Inscrivez-vous gratuitement →"},Tl={networkError:"Erreur réseau — réessayez.",detectionFailed:"Échec de la détection — réessayez.",tooManyRequests:"Trop de requêtes — patientez puis réessayez."},El={tryNow:"Essayez maintenant gratuitement",tryNowDesc:"Collez du texte ou importez une image, un PDF, un fichier audio ou vidéo pris en charge.",synthidTitle:"Prise en charge des signaux AI Identifiers Technology watermark signal",ctaBannerTitle:"Commencez à détecter le contenu IA aujourd’hui",ctaBannerDesc:"15 analyses gratuites par mois. Sans carte bancaire.",getFreeApiKey:"Obtenir une clé API gratuite",viewPricing:"Voir les tarifs",signalBased:"Basé sur les signaux",probabilistic:"Analyse probabiliste",algorithms:"Algorithmes de détection",contentTypes:"Types de contenu",freeScans:"15 analyses / mois"},_l={title:"Détection IA par lots",desc:"Téléversez jusqu’à {{count}} fichiers image, audio, vidéo ou PDF pris en charge pour une détection IA simultanée.",dropPrompt:"Cliquez ou faites glisser des fichiers pour les importer",dropActive:"Déposez les fichiers ici",fileTypes:"Images : JPG, JPEG, PNG, WebP, GIF · Vidéo : MP4, AVI, MOV, WebM · Audio : MP3, WAV, OGG, M4A, AAC · PDF",fileTooLarge:"{{name}} dépasse la limite de taille de fichier de {{limit}}",invalidType:"{{name}} n'est pas un type de fichier pris en charge",tooManyFiles:"{{count}} fichiers maximum autorisés",startProcessing:"Lancer le traitement",pause:"Pause",resume:"Reprendre",clearCompleted:"Effacer les analyses terminées",clearAll:"Tout effacer",paygNotice:"Paiement à l’usage : fichiers jusqu’à 50 Mo. Chaque analyse est facturée par crédit.",maxFileSize:"{{size}} maximum",totalCount:"{{count}} au total",pendingCount:"{{count}} en attente",processingCount:"{{count}} en cours",completedCount:"{{count}} terminées",errorCount:"{{count}} erreurs",statusPending:"En attente",statusUploading:"Téléversement en cours",statusAnalyzing:"Analyse en cours",statusComplete:"Terminé",statusError:"Erreur",signUpNudgeTitle:"Débloquez les explications et rapports complets",signUpNudgeDesc:"Inscrivez-vous gratuitement pour obtenir des explications en langage clair, des transcriptions et l’historique de chaque analyse.",signUpNudgeCta:"S'inscrire gratuitement →"},Rl={toggle:"Transcription",wordCount:"{{count}} mots",unavailable:"Transcription non disponible"},Ll={labels:"Étiquettes de scène",explicit:"images explicites"},zl={tools:"Outils de détection",provenance:"Signaux et provenance",platform:"Développeurs et plateforme",trust:"Confiance et contexte",search:"Rechercher",searchLabel:"Rechercher dans AI Identifiers Technology",navigation:"Navigation",mainNavigation:"Navigation principale",mobileNavigation:"Navigation mobile",openNavigation:"Ouvrir toute la navigation",closeNavigation:"Fermer le menu",menu:"Menu",darkMode:"Mode sombre",lightMode:"Mode clair",switchDark:"Passer au thème sombre",switchLight:"Passer au thème clair",installExtension:"Installer l’extension Chrome",notificationsOn:"Notifications activées",enableNotifications:"Activer les notifications",searchTitle:"Rechercher dans l’index des preuves",searchDescription:"Outils, documentation, guides et recherche",searchPlaceholder:"Essayez « documentation API » ou « deepfake »",searchGrounded:"La recherche repose sur le contenu publié de la plateforme.",escClose:"ÉCHAP pour fermer",systemsUpdating:"Mise à jour des systèmes",extension:"Extension Chrome",downloadExtension:"Télécharger l’extension Chrome",catalog:{tools:{multimodalAnalysis:{label:"Analyse multimodale",desc:"Inspection du texte, des images, des vidéos, de l’audio et des documents"},textLanguage:{label:"Texte et langage",desc:"Motifs des modèles de langage et score probabiliste"},imageSynthesis:{label:"Image et synthèse",desc:"Artefacts génératifs et anomalies de pixels"},videoDeepfakeDetector:{label:"Détecteur de vidéos deepfake",desc:"Analyse temporelle image par image"},aiVoiceDetector:{label:"Détecteur de voix IA",desc:"Inspection des fréquences et des signaux spectraux"},pdfAiDetector:{label:"Détecteur d’IA dans les PDF",desc:"Analyse forensique des documents structurés"},freeAiDetector:{label:"Détecteur d’IA gratuit",desc:"Commencez par une évaluation sans carte bancaire"},aiPlagiarismChecker:{label:"Vérificateur de plagiat IA",desc:"Recherchez les signaux d’IA dans les écrits"},textSignalChecker:{label:"Vérificateur de signaux textuels",desc:"Inspectez le texte pour détecter des motifs de génération par IA"},languageSignalChecker:{label:"Vérificateur de signaux linguistiques",desc:"Inspectez le texte pour détecter des motifs de génération par IA"},writingSignalChecker:{label:"Vérificateur de signaux d’écriture",desc:"Inspectez le texte pour détecter des motifs de génération par IA"},audioDeepfakeChecker:{label:"Vérificateur d’audio deepfake",desc:"Examinez les signaux de voix synthétique"}},provenance:{watermarkInspection:{label:"Inspection des filigrane
2s",desc:"Signaux de provenance pris en charge lorsqu’ils sont présents"},signalCoverage:{label:"Couverture des signaux",desc:"Fonctionnalités prises en charge pour chaque modalité"},detectionHistory:{label:"Historique de la détection",desc:"Évolution historique des signatures d’IA"},provenanceSignalContext:{label:"Contexte des signaux de provenance",desc:"Contexte de vérification indépendante"},aiSystemsContext:{label:"Contexte des systèmes d’IA",desc:"Contexte sur la technologie d’IA et la provenance"},watermarkTechnologyContext:{label:"Contexte de la technologie de filigrane",desc:"Contexte sur les technologies de filigrane prises en charge"},enterpriseAiIntegration:{label:"Intégration de l’IA en entreprise",desc:"Informations sur l’intégration en entreprise"},enterpriseAiDetection:{label:"Détection d’IA en entreprise",desc:"Flux de détection pour les organisations"},legalAiDetection:{label:"Détection d’IA juridique",desc:"Contexte d’examen tenant compte des preuves"}},access:{freeEvaluation:{label:"Évaluation gratuite",desc:"15 analyses web par mois, sans carte bancaire"},pricing:{label:"Tarifs",desc:"Offres et accès en volume pour un usage professionnel"},apiPlatform:{label:"Plateforme API",desc:"Accès programmatique pour les développeurs"},developerCenter:{label:"Centre des développeurs",desc:"Créez avec AI Identifiers Technology"},getApiKey:{label:"Obtenir une clé API",desc:"Créez des identifiants pour l’accès payant à l’API"},apiPlayground:{label:"Environnement de test API",desc:"Testez les requêtes API prises en charge"},developerDocumentation:{label:"Documentation développeur",desc:"Guides d’intégration et références"},integrityAgent:{label:"Agent d’intégrité",desc:"Examinez le contenu avec des flux guidés"},agentConnectivity:{label:"Connectivité des agents",desc:"Connectez des agents d’IA compatibles"},lmsIntegration:{label:"Intégration LMS",desc:"Déploiement universitaire à l’échelle du campus"},aggieHomecoming:{label:"Retrouvailles Aggie",desc:"Guide indépendant de la célébration et du portail"},aggiesPortal:{label:"Portail Aggies",desc:"Accès dédié aux utilisateurs admissibles de NC A&T"},enterpriseIntegrations:{label:"Intégrations d’entreprise",desc:"Connectez les systèmes de l’organisation"},enterpriseSolutions:{label:"Solutions d’entreprise",desc:"Contrôles organisationnels et flux à grand volume"},trustCenter:{label:"Centre de confiance",desc:"Ressources sur la sécurité, la confidentialité et l’examen en entreprise"},marketplace:{label:"Place de marché",desc:"Distribution et accès à la plateforme"}},trust:{privacyRetention:{label:"Confidentialité et conservation",desc:"Protocoles de gestion et de traitement des données"},securityBounties:{label:"Sécurité et primes",desc:"Rapports sur la protection de l’infrastructure"},accuracyContext:{label:"Contexte de précision",desc:"Bornes probabilistes et limites"},systemStatus:{label:"État du système",desc:"Disponibilité de l’API et de la plateforme en temps réel"},documentation:{label:"Documentation",desc:"Guides techniques d’intégration et d’utilisation"},productChangelog:{label:"Journal des modifications",desc:"Améliorations publiées et changements de la plateforme"},productTour:{label:"Visite du produit",desc:"Découvrez les principaux flux de la plateforme"},blogGuides:{label:"Blog et guides",desc:"Recherche, explications et guides pratiques"},studentResources:{label:"Ressources étudiantes",desc:"Conseils de vérification responsable pour les étudiants"},about:{label:"À propos d’AI Identifiers LLC",desc:"Mission, histoire et contexte de la plateforme"},teamCeo:{label:"Notre équipe et notre PDG",desc:"Découvrez Marvin White, fondateur et PDG"},community:{label:"Communauté",desc:"Participation de la communauté et contexte partagé"},communityLeaderboard:{label:"Classement de la communauté",desc:"Classement public de l’activité communautaire"},supportCenter:{label:"Centre d’assistance",desc:"Aide sur les comptes et l’utilisation de la plateforme"},contact:{label:"Contact",desc:"Contactez l’équipe"},careers:{label:"Carrières",desc:"Postes à pourvoir et opportunités"},investorInformation:{label:"Informations pour les investisseurs",desc:"Présentation de l’entreprise et de la plateforme"},internationalAccess:{label:"Accès international",desc:"Accès régional et contexte linguistique"},allPagesDirectory:{label:"Répertoire de toutes les pages",desc:"Parcourez toutes les pages canoniques publiées"}}}},Ml={email:"E-mail",password:"Mot de passe",firstName:"Prénom",lastName:"Nom",showPassword:"Aff
2icher le mot de passe",hidePassword:"Masquer le mot de passe",passwordPlaceholder:"Saisissez votre mot de passe",passwordHint:"Au moins 8 caractères",invalidEmail:"Saisissez une adresse e-mail valide",passwordMin:"Le mot de passe doit comporter au moins 8 caractères",nameRequired:"Saisissez votre nom",welcomeBack:"Bon retour",loginDescription:"Connectez-vous à votre compte AI Identifiers",signIn:"Se connecter",signingIn:"Connexion...",signedIn:"Connexion réussie ✓",signedInDescription:"Bon retour sur AI Identifiers.",loginFailed:"Échec de la connexion",continueGoogle:"Continuer avec Google",orContinue:"ou continuer avec",forgotQuestion:"Mot de passe oublié ?",noAccount:"Vous n’avez pas de compte ?",createOne:"Créer un compte",createFree:"Créer un compte gratuit",registerDescription:"15 analyses gratuites par mois, sans carte bancaire",createAccount:"Créer le compte",creatingAccount:"Création du compte...",orSignUp:"ou s’inscrire avec",alreadyAccount:"Vous avez déjà un compte ?",registrationFailed:"Échec de l’inscription",registrationSuccess:"🎉 Bienvenue sur AI Identifiers !",registrationSuccessDesc:"Votre compte gratuit est prêt. Vous disposez de 15 analyses par mois.",forgotTitle:"Mot de passe oublié",forgotDescription:"Saisissez votre e-mail pour recevoir un lien",checkEmail:"Consultez votre e-mail",resetSent:"Si un compte correspond à cet e-mail, nous avons envoyé un lien de réinitialisation. Il expire dans 1 heure.",sendReset:"Envoyer le lien",sending:"Envoi...",backLogin:"Retour à la connexion",resetFailed:"Impossible d’envoyer l’e-mail. Réessayez.",genericError:"Une erreur est survenue"},Fl={firstScan:"Votre première analyse !",guestScansLeft:"Bienvenue sur AI Identifiers — il vous reste {{count}} analyses invité.",aiVerdict:"⚠ Contenu généré par IA détecté",humanVerdict:"✓ Probablement créé par un humain",confidence:"Score de confiance IA",highConfidence:"Confiance élevée — marqueurs IA forts détectés",moderateConfidence:"Confiance modérée — certains motifs IA détectés",lowConfidence:"Faible confiance — le contenu semble écrit par un humain",upsell:"Créez un compte gratuit pour enregistrer l’historique et accéder aux rapports détaillés, sans carte.",signIn:"Se connecter",usedScans:"{{used}} analyses gratuites utilisées sur {{limit}}",leftScans:"{{count}} analyses gratuites restantes",proTitle:"Passez à Pro — analyses illimitées, 19 $/mois",proDesc:"Analyses illimitées, historique, traitement prioritaire, accès API et rapports détaillés.",scanA
2nother:"Analyser un autre fichier",supported:"Téléchargez une image, un PDF, un fichier audio ou vidéo pris en charge.",accepted:"Formats acceptés : {{formats}}",maxSize:"Taille maximale : {{size}}",signUpForLargerFiles:"Inscrivez-vous pour profiter de 50 Mo",enterpriseForLargerFiles:"Besoin de fichiers plus volumineux ? Découvrez Enterprise",uploadingProgress:"Téléchargement… {{progress}} %",processing:"Traitement par IA…",selectSignIn:"Sélectionnez un fichier et connectez-vous",freeAllowance:"Gratuit · 15 analyses/mois · Sans carte",text:"Texte",image:"Image",audio:"Audio",video:"Vidéo",publicImage:"Image publique",textHelp:"Collez ou importez du texte pour analyser ses signaux linguistiques.",urlHelp:"Collez l’URL publique d’une image pour l’analyser sans téléchargement.",fileHelp:"Importez un fichier {{mode}} ou choisissez un autre mode.",scanText:"Analyser le texte",scanUrl:"Analyser l’URL",pasteText:"Collez ici le texte à analyser…",reselect:"Sélectionner à nouveau le fichier",defaultUpsell:"Créez un compte gratuit pour enregistrer les résultats et accéder à l’historique.",quotaGuest:"Vous avez utilisé les 50 analyses invité",quotaMonthly:"Vous avez utilisé les 15 analyses gratuites du mois",quotaCredits:"Vous avez utilisé tous vos crédits",quotaGuestDesc:"Créez un compte gratuit pour continuer et enregistrer vos résultats.",quotaMonthlyDesc:"Vos 15 analyses gratuites mensuelles sont utilisées. Le quota sera réinitialisé le {{date}} (dans {{count}} jours).",quotaCreditsDesc:"Tous les crédits disponibles pour cette période ont été utilisés.",registrationFree:"L’inscription est gratuite et ne nécessite aucune carte.",quotaUpsell:"Inscrivez-vous gratuitement pour conserver l’historique ou passez à Pro pour des analyses illimitées.",urlFailed:"Échec de l’analyse de l’URL",urlFailedDesc:"Vérifiez que l’URL de l’image est publique et réessayez.",queued:"Téléchargement mis en attente",queuedDesc:"{{name}} sera téléchargé automatiquement après la reconnexion.",unsupported:"Type de fichier non pris en charge",unsupportedDesc:"Ce format n’est pas pris en charge. Importez un fichier {{formats}}.",tooLarge:"Fichier trop volumineux",tooLargeDesc:"La taille maximale est de {{limit}}. Votre fichier fait {{size}} Mo ; compressez-le ou raccourcissez-le.",slowConnection:"Connexion lente détectée",compressed:"Image compressée de {{before}} Ko à {{after}} Ko.",reused:"Résultat récent réutilisé",mediaQueued:"Analyse du média en attente",success:"Téléchargement réussi",failed:"Échec du téléchargement",failedDesc:"Essayez un autre fichier ou vérifiez votre connexion.",agreementFailed:"Accord non enregistré",agreementFailedDesc:"Réessayez avant de lancer l’analyse."},ql={spectralAnalysis:"Analyse spectrale",spectralDescription:"Distribution de la probabilité d’IA sur la chronologie",exportSuccessful:"Exportation réussie",exportSuccessDescription:"Les résultats de l’analyse ont été exportés au format {{format}}.",exportFailed:"Échec de l’exportation",exportFailedDescription:"Impossible d’exporter les résultats. Veuillez réessayer.",executiveReportTooltip:"Exporter le rapport d’audit PDF exécutif — 5,00 $US",verificationCertificate:"Voir le certificat de vérification",thinking:"analyse en cours…",filePreviewLabel:"Fichier {{type}} : {{filename}}",pages:"{{count}} pages",c2paAiProven:"C2PA : IA prouvée",c2paTampered:"C2PA : altéré",c2paVerified:"C2PA vérifié",cryptoLocked:"Provenance cryptographique verrouillée",untitled:"Sans titre",reportMisclassification:"Signaler une erreur de classification",averageSeconds:"{{time}} s en moyenne",officialVerification:"Vérification officielle",officialReport:"Exporter le rapport officiel d’audit PDF cryptographique (5,00 $)",officialReportDescription:"Transformez votre dernière analyse terminée en dossier d’audit signé et partageable.",fingerprint:"Empreinte SHA-256",modelBreakdown:"Répartition des sous-modèles",qrVerification:"Lien de vérification QR",exportOfficialReport:"Exporter le rapport PDF officiel — 5,00 $",proDetail:"Analyses illimitées · 19 $/mois",proUnlimited:"Analyses mensuelles illimitées",proHistory:"Historique et rapports complets",proPriority:"Traitement prioritaire",proApi:"Accès API inclus",exporting:"Exportation...",exportJson:"Exporter au format JSON",exportCsv:"Exporter au format CSV",detectionModels:"Modèles de détection",active:"ACTIF",inactive:"INACTIF",shareResults:"Partagez vos résultats",badgeDescription:"Ajoutez un badge de détection IA vérifié à votre site ou portfolio",getBadge:"Obtenir le badge",title:"Résultats de l’analyse",completed:"Terminé",aiGenerated:"Généré par IA",uncertain:"Incertain",humanWritten:"Écrit par un humain",aiDetected:"IA DÉTECTÉE",humanMade:"ÉCRIT PAR UN HUMAIN",confidence:"Score de confiance",verdict:"Verdict",status:"Statut",aiConfidence:"Confiance IA",averageConfidence:"Confiance moyenne",shareTitle:"Détection IA : confiance de {{confidence}} %",shareText:'"{{filename}}" a obtenu {{confidence}} % de confiance IA sur AI Identifiers.',file:"Fichier",syntheticArtifact:"Artefact synthétique",uncertainRegion:"Zone incertaine",naturalAudio:"Audio naturel",filesCount:"{{count}} fichiers sur {{total}}",reasoning:"Raisonnement…",reasoningTitle:"Raisonnement d’AI Identifiers",noScans:"Aucune analyse pour le moment",noScansDescription:"Importez un fichier, collez du texte ou déposez une image pour lancer votre première analyse.",tryScan:"Analyser un fichier ou une URL",aiDetection:"Détection IA",contentAnalysis:"Analyse du contenu",metadata:"Métadonnées",noContentAnalysis:"Aucune analyse ; importez un fichier pour voir l’analyse du contenu.",signal:"Signal {{count}}",noModelBreakdown:"Aucun détail de modèle disponible.",processedIn:"Traité en {{time}} ms",noMetadata:"Aucune analyse ; importez un fichier pour voir les métadonnées.",fileType:"Type de fichier",scanned:"Analysé",processingTime:"Temps de traitement",analyzedFiles:"Fichiers anal
2ysés",analyzedAgo:"Analysé il y a {{time}} s",summary:"Résumé de l’analyse",filesAnalyzed:"Fichiers analysés",aiDetectionRate:"Taux de détection IA",exportResults:"Exporter les résultats"},Ol=JSON.parse('{"billingInterval":{"monthly":"mensuelle","annual":"annuelle","yearly":"annuelle"},"paygRate":"0,02 $US / analyse","highVolumeQuestion":"Plus de 100 000 analyses ?","highVolumeContact":"Contactez-nous pour un tarif de 0,003 $US/analyse","purchasedCredits":"Crédits achetés","lowCredits":"Il ne reste que {{count}} crédits achetés ; rechargez pour éviter toute interruption.","buyCredits":"Acheter des crédits","callsOfLimit":"{{used}} / {{limit}} appels ({{pct}} %)","closeToLimit":"Vous approchez de votre limite.","creditWeights":"Texte 1 cr · Image 3 cr · Vidéo/audio 8 cr","title":"Tableau de bord développeur","description":"Gérez votre clé API et surveillez l’utilisation","payg":"Paiement à l’usage","plan":"Offre {{plan}}","monthlyQuota":"Quota API mensuel","remaining":"{{count}} restants","currentPlan":"Offre actuelle","quotaLimit":"Limite du quota","usage":"Utilisation","free":"Gratuit","pro":"Pro","enterprise":"Entreprise","unlimited":"Illimité","unlimitedMetered":"Illimité (mesuré)","callsPerMonth":"{{count}} appels / mois","callsUsed":"Appels API utilisés","noMonthlyCap":"sans plafond mensuel","ofPerMonth":"sur {{count}}/mois","creditsFirst":"Les crédits achetés sont utilisés avant le quota mensuel et n’expirent jamais.","paygUsage":"Utilisation à l’usage","scansThisMonth":"Analyses ce mois-ci","estimatedCharge":"Montant estimé","monthEndInvoice":"facturé par Stripe en fin de mois","resets":"Réinitialisation {{date}}","freePlanQuota":"50 appels API / mois · mise à niveau à tout moment","planWithInterval":"Offre {{plan}} · {{interval}}","planTier":"Niveau d’offre","seoTitle":"Tableau de bord développeur — AI Identifiers","avgProviderLatency":"Latence moyenne du fournisseur","successfulCalls24h":"appels réussis · dernières 24 h","totalAnalysesGlobal":"Total des analyses (monde)","allTime":"depuis toujours","geminiGeneration":"Génération Gemini","geminiDescription":"Générez du texte avec AI Identifiers Technology et votre clé API. Coût :","oneCredit":"1 crédit","perCall":"par appel","geminiPromptPlaceholder":"Saisissez une consigne, par ex. « Résumez le filigrane IA en deux phrases. »","generating":"Génération…","generate":"Générer","shortcutToRun":"⌘↵ pour lancer","createKeyForTest":"Créez une nouvelle clé pour tester","callsRemainingToday":"{{count}} appels restants aujourd’hui","geminiLimits":"1 crédit par appel · clé API requise · limite de 50 000 caractères","geminiKeyUnavailable":"Pour votre sécurité, la clé API n’est affichée qu’à sa création. Utilisez l’exemple de point d’accès dans votre intégration.","geminiDailyLimit":"Limite quotidienne atteinte : {{count}} appels/jour. Réinitialisation à minuit UTC.","requestFailed":"Échec de la requête","networkError":"Erreur réseau — veuillez réessayer.","microCredits":"Microcrédits","availableBalance":"Solde disponible","addCredits":"Ajouter des crédits","callsCount":"{{count}} appels","recentActivity":"Activité récente","balanceShort":"Solde : {{balance}}","noRecentActivity":"Aucune activité récente","apiCosts":"Coûts API","loadingPrices":"Chargement des tarifs…","downloadFailed":"Échec du téléchargement","downloadFailedDescription":"Impossible de télécharger cette analyse.","saveFailed":"Échec de l’enregistrement","zdrEnabled":"Rétention zéro activée","zdrDisabled":"Rétention zéro désactivée","zdrEnabledDescription":"Les analyses sont traitées uniquement en mémoire. Aucun résultat ne sera stocké.","zdrDisabledDescription":"Les résultats seront stockés normalement.","zdrSaveFailed":"Impossible de modifier le paramètre ZDR.","retentionSaved":"Politique de conservation enregistrée","retentionSavedDays":"Les analyses de plus de {{count}} jours seront supprimées chaque nuit.","keptIndefinitely":"Les analyses sont conservées indéfiniment.","policySaveFailed":"Impossible d’enregistrer la politique.","ipSaved":"Restrictions IP enregistrées","ipsWhitelisted":"{{count}} IP autorisée.","ipsWhitelisted_other":"{{count}} IP autorisées.","allIpsAllowed":"Toutes les IP sont autorisées.","ipSaveFailed":"Impossible d’enregistrer la liste IP.","sessionRevoked":"Session révoquée","deviceSignedOut":"Cet appareil a été déconnecté.","revokeFailed":"Échec de la révocation","paymentMethodSaved":"✓ Moyen de paiement enregistré","autoRechargeCanEnable":"La recharge automatique peut être activée.","keyRotated":"Clé renouvelée","paygActivated":"🎉 Paiement à l’usage activé !","paygActivatedDescription":"Vous serez facturé 0,02 $ par analyse via Stripe en fin de mois, sans plafond mensuel.","planUpdated":"✅ Offre mise à jour","planUpdatedDescription":"Vos modifications sont actives. Un e-mail de confirmation va vous parvenir.","planActivated":"🎉 Offre activée !","planActivatedDescription":"Votre abonnement est actif. Votre nouveau quota et vos fonctions sont disponibles.","gcpActivated":"☁️ Offre GCP Marketplace activée !","gcpActivatedDescription":"Votre abonnement Google Cloud est lié. L’utilisation est facturée sur votre compte GCP.","microCreditsAdded":"✅ Microcrédits ajoutés","microCreditsAddedDescription":"Vos microcrédits ont été ajoutés au solde.","creditsAdded":"✅ Crédits ajoutés à votre compte !","creditsAddedDescription":"Vos crédits sont prêts, utilisés avant le quota mensuel et sans expiration.","somethingWrong":"Un problème est survenu","checkoutOpenFailed":"Impossible d’ouvrir le paiement. Réessayez.","subscriptionStatus":{"active":"Actif","trialing":"À l’essai","past_due":"En retard","canceled":"Annulé","unpaid":"Impayé","incomplete":"Incomplet"},"cancelsAtPeriodEnd":"Annulation en fin de période","opening":"Ouverture…","manageBilling":"Gérer la facturation ↗","billingPortalFailed":"Impossible d’ouvrir le portail de facturation","switchAnnual":"Passez à l’annuel et conservez votre tarif","annualSavings":"Économisez {{amount}} $/an (~17 %) en payant d’avance et protégez-vous des hausses.","annualSavingsGeneric":"Payez annuellement et économisez jusqu’à 17 %.","switch":"Changer ↗","endsInDays":"Se termine dans {{count}} jour","endsInDays_other":"Se termine dans {{count}} jours","renewsInDays":"Renouvellement dans {{count}} jour","renewsInDays_other":"Renouvellement dans {{count}} jours","autoRecharge":"Recharge automatique","active":"Active","off":"Désactivée","autoRechargeDescription":"Achetez automatiquement un lot lorsque le solde passe sous le seuil, sans interruption.","card":"Carte","endingIn":"se terminant par {{last4}}","cardRemoved":"Carte supprimée","autoRechargeDisabledDescription":"La recharge automatique a été désactivée.","remove":"Supprimer","noPaymentMethod":"Aucun moyen de paiement. Ajoutez une carte pour activer la recharge.","stripeOpenFailed":"Impossible d’ouvrir Stripe","addPaymentMethod":"Ajouter un moyen de paiement ↗","enableAutoRecharge":"Activer la recharge automatique","chargeBelowThreshold":"Débiter la carte lorsque le solde passe sous le seuil","to
2pUpBelow":"Recharger sous","creditsCount":"{{count}} crédits","purchaseAmount":"Montant d’achat","autoRechargeEnabled":"✓ Recharge automatique activée","autoRechargeDisabled":"Recharge automatique désactivée","saving":"Enregistrement…","saveSettings":"Enregistrer les paramètres","recentRechargeActivity":"Recharges récentes","rechargeStatus":{"success":"réussie","failed":"échouée"},"failed":"échec","gcpMarketplace":"Google Cloud Marketplace","loading":"chargement","loadingEllipsis":"Chargement…","gcpManagedDescription":"L’abonnement et le quota sont gérés dans votre compte Google Cloud.","viewGcpConsole":"Voir dans la console GCP","gcpPending":"Votre droit GCP Marketplace est en attente. Terminez ou confirmez l’activation dans GCP.","entitlementId":"ID du droit","linkedGcpAccount":"Compte GCP lié","activationDate":"Date d’activation","pendingActivation":"Activation en attente","apiKey":"Clé API","secretShownOnce":"Secret affiché uniquement à la création","generateApiKey":"Générer une clé API","rotateKey":"Renouveler la clé","ipRestrictions":"Restrictions IP","ipRestrictionsDescription":"Autorisez des IP ou plages CIDR à utiliser votre clé. Laissez vide pour tout autoriser.","removeIp":"Supprimer {{ip}}","noIpRestrictions":"Aucune restriction — toutes les IP peuvent utiliser la clé.","add":"Ajouter","ipWarning":"⚠ Incluez l’IP de votre serveur, sinon les appels seront bloqués.","saveRestrictions":"Enregistrer les restrictions","dataRetentionPolicy":"Politique de conservation des données","retentionDescription":"Définissez la durée de conservation des analyses. La suppression automatique est exécutée chaque nuit.","zeroDataRetention":"Rétention zéro des données","zdrDescription":"Traitez les analyses sans enregistrer le contenu, l’historique, le certificat ou le résultat. Des métadonnées limitées peuvent subsister pour la facturation et la lutte contre la fraude.","disableZdr":"Désactiver la rétention zéro","enableZdr":"Activer la rétention zéro","zdrActiveWarning":"⚠ ZDR est actif. Utilisez la route texte synchrone limitée pour le traitement en mémoire ; les flux incompatibles échoueront de manière sûre.","privacyControls":"Vos contrôles de confidentialité","privacyControlsDescription":"Téléchargez vos données, supprimez des analyses de l’historique ou supprimez définitivement votre compte.","downloadMyData":"Télécharger mes données","deleteAccount":"Supprimer le compte","keepForever":"Conserver toujours","daysCount":"{{count}} jours","retentionWarning":"⚠ Les analyses de plus de {{count}} jours seront supprimées chaque nuit. Action irréversible.","savePolicy":"Enregistrer la politique","buyApiCredits":"Acheter des crédits API","buyApiCreditsDescription":"Crédits prépayés pour usage intensif. Sans expiration, utilisés avant le quota.","pricePerCall":"{{price}} par appel","openingCheckout":"Ouverture du paiement…","buyPack":"Acheter le lot {{label}}","oneTimePayment":"Paiement unique via Stripe. Aucun abonnement créé.","activeSessions":"Sessions actives","activeSessionsDescription":"Appareils actuellement connectés. Révoquez toute session inconnue.","noActiveSessions":"Aucune session active.","sessionNumber":"Session {{number}}","current":"Actuelle","expiresInDays":"Expire dans {{count}} jour","expiresInDays_other":"Expire dans {{count}} jours","revoking":"Révocation…","revoke":"Révoquer","allSessionsRevoked":"Toutes les autres sessions ont été révoquées","devicesSignedOut":"{{count}} appareil déconnecté.","devicesSignedOut_other":"{{count}} appareils déconnectés.","signOutAllOther":"Déconnecter toutes les autres sessions","batchFileScanner":"Analyse de fichiers par lot","batchFileScannerDescription":"Importez jusqu’à 10 documents (.txt, .md, .docx, .pdf) et analysez-les ensemble. Export CSV ou JSON.","pastBatchScans":"Analyses par lot précédentes","pastBatchScansDescription":"Consultez les analyses terminées ou retéléchargez le CSV.","loadingPastScans":"Chargement des analyses…","pastScansLoadFailed":"Impossible de charger les analyses. Actualisez la page.","noPastScans":"Aucune analyse précédente. Votre prochain lot apparaîtra ici.","filesCount":"{{count}} fichier","filesCount_other":"{{count}} fichiers","aiFlaggedCount":"{{count}} signalé par l’IA","downloadCsv":"Télécharger le CSV","fullApiDocs":"Documentation API","openapiSpec":"Spécification OpenAPI","postmanCollection":"Collection Postman","apiStatus":"État de l’API","proUpsellFeatures":"1 000 appels/mois, SLA prioritaire et webhooks"}'),$l={nav:Al,hero:Il,features:jl,detection:Nl,stats:kl,footer:Cl,common:Sl,offline:Pl,scan:Dl,errors:Tl,home:El,batch:_l,transcript:Rl,videoEvidence:Ll,header:zl,auth:Ml,upload:Fl,results:ql,dashboard:Ol},Ul={home:"الرئيسية",about:"حول",pricing:"الأسعار",contact:"اتصل",blog:"مدونة",enterprise:"المؤسسات",features:"المميزات",detection:"الكشف",analysis:"التحليل"},Gl={title:"كشف متقدم لمحتوى الذكاء الاصطناعي",subtitle:"حلّل المحتوى المُولد بالذكاء الاصطناعي باستخدام إشارات جنائية وإشارات المصدر، بما في ذلك إشارات AI Identifiers Technology watermark signal المدعومة عند توفرها",cta:"ابدأ الكشف",tryFree:"جرب العرض التوضيحي المجاني",uploadFile:"رفع ملف للتحليل",badge:"تحليل إشارات AI Identifiers Technology watermark signal المدعومة",analyzedCount:"ملف تم تحليله وما زال العداد يرتفع",reviewRetention:"راجع خيارات الاحتفاظ قبل الفحص"}
2,Vl={title:"كشف ذكاء اصطناعي متطور",multiFormat:"دعم متعدد الصيغ",multiFormatDesc:"حلل الصور والفيديو والصوت والنص مع كشف الذكاء الاصطناعي المتقدم",googlePartnership:"تكامل AI Identifiers Technology watermark signal",googlePartnershipDesc:"يفحص إشارات العلامات المائية AI Identifiers Technology watermark signal المدعومة عند توفرها",realTime:"معالجة في الوقت الفعلي",realTimeDesc:"احصل على نتائج تحليل فورية مع معالجة محسنة كمياً",enterprise:"أمان المؤسسات",enterpriseDesc:"أمان بمستوى البنوك مع امتثال SOC 2 وخيارات السحابة الخاصة"},Bl={uploadTitle:"رفع محتوى للتحليل",selectFile:"اختر ملف",analyzing:"يحلل...",results:"نتائج التحليل",confidence:"نقاط الثقة",aiGenerated:"مُولد بالذكاء الاصطناعي",human:"مُنشأ بواسطة إنسان",processing:"معالجة ملفك...",completed:"اكتمل التحليل"},Hl={accuracy:"معدل الدقة",filesProcessed:"الملفات المعالجة",countriesServed:"البلدان المخدومة",languagesSupported:"اللغات المدعومة"},Wl={product:"المنتج",features:"المميزات",pricing:"الأسعار",enterprise:"المؤسسات",company:"الشركة",about:"معلومات عنا",contact:"اتصل",privacy:"سياسة الخصوصية",terms:"شروط الخدمة",copyright:"© 2025 AI Identifiers. جميع الحقوق محفوظة.",description:"منصة كشف محتوى الذكاء الاصطناعي المتقدمة مدعومة بتقنية AI Identifiers Technology watermark signal"},Kl={loading:"جاري التحميل...",error:"خطأ",retry:"إعادة المحاولة",cancel:"إلغاء",save:"حفظ",close:"إغلاق",edit:"تحرير",delete:"حذف",language:"اللغة",selectLanguage:"اختر اللغة",englishFallback:"محتوى باللغة الإنجليزية"},Jl={banner:"غير متصل — جارٍ إعادة الاتصال…",restored:"تمت استعادة الاتصال",restoredDesc:"عدت إلى الاتصال؛ تعمل الفحوص بشكل طبيعي.",title:"أنت غير متصل",scanDesc:"تتطلب فحوص الملفات اتصالاً بالشبكة. أعد الاتصال وحاول مرة أخرى.",offlineDesc:"ستُستأنف الفحوص تلقائياً عند إعادة الاتصال.",tryAgain:"أنت غير متصل؛ أعد الاتصال وحاول مرة أخرى."},Yl={dropHere:"أفلت ملفاً هنا أو انقر للتصفح",uploading:"جارٍ الرفع والتحليل…",aiDetected:"تم اكتشاف محتوى مولّد بالذكاء الاصطناعي",likelyHuman:"يُرجّح أنه من إنشاء إنسان",createAccount:"إنشاء حساب مجاني",scanAnother:"فحص ملف آخر",dailyLimit:"تم بلوغ الحد اليومي للفحوص",noCredits:"لا توجد أرصدة فحص متبقية",upgradePro:"الترقية إلى Pro",getApiKey:"الحصول على مفتاح API",dismiss:"إغلاق",widgetTitle:"كشف المحتوى بالذكاء الاصطناعي",widgetDesc:"ارفع أي ملف لتحليله ومعرفة ما إذا كان قد أُنشئ بالذكاء الاصطناعي. احصل على درجات ثقة مفصلة وتقارير تحليل شاملة.",welcomeBack:"مرحباً بعودتك، {{name}}!",paygBadge:"الدفع حسب الاستخدام",paygDetails:"يُقبل حجم ملفات حتى 50 ميغابايت. تُحتسب تكلفة الصوت والفيديو لكل مقطع مدته 15 ثانية، بينما تكلف النصوص والصور رصيداً واحداً لكل منها. تُصدر Stripe فاتورة تلقائية عند 10 دولارات.",feat1Title:"كشف الذكاء الاصطناعي",feat1Desc:"كشف احتمالي للصور المُنشأة بالذكاء الاصطناعي؛ تختلف النتائج بحسب المحتوى والنموذج والتحرير",feat2Title:"الصوت وPDF",feat2Desc:"اكتشف الأصوات المستنسخة بالذكاء الاصطناعي (ElevenLabs وSuno) والنصوص المكتوبة بالذكاء الاصطناعي في المستندات المرفوعة",feat3Title:"فيديو التزييف العميق",feat3Desc:"تحليل جنائي للتزييف العميق على مستوى الإطار وفحص إشارة العلامة المائية AI Identifiers Technology للمحتوى المدعوم",selectFile:"اختر ملفاً",analysing:"جارٍ التحليل…",signUpNudge:"هل تريد تفسيرات مبسّطة وتفريغات نصية؟ سجّل مجاناً ←"},Ql={networkError:"خطأ في الشبكة — حاول مرة أخرى.",detectionFailed:"فشل الكشف — حاول مرة أخرى.",tooManyRequests:"طلبات كثيرة جداً — انتظر وحاول مرة أخرى."},Zl={tryNow:"جرّبه الآن مجاناً",tryNowDesc:"الصق نصاً أو ارفع صورة أو PDF أو ملف صوت أو فيديو مدعوماً.",synthidTitle:"دعم إشارات AI Identifiers Technology watermark signal",ctaBannerTitle:"ابدأ كشف محتوى الذكاء الاصطناعي اليوم",ctaBannerDe
2sc:"15 فحصاً مجانياً شهرياً. دون بطاقة.",getFreeApiKey:"احصل على مفتاح API مجاني",viewPricing:"عرض الأسعار",signalBased:"قائم على الإشارات",probabilistic:"تحليل احتمالي",algorithms:"خوارزميات الكشف",contentTypes:"أنواع المحتوى",freeScans:"15 فحصاً / شهر"},Xl={title:"الكشف الجماعي عن الذكاء الاصطناعي",desc:"ارفع ما يصل إلى {{count}} من ملفات الصور أو الصوت أو الفيديو أو PDF المدعومة للكشف المتزامن بالذكاء الاصطناعي.",dropPrompt:"انقر أو اسحب الملفات لرفعها",dropActive:"أفلت الملفات هنا",fileTypes:"الصور: JPG وJPEG وPNG وWebP وGIF · الفيديو: MP4 وAVI وMOV وWebM · الصوت: MP3 وWAV وOGG وM4A وAAC · PDF",fileTooLarge:"يتجاوز {{name}} الحد الأقصى لحجم الملف وهو {{limit}}",invalidType:"{{name}} ليس نوع ملف مدعوماً",tooManyFiles:"الحد الأقصى المسموح به هو {{count}} ملفاً",startProcessing:"بدء المعالجة",pause:"إيقاف مؤقت",resume:"استئناف",clearCompleted:"مسح المكتملة",clearAll:"مسح الكل",paygNotice:"الدفع حسب الاستخدام: ملفات حتى 50 ميغابايت. يُحتسب كل فحص برصيد واحد.",maxFileSize:"الحد الأقصى {{size}}",totalCount:"{{count}} إجمالاً",pendingCount:"{{count}} قيد الانتظار",processingCount:"{{count}} قيد المعالجة",completedCount:"{{count}} مكتمل",errorCount:"{{count}} أخطاء",statusPending:"قيد الانتظار",statusUploading:"جارٍ الرفع",statusAnalyzing:"جارٍ التحليل",statusComplete:"مكتمل",statusError:"خطأ",signUpNudgeTitle:"افتح التفسيرات والتقارير الكاملة",signUpNudgeDesc:"سجّل مجاناً للحصول على تحليلات بلغة مبسّطة وتفريغات نصية وسجل لكل عملية فحص.",signUpNudgeCta:"سجّل مجاناً →"},ed={toggle:"النص المكتوب",wordCount:"{{count}} كلمة",unavailable:"النص المكتوب غير متاح"},td={labels:"تسميات المشهد",explicit:"إطارات صريحة"},ad={tools:"أدوات الكشف",provenance:"الإشارات والمصدر",platform:"المطورون والمنصة",trust:"الثقة والسياق",search:"بحث",searchLabel:"البحث في AI Identifiers Technology",navigation:"التنقل",mainNavigation:"التنقل الرئيسي",mobileNavigation:"تنقل الهاتف",openNavigation:"فتح التنقل الكامل",closeNavigation:"إغلاق قائمة التنقل",menu:"القائمة",darkMode:"الوضع الداكن",lightMode:"الوضع الفاتح",switchDark:"التبديل إلى الوضع الداكن",switchLight:"التبديل إلى الوضع الفاتح",installExtension:"تثبيت إضافة Chrome",notificationsOn:"الإشعارات مفعلة",enableNotifications:"تفعيل الإشعارات",searchTitle:"البحث في فهرس الأدلة",searchDescription:"أدوات ووثائق وأدلة وأبحاث",searchPlaceholder:"جرّب «وثائق API» أو «تزييف عميق»",searchGrounded:"يعتمد البحث على محتوى المنصة المنشور.",escClose:"ESC للإغلاق",systemsUpdating:"جارٍ تحديث الأنظمة",extension:"إضافة Chrome",downloadExtension:"تنزيل إضافة Chrome",catalog:{tools:{multimodalAnalysis:{label:"التحليل متعدد الوسائط",desc:"فحص النصوص والصور والفيديو والصوت والمستندات"},textLanguage:{label:"النص واللغة",desc:"أنماط النماذج اللغوية والتقييم الاحتمالي"},imageSynthesis:{label:"الصور والتوليد",desc:"آثار التوليد وشذوذ وحدات البكسل"},videoDeepfakeDetector:{label:"كاشف فيديو التزييف العميق",desc:"تحليل زمني إطاراً بإطار"},aiVoiceDetector:{label:"كاشف أصوات الذكاء الاصطناعي",desc:"فحص الترددات والإشارات الطيفية"},pdfAiDetector:{label:"كاشف الذكاء الاصطناعي في PDF",desc:"تحليل جنائي للمستندات المنظمة"}
2,freeAiDetector:{label:"كاشف ذكاء اصطناعي مجاني",desc:"ابدأ بتقييم لا يتطلب بطاقة"},aiPlagiarismChecker:{label:"مدقق الانتحال بالذكاء الاصطناعي",desc:"راجع الكتابة بحثاً عن إشارات الذكاء الاصطناعي"},textSignalChecker:{label:"مدقق إشارات النص",desc:"افحص النص بحثاً عن أنماط التوليد بالذكاء الاصطناعي"},languageSignalChecker:{label:"مدقق الإشارات اللغوية",desc:"افحص النص بحثاً عن أنماط التوليد بالذكاء الاصطناعي"},writingSignalChecker:{label:"مدقق إشارات الكتابة",desc:"افحص النص بحثاً عن أنماط التوليد بالذكاء الاصطناعي"},audioDeepfakeChecker:{label:"مدقق الصوت المزيف",desc:"راجع إشارات الصوت الاصطناعي"}},provenance:{watermarkInspection:{label:"فحص العلامات المائية",desc:"إشارات المصدر المدعومة عند توفرها"},signalCoverage:{label:"تغطية الإشارات",desc:"الإمكانات المدعومة عبر الوسائط المختلفة"},detectionHistory:{label:"تاريخ الكشف",desc:"التطور التاريخي لبصمات الذكاء الاصطناعي"},provenanceSignalContext:{label:"سياق إشارات المصدر",desc:"سياق التحقق المستقل"},aiSystemsContext:{label:"سياق أنظمة الذكاء الاصطناعي",desc:"سياق تقنية الذكاء الاصطناعي والمصدر"},watermarkTechnologyContext:{label:"سياق تقنية العلامات المائية",desc:"سياق تقنيات العلامات المائية المدعومة"},enterpriseAiIntegration:{label:"تكامل الذكاء الاصطناعي للمؤسسات",desc:"معلومات تكامل المؤسسات"},enterpriseAiDetection:{label:"كشف الذكاء الاصطناعي للمؤسسات",desc:"مسارات عمل الكشف للمؤسسات"},legalAiDetection:{label:"كشف الذكاء الاصطناعي القانوني",desc:"سياق مراجعة يراعي الأدلة"}},access:{freeEvaluation:{label:"تقييم مجاني",desc:"15 فحصاً عبر الويب شهرياً دون بطاقة"},pricing:{label:"الأسعار",desc:"خطط ووصول بكميات كبيرة للاستخدام المهني"},apiPlatform:{label:"منصة API",desc:"وصول برمجي للمطورين"},developerCenter:{label:"مركز المطورين",desc:"طوّر باستخدام AI Identifiers Technology"},getApiKey:{label:"الحصول على مفتاح API",desc:"أنشئ بيانات اعتماد للوصول المدفوع إلى API"},apiPlayground:{label:"بيئة اختبار API",desc:"اختبر طلبات API المدعومة"},developerDocumentation:{label:"وثائق المطورين",desc:"أدلة التكامل والمراجع"},integrityAgent:{label:"وكيل النزاهة",desc:"راجع المحتوى من خلال مسارات عمل موجهة"},agentConnectivity:{label:"اتصال الوكلاء",desc:"اربط وكلاء الذكاء الاصطناعي المتوافقين"},lmsIntegration:{label:"تكامل نظام إدارة التعلم",desc:"نشر أكاديمي على مستوى الحرم الجامعي"},aggieHomecoming:{label:"لقاء Aggie",desc:"دليل مستقل للاحتفال والبوابة"},aggiesPortal:{label:"بوابة Aggies",desc:"مسار وصول مخصص لمستخدمي NC A&T المؤهلين"},enterpriseIntegrations:{label:"تكاملات المؤسسات",desc:"اربط أنظمة المؤسسة"},enterpriseSolutions:{label:"حلول المؤسسات",desc:"ضوابط المؤسسة ومسارات العمل ذات الحجم الكبير"},trustCenter:{label:"مركز الثقة",desc:"مواد الأمان والخصوصية ومراجعة المؤسسات"},marketplace:{label:"السوق",desc:"التوزيع والوصول إلى المنصة"}},trust:{privacyRetention:{label:"الخصوصية والاحتفاظ",desc:"بروتوكولات التعامل مع البيانات ومعالجتها"}
2,securityBounties:{label:"الأمان والمكافآت",desc:"تقارير حماية البنية التحتية"},accuracyContext:{label:"سياق الدقة",desc:"الحدود الاحتمالية والقيود"},systemStatus:{label:"حالة النظام",desc:"توفر API والمنصة في الوقت الفعلي"},documentation:{label:"الوثائق",desc:"أدلة التكامل التقني والاستخدام"},productChangelog:{label:"سجل تغييرات المنتج",desc:"التحسينات المنشورة وتغييرات المنصة"},productTour:{label:"جولة في المنتج",desc:"تعرّف على مسارات العمل الرئيسية للمنصة"},blogGuides:{label:"المدونة والأدلة",desc:"أبحاث وشروحات وأدلة عملية"},studentResources:{label:"موارد الطلاب",desc:"إرشادات التحقق المسؤول للطلاب"},about:{label:"حول AI Identifiers LLC",desc:"المهمة والتاريخ وسياق المنصة"},teamCeo:{label:"فريقنا والرئيس التنفيذي",desc:"تعرّف على مارفن وايت، المؤسس والرئيس التنفيذي"},community:{label:"المجتمع",desc:"مشاركة المجتمع والسياق المشترك"},communityLeaderboard:{label:"لوحة صدارة المجتمع",desc:"ترتيب علني لنشاط المجتمع"},supportCenter:{label:"مركز الدعم",desc:"مساعدة بشأن الحسابات واستخدام المنصة"},contact:{label:"اتصل بنا",desc:"تواصل مع الفريق"},careers:{label:"الوظائف",desc:"الوظائف الشاغرة والفرص"},investorInformation:{label:"معلومات المستثمرين",desc:"نظرة عامة على الشركة والمنصة"},internationalAccess:{label:"الوصول الدولي",desc:"الوصول الإقليمي والسياق اللغوي"},allPagesDirectory:{label:"دليل جميع الصفحات",desc:"تصفح كل الصفحات الأساسية المنشورة"}}}},id={email:"البريد الإلكتروني",password:"كلمة المرور",firstName:"الاسم الأول",lastName:"اسم العائلة",showPassword:"إظهار كلمة المرور",hidePassword:"إخفاء كلمة المرور",passwordPlaceholder:"أدخل كلمة المرور",passwordHint:"8 أحرف على الأقل",invalidEmail:"أدخل بريداً إلكترونياً صالحاً",passwordMin:"يجب ألا تقل كلمة المرور عن 8 أحرف",nameRequired:"أدخل اسمك",welcomeBack:"مرحباً بعودتك",loginDescription:"سجّل الدخول إلى حساب AI Identifiers",signIn:"تسجيل الدخول",signingIn:"جارٍ تسجيل الدخول...",signedIn:"تم تسجيل الدخول بنجاح ✓",signedInDescription:"مرحباً بعودتك إلى AI Identifiers.",loginFailed:"فشل تسجيل الدخول",continueGoogle:"المتابعة باستخدام Google",orContinue:"أو المتابعة باستخدام",forgotQuestion:"هل نسيت كلمة المرور؟",noAccount:"ليس لديك حساب؟",createOne:"إنشاء حساب",createFree:"إنشاء حساب مجاني",registerDescription:"احصل على 15 فحصاً مجانياً شهرياً دون بطاقة",createAccount:"إنشاء الحساب",creatingAccount:"جارٍ إنشاء الحساب...",orSignUp:"أو التسجيل باستخدام",alreadyAccount:"لديك حساب بالفعل؟",registrationFailed:"فشل التسجيل",registrationSuccess:"🎉 مرحباً بك في AI Identifiers!",registrationSuccessDesc:"حسابك المجاني جاهز. لديك 15 فحصاً شهرياً.",forgotTitle:"نسيت كلمة المرور",forgotDescription:"أدخل بريدك وسنرسل رابط إعادة التعيين",checkEmail:"تحقق من بريدك",resetSent:"إذا وُجد حساب بهذا البريد فقد أرسلنا رابط إعادة تعيين كلمة المرور. تنتهي صلاحيته خلال ساعة.",sendReset:"إرسال الرابط",sending:"جارٍ الإرسال...",backLogin:"العودة لتسجيل الدخول",resetFailed:"تعذر إرسال بريد إعادة التعيين. حاول مرة أخرى.",genericError:"حدث خطأ ما"},nd={firstScan:"فحصك الأول!",guestScansLeft:"مرحباً بك في AI Identifiers — تبقى لديك {{count}} من فحوص الضيف.",aiVerdict:"⚠ تم اكتشاف محتوى مولّد بالذكاء الاصطناعي",humanVerdict:"✓ يُرجّح أنه من إنشاء إنسان",confidence:"درجة الثقة بالذكاء الاصطناعي",highConfidence:"ثقة عالية — تم اكتشاف مؤشرات قوية للذكاء الاصطناعي",moderateConfidence:"ثقة متوسطة — وُجدت بعض أنماط الذكاء الاصطناعي",lowConfidence:"ثقة منخفضة — يبدو المحتوى مكتوباً بواسطة إنسان",upsell:"أنشئ حساباً مجانياً لحفظ سجل الفحوص والوصول إلى التقارير التفصيلية دون بطاقة.",signIn:"تسجيل الدخول",usedScans:"اØ
2³ØªÙØ®Ø¯Ù… {{used}} من {{limit}} فحصاً مجانياً",leftScans:"تبقى {{count}} فحصاً مجانياً",proTitle:"الترقية إلى Pro — فحوص غير محدودة، 19 دولاراً/شهر",proDesc:"فحوص غير محدودة وسجل ومعالجة ذات أولوية ووصول API وتقارير تفصيلية.",scanAnother:"فحص ملف آخر",supported:"ارفع صورة أو مستند PDF أو ملف صوت أو فيديو مدعوماً.",accepted:"الصيغ المقبولة: {{formats}}",maxSize:"الحد الأقصى للحجم: {{size}}",signUpForLargerFiles:"سجّل لرفع ملفات حتى 50 ميغابايت",enterpriseForLargerFiles:"هل تحتاج إلى ملفات أكبر؟ استكشف Enterprise",uploadingProgress:"جارٍ الرفع… {{progress}}Ùª",processing:"جارٍ المعالجة بالذكاء الاصطناعي…",selectSignIn:"اختر ملفاً وسجّل الدخول للفحص",freeAllowance:"مجاني · 15 فحصاً/شهر · دون بطاقة",text:"نص",image:"صورة",audio:"صوت",video:"فيديو",publicImage:"صورة عامة",textHelp:"الصق نصاً أو ارفعه لتحليل الإشارات اللغوية.",urlHelp:"الصق رابط صورة عاماً لفحصها دون تنزيل.",fileHelp:"ارفع ملف {{mode}} أو اختر وضعاً آخر.",scanText:"فحص النص الملصق",scanUrl:"فحص الرابط",pasteText:"الصق النص هنا لفحص إشاراته اللغوية…",reselect:"أعد اختيار الملف للفحص",defaultUpsell:"أنشئ حساباً مجانياً لحفظ النتائج والوصول إلى السجل.",quotaGuest:"استخدمت جميع فحوص الضيف الخمسين",quotaMonthly:"استخدمت الفحوص المجانية الخمسة عشر لهذا الشهر",quotaCredits:"استخدمت جميع أرصدة الفحص",quotaGuestDesc:"أنشئ حساباً مجانياً لمتابعة الفحص وحفظ نتائجك.",quotaMonthlyDesc:"استخدمت فحوصك المجانية الخمسة عشر لهذا الشهر. تُعاد الحصة في {{date}} (خلال {{count}} أيام).",quotaCreditsDesc:"استخدمت جميع أرصدة الفحص المتاحة لهذه الفترة.",registrationFree:"التسجيل مجاني ولا يتطلب بطاقة.",quotaUpsell:"سجّل مجاناً لتتبع سجلك أو قم بالترقية إلى Pro لفحوص غير محدودة.",urlFailed:"فشل فحص الرابط",urlFailedDesc:"تحقق من أن رابط الصورة عام وحاول مرة أخرى.",queued:"أُضيف إلى قائمة الرفع",queuedDesc:"سيُرفع {{name}} تلقائياً عند إعادة الاتصال.",unsupported:"نوع ملف غير مدعوم",unsupportedDesc:"هذه الصيغة غير مدعومة. ارفع ملفاً بصيغة {{formats}}.",tooLarge:"الملف كبير جداً",tooLargeDesc:"الحد الأقصى {{limit}}. حجم ملفك {{size}} ميغابايت؛ اضغطه أو اختصره.",slowConnection:"تم اكتشاف اتصال بطيء",compressed:"ضُغطت الصورة من {{before}} كيلوبايت إلى {{after}} كيلوبايت.",reused:"أُعيد استخدام نتيجة حديثة",mediaQueued:"فحص الوسائط في قائمة الانتظار",success:"تم الرفع بنجاح",failed:"فشل الرفع",failedDesc:"جرّب ملفاً آخر أو تحقق من اتصالك.",agreementFailed:"لم يُسجّل الاتفاق",agreementFailedDesc:"حاول مرة أخرى قبل الفحص."},sd={spectralAnalysis:"التحليل الطيفي",spectralDescription:"توزيع احتمال الذكاء الاصطناعي عبر الخط الزمني",exportSuccessful:"تم التصدير بنجاح",exportSuccessDescription:"تم تصدير نتائج التحليل بصيغة {{format}}.",exportFailed:"فشل التصدير",exportFailedDescription:"تعذر تصدير النتائج. يرجى المحاولة مرة أخرى.",executiveReportTooltip:"تصدير تقرير التدقيق التنفيذي بصيغة PDF — 5.00 دولارات",verificationCertificate:"عرض شهادة التحقق",thinking:"جارٍ التحليل…",filePreviewLabel:"ملف {{type}}: {{filename}}",pages:"{{count}} صفحات",c2paAiProven:"C2PA: تم إثبات الذكاء الاصطناعي",c2paTampered:"C2PA: تم العبث به",c2paVerified:"تم التحقق من C2PA",cryptoLocked:"تم تأمين المصدر المشفّر",untitled:"بدون عنوان",reportMisclassification:"الإبلاغ عن تصنيف خاطئ",averageSeconds:"متوسط {{time}} Ø«",officialVerification:"تحقق رسمي",officialReport:"تصدير تقرير تدقيق PDF مشفّر رسمي (5.00 دولار)",officialReportDescription:"حوّل آخر فحص مكتمل إلى سجل تدقيق موقّع قابل للمشاركة.",fingerprint:"بصمة SHA-256",modelBreakdown:"تفصيل النماذج الفرعية",qrVerification:"رابط التحقق QR",exportOfficialReport:"تصدير تقرير PDF رسمي — 5.
200 دولار",proDetail:"فحوص غير محدودة · 19 دولار/شهر",proUnlimited:"فحوص شهرية غير محدودة",proHistory:"سجل وتقارير كاملة",proPriority:"معالجة ذات أولوية",proApi:"يتضمن الوصول إلى API",exporting:"جارٍ التصدير...",exportJson:"تصدير كـ JSON",exportCsv:"تصدير كـ CSV",detectionModels:"نماذج الكشف",active:"نشط",inactive:"غير نشط",shareResults:"شارك نتائجك",badgeDescription:"أضف شارة كشف ذكاء اصطناعي موثّقة إلى موقعك أو معرض أعمالك",getBadge:"احصل على الشارة",title:"نتائج التحليل",completed:"مكتمل",aiGenerated:"مولّد بالذكاء الاصطناعي",uncertain:"غير مؤكد",humanWritten:"مكتوب بواسطة إنسان",aiDetected:"تم اكتشاف ذكاء اصطناعي",humanMade:"مكتوب بواسطة إنسان",confidence:"درجة الثقة",verdict:"النتيجة",status:"الحالة",aiConfidence:"ثقة الذكاء الاصطناعي",averageConfidence:"متوسط الثقة",shareTitle:"كشف الذكاء الاصطناعي: ثقة {{confidence}}Ùª",shareText:'حصل "{{filename}}" على ثقة {{confidence}}Ùª في الذكاء الاصطناعي على AI Identifiers.',file:"ملف",syntheticArtifact:"أثر اصطناعي",uncertainRegion:"منطقة غير مؤكدة",naturalAudio:"صوت طبيعي",filesCount:"{{count}} من {{total}} ملفات",reasoning:"استدلال…",reasoningTitle:"استدلال AI Identifiers",noScans:"لا توجد فحوص بعد",noScansDescription:"ارفع ملفاً أو الصق نصاً أو أفلت صورة لإجراء فحصك الأول.",tryScan:"فحص ملف أو رابط",aiDetection:"كشف الذكاء الاصطناعي",contentAnalysis:"تحليل المحتوى",metadata:"بيانات وصفية",noContentAnalysis:"لا توجد فحوص بعد؛ ارفع ملفاً لعرض تحليل المحتوى.",signal:"إشارة {{count}}",noModelBreakdown:"لا يتوفر تفصيل للنماذج.",processedIn:"تمت المعالجة خلال {{time}} مللي ثانية",noMetadata:"لا توجد فحوص بعد؛ ارفع ملفاً لعرض البيانات الوصفية.",fileType:"نوع الملف",scanned:"تم فحصه",processingTime:"وقت المعالجة",analyzedFiles:"الملفات التي تم تحليلها",analyzedAgo:"تم التحليل قبل {{time}} ثانية",summary:"ملخص التحليل",filesAnalyzed:"الملفات التي تم تحليلها",aiDetectionRate:"معدل كشف الذكاء الاصطناعي",exportResults:"تصدير النتائج"},rd={billingInterval:{monthly:"شهري",annual:"سنوي",yearly:"سنوي"},paygRate:"0.02 دولار / فحص",highVolumeQuestion:"أكثر من 100 ألف فحص؟",highVolumeContact:"تواصل معنا للحصول على سعر 0.003 دولار/فحص",purchasedCredits:"الأرصدة المشتراة",lowCredits:"لم يتبق سوى {{count}} من الأرصدة المشتراة — اشحن رصيدك لتجنب الانقطاع.",buyCredits:"شراء أرصدة",callsOfLimit:"{{used}} / {{limit}} استدعاء ({{pct}}Ùª)",closeToLimit:"أنت قريب من حدك.",creditWeights:"نص 1 رصيد · صورة 3 أرصدة · فيديو/صوت 8 أرصدة",title:"لوحة تحكم المطور",description:"إدارة مفتاح API ومراقبة الاستخدام",payg:"الدفع حسب الاستخدام",plan:"خطة {{plan}}",monthlyQuota:"الحصة الشهرية لـ API",remaining:"{{count}} متبقٍ",currentPlan:"الخطة الحالية",quotaLimit:"حد الحصة",usage:"الاستخدام",free:"مجاني",pro:"Pro",enterprise:"مؤسسات",unlimited:"غير محدود",unlimitedMetered:"غير محدود (حسب الاستخدام)",callsPerMonth:"{{count}} استدعاء / شهر",callsUsed:"استدعاءات API المستخدمة",noMonthlyCap:"لا حد شهري",ofPerMonth:"من {{count}}/شهر",creditsFirst:"تُستهلك الأرصدة المشتراة أولاً قبل الحصة الشهرية ولا تنتهي صلاحيتها.",paygUsage:"استخدام الدفع حسب الاستخدام",scansThisMonth:"فحوص هذا الشهر",estimatedCharge:"الرسوم المقدرة",monthEndInvoice:"تُفوتر عبر Stripe في نهاية الشهر",resets:"إعادة التعيين {{date}}",freePlanQuota:"50 استدعاء API / شهر · قم بالترقية في أي وقت",planWithInterval:"خطة {{plan}} · {{interval}}",planTier:"فئة الخطة",seoTitle:"لوحة تحكم المطور — AI Identifiers",avgProviderLatency:"متوسط زمن استجابة المزوّد",successfulCalls24h:"استدعاءات Ù
2†Ø§Ø¬Ø­Ø© · آخر 24 ساعة",totalAnalysesGlobal:"إجمالي التحليلات (عالمياً)",allTime:"كل الأوقات",geminiGeneration:"توليد Gemini",geminiDescription:"ولّد نصاً باستخدام AI Identifiers Technology ومفتاح API. التكلفة",oneCredit:"رصيد واحد",perCall:"لكل استدعاء",geminiPromptPlaceholder:"أدخل طلباً، مثلاً: «لخّص العلامة المائية للذكاء الاصطناعي في جملتين».",generating:"جارٍ التوليد…",generate:"توليد",shortcutToRun:"⌘↵ للتشغيل",createKeyForTest:"أنشئ مفتاحاً جديداً لاستخدام الاختبار",callsRemainingToday:"{{count}} استدعاء متبقٍ اليوم",geminiLimits:"رصيد واحد لكل استدعاء · مفتاح API مطلوب · حد 50,000 حرف",geminiKeyUnavailable:"لأمانك، يظهر مفتاح API مرة واحدة عند إنشائه. استخدم مثال نقطة النهاية في تكاملك.",geminiDailyLimit:"بلغت الحد اليومي: {{count}} استدعاء/يوم. يُعاد عند منتصف الليل UTC.",requestFailed:"فشل الطلب",networkError:"خطأ في الشبكة — حاول مرة أخرى.",microCredits:"الأرصدة المصغّرة",availableBalance:"الرصيد المتاح",addCredits:"إضافة أرصدة",callsCount:"{{count}} استدعاء",recentActivity:"النشاط الحديث",balanceShort:"الرصيد: {{balance}}",noRecentActivity:"لا يوجد نشاط حديث",apiCosts:"تكاليف API",loadingPrices:"جارٍ تحميل الأسعار…",downloadFailed:"فشل التنزيل",downloadFailedDescription:"تعذر تنزيل هذا الفحص.",saveFailed:"فشل الحفظ",zdrEnabled:"تم تفعيل عدم الاحتفاظ بالبيانات",zdrDisabled:"تم تعطيل عدم الاحتفاظ بالبيانات",zdrEnabledDescription:"تُعالج الفحوص في الذاكرة فقط ولن تُحفظ النتائج.",zdrDisabledDescription:"ستُحفظ نتائج الفحوص كالمعتاد.",zdrSaveFailed:"تعذر تحديث إعداد ZDR.",retentionSaved:"تم حفظ سياسة الاحتفاظ",retentionSavedDays:"ستُحذف الفحوص الأقدم من {{count}} يوماً كل ليلة.",keptIndefinitely:"تُحفظ الفحوص إلى أجل غير مسمى.",policySaveFailed:"تعذر حفظ السياسة.",ipSaved:"تم حفظ قيود IP",ipsWhitelisted:"تم السماح لـ {{count}} عنوان IP.",ipsWhitelisted_other:"تم السماح لـ {{count}} عناوين IP.",allIpsAllowed:"كل عناوين IP مسموحة.",ipSaveFailed:"تعذر حفظ قائمة IP.",sessionRevoked:"أُلغيت الجلسة",deviceSignedOut:"تم تسجيل خروج ذلك الجهاز.",revokeFailed:"فشل إلغاء الجلسة",paymentMethodSaved:"✓ تم حفظ وسيلة الدفع",autoRechargeCanEnable:"يمكن الآن تفعيل الشحن التلقائي.",keyRotated:"تم تدوير المفتاح",paygActivated:"🎉 تم تفعيل الدفع حسب الاستخدام!",paygActivatedDescription:"ستُحاسب 0.02 دولار لكل فحص عبر Stripe في نهاية الشهر دون حد شهري.",planUpdated:"✅ تم تحديث الخطة",planUpdatedDescription:"أصبحت تغييرات خطتك سارية وسيصلك بريد تأكيد.",planActivated:"🎉 تم تفعيل الخطة!",planActivatedDescription:"اشتراكك نشط وحصتك وميزاتك الجديدة جاهزة.",gcpActivated:"☁️ تم تفعيل خطة GCP Marketplace!",gcpActivatedDescription:"تم ربط اشتراك Google Cloud وتُفوتر الاستخدامات على حساب GCP.",microCreditsAdded:"✅ تمت إضافة الأرصدة المصغّرة",microCreditsAddedDescription:"تمت إضافة الأرصدة المصغّرة إلى رصيدك.",creditsAdded:"✅ تمت إضافة الأرصدة إلى حسابك!",creditsAddedDescription:"أرصدتك جاهزة وتُستهلك قبل الحصة الشهرية ولا تنتهي.",somethingWrong:"حدث خطأ",checkoutOpenFailed:"تعذر فتح الدفع. حاول مرة أخرى.",subscriptionStatus:{active:"نشط",trialing:"تجريبي",past_due:"متأخر",canceled:"ملغى",unpaid:"غير مدفوع",incomplete:"غير مكتمل"},cancelsAtPeriodEnd:"يُلغى في نهاية الفترة",opening:"جارٍ الفتح…",manageBilling:"إدارة الفوترة ↗",billingPortalFailed:"تعذر فتح بوابة الفوترة",switchAnnual:"انتقل إلى السنوي وثبّت سعرك",annualSavings:"وفّر {{amount}} دولاراً سنوياً (نحو 17Ùª) بالدفع مقدماً واحمِ نفسك من زيادة الأسعار.",annualSavingsGeneric:"ادفع سنوياً ووفّر حتى 17Ùª.",switch:"تبديل ↗",endsInDays:"ينتهي خلال {{count}} يوم",endsInDays_other:"ينتهي خلال {{count}} أيام",renewsInDays:"يتجدد خلال {{count}} يوم",renewsInDays_other:"يتجدد خلال {{count}} أيام",autoRecharge:"الشحن التلقائي",active:"نشط",off:"متوقف",autoRechargeDescription:"اشترِ حزمة أرصدة تلقائياً عند انخفاض الرصيد عن الحد لتجنب الانقطاع.",card:"بطاقة",endingIn:"تنتهي بـ {{last4}}",cardRemoved:"تمت إزالة البطاقة",autoRechargeDisabledDescription:"تم تعطيل الشحن التلقائي.",remove:"إزالة",noPaymentMethod:"لا توجد وسيلة دفع. أضف بطاقة لتفعيل الشحن.",stripeOpenFailed:"تعذر فتح Stripe",addPaymentMethod:"إضافة وسيلة دفع ↗",enableAutoRecharge:"تفعيل الشحن التلقائي",chargeBelowThreshold:"اشحن البطاقة عند انخفاض الأرصدة عن الحد",topUpBelow:"اشحن عند أقل من",creditsCount:"{{count}} رصيد",purchaseAmount:"مبلغ الشراء",autoRechargeEnabled:"✓ تم تفعيل الشحن التلقائي",autoRechargeDisabled:"تم تعطيل الشحن التلقائي",saving:"جارٍ الحفظ…",saveSettings:"حفظ الإعدادات",recentRechargeActivity:"نشاط الشحن الحديث",rechargeStatus:{success:"ناجح",failed:"فاشل"},failed:"فشل",gcpMarketplace:"Google Cloud Marketplace",loading:"جارٍ التحميل",loadingEllipsis:"جارٍ التحميل…",gcpManagedDescription:"تُدار الاشتراك والحصة من حساب Google Cloud المرتبط.",viewGcpConsole:"عرض في وحدة تحكم GCP",gcpPending:"استحقاق GCP Marketplace معلّق. أكمل أو أكّد التفعيل في وحدة GCP.",entitlementId:"معرّف الاستحقاق",linkedGcpAccount:"حساب GCP المرتبط",activationDate:"تاريخ التفعيل",pendingActivation:"التفعيل معلّق",apiKey:"مفتاح API",secretShownOnce:"يظهر السر عند الإنشاء فقط",generateApiKey:"إنشاء مفتاح API",rotateKey:"تدوير المفتاح",ipRestrictions:"قيود IP",ipRestrictionsDescription:"اسمح لعناوين IP أو نطاقات CIDR باستخدام مفتاحك. اتركه فارغاً للسماح للجميع.",removeIp:"إزالة {{ip}}",noIpRestrictions:"لا قيود — يمكن لكل عناوين IP استخدام المفتاح.",add:"إضافة",ipWarning:"⚠ تأكد من تضمين IP خادمك وإلا ستُحظر الاستدعاءات.",saveRestrictions:"حفظ القيود",dataRetentionPolicy:"سياسة الاحتفاظ بالبيانات",retentionDescription:"حدّد مدة حفظ الفحوص المكتملة. يعمل الحذف التلقائي كل ليلة.",zeroDataRetention:"عدم الاحتفاظ بالبيانات",zdrDescription:"عالج الفحوص دون حفظ المحتوى أو السجل أو الشهادة أو النتيجة. قد تُحفظ بيانات محدودة للفوترة ومنع الاحتيال.",disableZdr:"تعطيل عدم الاحتفاظ",enableZdr:"تفعيل عدم الاحتفاظ",zdrActiveWarning:"⚠ وضع ZDR نشط. استخدم مسار النص المتزامن المحدود للمعالجة في الذاكرة؛ ستفشل المسارات غير المتوافقة بأمان.",privacyControls:"عناصر التحكم في خصوصيتك",privacyControlsDescription:"نزّل بياناتك أو احذف سجلات الفحص من السجل أو احذف حسابك نهائياً.",downloadMyData:"تنزيل بياناتي",deleteAccount:"حذف الحساب",keepForever:"حفظ دائماً",daysCount:"{{count}} يوم",retentionWarning:"⚠ ستُحذف الفحوص الأقدم من {{count}} يوماً كل ليلة نهائياً ولا يمكن التراجع.",savePolicy:"حفظ السياسة",buyApiCredits:"شراء أرصدة API",buyApiCreditsDescription:"أرصدة مسبقة الدفع للاستخدام المكثف، لا تنتهي وتُستهلك قبل الحصة.",pricePerCall:"{{price}} لكل استدعاء",openingCheckout:"جارٍ فتح الدفع…",buyPack:"شراء حزمة {{label}}",oneTimePayment:"دفعة واحدة عبر Stripe دون إنشاء اشتراك.",activeSessions:"الجلسات النشطة",activeSessionsDescription:"كل الأجهزة المسجّلة في حسابك. ألغِ أي جلسة لا تعرفها.",noActiveSessions:"لا توجد جلسات نشطة.",sessionNumber:"الجلسة {{number}}
2",current:"الحالية",expiresInDays:"تنتهي خلال {{count}} يوم",expiresInDays_other:"تنتهي خلال {{count}} أيام",revoking:"جارٍ الإلغاء…",revoke:"إلغاء",allSessionsRevoked:"أُلغيت كل الجلسات الأخرى",devicesSignedOut:"تم تسجيل خروج {{count}} جهاز.",devicesSignedOut_other:"تم تسجيل خروج {{count}} أجهزة.",signOutAllOther:"تسجيل خروج كل الجلسات الأخرى",batchFileScanner:"فاحص الملفات الدفعي",batchFileScannerDescription:"ارفع حتى 10 مستندات (.txt و.md و.docx و.pdf) وافحصها معاً، مع تصدير CSV أو JSON.",pastBatchScans:"الفحوص الدفعية السابقة",pastBatchScansDescription:"راجع الفحوص المكتملة أو نزّل CSV مجدداً.",loadingPastScans:"جارٍ تحميل الفحوص السابقة…",pastScansLoadFailed:"تعذر تحميل الفحوص. حدّث الصفحة.",noPastScans:"لا توجد فحوص سابقة. ستظهر دفعتك التالية هنا.",filesCount:"{{count}} ملف",filesCount_other:"{{count}} ملفات",aiFlaggedCount:"{{count}} معلّم بالذكاء الاصطناعي",downloadCsv:"تنزيل CSV",fullApiDocs:"وثائق API الكاملة",openapiSpec:"مواصفات OpenAPI",postmanCollection:"مجموعة Postman",apiStatus:"حالة API",proUpsellFeatures:"1,000 استدعاء/شهر وSLA أولوية ودعم webhooks"},od={nav:Ul,hero:Gl,features:Vl,detection:Bl,stats:Hl,footer:Wl,common:Kl,offline:Jl,scan:Yl,errors:Ql,home:Zl,batch:Xl,transcript:ed,videoEvidence:td,header:ad,auth:id,upload:nd,results:sd,dashboard:rd},cd={home:"Startseite",about:"Über uns",pricing:"Preise",contact:"Kontakt",blog:"Blog",enterprise:"Unternehmen",features:"Funktionen",detection:"Erkennung",analysis:"Analyse"},ld={title:"Fortschrittliche KI-Inhaltserkennung",subtitle:"Analysieren Sie KI-generierte Inhalte mit forensischen und Herkunftssignalen, einschließlich unterstützter AI Identifiers Technology-watermark signal-Signale, wenn vorhanden",cta:"Erkennung Starten",tryFree:"Kostenlose Demo Testen",uploadFile:"Datei für Analyse Hochladen",badge:"Analyse unterstützter AI Identifiers Technology-watermark signal-Signale",analyzedCount:"Dateien analysiert und mehr"},dd={title:"Modernste KI-Erkennung",multiFormat:"Multi-Format-Unterstützung",multiFormatDesc:"Analysieren Sie Bilder, Videos, Audio und Text mit fortschrittlicher KI-Erkennung",googlePartnership:"AI Identifiers Technology watermark signal Integration",googlePartnershipDesc:"Prüft unterstützte AI Identifiers Technology-watermark signal-Wasserzeichensignale, wenn vorhanden",realTime:"Echtzeit-Verarbeitung",realTimeDesc:"Erhalten Sie sofortige Analyseergebnisse mit quantenverstärkter Verarbeitung",enterprise:"Unternehmenssicherheit",enterpriseDesc:"Bankensicherheit mit SOC 2-Compliance und Private-Cloud-Optionen"},ud={uploadTitle:"Inhalt für Analyse Hochladen",selectFile:"Datei Auswählen",analyzing:"Analysiere...",results:"Analyseergebnisse",confidence:"Vertrauensbewertung",aiGenerated:"KI-Generiert",human:"Von Menschen Erstellt",processing:"Verarbeite Ihre Datei...",completed:"Analyse Abgeschlossen"},md={accuracy:"Genauigkeitsrate",filesProcessed:"Verarbeitete Dateien",countriesServed:"Bediente Länder",languagesSupported:"Unterstützte Sprachen"},pd={product:"Produkt",features:"Funktionen",pricing:"Preise",enterprise:"Unternehmen",company:"Firma",about:"Über Uns",contact:"Kontakt",privacy:"Datenschutzrichtlinie",terms:"Nutzungsbedingungen",copyright:"© 2025 AI Identifiers. Alle Rechte vorbehalten.",description:"Fortschrittliche KI-Inhaltserkennungsplattform mit AI Identifiers Technology watermark signal-Technologie"},gd={loading:"Laden...",error:"Fehler",retry:"Wiederholen",cancel:"Abbrechen",save:"Speichern",close:"Schließen",edit:"Bearbeiten",delete:"Löschen",language:"Sprache",selectLanguage:"Sprache Auswählen"},hd={banner:"Offline — reconnecting…",restored:"Connection restored",restoredDesc:"You're back online — scans are working normally.",title:"You're offline",scanDesc:"File scans require a network connection. Please reconnect and try again.",offlineDesc:"Scans will resume automatically when you reconnect.",tryAgain:"You're offline — please reconnect and try again."},fd={dropHere:"Datei hier ablegen oder zum Durchsuchen klicken",uploading:"Wird hochgeladen und anal
2ysiert…",aiDetected:"KI-generierte Inhalte erkannt",likelyHuman:"Wahrscheinlich von Menschen erstellt",createAccount:"Kostenloses Konto erstellen",scanAnother:"Weitere Datei scannen",dailyLimit:"Tägliches Scanlimit erreicht",noCredits:"Keine Scan-Guthaben mehr verfügbar",upgradePro:"Auf Pro upgraden",getApiKey:"API-Schlüssel erhalten",dismiss:"Schließen",widgetTitle:"KI-Inhaltserkennung",widgetDesc:"Laden Sie eine beliebige Datei hoch, um zu analysieren, ob sie durch künstliche Intelligenz erstellt wurde. Erhalten Sie detaillierte Vertrauenswertungen und umfassende Analyseberichte.",welcomeBack:"Willkommen zurück, {{name}}!",paygBadge:"Nutzungsbasierte Abrechnung",paygDetails:"Dateien bis 50 MB werden akzeptiert. Audio und Video werden je 15-Sekunden-Segment abgerechnet; Text und Bilder kosten jeweils 1 Guthaben. Stripe stellt bei 10 $ automatisch eine Rechnung aus.",feat1Title:"KI-Erkennung",feat1Desc:"Probabilistische Erkennung KI-generierter Bilder; Ergebnisse variieren je nach Inhalt, Modell und Bearbeitung",feat2Title:"Audio und PDF",feat2Desc:"Erkennt von KI geklonte Stimmen (ElevenLabs, Suno) und KI-verfasste Texte in hochgeladenen Dokumenten",feat3Title:"Deepfake-Video",feat3Desc:"Forensische Deepfake-Analyse auf Frame-Ebene und Prüfung von AI Identifiers Technology-Wasserzeichensignalen für unterstützte Inhalte",selectFile:"Datei auswählen",analysing:"Wird analysiert…",signUpNudge:"Möchten Sie verständliche Erklärungen und Transkripte? Kostenlos registrieren →"},xd={networkError:"Network error — please try again.",detectionFailed:"Detection failed — please try again.",tooManyRequests:"Too many requests — please slow down and try again."},yd={tryNow:"Try it now — free",tryNowDesc:"Upload any file or paste text and get a result in seconds. No account required.",synthidTitle:"Unterstützung für AI Identifiers Technology-watermark signal-Signale",ctaBannerTitle:"Start detecting AI content today",ctaBannerDesc:"Free for 10 detections per day. No credit card required.",getFreeApiKey:"Get Free API Key",viewPricing:"View Pricing"},bd={title:"KI-Stapelerkennung",desc:"Laden Sie bis zu {{count}} unterstützte Bild-, Audio-, Video- oder PDF-Dateien für die gleichzeitige KI-Erkennung hoch.",dropPrompt:"Dateien hier ablegen oder klicken zum Durchsuchen",dropActive:"Dateien hier ablegen",fileTypes:"Bilder: JPG, JPEG, PNG, WebP, GIF · Video: MP4, AVI, MOV, WebM · Audio: MP3, WAV, OGG, M4A, AAC · PDF",fileTooLarge:"{{name}} überschreitet die Dateigrößenbegrenzung von {{limit}}",invalidType:"{{name}} ist kein unterstützter Dateityp",tooManyFiles:"Maximal {{count}} Dateien erlaubt",startProcessing:"Verarbeitung starten",pause:"Pause",resume:"Fortsetzen",clearCompleted:"Abgeschlossene löschen",clearAll:"Alle löschen",paygNotice:"Nutzungsbasierte Abrechnung: Dateien bis 50 MB. Jeder Scan wird pro Guthaben abgerechnet.",maxFileSize:"{{size}} maximal",totalCount:"{{count}} insgesamt",pendingCount:"{{count}} ausstehend",processingCount:"{{count}} werden verarbeitet",completedCount:"{{count}} abgeschlossen",errorCount:"{{count}} Fehler",statusPending:"Ausstehend",statusUploading:"Wird hochgeladen",statusAnalyzing:"Wird analysiert",statusComplete:"Abgeschlossen",statusError:"Fehler",signUpNudgeTitle:"Erklärungen & vollständige Berichte freischalten",signUpNudgeDesc:"Registrieren Sie sich kostenlos für verständliche Erklärungen, Transkripte und den Verlauf jedes Scans.",signUpNudgeCta:"Kostenlos registrieren →"},vd={toggle:"Transkript",wordCount:"{{count}} Wörter",unavailable:"Transkript nicht verfügbar"},wd={labels:"Szenenbezeichnungen",explicit:"explizite Frames"},Ad={nav:cd,hero:ld,features:dd,detection:ud,stats:md,footer:pd,common:gd,offline:hd,scan:fd,errors:xd,home:yd,batch:bd,transcript:vd,videoEvidence:wd},Id={home:"首页",about:"关于",pricing:"ä»·æ ¼",contact:"联系",blog:"博客",enterprise:"企业",features:"功能",detection:"检测",analysis:"分析"},jd={title:"先进的AI内容检测",subtitle:"通过取证和来源信号分析 AI 生成的内容,并在存在时检查受支持的 AI Identifiers Technology watermark signal 信号",cta:"开始检测",tryFree:"免费试用演示",uploadFile:"上传文件进行分析",badge:"受支持的 AI Identifiers Technology watermark signal 信号分析",analyzedCount:"个文件已分析且持续增加"},Nd={title:"尖端AI检测",multiFormat:"多格式支持",multiFormatDesc:"使用先进的AI检测技术分析图像、视频、音频和文本",googlePartnership:"AI Identifiers Technology watermark signal集成",googlePartnershipDesc:"在存在时检查受支持的 AI Identifiers Technology watermark signal 水印信号",realTime:"实时处理",realTimeDesc:"通过量子增强处理获得即时分析结果",enterprise:"企业安全",enterpriseDesc:"银行级安全,符合SOC 2标准,提供私有云选项"},kd={uploadTitle:"上传内容进行分析",selectFile:"选择文件",analyzing:"分析中...",results:"分析结果",confidence:"置信度分数",aiGenerated:"AI生成",human:"ä
2ººç±»åˆ›ä½œ",processing:"正在处理您的文件...",completed:"分析完成"},Cd={accuracy:"准确率",filesProcessed:"已处理文件",countriesServed:"服务国家",languagesSupported:"支持语言"},Sd={product:"产品",features:"功能",pricing:"ä»·æ ¼",enterprise:"企业",company:"公司",about:"关于我们",contact:"联系",privacy:"隐私政策",terms:"服务条款",copyright:"© 2025 AI Identifiers. 保留所有权利。",description:"基于AI Identifiers Technology watermark signal技术的先进AI内容检测平台"},Pd={loading:"加载中...",error:"错误",retry:"重试",cancel:"取消",save:"保存",close:"关闭",edit:"编辑",delete:"删除",language:"语言",selectLanguage:"选择语言"},Dd={banner:"Offline — reconnecting…",restored:"Connection restored",restoredDesc:"You're back online — scans are working normally.",title:"You're offline",scanDesc:"File scans require a network connection. Please reconnect and try again.",offlineDesc:"Scans will resume automatically when you reconnect.",tryAgain:"You're offline — please reconnect and try again."},Td={dropHere:"将文件拖放到此处,或点击浏览",uploading:"正在上传和分析…",aiDetected:"检测到 AI 生成内容",likelyHuman:"可能由人类创作",createAccount:"创建免费账户",scanAnother:"扫描其他文件",dailyLimit:"已达到每日扫描限额",noCredits:"没有剩余扫描积分",upgradePro:"升级至 Pro",getApiKey:"获取 API 密钥",dismiss:"关闭",widgetTitle:"AI 内容检测",widgetDesc:"上传任意文件,分析其是否由人工智能创建。获取详细的置信度评分和全面的分析报告。",welcomeBack:"欢迎回来,{{name}}!",paygBadge:"按需付费",paygDetails:"接受最大 50 MB 的文件。音频和视频按每 15 秒片段计费;文本和图像各消耗 1 个积分。Stripe 将在达到 $10 时自动开具发票。",feat1Title:"AI 检测",feat1Desc:"对 AI 生成图像进行概率检测;结果因内容、模型和编辑情况而异",feat2Title:"音频和 PDF",feat2Desc:"检测上传文档中的 AI 克隆语音(ElevenLabs、Suno)和 AI 撰写文本",feat3Title:"深度伪造视频",feat3Desc:"对支持的内容进行逐帧深度伪造取证以及 AI Identifiers Technology 水印信号检查",selectFile:"选择文件",analysing:"分析中…",signUpNudge:"想要通俗解释和文字记录?免费注册 →"},Ed={networkError:"Network error — please try again.",detectionFailed:"Detection failed — please try again.",tooManyRequests:"Too many requests — please slow down and try again."},_d={tryNow:"Try it now — free",tryNowDesc:"Upload any file or paste text and get a result in seconds. No account required.",synthidTitle:"支持 AI Identifiers Technology watermark signal 信号",ctaBannerTitle:"Start detecting AI content today",ctaBannerDesc:"Free for 10 detections per day. No credit card required.",getFreeApiKey:"Get Free API Key",viewPricing:"View Pricing"},Rd={title:"批量 AI 检测",desc:"最多上传 {{count}} 个受支持的图像、音频、视频或 PDF 文件,同时进行 AI 检测。",dropPrompt:"点击或拖动文件以上传",dropActive:"将文件放在此处",fileTypes:"图像:JPG、JPEG、PNG、WebP、GIF · 视频:MP4、AVI、MOV、WebM · 音频:MP3、WAV、OGG、M4A、AAC · PDF",fileTooLarge:"{{name}} 超过 {{limit}} 文件大小限制",invalidType:"{{name}} 不是受支持的文件类型",tooManyFiles:"最多允许 {{count}} 个文件",startProcessing:"开始处理",pause:"暂停",resume:"ç»§ç»­",clearCompleted:"清除已完成",clearAll:"全部清除",paygNotice:"按需付费:文件最大 50 MB。每次扫描按积分计费。",maxFileSize:"最大 {{size}}",totalCount:"共 {{count}} 个",pendingCount:"{{count}} 个待处理",processingCount:"{{count}} 个处理中",completedCount:"{{count}} 个已完成",errorCount:"{{count}} 个错误",statusPending:"等待处理",statusUploading:"正在上传",statusAnalyzing:"正在分析",statusComplete:"已完成",statusError:"错误",signUpNudgeTitle:"解锁详细说明和完整报告",signUpNudgeDesc:"免费注册,获取每次扫æ
2çš„通俗解释、文字记录和历史记录。",signUpNudgeCta:"免费注册 →"},Ld={toggle:"转录文本",wordCount:"{{count}} 个字",unavailable:"转录文本不可用"},zd={labels:"场景标签",explicit:"显式内容帧"},Md={nav:Id,hero:jd,features:Nd,detection:kd,stats:Cd,footer:Sd,common:Pd,offline:Dd,scan:Td,errors:Ed,home:_d,batch:Rd,transcript:Ld,videoEvidence:zd},Fd={home:"ホーム",about:"について",pricing:"料金",contact:"お問い合わせ",blog:"ブログ",enterprise:"企業",features:"機能",detection:"検出",analysis:"分析"},qd={title:"高度なAIコンテンツ検出",subtitle:"AI生成コンテンツをフォレンジックおよび来歴シグナルで分析し、存在する場合は対応するAI Identifiers Technology watermark signalシグナルも確認します",cta:"検出を開始",tryFree:"無料デモを試す",uploadFile:"分析用ファイルをアップロード",badge:"対応するAI Identifiers Technology watermark signalシグナルの分析",analyzedCount:"ファイルを分析済み(増加中)"},Od={title:"最先端のAI検出",multiFormat:"マルチフォーマット対応",multiFormatDesc:"高度なAI検出により画像、動画、音声、テキストを分析",googlePartnership:"AI Identifiers Technology watermark signal統合",googlePartnershipDesc:"存在する場合は対応するAI Identifiers Technology watermark signalウォーターマークシグナルを確認します",realTime:"リアルタイム処理",realTimeDesc:"量子強化処理により即座に分析結果を取得",enterprise:"エンタープライズセキュリティ",enterpriseDesc:"SOC 2準拠の銀行レベルのセキュリティとプライベートクラウドオプション"},$d={uploadTitle:"分析用コンテンツをアップロード",selectFile:"ファイルを選択",analyzing:"分析中...",results:"分析結果",confidence:"信頼度スコア",aiGenerated:"AI生成",human:"人間作成",processing:"ファイルを処理中...",completed:"分析完了"},Ud={accuracy:"精度率",filesProcessed:"処理済みファイル",countriesServed:"サービス提供国",languagesSupported:"対応言語"},Gd={product:"製品",features:"機能",pricing:"料金",enterprise:"企業",company:"会社",about:"私たちについて",contact:"お問い合わせ",privacy:"プライバシーポリシー",terms:"利用規約",copyright:"© 2025 AI Identifiers. 全著作権所有。",description:"AI Identifiers Technology watermark signal技術を搭載した高度なAIコンテンツ検出プラットフォーム"},Vd={loading:"読み込み中...",error:"エラー",retry:"再試行",cancel:"キャンセル",save:"保存",close:"閉じる",edit:"編集",delete:"削除",language:"言語",selectLanguage:"言語を選択"},Bd={banner:"Offline — reconnecting…",restored:"Connection restored",restoredDesc:"You're back online — scans are working normally.",title:"You're offline",scanDesc:"File scans require a network connection. Please reconnect and try again.",offlineDesc:"Scans will resume automatically when you reconnect.",tryAgain:"You're offline — please reconnect and try again."},Hd={dropHere:"ここにファイルをドロップするか、クリックして参照",uploading:"アップロードと分析を実行中…",aiDetected:"AI生成コンテンツを検出しました",likelyHuman:"人間が作成した可能性が高い",createAccount:"無料アカウントを作成",scanAnother:"別のファイルをスキャン",dailyLimit:"1日のスキャン上限に達しました",noCredits:"スキャンクレジットが残っていません",upgradePro:"Proにアップグレード",getApiKey:"APIキーを取得",dismiss:"閉じる",widgetTitle:"AIコンテンツ検出",widgetDesc:"任意のファイルをアップロードして、人工知能により作成されたかを分析します。詳細な信頼度スコアと包括的な分析レポートを取得できます。",welcomeBack:"おかえりなさい、{{name}}さん!",paygBadge:"従量課金",paygDetails:"50 MBまでのファイルを受け付けます。音声と動画は15秒ごとのセグメント単位、テキストと画像は各1クレジットで課金されます。Stripeは$10で自動請求書を発行します。",feat1Title:"AI検出",feat1Desc:"AI生成画像を確率的に検出します。結果はコンテンツ、モデル、編集によって異なります",feat2Title:"音声とPDF",feat2Desc:"アップロードした文書内のAIクローン音声(ElevenLabs、Suno)とAI作成テキストを検出します",feat3Title:"ディープフェイク動画",feat3Desc:"対応コンテンツのフレーム単位のディープフェイク鑑識とAI Identifiers Technologyの透かし信号を検査",selectFile:"ファイルを選択",analysing:"分析中…",signUpNudge:"わかりやすい説明と文字起こしを利用しますか?無料で登録 →"},Wd={networkError:"Network error — please try again.",detectionFailed:"Detection failed — please try again.",tooManyRequests:"Too many requests — please slow down and try again."},Kd={tryNow:"Try it now — free",tryNowDesc:"Upload any file or paste text and get a result in seconds. No account required.",synthidTitle:"AI Identifiers Technology watermark signalシグナル対応",ctaBannerTitle:"Start detecting AI content today",ctaBannerDe
2sc:"Free for 10 detections per day. No credit card required.",getFreeApiKey:"Get Free API Key",viewPricing:"View Pricing"},Jd={title:"一括AI検出",desc:"対応する画像、音声、動画、PDFファイルを最大{{count}}件アップロードし、同時にAI検出を実行できます。",dropPrompt:"クリックするか、ファイルをドラッグしてアップロード",dropActive:"ここにファイルをドロップ",fileTypes:"画像:JPG、JPEG、PNG、WebP、GIF · 動画:MP4、AVI、MOV、WebM · 音声:MP3、WAV、OGG、M4A、AAC · PDF",fileTooLarge:"{{name}}は{{limit}}のファイルサイズ上限を超えています",invalidType:"{{name}}はサポートされていないファイル形式です",tooManyFiles:"許可されるファイル数は最大{{count}}件です",startProcessing:"処理を開始",pause:"一時停止",resume:"再開",clearCompleted:"完了済みをクリア",clearAll:"すべてクリア",paygNotice:"従量課金:ファイルは50 MBまで。各スキャンはクレジット単位で請求されます。",maxFileSize:"最大{{size}}",totalCount:"合計{{count}}件",pendingCount:"保留中{{count}}件",processingCount:"処理中{{count}}件",completedCount:"完了{{count}}件",errorCount:"エラー{{count}}件",statusPending:"保留中",statusUploading:"アップロード中",statusAnalyzing:"分析中",statusComplete:"完了",statusError:"エラー",signUpNudgeTitle:"説明と詳細レポートを解除する",signUpNudgeDesc:"無料登録で、すべてのスキャンのわかりやすい説明、文字起こし、履歴を取得できます。",signUpNudgeCta:"無料で登録 →"},Yd={toggle:"トランスクリプト",wordCount:"{{count}}語",unavailable:"トランスクリプトは利用できません"},Qd={labels:"シーンラベル",explicit:"明示的フレーム"},Zd={nav:Fd,hero:qd,features:Od,detection:$d,stats:Ud,footer:Gd,common:Vd,offline:Bd,scan:Hd,errors:Wd,home:Kd,batch:Jd,transcript:Yd,videoEvidence:Qd},Xd={home:"홈",about:"소개",pricing:"가격",contact:"연락처",blog:"블로그",enterprise:"기업",features:"기능",detection:"탐지",analysis:"분석"},eu={title:"고급 AI 콘텐츠 탐지",subtitle:"포렌식 및 출처 신호로 AI 생성 콘텐츠를 분석하고, 제공되는 경우 지원되는 AI Identifiers Technology watermark signal 신호를 확인합니다",cta:"탐지 시작",tryFree:"무료 데모 체험",uploadFile:"분석용 파일 업로드",badge:"지원되는 AI Identifiers Technology watermark signal 신호 분석",analyzedCount:"개 파일 분석 완료 및 증가 중"},tu={title:"최첨단 AI 탐지",multiFormat:"다중 형식 지원",multiFormatDesc:"고급 AI 탐지로 이미지, 비디오, 오디오, 텍스트 분석",googlePartnership:"AI Identifiers Technology watermark signal 통합",googlePartnershipDesc:"제공되는 경우 지원되는 AI Identifiers Technology watermark signal 워터마크 신호를 확인합니다",realTime:"실시간 처리",realTimeDesc:"양자 강화 처리로 즉시 분석 결과 획득",enterprise:"기업 보안",enterpriseDesc:"SOC 2 준수 은행 수준 보안과 프라이빗 클라우드 옵션"},au={uploadTitle:"분석용 콘텐츠 업로드",selectFile:"파일 선택",analyzing:"분석 중...",results:"분석 결과",confidence:"신뢰도 점수",aiGenerated:"AI 생성",human:"인간 제작",processing:"파일 처리 중...",completed:"분석 완료"},iu={accuracy:"정확도율",filesProcessed:"처리된 파일",countriesServed:"서비스 제공 국가",languagesSupported:"지원 언어"},nu={product:"제품",features:"기능",pricing:"가격",enterprise:"기업",company:"회사",about:"회사 소개",contact:"연락처",privacy:"개인정보 보호정책",terms:"서비스 약관",copyright:"© 2025 AI Identifiers. 모든 권리 보유.",description:"AI Identifiers Technology watermark signal 기술로 구동되는 고급 AI 콘텐츠 탐지 플랫폼"},su={loading:"로딩 중...",error:"오류",retry:"다시 시도",cancel:"취소",save:"저장",close:"닫기",edit:"편집",delete:"삭제",language:"언어",selectLanguage:"언어 선택"},ru={banner:"Offline — reconnecting…",restored:"Connection restored",restoredDesc:"You're back online — scans are working normally.",title:"You're offline",scanDesc:"File scans require a network connection. Please reconnect and try again.",offlineDesc:"Scans will resume automatically when you reconnect.",tryAgain:"You're offline — please reconnect and try again."}
2,ou={dropHere:"여기에 파일을 놓거나 클릭하여 찾아보기",uploading:"업로드 및 분석 중…",aiDetected:"AI 생성 콘텐츠가 감지되었습니다",likelyHuman:"사람이 제작했을 가능성이 높음",createAccount:"무료 계정 만들기",scanAnother:"다른 파일 스캔",dailyLimit:"일일 스캔 한도에 도달했습니다",noCredits:"남은 스캔 크레딧이 없습니다",upgradePro:"Pro로 업그레이드",getApiKey:"API 키 받기",dismiss:"닫기",widgetTitle:"AI 콘텐츠 감지",widgetDesc:"파일을 업로드하여 인공지능이 생성했는지 분석하세요. 상세한 신뢰도 점수와 종합 분석 보고서를 제공합니다.",welcomeBack:"다시 오신 것을 환영합니다, {{name}}님!",paygBadge:"종량제",paygDetails:"최대 50MB 파일을 지원합니다. 오디오와 동영상은 15초 세그먼트당, 텍스트와 이미지는 각각 1크레딧으로 청구됩니다. Stripe는 $10에서 자동으로 청구서를 발행합니다.",feat1Title:"AI 탐지",feat1Desc:"AI 생성 이미지를 확률적으로 탐지합니다. 결과는 콘텐츠, 모델 및 편집에 따라 달라집니다",feat2Title:"오디오 및 PDF",feat2Desc:"업로드한 문서에서 AI 복제 음성(ElevenLabs, Suno)과 AI 작성 텍스트를 탐지합니다",feat3Title:"딥페이크 동영상",feat3Desc:"지원되는 콘텐츠에 대해 프레임별 딥페이크 포렌식과 AI Identifiers Technology 워터마크 신호를 검사합니다",selectFile:"파일 선택",analysing:"분석 중…",signUpNudge:"쉬운 설명과 전사본을 원하시나요? 무료 가입 →"},cu={networkError:"Network error — please try again.",detectionFailed:"Detection failed — please try again.",tooManyRequests:"Too many requests — please slow down and try again."},lu={tryNow:"Try it now — free",tryNowDesc:"Upload any file or paste text and get a result in seconds. No account required.",synthidTitle:"AI Identifiers Technology watermark signal 신호 지원",ctaBannerTitle:"Start detecting AI content today",ctaBannerDesc:"Free for 10 detections per day. No credit card required.",getFreeApiKey:"Get Free API Key",viewPricing:"View Pricing"},du={title:"일괄 AI 탐지",desc:"지원되는 이미지, 오디오, 동영상 또는 PDF 파일을 최대 {{count}}개 업로드하여 동시에 AI 탐지를 실행하세요.",dropPrompt:"클릭하거나 파일을 끌어 업로드하세요",dropActive:"여기에 파일을 놓으세요",fileTypes:"이미지: JPG, JPEG, PNG, WebP, GIF · 동영상: MP4, AVI, MOV, WebM · 오디오: MP3, WAV, OGG, M4A, AAC · PDF",fileTooLarge:"{{name}}이(가) {{limit}}
2 파일 크기 제한을 초과합니다",invalidType:"{{name}}은(는) 지원되지 않는 파일 형식입니다",tooManyFiles:"최대 {{count}}개 파일까지 허용됩니다",startProcessing:"처리 시작",pause:"일시 정지",resume:"재개",clearCompleted:"완료 항목 지우기",clearAll:"모두 지우기",paygNotice:"종량제: 파일은 최대 50MB까지 지원됩니다. 각 스캔은 크레딧 단위로 청구됩니다.",maxFileSize:"최대 {{size}}",totalCount:"총 {{count}}개",pendingCount:"대기 중 {{count}}개",processingCount:"처리 중 {{count}}개",completedCount:"완료 {{count}}개",errorCount:"오류 {{count}}개",statusPending:"대기 중",statusUploading:"업로드 중",statusAnalyzing:"분석 중",statusComplete:"완료",statusError:"오류",signUpNudgeTitle:"설명 및 전체 보고서 잠금 해제",signUpNudgeDesc:"무료로 가입하여 모든 스캔의 평이한 설명, 전사본 및 기록을 받아보세요.",signUpNudgeCta:"무료 가입 →"},uu={toggle:"대본",wordCount:"{{count}}단어",unavailable:"대본을 사용할 수 없습니다"},mu={labels:"장면 레이블",explicit:"명시적 프레임"},pu={nav:Xd,hero:eu,features:tu,detection:au,stats:iu,footer:nu,common:su,offline:ru,scan:ou,errors:cu,home:lu,batch:du,transcript:uu,videoEvidence:mu},gu={home:"Início",about:"Sobre",pricing:"Preços",contact:"Contato",blog:"Blog",enterprise:"Empresas",features:"Recursos",detection:"Detecção",analysis:"Análise"},hu={title:"Detecção Avançada de Conteúdo IA",subtitle:"Analise conteúdo gerado por IA com sinais forenses e de procedência, incluindo sinais compatíveis do AI Identifiers Technology watermark signal quando presentes",cta:"Iniciar Detecção",tryFree:"Experimentar Demo Gratuita",uploadFile:"Carregar Arquivo para Análise",badge:"Análise de sinais compatíveis do AI Identifiers Technology watermark signal",analyzedCount:"arquivos analisados e contando"},fu={title:"Detecção de IA de Ponta",multiFormat:"Suporte Multi-Formato",multiFormatDesc:"Analise AI Identifiers Technologys, vídeos, áudio e texto com detecção avançada de IA",googlePartnership:"Integração AI Identifiers Technology watermark signal",googlePartnershipDesc:"Examina sinais compatíveis de marca d’água AI Identifiers Technology watermark signal quando presentes",realTime:"Processamento em Tempo Real",realTimeDesc:"Obtenha resultados de análise instantâneos com processamento quântico aprimorado",enterprise:"Segurança Empresarial",enterpriseDesc:"Segurança de nível bancário com conformidade SOC 2 e opções de nuvem privada"},xu={uploadTitle:"Carregar Conteúdo para Análise",selectFile:"Selecionar Arquivo",analyzing:"Analisando...",results:"Resultados da Análise",confidence:"Pontuação de Confiança",aiGenerated:"Gerado por IA",human:"Criado por Humano",processing:"Processando seu arquivo...",completed:"Análise Concluída"},yu={accuracy:"Taxa de Precisão",filesProcessed:"Arquivos Processados",countriesServed:"Países Atendidos",languagesSupported:"Idiomas Suportados"},bu={product:"Produto",features:"Recursos",pricing:"Preços",enterprise:"Empresas",company:"Empresa",about:"Sobre Nós",contact:"Contato",privacy:"Política de Privacidade",terms:"Termos de Serviço",copyright:"© 2025 AI Identifiers. Todos os direitos reservados.",description:"Plataforma avançada de detecção de conteúdo IA alimentada pela tecnologia AI Identifiers Technology watermark signal"},vu={loading:"Carregando...",error:"Erro",retry:"Tentar Novamente",cancel:"Cancelar",save:"Salvar",close:"Fechar",edit:"Editar",delete:"Excluir",language:"Idioma",selectLanguage:"Selecionar Idioma"},wu={banner:"Offline — reconnecting…",restored:"Connection restored",restoredDesc:"You're back online — scans are working normally.",title:"You're offline",scanDesc:"File scans require a network connection. Please reconnect and try again.",offlineDesc:"Scans will resume automatically when you reconnect.",tryAgain:"You're offline — please reconnect and try again."},Au={dropHere:"Solte um arquivo aqui ou clique para procurar",uploading:"Enviando e analisando…",aiDetected:"Conteúdo gerado por IA detectado",likelyHuman:"Provavelmente criado por uma pessoa",createAccount:"Criar conta gratuita",scanAnother:"Analisar outro arquivo",dailyLimit:"Limite diário de análises atingido",noCredits:"Não há créditos de análise restantes",upgradePro:"Fazer upgrade para Pro",getApiKey:"Obter uma chave de API",dismiss:"Dispensar",widgetTitle:"Detecção de Conteúdo IA",widgetDesc:"Envie qualquer arquivo para analisar se ele foi criado por inteligência artificial. Obtenha pontuações de confiança detalhadas e relatórios de análise completos.",welcomeBack:"Bem-vindo de volta, {{name}}!",paygBadge:"Pague conforme o uso",paygDetails:"Arquivos de até 50 MB são aceitos. Áudio e vídeo são cobrados por segmento de 15 segundos; texto e imagens custam 1 crédito cada. A Stripe fatura automaticamente ao atingir US$ 10.",feat1Title:"Detecção de IA",feat1Desc:"Detecção probabilística de imagens geradas por IA; os resultados variam conforme o conteúdo, o modelo e as edições",feat2Title:"Áudio e PDF",feat2Desc:"Detecte vozes clonadas por IA (ElevenLabs, Suno) e texto escrito por IA em documentos enviados",feat3Title:"Vídeo deepfake",feat3Desc:"Análise forense de deepfakes quadro a quadro e inspeção de sinais de marca-d’água da AI Identifiers Technology para conteúdo compatível",selectFile:"Selecionar Arquivo",analysing:"Analisando…",signUpNudge:"Quer explicações claras e transcrições? Cadastre-se gratuitamente →"}
2,Iu={networkError:"Network error — please try again.",detectionFailed:"Detection failed — please try again.",tooManyRequests:"Too many requests — please slow down and try again."},ju={tryNow:"Try it now — free",tryNowDesc:"Upload any file or paste text and get a result in seconds. No account required.",synthidTitle:"Suporte a sinais do AI Identifiers Technology watermark signal",ctaBannerTitle:"Start detecting AI content today",ctaBannerDesc:"Free for 10 detections per day. No credit card required.",getFreeApiKey:"Get Free API Key",viewPricing:"View Pricing"},Nu={title:"Detecção de IA em lote",desc:"Envie até {{count}} arquivos compatíveis de imagem, áudio, vídeo ou PDF para detecção simultânea de IA.",dropPrompt:"Clique ou arraste arquivos para enviar",dropActive:"Solte os arquivos aqui",fileTypes:"Imagens: JPG, JPEG, PNG, WebP, GIF · Vídeo: MP4, AVI, MOV, WebM · Áudio: MP3, WAV, OGG, M4A, AAC · PDF",fileTooLarge:"{{name}} excede o limite de tamanho de arquivo de {{limit}}",invalidType:"{{name}} não é um tipo de arquivo suportado",tooManyFiles:"Máximo de {{count}} arquivos permitido",startProcessing:"Iniciar processamento",pause:"Pausar",resume:"Retomar",clearCompleted:"Limpar concluídos",clearAll:"Limpar tudo",paygNotice:"Pague conforme o uso: arquivos de até 50 MB. Cada análise é cobrada por crédito.",maxFileSize:"{{size}} no máximo",totalCount:"{{count}} no total",pendingCount:"{{count}} pendentes",processingCount:"{{count}} em processamento",completedCount:"{{count}} concluídos",errorCount:"{{count}} erros",statusPending:"Pendente",statusUploading:"Enviando",statusAnalyzing:"Analisando",statusComplete:"Concluído",statusError:"Erro",signUpNudgeTitle:"Desbloqueie explicações e relatórios completos",signUpNudgeDesc:"Cadastre-se gratuitamente para receber explicações em linguagem simples, transcrições e histórico de cada análise.",signUpNudgeCta:"Cadastrar-se gratuitamente →"},ku={toggle:"Transcrição",wordCount:"{{count}} palavras",unavailable:"Transcrição indisponível"},Cu={labels:"Etiquetas de cena",explicit:"quadros explícitos"},Su={nav:gu,hero:hu,features:fu,detection:xu,stats:yu,footer:bu,common:vu,offline:wu,scan:Au,errors:Iu,home:ju,batch:Nu,transcript:ku,videoEvidence:Cu},Pu={home:"Home",about:"Chi Siamo",pricing:"Prezzi",contact:"Contatti",blog:"Blog",enterprise:"Aziende",features:"Funzionalità",detection:"Rilevamento",analysis:"Analisi"},Du={title:"Rilevamento Avanzato di Contenuti IA",subtitle:"Analizza contenuti generati dall’IA con segnali forensi e di provenienza, inclusi i segnali AI Identifiers Technology watermark signal supportati quando presenti",cta:"Inizia Rilevamento",tryFree:"Prova Demo Gratuita",uploadFile:"Carica File per Analisi",badge:"Analisi dei segnali AI Identifiers Technology watermark signal supportati",analyzedCount:"file analizzati e in crescita"},Tu={title:"Rilevamento IA All'Avanguardia",multiFormat:"Supporto Multi-Formato",multiFormatDesc:"Analizza immagini, video, audio e testo con rilevamento IA avanzato",googlePartnership:"Integrazione AI Identifiers Technology watermark signal",googlePartnershipDesc:"Esamina i segnali di watermark AI Identifiers Technology watermark signal supportati quando presenti",realTime:"Elaborazione in Tempo Reale",realTimeDesc:"Ottieni risultati di analisi istantanei con elaborazione quantistica potenziata",enterprise:"Sicurezza Aziendale",enterpriseDesc:"Sicurezza di livello bancario con conformità SOC 2 e opzioni cloud private"},Eu={uploadTitle:"Carica Contenuto per Analisi",selectFile:"Seleziona File",analyzing:"Analizzando...",results:"Risultati dell'Analisi",confidence:"Punteggio di Confidenza",aiGenerated:"Generato da IA",human:"Creato da Umano",processing:"Elaborando il tuo file...",completed:"Analisi Completata"},_u={accuracy:"Tasso di Precisione",filesProcessed:"File Elaborati",countriesServed:"Paesi Serviti",languagesSupported:"Lingue Supportate"},Ru={product:"Prodotto",features:"Funzionalità",pricing:"Prezzi",enterprise:"Aziende",company:"Azienda",about:"Chi Siamo",contact:"Contatti",privacy:"Politica sulla Privacy",terms:"Termini di Servizio",copyright:"© 2025 AI Identifiers. Tutti i diritti riservati.",description:"Piattaforma avanzata di rilevamento contenuti IA alimentata dalla tecnologia AI Identifiers Technology watermark signal"},Lu={loading:"Caricamento...",error:"Errore",retry:"Riprova",cancel:"Annulla",save:"Salva",close:"Chiudi",edit:"Modifica",delete:"Elimina",language:"Lingua",selectLanguage:"Seleziona Lingua"},zu={banner:"Offline — reconnecting…",restored:"Connection restored",restoredDesc:"You're back online — scans are working normally.",title:"You're offline",scanDesc:"File scans require a network connection. Please reconnect and try again.",offlineDesc:"Scans will resume automatically when you reconnect.",tryAgain:"You're offline — please reconnect and try again."},Mu={dropHere:"Rilascia qui un file o fai clic per sfogliare",uploading:"Caricamento e analisi in corso…",aiDetected:"Rilevato contenuto generato dall’IA",likelyHuman:"Probabilmente creato da una persona",createAccount:"Crea un account gratuito",scanAnother:"Analizza un altro file",dailyLimit:"Raggiunto il limite giornaliero di analisi",noCredits:"Non sono rimasti crediti di analisi",upgradePro:"Passa a Pro",getApiKey:"Ottieni una chiave API",dismiss:"Chiudi",widgetTitle:"Rilevamento Contenuti IA",widgetDesc:"Carica qualsiasi file per analizzare se è stato creato dall’intelligenza artificiale. Ottieni punteggi di confidenza dettagliati e rapporti di analisi completi.",welcomeBack:"Bentornato, {{name}}!",paygBadge:"Pagamento a consumo",paygDetails:"Sono accettati file fino a 50 MB. Audio e video vengono fatturati per segmento di 15 secondi; testo e immagini costano 1 credito ciascuno. Stripe fattura automaticamente al raggiungimento di $10.",feat1Title:"Rilevamento IA",feat1Desc:"Rilevamento probabilistico di immagini generate dall’IA; i risultati variano in base al contenuto, al modello e alle modifiche",feat2Title:"Audio e PDF",feat2Desc:"Rileva voci clonate dall’IA (ElevenLabs, Suno) e testo scritto dall’IA nei documenti caricati",feat3Title:"Video deepfake",feat3Desc:"Analisi forense dei deepfake fotogramma per fotogramma e ispezione dei segnali di filigrana AI Identifiers Technology per i contenuti supportati",selectFile:"Seleziona file",analysing:"Analisi in corso…",signUpNudge:"Vuoi spiegazioni chiare e trascrizioni? Iscriviti gratis →"},Fu={networkError:"Network error — please try again.",detectionFailed:"Detection failed — please try again.",tooManyRequests:"Too many requests — please slow down and try again."},qu={tryNow:"Try it now — free",tryNowDesc:"Upload any file or paste text and get a result in seconds. No account required.",synthidTitle:"Supporto dei segnali AI Identifiers Technology watermark signal",ctaBannerTitle:"Start detecting AI content today",ctaBannerDe
2sc:"Free for 10 detections per day. No credit card required.",getFreeApiKey:"Get Free API Key",viewPricing:"View Pricing"},Ou={title:"Rilevamento IA in batch",desc:"Carica fino a {{count}} file supportati di immagini, audio, video o PDF per il rilevamento simultaneo dell’IA.",dropPrompt:"Fai clic o trascina i file da caricare",dropActive:"Rilascia qui i file",fileTypes:"Immagini: JPG, JPEG, PNG, WebP, GIF · Video: MP4, AVI, MOV, WebM · Audio: MP3, WAV, OGG, M4A, AAC · PDF",fileTooLarge:"{{name}} supera il limite di dimensione file di {{limit}}",invalidType:"{{name}} non è un tipo di file supportato",tooManyFiles:"Sono consentiti al massimo {{count}} file",startProcessing:"Avvia elaborazione",pause:"Pausa",resume:"Riprendi",clearCompleted:"Cancella completati",clearAll:"Cancella tutto",paygNotice:"Pagamento a consumo: file fino a 50 MB. Ogni analisi viene fatturata per credito.",maxFileSize:"Massimo {{size}}",totalCount:"{{count}} totali",pendingCount:"{{count}} in attesa",processingCount:"{{count}} in elaborazione",completedCount:"{{count}} completati",errorCount:"{{count}} errori",statusPending:"In attesa",statusUploading:"Caricamento in corso",statusAnalyzing:"Analisi in corso",statusComplete:"Completato",statusError:"Errore",signUpNudgeTitle:"Sblocca spiegazioni e report completi",signUpNudgeDesc:"Iscriviti gratis per ricevere spiegazioni in linguaggio semplice, trascrizioni e cronologia di ogni analisi.",signUpNudgeCta:"Iscriviti gratis →"},$u={toggle:"Trascrizione",wordCount:"{{count}} parole",unavailable:"Trascrizione non disponibile"},Uu={labels:"Etichette scena",explicit:"frame espliciti"},Gu={nav:Pu,hero:Du,features:Tu,detection:Eu,stats:_u,footer:Ru,common:Lu,offline:zu,scan:Mu,errors:Fu,home:qu,batch:Ou,transcript:$u,videoEvidence:Uu},Vu={home:"Главная",about:"О нас",pricing:"Цены",contact:"Контакты",blog:"Блог",enterprise:"Для бизнеса",features:"Функции",detection:"Обнаружение",analysis:"Анализ"},Bu={title:"Продвинутое Обнаружение ИИ-Контента",subtitle:"Анализируйте созданный ИИ контент с помощью судебно-технических сигналов и сигналов происхождения, включая поддерживаемые сигналы AI Identifiers Technology watermark signal при их наличии",cta:"Начать Обнаружение",tryFree:"Попробовать Бесплатную Демо",uploadFile:"Загрузить Файл для Анализа",badge:"Анализ поддерживаемых сигналов AI Identifiers Technology watermark signal",analyzedCount:"файлов проанализировано и продолжается"},Hu={title:"Передовое Обнаружение ИИ",multiFormat:"Поддержка Мульти-Форматов",multiFormatDesc:"Анализируйте изображения, видео, аудио и текст с продвинутым обнаружением ИИ",googlePartnership:"Интеграция AI Identifiers Technology watermark signal",googlePartnershipDesc:"Проверяет поддерживаемые сигналы водяных знаков AI Identifiers Technology watermark signal при их наличии",realTime:"Обработка в Реальном Времени",realTimeDesc:"Получайте мгновенные результаты анализа с квантово-усиленной обработкой",enterprise:"Корпоративная Безопасность",enterpriseDesc:"Банковский уровень безопасности с соответствием SOC 2 и опциями частного облака"},Wu={uploadTitle:"Загрузить Контент для Анализа",selectFile:"Выбрать Файл",analyzing:"Анализ...",results:"Результаты Анализа",confidence:"Оценка Достоверности",aiGenerated:"Создано ИИ",human:"Создано Человеком",processing:"Обработка вашего файла...",completed:"Анализ Завершен"},Ku={accuracy:"Коэффициент Точности",filesProcessed:"Обработано Файлов",countriesServed:"Обслуживаемые Страны",languagesSupported:"Поддерживаемые Языки"},Ju={product:"Продукт",features:"Функции",pricing:"Цены",enterprise:"Для бизнеса",company:"Компания",about:"О Нас",contact:"Контакты",privacy:"Политика Конфиденциальности",terms:"Условия Обслуживания",copyright:"© 2025 AI Identifiers. Все права защищены.",description:"Продвинутая платформа обнаружения ИИ-контента на основе технологии AI Identifiers Technology watermark signal"},Yu={loading:"Загрузка...",error:"Ошибка",retry:"Повторить",cancel:"Отмена",save:"Сохранить",close:"Закрыть",edit:"Редактировать",delete:"Удалить",language:"Язык",selectLanguage:"Выбрать Язык"},Qu={banner:"Offline — reconnecting…",restored:"Connection restored",restoredDesc:"You're back online — scans are working normally.",title:"You're offline",scanDesc:"File scans require a network connection. Please reconnect and try again.",offlineDesc:"Scans will resume automatically when you reconnect.",tryAgain:"You're offline — please reconnect and try again."},Zu={dropHere:"Перетащите файл сюда или нажмите, чтобы выбрать",uploading:"Загрузка и анализ…",aiDetected:"Обнаружен контент, созданный ИИ",likelyHuman:"Вероятно, создано человеком",createAccount:"Создать бесплатный аккаунт",scanAnother:"Сканировать другой файл",dailyLimit:"Достигнут дневной лимит сканирований",noCredits:"Кредиты для сканирования закончились",upgradePro:"Перейти на Pro",getApiKey:"Получить API-ключ",dismiss:"Закрыть",widgetTitle:"Обнаружение контента ИИ",widgetDesc:"Загрузите любой файл, чтобы проверить, был ли он создан искусственным интеллектом. Получите подробные оценки уверенности и полные отчёты об анализе.",welcomeBack:"С возвращением, {{name}}!",paygBadge:"Оплата по мере использования",paygDetails:"Принимаются файлы до 50 МБ. Аудио и видео тарифицируются за каждый 15-секундн
2ый сегмент; текст и изображения стоят по 1 кредиту. Stripe автоматически выставляет счёт при достижении $10.",feat1Title:"Обнаружение ИИ",feat1Desc:"Вероятностное обнаружение изображений, созданных ИИ; результаты зависят от содержимого, модели и редактирования",feat2Title:"Аудио и PDF",feat2Desc:"Обнаружение голосов, клонированных ИИ (ElevenLabs, Suno), и текстов, написанных ИИ, в загруженных документах",feat3Title:"Deepfake-видео",feat3Desc:"Покадровая криминалистическая экспертиза дипфейков и проверка сигналов водяных знаков AI Identifiers Technology для поддерживаемого контента",selectFile:"Выбрать файл",analysing:"Анализ…",signUpNudge:"Хотите понятные объяснения и расшифровки? Зарегистрируйтесь бесплатно →"},Xu={networkError:"Network error — please try again.",detectionFailed:"Detection failed — please try again.",tooManyRequests:"Too many requests — please slow down and try again."},em={tryNow:"Try it now — free",tryNowDesc:"Upload any file or paste text and get a result in seconds. No account required.",synthidTitle:"Поддержка сигналов AI Identifiers Technology watermark signal",ctaBannerTitle:"Start detecting AI content today",ctaBannerDesc:"Free for 10 detections per day. No credit card required.",getFreeApiKey:"Get Free API Key",viewPricing:"View Pricing"},tm={title:"Пакетное обнаружение ИИ",desc:"Загрузите до {{count}} поддерживаемых файлов изображений, аудио, видео или PDF для одновременного обнаружения ИИ.",dropPrompt:"Перетащите файлы сюда или нажмите для выбора",dropActive:"Перетащите файлы сюда",fileTypes:"Изображения: JPG, JPEG, PNG, WebP, GIF · Видео: MP4, AVI, MOV, WebM · Аудио: MP3, WAV, OGG, M4A, AAC · PDF",fileTooLarge:"{{name}} превышает ограничение размера файла {{limit}}",invalidType:"{{name}} — неподдерживаемый тип файла",tooManyFiles:"Разрешено не более {{count}} файлов",startProcessing:"Начать обработку",pause:"Пауза",resume:"Продолжить",clearCompleted:"Очистить завершённые",clearAll:"Очистить всё",paygNotice:"Оплата по мере использования: файлы до 50 МБ. Каждое сканирование оплачивается кредитами.",maxFileSize:"{{size}} максимум",totalCount:"Всего: {{count}}",pendingCount:"В ожидании: {{count}}",processingCount:"Обрабатывается: {{count}}",completedCount:"Завершено: {{count}}",errorCount:"Ошибок: {{count}}",statusPending:"В ожидании",statusUploading:"Загрузка",statusAnalyzing:"Анализ",statusComplete:"Завершено",statusError:"Ошибка",signUpNudgeTitle:"Разблокируйте объяснения и полные отчёты",signUpNudgeDesc:"Зарегистрируйтесь бесплатно, чтобы получать понятные объяснения, транскрипции и историю каждого сканирования.",signUpNudgeCta:"Зарегистрироваться бесплатно →"},am={toggle:"Транскрипт",wordCount:"{{count}} слов",unavailable:"Транскрипт недоступен"},im={labels:"Метки сцен",explicit:"явные кадры"},nm={nav:Vu,hero:Bu,features:Hu,detection:Wu,stats:Ku,footer:Ju,common:Yu,offline:Qu,scan:Zu,errors:Xu,home:em,batch:tm,transcript:am,videoEvidence:im},sm={home:"होम",about:"हमारे बारे में",pricing:"मूल्य निर्धारण",contact:"संपर्क",blog:"ब्लॉग",enterprise:"एंटरà¤
2ªà¥à¤°à¤¾à¤‡à¤œà¤¼",features:"विशेषताएं",detection:"पहचान",analysis:"विश्लेषण"},rm={title:"उन्नत AI सामग्री पहचान",subtitle:"फोरेंसिक और स्रोत-संबंधी संकेतों से AI-जनरेटेड सामग्री का विश्लेषण करें, जिसमें उपलब्ध होने पर समर्थित AI Identifiers Technology watermark signal संकेत शामिल हैं",cta:"पहचान शुरू करें",tryFree:"मुफ्त डेमो आज़माएं",uploadFile:"विश्लेषण के लिए फ़ाइल अपलोड करें",badge:"समर्थित AI Identifiers Technology watermark signal संकेतों का विश्लेषण",analyzedCount:"फ़ाइलें विश्लेषित और गिनती जारी"},om={title:"अत्याधुनिक AI पहचान",multiFormat:"मल्टी-फॉर्मेट समर्थन",multiFormatDesc:"उन्नत AI पहचान के साथ छवियों, वीडियो, ऑडियो और टेक्स्ट का विश्लेषण करें",googlePartnership:"AI Identifiers Technology watermark signal एकीकरण",googlePartnershipDesc:"उपलब्ध होने पर समर्थित AI Identifiers Technology watermark signal वॉटरमार्क संकेतों की जाँच करता है",realTime:"रीयल-टाइम प्रोसेसिंग",realTimeDesc:"क्वांटम-एन्हांस्ड प्रोसेसिंग के साथ तुरंत विश्लेषण परिणाम प्राप्त करें",enterprise:"एंटरप्राइज़ सुरक्षा",enterpriseDesc:"SOC 2 अनुपालन और निजी क्लाउड विकल्पों के साथ बैंक-ग्रेड सुरक्षा"},cm={uploadTitle:"विश्लेषण के लिए सामग्री अपलोड करें",selectFile:"फ़ाइल चुनें",analyzing:"विश्लेषण कर रहे हैं...",results:"विश्लेषण परिणाम",confidence:"विश्वसनीयता स्कोर",aiGenerated:"AI द्वारा जनरेट",human:"मानव द्वारा निर्मित",processing:"आपकी फ़ाइल प्रोसेस की जा रही है...",completed:"विश्लेषण पूर्ण"},lm={accuracy:"सटीकता दर",filesProcessed:"प्रोसेस की गई फ़ाइलें",countriesServed:"सेवा प्रदान किए गए देश",languagesSupported:"समर्थित भाषाएं"},dm={product:"उत्पाद",features:"विशेषताएं",pricing:"मूल्य निर्धारण",enterprise:"एंटरप्राइज़",company:"कंपनी",about:"हमारे बारे में",contact:"संपर्क",privacy:"गोपनीयता नीति",terms:"सेवा की शर्तें",copyright:"© 2025 AI Identifiers. सभी अधिकार सुरक्षित।",description:"AI Identifiers Technology watermark signal तकनीक द्वारा संचालित उन्नत AI सामग्री पहचान प्लेटफॉर्म"},um={loading:"लोड हो रहा है...",error:"त्रुटि",retry:"पुनः प्रयास करें",cancel:"रद्द करें",save:"सहेजें",close:"बंद करें",edit:"संपादित करें",delete:"हटाएं",language:"भाषा",selectLanguage:"भाषा चुनें"},mm={banner:"Offline — reconnecting…",restored:"Connection restored",restoredDesc:"You're back online — scans are working normally.",title:"You're offline",scanDesc:"File scans require a network connection. Please reconnect and try again.",offlineDesc:"Scans will resume automatically when you reconnect.",tryAgain:"You're offline — please reconnect and try again."},pm={dropHere:"यहाँ फ़ाइल छोड़ें या ब्राà
2¤‰à¤œà¤¼ करने के लिए क्लिक करें",uploading:"अपलोड और विश्लेषण हो रहा है…",aiDetected:"AI-जनित सामग्री का पता चला",likelyHuman:"संभवतः मानव द्वारा बनाई गई",createAccount:"मुफ़्त खाता बनाएँ",scanAnother:"दूसरी फ़ाइल स्कैन करें",dailyLimit:"दैनिक स्कैन सीमा पूरी हो गई",noCredits:"कोई स्कैन क्रेडिट शेष नहीं है",upgradePro:"Pro में अपग्रेड करें",getApiKey:"API कुंजी प्राप्त करें",dismiss:"खारिज करें",widgetTitle:"AI सामग्री पहचान",widgetDesc:"AI-जनित टेक्स्ट, छवियाँ, ऑडियो और वीडियो के लिए अपनी सामग्री स्कैन करें",welcomeBack:"वापसी पर स्वागत है, {{name}}!",paygBadge:"उपयोग के अनुसार भुगतान",paygDetails:"50 MB तक की फ़ाइलें स्वीकार की जाती हैं। ऑडियो और वीडियो का शुल्क हर 15-सेकंड के खंड के लिए लिया जाता है; टेक्स्ट और छवियों की लागत प्रत्येक के लिए 1 क्रेडिट है। Stripe $10 पर स्वचालित रूप से चालान बनाता है।",feat1Title:"AI पहचान",feat1Desc:"AI-जनित छवियों की संभाव्य पहचान; परिणाम सामग्री, मॉडल और संपादन के अनुसार भिन्न होते हैं",feat2Title:"ऑडियो और PDF",feat2Desc:"अपलोड किए गए दस्तावेज़ों में AI-क्लोन की गई आवाज़ों (ElevenLabs, Suno) और AI-लिखित टेक्स्ट का पता लगाएँ",feat3Title:"डीपफेक वीडियो",feat3Desc:"समर्थित सामग्री के लिए फ़्रेम-स्तरीय डीपफेक फोरेंसिक और AI Identifiers Technology वॉटरमार्क सिग्नल निरीक्षण",selectFile:"फ़ाइल चुनें",analysing:"विश्लेषण हो रहा है…",signUpNudge:"सरल स्पष्टीकरण और ट्रांसक्रिप्ट चाहिए? मु
2फ़्त साइन अप करें →"},gm={networkError:"Network error — please try again.",detectionFailed:"Detection failed — please try again.",tooManyRequests:"Too many requests — please slow down and try again."},hm={tryNow:"Try it now — free",tryNowDesc:"Upload any file or paste text and get a result in seconds. No account required.",synthidTitle:"AI Identifiers Technology watermark signal संकेत समर्थन",ctaBannerTitle:"Start detecting AI content today",ctaBannerDesc:"Free for 10 detections per day. No credit card required.",getFreeApiKey:"Get Free API Key",viewPricing:"View Pricing"},fm={title:"बैच AI पहचान",desc:"एक साथ AI पहचान के लिए {{count}} तक समर्थित छवि, ऑडियो, वीडियो या PDF फ़ाइलें अपलोड करें।",dropPrompt:"यहाँ फ़ाइलें छोड़ें या ब्राउज़ करने के लिए क्लिक करें",dropActive:"फ़ाइलें जोड़ने के लिए छोड़ें",fileTypes:"छवियाँ: JPG, JPEG, PNG, WebP, GIF · वीडियो: MP4, AVI, MOV, WebM · ऑडियो: MP3, WAV, OGG, M4A, AAC · PDF",fileTooLarge:"{{name}} {{limit}} फ़ाइल आकार सीमा से अधिक है",invalidType:"{{name}} एक समर्थित फ़ाइल प्रकार नहीं है",tooManyFiles:"अधिकतम {{count}} फ़ाइलों की अनुमति है",startProcessing:"प्रसंस्करण शुरू करें",pause:"रोकें",resume:"फिर से शुरू करें",clearCompleted:"पूर्ण हुए हटाएँ",clearAll:"सभी हटाएँ",paygNotice:"उपयोग के अनुसार भुगतान: 50 MB तक की फ़ाइलें। प्रत्येक स्कैन के लिए एक क्रेडिट लिया जाता है।",maxFileSize:"अधिकतम {{size}}",totalCount:"कुल {{count}}",pendingCount:"{{count}} लंबित",processingCount:"{{count}} प्रसंस्करण में",completedCount:"{{count}} पूर्ण",errorCount:"{{count}} त्रुटियाँ",statusPending:"लंबित",statusUploading:"अपलोड हो रहा है",statusAnalyzing:"विश्लेषण हो रहा है",statusComplete:"पूर्ण",statusError:"त्रुटि",signUpNudgeTitle:"स्पष्टीकरण और पूर्ण रिपोर्ट अनलॉक करें",signUpNudgeDesc:"प्रत्येक स्कैन के लिए सरल भाषा में विश्लेषण, ट्रांसक्रिप्ट और इतिहास पाने के लिए मुफ़्त साइन अप करें।",signUpNudgeCta:"मुफ़्त साइन अप करें →"},xm={toggle:"ट्रांसक्रिप्ट",wordCount:"{{count}} शब्द",unavailable:"ट्रांसक्रिप्ट उपलब्ध नहीं"},ym={labels:"दृश्य लेबल",explicit:"स्पष्ट फ़्रेम"},bm={nav:sm,hero:rm,features:om,detection:cm,stats:lm,footer:dm,common:um,offline:mm,scan:pm,errors:gm,home:hm,batch:fm,transcript:xm,videoEvidence:ym},vm=["en","es","fr","ar"],wm=["en","es","fr","de","zh","ja","ko","pt","it","ru","ar","hi"],Ca=[{code:"en",name:"English",nativeName:"English",flag:"🇺🇸",translated:!0},{code:"es",name:"Spanish",nativeName:"Español",flag:"🇪🇸",translated:!0},{code:"fr",name:"French",nativeName:"Français",flag:"🇫🇷",translated:!0},{code:"de",name:"German",nativeName:"Deutsch",flag:"🇩🇪",translated:!1},{code:"ar",name:"Arabic",nativeName:"العربية",flag:"🇸🇦",translated:!0},{code:"zh",name:"Chinese",nativeName:"中文",flag:"🇨🇳",translated:!1},{code:"ja",name:"Japanese",nativeName:"日本語",flag:"🇯🇵",translated:!1},{code:"ko",name:"Korean",nativeName:"한국어",flag:"🇰🇷",translated:!1},{code:"pt",name:"Portuguese",nativeName:"Português",flag:"🇵🇹",translated:!1},{code:"it",name:"Italian",nativeName:"Italiano",flag:"🇮🇹",translated:!1},{code:"ru",name:"Russian",nativeName:"Русский",flag:"🇷🇺",translated:!1},{code:"hi",name:"Hindi",nativeName:"हिन्दी",flag:"🇮🇳",translated:!1}];function ta(t){const a=t.split("-")[0];return vm.includes(a)?a:"en"}const Am={en:{common:tl},es:{common:wl},fr:{common:$l},de:{common:Ad},zh:{common:Md},ja:{common:Zd},ko:{common:pu},pt:{common:Su},it:{common:Gu},ru:{common:nm},ar:{common:od},hi:{common:bm}}
2,Im=ai.use(Ao).use(Io).init({resources:Am,fallbackLng:"en",supportedLngs:wm,nonExplicitSupportedLngs:!0,load:"languageOnly",debug:!1,interpolation:{escapeValue:!1},react:{useSuspense:!1},detection:{order:["querystring","cookie","localStorage","navigator"],lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",caches:["cookie","localStorage"],cookieMinutes:525600},ns:["common"],defaultNS:"common"});function Ts(t){if(typeof document>"u")return;const a=ta(t||"en");document.documentElement.dir=a==="ar"?"rtl":"ltr",document.documentElement.lang=a}ai.on("languageChanged",Ts);Im.then(()=>Ts(ai.language));function Qi(){const{i18n:t,t:a}=he(),[n,i]=s.useState(!1),o=ta(t.language||"en"),r=Ca.find(l=>l.code===o)||Ca[0],c=l=>{t.changeLanguage(ta(l)),i(!1)};return e.jsxs(di,{open:n,onOpenChange:i,children:[e.jsx(ui,{asChild:!0,children:e.jsxs(I,{variant:"ghost",size:"sm",className:"h-8 px-2 text-sm font-medium text-gray-700 dark:text-gray-300 hover:text-gray-900 dark:hover:text-white","aria-label":a("common.selectLanguage"),"data-testid":"language-switcher",children:[e.jsx(jr,{className:"h-4 w-4 me-1"}),e.jsx("span",{className:"hidden sm:inline me-1",children:r.flag}),e.jsx("span",{className:"hidden md:inline me-1",children:r.nativeName}),e.jsx($e,{className:"h-3 w-3"})]})}),e.jsxs(ma,{align:"end",className:"w-56",children:[e.jsx("div",{className:"px-2 py-1 text-xs font-semibold text-gray-500 dark:text-gray-400 uppercase tracking-wide",children:a("common.selectLanguage")}),Ca.map(l=>e.jsxs(it,{onClick:()=>c(l.code),"data-testid":`language-option-${l.code}`,className:`flex items-center px-3 py-2 text-sm cursor-pointer ${l.code===o?"bg-blue-50 dark:bg-blue-900/20 text-blue-700 dark:text-blue-300":"hover:bg-gray-50 dark:hover:bg-gray-800"}`,children:[e.jsx("span",{className:"me-3 text-lg",children:l.flag}),e.jsxs("div",{className:"flex flex-col",children:[e.jsx("span",{className:"font-medium",children:l.nativeName}),e.jsxs("span",{className:"text-xs text-gray-500 dark:text-gray-400",children:[l.name,l.translated?"":` · ${a("common.englishFallback")}`]})]}),l.code===o&&e.jsx("div",{className:"ms-auto w-2 h-2 bg-blue-500 rounded-full"})]},l.code))]})]})}const Es=s.forwardRef(({className:t,...a},n)=>e.jsx(_n,{ref:n,className:_("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",t),...a}));Es.displayName=_n.displayName;const _s=s.forwardRef(({className:t,...a},n)=>e.jsx(Rn,{ref:n,className:_("aspect-square h-full w-full",t),...a}));_s.displayName=Rn.displayName;const Rs=s.forwardRef(({className:t,...a},n)=>e.jsx(Ln,{ref:n,className:_("flex h-full w-full items-center justify-center rounded-full bg-muted",t),...a}));Rs.displayName=Ln.displayName;function Zi(){const{user:t,isLoading:a,isAuthenticated:n,logout:i}=ut();if(a)return e.jsx(I,{variant:"ghost",size:"sm",disabled:!0,children:e.jsx(Ie,{className:"w-4 h-4 animate-spin"})});if(!n||!t)return e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs(I,{variant:"outline",size:"default",onClick:()=>window.location.href="/login",className:"border-blue-600 text-blue-600 hover:bg-blue-50 dark:hover:bg-blue-900/20","data-testid":"button-header-login",children:[e.jsx(vn,{className:"w-4 h-4 mr-2"}),"Sign In"]}),e.jsx(I,{variant:"default",size:"default",onClick:()=>window.location.href="/register",className:"bg-gradient-to-r from-blue-600 to-purple-600 hover:from-blue-700 hover:to-purple-700 text-white font-semibold shadow-lg","data-testid":"button-header-register",children:"Register"})]});const o=t.firstName&&t.lastName?`${t.firstName[0]}${t.lastName[0]}`.toUpperCase():t.email?.[0]?.toUpperCase()||"U";return e.jsxs(di,{children:[e.jsx(ui,{asChild:!0,children:e.jsx(I,{variant:"ghost",className:"relative h-8 w-8 rounded-full","data-testid":"button-user-menu",children:e.jsxs(Es,{className:"h-8 w-8",children:[e.jsx(_s,{src:t.profileImageUrl||void 0,alt:t.firstName||"User"}),e.jsx(Rs,{className:"bg-blue-600 text-white",children:o})]})})}),e.jsxs(ma,{className:"w-56",align:"end",forceMount:!0,children:[e.jsx(Ds,{className:"font-normal",children:e.jsxs("div",{className:"flex flex-col space-y-1",children:[e.jsxs("p",{className:"text-sm font-medium leading-none",children:[t.firstName," ",t.lastName]}),e.jsx("p",{className:"text-xs leading-none text-muted-foreground",children:t.email})]})}),e.jsx(mi,{}),e.jsxs(it,{onClick:()=>i(),className:"text-red-600 cursor-pointer","data-testid":"button-logout",children:[e.jsx(Nr,{className:"mr-2 h-4 w-4"}),e.jsx("span",{children:"Log out"})]})]})]})}const jm=({className:t="",size:a="md",variant:n="full",animated:i=!0,isUploading:o=!1})=>{const r={sm:"h-16",md:"h-24",lg:"h-32",xl:"h-48"},c=()=>i===!1?"":i==="slow"?"logo-rotating-slow":i==="pulse"?"logo-pulse-rotating":"logo-rotating",l=()=>e.jsxs("svg",{viewBox:"0 0 48 48",className:`${r[a]} w-auto ${t}`,fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[e.jsxs("defs",{children:[e.jsxs("linearGradient",{id:"logoGradient",x1:"0%",y1:"0%",x2:"100%",y2:"100%",children:[e.jsx("stop",{offset:"0%",stopColor:"#fbbf24"}),e.jsx("stop",{offset:"50%",stopColor:"#f59e0b"}),e.jsx("stop",{offset:"100%",stopColor:"#d97706"})]}),e.jsxs("linearGradient",{id:"goldAccent",x1:"0%",y1:"0%",x2:"100%",y2:"100%",children:[e.jsx("stop",{offset:"0%",stopColor:"#fde047"}),e.jsx("stop",{offset:"100%",stopColor:"#eab308"})]}),e.jsxs("radialGradient",{id:"centerGradient",cx:"50%",cy:"50%",r:"50%",children:[e.jsx("stop",{offset:"0%",stopColor:"#fffbeb",stopOpacity:"0.98"}),e.jsx("stop",{offset:"100%",stopColor:"#fef3c7",stopOpacity:"0.95"})]}),e.jsx("filter",{id:"textShadow",x:"-50%",y:"-50%",width:"200%",height:"200%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1",floodColor:"#1e293b",floodOpacity:"0.3"})}),e.jsxs("filter",{id:"glow",x:"-50%",y:"-50%",width:"200%",height:"200%",children:[e.jsx("feGaussianBlur",{stdDeviation:"2",result:"coloredBlur"}),e.jsxs("feMerge",{children:[e.jsx("feMergeNode",{in:"coloredBlur"}),e.jsx("feMergeNode",{in:"SourceGraphic"})]})]}),e.jsxs("radialGradient",{id:"quantumGradient",cx:"50%",cy:"50%",r:"50%",children:[e.jsx("stop",{offset:"0%",stopColor:"#00FFFF",stopOpacity:"0.8"}),e.jsx("stop",{offset:"100%",stopColor:"#fbbf24",stopOpacity:"0.6"})]})]}),e.jsxs("g",{className:c(),style:{transformOrigin:"24px 24px"},children:[e.jsx("circle",{cx:"24",cy:"24",r:"22",fill:"url(#logoGradient)",stroke:"#b45309",strokeWidth:"0.8"}
2),e.jsxs("g",{stroke:"url(#goldAccent)",strokeWidth:"1.4",strokeLinecap:"round",opacity:"0.9",filter:"url(#glow)",children:[e.jsx("line",{x1:"24",y1:"12",x2:"24",y2:"2"}),e.jsx("line",{x1:"36",y1:"24",x2:"46",y2:"24"}),e.jsx("line",{x1:"24",y1:"36",x2:"24",y2:"46"}),e.jsx("line",{x1:"12",y1:"24",x2:"2",y2:"24"}),e.jsx("line",{x1:"32.5",y1:"15.5",x2:"40.5",y2:"7.5"}),e.jsx("line",{x1:"32.5",y1:"32.5",x2:"40.5",y2:"40.5"}),e.jsx("line",{x1:"15.5",y1:"32.5",x2:"7.5",y2:"40.5"}),e.jsx("line",{x1:"15.5",y1:"15.5",x2:"7.5",y2:"7.5"})]}),e.jsxs("g",{className:"quantum-particles",children:[e.jsx("circle",{cx:"24",cy:"6",r:"1.5",opacity:"0.8",children:e.jsx("animate",{attributeName:"fill",values:"#fbbf24;#00FFFF;#fbbf24",dur:"1.5s",repeatCount:"indefinite"})}),e.jsx("circle",{cx:"42",cy:"24",r:"1.5",opacity:"0.8",children:e.jsx("animate",{attributeName:"fill",values:"#00FFFF;#fbbf24;#00FFFF",dur:"1.8s",repeatCount:"indefinite"})}),e.jsx("circle",{cx:"24",cy:"42",r:"1.5",opacity:"0.8",children:e.jsx("animate",{attributeName:"fill",values:"#fbbf24;#00FFFF;#fbbf24",dur:"2.1s",repeatCount:"indefinite"})}),e.jsx("circle",{cx:"6",cy:"24",r:"1.5",opacity:"0.8",children:e.jsx("animate",{attributeName:"fill",values:"#00FFFF;#fbbf24;#00FFFF",dur:"1.2s",repeatCount:"indefinite"})})]}),e.jsx("circle",{cx:"24",cy:"24",r:"18",fill:"none",stroke:"#FFFFFF",strokeWidth:"0.5",opacity:"0.2",children:e.jsx("animate",{attributeName:"opacity",values:"0.2;0.4;0.2",dur:"2s",repeatCount:"indefinite"})}),e.jsxs("g",{stroke:"#fbbf24",strokeWidth:"1",strokeLinecap:"round",opacity:"0.7",children:[e.jsx("line",{x1:"28",y1:"16",x2:"32",y2:"8"}),e.jsx("line",{x1:"32",y1:"20",x2:"40",y2:"16"}),e.jsx("line",{x1:"32",y1:"28",x2:"40",y2:"32"}),e.jsx("line",{x1:"28",y1:"32",x2:"32",y2:"40"}),e.jsx("line",{x1:"20",y1:"32",x2:"16",y2:"40"}),e.jsx("line",{x1:"16",y1:"28",x2:"8",y2:"32"}),e.jsx("line",{x1:"16",y1:"20",x2:"8",y2:"16"}),e.jsx("line",{x1:"20",y1:"16",x2:"16",y2:"8"})]}),e.jsx("circle",{cx:"24",cy:"24",r:"19",fill:"none",stroke:"url(#goldAccent)",strokeWidth:"0.8",opacity:"0.5"}),e.jsx("circle",{cx:"24",cy:"24",r:"16",fill:"none",stroke:"#fbbf24",strokeWidth:"0.6",opacity:"0.4"}),e.jsxs("g",{fill:"#fde047",opacity:"1",children:[e.jsx("circle",{cx:"24",cy:"4",r:"1.2"}),e.jsx("circle",{cx:"44",cy:"24",r:"1.2"}),e.jsx("circle",{cx:"24",cy:"44",r:"1.2"}),e.jsx("circle",{cx:"4",cy:"24",r:"1.2"}),e.jsx("circle",{cx:"37.5",cy:"10.5",r:"1"}),e.jsx("circle",{cx:"37.5",cy:"37.5",r:"1"}),e.jsx("circle",{cx:"10.5",cy:"37.5",r:"1"}),e.jsx("circle",{cx:"10.5",cy:"10.5",r:"1"})]}),e.jsx("circle",{cx:"24",cy:"24",r:"14.5",fill:"none",stroke:"#fde047",strokeWidth:"0.8",opacity:"0.8",strokeDasharray:"3,2"})]}),e.jsxs("g",{className:"static-center",children:[e.jsx("circle",{cx:"24",cy:"24",r:"12",fill:"url(#centerGradient)",stroke:"url(#goldAccent)",strokeWidth:"2.5",opacity:"1"}),e.jsx("circle",{cx:"24",cy:"24",r:"12",fill:"none",stroke:"#fbbf24",strokeWidth:"1.5",opacity:"0.9"}),e.jsx("g",{className:o?"ai-text-upload-flash":"ai-text-static",children:e.jsx("text",{x:"24",y:"30",textAnchor:"middle",fontSize:"14",fontWeight:"900",fill:"#92400e",fontFamily:"system-ui, -apple-system, sans-serif",letterSpacing:"1px",children:"AI"})})]})]}),u=()=>e.jsxs("div",{className:"flex flex-col leading-none",children:[e.jsxs("div",{className:`${a==="sm"?"text-base":a==="md"?"text-lg":a==="lg"?"text-xl":"text-2xl"} font-black text-gray-800 dark:text-gray-200`,children:["Identifiers",e.jsx("sup",{className:"text-xs align-super ml-0.5",children:"™"})]}),a!=="sm"&&e.jsx("div",{className:"text-[9px] font-semibold tracking-[0.18em] text-gray-400 dark:text-gray-500 uppercase mt-0.5 select-none",children:"Technology"})]});return n==="icon"?e.jsx(l,{}):n==="text"?e.jsx(u,{}):e.jsxs("div",{className:`flex items-center space-x-3 ${t}`,children:[e.jsx(l,{}),e.jsx(u,{})]})};function Nm(t){const a=s.useRef(null),n=s.useRef(!1),[i,o]=s.useState(()=>"Notification"in window?Notification.permission:"unsupported"),[r,c]=s.useState(!1);s.useEffect(()=>{if(typeof window>
2"u"||!("Notification"in window)||!("serviceWorker"in navigator)||!("PushManager"in window)||Notification.permission!=="granted")return;const u=t?"authenticated":"anonymous";a.current===u||n.current||(n.current=!0,(async()=>{try{await ea({loginWelcomeEvent:t?sessionStorage.getItem("post_login_welcome_event"):null})&&(c(!0),a.current=u,t&&sessionStorage.removeItem("post_login_welcome_event"))}catch{}finally{n.current=!1}})())},[t]);const l=s.useCallback(async()=>{try{const u=await ea({requestPermission:!0});o("Notification"in window?Notification.permission:"unsupported"),u&&(c(!0),a.current=t?"authenticated":"anonymous")}catch{}},[t]);return{permission:i,subscribed:r,requestSubscription:l}}const Xi=({children:t,delay:a=0,className:n,...i})=>e.jsx(Oe.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5,delay:a},className:n,...i,children:t}),pi=({children:t,scale:a=1.05,className:n,...i})=>e.jsx(Oe.div,{whileHover:{scale:a},whileTap:{scale:.95},transition:{type:"spring",stiffness:300,damping:20},className:n,...i,children:t}),en=({size:t=24,className:a})=>e.jsx(Oe.div,{animate:{scale:[1,1.2,1]},transition:{duration:1.5,repeat:1/0},className:_("flex items-center justify-center",a),children:e.jsx(Ie,{size:t,className:"animate-spin text-primary"})}),Ls=({isDragActive:t,children:a})=>e.jsx(Oe.div,{animate:{scale:t?1.02:1,borderColor:t?"#3b82f6":"#e5e7eb"},transition:{duration:.2},className:_("border-2 border-dashed rounded-lg p-8 text-center transition-colors duration-200",t?"border-blue-400 bg-blue-50 dark:bg-blue-900/10":"border-gray-300"),children:e.jsx(Oe.div,{animate:{y:t?-5:0},transition:{duration:.2},children:a})}),km=({progress:t,className:a})=>e.jsx("div",{className:_("w-full bg-gray-200 dark:bg-gray-700 rounded-full h-2",a),children:e.jsx(Oe.div,{initial:{width:0},animate:{width:`${t}%`},transition:{duration:.5,ease:"easeOut"},className:"bg-gradient-to-r from-blue-500 to-green-500 h-2 rounded-full"})}),we=({children:t,onClick:a,className:n,disabled:i,...o})=>e.jsx(Oe.button,{whileHover:{scale:i?1:1.02},whileTap:{scale:i?1:.98},transition:{type:"spring",stiffness:400,damping:17},onClick:a,disabled:i,className:_("relative overflow-hidden",i&&"opacity-50 cursor-not-allowed",n),...o,children:e.jsx(Oe.div,{whileTap:{scale:.95},className:"w-full h-full",children:t})}),Qe="https://chromewebstore.google.com/detail/ai-identifiers-%E2%80%94-ai-conte/fambpkkpmggaclonibeommfcbpnilagb".trim(),ze={tools:{label:"Detection Tools",translationKey:"header.tools",icon:vt,items:[{href:"/",translationKey:"header.catalog.tools.multimodalAnalysis",icon:vt},{href:"/ai-detector",translationKey:"header.catalog.tools.textLanguage",icon:ye},{href:"/identify",translationKey:"header.catalog.tools.imageSynthesis",icon:Tt},{href:"/video-deepfake-detector",translationKey:"header.catalog.tools.videoDeepfakeDetector",icon:yt},{href:"/ai-voice-detector",translationKey:"header.catalog.tools.aiVoiceDetector",icon:rt},{href:"/pdf-ai-detector",translationKey:"header.catalog.tools.pdfAiDetector",icon:ye},{href:"/free-ai-detector",translationKey:"header.catalog.tools.freeAiDetector",icon:vt},{href:"/ai-plagiarism-checker",translationKey:"header.catalog.tools.aiPlagiarismChecker",icon:ye},{href:"/chatgpt-detector",translationKey:"header.catalog.tools.textSignalChecker",icon:ye},{href:"/claude-detector",translationKey:"header.catalog.tools.languageSignalChecker",icon:ye},{href:"/bard-detector",translationKey:"header.catalog.tools.writingSignalChecker",icon:ye},{href:"/audio-deepfake-checker",translationKey:"header.catalog.tools.audioDeepfakeChecker",icon:rt}]},provenance:{label:"Signals & Provenance",translationKey:"header.provenance",icon:ha,items:[{href:"/synthid-integration",translationKey:"header.catalog.provenance.watermarkInspection",icon:ha},{href:"/models",translationKey:"header.catalog.provenance.signalCoverage",icon:Ge},{href:"/ai-detection-history",translationKey:"header.catalog.provenance.detectionHistory",icon:Ni},{href:"/google-partnership",translationKey:"header.catalog.provenance.provenanceSignalContext",icon:Ge},{href:"/google-ai-technology",translationKey:"header.catalog.provenance.aiSystemsContext",icon:Ge},{href:"/google-synthid-technology",translationKey:"header.catalog.provenance.watermarkTechnologyContext",icon:ha},{href:"/google-cloud-ai-integration",translationKey:"header.catalog.provenance.enterpriseAiIntegration",icon:Ge},{href:"/enterprise-ai-detection",translationKey:"header.catalog.provenance.enterpriseAiDetection",icon:jt},{href:"/legal-ai-detection",translationKey:"header.catalog.provenance.legalAiDetection",icon:Ve}]},access:{label:"Developers & Platform",translationKey:"header.platform",icon:fa,items:[{href:"/free-ai-detector",translationKey:"header.catalog.access.freeEvaluation",icon:ki},{href:"/pricing",translationKey:"header.catalog.access.pricing",icon:kr},{href:"/api-tiers",translationKey:"header.catalog.access.apiPlatform",icon:fa},{href:"/developers",translationKey:"header.catalog.access.developerCenter",icon:fa},{href:"/get-api-key",translationKey:"header.catalog.access.getApiKey",icon:Ci},{href:"/playground",translationKey:"header.catalog.access.apiPlayground",icon:vt},{href:"/docs",translationKey:"header.catalog.access.developerDocumentation",icon:Rt},{href:"/integrity-agent",translationKey:"header.catalog.access.integrityAgent",icon:Ve},{href:"/a2a",translationKey:"header.catalog.access.agentConnectivity",icon:Ge},{href:"/integrations/lms",translationKey:"header.catalog.access.lmsIntegration",icon:xa},{href:"/homecoming",translationKey:"header.catalog.access.aggieHomecoming",icon:zn},{href:"/ncat",translationKey:"header.catalog.access.aggiesPortal",icon:xa},{href:"/enterprise-integrations",translationKey:"header.catalog.access.enterpriseIntegrations",icon:jt},{href:"/enterprise",translationKey:"header.catalog.access.enterpriseSolutions",icon:jt},{href:"/trust",translationKey:"header.catalog.access.trustCenter",icon:Ve},{href:"/marketplace",translationKey:"header.catalog.access.marketplace",icon:Ge}]},trust:{label:"Trust & Context",translationKey:"header.trust",icon:Ve,items:[{href:"/privacy",translationKey:"header.catalog.trust.privacyRetention",icon:Ve},{href:"/security",translationKey:"header.catalog.trust.securityBounties",icon:Ci},{href:"/faq",translationKey:"header.catalog.trust.accuracyContext",icon:St},{href:"/status",translationKey:"header.catalog.trust.systemStatus",icon:We},{href:"/docs",translationKey:"header.catalog.trust.documentation",icon:Rt},{href:"/changelog",translationKey:"header.catalog.trust.productChangelog",icon:Ni},{href:"/product-tour",translationKey:"header.catalog.trust.productTour",icon:vt},{href:"/blog",translationKey:"header.catalog.trust.blogGuides",icon:Rt},{href:"/students",translationKey:"header.catalog.trust.studentResources",icon:xa},{href:"/about",translationKey:"header.catalog.trust.about",icon:Mn},{href:"/our-team",translationKey:"header.catalog.trust.teamCeo",icon:ki},{href:"/community",translationKey:"header.catalog.trust.community",icon:Ge},{href:"/leaderboard",translationKey:"header.catalog.trust.communityLeaderboard",icon:We},{href:"/support",translationKey:"header.catalog.trust.supportCenter",icon:St},{href:"/contact",translationKey:"header.catalog.trust.contact",icon:Za},{href:"/careers",translationKey:"header.catalog.trust.careers",icon:jt},{href:"/investors",translationKey:"header.catalog.trust.investorInformation",icon:ye},{href:"/international",translationKey:"header.catalog.trust.internationalAccess",icon:Ge},{href:"/sitemap",translationKey:"header.catalog.trust.allPagesDirectory",icon:Rt}]}};function Mt({title:t,items:a,align:n="left"}){const[i]=ot(),{t:o}=he(),r=a.some(l=>l.href==="/"?i==="/":i===l.href||i.startsWith(`${l.href}/`)),c=n==="right"?"end-0":"start-0";return e.jsxs("div",{className:"group relative inline-block h-full",children:[e.jsxs("button",{type:"button","aria-haspopup":"menu",className:`flex h-full items-center gap-1.5 px-3 py-2 text-[13px] font-semibold transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary ${r?"text-primary":"text-muted-foreground hover:text-foreground group-hover:text-foreground"}`,children:[t,e.jsx($e,{className:"h-3 w-3 opacity-50 transition-transform duration-200 group-hover:rotate-180 group-focus-within:rotate-180","aria-hidden":"true"})]}),e.jsx("div",{className:`absolute ${c} top-[calc(100%-4px)] pt-2 opacity-0 pointer-events-none transition-all duration-200 ease-out group-hover:opacity-100 group-hover:pointer-events-auto group-hover:translate-y-0 group-focus-within:opacity-100 group-focus-within:
2pointer-events-auto group-focus-within:translate-y-0 translate-y-1 z-50`,children:e.jsx("div",{className:"max-h-[min(70vh,42rem)] w-[500px] max-w-[calc(100vw-2rem)] overflow-y-auto rounded-xl border border-border bg-background p-2 shadow-2xl relative",children:e.jsx("div",{className:"relative grid grid-cols-1 gap-1",children:a.map(l=>{const u=l.href==="/"?i==="/":i===l.href;return e.jsxs(B,{href:l.href,className:`group/item flex items-start gap-3 rounded-lg p-3 transition-colors focus-visible:bg-muted focus-visible:outline-none ${u?"bg-muted":"hover:bg-muted"}`,children:[e.jsx("div",{className:`mt-0.5 flex h-8 w-8 shrink-0 items-center justify-center rounded-md border transition-colors ${u?"border-primary bg-muted text-primary":"border-border bg-background text-muted-foreground group-hover/item:border-primary group-hover/item:bg-muted group-hover/item:text-primary"}`,children:e.jsx(l.icon,{className:"h-4 w-4"})}),e.jsxs("div",{children:[e.jsx("div",{className:`text-sm font-semibold transition-colors ${u?"text-primary":"text-foreground group-hover/item:text-primary"}`,children:o(`${l.translationKey}.label`)}),e.jsx("div",{className:"text-[13px] text-muted-foreground mt-0.5 leading-snug",children:o(`${l.translationKey}.desc`)})]})]},l.href)})})})})]})}function Cm({onOpen:t}){const{t:a}=he();return e.jsxs(we,{type:"button",onClick:t,className:"group inline-flex items-center gap-2 rounded-md border border-border bg-background px-2.5 py-2 text-muted-foreground transition-colors hover:border-primary/50 hover:bg-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary sm:px-3","aria-label":a("header.searchLabel"),title:a("header.searchLabel"),"data-testid":"button-open-site-search",children:[e.jsx(za,{className:"h-[17px] w-[17px] transition-transform duration-200 group-hover:scale-110","aria-hidden":"true"}),e.jsx("span",{className:"hidden text-[13px] font-semibold sm:inline",children:a("header.search")}),e.jsx("kbd",{className:"hidden rounded border border-border bg-muted px-1.5 py-0.5 font-mono text-[10px] font-medium text-muted-foreground 2xl:inline",children:"⌘ K"})]})}function zs(){const[t,a]=ot(),[n,i]=s.useState(!1),[o,r]=s.useState(!1),[c,l]=s.useState(""),u=s.useRef(null),[d,m]=s.useState(!0),{t:p}=he(),{isUploading:b}=ks(),{theme:x,toggleTheme:y}=dc(),{isAuthenticated:g}=ut(),{permission:v,subscribed:k,requestSubscription:C}=Nm(g),{enabled:S,toggle:L}=js();s.useEffect(()=>{const T=()=>i(!0);return window.addEventListener("open-mobile-navigation",T),()=>{window.removeEventListener("open-mobile-navigation",T)}},[]),s.useEffect(()=>{let T=window.setTimeout(()=>m(!1),7e3);const j=window.setInterval(()=>{m(!0),window.clearTimeout(T),T=window.setTimeout(()=>m(!1),7e3)},45e3);return()=>{window.clearInterval(j),window.clearTimeout(T)}},[]),s.useEffect(()=>{if(!n)return;const T=document.body.style.overflow,j=q=>{q.key==="Escape"&&i(!1)};return document.body.style.overflow="hidden",document.addEventListener("keydown",j),()=>{document.body.style.overflow=T,document.removeEventListener("keydown",j)}},[n]),s.useEffect(()=>{const T=j=>{(j.metaKey||j.ctrlKey)&&j.key.toLowerCase()==="k"&&(j.preventDefault(),i(!1),r(!0))};return window.addEventListener("keydown",T),()=>window.removeEventListener("keydown",T)},[]),s.useEffect(()=>{if(!o)return;const T=new URLSearchParams(window.location.search).get("q")??"";l(T);const j=window.setTimeout(()=>u.current?.focus(),40),q=M=>{M.key==="Escape"&&r(!1)},E=document.body.style.overflow;return document.body.style.overflow="hidden",document.addEventListener("keydown",q),()=>{window.clearTimeout(j),document.body.style.overflow=E,document.removeEventListener("keydown",q)}},[o]);const F=T=>{T.preventDefault();const j=c.trim();r(!1),a(j?`/search?q=${encodeURIComponent(j)}`:"/search")};return e.jsxs(e.Fragment,{children:[e.jsx("header",{className:"sticky top-0 z-50 border-b border-border bg-background shadow-sm",children:e.jsxs("div",{className:"max-w-[1600px] mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs("div",{className:"flex h-[4.5rem] items-center justify-between gap-4 min-w-0",children:[e.jsxs("div",{className:"flex min-w-0 items-center gap-2 sm:gap-8 h-full",children:[e.jsx(B,{href:"/",className:"rounded-md transition-opacity hover:opacity-80 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring shrink-0",children:e.jsxs(pi,{scale:1.02,children:[e.jsx("span",{className:"sr-only",children:"AI Identifiers Technology Home"}),e.jsx(jm,{size:"md",variant:"full",isUploading:b})]})}),e.jsxs("nav",{className:"hidden xl:flex items-center gap-1 h-full","aria-label":p("header.mainNavigation"),children:[e.jsx(Mt,{title:p(ze.tools.translationKey),items:ze.tools.items,al
2ign:"left"}),e.jsx(Mt,{title:p(ze.provenance.translationKey),items:ze.provenance.items,align:"left"}),e.jsx(Mt,{title:p(ze.access.translationKey),items:ze.access.items,align:"right"}),e.jsx(Mt,{title:p(ze.trust.translationKey),items:ze.trust.items,align:"right"})]})]}),e.jsxs("div",{className:"flex items-center gap-2 2xl:gap-3 shrink-0",children:[e.jsx("div",{className:"hidden sm:block",children:e.jsx(Cm,{onOpen:()=>{i(!1),r(!0)}})}),e.jsx("div",{className:"hidden xl:block",children:e.jsx(Qi,{})}),v!=="unsupported"&&v!=="denied"&&e.jsx(we,{onClick:C,className:"relative p-2 rounded-md text-muted-foreground hover:bg-muted hover:text-foreground transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary hidden sm:block","aria-label":p(k?"header.notificationsOn":"header.enableNotifications"),title:p(k?"header.notificationsOn":"header.enableNotifications"),children:k?e.jsx(Qa,{className:"w-[18px] h-[18px] text-primary","aria-hidden":"true"}):e.jsxs(e.Fragment,{children:[e.jsx(Jt,{className:"w-[18px] h-[18px]","aria-hidden":"true"}),e.jsx("span",{className:"absolute top-1.5 end-1.5 w-2 h-2 rounded-full bg-primary ring-2 ring-background animate-pulse","aria-hidden":"true"})]})}),e.jsx(we,{onClick:()=>{L()},className:`relative hidden rounded-md p-2 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary sm:block ${S?"bg-primary/10 text-primary":"text-muted-foreground hover:bg-muted hover:text-foreground"}`,"aria-label":p(S?"header.soundNotificationsOn":"header.soundNotificationsOff"),"aria-pressed":S,title:p(S?"header.soundNotificationsOn":"header.soundNotificationsOff"),"data-testid":"button-toggle-sound-notifications",children:S?e.jsx(La,{className:"h-[18px] w-[18px]","aria-hidden":"true"}):e.jsx(Si,{className:"h-[18px] w-[18px]","aria-hidden":"true"})}),e.jsx(we,{onClick:y,className:"p-2 rounded-md text-muted-foreground hover:bg-muted hover:text-foreground transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary hidden sm:block","aria-label":p(x==="light"?"header.switchDark":"header.switchLight"),children:x==="light"?e.jsx(Pi,{className:"w-[18px] h-[18px]","aria-hidden":"true"}):e.jsx(Di,{className:"w-[18px] h-[18px]","aria-hidden":"true"})}),e.jsxs("div",{className:"hidden 2xl:flex items-center gap-3 ms-2 border-s border-border ps-4 h-8",children:[e.jsx(Zi,{}),Qe&&e.jsxs("a",{href:Qe,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1.5 rounded-md bg-background border border-primary px-3 py-1.5 text-[13px] font-semibold text-primary transition-colors hover:bg-primary hover:text-primary-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary","data-testid":"link-install-chrome-extension-header",children:[p("header.installExtension"),e.jsx(Nt,{className:"h-3.5 w-3.5","aria-hidden":"true"})]})]}),e.jsx(we,{className:"xl:hidden p-2 rounded-md text-muted-foreground hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary",onClick:()=>i(!n),"aria-label":p(n?"header.closeNavigation":"header.openNavigation"),"aria-expanded":n,"aria-controls":"mobile-navigation",children:n?e.jsx(ge,{className:"w-5 h-5","aria-hidden":"true"}):e.jsx(An,{className:"w-5 h-5","aria-hidden":"true"})})]})]}),n&&e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button",className:"fixed inset-x-0 top-[4.5rem] z-40 h-[calc(100dvh-4.5rem)] bg-background xl:hidden cursor-default",onClick:()=>i(!1),"aria-label":p("header.closeNavigation")}),e.jsx("nav",{id:"mobile-navigation",className:"mobile-navigation-texture fixed start-0 top-[4.5rem] z-50 h-[calc(100dvh-4.5rem)] w-[85vw] max-w-[22rem] animate-in slide-in-from-left-3 rtl:slide-in-from-right-3 overflow-hidden border-e border-border bg-background shadow-2xl duration-200 xl:hidden","aria-label":p("header.mobileNavigation"),children:e.jsxs("div",{className:"flex h-full flex-col overflow-y-auto overscroll-contain pb-5",children:[e.jsxs("div",{className:"border-b border-border p-4",children:[e.jsx(Zi,{}),e.jsxs("button",{type:"button",onClick:()=>{L()},className:"mt-3 flex w-full items-center justify-between gap-3 rounded-md border border-border bg-background px-4 py-2.5 text-start text-[13px] font-semibold text-foreground transition-colors hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary","aria-pressed":S,children:[e.jsxs("span",{className:"flex items-center gap-2",children:[S?e.jsx(La,{className:"h-4 w-4 text-primary","aria-hidden":"true"}):e.jsx(Si,{className:"h-4 w-4 text-muted-foreground","aria-hidden":"true"}),p("header.soundNotifications")]}),e.jsx("span",{className:S?"text-primary":"text-muted-foreground",children:p(S?"header.soundOn":"header.soundOff")})]}),Qe&&e.jsxs("a",{href:Qe,target:"_blank",rel:"noopener noreferrer",className:"mt-3 flex w-full items-center justify-center gap-2 rounded-md bg-background border border-primary px-4 py-2.5 text-[13px] font-semibold text-primary transition-colors hover:bg-primary hover:text-primary-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary",children:[p("header.installExtension"),e.jsx(Nt,{className:"h-4 w-4","aria-hidden":"true"})]})]}),e.jsxs("div",{className:"py-2",children:[e.jsx("p",{className:"px-4 py-2 text-[11px] font-mono font-semibold uppercase tracking-wider text-muted-foreground",children:p("header.n
2avigation")}),Object.values(ze).map((T,j)=>{const q=T.items.some(M=>M.href==="/"?t==="/":t===M.href||t.startsWith(`${M.href}/`)),E=T.icon;return e.jsxs("details",{className:"group border-b border-border last:border-b-0",open:q||j===0?!0:void 0,children:[e.jsxs("summary",{className:"flex min-h-[3rem] cursor-pointer list-none items-center justify-between gap-3 px-4 py-2 transition-colors hover:bg-muted focus-visible:outline-none focus-visible:bg-muted [&::-webkit-details-marker]:hidden",children:[e.jsxs("span",{className:"flex min-w-0 items-center gap-3",children:[e.jsx(E,{className:"h-4 w-4 shrink-0 text-muted-foreground","aria-hidden":"true"}),e.jsx("span",{className:"truncate text-sm font-semibold text-foreground",children:p(T.translationKey)})]}),e.jsx($e,{className:"h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200 group-open:rotate-180","aria-hidden":"true"})]}),e.jsx("div",{className:"pb-3 px-2",children:T.items.map(M=>{const $=M.href==="/"?t==="/":t===M.href;return e.jsxs(B,{href:M.href,"aria-current":$?"page":void 0,className:`flex items-start gap-3 rounded-lg px-3 py-2.5 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary ${$?"bg-muted text-primary":"text-muted-foreground hover:bg-muted hover:text-foreground"}`,onClick:()=>i(!1),children:[e.jsx(M.icon,{className:`h-4 w-4 shrink-0 mt-0.5 ${$?"text-primary":"text-muted-foreground"}`,"aria-hidden":"true"}),e.jsxs("div",{children:[e.jsx("div",{className:`text-[13px] font-medium ${$?"text-primary font-semibold":""}`,children:p(`${M.translationKey}.label`)}),e.jsx("div",{className:"text-[12px] opacity-80 mt-0.5 leading-snug",children:p(`${M.translationKey}.desc`)})]})]},M.href)})})]},T.label)})]}),e.jsxs("div",{className:"mt-auto flex items-center justify-between border-t border-border p-4",children:[e.jsx(Qi,{}),e.jsx("button",{onClick:y,className:"flex items-center gap-2 text-muted-foreground text-start p-2 rounded-md hover:bg-muted hover:text-foreground transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary","aria-label":p(x==="light"?"header.switchDark":"header.switchLight"),children:x==="light"?e.jsxs(e.Fragment,{children:[e.jsx(Pi,{className:"w-4 h-4","aria-hidden":"true"}),e.jsx("span",{className:"text-[13px] font-medium",children:p("header.darkMode")})]}):e.jsxs(e.Fragment,{children:[e.jsx(Di,{className:"w-4 h-4","aria-hidden":"true"}),e.jsx("span",{className:"text-[13px] font-medium",children:p("header.lightMode")})]})})]})]})})]})]})}),o&&e.jsx("div",{className:"fixed inset-0 z-[60] flex items-start justify-center bg-foreground
2/20 px-4 pt-[5.5rem] backdrop-blur-[2px] sm:pt-24",role:"presentation",onMouseDown:T=>{T.target===T.currentTarget&&r(!1)},children:e.jsxs("section",{className:"glass-panel w-full max-w-2xl overflow-hidden rounded-2xl border-primary/20 shadow-2xl animate-in fade-in slide-in-from-top-2 duration-200",role:"dialog","aria-modal":"true","aria-labelledby":"site-search-title","data-testid":"dialog-site-search",children:[e.jsxs("div",{className:"flex items-center justify-between border-b border-border px-4 py-3 sm:px-5",children:[e.jsxs("div",{className:"flex items-center gap-2.5",children:[e.jsx("div",{className:"flex h-8 w-8 items-center justify-center rounded-lg bg-primary/10 text-primary",children:e.jsx(za,{className:"h-4 w-4","aria-hidden":"true"})}),e.jsxs("div",{children:[e.jsx("p",{id:"site-search-title",className:"text-sm font-semibold text-foreground",children:p("header.searchTitle")}),e.jsx("p",{className:"text-[11px] text-muted-foreground",children:p("header.searchDescription")})]})]}),e.jsx(we,{type:"button",variant:"ghost",size:"icon",onClick:()=>r(!1),"aria-label":p("common.close"),"data-testid":"button-close-site-search",children:e.jsx(ge,{className:"h-4 w-4","aria-hidden":"true"})})]}),e.jsxs("form",{onSubmit:F,className:"p-4 sm:p-5",children:[e.jsx("label",{htmlFor:"header-site-search",className:"sr-only",children:p("header.searchDescription")}),e.jsxs("div",{className:"flex items-center gap-2 rounded-xl border border-primary/40 bg-background p-1.5 shadow-[0_0_0_3px_hsl(var(--primary)/0.08)]",children:[e.jsx(za,{className:"ms-2 h-5 w-5 shrink-0 text-primary","aria-hidden":"true"}),e.jsx("input",{ref:u,id:"header-site-search",value:c,onChange:T=>l(T.target.value),placeholder:p("header.searchPlaceholder"),autoComplete:"off",className:"min-w-0 flex-1 bg-transparent px-1 py-2 text-base text-foreground outline-none placeholder:text-muted-foreground","data-testid":"input-header-site-search"}),e.jsxs("button",{type:"submit",className:"inline-flex h-9 shrink-0 items-center gap-1.5 rounded-lg bg-primary px-3 text-xs font-bold text-primary-foreground transition-colors hover:bg-primary/90 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2","data-testid":"button-submit-header-search",children:[p("header.search"),e.jsx("span",{className:"hidden sm:inline",children:"→"})]})]}),e.jsxs("div",{className:"mt-3 flex items-center justify-between gap-3 text-[11px] text-muted-foreground",children:[e.jsx("span",{children:p("header.searchGrounded")}),e.jsx("kbd",{className:"hidden rounded border border-border px-1.5 py-0.5 font-mono sm:inline",children:p("header.escClose")})]})]})]})}),!n&&(Qe||d)&&e.jsxs("div",{className:"relative z-40 flex flex-col items-end gap-2 px-3 py-2 sm:flex-row sm:items-center sm:justify-end sm:px-5",children:[d&&e.jsxs("div",{className:"inline-flex animate-in items-center gap-2 rounded-xl border border-blue-600 bg-background px-3 py-2 text-xs font-semibold text-blue-700 shadow-lg fade-in slide-in-from-top-2 duration-500 sm:text-sm dark:border-blue-400 dark:text-blue-300",role:"status","aria-live":"polite","aria-atomic":"true","data-testid":"systems-updating-status",children:[e.jsx(We,{className:"h-4 w-4 shrink-0 animate-pulse motion-reduce:animate-none","aria-hidden":"true"}),e.jsx("span",{children:p("header.systemsUpdating")})]}),Qe&&e.jsxs("a",{href:Qe,target:"_blank",rel:"noopener noreferrer","aria-label":p("header.downloadExtension"),"data-testid":"link-download-chrome-extension-side",className:"inline-flex min-w-[14rem] items-center justify-center gap-1.5 rounded-xl border border-blue-600 bg-background px-3 py-2 text-xs font-semibold text-blue-700 shadow-lg transition-colors hover:border-blue-700 hover:bg-blue-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-600 sm:min-w-[16rem] sm:text-sm dark:border-blue-400 dark:text-blue-300 dark:hover:border-blue-300 dark:hover:bg-blue-950/30 dark:focus-visible:ring-blue-400",children:[e.jsx("span",{className:"whitespace-nowrap sm:hidden",children:p("header.extension")}),e.jsx("span",{className:"hidden whitespace-nowrap sm:inline",children:p("header.downloadExtension")}),e.jsx(Nt,{className:"h-4 w-4 shrink-0","aria-hidden":"true"})]})]})]})}
2const Sa=2048,Sm=10,Pm=1e3/30,Dm=200;function Ft(t){return t>.72?{text:"High AI Probability",color:"text-red-400"}:t>.45?{text:"Uncertain / Mixed",color:"text-amber-400"}:{text:"Likely Authentic",color:"text-emerald-400"}}const Tm=({onClose:t})=>{const[a,n]=s.useState("mic"),[i,o]=s.useState("idle"),[r,c]=s.useState(0),[l,u]=s.useState(null),[d,m]=s.useState(null),[p,b]=s.useState("Waiting for first frame capture…"),x=s.useRef(null),y=s.useRef(null),g=s.useRef(null),v=s.useRef(null),k=s.useRef(null),C=s.useRef(null),S=s.useRef(0),L=s.useRef(null),F=s.useRef([]),T=s.useRef(0),j=s.useRef(null),q=s.useRef(null),E=s.useRef(0),M=s.useCallback(()=>{E.current+=1,cancelAnimationFrame(S.current),S.current=0,L.current&&clearInterval(L.current),L.current=null,q.current?.abort(),q.current=null,j.current=null,C.current?.getTracks().forEach(R=>R.stop()),v.current?.close().catch(()=>{}),y.current&&(y.current.pause(),y.current.srcObject=null),C.current=null,v.current=null,k.current=null,F.current=[],T.current=0,o("idle"),c(0),u(null),b("Waiting for first frame capture…")},[]);s.useEffect(()=>()=>M(),[M]),s.useEffect(()=>{const R=()=>{const re=v.current;document.hidden?(re?.suspend(),y.current?.pause()):(re?.state==="suspended"&&C.current?.active&&re.resume(),y.current?.srcObject&&C.current?.active&&y.current.play().catch(()=>{}))};return document.addEventListener("visibilitychange",R),()=>document.removeEventListener("visibilitychange",R)},[]);const $=s.useCallback(async()=>{const R=++E.current;let re=null;o("requesting"),m(null);try{const Q=await navigator.mediaDevices.getUserMedia({audio:!0,video:!1});if(re=Q,R!==E.current){Q.getTracks().forEach(X=>X.stop());return}C.current=Q;const V=new AudioContext,A=V.createAnalyser();A.fftSize=Sa,A.smoothingTimeConstant=.82,v.current=V,k.current=A,V.createMediaStreamSource(Q).connect(A),o("active");const U=A.frequencyBinCount,ae=new Uint8Array(U),P=new Uint8Array(Sa);let W=0,K=0;const O=X=>{if(R!==E.current||(S.current=requestAnimationFrame(O),document.hidden))return;if(X-W>=Pm){W=X,A.getByteTimeDomainData(P);const J=x.current;if(!J)return;const ne=J.getContext("2d"),oe=J.width,ue=J.height;ne.fillStyle="#0f172a",ne.fillRect(0,0,oe,ue),ne.strokeStyle="#22d3ee",ne.lineWidth=1.5,ne.beginPath();const pe=4,Re=oe/(P.length/pe);for(let ve=0;ve<P.length;ve+=pe){const Ii=ve/pe*Re,ji=P[ve]/128*(ue/2);ve===0?ne.moveTo(Ii,ji):ne.lineTo(Ii,ji)}ne.stroke();const bt=Math.round(T.current*oe),Ye=.15,Ue=T.current>.72?`rgba(239,68,68,${Ye})`:T.current>.45?`rgba(245,158,11,${Ye})`:`rgba(16,185,129,${Ye})`;ne.fillStyle=Ue,ne.fillRect(0,0,bt,ue)}if(X-K<Dm)return;K=X,A.getByteFrequencyData(ae);let f=0,D=0,G=0;for(let J=0;J<U;J+=1){const ne=ae[J],oe=Math.max(ne/255,1e-10);f+=ne*ne,G+=oe,D+=Math.log(oe)}if(Math.sqrt(f/U)/255<.015)return;const Z=D/U,ce=Math.exp(Z),be=G/U,fe=ce/be,te=F.current;te.push(fe),te.length>Sm&&te.shift();const Ke=te.reduce((J,ne)=>J+ne,0)/te.length,mt=te.reduce((J,ne)=>J+(ne-Ke)**2,0)/te.length,_e=V.sampleRate/Sa,de=Math.floor(4e3/_e),Ce=Math.min(Math.floor(8e3/_e),U-1);let _t=0;for(let J=de;J<Ce;J+=1)_t+=ae[J];const ga=_t/Math.max(1,Ce-de)/255,N=Math.max(0,1-mt*300),ee=Math.max(0,1-ga*2.5),ie=N*.65+ee*.35;T.current=T.current*.88+ie*.12,c(T.current)};S.current=requestAnimationFrame(O)}catch(Q){if(re?.getTracks().forEach(V=>V.stop()),C.current===re&&(C.current=null),v.current?.close().catch(()=>{}),v.current=null,k.current=null,R!==E.current)return;m(Q?.message??"Microphone access denied"),o("error")}},[]),le=s.useCallback(async()=>{const R=++E.current;let re=null;o("requesting"),m(null);try{const Q=await navigator.mediaDevices.getUserMedia({video:{facingMode:"user"},audio:!1});if(re=Q,R!==E.current){Q.getTracks().forEach(V=>V.stop());return}if(C.current=Q,y.current&&(y.current.srcObject=Q,await y.current.play()),R!==E.current){Q.getTracks().forEach(V=>V.stop()),y.current?.srcObject===Q&&(y.current.srcObject=null),C.current===Q&&(C.current=null);return}o("active"),L.current=setInterval(async()=>{if(document.hidden||j.current!==null||R!==E.current)return;const V=y.current,A=g.current;!V||!A||V.readyState<HTMLMediaElement.HAVE_CURRENT_DATA||(j.current=R,A.width=V.videoWidth||640,A.height=V.videoHeight||480,A.getContext("2d").drawImage(V,0,0),A.toBlob(async U=>{if(!U||R!==E.current){j.current===R&&(j.current=null);return}b("Analysing frame…");const ae=new FormData;ae.append("file",U,"frame.jpg");const P=new AbortController;q.current=P;try{const W=await fetch("/api/upload",{method:"POST",body:ae,credentials:"include",signal:P.signal});if(R!==E.current)return;if(W.ok){const K=await W.json(),O=K?.aiConfidence??K?.confidence??null;O!==null?(u(Number(O)),b(`Frame analysed — ${Number(O).toFixed(1)}% AI confidence`)):b("Frame analysed — no confidence score returned")}else W.status===401?b("Sign in to enable frame-by-frame AI analysis"):b(`Frame analysis failed (${W.status}) — retrying in 5 s`)}catch{if(P.signal.aborted||R!==E.current)return;b("Network error — retrying in 5 s")}finally{q.current===P&&(q.current=null),j.current===R&&(j.current=null)}},"image/jpeg",.85))},5e3)}
2catch(Q){if(re?.getTracks().forEach(V=>V.stop()),C.current===re&&(C.current=null),y.current?.srcObject===re&&(y.current.pause(),y.current.srcObject=null),R!==E.current)return;m(Q?.message??"Camera access denied"),o("error")}},[]),Y=()=>a==="mic"?$():le(),H=Math.round(r*100),{text:me,color:se}=Ft(r);return e.jsxs("div",{className:"rounded-2xl bg-slate-900/95 border border-slate-700 shadow-2xl p-5 space-y-4 w-full",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(We,{className:"w-4 h-4 text-cyan-400"}),e.jsx("h3",{className:"text-sm font-semibold text-slate-100 tracking-wide",children:"Live Detection"}),i==="active"&&e.jsxs("span",{className:"flex items-center gap-1 text-xs text-emerald-400",children:[e.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-emerald-400 animate-pulse"}),"Live"]})]}),e.jsx("button",{type:"button","aria-label":"Close live detection",onClick:()=>{M(),t()},className:"text-slate-500 hover:text-slate-300 transition-colors",children:e.jsx(ge,{className:"w-4 h-4"})})]}),e.jsx("div",{className:"flex gap-2",children:["mic","camera"].map(R=>e.jsxs("button",{disabled:i==="active"||i==="requesting",onClick:()=>{n(R),m(null)},className:`flex items-center gap-1.5 px-3 py-1.5 rounded-lg text-xs font-medium transition-all
3              ${a===R?"bg-indigo-600 text-white shadow-lg shadow-indigo-900/40":"bg-slate-800 text-slate-400 hover:text-slate-200 hover:bg-slate-700"} disabled:opacity-50 disabled:cursor-not-allowed`,children:[R==="mic"?e.jsx(rt,{className:"w-3.5 h-3.5"}):e.jsx(ya,{className:"w-3.5 h-3.5"}),R==="mic"?"Microphone":"Camera"]},R))}),d&&e.jsx("div",{className:"text-xs text-red-400 bg-red-500/10 border border-red-500/20 rounded-lg px-3 py-2",children:d}),a==="mic"&&e.jsxs("div",{className:"space-y-3",children:[e.jsx("canvas",{ref:x,width:560,height:80,className:"w-full rounded-lg overflow-hidden bg-slate-950",style:{height:80}}),i==="active"&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsxs("div",{className:"relative w-20 h-20 flex-shrink-0",children:[e.jsxs("svg",{viewBox:"0 0 36 36",className:"w-full h-full -rotate-90",children:[e.jsx("circle",{cx:"18",cy:"18",r:"15.9",fill:"none",stroke:"#1e293b",strokeWidth:"3"}),e.jsx("circle",{cx:"18",cy:"18",r:"15.9",fill:"none",stroke:H>72?"#ef4444":H>45?"#f59e0b":"#10b981",strokeWidth:"3",strokeDasharray:`${H} ${100-H}`,strokeLinecap:"round",style:{transition:"stroke-dasharray 0.4s ease"}})]}),e.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:e.jsxs("span",{className:"text-lg font-bold text-slate-100",children:[H,"%"]})})]}),e.jsxs("div",{children:[e.jsx("p",{className:`text-sm font-semibold ${se}`,children:me}),e.jsx("p",{className:"text-xs text-slate-500 mt-0.5 leading-relaxed",children:"Based on spectral flatness variance and high-frequency energy analysis. Speak continuously for a more stable reading."})]})]}),e.jsxs("div",{className:"flex gap-4 text-xs text-slate-500",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx("span",{className:"w-2 h-2 rounded-full bg-emerald-500"}),"Authentic"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx("span",{className:"w-2 h-2 rounded-full bg-amber-500"}),"Uncertain"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx("span",{className:"w-2 h-2 rounded-full bg-red-500"}),"AI Voice"]})]})]})]}),a==="camera"&&e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"relative rounded-lg overflow-hidden bg-slate-950 aspect-video max-h-48",children:[e.jsx("video",{ref:y,muted:!0,playsInline:!0,className:"w-full h-full object-cover"}),i!=="active"&&e.jsx("div",{className:"absolute inset-0 flex items-center justify-center text-slate-600",children:e.jsx(ya,{className:"w-10 h-10"})})]}),e.jsx("canvas",{ref:g,className:"hidden"}),i==="active"&&e.jsxs("div",{className:"space-y-1.5",children:[e.jsx("p",{className:"text-xs text-slate-500",children:p}),l!==null&&e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("div",{className:`text-lg font-bold ${Ft(l/100).c
3olor}`,children:[l.toFixed(1),"%"]}),e.jsx("div",{className:`text-sm font-medium ${Ft(l/100).color}`,children:Ft(l/100).text})]}),e.jsx("p",{className:"text-xs text-slate-600 leading-relaxed",children:"Frames are analysed by the full multi-model detection ensemble every 5 s. For deepfake detection in video calls, position your face clearly in frame."})]})]}),e.jsx("div",{className:"flex gap-2 pt-1",children:i!=="active"?e.jsxs("button",{onClick:Y,disabled:i==="requesting",className:"flex items-center gap-2 px-4 py-2 rounded-lg bg-indigo-600 hover:bg-indigo-500 text-white text-sm font-medium transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:[a==="mic"?e.jsx(rt,{className:"w-4 h-4"}):e.jsx(ya,{className:"w-4 h-4"}),i==="requesting"?"Requesting access…":`Start ${a==="mic"?"Microphone":"Camera"} Detection`]}):e.jsxs("button",{onClick:M,className:"flex items-center gap-2 px-4 py-2 rounded-lg bg-slate-700 hover:bg-slate-600 text-slate-200 text-sm font-medium transition-colors",children:[a==="mic"?e.jsx(Cr,{className:"w-4 h-4"}):e.jsx(Sr,{className:"w-4 h-4"}),"Stop"]})}),e.jsx("p",{className:"text-xs text-slate-600 leading-relaxed border-t border-slate-800/60 pt-3",children:"Mic analysis runs entirely in your browser — no audio is transmitted. Camera frames are sent to the detection API using your account credits."})]})},aa="2026-08-26";function Ms({open:t,onAccept:a,onCancel:n,isSubmitting:i=!1,errorMessage:o}){const[r,c]=s.useState(""),l=r.trim().toLowerCase()==="yes";return s.useEffect(()=>{t&&c("")},[t]),t?e.jsx("div",{className:"fixed inset-0 z-[100] flex items-center justify-center bg-slate-950/70 p-3 sm:p-4",role:"presentation",children:e.jsxs("section",{role:"dialog","aria-modal":"true","aria-labelledby":"scan-agreement-title",className:"max-h-[calc(100dvh-1.5rem)] w-full max-w-lg overflow-y-auto rounded-2xl border border-slate-200 bg-white p-4 shadow-2xl sm:max-h-[calc(100dvh-2rem)] sm:p-6 dark:border-slate-700 dark:bg-slate-900",children:[e.jsxs("div",{className:"mb-4 flex items-start gap-3",children:[e.jsx("div",{className:"rounded-xl bg-blue-100 p-2 text-blue-700 dark:bg-blue-950/60 dark:text-blue-300",children:e.jsx(Ne,{className:"h-6 w-6"})}),e.jsxs("div",{children:[e.jsx("h2",{id:"scan-agreement-title",className:"text-lg font-bold text-slate-900 dark:text-white",children:"Confirm responsible use before scanning"}),e.jsxs("p",{className:"mt-1 text-sm text-slate-600 dark:text-slate-300",children:["This agreement is recorded with policy version ",aa,"."]})]})]}),e.jsxs("div",{className:"rounded-xl border border-amber-200 bg-amber-50 p-4 text-sm text-amber-950 dark:border-amber-900/50 dark:bg-amber-950/30 dark:text-amber-100",children:[e.jsxs("div",{className:"flex gap-2 font-semibold",children:[e.jsx(He,{className:"mt-0.5 h-4 w-4 shrink-0"}),"AI detection is probabilistic, not proof of authorship."]}),e.jsx("p",{className:"mt-2 leading-6",children:"Do not use a result as the sole basis for a disciplinary, employment, admissions, legal, or other adverse decision. Review relevant context and use qualified human judgment."}),e.jsx("p",{className:"mt-2 leading-6",children:"Content and outputs may contain inaccuracies, errors, or omissions. Independently verify all information, claims, and data through trusted primary sources before relying on them."})]}),e.jsxs("div",{className:"mt-4 rounded-xl border border-red-200 bg-red-50 p-4 text-sm text-red-950 dark:border-red-900/50 dark:bg-red-950/30 dark:text-red-100",children:[e.jsxs("div",{className:"flex gap-2 font-semibold",children:[e.jsx(He,{className:"mt-0.5 h-4 w-4 shrink-0"}),"Pornographic and sexually explicit material is prohibited."]}),e.jsx("p",{className:"mt-2 leading-6",children:"Do not upload images, video, audio, or documents containing sexually explicit depictions. Legitimate non-explicit educational, medical, legal, journalistic, or artistic documents may be uploaded when otherwise permitted by our policies."})]}),e.jsxs("div",{className:"mt-5 rounded-xl border border-slate-200 p-4 text-sm text-slate-700 dark:border-slate-700 dark:text-slate-200",children:[e.jsxs("p",{children:["I have read and agree to the"," ",e.jsxs("a",{className:"font-semibold text-blue-700 underline dark:text-blue-300",href:"/terms-of-service",target:"_blank",rel:"noreferrer",children:["Terms of Service ",e.jsx(Nt,{className:"inline h-3 w-3"})]})," ","and"," ",e.jsxs("a",{className:"font-semibold text-blue-700 underline dark:text-blue-300",href:"/privacy-policy",target:"_blank",rel:"noreferrer",children:["Privacy Policy ",e.jsx(Nt,{className:"inline h-3 w-3"})]}),", understand the limitations above, and confirm that I will not upload pornography or sexually explicit material."]}),e.jsxs("label",{htmlFor:"scan-agreement-confirmation",className:"mt-4 block font-semibold text-slate-900 dark:text-white",children:["Type ",e.jsx("span",{className:"rounded bg-slate-100 px-1.5 py-0.5 font-mono dark:bg-slate-800",children:"yes"})," to agree and continue"]}),e.jsx("input",{id:"scan-agreement-confirmation",autoFocus:!0,autoComplete:"off",inputMode:"text",value:r,onChange:u=>c(u.target.value),onKeyDown:u=>{u.key==="Enter"&&l&&!i&&a()},"aria-describedby":"scan-agreement-confirmation-help",placeholder:"Type yes",className:"mt-2 h-11 w-full rounded-lg border border-slate-300 bg-white px-3 text-base font-medium text-slate-900 outline-none transition focus:border-blue-500 focus:ring-2 focus:ring-blue-500/30 dark:border-slate-600 dar
3k:bg-slate-950 dark:text-white"}),e.jsx("p",{id:"scan-agreement-confirmation-help",className:"mt-2 text-xs text-slate-500 dark:text-slate-400",children:"The continue button unlocks when “yes” is entered. Capitalization does not matter."})]}),o&&e.jsx("p",{className:"mt-4 rounded-lg border border-red-200 bg-red-50 px-3 py-2 text-sm font-medium text-red-800 dark:border-red-900/50 dark:bg-red-950/30 dark:text-red-200",role:"alert",children:o}),e.jsxs("div",{className:"mt-5 flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",children:[e.jsx(I,{variant:"outline",onClick:n,disabled:i,children:"Cancel"}),e.jsx(I,{onClick:a,disabled:!l||i,children:i?"Recording agreement…":"Submit and continue"})]})]})}):null}const Em=50*1024*1024,_m=oc,Rm=new Set(["image/jpeg","image/jpg","image/png","image/gif","image/webp","image/bmp","image/tiff","video/mp4","video/quicktime","video/webm","video/avi","video/x-msvideo","audio/mpeg","audio/mp3","audio/wav","audio/wave","audio/x-wav","audio/mp4","audio/aac","audio/ogg","application/pdf"]),Lm=[".jpg",".jpeg",".png",".gif",".webp",".bmp",".tiff",".mp4",".mov",".webm",".avi",".mp3",".wav",".aac",".ogg",".pdf"],tn="JPG/JPEG · PNG · GIF · WebP · BMP · TIFF · MP4 · MOV · WebM · AVI · MP3 · WAV · PDF · AAC · OGG";async function zm(t,a=.6){return new Promise((n,i)=>{const o=new Image,r=URL.createObjectURL(t);o.onload=()=>{URL.revokeObjectURL(r);const l=Math.min(1,1920/Math.max(o.naturalWidth,o.naturalHeight)),u=document.createElement("canvas");u.width=Math.round(o.naturalWidth*l),u.height=Math.round(o.naturalHeight*l);const d=u.getContext("2d");if(!d){i(new Error("no canvas context"));return}d.drawImage(o,0,0,u.width,u.height),u.toBlob(m=>{if(!m){i(new Error("compression failed"));return}n(new File([m],t.name,{type:"image/jpeg",lastModified:Date.now()}))},"image/jpeg",a)},o.onerror=()=>{URL.revokeObjectURL(r),i(new Error("image load failed"))},o.src=r})}async function Mm(t){return new Promise((a,n)=>{const i=indexedDB.open("OfflineUploads",1);i.onupgradeneeded=()=>{i.result.createObjectStore("uploads",{keyPath:"id",autoIncrement:!0})},i.onsuccess=()=>{const c=i.result.transaction(["uploads"],"readwrite").objectStore("uploads").add({file:t,filename:t.name,queuedAt:Date.now()});c.onsuccess=()=>a(),c.onerror=()=>n(c.error)},i.onerror=()=>n(i.error)})}function Fm({onUploadComplete:t}){const{t:a}=he(),{toast:n}=ke(),i=xt(),{triggerInstallPromptOnDetection:o}=oi(),{user:r,isLoading:c,isAuthenticated:l}=ut(),{consumeHandoffFile:u,pendingHandoff:d}=ks(),m=r?.plan==="enterprise",p=r?.billingInterval==="payg"&&!m,b=m?_m:Em,x=`${b/1024/1024} MB`,[y,g]=s.useState(!1),[v,k]=s.useState(0),[C,S]=s.useState(!1),[L,F]=s.useState(null),T=s.useRef(null),[j,q]=s.useState(!1),[E,M]=s.useState(!1),[$,le]=s.useState("daily"),Y="aid_anon_result",H="aid_scan_intent",[me,se]=s.useState(()=>{try{const N=sessionStorage.getItem(Y);return N?JSON.parse(N):null}catch{return null}}),[R,re]=s.useState(!1),[Q,V]=s.useState(!1),[A,U]=s.useState(null),[ae,P]=s.useState(null),[W,K]=s.useState(null),[O,X]=s.useState(!1),[f,D]=s.useState("image"),[G,z]=s.useState(""),[Z,ce]=s.useState(""),[be,fe]=s.useState(()=>{if(typeof window>"u")return null;try{const N=sessionStorage.getItem("aid_scan_intent");return N?JSON.parse(N):null}catch{return null}});s.useEffect(()=>{try{me?sessionStorage.setItem(Y,JSON.stringify(me)):sessionStorage.removeItem(Y)}catch{}},[me]),s.useEffect(()=>{se(null),S(!1);try{sessionStorage.removeItem(Y),l&&sessionStorage.removeItem(H)}catch{}},[l]);const te=s.useRef(null),Ke=s.useRef(!1);s.useEffect(()=>{const N=ee=>{const ie=ee.clipboardData?.items;if(ie){for(const J of Array.from(ie))if(J.kind==="file"){const ne=J.getAsFile();if(ne){ee.preventDefault(),te.current?.(ne);break}}}};return document.addEventListener("paste",N),()=>document.removeEventListener("paste",N)},[]),s.useEffect(()=>{if(Ke.current||!d)return;Ke.current=!0;const N=u();N&&(P(N.name),te.current?.(N))},[u,d]);const mt=async()=>{const N=await fetch("/api/scan-agreement/status",{credentials:"include"});if(!N.ok)return!1;const ee=await N.json();return ee.accepted===!0&&ee.policyVersion===aa},Je=async(N,ee=!1)=>
3{if(!l){const ie=encodeURIComponent(window.location.pathname+window.location.search);window.location.href=`/login?returnTo=${ie}`;return}if(!navigator.onLine){n({title:a("offline.title"),description:a("offline.scanDesc"),variant:"destructive"});return}if(!ee&&!await mt().catch(()=>!1)){K(N);return}try{g(!0),se(null),o(),qi("url");const ie=await fetch("/api/extension/detect",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({imageUrl:N})}),J=await ie.json().catch(()=>({}));if(!ie.ok)throw{status:ie.status,message:String(J.error??J.message??a("upload.urlFailed")),requiresAuth:J.requiresAuth===!0};Oi("url",J.cached===!0?"cached":"fresh")}catch(ie){const J=ie;if(J.status===401&&J.requiresAuth){const ne=encodeURIComponent(window.location.pathname+window.location.search);window.location.href=`/login?returnTo=${ne}`;return}n({title:a("upload.urlFailed"),description:a("upload.urlFailedDesc"),variant:"destructive"})}finally{g(!1)}},_e=N=>{if(!l){const ie=encodeURIComponent(window.location.pathname+window.location.search);window.location.href=`/login?returnTo=${ie}`;return}if(!navigator.onLine){n({title:a("offline.title"),description:a("offline.scanDesc"),variant:"destructive"});return}const ee=new File([N],`text-scan-${Date.now()}.txt`,{type:"text/plain"});de(ee)},de=async(N,ee=!1)=>{if(!N)return;if(!l){const oe={filename:N.name,fileType:N.type,fileSize:N.size};try{sessionStorage.setItem(H,JSON.stringify(oe))}catch{}const ue=encodeURIComponent(window.location.pathname+window.location.search);window.location.href=`/login?returnTo=${ue}`;return}if(N.size>b){n({title:a("upload.tooLarge"),description:a("upload.tooLargeDesc",{limit:x,size:(N.size/1024/1024).toFixed(1)}),variant:"destructive",duration:6e3});return}if(!ee&&!await mt().catch(()=>!1)){U(N);return}if(!navigator.onLine){try{await Mm(N),"serviceWorker"in navigator&&await(await navigator.serviceWorker.ready).sync.register("background-upload"),n({title:a("upload.queued"),description:a("upload.queuedDesc",{name:N.name}),duration:6e3})}catch{n({title:a("offline.title"),description:a("offline.scanDesc"),variant:"destructive"})}return}const ie=Rm.has(N.type),J=Lm.some(oe=>N.name.toLowerCase().endsWith(oe));if(!ie&&!J){n({title:a("upload.unsupported"),description:a("upload.unsupportedDesc",{formats:tn}),variant:"destructive",duration:6e3});return}if(N.type==="text/plain"||N.name.toLowerCase().endsWith(".txt")){F(null);try{const oe=new FileReader;oe.onload=()=>{const ue=oe.result.slice(0,6e4);T.current||(T.current=new Worker(new URL("/assets/prefilter.worker-Cy3defBk.js",import.meta.url),{type:"module"}),T.current.onmessage=pe=>{pe.data?.type==="result"&&F({confidence:pe.data.confidence,reasons:pe.data.reasons,wordCount:pe.data.wordCount})},T.current.onerror=()=>{T.current=null}),T.current.postMessage({type:"text",text:ue})},oe.readAsText(N.slice(0,6e4))}catch{}}else F(null);try{let oe=N;const ue=navigator.connection??navigator.mozConnection;if(ue&&["slow-2g","2g"].includes(ue.effectiveType??"")&&N.type.startsWith("image/")&&N.size>4e5)try{const ve=await zm(N);ve.size<N.size*.85&&(oe=ve,n({title:a("upload.slowConnection"),description:a("upload.compressed",{before:(N.size/1024).toFixed(0),after:(ve.size/1024).toFixed(0)})}))}catch{}g(!0),k(0),se(null),o(),qi(N.type);const pe=await Ps(oe,ve=>k(ve)),Re=pe;if(Re.anonymous===!0)throw{status:401,requiresAuth:!0,message:"Authentication required before scanning."};const bt=Re.queued===!0,Ye=Re.cached===!0;bt||Oi(N.type,Ye?"cached":"fresh"),n({title:a(Ye?"upload.reused":bt?"upload.mediaQueued":"upload.success"),description:Ye?`${N.name} matched a verified scan from your recent history. No additional scan was used.`:bt?`${N.name} is processing safely in the background. This page will update automatically.`:`${N.name} is being analysed — results incoming.`}),t(pe.id,Re),navigator.vibrate?.([30,50,30]),i.invalidateQueries({queryKey:["dev-key"]}),i.invalidateQueries({queryKey:["/api/analysis"]}),i.invalidateQueries({queryKey:["/api/user/profile"]});const Ue=Re.scanBalance;if(Ue&&Ue.remaining>0&&Ue.remaining<=3){const ve=Ue.type==="daily"?"daily scans":"credits";n({title:`⚠️ Only ${Ue.remaining} ${ve}
3 remaining`,description:Ue.type==="daily"?"Your daily limit resets at midnight. Upgrade for more.":"Top up your balance to avoid interruption.",duration:8e3})}}catch(oe){const ue=oe;if(ue?.status===401&&ue?.requiresAuth){const pe={filename:N.name,fileType:N.type,fileSize:N.size};try{sessionStorage.setItem(H,JSON.stringify(pe))}catch{}fe(pe);const Re=encodeURIComponent(window.location.pathname+window.location.search);window.location.href=`/api/auth/google?redirectAfter=${Re}`;return}if(ue?.status===401&&ue?.requiresAuth){const pe=encodeURIComponent(window.location.pathname+window.location.search);window.location.href=`/login?returnTo=${pe}`;return}if(ue?.status===402||ue?.status===429){le(ue.status===429?"daily":"credits"),M(!0);return}navigator.vibrate?.([100,50,100]),n({title:a("upload.failed"),description:a("upload.failedDesc"),variant:"destructive"})}finally{g(!1),k(0)}},Ce=async()=>{if(!(!A&&!W)){X(!0);try{if(!(await fetch("/api/scan-agreement/accept",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({accepted:!0,policyVersion:aa,channel:"web"})})).ok)throw new Error("We could not record your agreement. Please try again.");const ee=A,ie=W;U(null),K(null),ee?await de(ee,!0):ie&&await Je(ie,!0)}catch{n({title:a("upload.agreementFailed"),description:a("upload.agreementFailedDesc"),variant:"destructive"})}finally{X(!1)}}};te.current=de;const _t=N=>{const ee=N.target.files?.[0];ee&&de(ee),N.target.value=""},ga=N=>{N.preventDefault(),q(!1);const ee=N.dataTransfer.files?.[0];ee&&de(ee)};return e.jsxs(e.Fragment,{children:[e.jsx(Ms,{open:!!(A||W),onAccept:Ce,onCancel:()=>{U(null),K(null)},isSubmitting:O}),e.jsxs(De,{className:"mb-8",children:[e.jsxs(ct,{className:"text-center",children:[e.jsx(lt,{className:"text-3xl font-bold text-slate-900 dark:text-slate-100",children:a("scan.widgetTitle")}),e.jsx(la,{className:"text-lg max-w-2xl mx-auto",children:a("scan.widgetDesc")}),l&&r&&e.jsx("p",{className:"text-sm text-green-600 dark:text-green-400 mt-2",children:a("scan.welcomeBack",{name:r.firstName||r.email||"User"})}),ae&&e.jsxs("p",{className:"text-sm text-blue-600 dark:text-blue-400 mt-2",role:"status",children:["Selected file: ",e.jsx("span",{className:"font-medium",children:ae})]})]}),e.jsxs(Te,{children:[!1,E&&(()=>{const N=new Date,ee=new Date(Date.UTC(N.getUTCFullYear(),N.getUTCMonth()+1,1)),ie=Math.ceil((ee.getTime()-N.getTime())/(1e3*60*60*24)),J=ee.toLocaleDateString("en-US",{month:"long",day:"numeric"});return e.jsxs("div",{className:"mb-6 rounded-xl border border-amber-300 dark:border-amber-700 overflow-hidden",children:[e.jsxs("div",{className:"bg-gradient-to-r from-amber-500 to-orange-500 px-5 py-3 flex items-center gap-2",children:[e.jsx(ia,{className:"w-5 h-5 text-white shrink-0"}),e.jsx("p",{className:"font-bold text-white text-sm",children:a($==="daily"?"upload.quotaMonthly":"upload.quotaCredits")})]}),e.jsxs("div",{className:"bg-amber-50 dark:bg-amber-900/20 px-5 py-5",children:[e.jsx("p",{className:"text-slate-700 dark:text-slate-300 text-sm mb-2",children:$==="daily"?a("upload.quotaMonthlyDesc",{date:J,count:ie}):a("upload.quotaCreditsDesc")}),e.jsx("p",{className:"text-slate-500 dark:text-slate-400 text-xs mb-5",children:a("upload.quotaUpsell")}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-2",children:[e.jsxs(I,{onClick:()=>{window.location.href="/signup"},className:"bg-blue-600 hover:bg-blue-700 text-white flex-1",size:"sm",children:[e.jsx(Ma,{className:"w-4 h-4 me-2"}),a("auth.createFree")]}),e.jsxs(I,{onClick:()=>window.location.href="/pricing",className:"bg-violet-600 hover:bg-violet-700 text-white flex-1",size:"sm",children:[e.jsx(Pr,{className:"w-4 h-4 me-2"}),a("upload.proTitle")]})]}),e.jsxs("button",{onClick:()=>M(!1),className:"mt-3 text-xs text-slate-400 hover:text-slate-600 dark:hover:text-slate-300 transition-colors w-full text-center",children:["Dismiss — quota resets ",J]})]})]})})(),l&&be&&e.jsxs("div",{className:"mb-6 flex items-start gap-3 rounded-xl border border-green-300 bg-green-50 dark:border-green-700 dark:bg-green-900/20 px-4 py-4",children:[e.jsx(tt,{className:"w-5 h-5 text-green-600 dark:text-green-400 mt-0.5 shrink-0"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"font-semibold text-green-900 dark:text-green-200 text-sm",children:"You're signed in — ready to scan!"}),e.jsxs("p",{className:"text-xs text-green-700 dark:text-green-400 mt-0.5",children:["You were about to scan ",e.jsx("span",{className:"font-mono font-medium",children:be.filename})," ","(",(be.fileSize/1024).toFixed(0)," KB). Re-select your file below to continue — results will be saved to your account."]})]}),e.jsx("button",{className:"text-xs text-green-600 dark:text-green-400 hover:underline shrink-0 mt-0.5",onClick:()=>fe(null),children:"Dismiss"})]}),p&&e.jsxs("div",{className:"mb-4 flex items-start gap-3 rounded-xl border border-amber-300 bg-amber-50 dark:border-amber-700 dark:bg-amber-900/20 px-4 py-3",children:[e.jsx(Be,{className:"w-4 h-4 text-amber-500 mt-0.5 shrink-0"}),e.jsxs("div",{className:"text-sm",children:[e.jsxs("span",{className:"font-semibold text-amber-800 dark:text-amber-300",children:[a("scan.paygBadge"),":"]}),e.jsx("span",{className:"text-amber-700 dark:text-amber-400 ms-1",children:a("scan.paygDetails")})]})]}),e.jsx(Ls,{isDragActive:j,children:e.jsxs("div",{onDrop:ga,onDragOver:N=>{N.preventDefault(),q(!0)},onDragLeave:N=>{N.preventDefault(),q(!1)},children:[e.jsx(pi,{className:"mx-auto w-16 h-16 bg-slate-100 dar
3k:bg-slate-700 rounded-full flex items-center justify-center mb-4",children:y?e.jsx(en,{size:32}):e.jsx(Fa,{className:"w-8 h-8 text-slate-500"})}),e.jsx("h3",{className:"text-lg font-semibold text-slate-900 dark:text-slate-100 mb-2",children:a(y?"scan.uploading":"scan.dropHere")}),e.jsx("p",{className:"text-sm text-slate-600 dark:text-slate-300 mb-2",children:a("upload.supported")}),e.jsx("div",{className:"mb-5 grid grid-cols-2 gap-2 sm:grid-cols-5",role:"tablist","aria-label":"Detection modality",children:[["text",a("upload.text"),ye,"TXT · PDF"],["url","URL",qa,a("upload.publicImage")],["image",a("upload.image"),Tt,"JPG · PNG · WebP"],["audio",a("upload.audio"),rt,"MP3 · WAV · AAC"],["video",a("upload.video"),yt,"MP4 · MOV · WebM"]].map(([N,ee,ie,J])=>e.jsxs("button",{type:"button",role:"tab","aria-selected":f===N,"data-testid":`modality-${N}`,onClick:()=>D(N),className:`flex min-h-[68px] flex-col items-start justify-center rounded-xl border px-3 text-start transition-colors ${f===N?"border-teal-500 bg-teal-500/10 text-teal-800 shadow-sm dark:text-teal-200":"border-slate-200 bg-white/50 text-slate-500 hover:border-teal-300 dark:border-slate-700 dark:bg-slate-800/40 dark:text-slate-400"}`,children:[e.jsxs("span",{className:"flex items-center gap-2 text-sm font-semibold",children:[e.jsx(ie,{className:"h-4 w-4"}),ee]}),e.jsx("span",{className:"mt-1 font-mono text-[10px] opacity-75",children:J})]},N))}),e.jsx("p",{className:"text-sm text-slate-500 dark:text-slate-400 mb-1 font-medium",children:f==="text"?a("upload.textHelp"):f==="url"?a("upload.urlHelp"):a("upload.fileHelp",{mode:f})}),e.jsx("p",{className:"text-xs text-slate-400 dark:text-slate-500 mb-4",children:a("upload.accepted",{formats:tn})}),e.jsxs("p",{className:"text-xs text-slate-400 dark:text-slate-500 mb-4",children:[a("upload.maxSize",{size:x}),p&&e.jsxs(e.Fragment,{children:[" · ",e.jsx("a",{href:"/enterprise",className:"font-medium text-blue-600 hover:underline dark:text-blue-400",children:a("upload.enterpriseForLargerFiles")})]})]}),f==="text"&&e.jsxs("div",{className:"mb-4 w-full max-w-2xl mx-auto text-start",children:[e.jsx("textarea",{value:G,onChange:N=>z(N.target.value),placeholder:a("upload.pasteText"),rows:5,"data-testid":"input-text-scan",className:"w-full resize-y rounded-xl border border-slate-200 bg-white/70 p-3 text-sm text-slate-800 outline-none transition-colors placeholder:text-slate-400 focus:border-teal-500 dark:border-slate-700 dark:bg-slate-900/50 dark:text-slate-100"}),e.jsxs(I,{type:"button",disabled:!G.trim()||y,onClick:()=>_e(G),className:"mt-2 w-full sm:w-auto","data-testid":"button-scan-text",children:[e.jsx(ye,{className:"me-2 h-4 w-4"})," ",a("upload.scanText")]})]}),f==="url"&&e.jsxs("div",{className:"mb-4 w-full max-w-2xl mx-auto text-start",children:[e.jsx("input",{type:"url",value:Z,onChange:N=>ce(N.target.value),placeholder:"https://example.com/image.jpg","data-testid":"input-url-scan",className:"w-full rounded-xl border border-slate-200 bg-white/70 p-3 text-sm text-slate-800 outline-none transition-colors placeholder:text-slate-400 focus:border-teal-500 dark:border-slate-700 dark:bg-slate-900/50 dark:text-slate-100"}),e.jsxs(I,{type:"button",disabled:!/^https?:\/\//i.test(Z.trim())||y,onClick:()=>{Je(Z.trim())},className:"mt-3 w-full bg-teal-600 text-white hover:bg-teal-700","data-testid":"button-url-scan",children:[e.jsx(qa,{className:"me-2 h-4 w-4"}),a("upload.scanUrl")]})]}),y&&e.jsxs("div",{className:"w-full max-w-xs mx-auto mb-4",children:[e.jsx(km,{progress:v}),e.jsx("p",{className:"text-xs text-center text-slate-400 mt-1",children:v<100?a("upload.uploadingProgress",{progress:v}):a("upload.processing")}),L&&e.jsxs("div",{className:`flex items-center gap-1.5 mt-2 text-xs font-medium rounded-full px-3 py-1 w-fit mx-auto border ${L.confidence>=70?"bg-red-50 text-red-700 border-red-200 dark:bg-red-900/20 dark:text-red-300 dark:border-red-800":L.confidence>=40?"bg-amber-50 text-amber-700 border-amber-200 dark:bg-amber-900/20 dark:text-amber-300 dark:border-amber-800":"bg-emerald-50 text-emerald-700 border-emerald-200 dark:bg-emerald-900/20 dark:text-emerald-300 dark:border-emerald-800"}`,children:[e.jsx(Be,{className:"w-3 h-3 shrink-0"}),e.jsxs("span",{children:["Quick scan: ",L.confidence,"% likely AI"]}),L.reasons[0]&&e.jsxs("span",{className:"opacity-60",children:["· ",L.reasons[0]]})]})]}),e.jsx("input",{type:"file",id:"file-upload",className:"hidden",accept:"text/plain,.txt,image/*,video/*,audio/mpeg,audio/wav,audio/aac,audio/ogg,.mp3,.wav,.aac,application/pdf,.pdf",onChange:_t,disabled:y}),l?e.jsx(we,{className:"bg-blue-600 text-white px-6 py-3 rounded-lg hover:bg-blue-700 transition-colors font-medium",disabled:y,children:e.jsx("label",{htmlFor:"file-upload",className:"cursor-pointer flex items-center",children:y?e.jsxs(e.Fragment,{children:[e.jsx(en,{size:16,className:"me-2"}),a("scan.analysing")]}):e.jsxs(e.Fragment,{children:[e.jsx(Fn,{className:"w-4 h-4 me-2"}),a(be?"upload.reselect":"scan.selectFile")]})})}):e.jsxs("div",{className:"flex flex-col items-center gap-3",children:[e.jsx(we,{className:"bg-blue-600 text-white px-6 py-3 rounded-lg hover:bg-blue-700 transition-colors font-medium",disabled:c,onClick:()=>{const N=encodeURIComponent(window.location.pathname+window.location.search);window.location.href=`/login?returnTo=${N}`},children:e.jsxs("span",{className:"flex items-center",children:[e.jsx(Ma,{className:"w-4 h-4 me-2"}),"Sign in to scan"]})}),e.jsx("p",{className:"text-xs text-slate-400 dark:text-slate-500",children:"Create a free account to scan text, images, audio, and video."})]})]})}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4 mt-6",children:[e.jsxs("div",{className:"bg-gradient-to-br from-purple-50 to-pink-50 dark:from-purple-900/20 dark:to-pink-900/20 rounded-lg p-4 border border-purple-200 dark:border-purple-800",children:[e.jsx("div",{className:"w-10 h-10 bg-purple-100 dar
3k:bg-purple-800 rounded-lg flex items-center justify-center mb-3",children:e.jsx(tt,{className:"w-5 h-5 text-purple-600 dark:text-purple-400"})}),e.jsx("h4",{className:"font-semibold text-slate-900 dark:text-slate-100 mb-2",children:a("scan.feat1Title")}),e.jsx("p",{className:"text-sm text-slate-600 dark:text-slate-400",children:a("scan.feat1Desc")})]}),e.jsxs("div",{className:"bg-gradient-to-br from-blue-50 to-cyan-50 dark:from-blue-900/20 dark:to-cyan-900/20 rounded-lg p-4 border border-blue-200 dark:border-blue-800",children:[e.jsx("div",{className:"w-10 h-10 bg-blue-100 dark:bg-blue-800 rounded-lg flex items-center justify-center mb-3",children:e.jsx(tt,{className:"w-5 h-5 text-blue-600 dark:text-blue-400"})}),e.jsx("h4",{className:"font-semibold text-slate-900 dark:text-slate-100 mb-2",children:a("scan.feat2Title")}),e.jsx("p",{className:"text-sm text-slate-600 dark:text-slate-400",children:a("scan.feat2Desc")})]}),e.jsxs("div",{className:"bg-gradient-to-br from-green-50 to-emerald-50 dark:from-green-900/20 dark:to-emerald-900/20 rounded-lg p-4 border border-green-200 dark:border-green-800",children:[e.jsx("div",{className:"w-10 h-10 bg-green-100 dark:bg-green-800 rounded-lg flex items-center justify-center mb-3",children:e.jsx(tt,{className:"w-5 h-5 text-green-600 dark:text-green-400"})}),e.jsx("h4",{className:"font-semibold text-slate-900 dark:text-slate-100 mb-2",children:a("scan.feat3Title")}),e.jsx("p",{className:"text-sm text-slate-600 dark:text-slate-400",children:a("scan.feat3Desc")})]})]}),e.jsx("div",{className:"mt-6 pt-5 border-t border-slate-200 dark:border-slate-700/60",children:Q?e.jsx(Tm,{onClose:()=>V(!1)}):e.jsxs("button",{onClick:()=>V(!0),className:"w-full flex items-center justify-center gap-2 py-2.5 rounded-xl border border-dashed border-slate-300 dark:border-slate-700 text-sm font-medium text-slate-500 dark:text-slate-400 hover:border-indigo-400 hover:text-indigo-500 dark:hover:text-indigo-400 transition-colors",children:[e.jsx(rt,{className:"w-4 h-4"}),"Live Microphone & Camera Detection"]})})]})]})]})}const gi=t=>typeof t=="number"&&Number.isFinite(t)?Math.max(0,Math.min(100,Math.round(t))):null,hi=t=>{const a=t.toLowerCase();return a.startsWith("image")?"image":a.startsWith("video")?"video":a.startsWith("audio")?"audio":a.includes("pdf")||a.includes("text")?"document":"media"},qm=t=>t===null?"unknown":t>=70?"high":t>=40?"medium":"low",Om=t=>{const a=gi(t.aiConfidence),n=hi(t.mediaType);return t.queued||a===null?`I just ran a ${n} authenticity scan with AI Identifiers. The result is processing.`:t.aiDetected===!0?`${a}% probable synthetic ${n} detected. I checked it with AI Identifiers.`:t.aiDetected===!1?`AI Identifiers found no synthetic signal in this ${n} scan (${a}% confidence).`:`AI Identifiers returned a ${a}% confidence result for this ${n} scan.`};async function an(t){const a=document.createElement("canvas");a.width=1200,a.height=630;const n=a.getContext("2d");if(!n)return null;const i=gi(t.aiConfidence),o=hi(t.mediaType),r=t.aiDetected===!0,c=r?"#fb7185":"#2dd4bf";n.fillStyle="#07111f",n.fillRect(0,0,a.width,a.height);const l=n.createLinearGradient(0,0,a.width,a.height);l.addColorStop(0,r?"#3b1029":"#073b4c"),l.addColorStop(1,"#111827"),n.fillStyle=l,n.fillRect(0,0,a.width,a.height),n.fillStyle="#f8fafc",n.font="700 30px Arial, sans-serif",n.fillText("AI IDENTIFIERS",74,84),n.fillStyle=c,n.font="700 18px Arial, sans-serif",n.fillText("CONFIDENCE CARD",74,119),n.fillStyle="#f8fafc",n.font="700 76px Arial, sans-serif",n.fillText(t.queued||i===null?"PROCESSING":`${i}%`,74,272),n.fillStyle="#cbd5e1",n.font="500 28px Arial, sans-serif";const u=t.queued||i===null?`${o} scan queued`:r?`probable synthetic ${o} detected`:"no synthetic signal detected";return n.fillText(u,78,330),n.fillStyle="#94a3b8",n.font="400 20px Arial, sans-serif",n.fillText("Probabilistic result — review the evidence before acting.",78,420),n.fillText("aiidentifiers.com",78,548),n.fillStyle=c,n.fillRect(78,468,180,5),new Promise(d=>a.toBlob(d,"image/png"))}function $m({data:t}){const[a,n]=s.useState("idle"),i=gi(t.aiConfidence),o=hi(t.mediaType),r=t.aiDetected===!0,c=s.useMemo(()=>Om(t),[t]),l=qm(i),u=async()=>{const m=await an(t);if(!m)return;const p=URL.createObjectURL(m),b=document.createElement("a");b.href=p,b.download=`ai-identifiers-${o}-confidence-card.png`,b.click(),URL.revokeObjectURL(p),Lt("confidence_card_downloaded",{media_type:o,confidence_band:l,ai_detected:r}),n("downloaded")},d=async m=>{try{const p=`${window.location.origin}${window.location.pathname}`;if(m==="native"){const g=await an(t),v=g?new File([g],`ai-identifiers-${o}-confidence-card.png`,{type:"image/png"}):null,k=navigator;if(v&&navigator.share&&k.canShare?.({files:[v]}))await navigator.share({title:"AI Identifiers confidence card",text:c,files:[v]});else if(navigator.share)await navigator.share({title:"AI Identifiers confidence card",text:c,url:p});else{await navigator.clipboard.writeText(`${c} ${p}`),Lt("confidence_card_shared",{target:m,media_type:o,confidence_band:l}),n("copied");return}Lt("confidence_card_shared",{target:m,media_type:o,confidence_band:l}),n("shared");return}const b=encodeURIComponent(c),x=encodeURIComponent(p),y=m==="x"?`https://twitter.com/intent/tweet?text=${b}&url=${x}`:m==="linkedin"?`https://www.linkedin.com/sharing/share-offsite/?url=${x}`:`https://www.reddit.com/submit?url=${x}&title=${b}`;window.open(y,"_blank","noopener,noreferrer"),Lt("confidence_card_shared",{target:m,media_type:o,confidence_band:l}),n("shared")}catch{}};return e.jsx("div",{className:"mt-6 overflow-hidden rounded-xl border border-violet-200 bg-gradient-to-br from-slate-950 via-slate-900 to-violet-950 text-white shadow-lg dark:border-violet-900/60","data-testid":"confidence-card",children:e.jsxs("div",{className:"flex flex-col gap-5 p-5 sm:p-6",children:[e.jsxs("div",{className:"flex items-start justify-between gap-4",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-[0.2em] text-violet-300",children:"Shareable result"}),e.jsx("h3",{className:"mt-2 text-xl font-bold",children:t.queued||i===null?`${o} scan queued`:r?`${i}% probable synthetic ${o} detected`:"No synthetic signal detected"})]}),e.jsx("div",{className:`rounded-full px-3 py-1 text-xs font-semibold ${r?"bg-rose-400/15 text-rose-200":"bg-teal-400/15 text-teal-200"}`,children:t.queued||i===null?"Processing":`${i}% confidence`})]}),e.jsx("p",{className:"max-w-2xl text-sm leading-6 text-slate-300",children:c}),e.jsx("p",{className:"text-xs leading-5 text-slate-400",children:"Probabilistic result. Share the card as a conversation starter, not as a definitive claim about authorship."}),e.jsxs("div",{className:"flex flex-wrap gap-2",children:[e.jsxs(I,{type:"button",size:"sm",onClick:u,className:"bg-violet-600 text-white hover:bg-violet-500","data-testid":"button-download-confidence-card",children:[e.jsx(qe,{className:"mr-1.5 h-4 w-4"})," Download card"]}),e.jsxs(I,{type:"button",size:"sm",variant:"outline",onClick:()=>{d("native")},className:"border-slate-600 bg-transparent text-slate-100 hover:bg-slate-800","data-testid":"button-share-confidence-card",children:[a==="copied"?e.jsx(ht,{className:"mr-1.5 h-4 w-4"}):e.jsx(Oa,{className:"mr-1.5 h-4 w-4"}),a==="copied"?"Copied":"Share"]}),e.jsxs(I,{type:"button",size:"sm",variant:"outline",onClick:()=>{d("x")},className:"border-slate-600 bg-transparent text-slate-100 hover:bg-slate-800","data-testid":"button-share-confidence-x",children:[e.jsx("span",{className:"mr-1.5 text-sm font-bold",children:"X"})," Post"]}),e.jsxs(I,{type:"button",size:"sm",variant:"outline",onClick:()=>{d("linkedin")},className:"border-slate-600 bg-transparent text-slate-100 hover:bg-slate-800","data-testid":"button-share-confidence-linkedin",children:[e.jsx(qn,{
3className:"mr-1.5 h-4 w-4"})," LinkedIn"]}),e.jsxs(I,{type:"button",size:"sm",variant:"outline",onClick:()=>{d("reddit")},className:"border-slate-600 bg-transparent text-slate-100 hover:bg-slate-800","data-testid":"button-share-confidence-reddit",children:[e.jsx(Dr,{className:"mr-1.5 h-4 w-4"})," Reddit"]})]}),a==="downloaded"&&e.jsxs("p",{className:"flex items-center gap-1.5 text-xs text-teal-300",children:[e.jsx(ht,{className:"h-3.5 w-3.5"})," Confidence card downloaded."]}),a==="shared"&&e.jsxs("p",{className:"flex items-center gap-1.5 text-xs text-teal-300",children:[e.jsx(ht,{className:"h-3.5 w-3.5"})," Share action opened."]}),a==="copied"&&e.jsxs("p",{className:"flex items-center gap-1.5 text-xs text-teal-300",children:[e.jsx(On,{className:"h-3.5 w-3.5"})," Share text copied to your clipboard."]})]})})}function Um({onUploadComplete:t}){const[a,n]=s.useState(null),[i,o]=s.useState(null),[r,c]=s.useState(()=>null),l=[{title:"Corporate memo",content:"We are writing to inform you of the upcoming organizational restructuring. These changes will optimize our synergies and deliver enhanced value to our stakeholders.",type:"AI Generated"},{title:"Support response",content:"I've reviewed your account and applied the credit for the downtime you experienced yesterday. Please let me know if you need anything else.",type:"Human Written"}],u=(d,m)=>{navigator.clipboard.writeText(d),n(m),setTimeout(()=>n(null),2e3)};return e.jsxs("div",{className:"w-full max-w-5xl mx-auto py-12 px-4 sm:px-6",children:[e.jsxs("div",{className:"text-center mb-10",children:[e.jsx("h2",{className:"text-3xl font-bold tracking-tight text-slate-900 dark:text-white sm:text-4xl mb-4",children:"Deepfake Challenge"}),e.jsx("p",{className:"text-lg text-slate-600 dark:text-slate-400 max-w-2xl mx-auto",children:"Drop an image, audio clip, or video and turn the result into a shareable confidence card. Results are probabilistic and designed to start better conversations about authenticity."})]}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-12 gap-8",children:[e.jsxs("div",{className:"lg:col-span-4 space-y-6",children:[e.jsxs(De,{className:"bg-slate-50/50 dark:bg-slate-900/50 border-slate-200 dark:border-slate-800 shadow-sm",children:[e.jsxs(ct,{className:"pb-4",children:[e.jsxs(lt,{className:"text-sm font-semibold uppercase tracking-wider text-slate-500 flex items-center gap-2",children:[e.jsx(Ve,{className:"w-4 h-4 text-teal-600 dark:text-teal-400"}),"Sample Contexts"]}),e.jsx(la,{children:"Copy a sample to test the detection engine instantly."})]}),e.jsx(Te,{className:"space-y-4",children:l.map((d,m)=>e.jsxs("div",{className:"group relative rounded-lg border border-slate-200 dark:border-slate-700 bg-white dark:bg-slate-950 p-4 transition-all hover:border-teal-500/50 hover:shadow-md",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("span",{className:"text-sm font-medium text-slate-900 dark:text-slate-100",children:d.title}),e.jsx("span",{className:"text-[10px] font-mono px-2 py-0.5 rounded-full bg-slate-100 dark:bg-slate-800 text-slate-600 dark:text-slate-300",children:d.type})]}),e.jsxs("p",{className:"text-xs text-slate-600 dark:text-slate-400 line-clamp-3 mb-3",children:['"',d.content,'"']}),e.jsx(I,{type:"button",variant:"secondary",size:"sm",className:"w-full text-xs font-medium bg-teal-50 hover:bg-teal-100 text-teal-700 dark:bg-teal-900/30 dark:hover:bg-teal-900/50 dark:text-teal-300 transition-colors",onClick:()=>u(d.content,m),children:a===m?e.jsxs("span",{className:"flex items-center gap-1.5",children:[e.jsx(ht,{className:"w-3.5 h-3.5"})," Copied"]}):e.jsxs("span",{className:"flex items-center gap-1.5",children:[e.jsx(On,{className:"w-3.5 h-3.5"})," Copy to clipboard"]})})]},m))})]}),e.jsx(De,{className:"bg-amber-50/50 dark:bg-amber-950/20 border-amber-200/50 dark:border-amber-900/50",children:e.jsxs(Te,{className:"p-5 flex items-start gap-4",children:[e.jsx($n,{className:"w-5 h-5 text-amber-600 dark:text-amber-500 shrink-0 mt-0.5"}),e.jsxs("div",{children:[e.jsx("h4",{className:"text-sm font-semibold text-slate-900 dark:text-slate-100 mb-1",children:"Measured Processing"}
3),e.jsx("p",{className:"text-xs text-slate-600 dark:text-slate-400 leading-relaxed",children:"Processing time varies with file type, size, provider availability, and network conditions. The result view reports the measured elapsed time."})]})]})})]}),e.jsx("div",{className:"lg:col-span-8",children:e.jsxs("div",{className:"relative rounded-2xl bg-white dark:bg-slate-950 border border-slate-200 dark:border-slate-800 shadow-xl overflow-hidden",children:[e.jsx("div",{className:"absolute top-0 inset-x-0 h-1 bg-gradient-to-r from-teal-500 to-amber-500"}),e.jsxs("div",{className:"p-6 sm:p-8",children:[e.jsx(Fm,{onUploadComplete:(d,m)=>{if(o(d),m){const p=typeof m.aiConfidence=="number"?m.aiConfidence:null,b=typeof m.aiDetected=="boolean"?m.aiDetected:null,x=typeof m.fileType=="string"?m.fileType:typeof m.mediaType=="string"?m.mediaType:"media";c({aiConfidence:p,aiDetected:b,mediaType:x,queued:m.queued===!0})}t(d,m)}}),e.jsx(Tr,{children:i&&e.jsx(Oe.div,{initial:{opacity:0,height:0,marginTop:0},animate:{opacity:1,height:"auto",marginTop:24},exit:{opacity:0,height:0,marginTop:0},className:"overflow-hidden",children:e.jsxs("div",{className:"rounded-lg border border-teal-200 dark:border-teal-800/50 bg-teal-50/50 dark:bg-teal-900/10 p-4 sm:p-5 flex flex-col sm:flex-row items-center justify-between gap-4",children:[e.jsxs("div",{children:[e.jsx("h4",{className:"text-sm font-semibold text-teal-900 dark:text-teal-100 mb-1",children:"Analysis Complete"}),e.jsx("p",{className:"text-xs text-teal-700 dark:text-teal-300",children:"Your comprehensive report is ready. Results are securely stored for compliance."})]}),e.jsxs("div",{className:"flex items-center gap-3 w-full sm:w-auto",children:[e.jsxs(I,{type:"button",variant:"outline",size:"sm",className:"w-full sm:w-auto border-teal-200 dark:border-teal-800 text-teal-700 dark:text-teal-300 hover:bg-teal-100 dark:hover:bg-teal-900/40",children:[e.jsx(qe,{className:"w-4 h-4 mr-2"}),"Open result"]}),e.jsxs(I,{type:"button",size:"sm",className:"w-full sm:w-auto bg-teal-600 hover:bg-teal-700 text-white shadow-sm",onClick:()=>window.location.href=`/analyze?id=${i}`,children:["View Details",e.jsx(Er,{className:"w-4 h-4 ml-2"})]})]})]})})}),r&&e.jsx($m,{data:r})]})]})})]})]})}const pa=s.forwardRef(({className:t,value:a,...n},i)=>e.jsx(Un,{ref:i,className:_("relative h-4 w-full overflow-hidden rounded-full bg-secondary",t),...n,children:e.jsx(_r,{"aria-hidden":"true",className:"h-full w-full flex-1 bg-primary transition-all",style:{transform:`translateX(-${100-(a||0)}%)`}})}));pa.displayName=Un.displayName;const Gm=[{key:"1/15",label:"Sightengine",description:"AI-generated content detection"},{key:"2/15",label:"Azure Face",description:"Face and emotion analysis"},{key:"3/15",label:"Google Vision",description:"Comprehensive image analysis"},{key:"4/15",label:"OCR",description:"Text extraction"},{key:"5/15",label:"Barcode/QR",description:"Code detection"},{key:"6/15",label:"Statistical AI",description:"Pattern analysis"},{key:"7/15",label:"SynthID",description:"Watermark detection"},{key:"8/15",label:"Pattern analysis",description:"Statistical signal detection"},{key:"9/15",label:"ZeroGPT",description:"Text analysis"},{key:"10/15",label:"GPT-5",description:"Advanced AI detection"},{key:"11/15",label:"Claude 4",description:"Model signature detection"},{key:"12/15",label:"o1/o3",description:"Reasoning analysis"},{key:"13/15",label:"AI Identifiers Technology",description:"Deep contextual analysis"},{key:"14/15",label:"Deepfake 2025",description:"Synthetic media detection"},{key:"15/15",label:"Report",description:"Generating comprehensive report"}];function Vm(t){const a=t.match(/(\d+)\/15/);return a?parseInt(a[1],10)-1:t.toLowerCase().includes("complete")?15:0}function Bm(t){return t<=0?"Almost done...":t<60?`~${t}s remaining`:`~${Math.ceil(t/60)} min remaining`}function Hm({processingResults:t}){const a=t[0];if(!a)return null;const n=a.technicalMetadata?.processingProgress||null,i=n?.progressPercent??(a.status==="processing"?10:a.status==="completed"?100:0),o=n?Vm(n.stage):a.status==="processing"?0:-1,r=n?Bm(n.etaSeconds):a.status==="processing"?"Analyzing with 15 AI services...":a.status==="pending"?"Starting analysis...":"Starting...",c=a.status==="failed",l=a.status==="completed";return e.jsx("div",{className:"mb-8","data-testid":"analysis-progress-container",children:e.jsxs("div",{className:"bg-white dark:bg-slate-800 rounded-xl shadow-sm border border-slate-200 dark:border-slate-700 p-6",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsx("h3",{className:"text-lg font-semibold text-slate-900 dark:text-white",children:c?"Analysis Could Not Complete":l?"Analysis Complete":"Running 15 AI Detection Services"}),e.jsx("span",{className:"text-sm text-slate-500 dark:text-slate-400","data-testid":"eta-display",children:c?"See below":l?"Done!":r})]}),c&&e.jsxs("div",{className:"mb-4 p-4 bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 rounded-lg",children:[e.jsx("p",{className:"text-sm font-semibold text-red-700 dark:text-red-400 mb-1",children:"What happened?"}),e.jsx("p",{className:"text-xs text-red-600 dark:text-red-400 leading-relaxed",children:"One or more detection services could not process this file. This can happen with unsupported formats, very large files, or a brief service interruption."}),e.jsxs("p",{className:"text-xs text-red-600 dark:text-red-400 mt-2 leading-relaxed",children:[e.jsx("strong",{children:"Try again:"})," upload the file once more, or convert it to a different format (JPG/PNG for images, MP4 for video, MP3 for audio)."]})]}),e.jsxs("div",{className:"mb-6",children:[e.jsxs("div",{className:"flex justify-between text-sm mb-2",children:[e.jsx("span",{className:"text-slate-600 dar
3k:text-slate-300 font-medium",children:n?.stage||(l?"All services complete":"Processing...")}),e.jsxs("span",{className:"font-bold text-ai-primary","data-testid":"progress-percent",children:[i,"%"]})]}),e.jsx(pa,{value:i,className:"h-3"}),e.jsx("p",{className:"text-xs text-slate-500 mt-1",children:n?`${n.stepsCompleted}/${n.totalSteps} services completed`:l?"15/15 services completed":"Starting..."})]}),e.jsx("div",{className:"grid grid-cols-3 sm:grid-cols-5 gap-2 mb-6",children:Gm.map((u,d)=>{const m=d<o||l,p=d===o&&!l&&!c;return e.jsxs("div",{className:`p-2 rounded-lg text-center transition-all ${c&&p?"bg-red-100 dark:bg-red-900/30 border border-red-300":m?"bg-green-100 dark:bg-green-900/30 border border-green-300":p?"bg-blue-100 dark:bg-blue-900/30 border border-blue-400 animate-pulse":"bg-slate-100 dark:bg-slate-700/50 border border-slate-200 dark:border-slate-600"}`,"data-testid":`progress-step-${d}`,title:u.description,children:[e.jsx("div",{className:"flex justify-center mb-1",children:c&&p?e.jsx(ia,{className:"w-4 h-4 text-red-500"}):m?e.jsx(tt,{className:"w-4 h-4 text-green-500"}):p?e.jsx(Ie,{className:"w-4 h-4 text-blue-500 animate-spin"}):e.jsx($n,{className:"w-4 h-4 text-slate-400"})}),e.jsx("p",{className:`text-xs font-medium truncate ${m||p?"text-slate-800 dark:text-white":"text-slate-400"}`,children:u.label})]},u.key)})}),e.jsx("div",{className:"p-4 bg-slate-50 dark:bg-slate-700/50 rounded-lg",children:e.jsxs("div",{className:"flex items-center space-x-4",children:[e.jsx("div",{className:`w-12 h-12 rounded-lg flex items-center justify-center flex-shrink-0 ${a.fileType==="image"?"bg-blue-100 dark:bg-blue-900/30":a.fileType==="audio"?"bg-purple-100 dark:bg-purple-900/30":"bg-green-100 dark:bg-green-900/30"}`,children:(()=>{const u=a.fileType==="image"?Tt:a.fileType==="audio"?Xa:a.fileType==="video"?yt:ye;return e.jsx(u,{className:"h-5 w-5 text-slate-600 dark:text-slate-200"})})()}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"font-medium text-slate-900 dark:text-white truncate","data-testid":"processing-filename",children:a.filename}),e.jsxs("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:[a.fileSize?(a.fileSize/1024/1024).toFixed(1)+" MB • ":"",c?e.jsx("span",{className:"text-red-500 ml-1",children:"Failed"}):l?e.jsx("span",{className:"text-green-500 ml-1",children:"Complete - 15 services analyzed"}):e.jsx("span",{className:"text-ai-primary ml-1",children:"Processing with all AI services..."})]})]}),e.jsx("div",{className:"text-right flex-shrink-0",children:e.jsxs("p",{className:`text-lg font-bold ${c?"text-red-500":l?"text-green-500":"text-ai-primary"}`,"data-testid":"file-progress-percent",children:[i,"%"]})})]})})]})})}const Wm=Bn,Km=Gn,Fs=s.forwardRef(({className:t,...a},n)=>e.jsx(na,{className:_("fixed inset-0 z-50 bg-black/80  data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",t),...a,ref:n}));Fs.displayName=na.displayName;const Jm=Dt("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4  border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),qs=s.forwardRef(({side:t="right",className:a,children:n,...i},o)=>e.jsxs(Km,{children:[e.jsx(Fs,{}),e.jsxs(sa,{ref:o,className:_(Jm({side:t}),a),...i,children:[n,e.jsxs(Vn,{className:"absolute right-4 top-4 roun
3ded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[e.jsx(ge,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));qs.displayName=sa.displayName;const Os=({className:t,...a})=>e.jsx("div",{className:_("flex flex-col space-y-2 text-center sm:text-left",t),...a});Os.displayName="SheetHeader";const $s=s.forwardRef(({className:t,...a},n)=>e.jsx(ra,{ref:n,className:_("text-lg font-semibold text-foreground",t),...a}));$s.displayName=ra.displayName;const Ym=s.forwardRef(({className:t,...a},n)=>e.jsx(oa,{ref:n,className:_("text-sm text-muted-foreground",t),...a}));Ym.displayName=oa.displayName;const Qm=[{label:"Why flagged?",prompt:"Why is this flagged as AI-generated?"},{label:"Humanize",prompt:"Suggest edits to make this look more human-written"},{label:"Summarize",prompt:"Summarize the key detection signals"}];function Zm({text:t,defaultOpen:a}){const[n,i]=s.useState(a);return t?e.jsxs("div",{className:"mb-2 rounded-lg border border-violet-200 dark:border-violet-800 bg-violet-50/60 dark:bg-violet-950/20 overflow-hidden",children:[e.jsxs("button",{onClick:()=>i(o=>!o),className:"w-full flex items-center gap-2 px-3 py-2 text-xs font-medium text-violet-600 dark:text-violet-400 hover:bg-violet-100/60 dark:hover:bg-violet-900/20 transition-colors",children:[e.jsx(ei,{className:"w-3.5 h-3.5 shrink-0"}),e.jsx("span",{className:"flex-1 text-left",children:"Reasoning"}),n?e.jsx(ca,{className:"w-3 h-3"}):e.jsx($e,{className:"w-3 h-3"})]}),n&&e.jsx("div",{className:"px-3 pb-2.5 text-xs text-violet-700 dark:text-violet-300 leading-relaxed whitespace-pre-wrap border-t border-violet-100 dark:border-violet-900 pt-2 max-h-40 overflow-y-auto",children:t})]}):null}function Xm({suggestions:t,onSelect:a}){return t.length?e.jsx("div",{className:"mt-2 flex flex-wrap gap-1.5",children:t.map((n,i)=>e.jsx("button",{onClick:()=>a(n.query),className:"text-xs px-2.5 py-1.5 rounded-full border border-violet-300 dark:border-violet-700 text-violet-700 dark:text-violet-300 bg-white dark:bg-slate-900 hover:bg-violet-50 dark:hover:bg-violet-950/40 hover:border-violet-500 transition-colors",children:n.label},i))}):null}function ep({scanId:t,scanLabel:a,isOpen:n,onClose:i}){const[o,r]=s.useState([]),[c,l]=s.useState(""),[u,d]=s.useState(!1),[m,p]=s.useState(null),[b,x]=s.useState(""),[y,g]=s.useState(""),[v,k]=s.useState(!1),C=s.useRef(null),S=s.useRef(null),L=s.useRef(null);s.useEffect(()=>{S.current?.scrollIntoView({behavior:"smooth"})},[o,u,b,y]),s.useEffect(()=>{n&&(r([]),l(""),p(null),x(""),g(""),setTimeout(()=>L.current?.focus(),150))},[n,t]);const F=async j=>{const q=j.trim();if(!q||u)return;l(""),p(null);const E={role:"user",text:q},M=[...o];r($=>[...$,E]),d(!0),x(""),g(""),k(!0),C.current?.abort(),C.current=new AbortController;try{const $=await fetch(`/api/analysis/${t}/stream-chat`,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:q,conversationHistory:M.map(V=>({role:V.role,parts:[{text:V.text}]}))}),signal:C.current.signal});if(!$.ok){const V=await $.json().catch(()=>({error:"Request failed"}));throw new Error(V.error??`HTTP ${$.status}`)}if(!$.body)throw new Error("Streaming response is unavailable");const le=$.body.getReader(),Y=new TextDecoder;let H="",me="",se="",R=!1,re,Q;for(;;){const{done:V,value:A}=await le.read();if(V)break;H+=Y.decode(A,{stream:!0}).replace(/\r\n/g,`
4`);const U=H.split(`
5
6`);H=U.pop()??"";for(const ae of U){let P="";const W=[];for(const X of ae.split(`
7`))X.startsWith("event:")?P=X.slice(6).trim():X.startsWith("data:")&&W.push(X.slice(5).trimStart());const K=W.join(`
8`);if(!K)continue;if(K==="[DONE]"){R=!0,r(X=>[...X,{role:"model",text:re??me,thoughts:se||void 0,suggestions:Q}]),x(""),g(""),await le.cancel();break}let O;try{O=JSON.parse(K)}catch{throw new Error("Invalid streaming response")}if(O.error)throw new Error(O.error);if(P==="done"){re=O.displayText??me,Q=O.suggestions?.length?O.suggestions:void 0;continue}if(P==="thought"){se+=O.text??"",g(se);continue}O.text&&(me+=O.text,k(!1),x(me))}if(R)break}if(!R)throw new Error("The response stream ended unexpectedly")}catch($){if($.name==="AbortError")return;p($.message??"Something went wrong"),x(""),g("")}finally{d(!1)}},T=()=>{const j=[...o].reverse().find(q=>q.role==="user");j&&(p(null),r(o.slice(0,o.lastIndexOf(j))),F(j.text))};return e.jsx(Wm,{open:n,onOpenChange:j=>{j||i()},children:e.jsxs(qs,{side:"right",className:"w-full sm:max-w-[440px] flex flex-col p-0 gap-0","data-testid":"scan-chat-drawer",children:[e.jsxs(Os,{className:"px-4 pt-4 pb-3 border-b border-slate-200 dark:border-slate-700 shrink-0",children:[e.jsxs($s,{className:"flex items-center gap-2 text-base",children:[e.jsx(Me,{className:"w-4 h-4 text-violet-500"}),"Ask AI Identifiers about this scan"]}),e.jsx("p",{className:"text-xs text-slate-500 truncate max-w-[360px] mt-0.5",children:a})]}),e.jsxs("div",{className:"flex-1 overflow-y-auto px-4 py-3 space-y-3 min-h-0",children:[o.length===0&&!u&&!m&&e.jsxs("div",{className:"space-y-2 pt-1",children:[e.jsx("p",{className:"text-sm text-slate-500 text-center pb-1",children:"Ask anything about this result."}),Qm.map(({label:j,prompt:q})=>e.jsx("button",{onClick:()=>F(q),className:"w-full text-left px-3 py-2.5 rounded-lg border border-slate-200 dark:border-slate-700 text-sm text-slate-600 dar
8k:text-slate-300 hover:border-violet-400 hover:bg-violet-50/60 dark:hover:bg-violet-950/20 transition-colors",children:j},j))]}),o.map((j,q)=>e.jsxs("div",{className:`flex flex-col ${j.role==="user"?"items-end":"items-start"}`,children:[j.role==="model"&&j.thoughts&&e.jsx(Zm,{text:j.thoughts,defaultOpen:!1}),e.jsx("div",{className:`max-w-[88%] px-3 py-2 rounded-2xl text-sm leading-relaxed whitespace-pre-wrap ${j.role==="user"?"bg-violet-600 text-white rounded-br-sm":"bg-slate-100 dark:bg-slate-800 text-slate-800 dark:text-slate-100 rounded-bl-sm"}`,children:j.text}),j.role==="model"&&j.suggestions&&e.jsx(Xm,{suggestions:j.suggestions,onSelect:F})]},q)),u&&y&&e.jsx("div",{className:"flex flex-col items-start",children:e.jsxs("div",{className:"mb-2 rounded-lg border border-violet-200 dark:border-violet-800 bg-violet-50/60 dark:bg-violet-950/20 overflow-hidden w-full max-w-[88%]",children:[e.jsxs("button",{onClick:()=>k(j=>!j),className:"w-full flex items-center gap-2 px-3 py-2 text-xs font-medium text-violet-600 dark:text-violet-400",children:[e.jsx(ei,{className:"w-3.5 h-3.5 shrink-0 animate-pulse"}),e.jsx("span",{className:"flex-1 text-left",children:"Thinking…"}),v?e.jsx(ca,{className:"w-3 h-3"}):e.jsx($e,{className:"w-3 h-3"})]}),v&&e.jsx("div",{className:"px-3 pb-2.5 text-xs text-violet-700 dark:text-violet-300 leading-relaxed whitespace-pre-wrap border-t border-violet-100 dark:border-violet-900 pt-2 max-h-36 overflow-y-auto",children:y})]})}),u&&b&&e.jsx("div",{className:"flex justify-start",children:e.jsxs("div",{className:"max-w-[88%] px-3 py-2 rounded-2xl rounded-bl-sm text-sm leading-relaxed whitespace-pre-wrap bg-slate-100 dark:bg-slate-800 text-slate-800 dark:text-slate-100",children:[b,e.jsx("span",{className:"inline-block w-0.5 h-3.5 bg-violet-500 ml-0.5 align-middle animate-pulse"})]})}),u&&!y&&!b&&e.jsx("div",{className:"flex justify-start",children:e.jsxs("div",{className:"bg-slate-100 dark:bg-slate-800 px-3.5 py-3 rounded-2xl rounded-bl-sm flex items-center gap-1.5",children:[e.jsx("span",{className:"w-1.5 h-1.5 bg-slate-400 rounded-full animate-bounce [animation-delay:0ms]"}),e.jsx("span",{className:"w-1.5 h-1.5 bg-slate-400 rounded-full animate-bounce [animation-delay:150ms]"}),e.jsx("span",{className:"w-1.5 h-1.5 bg-slate-400 rounded-full animate-bounce [animation-delay:300ms]"})]})}),m&&!u&&e.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 bg-red-50 dark:bg-red-950/30 border border-red-200 dark:border-red-800 rounded-lg text-sm text-red-600 dark:text-red-400",children:[e.jsx("span",{className:"flex-1 text-xs",children:m}),e.jsxs("button",{onClick:T,className:"shrink-0 flex items-center gap-1 text-xs font-medium hover:underline",children:[e.jsx(Rr,{className:"w-3 h-3"})," Retry"]})]}),e.jsx("div",{ref:S})]}),e.jsxs("div",{className:"px-4 pb-4 pt-2 border-t border-slate-200 dark:border-slate-700 shrink-0",children:[e.jsxs("div",{className:"flex gap-2 items-end",children:[e.jsx("textarea",{ref:L,rows:2,value:c,onChange:j=>l(j.target.value),onKeyDown:j=>{j.key==="Enter"&&!j.shiftKey&&(j.preventDefault(),F(c))},placeholder:"Ask about this scan… (Enter to send)",disabled:u,className:"flex-1 resize-none text-sm rounded-lg border border-slate-300 dark:border-slate-600 bg-white dark:bg-slate-900 px-3 py-2 text-slate-800 dark:text-slate-100 placeholder:text-slate-400 focus:outline-none focus:ring-1 focus:ring-violet-500 disabled:opacity-50"}),e.jsx(I,{size:"icon",onClick:()=>F(c),disabled:u||!c.trim(),className:"bg-violet-600 hover:bg-violet-700 text-white h-9 w-9 shrink-0",children:u?e.jsx(Ie,{className:"w-4 h-4 animate-spin"}):e.jsx(Lr,{className:"w-4 h-4"})})]}),e.jsx("p",{className:"text-xs text-slate-400 mt-1.5",children:"Shift+Enter for new line"})]})]})})}function tp({analysisId:t,scanLabel:a,isOpen:n,onClose:i}){return e.jsx(ep,{scanId:t,scanLabel:a,isOpen:n,onClose:i})}const ap=zr,Us=s.forwardRef(({className:t,...a},n)=>e.jsx(Hn,{ref:n,className:_("inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",t),...a}));Us.displayName=Hn.displayName;const Vt=s.forwardRef(({className:t,...a},n)=>e.jsx(Wn,{ref:n,className:_("inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",t),...a}));Vt.displayName=Wn.displayName;const Bt=s.forwardRef(({className:t,...a},n)=>e.jsx(Kn,{ref:n,className:_("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",t),...a}));Bt.displayName=Kn.displayName;function ip({analysisId:t}){const[a,n]=s.useState(null),[i,o]=s.useState(!0),[r,c]=s.useState(!1),[l,u]=s.useState(null),d=s.useCallback(async()=>{try{const y=await fetch(`/api/votes/${t}`,{credentials:"include"});y.ok&&n(await y.json())}catch{}finally{o(!1)}},[t]);s.useEffect(()=>{d()},[d]);async function m(y){c(!0),u(null);try{const g=await fetch(`/api/votes/${t}`,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({voteAi:y})});if(g.status===401){u("Sign in to vote");return}g.ok&&n(await g.json())}catch{u("Failed to submit vote")}finally{c(!1)}}if(i)return null;const p=a?.aiPercent??null,b=p!==null?100-p:null,x=a?.userVote??null;return e.jsxs("div",{className:"border border-slate-200 rounded-xl p-5 bg-gradient-to-br from-slate-50 to-white",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx(zn,{className:"w-4 h-4 text-slate-500"}),e.jsx("h4",{className:"font-semibold text-slate-800 text-sm",children:"Community Verdict"}),a&&a.totalVotes>0&&e.jsxs("span",{className:"ml-auto text-xs text-slate-400",children:[a.totalVotes," vote",a.totalVotes!==1?"s":""]})]}),e.jsxs("div",{className:"flex gap-3 mb-4",children:[e.jsxs("button",{onClick:()=>m(!0),disabled:r,className:`flex-1 flex items-center justify-center gap-2 py-2.5 px-4 roun
8ded-lg border-2 text-sm font-medium transition-all ${x===!0?"bg-red-500 border-red-500 text-white shadow-md":"border-red-200 text-red-600 hover:bg-red-50"}`,children:[e.jsx(Jn,{className:"w-4 h-4"}),"AI-Generated"]}),e.jsxs("button",{onClick:()=>m(!1),disabled:r,className:`flex-1 flex items-center justify-center gap-2 py-2.5 px-4 rounded-lg border-2 text-sm font-medium transition-all ${x===!1?"bg-emerald-500 border-emerald-500 text-white shadow-md":"border-emerald-200 text-emerald-600 hover:bg-emerald-50"}`,children:[e.jsx(Pt,{className:"w-4 h-4"}),"Human-Made"]})]}),a&&a.totalVotes>0&&p!==null&&e.jsxs("div",{children:[e.jsxs("div",{className:"flex justify-between text-xs font-medium mb-1.5",children:[e.jsxs("span",{className:"text-red-600",children:["AI ",p,"%"]}),e.jsxs("span",{className:"text-emerald-600",children:[b,"% Human"]})]}),e.jsx("div",{className:"h-2.5 rounded-full bg-emerald-100 overflow-hidden",children:e.jsx("div",{className:"h-full rounded-full bg-red-400 transition-all duration-500",style:{width:`${p}%`}})}),e.jsxs("p",{className:"text-xs text-slate-400 mt-2 text-center",children:["Community confidence: ",e.jsxs("span",{className:"font-semibold text-slate-600",children:[p,"% think this is AI-generated"]})]})]}),a&&a.totalVotes===0&&e.jsx("p",{className:"text-xs text-slate-400 text-center",children:"Be the first to vote on this analysis"}),l&&e.jsx("p",{className:"text-xs text-red-500 text-center mt-2",children:l})]})}const Gs=Bn,np=Gn,Vs=s.forwardRef(({className:t,...a},n)=>e.jsx(na,{ref:n,className:_("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",t),...a}));Vs.displayName=na.displayName;const fi=s.forwardRef(({className:t,children:a,...n},i)=>e.jsxs(np,{children:[e.jsx(Vs,{}),e.jsxs(sa,{ref:i,className:_("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 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 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",t),...n,children:[a,e.jsxs(Vn,{className:"absolute right-4 top-4 roun
8ded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[e.jsx(ge,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));fi.displayName=sa.displayName;const xi=({className:t,...a})=>e.jsx("div",{className:_("flex flex-col space-y-1.5 text-center sm:text-left",t),...a});xi.displayName="DialogHeader";const Bs=({className:t,...a})=>e.jsx("div",{className:_("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...a});Bs.displayName="DialogFooter";const yi=s.forwardRef(({className:t,...a},n)=>e.jsx(ra,{ref:n,className:_("text-lg font-semibold leading-none tracking-tight",t),...a}));yi.displayName=ra.displayName;const bi=s.forwardRef(({className:t,...a},n)=>e.jsx(oa,{ref:n,className:_("text-sm text-muted-foreground",t),...a}));bi.displayName=oa.displayName;function sp({analysisId:t,filename:a,originalClassification:n,open:i,onClose:o}){const[r,c]=s.useState(""),[l,u]=s.useState(""),[d,m]=s.useState(!1),{toast:p}=ke(),b=()=>{c(""),u("")},x=()=>{d||(b(),o())},y=async()=>{if(r){m(!0);try{const g=await fetch(`/api/scans/${t}/feedback`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({reported_label:r,note:l.trim()||null})});if(!g.ok){const v=await g.json().catch(()=>({}));throw new Error(v.error??"Submit failed")}p({title:"Report submitted — thank you",description:"Your correction improves detection accuracy for everyone and will be reviewed by our team."}),b(),o()}catch(g){p({title:"Couldn't submit report",description:g instanceof Error?g.message:"Please try again.",variant:"destructive"})}finally{m(!1)}}};return e.jsx(Gs,{open:i,onOpenChange:g=>{g||x()},children:e.jsxs(fi,{className:"sm:max-w-md",children:[e.jsxs(xi,{children:[e.jsxs(yi,{className:"flex items-center gap-2",children:[e.jsx(Pt,{className:"h-4 w-4 text-amber-500"}),"Flag as incorrect"]}),e.jsxs(bi,{children:["Help us improve detection accuracy for"," ",e.jsx("span",{className:"font-medium text-gray-900 dark:text-gray-100",children:a}),". Your correction will stay out of training data until an administrator reviews it."]})]}),e.jsxs("div",{className:"space-y-4 py-1",children:[e.jsxs("div",{className:"flex items-center gap-2 text-sm text-gray-600 dark:text-gray-400",children:[e.jsx("span",{children:"Current verdict:"}),e.jsx("span",{className:`px-2 py-0.5 rounded-full text-xs font-semibold ${n==="ai_generated"?"bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-400":"bg-emerald-100 text-emerald-700 dark:bg-emerald-900/30 dark:text-emerald-400"}`,children:n==="ai_generated"?"AI Generated":"Human Made"})]}),e.jsxs("div",{children:[e.jsxs("label",{className:"text-sm font-medium text-gray-700 dark:text-gray-300 mb-1.5 block",children:["Correct answer ",e.jsx("span",{className:"text-red-500",children:"*"})]}),e.jsx("div",{className:"grid grid-cols-2 gap-2",children:["ai_generated","human_made"].map(g=>e.jsx("button",{type:"button",disabled:g===(n==="ai_generated"?"ai_generated":"human_made"),onClick:()=>c(g),className:`rounded-lg border px-3 py-2 text-sm font-medium transition-colors ${r===g?"border-amber-500 bg-amber-50 text-amber-800":"border-gray-200 hover:border-amber-300"} disabled:cursor-not-allowed disabled:bg-gray-100 disabled:text-gray-400 disabled:hover:border-gray-200`,children:g==="ai_generated"?"AI-generated":"Human-made"},g))})]}),e.jsxs("div",{children:[e.jsxs("label",{className:"text-sm font-medium text-gray-700 dark:text-gray-300 mb-1.5 block",children:["Additional context"," ",e.jsx("span",{className:"text-gray-400 font-normal",children:"(optional but valuable)"})]}),e.jsx("textarea",{className:"w-full rounded-md border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-900 px-3 py-2 text-sm placeholder:text-gray-400 focus:outline-none focus:ring-2 focus:ring-violet-500 resize-none transition-colors",rows:3,value:l,onChange:g=>u(g.target.value.slice(0,500)),placeholder:r==="human_made"?"Share how you know this was human-made":"Share how you know this was AI-generated"}),e.jsxs("p",{className:"text-xs text-gray-400 mt-0.5 text-right",children:[l.length,"/500"]})]})]}),e.jsxs("div",{className:"flex justify-end gap-2 pt-2 border-t",children:[e.jsx(I,{variant:"outline",onClick:x,disabled:d,children:"Cancel"}),e.jsx(I,{onClick:y,disabled:!r||d,className:"bg-amber-500 hover:bg-amber-600 text-white",children:d?e.jsxs(e.Fragment,{children:[e.jsx(Ie,{className:"h-3 w-3 animate-spin mr-1.5"}),"Submitting…"]}):e.jsxs(e.Fragment,{children:[e.jsx(Pt,{className:"h-3 w-3 mr-1.5"}
8),"Submit correction"]})})]})]})})}function rp({title:t="AI Identifiers - Advanced AI Detection",url:a=typeof window<"u"?window.location.href:"https://aiidentifiers.com",text:n="Check out this AI detection platform with advanced AI processing!"}){const[i,o]=s.useState(!1),{toast:r}=ke(),c=async()=>{if(navigator.share&&typeof navigator.share=="function")try{await navigator.share({title:t,text:n,url:a})}catch{console.log("Share cancelled")}else o(!0)},l=async()=>{try{await navigator.clipboard.writeText(a),r({title:"Link copied!",description:"The link has been copied to your clipboard."}),o(!1)}catch{r({title:"Copy failed",description:"Unable to copy link to clipboard.",variant:"destructive"})}},u=()=>{const p=encodeURIComponent(t),b=encodeURIComponent(`${n}
9
10${a}`);window.open(`mailto:?subject=${p}&body=${b}`,"_blank"),o(!1)},d=()=>{const p=encodeURIComponent(`${n} ${a}`);window.open(`sms:?body=${p}`,"_blank"),o(!1)},m=()=>{const p=encodeURIComponent(`${n} ${a}`);window.open(`https://wa.me/?text=${p}`,"_blank"),o(!1)};return navigator.share&&typeof navigator.share=="function"?e.jsxs(I,{onClick:c,variant:"outline",size:"sm",className:"touch-manipulation min-h-[44px]",children:[e.jsx(Oa,{className:"w-4 h-4 mr-2"}),"Share"]}):e.jsxs(di,{open:i,onOpenChange:o,children:[e.jsx(ui,{asChild:!0,children:e.jsxs(I,{variant:"outline",size:"sm",className:"touch-manipulation min-h-[44px]",children:[e.jsx(Oa,{className:"w-4 h-4 mr-2"}),"Share"]})}),e.jsxs(ma,{align:"end",className:"w-48",children:[e.jsxs(it,{onClick:l,className:"min-h-[44px]",children:[e.jsx(qa,{className:"w-4 h-4 mr-3"}),"Copy Link"]}),e.jsx(mi,{}),e.jsxs(it,{onClick:m,className:"min-h-[44px]",children:[e.jsx(Ti,{className:"w-4 h-4 mr-3"}),"WhatsApp"]}),e.jsxs(it,{onClick:d,className:"min-h-[44px]",children:[e.jsx(Ti,{className:"w-4 h-4 mr-3"}),"Text Message"]}),e.jsxs(it,{onClick:u,className:"min-h-[44px]",children:[e.jsx(Za,{className:"w-4 h-4 mr-3"}),"Email"]})]})]})}const op=({sentences:t,aggregateScore:a})=>{const n=i=>i>.75?"bg-red-500/20 text-red-200 border-b-2 border-red-500 font-medium":i>.45?"bg-yellow-500/20 text-yellow-200 border-b-2 border-yellow-500":"bg-emerald-500/10 text-emerald-300 border-b border-emerald-500/30";return e.jsxs("div",{className:"p-5 rounded-2xl bg-slate-900/90 border border-slate-800 space-y-4 shadow-xl",children:[e.jsxs("div",{className:"flex items-center justify-between border-b border-slate-800/80 pb-3",children:[e.jsx("h3",{className:"font-semibold text-slate-100 text-sm tracking-wide",children:"Sentence Perplexity Breakdown"}),e.jsxs("span",{className:"text-xs font-mono px-3 py-1 rounded-full bg-slate-800 text-slate-300 border border-slate-700",children:["Confidence: ",(a*100).toFixed(1),"%"]})]}),e.jsx("div",{className:"leading-relaxed text-sm space-x-1 font-sans",children:t.map((i,o)=>e.jsxs("span",{className:`inline-block px-1.5 py-0.5 rounded transition-all cursor-help ${n(i.score)}`,title:`Sentence #${o+1} | AI Probability: ${(i.score*100).toFixed(0)}%${i.perplexity?` | Perplexity: ${i.perplexity}`:""}`,children:[i.text," "]},o))}),e.jsxs("div",{className:"flex items-center justify-end gap-5 text-xs text-slate-400 pt-3 border-t border-slate-800/60 font-medium",children:[e.jsxs("span",{className:"flex items-center gap-1.5",children:[e.jsx("span",{className:"w-2.5 h-2.5 rounded-full bg-emerald-500 inline-block"})," Likely Human"]}),e.jsxs("span",{className:"flex items-center gap-1.5",children:[e.jsx("span",{className:"w-2.5 h-2.5 rounded-full bg-yellow-500 inline-block"})," Mixed/Uncertain"]}),e.jsxs("span",{className:"flex items-center gap-1.5",children:[e.jsx("span",{className:"w-2.5 h-2.5 rounded-full bg-red-500 inline-block"})," High AI Probability"]})]})]})},cp="mailto:[email protected]?subject=AI%20Agent%20Early%20Access%20Waitlist";function lp({open:t,onClose:a}){return t?e.jsx("div",{className:"fixed inset-0 z-[160] flex items-center justify-center bg-background/90 p-4 backdrop-blur-md",children:e.jsxs("div",{role:"dialog","aria-modal":"true","aria-labelledby":"paid-agent-early-access-title",className:"relative w-full max-w-md rounded-2xl border border-amber-500/30 bg-card p-6 text-center shadow-2xl",children:[e.jsx("button",{type:"button",onClick:a,"aria-label":"Close early access dialog",className:"absolute right-5 top-5 rounded-md p-1.5 text-muted-foreground hover:bg-muted hover:text-foreground",children:e.jsx(ge,{className:"h-4 w-4"})}),e.jsx("div",{className:"mx-auto mb-4 flex h-12 w-12 items-center justify-center rounded-full bg-amber-500/10 text-amber-600",children:e.jsx(Yn,{className:"h-6 w-6"})}),e.jsx("h2",{id:"paid-agent-early-access-title",className:"text-xl font-bold",children:"Paid AI Agent actions are coming soon"}),e.jsx("p",{className:"mt-3 text-sm leading-relaxed text-muted-foreground",children:"Payments are not live yet, so no charge or checkout was started. Free hosted detection remains available with a strict limit of 15 scans per month."}),e.jsx("a",{href:cp,className:"mt-6 inline-flex w-full items-center justify-center rounded-lg bg-amber-500 px-4 py-3 text-sm font-bold text-slate-950 shadow-sm hover:bg-amber-400",children:"Join Early Access Waitlist"}),e.jsx("button",{type:"button",onClick:a,className:"mt-3 w-full rounded-lg border border-border px-4 py-2.5 text-sm font-semibold hover:bg-muted",children:"Continue with free scans"})]})}):null}const Pa=5e3,dp="$5.00";function nn(){return typeof crypto<"u"&&crypto.randomUUID?`executive-pdf-${crypto.randomUUID()}`:`executive-pdf-${Date.now()}-${Math.random().toString(36).slice(2)}`}function vi({scanId:t,filename:a,open:n,onOpenChange:i}){const[o,r]=s.useState(!1),[c,l]=s.useState(!1),[u,d]=s.useState(!1),[m,p]=s.useState(!1),[b,x]=s.useState(null),[y,g]=s.useState(null),[v,k]=s.useState(!1),C=s.useRef(nn()),S=()=>{d(!1),p(!1),x(null),g(null),C.current=nn()};s.useEffect(()=>{if(!n)return;const j=new AbortController;return d(!0),g(null),(async()=>{try{const q=await fetch("/api/user/profile",{credentials:"include",signal:j.signal});if(!q.ok)return;const E=await q.json(),M=typeof E.microCreditBalance=="number"?E.microCreditBalance:null;if(j.signal.aborted||M===null)return;x(M),p(M<Pa)}catch(q){q?.name!=="AbortError"&&x(null)}finally{j.signal.aborted||d(!1)}})(),()=>j.abort()},[n]);const L=j=>{!o&&!c&&(j||S(),i(j))},F=async()=>{k(!0)},T=async()=>{k(!0)};return e.jsxs(e.Fragment,{children:[e.jsx(lp,{open:v,onClose:()=>k(!1)}),e.jsx(Gs,{open:n,onOpenChange:L,children:e.jsxs(fi,{className:"sm:max-w-md",children:[e.jsxs(xi,{children:[e.jsxs(yi,{className:"flex items-center gap-2",children:[e.jsx(Yt,{className:"h-5 w-5 text-violet-600"}),"Executive PDF Audit Report"]}),e.jsxs(bi,{children:["Create an official, cryptographically verifiable report for"," ",e.jsx("span",{className:"font-medium text-foreground",children:a}),"."]})]}),e.jsx("div",{className:"rounded-xl border border-violet-200 bg-vi
10olet-50 p-4 dark:border-violet-800 dark:bg-violet-950/30",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(Ne,{className:"mt-0.5 h-5 w-5 shrink-0 text-violet-700 dark:text-violet-300"}),e.jsxs("div",{className:"space-y-1",children:[e.jsxs("p",{className:"font-semibold text-violet-950 dark:text-violet-100",children:[dp," · ",Pa.toLocaleString()," micro-credits"]}),e.jsx("p",{className:"text-sm text-violet-800 dark:text-violet-200",children:"Includes the scan verdict, model evidence, SHA-256 fingerprint, verification URL, and QR code."})]})]})}),e.jsx("p",{className:"rounded-lg border border-amber-200 bg-amber-50 p-3 text-xs leading-relaxed text-amber-950 dark:border-amber-800 dark:bg-amber-950/30 dark:text-amber-100",children:"Every report includes a permanent notice: scores are statistical probability estimates for computational risk analysis only, not legal, professional, or factual determinations of authorship. Do not use a score as the sole basis for an adverse decision."}),m&&e.jsxs("div",{className:"rounded-lg border border-amber-200 bg-amber-50 p-3 text-sm text-amber-900 dark:border-amber-800 dark:bg-amber-950/30 dark:text-amber-100",children:[e.jsxs("p",{className:"font-medium",children:["You need ",Pa.toLocaleString()," micro-credits for this report."]}),b!==null&&e.jsxs("p",{className:"mt-1 text-amber-800 dark:text-amber-200",children:["Available: ",b.toLocaleString()," credits. The $10 pack adds 7,000 credits, enough to export this report."]})]}),!m&&b!==null&&e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Available balance: ",b.toLocaleString()," micro-credits."]}),y&&e.jsx("p",{role:"alert",className:"rounded-lg bg-red-50 p-3 text-sm text-red-700 dark:bg-red-950/30 dark:text-red-300",children:y}),e.jsxs(Bs,{children:[e.jsx(I,{variant:"outline",onClick:()=>L(!1),disabled:o||c,children:"Cancel"}),m?e.jsxs(I,{onClick:T,disabled:c,children:[c?e.jsx(Ie,{className:"mr-2 h-4 w-4 animate-spin"}):e.jsx(Mr,{className:"mr-2 h-4 w-4"}),"Buy 7,000-credit Pack — $10.00"]}):e.jsxs(I,{onClick:F,disabled:o||u,children:[o||u?e.jsx(Ie,{className:"mr-2 h-4 w-4 animate-spin"}):e.jsx(Yt,{className:"mr-2 h-4 w-4"}),u?"Checking credit balance…":"Export Executive PDF Report — $5.00"]})]})]})})]})}const sn=[[/synthid/i,{id:"synthid",label:"SynthID",verified:!0}],[/c2pa|content credentials/i,{id:"c2pa",label:"C2PA",verified:!0}],[/gpt|openai/i,{id:"openai",label:"GPT"}],[/gemini|google agent/i,{id:"gemini",label:"Gemini"}],[/bedrock|claude/i,{id:"bedrock",label:"Claude"}],[/huggingface|hf image/i,{id:"huggingface",label:"Hugging Face"}],[/replicate/i,{id:"replicate",label:"Replicate"}],[/runpod/i,{id:"runpod",label:"RunPod"}],[/sapling/i,{id:"sapling",label:"Sapling"}],[/zerogpt/i,{id:"zerogpt",label:"ZeroGPT"}],[/azure/i,{id:"azure",label:"Azure"}],[/speech-to-text/i,{id:"google-stt",label:"Google STT"}],[/video intelligence/i,{id:"google-video",label:"Google Video"}],[/deepfake/i,{id:"deepfake-forensics",label:"Deepfake Forensics"}],[/math|perplexity|burstiness|stylometric|statistical/i,{id:"statistical",label:"Statistical"}],[/ai identifiers technology|master/i,{id:"ai-identifiers",label:"AI Identifiers"}]];function Ht(t){return!!t&&typeof t=="object"&&!Array.isArray(t)}function up(t){if(typeof t=="string"){const o=sn.find(([r])=>r.test(t));return o?{...o[1]}:null}if(!Ht(t))return null;const a=[t.label,t.provider,t.model,t.name,t.service,t.id].filter(o=>typeof o=="string"),n=sn.find(([o])=>a.some(r=>o.test(r)));if(!n)return null;const i=n[1].id==="synthid"&&(t.verified===!0||t.watermarkDetected===!0||t.watermarked===!0||t.provenance_verified===!0||t.verdict==="ai_generated"||/verified|watermark detected|cryptographic/i.test(String(t.verdict??t.details??"")));return n[1].id==="synthid"&&!i?null:n[1].verified?{...n[1],verified:!0}:{id:n[1].id,label:n[1].label}}function mp(t){if(!Ht(t))return Array.isArray(t)?t:[];const a=t.detectionResults,n=Ht(a)?a:null,i=[...Array.isArray(t.providerContributions)?t.providerContributions:[],...Array.isArray(t.providers)?t.providers:[],...Array.isArray(n?.providerContributions)?n.providerContributions:[],...Array.isArray(n?.providers)?n.providers:[],...Array.isArray(n?.provenance)?n.provenance:[],...Array.isArray(n?.models)?n.models:[],...Array.isArray(a)?a:[]],o=[t.engine,n?.engine].find(c=>typeof c=="string");
10typeof o=="string"&&i.push(...o.split(/[+,_-]+/));const r=n?.c2pa;return Ht(r)&&r.status==="valid"&&i.push({provider:"C2PA",verified:!0}),i}function pp(t){const a=new Map;for(const n of mp(t)){const i=up(n);i&&!a.has(i.id)&&a.set(i.id,i)}return[...a.values()]}function wi({result:t,className:a=""}){const n=pp(t);if(n.length===0)return null;const i=n.slice(0,3),o=n.length-i.length;return e.jsxs("div",{className:`flex min-w-0 items-center gap-1 overflow-hidden ${a}`,"aria-label":`Contributing detection providers: ${n.map(r=>r.label).join(", ")}`,"data-testid":"provider-breakdown",children:[i.map(r=>e.jsxs("span",{className:r.id==="synthid"?"inline-flex shrink-0 items-center gap-1 rounded-full border border-teal-300 bg-teal-50 px-2 py-0.5 text-[11px] font-semibold text-teal-800 dark:border-teal-700 dark:bg-teal-950/40 dark:text-teal-200":"inline-flex max-w-28 shrink truncate rounded-full border border-slate-200 bg-slate-50 px-2 py-0.5 text-[11px] font-medium text-slate-600 dark:border-slate-700 dark:bg-slate-800 dark:text-slate-300",title:r.id==="synthid"?"Verified Google SynthID watermark signal":`${r.label} contributed to this result`,children:[r.id==="synthid"&&e.jsx(Ne,{className:"h-3 w-3 shrink-0","aria-hidden":"true"}),e.jsx("span",{className:"truncate",children:r.label}),r.id==="synthid"&&e.jsx("span",{"aria-hidden":"true",children:"✓"})]},r.id)),o>0&&e.jsxs("span",{className:"shrink-0 text-[11px] font-medium text-slate-500 dark:text-slate-400",title:n.slice(3).map(r=>r.label).join(", "),children:["+",o]})]})}function gp({text:t,streaming:a}){const{t:n}=he(),[i,o]=s.useState(!1);return t?e.jsxs("div",{className:"mb-2 rounded-md border border-violet-200 bg-violet-50/70 overflow-hidden",children:[e.jsxs("button",{onClick:()=>o(r=>!r),className:"w-full flex items-center gap-1.5 px-2.5 py-1.5 text-xs font-medium text-violet-600 hover:bg-violet-100/50 transition-colors",children:[e.jsx(ei,{className:`w-3 h-3 shrink-0 ${a?"animate-pulse":""}`}),e.jsx("span",{className:"flex-1 text-start",children:n(a?"results.reasoning":"results.reasoningTitle")}),i?e.jsx(ca,{className:"w-3 h-3"}):e.jsx($e,{className:"w-3 h-3"})]}),i&&e.jsx("div",{className:"px-2.5 pb-2 text-xs text-violet-700 leading-relaxed whitespace-pre-wrap border-t border-violet-200 pt-1.5 max-h-24 overflow-y-auto",children:t})]}):null}const rn={image:{icon:Tt,bg:"bg-blue-50 dark:bg-blue-900/20",color:"text-blue-500 dark:text-blue-400",label:"Image"},video:{icon:yt,bg:"bg-purple-50 dark:bg-purple-900/20",color:"text-purple-500 dark:text-purple-400",label:"Video"},audio:{icon:Xa,bg:"bg-gradient-to-br from-amber-50 to-purple-50 dark:from-amber-900/20 dark:to-purple-900/20",color:"text-amber-500 dark:text-amber-400",label:"Audio"},document:{icon:ye,bg:"bg-gradient-to-br from-red-50 to-orange-50 dark:from-red-900/20 dark:to-orange-900/20",color:"text-red-500 dark:text-red-400",label:"PDF"}};function Hs(t){return!Number.isFinite(t)||t<0?"Size unavailable":t<1024*1024?`${Math.max(1,Math.round(t/1024))} KB`:`${(t/1024/1024).toFixed(1)} MB`}function hp({result:t}){const{t:a}=he(),n=rn[t.fileType??"document"]??rn.document,i=n.icon,o=t.fileType==="audio",r=t.fileType==="document",c=a("results.filePreviewLabel",{type:n.label,filename:t.filename||a("results.untitled")});return e.jsxs("div",{className:"flex min-w-0 items-center gap-3","aria-label":c,"data-testid":`file-preview-${t.id}`,children:[e.jsxs("div",{className:`relative flex h-16 w-16 shrink-0 items-center justify-center overflow-hidden rounded-xl ${n.bg}`,"aria-hidden":"true",children:[e.jsx(i,{className:`h-7 w-7 ${n.color}`}),o&&e.jsx("div",{className:"absolute inset-x-2 bottom-2 flex h-3 items-end justify-center gap-0.5 opacity-80",children:[35,75,50,90,45,68,30].map((l,u)=>e.jsx("span",{className:"w-1 rounded-full bg-purple-500 dark:bg-purple-300",style:{height:`${l}%`}},u))}),r&&e.jsx("span",{className:"absolute bottom-1.5 rounded bg-red-600/90 px-1 text-[8px] font-bold leading-3 tracking-wide text-white",children:"PDF"})]}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"truncate text-sm font-medium text-slate-900 dark:text-slate-100",title:t.filename||a("results.untitled"),children:t.filename||a("results.untitled")}),e.jsxs("p",{className:"mt-0.5 text-xs text-slate-500 dark:text-slate-400",children:[Hs(t.fileSize),r&&t.pageCount?e.jsxs(e.Fragment,{children:[" ",e.jsx("span",{"aria-hidden":"true",children:"•"})," ",a("results.pages",{count:t.pageCount})]}):null]})]})]})}function fp(t){const a=t.detectionResults?.provenance,n=Array.isArray(a)?a.map(l=>({provider:String(l?.provider??l?.model??"AI Identifiers Technology"),confidence:Number(l?.confidence??l?.score??0),weight:Number(l?.weight??0)})):[],i=Number(t.aiConfidence??0),o={isAIGenerated:t.aiDetected===!0,confidenceScore:i,verdict:t.aiDetected===null?"The scan result is uncertain.":t.aiDetected?`The scan found indicators consistent with AI-generated ${t.fileType}.`:`The scan found indicators consistent with human-created ${t.fileType}.`,provenance:n,modality:t.fileType},r=new TextEncoder().encode(JSON.stringify(o));let c="";return r.forEach(l=>{c+=String.fromCharCode(l)}),btoa(c)}function xp({result:t}){const{t:a}=he(),n=s.useMemo(()=>{const o=String(t.id??"0");let r=0;for(let u=0;u<o.length;
10u++)r=r*31+o.charCodeAt(u)>>>0;const c=t.aiConfidence??0;return Array.from({length:64},(u,d)=>{const p=12+Math.abs(Math.sin(r*9301+d*49297+233995)*43758.5453%1)*76,b=Math.abs(Math.sin(d*.38+r*7e-4)),x=b>1-c/100*.72,y=!x&&b>1-c/100*1.1,g=x?c>=70?"bg-red-400":"bg-amber-400":y?"bg-amber-300":"bg-emerald-400";return{height:p,color:g,aiZone:x,ambiguous:y}})},[t.id,t.aiConfidence]),i=t.indicators??[];return e.jsxs("div",{className:"mt-3 rounded-lg border border-slate-200 dark:border-slate-700 bg-slate-50 dark:bg-slate-800/50 p-3",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("span",{className:"text-xs font-semibold text-slate-500 dark:text-slate-400 uppercase tracking-wider",children:a("results.spectralAnalysis")}),e.jsx("span",{className:"text-xs text-slate-400",children:a("results.spectralDescription")})]}),e.jsx("div",{className:"flex items-end gap-px h-10 w-full",children:n.map((o,r)=>e.jsx("div",{className:`${o.color} flex-1 rounded-t-sm opacity-80 hover:opacity-100 transition-opacity`,style:{height:`${o.height}%`},title:o.aiZone?a("results.syntheticArtifact"):o.ambiguous?a("results.uncertainRegion"):a("results.naturalAudio")},r))}),e.jsxs("div",{className:"flex flex-wrap items-center gap-3 mt-2 text-xs text-slate-400",children:[e.jsxs("span",{className:"flex items-center gap-1.5",children:[e.jsx("span",{className:"inline-block w-2.5 h-2.5 rounded-sm bg-red-400"}),a("results.syntheticArtifact")]}),e.jsxs("span",{className:"flex items-center gap-1.5",children:[e.jsx("span",{className:"inline-block w-2.5 h-2.5 rounded-sm bg-amber-400"}),a("results.uncertain")]}),e.jsxs("span",{className:"flex items-center gap-1.5",children:[e.jsx("span",{className:"inline-block w-2.5 h-2.5 rounded-sm bg-emerald-400"}),a("results.naturalAudio")]})]}),i.length>0&&e.jsx("div",{className:"mt-2 flex flex-wrap gap-1.5",children:i.slice(0,3).map((o,r)=>
10e.jsxs("span",{className:"inline-flex items-center gap-1 text-xs px-2 py-0.5 rounded-full bg-red-50 text-red-700 border border-red-200 dark:bg-red-900/20 dark:text-red-300 dark:border-red-800",children:[e.jsx(He,{className:"h-3 w-3 shrink-0"})," ",o]},r))})]})}function yp({results:t,detectionModels:a,onViewDetails:n}){const{t:i}=he(),[,o]=ot(),{toast:r}=ke(),{user:c,isAuthenticated:l}=ut(),u=c?.plan??"free",[d,m]=s.useState(null),[p,b]=s.useState({}),[x,y]=s.useState({}),[g,v]=s.useState({}),[k,C]=s.useState({}),[S,L]=s.useState({}),[F,T]=s.useState({}),[j,q]=s.useState(null),[E,M]=s.useState(null),[$,le]=s.useState(null),Y=s.useRef({}),H=async f=>{if(!S[f]){L(D=>({...D,[f]:!0}));try{const D=await fetch(`/api/analysis/${f}/reanalyze`,{method:"POST",credentials:"include"});if(!D.ok){const G=await D.json(),z=G.error??"Re-analysis failed";if(G.code==="ORIGINAL_FILE_UNAVAILABLE"||G.code==="ORIGINAL_FILE_REMOVED"){T(Z=>({...Z,[f]:!0})),r({title:"Original file unavailable",description:z,variant:"destructive"});return}throw new Error(z)}r({title:"Re-analysis complete",description:"Transcript and labels updated. Reloading…"}),setTimeout(()=>window.location.reload(),1400)}catch(D){r({title:"Re-analysis failed",description:D?.message??"Could not retrieve media evidence.",variant:"destructive"})}finally{L(D=>({...D,[f]:!1}))}}},me=async f=>{const D=String(f.id);if(g[D])return;b(z=>({...z,[D]:""})),y(z=>({...z,[D]:""})),v(z=>({...z,[D]:!0}));const G=new AbortController;Y.current[D]=G;try{const z=await fetch("/api/detect/explain",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",signal:G.signal,body:JSON.stringify({aiDetected:f.aiDetected,aiConfidence:f.aiConfidence,filename:f.filename,fileType:f.fileType,detectionResults:f.detectionResults})});if(z.status===401){const fe=await z.json().catch(()=>null);if(fe?.requiresAuth){o(fe.redirectTo||"/signup");return}}if(!z.ok||!z.body)throw new Error("Explain request failed");const Z=z.body.getReader(),ce=new TextDecoder;let be="";for(;;){const{done:fe,value:te}=await Z.read();if(fe)break;be+=ce.decode(te,{stream:!0});const Ke=be.split(`
11
12`);be=Ke.pop()??"";for(const mt of Ke){let Je="",_e="";for(const de of mt.split(`
13`))de.startsWith("event: ")?Je=de.slice(7).trim():de.startsWith("data: ")&&(_e=de.slice(6));if(_e){if(Je==="thought")try{const{text:de}=JSON.parse(_e);de&&y(Ce=>({...Ce,[D]:(Ce[D]??"")+de}))}catch{}else if(Je==="token")try{const{text:de}=JSON.parse(_e);de&&b(Ce=>({...Ce,[D]:(Ce[D]??"")+de}))}catch{}}}}}catch(z){z?.name!=="AbortError"&&r({title:"Could not generate explanation",variant:"destructive"})}finally{v(z=>({...z,[D]:!1}))}},se=t.slice(0,3),R=t.length,re=t.filter(f=>f.aiDetected===!0).length,Q=t.filter(f=>f.aiDetected===null).length,V=t.filter(f=>f.aiDetected===!1).length,A=R>0?Math.round(re/R*100):0,U=R>0?Math.round(Q/R*100):0,ae=R>0?Math.round(V/R*100):0,P=R>0?Math.round(t.reduce((f,D)=>f+(D.aiConfidence||0),0)/R):0,W=R>0?Math.round(t.reduce((f,D)=>f+(D.processingTime||0),0)/R):0,K=async f=>{try{m(f);const D=await ua(f),G=window.URL.createObjectURL(D),z=document.createElement("a");z.href=G,z.download=`analysis_results.${f}`,document.body.appendChild(z),z.click(),window.URL.revokeObjectURL(G),document.body.removeChild(z),r({title:i("results.exportSuccessful"),description:i("results.exportSuccessDescription",{format:f.toUpperCase()})})}catch{r({title:i("results.exportFailed"),description:i("results.exportFailedDescription"),variant:"destructive"})}finally{m(null)}},O=f=>{const D=new URLSearchParams({context:fp(f)});o(`/integrity-agent?${D.toString()}`)},X=f=>f>=80?"text-ai-danger":f>=60?"text-ai-warning":"text-ai-success";return t.length===0?e.jsxs("div",{className:"flex flex-col items-center justify-center py-20 text-center px-4",children:[e.jsx("div",{className:"w-16 h-16 rounded-2xl bg-slate-100 dark:bg-slate-800 flex items-center justify-center mb-5",children:e.jsx($a,{className:"w-8 h-8 text-slate-400 dark:text-slate-500"})}),e.jsx("h3",{className:"text-lg font-semibold text-slate-900 dark:text-slate-100 mb-2",children:i("results.noScans")}),e.jsx("p",{className:"text-sm text-slate-500 dark:text-slate-400 max-w-xs leading-relaxed mb-6",children:i("results.noScansDescription")}),e.jsxs("button",{onClick:()=>document.getElementById("upload")?.scrollIntoView({behavior:"smooth",block:"start"}),className:"inline-flex items-center gap-2 px-5 py-2.5 bg-blue-600 hover:bg-blue-700 text-white text-sm font-semibold rounded-lg transition-colors shadow-sm",children:[e.jsx($a,{className:"w-4 h-4"}),i("results.tryScan")," →"]})]}):e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6 mb-8",children:[e.jsxs("div",{className:"lg:col-span-2 space-y-6",children:[e.jsxs("div",{className:"bg-white rounded-xl shadow-sm border border-slate-200 p-6",children:[e.jsxs("div",{className:"flex items-center justify-between mb-6",children:[e.jsx("h3",{className:"text-lg font-semibold text-slate-900",children:i("results.title")}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx("span",{className:"text-sm text-slate-500",children:i("results.completed")}),e.jsx("div",{className:"w-2 h-2 bg-ai-success rounded-full"})]})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4 mb-6",children:[e.jsxs("div",{className:"p-4 bg-red-50 border border-red-200 rounded-lg",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("span",{className:"text-sm font-medium text-red-800",children:i("results.aiGenerated")}),e.jsx(He,{className:"w-4 h-4 text-red-600"})]}),e.jsxs("div",{className:"text-2xl font-bold text-red-900 mb-1",children:[A,"%"]}),e.jsx("div",{className:"text-sm text-red-600",children:i("results.filesCount",{count:re,total:R})})]}),e.jsxs("div",{className:"p-4 bg-amber-50 border border-amber-200 rounded-lg",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("span",{className:"text-sm font-medium text-amber-800",children:i("results.uncertain")}),e.jsx(St,{className:"w-4 h-4 text-amber-600"})]}
13),e.jsxs("div",{className:"text-2xl font-bold text-amber-900 mb-1",children:[U,"%"]}),e.jsx("div",{className:"text-sm text-amber-600",children:i("results.filesCount",{count:Q,total:R})})]}),e.jsxs("div",{className:"p-4 bg-emerald-50 border border-emerald-200 rounded-lg",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("span",{className:"text-sm font-medium text-emerald-800",children:i("results.humanWritten")}),e.jsx(tt,{className:"w-4 h-4 text-emerald-600"})]}),e.jsxs("div",{className:"text-2xl font-bold text-emerald-900 mb-1",children:[ae,"%"]}),e.jsx("div",{className:"text-sm text-emerald-600",children:i("results.filesCount",{count:V,total:R})})]})]}),e.jsxs(ap,{defaultValue:"ai-detection",className:"w-full",children:[e.jsxs(Us,{className:"grid w-full grid-cols-3",children:[e.jsx(Vt,{value:"ai-detection",children:i("results.aiDetection")}),e.jsx(Vt,{value:"content-analysis",children:i("results.contentAnalysis")}),e.jsx(Vt,{value:"metadata",children:i("results.metadata")})]}),e.jsx(Bt,{value:"ai-detection",className:"space-y-4 mt-4",children:se.map(f=>e.jsxs("div",{className:"p-4 border border-slate-200 rounded-lg",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3 flex-wrap gap-2",children:[e.jsx("h4",{className:"font-medium text-slate-900",children:f.filename}),e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[e.jsx("span",{className:`px-2 py-1 text-xs font-medium rounded-full ${f.aiDetected?"bg-red-100 text-red-800":"bg-emerald-100 text-emerald-800"}`,children:f.aiDetected?i("results.aiDetected"):i("results.humanMade")}),(()=>{const D=f.detectionResults?.c2pa;if(!D||D.status==="unsupported"||D.status==="missing")return null;const G=D.isAiGenerated,z=D.status==="tampered",Z=G?Ct:z?Ua:Ne,ce=G?"bg-red-50 text-red-700 border border-red-200":z?"bg-amber-50 text-amber-700 border border-amber-200":"bg-emerald-50 text-emerald-700 border border-emerald-200";return e.jsxs("span",{className:`inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium rounded-full ${ce}`,children:[e.jsx(Z,{className:"w-3 h-3"}),i(G?"results.c2paAiProven":z?"results.c2paTampered":"results.c2paVerified")]})})(),(()=>{const D=f.detectionResults?.provenance;return!D||!Array.isArray(D)||!D.some(z=>(z.provider==="AI Identifiers Technology"||z.provider==="C2PA"||z.provider==="Adobe Content Credentials")&&z.verdict==="ai_generated"&&(z.confidence??0)>=85)?null:e.jsxs("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium rounded-full bg-green-50 text-green-700 border border-green-200",children:[e.jsx(Ne,{className:"w-3 h-3"}),i("results.cryptoLocked")]})})()]})]}),e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("span",{className:"text-sm text-slate-600",children:i("results.confidence")}),e.jsxs("span",{className:`text-sm font-mono ${X(f.aiConfidence||0)}`,children:[f.aiConfidence,"%"]})]}),e.jsx("div",{className:"w-full bg-slate-200 rounded-full h-2",children:e.jsx("div",{className:`h-2 rounded-full ${(f.aiConfidence||0)>=80?"bg-red-500":(f.aiConfidence||0)>=60?"bg-amber-500":"bg-emerald-500"}`,style:{width:`${f.aiConfidence||0}%`}})}),f.fileType==="audio"&&e.jsx(xp,{result:f})]},f.id))}),e.jsx(Bt,{value:"content-analysis",className:"mt-4",children:se.length===0?e.jsx("div",{className:"text-center py-8 text-slate-500",children:i("results.noContentAnalysis")}):e.jsx("div",{className:"space-y-4",children:se.map(f=>{const D=f.detectionResults,G=Array.isArray(D)?D:Array.isArray(D?.models)?D.models:[],z=D?.sentenceScores??[];return e.jsxs("div",{className:"border border-slate-200 rounded-lg p-4",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsx("span",{className:"font-medium text-slate-800 text-sm truncate max-w-[60%]",children:f.filename||i("results.untitled")}),e.jsx("span",{className:`text-xs font-semibold px-2 py-1 rounded-full ${f.aiDetected?"bg-red-100 text-red-700":"bg-green-100 text-green-700"}`,children:f.aiDetected?i("results.aiDetected"):i("results.humanWritten")})]}),G.length>0?e.jsx("div",{className:"space-y-2",children:G.map((Z,ce)=>e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("span",{className:"text-xs text-slate-500 
13w-32 shrink-0 truncate",children:i("results.signal",{count:ce+1})}),e.jsx("div",{className:"flex-1 bg-slate-100 rounded-full h-2",children:e.jsx("div",{className:`h-2 rounded-full ${Z.isAI?"bg-red-400":"bg-green-400"}`,style:{width:`${Math.min(100,Z.confidence)}%`}})}),e.jsxs("span",{className:"text-xs text-slate-600 w-10 text-end shrink-0",children:[Z.confidence,"%"]})]},ce))}):e.jsx("p",{className:"text-sm text-slate-400",children:i("results.noModelBreakdown")}),f.processingTime!=null&&e.jsx("p",{className:"text-xs text-slate-400 mt-2",children:i("results.processedIn",{time:f.processingTime})}),z.length>0&&e.jsx("div",{className:"mt-4",children:e.jsx(op,{sentences:z.map(Z=>({text:Z.text,score:Z.aiScore/100})),aggregateScore:(f.aiConfidence??0)/100})})]},f.id)})})}),e.jsx(Bt,{value:"metadata",className:"mt-4",children:se.length===0?e.jsx("div",{className:"text-center py-8 text-slate-500",children:i("results.noMetadata")}):e.jsx("div",{className:"space-y-4",children:se.map(f=>e.jsxs("div",{className:"border border-slate-200 rounded-lg p-4",children:[e.jsx("h4",{className:"font-medium text-slate-800 text-sm mb-3 truncate",children:f.filename||i("results.untitled")}),e.jsxs("dl",{className:"grid grid-cols-2 gap-x-4 gap-y-2 text-sm",children:[e.jsx("dt",{className:"text-slate-500",children:i("results.fileType")}),e.jsx("dd",{className:"text-slate-800 capitalize",children:f.fileType||"—"}),e.jsx("dt",{className:"text-slate-500",children:i("results.status")}),e.jsx("dd",{className:"text-slate-800 capitalize",children:f.status==="completed"?i("results.completed"):f.status||"—"}),e.jsx("dt",{className:"text-slate-500",children:i("results.confidence")}),e.jsxs("dd",{className:"text-slate-800",children:[f.aiConfidence??0,"%"]}),e.jsx("dt",{className:"text-slate-500",children:i("results.verdict")}),e.jsx("dd",{className:f.aiDetected?"text-red-600 font-medium":"text-green-600 font-medium",children:f.aiDetected?i("results.aiGenerated"):i("results.humanWritten")}),e.jsx("dt",{className:"text-slate-500",children:i("results.scanned")}),e.jsx("dd",{className:"text-slate-800",children:f.createdAt?new Date(f.createdAt).toLocaleString():"—"}),f.status==="completed"&&f.updatedAt&&e.jsxs(e.Fragment,{children:[e.jsx("dt",{className:"text-slate-500",children:i("results.completed")}),e.jsx("dd",{className:"text-slate-800",children:new Date(f.updatedAt).toLocaleString()})]}),f.processingTime!=null&&e.jsxs(e.Fragment,{children:[e.jsx("dt",{className:"text-slate-500",children:i("results.processingTime")}),e.jsxs("dd",{className:"text-slate-800",children:[f.processingTime,"ms"]})]})]})]},f.id))})})]})]}),e.jsxs("div",{className:"bg-white rounded-xl shadow-sm border border-slate-200 p-6",children:[e.jsx("h3",{className:"text-lg font-semibold text-slate-900 mb-4",children:i("results.analyzedFiles")}),e.jsx("div",{className:"space-y-4",children:se.map(f=>e.jsxs("div",{className:"border border-slate-200 rounded-lg hover:bg-slate-50 transition-colors overflow-hidden",children:[e.jsxs("div",{className:"flex flex-col gap-4 p-4 sm:flex-row sm:items-center",children:[e.jsx(hp,{result:f}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("div",{className:"flex items-center space-x-2 mb-1 flex-wrap gap-y-1",children:[e.jsx("h4",{className:"min-w-0 max-w-full truncate font-medium text-slate-900 dark:text-slate-100",children:f.filename}),e.jsx("span",{className:`px-2 py-1 text-xs font-medium rounded-full ${f.aiDetected?"bg-red-100 text-red-800":"bg-emerald-100 text-emerald-800"}`,children:f.aiDetected?i("results.aiDetected"):i("results.humanMade")}),e.jsxs("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium rounded-full bg-violet-50 text-violet-600 border border-violet-200",children:[e.jsx(Me,{className:"w-3 h-3"}),"AI Identifiers Technology"]}),(()=>{const D=f.detectionResults?.c2pa;if(!D||D.status==="unsupported"||D.status==="missing")return null;const G=D.isAiGenerated,z=D.status==="tampered",Z=G?Ct:z?Ua:Ne,ce=G?"bg-red-50 text-red-700 border border-red-200":z?"bg-amber-50 text-amber-700 border border-amber-200":"bg-emerald-50 text-emerald-700 border border-emerald-200",be=i(G?"results.c2paAiProven":z?"results.c2paTampered":"results.c2paVerified");return e.jsxs("span",{className:`inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium rounded-full ${ce}`,children:[e.jsx(Z,{className:"w-3 h-3"}),be]})})()]}),e.jsxs("p",{className:"text-sm text-slate-500 mb-2",children:[f.fileType.charAt(0).toUpperCase()+f.fileType.slice(1)," •",Hs(f.fileSize)," •",f.fileType==="document"&&f.page
13Count?`${f.pageCount} ${f.pageCount===1?"page":"pages"} • `:"",i("results.analyzedAgo",{time:f.processingTime})]}),e.jsxs("div",{className:"flex items-center space-x-4 text-sm",children:[e.jsxs("span",{className:"text-slate-600",children:[i("results.aiConfidence"),": ",e.jsxs("strong",{className:X(f.aiConfidence||0),children:[f.aiConfidence,"%"]})]}),e.jsxs("span",{className:"text-slate-600",children:[i("results.status"),": ",i("results.completed")]})]}),e.jsx(wi,{result:f,className:"mt-2 max-w-full sm:max-w-xl"})]}),e.jsxs("div",{className:"flex w-full flex-wrap items-center justify-end gap-1 sm:w-auto sm:shrink-0 sm:gap-2",children:[e.jsx(I,{variant:"outline",size:"sm",onClick:()=>O(f),className:"text-violet-700 border-violet-200 hover:bg-violet-50 hover:text-violet-800",children:"Explain this result"}),e.jsxs(I,{variant:"outline",size:"sm",title:"Chat with Gemini about this scan",onClick:()=>M(String(f.id)),className:"gap-1.5 border-violet-200 text-violet-700 hover:bg-violet-50 hover:text-violet-800 dark:hover:bg-violet-950/30","data-testid":`button-chat-with-gemini-${f.id}`,children:[e.jsx(Me,{className:"w-4 h-4"}),"Chat with Gemini"]}),l&&e.jsx(I,{variant:"ghost",size:"sm",title:"Explain this result",onClick:()=>me(f),disabled:g[String(f.id)],children:g[String(f.id)]?e.jsx(Ie,{className:"w-4 h-4 animate-spin"}):e.jsx(Me,{className:"w-4 h-4"})}),e.jsx(I,{variant:"ghost",size:"sm",onClick:()=>n(f),children:e.jsx(Qn,{className:"w-4 h-4"})}),e.jsx(I,{variant:"ghost",size:"sm",onClick:()=>K("json"),children:e.jsx(qe,{className:"w-4 h-4"})}),e.jsx(rp,{title:i("results.shareTitle",{confidence:f.aiConfidence??0}),text:i("results.shareText",{filename:f.filename||i("results.file"),confidence:f.aiConfidence??0})}),e.jsx(I,{variant:"ghost",size:"sm",title:i("results.executiveReportTooltip"),onClick:()=>le(f),children:e.jsx(Qt,{className:"w-4 h-4"})}),e.jsx(I,{variant:"ghost",size:"sm",title:i("results.verificationCertificate"),onClick:()=>window.open(`/verify/${f.id}`,"_blank"),children:e.jsx(Ne,{className:"w-4 h-4"})})]})]}),!l&&e.jsx("div",{className:"mx-4 mb-4 rounded-xl border border-violet-200 bg-gradient-to-br from-violet-50 to-indigo-50 px-4 py-4 dark:border-violet-800 dark:from-violet-950/30 dark:to-indigo-950/30",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(Me,{className:"mt-0.5 h-5 w-5 shrink-0 text-violet-600 dark:text-violet-400"}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("p",{className:"text-sm font-semibold text-violet-950 dark:text-violet-100",children:i("batch.signUpNudgeTitle")}),e.jsx("p",{className:"mt-1 text-xs leading-relaxed text-violet-700 dark:text-violet-300",children:i("batch.signUpNudgeDesc")}),e.jsxs(I,{size:"sm",className:"mt-3 bg-violet-600 text-white hover:bg-violet-700",onClick:()=>o("/signup"),children:[e.jsx(Ma,{className:"me-1.5 h-3.5 w-3.5"}),i("batch.signUpNudgeCta")]})]})]})}),(p[String(f.id)]||x[String(f.id)])&&e.jsx("div",{className:"px-4 pb-3 pt-0",children:e.jsxs("div",{className:"bg-slate-50 border border-slate-200 rounded-lg p-3 text-sm text-slate-700 leading-relaxed",children:[e.jsxs("div",{className:"flex items-center gap-1.5 mb-2",children:[e.jsx(Me,{className:"w-3 h-3 text-violet-500"}),e.jsx("span",{className:"text-xs font-semibold text-violet-600",children:"AI Identifiers Technology"}),g[String(f.id)]&&!p[String(f.id)]&&e.jsx("span",{className:"text-xs text-slate-400 animate-pulse",children:i("results.thinking")})]}),e.jsx(gp,{text:x[String(f.id)]??"",streaming:g[String(f.id)]}),p[String(f.id)],g[String(f.id)]&&p[String(f.id)]&&e.jsx("span",{className:"inline-block w-0.5 h-3.5 bg-slate-600 ms-0.5 animate-pulse align-text-bottom"})]})}),(()=>{const D=f.detectionResults,G=D?.transcript,z=D?.transcriptWordCount,Z=D?.videoLabels,ce=D?.explicitScore;if(!(G||Z&&Z.length>0||typeof ce=="number"&&ce>10)){if(f.fileType!=="audio"&&f.fileType!=="video")return null;const te=String(f.id);return F[te]?e.jsx("div",{className:"px-4 pb-3",children:e.jsxs("div",{className:"inline-flex items-start gap-2 rounded-lg border border-amber-200 bg-amber-50 dark:border-amber-800 dark:bg-amber-900/20 px-3 py-2 text-xs",children:[e.jsx(ia,{className:"w-3.5 h-3.5 text-amber-500 shrink-0 mt-0.5"}),e.jsxs("span",{className:"text-amber-700 dark:text-amber-300",children:["Original file no longer available."," ",e.jsx("button",{className:"underline underline-offset-2 font-medium hover:text-amber-900 dark:hover:text-amber-100",onClick:()=>document.getElementById("upload")?.scrollIntoView({behavior:"smooth"}),children:"Upload the file again to re-analyse."})]})]})}):e.jsx("div",{className:"px-4 pb-3",children:e.jsxs("button",{onClick:()=>H(te),disabled:S[te],className:"inline-flex items-center gap-1.5 text-xs text-slate-400 hover:text-violet-600 dar
13k:hover:text-violet-400 font-medium transition-colors disabled:opacity-50",children:[S[te]?e.jsx(Ie,{className:"w-3.5 h-3.5 animate-spin"}):e.jsx("span",{children:"↻"}),S[te]?"Re-analysing…":"Re-analyse for transcript & labels"]})})}const fe=String(f.id);return e.jsxs("div",{className:"px-4 pb-3 space-y-2",children:[(Z&&Z.length>0||typeof ce=="number"&&ce>10)&&e.jsxs("div",{className:"flex flex-wrap items-center gap-1.5",children:[Z&&Z.length>0&&e.jsxs("span",{className:"text-xs text-slate-400 font-medium me-1",children:[i("videoEvidence.labels"),":"]}),Z?.slice(0,3).map(te=>e.jsx("span",{className:"inline-flex items-center px-2 py-0.5 rounded-full text-xs bg-violet-50 text-violet-700 border border-violet-200 dark:bg-violet-900/20 dark:text-violet-300 dark:border-violet-800",children:te},te)),typeof ce=="number"&&ce>10&&e.jsxs("span",{className:"inline-flex items-center px-2 py-0.5 rounded-full text-xs bg-red-50 text-red-600 border border-red-200 dark:bg-red-900/20 dark:text-red-400",children:["⚠ ",i("videoEvidence.explicit",{pct:ce})]})]}),G&&e.jsxs("div",{children:[e.jsxs("button",{className:"inline-flex items-center gap-1 text-xs text-slate-500 hover:text-slate-700 dark:text-slate-400 dark:hover:text-slate-200 font-medium transition-colors",onClick:()=>C(te=>({...te,[fe]:!te[fe]})),children:[e.jsx("span",{className:"text-[10px]",children:k[fe]?"▾":"▸"}),e.jsx("span",{children:i("transcript.toggle")}),typeof z=="number"&&e.jsxs("span",{className:"text-slate-400",children:["(",i("transcript.wordCount",{count:z}),")"]})]}),k[fe]&&e.jsx("div",{className:"mt-2 text-xs text-slate-600 dark:text-slate-300 bg-slate-50 dark:bg-slate-800 rounded-lg p-3 leading-relaxed border border-slate-200 dark:border-slate-700 max-h-40 overflow-y-auto",children:G})]})]})})(),f.aiDetected!==null&&l&&e.jsxs("div",{className:"px-4 pb-4 space-y-2",children:[e.jsx(ip,{analysisId:f.id}),e.jsxs("button",{onClick:()=>q({resultId:f.id,filename:f.filename,aiDetected:!!f.aiDetected}),className:"flex items-center gap-1.5 text-xs text-gray-400 hover:text-amber-500 transition-colors py-0.5",children:[e.jsx(Pt,{className:"h-3 w-3"}),"Flag as incorrect"]})]})]},f.id))})]})]}),e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"bg-white rounded-xl shadow-sm border border-slate-200 p-6",children:[e.jsx("h3",{className:"text-lg font-semibold text-slate-900 mb-4",children:i("results.summary")}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-slate-600",children:i("results.filesAnalyzed")}),e.jsx("span",{className:"font-semibold text-slate-900",children:R})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-slate-600",children:i("results.processingTime")}),e.jsx("span",{className:"font-semibold text-slate-900",children:i("results.averageSeconds",{time:W})})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-slate-600",children:i("results.aiDetectionRate")}),e.jsxs("span",{className:"font-semibold text-ai-danger",children:[A,"%"]})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-slate-600",children:i("results.averageConfidence")}),e.jsxs("span",{className:"font-semibold text-slate-900",children:[P,"%"]})]})]})]}),e.jsxs("div",{className:"rounded-xl border border-violet-200 bg-gradient-to-br from-violet-50 via-white to-indigo-50 p-5 shadow-sm dark:border-violet-800 dark:from-violet-950/40 dark:via-slate-900 dark:to-indigo-950/30",children:[e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[e.jsxs("div",{className:"flex items-center gap-2 text-violet-800 dark:text-violet-200",children:[e.jsx(Ne,{className:"h-5 w-5 shrink-0"}),e.jsx("span",{className:"text-sm font-semibold",children:i("results.officialVerification")})]}),e.jsx("span",{className:"shrink-0 rounded-full bg-violet-700 px-2.5 py-1 text-xs font-bold text-white",children:"$5.00"})]}),e.jsx("h3",{className:"mt-3 text-base font-bold leading-snug text-slate-900 dark:text-white",children:i("results.officialReport")}),e.jsx("p",{className:"mt-1.5 text-sm leading-relaxed text-slate-600 dar
13k:text-slate-300",children:i("results.officialReportDescription")}),e.jsx("div",{className:"mt-3 flex flex-wrap gap-1.5",children:[i("results.fingerprint"),i("results.modelBreakdown"),i("results.qrVerification")].map(f=>e.jsx("span",{className:"rounded-full border border-violet-200 bg-white px-2 py-1 text-[11px] font-medium text-violet-800 dark:border-violet-700 dark:bg-violet-950/40 dark:text-violet-200",children:f},f))}),e.jsxs(I,{className:"mt-4 w-full justify-center bg-violet-600 hover:bg-violet-700",onClick:()=>le(se[0]),disabled:!se[0],"data-testid":"button-export-executive-pdf",children:[e.jsx(Qt,{className:"me-2 h-4 w-4"}),i("results.exportOfficialReport")]})]}),(!u||u==="free")&&e.jsxs("div",{className:"rounded-xl border-2 border-violet-300 dark:border-violet-700 bg-gradient-to-br from-violet-50 to-indigo-50 dark:from-violet-950/30 dark:to-indigo-950/30 p-5",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx("span",{className:"text-lg",children:"👑"}),e.jsx("p",{className:"font-bold text-violet-900 dark:text-violet-200 text-sm",children:i("upload.proTitle")})]}),e.jsx("p",{className:"text-xs text-violet-700 dark:text-violet-400 mb-1 font-semibold",children:i("results.proDetail")}),e.jsxs("ul",{className:"text-xs text-violet-700 dark:text-violet-400 space-y-1 mb-4 list-none",children:[e.jsxs("li",{children:["✓ ",i("results.proUnlimited")]}),e.jsxs("li",{children:["✓ ",i("results.proHistory")]}),e.jsxs("li",{children:["✓ ",i("results.proPriority")]}),e.jsxs("li",{children:["✓ ",i("results.proApi")]})]}),e.jsxs("a",{href:"/pricing",className:"block w-full text-center bg-violet-600 hover:bg-violet-700 text-white text-sm font-semibold px-4 py-2.5 rounded-lg transition-colors shadow-sm",children:[i("upload.proTitle")," ",e.jsx("span",{className:"rtl:inline-block rtl:-scale-x-100",children:"→"})]})]}),e.jsxs("div",{className:"bg-white rounded-xl shadow-sm border border-slate-200 p-6",children:[e.jsx("h3",{className:"text-lg font-semibold text-slate-900 mb-4",children:i("results.exportResults")}),e.jsxs("div",{className:"space-y-3",children:[e.jsx(I,{variant:"outline",className:"w-full justify-center",onClick:()=>K("json"),disabled:d==="json",children:i(d==="json"?"results.exporting":"results.exportJson")}),e.jsx(I,{variant:"outline",className:"w-full justify-center",onClick:()=>K("csv"),disabled:d==="csv",children:i(d==="csv"?"results.exporting":"results.exportCsv")})]})]}),e.jsxs("div",{className:"bg-white rounded-xl shadow-sm border border-slate-200 p-6",children:[e.jsx("h3",{className:"text-lg font-semibold text-slate-900 mb-4",children:i("results.detectionModels")}),e.jsx("div",{className:"space-y-3",children:a.map(f=>e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx("div",{className:`w-2 h-2 rounded-full ${f.isActive?"bg-ai-success":"bg-slate-300"}`}),e.jsxs("span",{className:"text-sm text-slate-600",children:[f.name," ",f.version]})]}),e.jsx("span",{className:`text-xs font-medium ${f.isActive?"text-ai-success":"text-slate-400"}`,children:f.isActive?i("results.active"):i("results.inactive")})]},f.id))})]}),j&&e.jsx(sp,{analysisId:j.resultId,filename:j.filename,originalClassification:j.aiDetected?"ai_generated":"human_generated",open:!!j,onClose:()=>q(null)}),$&&e.jsx(vi,{scanId:String($.id),filename:$.filename,open:!!$,onOpenChange:f=>{f||le(null)}}),e.jsx("div",{className:"bg-gradient-to-r from-blue-50 to-indigo-50 rounded-xl border border-blue-200 p-4",children:e.jsxs("div",{className:"flex items-center justify-between gap-4",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-semibold text-blue-900",children:i("results.shareResults")}),e.jsx("p",{className:"text-xs text-blue-700 mt-0.5",children:i("results.badgeDescription")})]}),e.jsxs("a",{href:"/badge",className:"flex-shrink-0 bg-blue-600 hover:bg-blue-700 text-white text-xs font-medium px-3 py-1.5 rounded-lg transition-colors",children:[i("results.getBadge")," ",e.jsx("span",{className:"rtl:inline-block rtl:-scale-x-100",children:"→"})]})]})})]}),E&&(()=>{const f=t.find(G=>String(G.id)===E),D=f?`${f.filename} · ${f.aiConfidence??"?"}% AI confidence`:E;return e.jsx(tp,{analysisId:E,confidence:f?.aiConfidence,scanLabel:D,isOpen:!!E,onClose:()=>M(null)})})()]})}const bp=Gr,vp=Vr,Ws=s.forwardRef(({className:t,children:a,...n},i)=>e.jsxs(Zn,{ref:i,className:_("flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm r
13ing-offset-background data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",t),...n,children:[a,e.jsx(Fr,{asChild:!0,children:e.jsx($e,{className:"h-4 w-4 opacity-50"})})]}));Ws.displayName=Zn.displayName;const Ks=s.forwardRef(({className:t,...a},n)=>e.jsx(Xn,{ref:n,className:_("flex cursor-default items-center justify-center py-1",t),...a,children:e.jsx(ca,{className:"h-4 w-4"})}));Ks.displayName=Xn.displayName;const Js=s.forwardRef(({className:t,...a},n)=>e.jsx(es,{ref:n,className:_("flex cursor-default items-center justify-center py-1",t),...a,children:e.jsx($e,{className:"h-4 w-4"})}));Js.displayName=es.displayName;const Ys=s.forwardRef(({className:t,children:a,position:n="popper",...i},o)=>e.jsx(qr,{children:e.jsxs(ts,{ref:o,className:_("relative z-50 max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md 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 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 origin-[--radix-select-content-transform-origin]",n==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:n,...i,children:[e.jsx(Ks,{}),e.jsx(Or,{className:_("p-1",n==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:a}),e.jsx(Js,{})]})}));Ys.displayName=ts.displayName;const wp=s.forwardRef(({className:t,...a},n)=>e.jsx(as,{ref:n,className:_("py-1.5 pl-8 pr-2 text-sm font-semibold",t),...a}));wp.displayName=as.displayName;const pt=s.forwardRef(({className:t,children:a,...n},i)=>e.jsxs(is,{ref:i,className:_("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...n,children:[e.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx($r,{children:e.jsx(ht,{className:"h-4 w-4"})})}),e.jsx(Ur,{children:a})]}));pt.displayName=is.displayName;const Ap=s.forwardRef(({className:t,...a},n)=>e.jsx(ns,{ref:n,className:_("-mx-1 my-1 h-px bg-muted",t),...a}));Ap.displayName=ns.displayName;const Ip=Br,Da=Hr,Ta=Wr,Wt=s.forwardRef(({className:t,sideOffset:a=4,...n},i)=>e.jsx(ss,{ref:i,sideOffset:a,className:_("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 origin-[--radix-tooltip-content-transform-origin]",t),...n}));Wt.displayName=ss.displayName;function jp({analysisId:t,compact:a=!1}){const[n,i]=s.useState(!1),{toast:o}=ke(),r=xt(),c=Kt({mutationFn:async l=>await Et("POST","/api/feedback",{analysisId:t,...l}),onSuccess:()=>{i(!0),r.invalidateQueries({queryKey:["/api/leaderboard"]}),r.invalidateQueries({queryKey:["/api/stats/detection"]}),o({title:"Thank you!",description:"Your feedback helps improve our detection accuracy."})},onError:()=>{o({title:"Feedback Failed",description:"Failed to submit feedback. Please try again.",variant:"destructive"})}});return n?e.jsx("span",{className:"text-xs text-green-600 dark:text-green-400",children:"✓ Thanks!"}):e.jsx(Ip,{children:e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsxs(Da,{children:[e.jsx(Ta,{asChild:!0,children:e.jsx(I,{variant:"ghost",size:a?"sm":"default",onClick:()=>c.mutate({feedbackType:"correct"}),disabled:c.isPending,className:"hover:text-green-600 dark:hover:text-green-400","data-testid":`button-feedback-correct-${t}`,children:e.jsx(Jn,{className:a?"w-3 h-3":"w-4 h-4"})})}),e.jsx(Wt,{children:e.jsx("p",{children:"Detection was accurate"})})]}),e.jsxs(Da,{children:[e.jsx(Ta,{asChild:!0,children:e.jsx(I,{variant:"ghost",size:a?"sm":"default",onClick:()=>c.mutate({feedbackType:"incorrect"}),disabled:c.isPending,className:"hover:text-red-600 dark:hover:text-red-400","data-testid":`button-feedback-incorrect-${t}`,children:e.jsx(Pt,{className:a?"w-3 h-3":"w-4 h-4"})})}),e.jsx(Wt,{children:e.jsx("p",{children:"Detection was wrong"})})]}),e.jsxs(Da,{children:[e.jsx(Ta,{asChild:!0,children:e.jsx(I,{variant:"ghost",size:a?"sm":"default",onClick:()=>c.mutate({feedbackType:"unsure"}
13),disabled:c.isPending,className:"hover:text-amber-600 dark:hover:text-amber-400","data-testid":`button-feedback-unsure-${t}`,children:e.jsx(St,{className:a?"w-3 h-3":"w-4 h-4"})})}),e.jsx(Wt,{children:e.jsx("p",{children:"Uncertain about result"})})]})]})})}const It={filename:"sample-essay.pdf",aiConfidence:91,excerpt:"The rapid proliferation of generative AI systems has fundamentally transformed the landscape of academic writing, necessitating robust detection mechanisms…",signals:["Uniform sentence cadence","Low perplexity variance","Missing personal anecdotes"]};function Np({results:t,onViewDetails:a,isLoading:n=!1}){const[i,o]=s.useState("all"),[r,c]=s.useState(null),[l,u]=s.useState(!1),[d,m]=s.useState("text"),[p,b]=s.useState(""),[x,y]=s.useState(null),[g,v]=s.useState(""),[k,C]=s.useState(!1),[S,L]=s.useState(!1),[F,T]=s.useState(""),j=s.useRef(""),{toast:q}=ke(),E=xt(),M=Kt({mutationFn:Pc,onSuccess:()=>{E.invalidateQueries({queryKey:["/api/analysis"]}),q({title:"Document Deleted",description:"Your document has been deleted successfully."})},onError:A=>{const U=A?.message||"Failed to delete the document.",ae=U.includes("logged in")||U.includes("401");q({title:ae?"Login Required":"Delete Failed",description:ae?"Please log in to delete your documents.":U,variant:"destructive"})}}),$=Kt({mutationFn:()=>Tc(p.trim(),j.current),onSuccess:A=>{j.current="",y(A),v(""),A.id&&E.invalidateQueries({queryKey:["/api/analysis"]})},onError:A=>{if(A.status===428||A.code==="SCAN_AGREEMENT_REQUIRED"){C(!0);return}j.current="",v(A.message||"Detection is temporarily unavailable.")}}),le=()=>{if(p.trim().length<50){v("Paste at least 50 characters to run detection.");return}y(null),v(""),j.current=typeof crypto.randomUUID=="function"?crypto.randomUUID():`inline-${Date.now()}-${Math.random().toString(36).slice(2)}`,$.mutate()},Y=async()=>{L(!0),T("");try{const A=await fetch("/api/scan-agreement/accept",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({accepted:!0,policyVersion:aa,channel:"web"})}),U=await A.json().catch(()=>({}));if(!A.ok)throw new Error(U.message||U.error||"The agreement could not be recorded.");C(!1),$.mutate()}catch(A){T(A instanceof Error?A.message:"The agreement could not be recorded.")}finally{L(!1)}},H=t.filter(A=>i==="all"?!0:A.fileType===i),me=(A,U)=>{confirm(`Are you sure you want to delete the analysis for "${U}"?`)&&M.mutate(A)},se=async A=>{try{c(A);const U=await ua(A),ae=window.URL.createObjectURL(U),P=document.createElement("a");P.href=ae,P.download=`analysis_results.${A}`,document.body.appendChild(P),P.click(),window.URL.revokeObjectURL(ae),document.body.removeChild(P),q({title:"Export Successful",description:`Analysis results exported as ${A.toUpperCase()}.`})}catch(U){console.error("Export error:",U),q({title:"Export Failed",description:"Failed to export results. Please try again.",variant:"destructive"})}finally{c(null)}},R={image:{icon:Tt,bg:"bg-blue-100",color:"text-blue-500"},video:{icon:yt,bg:"bg-purple-100",color:"text-purple-500"},audio:{icon:Xa,bg:"bg-amber-100",color:"text-amber-500"},document:{icon:ye,bg:"bg-red-100",color:"text-red-500"}},re=A=>{if(A.thumbnailUrl&&A.fileType!=="image")return e.jsx("img",{src:A.thumbnailUrl,alt:"","aria-hidden":"true",className:"w-8 h-8 rounded-lg object-cover shrink-0"});const U=R[A.fileType]??R.document,ae=U.icon;return e.jsx("div",{className:`w-8 h-8 rounded-lg flex items-center justify-center shrink-0 ${U.bg}`,children:e.jsx(ae,{className:`w-4 h-4 ${U.color}`})})},Q=A=>A.status==="completed"?A.aiDetected?e.jsx("span",{className:"px-2 py-1 bg-red-100 text-red-800 text-xs font-medium rounded-full",children:"AI Detected"}):e.jsx("span",{className:"px-2 py-1 bg-emerald-100 text-emerald-800 text-xs font-medium rounded-full",children:"Human Made"}):A.status==="processing"?e.jsx("span",{className:"px-2 py-1 bg-blue-100 text-blue-800 text-xs font-medium rounded-full",children:"Processing"}):A.status==="failed"?e.jsx("span",{className:"px-2 py-1 bg-gray-100 text-gray-800 text-xs font-medium rounded-full",children:"Failed"}):e.jsx("span",{className:"px-2 py-1 bg-amber-100 text-amber-800 text-xs font-medium rounded-full",children:"Uncertain"}),V=A=>A?new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric"}).format(new Date(A)):"N/A";return e.jsxs("div",{className:"bg-white rounded-xl shadow-sm border border-slate-200 p-6",children:[e.jsxs("div",{className:"flex items-center justify-between mb-6",children:[e.jsx("h3",{className:"text-lg font-semibold text-slate-900",children:"Analysis History"}),e.jsx("div",{className:"flex items-center space-x-2",children:e.jsxs(bp,{value:i,onValueChange:o,children:[e.jsx(Ws,{className:"w-32",children:e.jsx(vp,{})}),e.jsxs(Ys,{children:[e.jsx(pt,{value:"all",children:"All Types"}),e.jsx(pt,{value:"image",children:"Images"}),e.jsx(pt,{value:"video",children:"Videos"}),e.jsx(pt,{value:"audio",children:"Audio"}),e.jsx(pt,{value:"document",children:"Documents"})]})]})})]}),e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"w-full",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-slate-200",children:[e.jsx("th",{className:"text-left py-3 px-2 text-sm font-medium text-slate-600",children:"File"}),e.jsx("th",{className:"text-left py-3 px-2 text-sm font-medium text-slate-600",children:"Type"}),e.jsx("th",{className:"text-left py-3 px-2 text-sm font-medium text-slate-600",children:"AI Detection"}),e.jsx("th",{className:"text-left py-3 px-2 text-sm font-medium text-slate-600",children:"Confidence"}),e.jsx("th",{className:"text-left py-3 px-2 text-sm font-medium text-slate-600",children:"Date"}),e.jsx("th",{className:"text-left py-3 px-2 text-sm font-medium text-slate-600",children:"Actions"})]})}),e.jsx("tbody",{className:"divide-y divide-slate-100",children:H.map(A=>e.jsxs("tr",{className:"hover:bg-slate-50",children:[e.jsx("td",{className:"py-3 px-2",children:e.jsxs("div",{className:"flex items-center space-x-3",children:[re(A),e.jsxs("div",{className:"min-w-0",children:[e.jsx("span",{className:"block text-sm font-medium text-slate-900 max-w-xs truncate",children:A.filename}),A.fileType==="document"&&A.pageCount&&e.jsxs("span",{className:"block text-xs text-slate-500 mt-0.5",children:[A.pageCount," ",A.pageCount===1?"page":"pages"]}),e.jsx(wi,{result:A,className:"mt-1 max-w-56"})]})]})}),e.jsx("td",{className:"py-3 px-2",children:e.jsx("span",{className:"px-2 py-1 bg-blue-100 text-blue-800 text-xs font-medium rounded-full",children:A.fileType.charAt(0).toUpperCase()+A.fileType.slice(1)})}),e.jsx("td",{className:"py-3 px-2",children:Q(A)}),e.jsx("td",{className:"py-3 px-2",children:e.jsx("span",{className:"text-sm font-mono text-slate-900",children:A.aiConfidence?`${A.aiConfidence}%`:"N/A"})}),e.jsx("td",{className:"py-3 px-2",children:e.jsx("span",{className:"text-sm text-slate-500",children:V(A.createdAt)})}),e.jsx("td",{className:"py-3 px-2",children:e.jsxs("div",{className:"flex items-center space-x-2",children:[A.status==="completed"&&e.jsx(jp,{analysisId:A.id,compact:!0}),A.status==="failed"&&e.jsxs(I,{variant:"outline",size:"sm",title:"Retry — re-upload this file",onClick:()=>document.getElementById("upload")?.scrollIntoView({behavior:"smooth"}),className:"text-blue-600 border-blue-200 hover:bg-blue-50 text-xs gap-1 px-2 py-1",children:[e.jsx(Ya,{className:"w-3 h-3"}),"Retry"]}),e.jsx(I,{variant:"ghost",size:"sm",onClick:()=>a(A),disabled:A.status!=="completed",children:e.jsx(Qn,{className:"w-3 h-3"})}),e.jsx(I,{variant:"ghost",size:"sm",onClick:()=>se("json"),disabled:A.status!=="completed"||r==="json","data-testid":`button-export-${A.
13id}`,children:e.jsx(qe,{className:"w-3 h-3"})}),e.jsx(I,{variant:"ghost",size:"sm",onClick:()=>me(A.id,A.filename),disabled:M.isPending,className:"hover:text-red-600",children:e.jsx(Kr,{className:"w-3 h-3"})})]})})]},A.id))})]})}),n&&t.length===0&&e.jsx("div",{className:"divide-y divide-slate-100 animate-pulse",children:[1,2,3].map(A=>e.jsxs("div",{className:"flex items-center gap-4 py-4 px-2",children:[e.jsx("div",{className:"h-4 w-4 rounded bg-slate-200"}),e.jsx("div",{className:"h-3 flex-1 rounded bg-slate-200 max-w-xs"}),e.jsx("div",{className:"h-3 w-20 rounded bg-slate-200"}),e.jsx("div",{className:"h-5 w-24 rounded-full bg-slate-200"}),e.jsx("div",{className:"h-3 w-16 rounded bg-slate-200"}),e.jsx("div",{className:"h-7 w-16 rounded bg-slate-200 ml-auto"})]},A))}),!n&&H.length===0&&e.jsx("div",{className:"py-10",children:l?e.jsxs("div",{className:"max-w-xl mx-auto",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsxs("span",{className:"text-xs font-medium text-slate-500 uppercase tracking-wide flex items-center gap-1.5",children:[e.jsx(Me,{className:"w-3.5 h-3.5 text-amber-500"}),"Sample detection result"]}),e.jsx("button",{onClick:()=>u(!1),className:"text-slate-400 hover:text-slate-600 transition-colors","aria-label":"Close sample",children:e.jsx(ge,{className:"w-4 h-4"})})]}),e.jsxs("div",{className:"rounded-xl border border-red-100 bg-red-50 p-5 text-left",children:[e.jsxs("div",{className:"flex items-start gap-3 mb-3",children:[e.jsx("div",{className:"w-9 h-9 rounded-lg bg-white border border-red-100 flex items-center justify-center shrink-0",children:e.jsx(ye,{className:"w-4 h-4 text-red-400"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"font-medium text-slate-800 text-sm truncate",children:It.filename}),e.jsx("p",{className:"text-xs text-slate-500 mt-0.5",children:"Document · just now"})]}),e.jsxs("span",{className:"px-2.5 py-1 bg-red-100 text-red-700 text-xs font-semibold rounded-full shrink-0 flex items-center gap-1",children:[e.jsx(He,{className:"w-3 h-3"}),"AI Detected"]})]}),e.jsxs("div",{className:"mb-3",children:[e.jsxs("div",{className:"flex justify-between text-xs text-slate-500 mb-1",children:[e.jsx("span",{children:"AI confidence"}),e.jsxs("span",{className:"font-semibold text-red-600",children:[It.aiConfidence,"%"]})]}),e.jsx("div",{className:"h-2 rounded-full bg-red-100 overflow-hidden",children:e.jsx("div",{className:"h-full rounded-full bg-gradient-to-r from-red-400 to-red-600 transition-all duration-700",style:{width:`${It.aiConfidence}%`}})})]}),e.jsxs("p",{className:"text-xs text-slate-600 italic mb-3 line-clamp-2",children:['"',It.excerpt,'"']}),e.jsx("div",{className:"flex flex-wrap gap-1.5",children:It.signals.map(A=>e.jsx("span",{className:"px-2 py-0.5 bg-white border border-red-100 text-red-600 text-xs rounded-full",children:A},A))})]}),e.jsx("p",{className:"text-center text-xs text-slate-400 mt-3",children:"This is a demo result. Upload a real file to run detection on your own content."}),e.jsx("div",{className:"flex justify-center mt-3",children:e.jsxs("button",{onClick:()=>{u(!1),document.getElementById("upload")?.scrollIntoView({behavior:"smooth"})},className:"inline-flex items-center gap-2 px-4 py-2 bg-blue-600 hover:bg-blue-700 text-white text-sm font-medium rounded-lg transition-colors shadow-sm",children:[e.jsx(Ga,{className:"w-4 h-4"}),"Upload your own file"]})})]}):e.jsxs("div",{className:"mx-auto flex max-w-xl flex-col items-center gap-4 py-4",children:[e.jsx("div",{className:"w-14 h-14 rounded-full bg-slate-50 border border-slate-100 flex items-center justify-center",children:e.jsx($a,{className:"w-6 h-6 text-slate-400"})}),e.jsxs("div",{className:"text-center",children:[e.jsx("p",{className:"font-semibold text-slate-700 text-base",children:i==="all"?"No scans yet — check your own content":`No ${i} files scanned yet`}),e.jsx("p",{className:"text-sm text-slate-400 mt-1",children:"Paste text for an instant result, or upload a file."})]}),e.jsxs("div",{className:"grid w-full grid-cols-2 rounded-lg bg-slate-100 p-1",role:"tablist","aria-label":"Choose scan input",children:[e.jsx("button",{role:"tab","aria-selected":d==="text",onClick:()=>m("text"),className:`rounded-md px-3 py-2 text-sm font-semibold transition ${d==="text"?"bg-white text-blue-700 shadow-sm":"text-slate-500"}`,children:"Paste text to detect"}),e.jsx("button",{role:"tab","aria-selected":d==="upload",onClick:()=>m("upload"),className:`rounded-md px-3 py-2 text-sm font-semibold transition ${d==="upload"?"bg-white text-blue-700 shadow-sm":"text-slate-500"}`,children:"Upload a file"})]}),d==="text"?e.jsxs("div",{className:"w-full space-y-3",children:[e.jsx("textarea",{value:p,onChange:A=>b(A.target.value.slice(0,5e4)),placeholder:"Paste at least 50 characters of writing here…",rows:6,className:"w-full resize-y rounded-xl border border-slate-200 p-3 text-sm text-slate-800 outline-none transition focus:border-blue-500 focus:ring-2 focus:ring-blue-500/20","aria-label":"Text to detect"}),e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsxs("span",{className:`text-xs ${p.trim().length>=50?"text-emerald-600":"text-slate-400"}
13`,children:[p.trim().length.toLocaleString()," / 50 minimum"]}),e.jsxs(I,{onClick:le,disabled:p.trim().length<50||$.isPending,children:[$.isPending&&e.jsx(Ie,{className:"mr-2 h-4 w-4 animate-spin"}),$.isPending?"Detecting…":"Detect"]})]}),g&&e.jsx("p",{role:"alert",className:"text-sm font-medium text-red-600",children:g}),x&&e.jsxs("div",{className:`rounded-xl border p-5 text-left ${x.aiDetected?"border-red-100 bg-red-50":"border-emerald-100 bg-emerald-50"}`,children:[e.jsxs("div",{className:"mb-3 flex items-center justify-between gap-3",children:[e.jsx("span",{className:`rounded-full px-2.5 py-1 text-xs font-semibold ${x.aiDetected?"bg-red-100 text-red-700":"bg-emerald-100 text-emerald-700"}`,children:x.aiDetected?"AI Detected":"Likely Human"}),e.jsxs("span",{className:"font-mono text-lg font-bold text-slate-800",children:[x.aiConfidence,"%"]})]}),e.jsx("div",{className:"mb-4 h-2 overflow-hidden rounded-full bg-white",children:e.jsx("div",{className:`h-full rounded-full ${x.aiDetected?"bg-red-500":"bg-emerald-500"}`,style:{width:`${x.aiConfidence}%`}})}),e.jsx("div",{className:"flex flex-wrap gap-1.5",children:x.signals.map(A=>e.jsx("span",{className:"rounded-full border border-white bg-white/80 px-2 py-1 text-xs text-slate-600",children:A},A))}),x.requiresSignup&&e.jsxs("div",{className:"mt-4 flex flex-wrap items-center justify-between gap-3 border-t border-slate-200/70 pt-4",children:[e.jsx("p",{className:"text-sm text-slate-600",children:"Create a free account to save results and keep scanning."}),e.jsx("a",{href:"/signup",className:"rounded-lg bg-blue-600 px-4 py-2 text-sm font-semibold text-white hover:bg-blue-700",children:"Sign up free"})]})]})]}):e.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-2",children:[e.jsxs("button",{onClick:()=>document.getElementById("upload")?.scrollIntoView({behavior:"smooth"}),className:"inline-flex items-center gap-2 rounded-lg bg-blue-600 px-5 py-2.5 text-sm font-semibold text-white shadow-sm transition-colors hover:bg-blue-700",children:[e.jsx(Ga,{className:"h-4 w-4"}),"Upload a file to scan →"]}),e.jsxs("button",{onClick:()=>u(!0),className:"inline-flex items-center gap-2 rounded-lg border border-slate-200 bg-white px-4 py-2 text-sm font-medium text-slate-600 hover:bg-slate-50",children:[e.jsx(Me,{className:"h-4 w-4 text-amber-500"}),"See a sample result"]})]})]})}),e.jsx(Ms,{open:k,onAccept:Y,onCancel:()=>{C(!1),T("")},isSubmitting:S,errorMessage:F}),H.length>0&&e.jsxs("div",{className:"flex items-center justify-between mt-6",children:[e.jsxs("p",{className:"text-sm text-slate-500",children:["Showing ",Math.min(H.length,10)," of ",H.length," results"]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(I,{variant:"outline",size:"sm",disabled:!0,children:"Previous"}),e.jsx(I,{size:"sm",children:"1"}),e.jsx(I,{variant:"outline",size:"sm",disabled:!0,children:"Next"})]})]})]})}function kp({src:t,alt:a,onClose:n}){const[i,o]=s.useState(1),[r,c]=s.useState(0);s.useEffect(()=>{const b=x=>{x.key==="Escape"?n():x.key==="+"||x.key==="="?o(y=>Math.min(y+.25,3)):x.key==="-"&&o(y=>Math.max(y-.25,.5))};return document.addEventListener("keydown",b),document.body.style.overflow="hidden",()=>{document.removeEventListener("keydown",b),document.body.style.overflow=""}},[n]);const l=b=>{b.target===b.currentTarget&&n()},u=()=>o(b=>Math.min(b+.25,3)),d=()=>o(b=>Math.max(b-.25,.5)),m=()=>c(b=>(b+90)%360),p=()=>{const b=document.createElement("a");b.href=t,b.download=a||"image",document.body.appendChild(b),b.click(),document.body.removeChild(b)};return e.jsxs("div",{className:"fixed inset-0 bg-black/90 flex items-center justify-center z-[100]",onClick:l,"data-testid":"lightbox-backdrop",children:[e.jsxs("div",{className:"absolute top-4 right-4 flex items-center gap-2 z-10",children:[e.jsx(I,{variant:"ghost",size:"icon",className:"text-white hover:bg-white/20",onClick:u,"data-testid":"button-zoom-in",children:e.jsx(Jr,{className:"h-5 w-5"})}),e.jsx(I,{variant:"ghost",size:"icon",className:"text-white hover:bg-white/20",onClick:d,"data-testid":"button-zoom-out",children:e.jsx(Yr,{className:"h-5 w-5"})}),e.jsx(I,{variant:"ghost",size:"icon",className:"text-white hover:bg-white/20",onClick:m,"data-testid":"button-rotate",children:e.jsx(Qr,{className:"h-5 w-5"})}),e.jsx(I,{variant:"ghost",size:"icon",className:"text-white hover:bg-white/20",onClick:p,"data-testid":"button-download-image",children:e.jsx(qe,{className:"h-5 w-5"})}),e.jsx(I,{variant:"ghost",size:"icon",className:"text-white hover:bg-white/20",onClick:n,"data-testid":"button-close-lightbox",children:e.jsx(ge,{className:"h-6 w-6"})})]}),e.jsxs("div",{className:"absolute bottom-4 left-1/2 -translate-x-1/2 text-white/70 text-sm",children:[e.jsxs("span",{children:[Math.round(i*100),"%"]}),r>0&&e.jsxs("span",{className:"ml-3",children:[r,"°"]})]}),e.jsx("div",{className:"max-w-[90vw] max-h-[90vh] overflow-auto flex items-center justify-center",onClick:b=>b.stopPropagation(),children:e.jsx("img",{src:t,alt:a,className:"transition-transform duration-200 object-contain",style:{transform:`scale(${i}) rotate(${r}deg)`,maxWidth:"100%",maxHeight:"85vh"},"data-testid":"lightbox-image"})})]})}function Cp({result:t,onClose:a}){const[n,i]=s.useState(null),[o,r]=s.useState(!1),[c,l]=s.useState(!1),{toast:u}=ke(),d=t.detectionResults||{},m=t.contentAnalysis||{},p=t.technicalMetadata||{},b=g=>{g.target===g.currentTarget&&a()},x=async g=>{try{i(g);const v=await ua(g),k=window.URL.createObjectURL(v),C=document.createElement("a");C.href=k,C.download=`analysis_results.${g}`,document.body.appendChild(C),C.click(),window.URL.revokeObjectURL(k),document.body.removeChild(C),u({title:"Export Successful",description:`Analysis results exp
13orted as ${g.toUpperCase()}.`})}catch(v){console.error("Export error:",v),u({title:"Export Failed",description:"Failed to export results. Please try again.",variant:"destructive"})}finally{i(null)}},y=g=>g>=80?"text-red-600":g>=60?"text-amber-600":"text-emerald-600";return e.jsxs("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center p-4 z-50",onClick:b,children:[e.jsxs("div",{className:"bg-white rounded-xl max-w-4xl w-full max-h-screen overflow-y-auto",children:[e.jsx("div",{className:"p-6 border-b border-slate-200",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("h3",{className:"text-lg font-semibold text-slate-900",children:"Detailed Analysis Report"}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsxs(I,{variant:"outline",size:"sm",onClick:()=>x("json"),disabled:n==="json","data-testid":"button-export-detail-json",children:[e.jsx(qe,{className:"w-3 h-3 mr-1"}),n==="json"?"Exporting...":"JSON"]}),e.jsxs(I,{variant:"outline",size:"sm",onClick:()=>l(!0),disabled:t.status!=="completed","data-testid":"button-export-detail-pdf",children:[e.jsx(qe,{className:"w-3 h-3 mr-1"}),"Executive PDF — $5.00"]}),e.jsx(I,{variant:"ghost",size:"sm",onClick:a,children:e.jsx(ge,{className:"w-4 h-4"})})]}),e.jsx(vi,{scanId:String(t.id),filename:t.filename,open:c,onOpenChange:l})]})}),e.jsx("div",{className:"p-6",children:e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[e.jsxs("div",{children:[e.jsx("div",{className:"w-full h-64 bg-slate-100 rounded-lg flex items-center justify-center mb-4 relative overflow-hidden group",children:t.fileType==="image"&&t.originalPath?e.jsxs("div",{className:"relative w-full h-full",children:[e.jsx("img",{src:t.originalPath,alt:t.filename,className:"w-full h-full object-contain cursor-pointer",onClick:()=>r(!0),"data-testid":"image-preview"}),e.jsxs(I,{variant:"secondary",size:"sm",className:"absolute bottom-2 right-2 opacity-0 group-hover:opacity-100 transition-opacity",onClick:()=>r(!0),"data-testid":"button-enlarge-image",children:[e.jsx(Zr,{className:"w-4 h-4 mr-1"}),"Enlarge"]})]}):t.fileType==="image"?e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"text-6xl mb-2",children:"🖼️"}),e.jsx("p",{className:"text-slate-500",children:"Image Preview"})]}):t.fileType==="video"?e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"text-6xl mb-2",children:"🎥"}),e.jsx("p",{className:"text-slate-500",children:"Video Preview"})]}):t.fileType==="audio"?e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"text-6xl mb-2",children:"🎵"}),e.jsx("p",{className:"text-slate-500",children:"Audio File"})]}):e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"text-6xl mb-2",children:"📄"}),e.jsx("p",{className:"text-slate-500",children:"File Preview"})]})}),e.jsxs("div",{className:"p-4 bg-slate-50 rounded-lg",children:[e.jsx("h4",{className:"font-medium text-slate-900 mb-2",children:"File Information"}),e.jsxs("div",{className:"space-y-2 text-sm",children:[e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-slate-600",children:"Filename:"}),e.jsx("span",{className:"text-slate-900 font-mono text-xs",children:t.filename})]}),e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-slate-600",children:"Size:"}),e.jsxs("span",{className:"text-slate-900",children:[(t.fileSize/1024/1024).toFixed(1)," MB"]})]}),e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-slate-600",children:"Type:"}),e.jsx("span",{className:"text-slate-900",children:t.mimeType})]}),e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-slate-600",children:"Processing Time:"}),e.jsxs("span",{className:"text-slate-900",children:[t.processingTime,"s"]})]})]})]})]}),e.jsxs("div",{className:"space-y-6",children:[(()=>{const g=d?.c2pa;if(!g||g.status==="unsupported")return null;const v=g.status==="valid",k=g.status==="tampered",C=g.status==="missing",S=g.isAiGenerated,L=S&&v?"bg-red-50 border-red-200":k?"bg-amber-50 border-amber-200":v?"bg-emerald-50 border-emerald-200":"bg-slate-50 border-slate-200",F=S&&v?Ct:k?Xr:v?Ne:Ua,T=S&&v?"text-red-600":k?"text-amber-600":v?"text-emerald-600":"text-slate-400",j=S&&v?"AI-Generated (Cryptographic Proof)":k?"Content Credentials Tampered":v?"Verified Human-Origin Content":"No Content Credentials Found";return e.jsxs("div",{className:`p-4 border rounded-lg ${L}`,children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx(F,{className:`w-5 h-5 ${T}`}),e.jsx("span",{className:`font-semibold text-sm ${T.replace("600","800")}`,children:"Content Credentials (C2PA)"}),e.jsx("span",{className:`ml-auto text-xs font-medium px-2 py-0.5 rounded ${S&&v?"bg-red-100 text-red-700":k?"bg-amber-100 text-amber-700":v?"bg-emerald-100 text-emerald-700":"bg-slate-100 text-slate-500"}`,children:j})]}),e.jsxs("div",{className:"text-xs text-slate-600 space-y-1 mt-2",children:[g.claimGenerator&&e.jsxs("p",{children:[e.jsx("span",{className:"font-medium",children:"Tool:"})," ",g.claimGenerator]}),g.signerName&&e.jsxs("p",{children:[e.jsx("span",{className:"font-medium",children:"Signer:"})," ",g.signerName]}),g.aiAssertions?.length>0&&e.jsx("ul",{className:"mt-1 space-y-0.5 list-disc list-inside",children:g.aiAssertions.slice(0,3).map((q,E)=>e.jsx("li",{children:q},E))}),C&&e.jsx("p",{className:"italic text-slate-400",children:"Most images don't carry credentials yet — this is normal."}),k&&g.validationErrors?.length>0&&e.jsxs("p",{className:"text-amber-700",children:["Errors: ",g.validationErrors.join(", ")
13]})]}),e.jsx("p",{className:"text-[10px] text-slate-400 mt-2",children:"ISO/IEC 23091-11 · Backed by Adobe, Microsoft, Google, BBC, Sony"})]})})(),e.jsxs("div",{children:[e.jsx("h4",{className:"font-medium text-slate-900 mb-3",children:"AI Detection Results"}),e.jsx(wi,{result:t,className:"mb-3 max-w-full"}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:`p-3 border rounded-lg ${(t.aiConfidence||0)>=80?"border-red-200 bg-red-50":(t.aiConfidence||0)>=60?"border-amber-200 bg-amber-50":"border-emerald-200 bg-emerald-50"}`,children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("span",{className:`font-medium ${(t.aiConfidence||0)>=80?"text-red-900":(t.aiConfidence||0)>=60?"text-amber-900":"text-emerald-900"}`,children:"Overall AI Confidence"}),e.jsxs("span",{className:`font-mono ${y(t.aiConfidence||0)}`,children:[t.aiConfidence,"%"]})]}),e.jsx(pa,{value:t.aiConfidence||0,className:"h-2"})]}),d.services&&Array.isArray(d.services)&&e.jsxs("div",{className:"space-y-3 mt-4",children:[e.jsxs("h5",{className:"font-medium text-slate-700 text-sm mb-2",children:["Detection Services (",d.services.length,")"]}),d.services.map((g,v)=>e.jsxs("div",{className:"border border-slate-200 rounded-lg overflow-hidden",children:[e.jsxs("div",{className:"flex justify-between items-center p-3 bg-slate-50",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:`w-2 h-2 rounded-full ${g.status==="success"?"bg-green-500":"bg-red-500"}`}),e.jsx("span",{className:"text-sm font-medium text-slate-700",children:g.name})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("span",{className:`text-xs px-2 py-0.5 rounded ${g.aiDetected?"bg-red-100 text-red-700":"bg-green-100 text-green-700"}`,children:g.aiDetected?"AI Detected":"Human"}),e.jsx("span",{className:`text-sm font-mono ${y(g.confidence||0)}`,children:typeof g.confidence=="number"?`${g.confidence.toFixed(1)}%`:"N/A"})]})]}),(g.indicators&&g.indicators.length>0||g.reasoning)&&e.jsxs("div",{className:"p-3 bg-white border-t border-slate-100",children:[e.jsx("p",{className:"text-xs font-medium text-slate-500 mb-2",children:"Why this result:"}),g.indicators&&g.indicators.length>0&&e.jsxs("div",{className:"flex flex-wrap gap-1.5 mb-2",children:[g.indicators.slice(0,5).map((k,C)=>e.jsx("span",{className:`text-xs px-2 py-1 rounded ${g.aiDetected?"bg-red-50 text-red-700 border border-red-200":"bg-green-50 text-green-700 border border-green-200"}`,children:typeof k=="string"?k:JSON.stringify(k)},C)),g.indicators.length>5&&e.jsxs("span",{className:"text-xs text-slate-400",children:["+",g.indicators.length-5," more"]})]}),g.reasoning&&e.jsx("p",{className:"text-xs text-slate-600 leading-relaxed",children:g.reasoning.length>200?`${g.reasoning.substring(0,200)}...`:g.reasoning})]})]},v))]}),d.modelsUsed&&e.jsx("div",{className:"mt-4 p-3 bg-slate-100 rounded-lg",children:e.jsxs("div",{className:"grid grid-cols-2 gap-4 text-sm",children:[e.jsxs("div",{children:[e.jsx("span",{className:"text-slate-500",children:"Models Used:"}),e.jsx("span",{className:"ml-2 font-medium text-slate-800",children:d.modelsUsed})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-slate-500",children:"Verdict:"}),e.jsx("span",{className:`ml-2 font-medium ${d.verdict==="ai_generated"?"text-red-600":"text-green-600"}`,children:d.verdict==="ai_generated"?"AI Generated":"Human Created"})]}),d.processingTimeMs&&e.jsxs("div",{children:[e.jsx("span",{className:"text-slate-500",children:"Processing:"}),e.jsxs("span",{className:"ml-2 font-medium text-slate-800",children:[(d.processingTimeMs/1e3).toFixed(2),"s"]})]}),typeof d.humanProbability=="number"&&e.jsxs("div",{children:[e.jsx("span",{className:"text-slate-500",children:"Human Probability:"}),e.jsxs("span",{className:"ml-2 font-medium text-green-600",children:[d.humanProbability,"%"]})]})]})})]})]}),m&&Object.keys(m).length>0&&e.jsxs("div",{children:[e.jsx("h4",{className:"font-medium text-slate-900 mb-3",children:"Content Analysis"}),e.jsxs("div",{className:"space-y-3",children:[m.objects&&e.jsxs("div",{className:"p-3 border border-slate-200 rounded-lg",children:[e.jsx("h5",{className:"font-medium text-slate-900 mb-2",children:"Objects Detected"}),e.jsx("div",{className:"flex flex-wrap gap-2",children:m.objects.map((g,v)=>e.jsxs("span",{className:"px-2 py-1 bg-blue-100 text-blue-800 text-xs rounded-full",children:[g.name," (",g.confidence.toFixed(1),"%)"]},v))})]}),m.faces&&e.jsxs("div",{className:"p-3 border border-slate-200 rounded-lg",children:[e.jsx("h5",{className:"font-medium text-slate-900 mb-2",children:"Face Analysis"}),e.jsxs("div",{className:"text-sm space-y-1",children:[e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-slate-600",children:"Faces detected:"}),e.jsx("span",{className:"text-slate-900",children:m.faces.count})]}),m.faces.ageEstimate&&e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-slate-600",children:"Age estimate:"}),e.jsx("span",{className:"text-slate-900",children:m.faces.ageEstimate})]}),m.faces.emotions&&e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-slate-600",children:"Primary emotion:"}),e.jsx("span",{className:"text-slate-900",children:Object.entries(m.faces.emotions).sort(([,g],[,v])=>
13v-g)[0]?.[0]||"Unknown"})]})]})]})]})]}),p&&Object.keys(p).length>0&&e.jsxs("div",{children:[e.jsx("h4",{className:"font-medium text-slate-900 mb-3",children:"Technical Analysis"}),e.jsx("div",{className:"p-3 border border-slate-200 rounded-lg",children:e.jsx("div",{className:"text-sm space-y-2",children:Object.entries(p).map(([g,v])=>e.jsxs("div",{className:"flex justify-between",children:[e.jsxs("span",{className:"text-slate-600 capitalize",children:[g.replace(/([A-Z])/g," $1").trim(),":"]}),e.jsx("span",{className:"text-slate-900",children:String(v)})]},g))})})]})]})]})})]}),o&&t.fileType==="image"&&t.originalPath&&e.jsx(kp,{src:t.originalPath,alt:t.filename,onClose:()=>r(!1)})]})}const Sp=Dt("relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),Qs=s.forwardRef(({className:t,variant:a,...n},i)=>e.jsx("div",{ref:i,role:"alert",className:_(Sp({variant:a}),t),...n}));Qs.displayName="Alert";const Pp=s.forwardRef(({className:t,...a},n)=>e.jsx("h5",{ref:n,className:_("mb-1 font-medium leading-none tracking-tight",t),...a}));Pp.displayName="AlertTitle";const Zs=s.forwardRef(({className:t,...a},n)=>e.jsx("div",{ref:n,className:_("text-sm [&_p]:leading-relaxed",t),...a}));Zs.displayName="AlertDescription";const Dp=Dt("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function xe({className:t,variant:a,...n}){return e.jsx("div",{className:_(Dp({variant:a}),t),...n})}function Tp({variant:t="compact",services:a=["Advanced Language Model","Multi-Modal AI","Specialized Detection","Enhanced Analysis"],context:n="general"}){return t==="footer"?e.jsx("div",{className:"bg-gray-50 dark:bg-gray-900 border-t border-gray-200 dark:border-gray-700 py-4",children:e.jsx("div",{className:"container mx-auto px-4",children:e.jsxs("div",{className:"flex items-center justify-center space-x-2 text-sm text-gray-600 dark:text-gray-400",children:[e.jsx(Be,{className:"w-4 h-4"}),e.jsxs("span",{children:[e.jsx("strong",{children:"AI Identifiers Technology:"})," This service utilizes advanced AI technology including multiple language models and professional detection systems. Results are provided for informational purposes and should be verified by human judgment."]})]})})}):t==="compact"?e.jsxs(Qs,{className:"border-blue-200 bg-blue-50 dark:bg-blue-900/20 dark:border-blue-800",children:[e.jsx(Mn,{className:"h-4 w-4 text-blue-600"}),e.jsxs(Zs,{className:"text-blue-800 dark:text-blue-200",children:[e.jsx("strong",{children:"AI-Powered Service:"})," This platform integrates multiple AI technologies (",a.join(", "),") to provide advanced content analysis. Results are algorithmic assessments and should be supplemented with human review."]})]}):e.jsxs(De,{className:"border-orange-200 bg-orange-50 dark:bg-orange-900/20 dark:border-orange-800",children:[e.jsx(ct,{className:"pb-3",children:e.jsxs(lt,{className:"text-lg font-semibold text-orange-900 dark:text-orange-100 flex items-center",children:[e.jsx(Ve,{className:"w-5 h-5 mr-2"}),"Official AI Technology Disclosure"]})}),e.jsxs(Te,{className:"space-y-4",children:[e.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[e.jsxs("div",{children:[e.jsx("h4",{className:"font-medium text-orange-900 dark:text-orange-100 mb-2",children:"Detection Technologies"}),e.jsx("div",{className:"flex flex-wrap gap-2",children:a.map(i=>e.jsx(xe,{variant:"outline",className:"border-orange-300 text-orange-800 dark:text-orange-200",children:i},i))})]}),e.jsxs("div",{children:[e.jsx("h4",{className:"font-medium text-orange-900 dark:text-orange-100 mb-2",children:"Technology Features"}),e.jsxs("ul",{className:"text-sm text-orange-800 dark:text-orange-200 space-y-1",children:[e.jsx("li",{children:"• Multi-layer content analysis"}),e.jsx("li",{children:"• Multi-modal content analysis"}),e.jsx("li",{children:"• Statistical pattern recognition"}),e.jsx("li",{children:"• Enterprise-grade processing"})]})]})]}),e.jsxs("div",{className:"border-t border-orange-200 dark:border-orange-700 pt-4",children:[e.jsx("h4",{className:"font-medium text-orange-900 dark:text-orange-100 mb-2",children:"Important Limitations & Guidelines"}),e.jsxs("div",{className:"grid md:grid-cols-2 gap-4 text-sm text-orange-800 dark:text-orange-200",children:[e.jsxs("div",{children:[e.jsx("h5",{className:"font-medium mb-1",children:"Accuracy Considerations:"}),e.jsxs("ul",{className:"space-y-1",children:[e.jsx("li",{children:"• Results combine probabilistic confidence and provenance signals"}),e.jsx("li",{children:"• Supported SynthID signals are considered when present"}),e.jsx("li",{children:"• Results are probabilistic, not definitive"}),e.jsx("li",{children:"• Human verification recommended for critical decisions"})]})]}),e.jsxs("div",{children:[e.jsx("h5",{className:"font-medium mb-1",children:"Appropriate Use Guidelines:"}),e.jsxs("ul",{className:"space-y-1",children:[e.jsx("li",{children:"• Educational and research purposes"}),e.jsx("li",{children:"• Content authenticity verification"}),e.jsx("li",{children:"• Academic integrity support"}),e.jsx("li",{children:"• Not a substitute for professional judgment"})]})]})]})]}),n==="detection"&&e.jsx("div",{className:"bg-white dark:bg-gray-800 rounded p-3 border border-orange-200 dark:border-orange-700",children:e.jsxs("div",{className:"flex items-start space-x-2",children:[e.jsx(He,{className:"w-4 h-4 text-orange-600 mt-0.5"}),e.jsxs("div",{className:"text-sm text-orange-800 dark:text-orange-200",children:[e.jsx("strong",{children:"Detection Service Notice:"})," Our platform integrates multiple AI detection technologies to provide comprehensive content analysis. Detection results are generated using advanced algorithms and should be used as guid
13ance alongside human judgment for important decisions."]})]})}),e.jsxs("div",{className:"text-xs text-orange-700 dark:text-orange-300 bg-orange-100 dark:bg-orange-900/40 rounded p-2",children:[e.jsx("strong",{children:"Legal Notice:"})," AI detection results are provided as algorithmic assessments for informational purposes only. Users are responsible for verifying accuracy and appropriateness for their specific use case. This service does not guarantee detection of all AI-generated content and should not be the sole basis for important decisions regarding content authenticity."]})]})]})}const Ep=()=>e.jsx(Tp,{variant:"footer"});function Xs(){return e.jsxs("footer",{className:"border-t border-border bg-background text-foreground",children:[e.jsxs("div",{className:"max-w-[1400px] mx-auto px-4 sm:px-6 lg:px-8 py-16",children:[e.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-8 lg:gap-12",children:[e.jsxs("div",{className:"col-span-2 md:col-span-3 lg:col-span-2",children:[e.jsxs("div",{className:"flex items-center space-x-3 mb-6",children:[e.jsx("div",{className:"w-8 h-8 bg-primary/10 border border-primary/20 rounded-lg flex items-center justify-center text-primary",children:e.jsx(eo,{className:"w-4 h-4"})}),e.jsxs("h3",{className:"text-xl font-bold tracking-tight",children:["AI Identifiers Technology",e.jsx("sup",{className:"text-[10px] ml-0.5",children:"™"})]})]}),e.jsx("p",{className:"text-muted-foreground text-[13px] leading-relaxed mb-6 max-w-sm",children:"Evidence-first multimodal verification. Inspect AI signals across text, image, video, audio, and documents with precise forensic tooling."}),e.jsxs("div",{className:"flex space-x-4 mb-8",children:[e.jsx("a",{href:"https://twitter.com/aiidentifiers",className:"text-muted-foreground hover:text-foreground transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded-sm",target:"_blank",rel:"noopener noreferrer",children:e.jsx(to,{className:"w-4 h-4"})}),e.jsx("a",{href:"https://github.com/aiidentifiers",className:"text-muted-foreground hover:text-foreground transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded-sm",target:"_blank",rel:"noopener noreferrer",children:e.jsx(ao,{className:"w-4 h-4"})}),e.jsx("a",{href:"https://linkedin.com/company/aiidentifiers",className:"text-muted-foreground hover:text-foreground transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded-sm",target:"_blank",rel:"noopener noreferrer",children:e.jsx(qn,{className:"w-4 h-4"})}),e.jsx("a",{href:"mailto:[email protected]",className:"text-muted-foreground hover:text-foreground transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded-sm",children:e.jsx(Za,{className:"w-4 h-4"})})]}),e.jsxs("div",{className:"flex flex-wrap gap-3",children:[e.jsxs("a",{href:"https://play.google.com/store/apps/details?id=aiidentifiers.com",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 bg-zinc-950 dark:bg-zinc-900 border border-zinc-800 hover:border-zinc-700 text-zinc-100 px-3 py-1.5 rounded-lg transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary",children:[e.jsx("svg",{viewBox:"0 0 24 24",className:"w-4 h-4 shrink-0",fill:"currentColor",children:e.jsx("path",{d:"M3.18 23.76c.3.17.64.24.99.2l12.6-11.53L13.5 9.2 3.18 23.76zm16.13-9.53L16.4 12.6l3.1-3.1c.54.3.9.87.9 1.5s-.36 1.2-.9 1.5l-.19.13zM3 1.08l10.5 10.5L3.99.84A1.5 1.5 0 0 0 3 1.08zm10.5 10.5 3.38-3.38-9.6-5.54L13.5 11.58z"})}),e.jsxs("div",{className:"text-left leading-tight",children:[e.jsx("div",{className:"text-[9px] text-zinc-400 font-semibold tracking-wider",children:"GET IT ON"}),e.jsx("div",{className:"text-[13px] font-semibold",children:"Google Play"})]})]}),e.jsxs("a",{href:"https://play.google.com/apps/test/aiidentifiers.com/2",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 bg-primary/10 border border-primary/20 hover:bg-primary/20 text-primary px-3 py-1.5 rounded-lg transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary",children:[e.jsx("svg",{viewBox:"0 0 24 24",className:"w-4 h-4 shrink-0",fill:"none",stroke:"currentColor",strokeWidth:"2",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})}),e.jsxs("div",{className:"text-left leading-tight",children:[e.jsx("div",{className:"text-[9px] font-semibold tracking-wider opacity-80",children:"EARLY ACCESS"}),e.jsx("div",{className:"text-[13px] font-semibold",children:"Join Beta"})]})]})]})]}),e.jsxs("div",{children:[e.jsx("h4",{className:"text-[11px] font-mono font-semibold uppercase tracking-wider text-muted-foreground mb-4",children:"Detection Tools"}),e.jsxs("ul",{className:"space-y-2.5",children:[e.jsx("li",{children:e.jsx(B,{href:"/",className:"text-[13px] text-muted-foreground hover:text-primary transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded-sm",children:"Multimodal Analysis"})}),e.jsx("li",{children:e.jsx(B,{href:"/ai-detector",className:"text-[13px] text-muted-foreground hover:text-primary transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded-sm",children:"Text & Language"})}),e.jsx("li",{children:e.jsx(B,{href:"/identify",className:"text-[13px] text-muted-foreground hover:text-primary transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded-sm",children:"Image & Synthesis"})}),e.jsx("li",{children:e.jsx(B,{href:"/video-deepfake-detector",className:"text-[13px] text-muted-foreground hover:text-primary transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded-sm",children:"Video Deepfake Detector"})}),e.jsx("li",{children:e.jsx(B,{href:"/ai-voice-detector",className:"text-[13px] text-muted-foreground hover:text-primary transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded-sm",children:"AI Voice Detector"})}),e.jsx("li",{children:e.jsx(B,{href:"/pdf-ai-detector",className:"text-[13px] text-muted-foreground hover:text-primary transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded-sm",children:"PDF AI Detector"})}),e.jsx("li",{children:e.jsx(B,{href:"/audio-deepfake-checker",className:"text-[13px] text-muted-foreground hover:text-primary transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded-sm",children:"Audio Deepfake Checker"})})]})]}),e.jsxs("div",{children:[e.jsx("h4",{className:"text-[11px] font-mono font-semibold uppercase tracking-wider text-muted-foreground mb-4",children:"Provenance"}),e.jsxs("ul",{className:"space-y-2.5",children:[e.jsx("li",{children:e.jsx(B,{href:"/synthid-integration",className:"text-[13px] text-muted-foreground hover:text-primary transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded-sm",children:"SynthID Inspection"})}),e.jsx("li",{children:e.jsx(B,{href:"/models",className:"text-[13px] text-muted-foreground hover:text-primary transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded-sm",children:"Model Coverage"})}),e.jsx("li",{children:e.jsx(B,{href:"/ai-detection-history",className:"text-[13px] text-muted-foreground hover:text-primary transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded-sm",children:"Detection History"})})]})]}),e.jsxs("div",{children:[e.jsx("h4",{className:"text-[11px] font-mono font-semibold uppercase tracking-wider text-muted-foreground mb-4",children:"Plans & Access"}),e.jsxs("ul",{className:"space-y-2.5",children:[e.jsx("li",{children:e.jsx(B,{href:"/analyze",className:"text-[13px] text-muted-foreground hover:text-primary transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded-sm",children:"Free Evaluation"})}),e.jsx("li",{children:e.jsx(B,{href:"/pricing",className:"text-[13px] text-muted-foreground hover:text-primary transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded-sm",children:"Pricing"})}),e.jsx("li",{children:e.jsx(B,{href:"/api-tiers",className:"text-[13px] text-muted-foreground hover:text-primary transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded-sm",children:"API Platform"})}),e.jsx("li",{children:e.jsx(B,{href:"/integrations/lms",className:"text-[13px] text-muted-foreground hover:text-primary transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded-sm",children:"LMS Integration"})}),e.jsx("li",{children:e.jsx(B,{href:"/homecoming",className:"text-[13px] text-muted-foreground hover:text-primary transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded-sm",children:"Aggie Homecoming"})}),e.jsx("li",{children:e.jsx(B,{href:"/ncat",className:"text-[13px] text-muted-foreground hover:text-primary transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded-sm",children:"Aggies Portal"})}),e.jsx("li",{children:e.jsx(B,{href:"/enterprise",className:"text-[13px] text-muted-foreground hover:text-primary transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded-sm",children:"Enterprise Solutions"})})]})]}),e.jsxs("div",{children:[e.jsx("h4",{className:"text-[11px] font-mono font-semibold uppercase tracking-wider text-muted-foreground mb-4",children:"Trust & Context"}),e.jsxs("ul",{className:"space-y-2.5",children:[e.jsx("li",{children:e.jsx(B,{href:"/trust",className:"text-[13px] text-muted-foreground hover:text-primary transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded-sm",children:"Trust Center"})}),e.jsx("li",{children:e.jsx(B,{href:"/privacy-policy",className:"text-[13px] text-muted-foreground hover:text-primary transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded-sm",children:"Privacy Policy"})}),e.jsx("li",{children:e.jsx(B,{href:"/security",className:"text-[13px] text-muted-foreground hover:text-primary transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded-sm",children:"Security"})}),e.jsx("li",{children:e.jsx(B,{href:"/faq",className:"text-[13px] text-muted-foreground hover:text-primary transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded-sm",children:"Accuracy & FAQ"})}),e.jsx("li",{children:e.jsx(B,{href:"/status",className:"text-[13px] text-muted-foreground hover:text-primary transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded-sm",children:"System Status"})}),e.jsx("li",{children:e.jsx(B,{href:"/docs",className:"text-[13px] text-muted-foreground hover:text-primary transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded-sm",children:"Documentation"})}),e.jsx("li",{children:e.jsx(B,{href:"/changelog",className:"text-[13px] text-muted-foreground hover:text-primary transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded-sm",children:"Product Changelog"})})]})]})]}),e.jsxs("div",{className:"border-t border-border mt-16 pt-8 flex flex-col md:flex-row justify-between items-center gap-6",children:[e.jsxs("div",{className:"flex flex-wrap items-center justify-center md:justify-start gap-x-6 gap-y-3 text-[13px] text-muted-foreground",children:[e.jsxs(B,{href:"/privacy-policy",className:"hover:text-foreground transition-colors flex items-center gap-1.5 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded-sm",children:[e.jsx(Ve,{className:"w-3.5 h-3.5"}),"Privacy"]}),e.jsxs(B,{href:"/terms-of-service",className:"hover:text-foreground transition-colors flex items-center gap-1.5 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded-sm",children:[e.jsx(ye,{className:"w-3.5 h-3.5"}),"Terms"]}),e.jsxs(B,{href:"/dmca",className:"hover:text-foreground transition-colors flex items-center gap-1.5 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded-sm",children:[e.jsx(jt,{className:"w-3.5 h-3.5"}),"DMCA"]}),e.jsxs(B,{href:"/support",className:"hover:text-foreground transition-colors flex items-center gap-1.5 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded-sm",children:[e.jsx(St,{className:"w-3.5 h-3.5"}),"Support"]}),e.jsxs(B,{href:"/status",className:"hover:text-foreground transition-colors flex items-center gap-1.5 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary rounded-sm",children:[e.jsx(We,{className:"w-3.5 h-3.5"}),"Status"]})]}),e.jsxs("div",{className:"text-[13px] text-muted-foreground",children:["© ",new Date().getFullYear()," AI Identifiers LLC. All rights reserved."]})]})]}),e.jsx(Ep,{})]})}const qx="/ncat",Ox="[email protected]",$x="AI Identifiers provides this independent Homecoming companion and is not officially partnered with or endorsed by North Carolina A&T State University. Confirm university events, admission requirements, times, locations, and organizer terms through the appropriate official source.",_p=["/homecoming","/friends-family-pass","/tailgate-schedule","/aggie-stories","/
13homecoming-perks"],et=["/aggie-stories/student-stories","/aggie-stories/alumni-stories","/aggie-stories/homecoming-traditions","/aggie-stories/aggie-family-stories","/aggie-stories/story-sharing-guide"],Rp=[..._p,...et],Ai={"/homecoming":{slug:"homecoming",path:"/homecoming",navLabel:"Homecoming hub",eyebrow:"Aggie Homecoming companion",seoTitle:"Your Homecoming Welcome Starts Here | AI Identifiers",title:"Your Homecoming welcome starts here",description:"Explore an independent Aggie Homecoming companion for guests, families, alumni, and eligible students, then continue to the Aggies Portal.",intro:"Bring the people you care about, find the right planning path, and keep one clear handoff to student access. This hub gathers the five Homecoming experiences without pretending unconfirmed details are final.",ctaLabel:"Claim Free Access via Aggies Portal.",statusLabel:"What is confirmed",statusText:"The Aggies Portal currently leads to AI Identifiers’ existing NC A&T access page. Eligibility, availability, and current usage terms are shown after you continue.",sections:[{icon:"users",t
13itle:"A welcome for every connection",body:"Students, alumni, friends, and family can use this guide to choose the page that matches how they want to take part."},{icon:"calendar",title:"Plan without guesswork",body:"Schedule information stays clearly marked as awaiting confirmation until an authoritative organizer source is available."},{icon:"link",title:"One portal handoff",body:"Every primary action leads to the same Aggies Portal path, so guests never have to guess which account page is real."}],relatedRoutes:["/friends-family-pass","/tailgate-schedule","/aggie-stories"]},"/friends-family-pass":{slug:"friends-family-pass",path:"/friends-family-pass",navLabel:"Friends & family",eyebrow:"Friends & family pass",seoTitle:"Friends & Family Pass Guide | Aggies Portal",title:"Make room for the people who make Homecoming feel like home",description:"A careful Friends & Family Pass guide with one secure handoff to the Aggies Portal and no unsupported admission promises.",intro:"Use this page to coordinate your group before the celebration. A portal account or page visit does not guarantee admission to an event, reserve a ticket, or establish university eligibility.",ctaLabel:"Enter Aggies Portal to Redeem.",statusLabel:"Pass status",statusText:"No universal event pass is promised on this page. Any available AI Identifiers access, eligibility checks, or future community offers will be displayed in the Aggies Portal with their current terms.",sections:[{icon:"users",t
13itle:"Coordinate your group",body:"Decide who needs event information, who is using the student access path, and which organizer’s guidance each person should follow."},{icon:"shield",title:"Know what a portal can—and cannot—do",body:"The Aggies Portal is an AI Identifiers access destination. It is not an official university ticket, credential, or event-admission guarantee."},{icon:"link",title:"Keep the handoff simple",body:"Use the shared portal link instead of forwarding account details. Each person should review the current terms for themselves."}],relatedRoutes:["/homecoming","/tailgate-schedule","/homecoming-perks"]},"/tailgate-schedule":{slug:"tailgate-schedule",path:"/tailgate-schedule",navLabel:"Schedule",eyebrow:"Tailgate & event schedule",seoTitle:"Tailgate & Event Schedule Guide | Aggie Homecoming",title:"Build your weekend plan around confirmed information",description:"Prepare for Aggie Homecoming with a schedule guide that labels unconfirmed details honestly and directs visitors to the Aggies Portal.",intro:"Save space for reunion time, travel, meals, and rest—but do not rely on invented dates or locations. This companion will only present specific event details when an authoritative source can support them.",ctaLabel:"Access Full Schedule in Aggies Portal.",statusLabel:"Schedule details to be confirmed",statusText:"Specific Homecoming dates, start times, venues, tailgate rules, ticket requirements, and accessibility instructions are not confirmed here. Check the relevant official organizer source before traveling or purchasing access.",sections:[{icon:"calendar",title:"Before the weekend",body:"Confirm travel, lodging, parking, mobility needs, and ticket terms directly with the responsible providers and event organizers."}
13,{icon:"users",title:"During the celebration",body:"Choose clear meeting points and backup plans for your group without treating this independent companion as a live university schedule."},{icon:"shield",title:"Before each event",body:"Recheck the organizer’s latest time, location, entry, weather, and safety guidance because details can change."}],relatedRoutes:["/homecoming","/friends-family-pass","/homecoming-perks"]},"/aggie-stories":{slug:"aggie-stories",path:"/aggie-stories",navLabel:"Community stories",eyebrow:"Aggie pride & community stories",seoTitle:"Aggie Pride & Community Stories | Aggies Portal",title:"Carry the connection forward in your own words",description:"Celebrate Aggie pride with respectful story prompts and a clear path to join the independent Aggies Portal community experience.",intro:"The strongest Homecoming stories belong to the people who lived them. Rather than publishing invented testimonials, this page offers prompts for reflecting, reconnecting, and sharing with consent.",ctaLabel:"Join the Community on Aggies Portal.",statusLabel:"Stories with permission",statusText:"No quote or personal story on this experience should be published without the contributor’s clear permission. AI Identifiers does not claim these prompts represent the university.",sections:[{icon:"heart",title:"The person who welcomed you",body:"Remember the classmate, mentor, family member, or neighbor who helped campus feel like a community."},{icon:"sparkles",title:"The tradition you carry",body:"Share what you learned, the responsibility you accepted, or the tradition you hope the next generation will keep."}
13,{icon:"users",title:"The connection you renewed",body:"Use Homecoming as a reason to reach out thoughtfully, credit the people in your memories, and respect anyone who prefers privacy."}],relatedRoutes:["/homecoming","/friends-family-pass","/homecoming-perks"],storyRoutes:[...et]},"/aggie-stories/student-stories":{slug:"aggie-stories-student-stories",path:"/aggie-stories/student-stories",navLabel:"Student stories",eyebrow:"Student Aggie stories",seoTitle:"Student Aggie Stories & Reflection Prompts | AI Identifiers",title:"Make room for the student stories that shaped you",description:"Use thoughtful prompts to write student Aggie stories about growth, belonging, mentors, and the moments that made campus feel like community.",intro:"Student stories do not need to sound official to matter. Start with one specific moment, name the people who helped, and share only what you have permission to share.",ctaLabel:"Join the Community on Aggies Portal.",statusLabel:"Write from your own experience",statusText:"This is a reflection guide, not a collection of university testimonials. Do not attribute a story to a student, organization, or university source unless the contributor and source have approved that wording.",sections:[{icon:"sparkles",title:"Begin with one turning point",body:"Describe the class, conversation, project, or challenge that changed how you saw yourself or your community. Concrete details are stronger than broad praise."}
13,{icon:"users",title:"Credit the people who helped",body:"Name a mentor, classmate, family member, or staff member only when they are comfortable being named. Otherwise, preserve their privacy while describing their impact."},{icon:"heart",title:"Leave room for what comes next",body:"Close with the lesson, responsibility, or hope you are carrying forward instead of turning a personal memory into a promise about campus life."}],relatedRoutes:["/aggie-stories","/homecoming","/friends-family-pass"],storyRoutes:[...et]},"/aggie-stories/alumni-stories":{slug:"aggie-stories-alumni-stories",path:"/aggie-stories/alumni-stories",navLabel:"Alumni stories",eyebrow:"Alumni Aggie stories",seoTitle:"Alumni Aggie Stories & Reconnection Guide | AI Identifiers",title:"Reconnect with the people and lessons you carried forward",description:"A respectful alumni Aggie story guide for revisiting campus memories, recognizing mentors, and reconnecting without inventing a shared experience.",intro:"An alumni story can connect a past season to the person you are now. Use this page to remember precisely, reach out thoughtfully, and keep every claim grounded in your own experience.",ctaLabel:"Join the Community on Aggies Portal.",statusLabel:"Memory is personal evidence",statusText:"AI Identifiers does not verify or endorse personal stories on this companion. Confirm names, dates, photos, and quotations with the people involved before publishing or forwarding them.",sections:[{icon:"calendar",title:"Anchor the memory in time",body:"Identify the season of life, place, or project that gives the story context. If you are unsure about a date or event detail, leave it unconfirmed rather than guessing."},{icon:"link",title:"Reconnect with a clear reason",body:"A short note that says what you remember and why you are reaching out gives the other person room to respond—or to keep their distance."},{icon:"shield",title:"Share photos and names carefully",body:"Ask before posting a group photo, tag, quote, or contact detail. A public memory should not make a private person newly searchable without consent."}],relatedRoutes:["/aggie-stories","/homecoming","/homecoming-perks"],storyRoutes:[...et]},"/aggie-stories/homecoming-traditions":{slug:"aggie-stories-homecoming-traditions",path:"/aggie-stories/homecoming-traditions",navLabel:"Traditions",eyebrow:"Aggie Homecoming traditions",seoTitle:"Aggie Homecoming Traditions Story Guide | AI Identifiers",title:"Tell the story behind the tradition you keep",description:"Explore a grounded way to document Aggie Homecoming traditions, including who taught them to you, what they mean, and how to share them respectfully.",intro:"Traditions are more than a list of activities. They are the reasons people gather, the details they repeat, and the choices that let a community welcome someone new.",ctaLabel:"Join the Community on Aggies Portal.",statusLabel:"Traditions deserve context",statusText:"Event names, schedules, rules, and university affiliations can change. Verify current details through the responsible official source before presenting them as fact.",sections:[{icon:"heart",title:"Explain who passed it on",body:"Start with the person or group that introduced the tradition to you. Their role adds meaning and helps future readers understand that traditions have a history."}
13,{icon:"users",title:"Describe the welcome",body:"Focus on the small action that made someone feel included: an invitation, a shared meal, a song, a route across campus, or time set aside to listen."},{icon:"shield",title:"Separate memory from itinerary",body:"A personal account can be vivid without acting like a live schedule. Link to official organizers for current times, locations, accessibility, and entry requirements."}],relatedRoutes:["/aggie-stories","/tailgate-schedule","/homecoming"],storyRoutes:[...et]},"/aggie-stories/aggie-family-stories":{slug:"aggie-stories-aggie-family-stories",path:"/aggie-stories/aggie-family-stories",navLabel:"Family stories",eyebrow:"Aggie family connections",seoTitle:"Aggie Family Stories & Connection Prompts | AI Identifiers",title:"Bring family memories into the next generation",description:"Use family-centered Aggie story prompts to preserve memories, invite multiple perspectives, and share campus connections with care and consent.",intro:"Family stories often hold several viewpoints at once. Make space for the person who remembers the detail, the person who lived the change, and the person who is hearing it for the first time.",ctaLabel:"Join the Community on Aggies Portal.",statusLabel:"Every voice gets a choice",statusText:"A family connection is not permission to publish someone else’s name, image, message, or experience. Ask each contributor what they want shared and where.",sections:[{icon:"users",t
13itle:"Invite more than one perspective",body:"Ask what different generations remember about the same moment. Differences can make the story more useful than a single polished version."},{icon:"heart",title:"Preserve the ordinary details",body:"Meals, phone calls, travel routines, advice, and small acts of care can show how a campus connection shaped a family over time."},{icon:"link",title:"Choose a shareable version",body:"Keep a private family archive, a limited group message, and a public story as separate choices. Do not assume one permission covers all three."}],relatedRoutes:["/aggie-stories","/friends-family-pass","/homecoming-perks"],storyRoutes:[...et]},"/aggie-stories/story-sharing-guide":{slug:"aggie-stories-story-sharing-guide",path:"/aggie-stories/story-sharing-guide",navLabel:"Story sharing guide",eyebrow:"Share an Aggie story responsibly",seoTitle:"How to Share an Aggie Story Responsibly | AI Identifiers",title:"Share an Aggie story without losing the human context",description:"A practical guide to reviewing, crediting, and sharing an Aggie story with consent, source notes, and a clear distinction between memory and verified event information.",intro:"Before you publish a story, make it easy for readers to tell what you experienced, what someone else told you, and what still needs confirmation.",ctaLabel:"Join the Community on Aggies Portal.",statusLabel:"A simple review before publishing",statusText:"This guide does not verify a story for you. It helps you review consent, attribution, private details, dates, images, and links before you share.",sections:[{icon:"shield",title:"Check consent and attribution",body:"Confirm that each named person wants to be named and that every quotation, image, and borrowed detail has a clear source or permission."},{icon:"link",title:"Label what is known",body:"Use source links for current event facts and phrases such as “I remember” for personal recollection. Do not let an evocative memory read like an official announcement."},{icon:"sparkles",title:"Keep the story useful",body:"End with a question, lesson, or invitation that gives readers a respectful way to connect rather than asking them to accept an unsupported claim."}],relatedRoutes:["/aggie-stories","/homecoming","/homecoming-perks"],storyRoutes:[...et]},"/homecoming-perks":{slug:"homecoming-perks",path:"/homecoming-perks",navLabel:"Connection & perks",eyebrow:"Post-Homecoming connection & perks",seoTitle:"Post-Homecoming Connection & Perks | Aggies Portal",title:"Let Homecoming be the start of the next connection",description:"Review post-Homecoming connection ideas and check the Aggies Portal for any available, clearly disclosed AI Identifiers benefits.",intro:"A meaningful follow-up can be as simple as checking in, sharing a resource, or planning the next reunion. If AI Identifiers makes a perk available, its eligibility, limits, and expiration will appear in the portal.",ctaLabel:"Go to My Aggies Portal Dashboard.",statusLabel:"Perks are not guaranteed",statusText:"This page does not promise discounts, merchandise, event access, or ongoing benefits. Any available offer must be confirmed in the Aggies Portal and remains subject to its displayed terms.",sections:[{icon:"heart",title:"Follow up with intention",body:"Send the note, share the photo with permission, or make the introduction you talked about during the weekend."}
13,{icon:"users",title:"Keep community reciprocal",body:"Support can mean mentoring, listening, volunteering, or amplifying opportunities without making benefits transactional."},{icon:"shield",title:"Review every offer",body:"Check the source, eligibility, privacy terms, limits, and expiration before relying on a promotion or sharing it with others."}],relatedRoutes:["/homecoming","/aggie-stories","/friends-family-pass"]}};function Ux(t){return Ai[t]}function Gx(t){return Object.prototype.hasOwnProperty.call(Ai,t)}const w="https://aiidentifiers.com",er=[{path:"/",canonical:`${w}/`,title:"AI Identifiers LLC | Official AI Identifiers Technology Site",description:"AI Identifiers Technology provides probabilistic AI-content analysis across supported text, images, audio, and video formats, with a dedicated access path for eligible North Carolina A&T students during the 2026 Centennial Edition of The Greatest Homecoming on Earth.",priority:1,changefreq:"daily"},{path:"/free-ai-detector",canonical:`${w}/free-ai-detector`,title:"Free AI Detector — Detect ChatGPT, Claude, Midjourney & Deepfakes",description:"Free core AI-content analysis at $0 within the displayed usage limits. Optional paid additions provide higher-volume access and additional features.",priority:1,changefreq:"daily"},{path:"/ncat",canonical:`${w}/ncat`,title:"NC A&T Free AI Detector & Academic Verification | Aggie Student Portal",description:"Dedicated AI-content analysis access for eligible North Carolina A&T students. Sign in through the Aggie Student Portal to review current access and usage terms.",priority:.9,changefreq:"monthly"},{path:"/student-ai-detection",canonical:`${w}/student-ai-detection`,title:"AI Detection for Students — A Responsible Review Guide",description:"A practical guide for students using probabilistic AI-content signals, drafting evidence, and the North Carolina A&T student portal.",priority:.8,changefreq:"monthly"},{path:"/academic-integrity-review",canonical:`${w}/academic-integrity-review`,title:"Academic Integrity Review — Evidence Before Enforcement",description:"Use AI-content signals with context, documented process, and human review in higher education.",priority:.75,changefreq:"monthly"},{path:"/university-ai-literacy",canonical:`${w}/university-ai-literacy`,title:"University AI Literacy — Teach Students to Read Evidence",description:"A practical guide to AI literacy, provenance, uncertainty, disclosure, privacy, and human review.",priority:.75,changefreq:"monthly"},{path:"/student-writing-review",canonical:`${w}/student-writing-review`,title:"Student Writing Review — Understand AI-Associated Signals",description:"Learn how to review student writing signals without treating a score as proof, with a link to the A&T student portal.",priority:.75,changefreq:"monthly"},{path:"/ncat-centennial-access",canonical:`${w}/ncat-centennial-access`,title:"North Carolina A&T Centennial Student Access",description:"Student access information for AI Identifiers during North Carolina A&T’s 2026 Centennial Edition of The Greatest Homecoming on Earth.",priority:.85,changefreq:"monthly"},{path:"/blog",canonical:`${w}/blog`,title:"Blog - AI Identifiers | AI Detection Insights",description:"Latest news, insights, and guides on AI detection, deepfakes, and content authenticity.",priority:.9,changefreq:"daily"},{path:"/enterprise",canonical:`${w}/enterprise`,title:"Enterprise AI Detection - AI Identifiers",description:"Enterprise-grade AI detection solutions for organizations. Custom integrations, dedicated support, and advanced security.",priority:.9,changefreq:"weekly"},{path:"/pricing",canonical:`${w}/pricing`,title:"AI Identifiers Pricing — Free Core Access & Optional Paid Additions",description:"Start with $0 core AI-content analysis within the displayed usage limits. Optional paid additions provide higher-volume access and additional features.",priority:.9,changefreq:"weekly"},{path:"/emoji-market",canonical:`${w}/emoji-market`,title:"Aggie Signal Assets — Individual Emoji Market | AI Identifiers",description:"Discover original Aggie signal assets, inspect file fingerprints, and license one digital emoji asset at a time through AI Identifiers Technology.",priority:.8,changefreq:"weekly"},{path:"/qr",canonical:`${w}/qr`,title:"AI Identifiers QR Code — Share & Download",description:"View, customize, and download the AI Identifiers QR code for sharing online or on Instagram.",priority:.5,changefreq:"monthly"},{path:"/playground",canonical:`${w}/playground`,title:"API Playground — AI Identifiers | Live Test & Explore",description:"Test the AI Identifiers REST API, MCP JSON-RPC, and SSE streaming live in your browser. No credit card required for demo requests.",priority:.8,changefreq:"weekly"},{path:"/models",canonical:`${w}/models`,title:"AI Model Coverage — AI Identifiers | Detection Support Status",description:"Live coverage status for 26+ AI models including GPT-4o, Claude 3.5, Midjourney v6, ElevenLabs v3, Sora, and Google SynthID with detection accuracy and benchmark dates.",priority:.8,changefreq:"weekly"},{path:"/enterprise/sla",canonical:`${w}/enterprise/sla`,title:"Enterprise SLA Calculator — AI Identifiers | Volume Pricing & Procurement",description:"Calculate volume pricing from 10K to 10M scans/month, get latency SLAs, and download a one-page enterprise procurement PDF for AWS and GCP Marketplace.",priority:.8,changefreq:"monthly"},{path:"/integrations/lms",canonical:`${w}/integrations/lms`,title:"LTI 1.3 LMS Integration — AI Identifiers for Canvas, Blackboard & Moodle",description:"Connect AI Identifiers directly inside Canvas, Blackboard, Moodle, and D2L via LTI 1.3 Advantage. Automatic AI detection inside SpeedGrader on every submission.",priority:.85,changefreq:"monthly"},{path:"/contact",canonical:`${w}/contact`,title:"Contact Us - AI Identifiers",description:"Get in touch with the AI Identifiers team for support, partnerships, or enterprise inquiries.",priority:.7,changefreq:"monthly"},{path:"/about",canonical:`${w}/about`,title:"About AI Identifiers LLC | AI Identifiers Technology",description:"Learn about AI Identifiers LLC and the history of AI Identifiers Technology.",priority:.7,changefreq:"monthly"},{path:"/press",canonical:`${w}/press`,title:"Press Kit — AI Identifiers | Media Resources & Boilerplate",description:"Official AI Identifiers press kit. Download logos, read approved boilerplate copy, get key facts and stats, and contact our press team for media inquiries.",priority:.7,changefreq:"monthly"},{path:"/privacy",canonical:`${w}/privacy`,title:"Privacy Policy - AI Identifiers",description:"AI Identifiers privacy policy. Learn how we protect your data and respect your privacy.",priority:.4,changefreq:"yearly"},{path:"/terms",canonical:`${w}/terms`,title:"Terms of Service - AI Identifiers",description:"AI Identifiers terms of service and user agreement.",priority:.4,changefreq:"yearly"},{path:"/dmca",canonical:`${w}/dmca`,title:"Copyright & DMCA Policy - AI Identifiers",description:"How to report suspected copyright infringement or request review of a public AI Identifiers certificate.",priority:.3,changefreq:"yearly"},{path:"/refund-policy",canonical:`${w}/refund-policy`,title:"Refund Policy - AI Identifiers",description:"Refund and billing policy for AI Identifiers subscriptions, credit packs, and pay-as-you-go scans.",priority:.3,changefreq:"yearly"},{path:"/support",canonical:`${w}/support`,title:"Support - AI Identifiers",description:"Get help with AI Identifiers. FAQs, documentation, and contact support.",priority:.6,changefreq:"monthly"},{path:"/sitemap",canonical:`${w}/sitemap`,title:"Sitemap - AI Identifiers",description:"Complete sitemap of AI Identifiers website.",priority:.3,changefreq:"weekly"},{path:"/ai-detector",canonical:`${w}/ai-detector`,title:"AI Detector - Free AI Content Detection Tool",description:"Free AI content detector that assesses signals associated with ChatGPT, Claude, Gemini, and other AI-generated text.",priority:.95,changefreq:"daily"},{path:"/chatgpt-detector",canonical:`${w}/chatgpt-detector`,title:"ChatGPT Detector - Detect ChatGPT Generated Content",description:"Accurate ChatGPT detection tool. Identify content generated by ChatGPT-3.5, ChatGPT-4, and GPT-4o.",priority:.9,changefreq:"weekly"},{path:"/bard-detector",canonical:`${w}/bard-detector`,title:"Bard/Gemini Detector - Detect Google AI Content",description:"Detect content generated by Google Bard and Gemini AI models with high accuracy.",priority:.85,changefreq:"weekly"},{path:"/claude-detector",canonical:`${w}/claude-detector`,title:"Claude Detector - Detect Anthropic AI Content",description:"Detect content generated by Claude AI from Anthropic with precision detection algorithms.",priority:.85,changefreq:"weekly"},{path:"/ai-plagiarism-checker",canonical:`${w}/ai-plagiarism-checker`,title:"AI Plagiarism Checker - Detect AI-Generated Plagiarism",description:"Check for AI-generated plagiarism in academic and professional content. Trusted by educators worldwide.",priority:.9,changefreq:"weekly"},{path:"/legal-ai-detection",canonical:`${w}/legal-ai-detection`,title:"Legal AI Detection - AI Detection for Law Firms",description:"AI detection solutions for legal professionals. Verify document authenticity and detect AI-generated legal content.",priority:.8,changefreq:"weekly"},{path:"/google-partnership",canonical:`${w}/google-partnership`,title:"Google SynthID Signal Support - AI Identifiers",description:"AI Identifiers inspects supported Google SynthID signals when they are present in reviewed content.",priority:.8,changefreq:"monthly"},{path:"/synthid-integration",canonical:`${w}/synthid-integration`,title:"SynthID Integration - AI Identifiers",description:"Integration with Google SynthID for detecting AI-generated content with watermark detection.",priority:.8,changefreq:"monthly"},{path:"/google-ai-technology",canonical:`${w}/google-ai-technology`,title:"AI Identifiers Technology - Multimodal AI Detection",description:"Explore AI Identifiers Technology for probabilistic content analysis across text, images, audio, and video.",priority:.75,changefreq:"monthly"},{path:"/google-synthid-technology",canonical:`${w}/google-synthid-technology`,title:"Google SynthID Technology - AI Identifiers",description:"How AI Identifiers uses Google SynthID technology for accurate AI detection.",priority:.75,changefreq:"monthly"},{path:"/google-cloud-ai-integration",canonical:`${w}/google-cloud-ai-integration`,title:"Enterprise AI Technology - AI Identifiers",description:"Enterprise AI detection from AI Identifiers Technology with scalable processing, security controls, and integration options.",priority:.7,changefreq:"monthly"},{path:"/enterprise-ai-detection",canonical:`${w}/enterprise-ai-detection`,title:"Enterprise AI Detection Solutions - AI Identifiers",description:"Enterprise-scale AI detection with custom integrations, SSO, and dedicated support.",priority:.85,changefreq:"weekly"},{path:"/ai-detection-history",canonical:`${w}/ai-detection-history`,title:"History of AI Detection - AI Identifiers",description:"The evolution of AI detection technology from early methods to modern deep learning approaches.",priority:.6,changefreq:"monthly"},{path:"/investors",canonical:`${w}/investors`,title:"Investor Relations - AI Identifiers",description:"Investment opportunities with AI Identifiers. Join the AI detection revolution.",priority:.7,changefreq:"monthly"},{path:"/careers",canonical:`${w}/careers`,title:"Careers - AI Identifiers",description:"Join the AI Identifiers team. Browse open positions in AI, engineering, and more.",priority:.7,changefreq:"weekly"},{path:"/careers/social-media-influencer",canonical:`${w}/careers/social-media-influencer`,title:"Social Media Influencer Job - AI Identifiers",description:"Join AI Identifiers as a Social Media Influencer and Ambassador.",priority:.5,changefreq:"monthly"},{path:"/careers/investment-manager",canonical:`${w}
13/careers/investment-manager`,title:"Investment Manager Job - AI Identifiers",description:"Join AI Identifiers as an Investment Manager.",priority:.5,changefreq:"monthly"},{path:"/careers/senior-ml-engineer",canonical:`${w}/careers/senior-ml-engineer`,title:"Senior ML Engineer Job - AI Identifiers",description:"Join AI Identifiers as a Senior Machine Learning Engineer.",priority:.5,changefreq:"monthly"},{path:"/careers/security-researcher",canonical:`${w}/careers/security-researcher`,title:"Security Researcher Job - AI Identifiers",description:"Join AI Identifiers as a Security Researcher.",priority:.5,changefreq:"monthly"},{path:"/community",canonical:`${w}/community`,title:"Community - AI Identifiers",description:"Join the AI Identifiers community. Connect with researchers, developers, and AI detection enthusiasts.",priority:.6,changefreq:"weekly"},{path:"/get-involved",canonical:`${w}/get-involved`,title:"Get Involved - AI Identifiers",description:"Contribute to AI Identifiers. Research partnerships, open source contributions, and more.",priority:.6,changefreq:"monthly"},{path:"/leaderboard",canonical:`${w}/leaderboard`,title:"Leaderboard - AI Identifiers",description:"AI detection accuracy leaderboard. Compare AI detection tools and models.",priority:.7,changefreq:"weekly"},{path:"/api-tiers",canonical:`${w}/api-tiers`,title:"API Tiers & Pricing - AI Identifiers",description:"AI detection API pricing: Free (15 scans/month; 15 MCP/A2A calls/mo), PAYG $0.25/scan metered by Stripe, Volume $0.003/scan at 100K+, Enterprise custom.",priority:.75,changefreq:"weekly"},{path:"/researchers",canonical:`${w}/researchers`,title:"For Researchers - AI Identifiers",description:"AI detection resources for researchers. Datasets, papers, and collaboration opportunities.",priority:.7,changefreq:"monthly"},{path:"/bug-bounty",canonical:`${w}/bug-bounty`,title:"Bug Bounty Program - AI Identifiers",description:"AI Identifiers security bug bounty program. Report vulnerabilities and earn rewards.",priority:.5,changefreq:"monthly"},{path:"/international",canonical:`${w}/international`,title:"International - AI Identifiers",description:"AI Identifiers global presence. AI detection solutions for organizations worldwide.",priority:.6,changefreq:"monthly"},{path:"/enterprise-integrations",canonical:`${w}/enterprise-integrations`,title:"Enterprise Integrations - AI Identifiers",description:"Enterprise integration options for AI detection. API, SSO, SAML, and custom solutions.",priority:.75,changefreq:"monthly"},{path:"/eu-ai-act-compliance",canonical:`${w}/eu-ai-act-compliance`,title:"EU AI Act Compliance - AI Identifiers",description:"EU AI Act compliance solutions. Meet regulatory requirements with AI detection.",priority:.7,changefreq:"monthly"},{path:"/regulatory-expertise",canonical:`${w}/regulatory-expertise`,title:"Regulatory Expertise - AI Identifiers",description:"AI regulation compliance expertise. Navigate AI governance with confidence.",priority:.65,changefreq:"monthly"},{path:"/services",canonical:`${w}/services`,title:"Services - AI Identifiers",description:"AI detection services for businesses. Custom solutions, consulting, and implementation.",priority:.8,changefreq:"weekly"},{path:"/university-ai-detection",canonical:`${w}/university-ai-detection`,title:"University AI Detection - AI Identifiers",description:"AI detection for universities and academic institutions. Maintain academic integrity.",priority:.8,changefreq:"weekly"},{path:"/university-partnerships",canonical:`${w}/university-partnerships`,title:"University Partnerships - AI Identifiers",description:"Partner with AI Identifiers for academic AI detection solutions and research collaboration.",priority:.7,changefreq:"monthly"},{path:"/data-network-effects",canonical:`${w}/data-network-effects`,title:"Data Network Effects - AI Identifiers",description:"How AI Identifiers data network effects improve detection accuracy over time.",priority:.5,changefreq:"monthly"},{path:"/comparison",canonical:`${w}/comparison`,title:"AI Detection Tool Comparison - AI Identifiers",description:"Compare AI detection tools. See how AI Identifiers stacks up against competitors.",priority:.75,changefreq:"weekly"},{path:"/buyers-guide",canonical:`${w}/buyers-guide`,title:"AI Detection Buyers Guide - AI Identifiers",description:"Complete guide to choosing an AI detection solution for your organization.",priority:.7,changefreq:"monthly"},{path:"/case-studies",canonical:`${w}/case-studies`,title:"Case Studies - AI Identifiers",description:"AI detection success stories and case studies from organizations worldwide.",priority:.7,changefreq:"monthly"},{path:"/security",canonical:`${w}/security`,title:"Security - AI Identifiers",description:"AI Identifiers security practices, certifications, and data protection.",priority:.6,changefreq:"monthly"},{path:"/developers",canonical:`${w}/developers`,title:"Developer Tools - AI Identifiers",description:"AI detection API and developer tools. Build AI detection into your applications.",priority:.8,changefreq:"weekly"},{path:"/competitive",canonical:`${w}
13/competitive`,title:"Competitive Analysis - AI Identifiers",description:"How AI Identifiers compares to other AI detection solutions.",priority:.6,changefreq:"monthly"},{path:"/traffic-growth-strategy",canonical:`${w}/traffic-growth-strategy`,title:"Traffic Growth Strategy - AI Identifiers",description:"AI Identifiers growth and marketing strategy.",priority:.4,changefreq:"monthly"},{path:"/samples",canonical:`${w}/samples`,title:"AI Detection Samples & Examples | AI Identifiers",description:"Sample results and examples from AI Identifiers detection platform.",priority:.75,changefreq:"monthly"},{path:"/trademark-application",canonical:`${w}/trademark-application`,title:"Trademark Application - AI Identifiers Brand Protection",description:"AI Identifiers trademark application and intellectual property protection.",priority:.5,changefreq:"yearly"},{path:"/badge",canonical:`${w}/badge`,title:"AI Detection Badge — Embed on Any Website | AI Identifiers",description:"Add a verified AI detection badge to your website, blog, or portfolio. Configurable SVG badge shows real-time detection status.",priority:.8,changefreq:"monthly"},{path:"/vs/hive-moderation",canonical:`${w}/vs/hive-moderation`,title:"AI Identifiers vs Hive Moderation — Full Comparison 2025",description:"Detailed comparison of AI Identifiers and Hive Moderation: accuracy, pricing, API, deepfake detection, and supported media types.",priority:.75,changefreq:"weekly"},{path:"/vs/sensity-ai",canonical:`${w}/vs/sensity-ai`,title:"AI Identifiers vs Sensity AI — Full Comparison 2025",description:"Compare AI Identifiers vs Sensity AI on deepfake detection, pricing, API, accuracy, and enterprise features.",priority:.75,changefreq:"weekly"},{path:"/vs/originality-ai",canonical:`${w}/vs/originality-ai`,title:"AI Identifiers vs Originality.ai — Full Comparison 2025",description:"AI Identifiers vs Originality.ai: AI text detection accuracy, pricing plans, API access, and media type coverage.",priority:.75,changefreq:"weekly"},{path:"/vs/gptzero",canonical:`${w}/vs/gptzero`,title:"AI Identifiers vs GPTZero — Full Comparison 2025",description:"Compare AI Identifiers vs GPTZero for AI text detection, image detection, API pricing, and accuracy benchmarks.",priority:.75,changefreq:"weekly"},{path:"/vs/copyleaks",canonical:`${w}/vs/copyleaks`,title:"AI Identifiers vs Copyleaks — Full Comparison 2025",description:"AI Identifiers vs Copyleaks: AI content detection vs plagiarism detection, accuracy, pricing, and API comparison.",priority:.75,changefreq:"weekly"},{path:"/vs/winston-ai",canonical:`${w}/vs/winston-ai`,title:"AI Identifiers vs Winston AI — Full Comparison 2025",description:"Compare AI Identifiers vs Winston AI: detection accuracy, media type support, API, pricing, and enterprise features.",priority:.75,changefreq:"weekly"},{path:"/vs/content-at-scale",canonical:`${w}/vs/content-at-scale`,title:"AI Identifiers vs Content at Scale — Full Comparison 2025",description:"AI Identifiers vs Content at Scale: AI detection accuracy, pricing, API access, and image/video support compared.",priority:.75,changefreq:"weekly"},{path:"/vs/undetectable-ai",canonical:`${w}/vs/undetectable-ai`,title:"AI Identifiers vs Undetectable AI — Full Comparison 2025",description:"Compare AI Identifiers vs Undetectable AI: detection vs evasion, accuracy on humanized text, API, and pricing.",priority:.75,changefreq:"weekly"},{path:"/analyze",canonical:`${w}/analyze`,title:"Analyze AI Content — AI Identifiers | Free Detection Tool",description:"Upload supported images, PDF documents, audio, or video for a probabilistic AI-content assessment with confidence and provenance signals.",priority:.9,changefreq:"weekly"},{path:"/students",canonical:`${w}/students`,title:"AI Detection for Students — AI Identifiers",description:"Resources for students using AI Identifiers responsibly for probabilistic AI-content review within the displayed free-tier limits.",priority:.8,changefreq:"monthly"},{path:"/identify",canonical:`${w}/identify`,title:"Identify AI Content — AI Identifiers | Instant Detection",description:"Instantly identify AI-generated content across text, images, audio, and video. Free plan available.",priority:.9,changefreq:"weekly"},{path:"/get-api-key",canonical:`${w}/get-api-key`,title:"Get Your AI Detection API Key — AI Identifiers",description:"Get an API key to integrate AI Identifiers detection into your applications. Free hosted accounts include 15 scans per month.",priority:.8,changefreq:"weekly"},{path:"/deepfake-detection-api",canonical:`${w}/deepfake-detection-api`,title:"Deepfake Detection API — AI Identifiers | REST & MCP",description:"Enterprise deepfake detection API for probabilistic analysis of AI-generated faces, videos, and synthetic media. REST API and MCP server.",priority:.8,changefreq:"monthly"},{path:"/ai-content-verification-api",canonical:`${w}/ai-content-verification-api`,title:"AI Content Verification API — AI Identifiers",description:"Verify AI-generated content at scale via REST API. Full ensemble detection across text, images, audio, and video.",priority:.8,changefreq:"monthly"},{path:"/ai-image-detector-api",canonical:`${w}/ai-image-detector-api`,title:"AI Image Detector API — AI Identifiers | DALL-E, Midjourney Detection",description:"Detect AI-generated images via REST API using forensic and provenance signals for DALL-E, Midjourney, Stable Diffusion, and Firefly.",priority:.8,changefreq:"monthly"},{path:"/ai-text-detector-api",canonical:`${w}/ai-text-detector-api`,title:"AI Text Detector API — AI Identifiers | ChatGPT, Claude, Gemini",description:"Detect AI-generated text via REST API using probabilistic signals for ChatGPT, Claude, Gemini, Grok, and 20+ other language models.",priority:.8,changefreq:"monthly"},{path:"/synthetic-media-detection-api",canonical:`${w}/synthetic-media-detection-api`,title:"Synthetic Media Detection API — AI Identifiers",description:"Detect synthetic media including AI video, audio deepfakes, and GAN-generated images at scale via API.",priority:.8,changefreq:"monthly"},{path:"/audio-deepfake-checker",canonical:`${w}/audio-deepfake-checker`,title:"Audio Deepfake Checker — Detect AI Voice Clones | AI Identifiers",description:"Check audio for signals associated with AI-generated voice clones, synthetic speech, and deepfake audio. Free tool.",priority:.9,changefreq:"weekly"},{path:"/pdf-ai-detector",canonical:`${w}/pdf-ai-detector`,title:"PDF AI Detector — Detect AI-Generated PDFs | AI Identifiers",description:"Upload a PDF to detect AI-generated content inside. Supports academic papers, legal documents, and reports.",priority:.9,changefreq:"weekly"},{path:"/video-deepfake-detector",canonical:`${w}/video-deepfake-detector`,title:"Video Deepfake Detector — AI-Generated Video Detection | AI Identifiers",description:"Detect AI-generated and deepfake videos with frame-by-frame forensic and provenance analysis. Free tool.",priority:.9,changefreq:"weekly"},{path:"/ai-voice-detector",canonical:`${w}/ai-voice-detector`,title:"AI Voice Detector — Detect AI-Generated Audio | AI Identifiers",description:"Detect signals associated with AI-generated voices, ElevenLabs clones, and synthetic speech.",priority:.9,changefreq:"weekly"},{path:"/product-tour",canonical:`${w}/product-tour`,title:"Product Tour — See AI Identifiers Live | AI Detection Platform",description:"Take a live tour of AI Identifiers. See probabilistic AI-content analysis across text, images, audio, and video in production.",priority:.8,changefreq:"monthly"},{path:"/marketplace",canonical:`${w}/marketplace`,title:"AI Identifiers on Google Cloud Marketplace — Enterprise AI Detection API",description:"Deploy probabilistic AI-content analysis via Google Cloud Marketplace with unified GCP billing, REST API access, and an MCP server.",priority:.9,changefreq:"monthly"},{path:"/trust",canonical:`${w}/trust`,title:"Trust & Transparency — AI Identifiers | Security & Compliance",description:"How AI Identifiers protects your data, maintains accuracy, and meets enterprise security and compliance standards.",priority:.8,changefreq:"monthly"},{path:"/faq",canonical:`${w}/faq`,title:"Frequently Asked Questions — AI Identifiers",description:"Answers to common questions about AI Identifiers: how it works, supported formats, pricing, API access, and accuracy.",priority:.7,changefreq:"monthly"},{path:"/store",canonical:`${w}/store`,title:"AI Identifiers Store — Merch & Branded Items",description:"Official AI Identifiers store. Browse branded merchandise and supporter items.",priority:.5,changefreq:"weekly"},{path:"/our-team",canonical:`${w}/our-team`,title:"Our Team — AI Identifiers",description:"Meet the team behind AI Identifiers — the AI detection platform trusted by enterprises and educators worldwide.",priority:.5,changefreq:"monthly"},{path:"/commercial",canonical:`${w}/commercial`,title:"Commercial AI Detection — AI Identifiers for Business",description:"Commercial AI detection solutions for marketing, media, and business teams. Protect brand authenticity at scale.",priority:.6,changefreq:"monthly"},{path:"/enterprise-landing",canonical:`${w}/enterprise-landing`,title:"Enterprise AI Detection Platform — AI Identifiers",description:"AI Identifiers for enterprise: custom workloads, SSO, SLA, dedicated infrastru
13cture, and compliance support.",priority:.7,changefreq:"monthly"},{path:"/gcp/signup",canonical:`${w}/gcp/signup`,title:"Sign Up via Google Cloud — AI Identifiers",description:"Subscribe to AI Identifiers through Google Cloud Marketplace using your existing GCP billing account.",priority:.6,changefreq:"monthly"},{path:"/integrity-agent",canonical:`${w}/integrity-agent`,title:"Integrity Agent — AI-Powered Detection Assistant | AI Identifiers",description:"Chat with the AI Identifiers Integrity Agent to detect AI-generated content, ask questions, and get instant analysis.",priority:.6,changefreq:"weekly"},{path:"/ai-tool-trends",canonical:`${w}/ai-tool-trends`,title:"AI Tool Trends — Live Detection Statistics | AI Identifiers",description:"Live trends from AI Identifiers scans: which AI models are most detected, top content types, and weekly trend shifts.",priority:.6,changefreq:"weekly"},{path:"/services-landing",canonical:`${w}/services-landing`,title:"AI Detection Services — AI Identifiers",description:"AI Identifiers detection services for organizations: API integration, consulting, and managed detection.",priority:.6,changefreq:"monthly"},{path:"/blog-landing",canonical:`${w}/blog-landing`,title:"AI Detection Blog — AI Identifiers | Research & Guides",description:"Research, guides, and news on AI detection, deepfakes, and content authenticity from the AI Identifiers team.",priority:.6,changefreq:"weekly"},{path:"/blog/authors",canonical:`${w}/blog/authors`,title:"Blog Authors — AI Identifiers",description:"Meet the researchers and writers behind the AI Identifiers blog.",priority:.5,changefreq:"monthly"},{path:"/login",canonical:`${w}/login`,title:"Sign In — AI Identifiers",description:"Sign in to your AI Identifiers account to access your detection history, API keys, and plan.",priority:.3,changefreq:"yearly"},{path:"/register",canonical:`${w}/register`,title:"Create Account — AI Identifiers | Free AI Detection",description:"Create a free AI Identifiers account. Get 15 scans/month, detection history, and API access — no credit card required.",priority:.4,changefreq:"yearly"},{path:"/privacy-policy",canonical:`${w}/privacy`,title:"Privacy Policy - AI Identifiers",description:"AI Identifiers privacy policy. Learn how we protect your data and respect your privacy.",priority:.4,changefreq:"yearly"},{path:"/terms-of-service",canonical:`${w}/terms`,title:"Terms of Service - AI Identifiers",description:"AI Identifiers terms of service and user agreement.",priority:.4,changefreq:"yearly"},{path:"/extension",canonical:`${w}/extension`,title:"AI Identifiers Browser Extension | Check Webpage Content",description:"Use the AI Identifiers browser extension to review webpage text and images with probabilistic AI-content signals while you browse.",priority:.8,changefreq:"monthly"},...Rp.map(t=>{const a=Ai[t];return{path:t,canonical:`${w}${t}`,title:a.seoTitle,description:a.description,priority:t==="/homecoming"?.8:.7,changefreq:"monthly"}})],tr=[{path:"/blog/real-vs-simulated-ai-detection-guide",canonical:`${w}/blog/real-vs-simulated-ai-detection-guide`,title:"Real vs Simulated AI Detection - Complete Guide",description:"Understanding the difference between real and simulated AI detection methods.",priority:.7,changefreq:"monthly"},{path:"/blog/nc-at-ai-program-student-guide",canonical:`${w}/blog/nc-at-ai-program-student-guide`,title:"NC AT AI Program Student Guide",description:"Student guide to NC AT AI program and detection.",priority:.6,changefreq:"monthly"},{path:"/blog/epstein-files-document-verification",canonical:`${w}/blog/epstein-files-document-verification`,title:"Epstein Files Document Verification",description:"AI verification analysis of document authenticity.",priority:.6,changefreq:"monthly"}];function Lp(t){const a=t.replace(/\/+$/,"")||"/",n=er.find(o=>o.path===a);if(n)return n.canonical;const i=tr.find(o=>o.path===a);return i?i.canonical:`${w}${a}`}function zp(t){const a=t.replace(/\/+$/,"")||"/";return er.find(n=>n.path===a)||tr.find(n=>n.path===a)}function ar({title:t,description:a,keywords:n=["AI Identifiers Technology","AI identification technology","AI detection","deepfake detection","synthetic media detection","AI-generated content detection","ChatGPT detector","AI plagiarism checker","MCP technology integrations","artificial intelligence verification","content authenticity","digital forensics"],canonicalUrl:i,ogImage:o="https://aiidentifiers.com/og-image.png",ogImageAlt:r,ogType:c="website",structuredData:l,noIndex:u=!1,author:d}){const m=typeof window<"u"&&window.location.pathname.replace(/\/+$/,"")||"/",p=zp(m),b=t||p?.title||"AI Identifiers Technology | AI Content Detection",x=a||p?.description||"AI Identifiers Technology for probabilistic content analysis and provenance-signal review across text, images, audio, and video. Results vary by content, model, language, and editing.",y=i||Lp(m),g=u,v=Array.isArray(n)?n.join(", "):n;return e.jsxs(je,{children:[e.jsx("title",{children:b}),e.jsx("meta",{name:"description",content:x}),e.jsx("meta",{name:"keywords",content:v}),e.jsx("link",{rel:"canonical",href:y}),e.jsx("meta",{name:"robots",content:g?"noindex, nofollow":"index, follow"}),e.jsx("meta",{property:"og:title",content:b}),e.jsx("meta",{property:"og:description",content:x}),e.jsx("meta",{property:"og:type",content:c}),e.jsx("meta",{property:"og:url",content:y}),e.jsx("meta",{property:"og:image",content:o}
13),e.jsx("meta",{property:"og:image:width",content:"1200"}),e.jsx("meta",{property:"og:image:height",content:"630"}),e.jsx("meta",{property:"og:image:type",content:"image/png"}),e.jsx("meta",{property:"og:image:alt",content:r||"AI Identifiers Technology — AI Detection & Verification Platform"}),e.jsx("meta",{property:"og:site_name",content:"AI Identifiers Technology"}),e.jsx("meta",{name:"twitter:card",content:"summary_large_image"}),e.jsx("meta",{name:"twitter:title",content:b}),e.jsx("meta",{name:"twitter:description",content:x}),e.jsx("meta",{name:"twitter:image",content:o}),e.jsx("meta",{name:"twitter:image:alt",content:r||"AI Identifiers Technology — AI Detection & Verification Platform"}),e.jsx("meta",{name:"author",content:d||"AI Identifiers LLC"}),e.jsx("meta",{name:"publisher",content:"AI Identifiers LLC"}),e.jsx("meta",{name:"copyright",content:`© ${new Date().getFullYear()} AI Identifiers LLC. All rights reserved.`}),l&&e.jsx("script",{type:"application/ld+json",children:JSON.stringify(l)})]})}function Mp(){const[t,a]=s.useState(!1),[n,i]=s.useState(null),[o,r]=s.useState(!1);s.useEffect(()=>{const u=m=>{m.preventDefault(),i(m),r(!0),setTimeout(()=>{localStorage.getItem("pwa-install-dismissed")||a(!0)},3e4)},d=()=>{i(null),r(!1),a(!1),localStorage.setItem("pwa-installed","true")};return window.addEventListener("beforeinstallprompt",u),window.addEventListener("appinstalled",d),window.matchMedia("(display-mode: standalone)").matches&&r(!1),()=>{window.removeEventListener("beforeinstallprompt",u),window.removeEventListener("appinstalled",d)}},[]);const c=async()=>{n&&(n.prompt(),(await n.userChoice).outcome==="accepted"&&console.log("User accepted the install prompt"),i(null),a(!1))},l=()=>{a(!1),localStorage.setItem("pwa-install-dismissed","true")};return!t||!o?null:e.jsx("div",{className:"fixed bottom-16 left-4 right-4 z-40 hidden md:bottom-4 md:left-4 md:right-auto md:block md:max-w-sm",children:e.jsx(De,{className:"bg-gradient-to-r from-blue-600 to-purple-600 text-white border-0 shadow-lg",children:e.jsx(Te,{className:"p-4",children:e.jsxs("div",{className:"flex items-start space-x-3",children:[e.jsx("div",{className:"bg-white/20 rounded-full p-2 flex-shrink-0",children:e.jsx(io,{className:"w-5 h-5"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("h3",{className:"font-semibold text-sm mb-1",children:"Install AI Identifiers"}),e.jsx("p",{className:"text-xs text-blue-100 mb-3",children:"Get faster access and offline capabilities. Install our app on your device."}),e.jsxs("div",{className:"flex space-x-2",children:[e.jsxs(I,{onClick:c,size:"sm",className:"bg-white text-blue-600 hover:bg-blue-50 h-8 px-3 text-xs font-medium touch-manipulation",children:[e.jsx(qe,{className:"w-3 h-3 mr-1"}),"Install"]}),e.jsx(I,{onClick:l,variant:"ghost",size:"sm",className:"text-white hover:bg-white/20 h-8 px-3 text-xs touch-manipulation",children:"Maybe Later"})]})]}),e.jsx(I,{onClick:l,variant:"ghost",size:"sm",className:"text-white hover:bg-white/20 p-1 flex-shrink-0 touch-manipulation",children:e.jsx(ge,{className:"w-4 h-4"})})]})})})})}function Fp(){return s.useEffect(()=>{let t=!1,a=!1,n=null,i=null,o=0;const r=()=>{const m=window.orientation||screen.orientation?.angle||0;Math.abs(m)===90?(document.body.classList.add("landscape"),document.body.classList.remove("portrait")):(document.body.classList.add("portrait"),document.body.classList.remove("landscape"))},c=()=>{o=performance.now()},l=()=>{performance.now()-o>100&&(document.body.dataset.slowTouch="true")},u=()=>{if(document.hidden||!("memory"in performance))return;const m=performance.memory,p=m.usedJSHeapSize/m.jsHeapSizeLimit;document.body.classList.toggle("memory-pressure",p>.8)},d=()=>{if(t||a)return;t=!0;const m=navigator.connection,p=m?.effectiveType==="slow-2g"||m?.effectiveType==="2g";document.body.classList.toggle("slow-connection",p),r(),window.addEventListener("orientationchange",r),window.addEventListener("resize",r),document.addEventListener("touchstart",c,{passive:!0}),document.addEventListener("touchend",l,{passive:!0}),u(),n=setInterval(u,3e4),"getBattery"in navigator&&navigator.getBattery().then(b=>{if(a)return;const x=()=>{b.level<.2&&!b.charging?document.body.classList.add("low-battery"):document.body.classList.remove("low-battery")};x(),b.addEventListener("levelchange",x),b.addEventListener("chargingchange",x),i=()=>{b.removeEventListener("levelchange",x),b.removeEventListener("chargingchange",x)}})};return document.readyState==="complete"?d():window.addEventListener("load",d),()=>{a=!0,window.removeEventListener("load",d),t&&(window.removeEventListener("orientationchange",r),window.removeEventListener("resize",r),document.removeEventListener("touchstart",c),document.removeEventListener("touchend",l)),n&&clearInterval(n),i?.(),document.body.classList.remove("slow-connection","memory-pressure","low-battery","landscape","portrait"),delete document.body.dataset.slowTouch}},[]),null}
13const qp=[{title:"Core content forensics",description:"Evidence-led checks for the content people need to understand.",icon:Va,items:[{icon:Ei,title:"Multimodal analysis",detail:"Examine text, images, audio, and video with content-specific signals."},{icon:Ne,title:"Provenance inspection",detail:"Inspect supported provenance and SynthID signals when they are present."},{icon:ti,title:"Careful conclusions",detail:"Use probabilistic evidence and clear limitations—not a guaranteed verdict."}]},{title:"Developer and infrastructure API",description:"Bring supported verification and document workflows into products and teams.",icon:so,items:[{icon:no,title:"API and MCP access",detail:"Connect verification to supported applications and agent workflows through the public API and MCP JSON-RPC endpoint."},{icon:Va,title:"OCR and computer vision",detail:"Use supported document extraction, image analysis, and barcode inspection workflows."},{icon:Ei,title:"Batch workflows",detail:"Review multiple supported files with progress, history, and result context."}]}],Op=[{href:"/audio-deepfake-checker",title:"Audio deepfake checker",detail:"Review synthetic speech, voice clones, and audio provenance signals.",icon:rt,className:"text-amber-700 dark:text-amber-300",iconClassName:"bg-amber-100 text-amber-700 dark:bg-amber-950/50 dark:text-amber-300"},{href:"/pdf-ai-detector",title:"PDF AI detector",detail:"Find probabilistic AI-writing signals with page-level document review.",icon:Va,className:"text-blue-700 dark:text-blue-300",iconClassName:"bg-blue-100 text-blue-700 dark:bg-blue-950/50 dark:text-blue-300"},{href:"/video-deepfake-detector",title:"Video deepfake detector",detail:"Inspect video for face swaps, temporal artifacts, and synthetic footage.",icon:yt,className:"text-red-700 dark:text-red-300",iconClassName:"bg-red-100 text-red-700 dark:bg-red-950/50 dark:text-red-300"},{href:"/ai-voice-detector",title:"AI voice detector",detail:"Analyze voice recordings for cloning and synthetic-speech signals.",icon:ro,className:"text-violet-700 dark:text-violet-300",iconClassName:"bg-violet-100 text-violet-700 dark:bg-violet-950/50 dark:text-violet-300"}];function $p(){return e.jsxs("section",{"aria-labelledby":"forensic-engine-heading",className:"py-14 md:py-20","data-testid":"forensic-engine-overview",children:[e.jsxs("div",{className:"mx-auto max-w-3xl text-center",children:[e.jsx(xe,{variant:"outline",className:"mb-4 rounded-full px-3 py-1 font-mono text-xs uppercase tracking-[0.16em]",children:"Product and developer suite"}),e.jsx("h2",{id:"forensic-engine-heading",className:"text-3xl font-bold tracking-tight text-foreground md:text-4xl",children:"Comprehensive forensic engine"}),e.jsx("p",{className:"mt-3 text-base leading-7 text-muted-foreground md:text-lg",children:"Two focused layers keep analysis understandable: content evidence for reviewers and integration tools for the teams building around it."})]}),e.jsx("div",{className:"mt-10 grid grid-cols-1 gap-6 md:grid-cols-2",children:qp.map(t=>{const a=t.icon;return e.jsxs(De,{className:"border-border/80 bg-card shadow-sm transition-shadow hover:shadow-md",children:[e.jsxs(ct,{className:"pb-4",children:[e.jsx("div",{className:"mb-4 flex h-11 w-11 items-center justify-center rounded-xl bg-primary/10 text-primary",children:e.jsx(a,{className:"h-5 w-5","aria-hidden":"true"})}),e.jsx(lt,{className:"text-xl",children:t.title}),e.jsx("p",{className:"text-sm leading-6 text-muted-foreground",children:t.description})]}),e.jsx(Te,{children:e.jsx("ul",{className:"space-y-5",children:t.items.map(n=>{const i=n.icon;return e.jsxs("li",{className:"flex items-start gap-3",children:[e.jsx("span",{className:"mt-0.5 flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-muted text-primary",children:e.jsx(i,{className:"h-4 w-4","aria-hidden":"true"})}),e.jsxs("span",{children:[e.jsx("strong",{className:"block text-sm font-semibold text-foreground",children:n.title}),e.jsx("span",{className:"mt-1 block text-sm leading-6 text-muted-foreground",children:n.detail})]})]},n.title)})})})]},t.title)})}),e.jsxs("div",{className:"mt-12","aria-labelledby":"homepage-detection-tools-heading",children:[e.jsxs("div",{className:"mb-5 flex flex-col gap-2 sm:flex-row sm:items-end sm:justify-between",children:[e.jsxs("div",{children:[e.jsx("h3",{id:"homepage-detection-tools-heading",className:"text-2xl font-bold tracking-tight text-foreground",children:"What we detect"}),e.jsx("p",{className:"mt-1 text-sm leading-6 text-muted-foreground",children:"Start with a focused workflow for the content you need to review."})]}),e.jsx(B,{href:"/analyze",className:"text-sm font-semibold text-primary transition-colors hover:text-primary/80 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2",children:"Open the scan workspace →"})]}),e.jsx("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2",children:Op.map(t=>{const a=t.icon;return e.jsx(B,{href:t.href,className:"group block h-full rounded-xl focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2","data-testid":`link-detection-tool-${t.href.slice(1)}`,children:e.jsx(De,{className:"h-full border-border/80 bg-card transition-all hover:-translate-y-0.5 hover:border-primary/40 hover:shadow-md",children:e.jsxs(Te,{className:"flex h-full items-start gap-4 p-5",children:[e.jsx("span",{className:`flex h-10 w-10 shrink-0 items-center justify-center rounded-lg ${t.iconClassName}`,children:e.jsx(a,{className:"h-5 w-5","aria-hidden":"true"})}),e.jsxs("span",{className:"min-w-0",children:[e.jsx("strong",{className:`block text-sm font-semibold group-hover:underline ${t.className}`,children:t.title}),e.jsx("span",{className:"mt-1 block text-sm leading-6 text-muted-foreground",children:t.detail})]})]})})},t.href)})})]}),e.jsx("div",{className:"mt-6 flex justify-center",children:e.jsx(xe,{className:"rounded-full bg-amber-100 px-3 py-1 text-amber-900 hover:bg-amber-100 dar
13k:bg-amber-950/60 dark:text-amber-200",children:"Cloud marketplace publication pending external approval"})})]})}function Up({title:t,description:a,canonicalUrl:n,alternateLanguages:i=[],targetCountries:o=[],globalKeywords:r=[]}){const{i18n:c}=he(),l=ta(c.resolvedLanguage||c.language||"en"),u=[{hreflang:"en",href:n,language:"English"},{hreflang:"x-default",href:n,language:"Default"}],d=i.length>0?i:u,m={"@context":"https://schema.org","@type":"Organization",name:"AI Identifiers",alternateName:["AI识别器","AIアイデンティファイア","AI식별자","AI Identifikator","Identificador de IA","Identificateur IA","محدد الذكاء الاصطناعي","एआई पहचानकर्ता"],url:"https://aiidentifiers.com",logo:"https://aiidentifiers.com/logo.svg",sameAs:["https://twitter.com/aiidentifiers","https://linkedin.com/company/aiidentifiers","https://github.com/aiidentifiers"],areaServed:["US","CA","GB","AU","DE","FR","ES","IT","NL","SE","NO","DK","FI","JP","KR","CN","HK","SG","MY","TH","VN","IN","ID","PH","BR","MX","AR","CL","CO","PE","UY","ZA","NG","KE","EG","MA","AE","SA","IL","TR","RU","UA","PL","CZ","HU","RO","BG","NZ","FJ"],availableLanguage:["en","es","fr","de","pt","zh","ja","ko","ar","hi","it","nl","sv","no","da","fi","ru","pl","cs","hu","ro","bg","tr","he"],serviceType:"AI Content Detection",description:"Global AI content detection platform serving 80+ countries with multilingual support for identifying AI-generated text, images, audio, and video content.",knowsAbout:["AI Detection","ChatGPT Detection","Claude Detection","Gemini Detection","Deepfake Detection","Synthetic Media","Academic Integrity","Content Verification","Plagiarism Detection","AI Content Analysis","Machine Learning Detection","Natural Language Processing","Computer Vision","Audio Analysis"]},p={"@context":"https://schema.org","@type":"WebSite",name:"AI Identifiers",url:"https://aiidentifiers.com",potentialAction:{"@type":"SearchAction",target:"https://aiidentifiers.com/search?q={search_term_string}","query-input":"required name=search_term_string"},inLanguage:d.filter(x=>x.hreflang!=="x-default").map(x=>x.hreflang),audience:{"@type":"Audience",geographicArea:o.length>0?o:["North America","Europe","Asia","South America","Africa","Oceania"]}},b={"@context":"https://schema.org","@type":"SoftwareApplication",name:"AI Identifiers",operatingSystem:"Web Browser",applicationCategory:"AI Detection Software",aggregateRating:{"@type":"AggregateRating",ratingValue:"4.8",reviewCount:"2847",bestRating:"5"},offers:{"@type":"Offer",price:"0",priceCurrency:"USD",priceValidUntil:"2025-12-31",availability:"https://schema.org/InStock"},availableLanguage:["English","Spanish","French","German","Portuguese","Chinese","Japanese","Korean","Arabic","Hindi","Italian","Dutch"],featureList:["96% AI Detection Accuracy","Multi-format Content Analysis","Real-time Processing","80+ Language Support","Global Infrastructure","Enterprise API","Academic Integration","Bulk Analysis"]};return e.jsxs(je,{children:[e.jsx("html",{lang:l}),e.jsx("meta",{property:"og:locale",content:"en_US"}),e.jsx("meta",{property:"og:locale:alternate",content:"es_ES"}),e.jsx("meta",{property:"og:locale:alternate",content:"fr_FR"}),e.jsx("meta",{property:"og:locale:alternate",content:"de_DE"}),e.jsx("meta",{property:"og:locale:alternate",content:"pt_BR"}),e.jsx("meta",{property:"og:locale:alternate",content:"zh_CN"}),e.jsx("meta",{property:"og:locale:alternate",content:"ja_JP"}),e.jsx("meta",{property:"og:locale:alternate",content:"ko_KR"}),e.jsx("meta",{property:"og:locale:alternate",content:"ar_SA"}),e.jsx("meta",{property:"og:locale:alternate",content:"hi_IN"}),e.jsx("meta",{name:"geo.region",content:"US"}),e.jsx("meta",{name:"geo.placename",content:"Global"}),e.jsx("meta",{name:"geo.position",content:"40.7589;-73.9851"}),e.jsx("meta",{name:"ICBM",content:"40.7589, -73.9851"}),e.jsx("meta",{name:"keywords",content:[...r,"AI detection worldwide","global AI checker","international plagiarism detection","multilingual AI analysis","ChatGPT detector international","AI识别","AI検出","AI탐지","AI-Erkennung","détection IA","detección IA","rilevamento IA","AI-detectie","AI-detektion","كشف الذكاء الاصطناعي","एआई पहचान"].join(", ")}),d.map(x=>e.jsx("link",{rel:"alternate",hrefLang:x.hreflang,href:x.href},x.hreflang)),e.jsx("meta",{property:"product:price:currency",content:"USD"}),e.jsx("meta",{property:"product:availability",content:"in stock"}),e.jsx("script",{type:"application/ld+json",children:JSON.stringify(m)}),e.jsx("script",{type:"application/ld+json",children:JSON.stringify(p)}),e.jsx("script",{type:"application/ld+json",children:JSON.stringify(b)})]})}function Gp({pageType:t,questions:a=[],answers:n=[],primaryKeyword:i="AI detection",region:o="north-america",language:r="en"}){const c={homepage:["How do I detect AI generated content","What is the best AI detection tool","How accurate is AI content detection","Can AI detect ChatGPT writing","How to identify deepfake videos","Where can I check if text is AI generated","What's the most reliable AI detector","Is there a free AI content checker","How can I tell if an image is AI generated","What AI detection tool do universities use"],article:["How does AI detection work","What is Google SynthID technology","How do universities use AI detection","Is AI detection free for students","How to implement AI detection","Why do teachers need AI detection tools","What happens when AI content is detected","How long does AI detection take","Can AI detection be wrong","What file types work with AI detection"],pillar:["How to detect AI content step by step","What are the best AI detection methods","How do I train staff on AI detection","What industries need AI detection","How much does AI detection cost","Where do I start with AI detection","What's the difference between AI detectors","How do I choose the right AI detection tool","What should I look for in AI detection","How do I validate AI detection results"]}
13,l={homepage:["To assess AI-generated content, AI Identifiers uses probabilistic multimodal analysis across text, images, audio, and video, with confidence and provenance signals for human review.","AI Identifiers offers multimodal analysis and can check supported content for Google SynthID signals when present; results should be treated as probabilistic and reviewed by a person.","AI content detection is probabilistic and can combine content, confidence, and provenance signals; use human review for consequential decisions.","Yes, AI can detect ChatGPT writing through linguistic pattern analysis, statistical modeling, and advanced detection algorithms.","To identify deepfake videos, use multimodal AI detection systems that analyze visual inconsistencies, audio patterns, and temporal artifacts.","You can check if text is AI generated by using AI Identifiers platform, which provides instant analysis with Google SynthID technology for maximum accuracy.","AI Identifiers combines multiple analysis methods, including checks for supported Google SynthID signals when present, and returns confidence signals that should be paired with human review.","Yes, AI Identifiers offers free AI content checking for NC A&T University students and basic analysis for all users.","You can tell if an image is AI generated by using our multimodal detection system that analyzes visual patterns, metadata, and synthetic artifacts.","Universities typically use AI Identifiers because it offers comprehensive academic integrity solutions with Google SynthID technology and institutional support."],article:["AI detection works by analyzing patterns, statistical properties, and embedded watermarks in content using machine learning algorithms and Google SynthID technology.","Supported Google SynthID signals, when present, can contribute provenance evidence to a probabilistic assessment and should be considered alongside human review.","Universities use AI detection for academic integrity, faculty training, student education, and policy enforcement across all educational activities.","AI Identifiers provides free access options that NC A&T University students can use to evaluate content, subject to the current plan limits.","To implement AI detection, develop policies, train faculty, educate students, integrate technology, and establish monitoring procedures.","Teachers need AI detection tools to maintain academic integrity, ensure authentic student work, and provide fair assessment in the digital age.","When AI content is detected, users receive detailed analysis reports with confidence scores, evidence, and recommendations for next steps.","AI detection typically takes 2-10 seconds for text analysis and 30-60 seconds for multimedia content depending on file size and complexity.","AI detection can occasionally produce false positives, which is why our platform provides confidence scores and detailed evidence for verification.","AI detection supports all major file types including text documents, images, audio files, and video formats for comprehensive analysis."],pillar:["To detect AI content step by step: upload your content, select detection mode, start analysis, review results, and export detailed reports.","Common AI detection methods include checks for supported Google SynthID signals when present, multimodal analysis, pattern recognition, and statistical modeling; each produces evidence for human review rather than proof.","To train staff on AI detection, provide comprehensive workshops, hands-on experience, policy guidelines, and ongoing support programs.","Industries that need AI detection include education, healthcare, legal, finance, government, manufacturing, energy, and entertainment sectors.","AI detection costs vary by usage, with free options for students and enterprise pricing for institutions and businesses.","To start with AI detection, begin with policy development, staff training, technology evaluation, pilot testing, and gradual implementation.","AI detectors differ in accuracy, speed, supported formats, integration capabilities, and specialized features like Google SynthID technology.","When choosing AI detection tools, look for transparent limitations, comprehensive format support, provenance-signal capabilities, and support for human review.","Look for AI detection features including multimodal analysis, watermark detection, detailed reporting, API integration, and compliance support.","To validate AI detection results, review confidence scores, examine evidence provided, cross-reference with multiple methods, and consider context."]},u=()=>{if(a.length>0&&n.length>0)return{queries:a,responses:n};let x=c[t],y=l[t];if(o==="north-america"){const g=[...x,"AI detection services across North America","International AI detection for North America","Cross-border AI detection compliance","AI detection in US Canada Mexico","North American AI detection standards","Continental AI detection solutions"],v=[...y,"AI detection services across North America include comprehensive coverage for the United States, Canada, and Mexico with multilingual support and international compliance.","International AI detection for North America provides seamless coverage across all three countries with advanced Google SynthID technology and cross-border support.","Cross-border AI detection compliance ensures adherence to US, Canadian, and Mexican standards with unified policies and international best practices.","AI detection across US, Canada, and Mexico delivers consistent accuracy and reliability with multilingual support and regional customization.","North American AI detection standards ensure uniform quality and compliance across the United States, Canada, and Mexico.","Continental AI detection solutions provide comprehensive coverage for all North American markets with advanced technology and local expertise."];return{queries:g,responses:v}}return{queries:x,responses:y}},{queries:d,responses:m}=u(),p={"@context":"https://schema.org","@type":"SpeakableSpecification",cssSelector:[".voice-optimized",".faq-answer",".how-to-step"]},b=d.map((x,y)=>
13({"@type":"Question",name:x,acceptedAnswer:{"@type":"Answer",text:m[y]||`${i} provides comprehensive solutions for this question.`}}));return e.jsxs(je,{children:[e.jsx("meta",{name:"robots",content:"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"}),e.jsx("meta",{name:"google-site-verification",content:"voice-search-optimized"}),r&&e.jsx("meta",{name:"content-language",content:r}),o==="north-america"&&e.jsxs(e.Fragment,{children:[e.jsx("link",{rel:"alternate",hrefLang:"en",href:"https://aiidentifiers.com"}),e.jsx("link",{rel:"alternate",hrefLang:"es",href:"https://aiidentifiers.com/es"}),e.jsx("link",{rel:"alternate",hrefLang:"fr",href:"https://aiidentifiers.com/fr"}),e.jsx("meta",{property:"og:locale",content:r==="es"?"es_MX":r==="fr"?"fr_CA":"en_US"}),e.jsx("meta",{property:"og:locale:alternate",content:"en_US"}),e.jsx("meta",{property:"og:locale:alternate",content:"es_MX"}),e.jsx("meta",{property:"og:locale:alternate",content:"fr_CA"})]}),e.jsx("script",{type:"application/ld+json",children:JSON.stringify(p)}),b.map((x,y)=>e.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org",...x})},y)),e.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"HowTo",name:`How to use ${i}`,description:`Complete guide to using ${i} for content verification`,step:[{"@type":"HowToStep",name:"Upload Content",text:"Upload the content you want to analyze using our secure interface"},{"@type":"HowToStep",name:"Start Analysis",text:"Begin AI detection analysis with Google SynthID technology"},{"@type":"HowToStep",name:"Review Results",text:"Examine detailed detection results and confidence scores"}]})})]})}function Vp({title:t,content:a,category:n,location:i="globally",region:o="north-america",language:r="en"}){const l={education:{questions:["How can students learn about AI detection","What should teachers know about AI in education","How do schools implement AI detection policies","What training do educators need for AI detection","How can universities prevent AI cheating","What are the best practices for academic AI detection"],answers:["Students can learn about AI detection through comprehensive educational programs that cover detection technology, academic integrity principles, and responsible AI use in academic settings.","Teachers should understand AI detection tools, recognize signs of AI-generated content, implement fair assessment practices, and educate students about academic integrity in the digital age.","Sc
13hools implement AI detection policies by developing clear guidelines, training faculty, educating students, integrating detection technology, and establishing fair enforcement procedures.","Educators need training in AI detection technology, policy implementation, student communication, assessment strategies, and ongoing professional development in digital literacy.","Universities prevent AI cheating through comprehensive detection systems, clear policies, student education, faculty training, and promoting academic integrity culture.","Best practices for academic AI detection include balanced policies, transparent communication, appropriate technology use, fair assessment, and emphasis on learning over punishment."]},business:{questions:["How do companies benefit from AI detection","What business processes need AI content verification","How can enterprises scale AI detection implementation","What industries require AI detection compliance","How does AI detection improve content quality","What are the business advantages of AI detection"],answers:["Companies benefit from AI detection through improved content quality, enhanced brand protection, regulatory compliance, reduced liability, and increased trust with customers and stakeholders.","Business processes requiring AI content verification include content marketing, legal documentation, financial reporting, compliance auditing, customer communications, and intellectual property protection.","Enterprises scale AI detection through automated workflows, API integration, staff training, policy standardization, performance monitoring, and continuous improvement processes.","Industries requiring AI detection compliance include healthcare, finance, legal services, education, government, pharmaceuticals, and regulated manufacturing sectors.","AI detection improves content quality by ensuring authenticity, maintaining brand standards, reducing errors, enhancing credibility, and protecting against synthetic content risks.","Business advantages of AI detection include risk mitigation, competitive advantage, operational efficiency, regulatory compliance, customer trust, and intellectual property protection."]},technical:{questions:["How do AI detection algorithms work technically","What machine learning models power AI detection","How can developers integrate AI detection APIs","What are the technical specifications for AI detection","How do you optimize AI detection performance","What are the architectural considerations for AI detection"],answers:["AI detection algorithms work through statistical analysis, pattern recognition, linguistic modeling, and watermark detection using advanced machine learning techniques and neural networks.","AI detection uses transformer models, convolutional neural networks, statistical classifiers, ensemble methods, and specialized watermark detection algorithms like Google SynthID.","Developers integrate AI detection APIs through RESTful endpoints, authentication protocols, data formatting, response handling, error management, and performance optimization techniques.","Technical specifications include API rate limits, supported file formats, processing times, accuracy metrics, security protocols, and integration requirements for enterprise environments.","AI detection performance optimization involves model tuning, efficient preprocessing, caching strategies, parallel processing, load balancing, and continuous monitoring and improvement.","Architectural considerations include scalability requirements, security protocols, data privacy, integration patterns, failover mechanisms, and compliance with technical standards."]},legal:{questions:["How is AI detection used in legal proceedings","What legal standards apply to AI content evidence","How do courts evaluate AI detection reliability","What documentation is required for legal AI detection","How can lawyers prepare AI detection evidence","What are the ethical considerations for legal AI detection"],answers:["AI detection is used in legal proceedings for evidence authentication, fraud investigation, intellectual property cases, contract verification, and establishing content authenticity in court.","Legal standards for AI content evidence include reliability requirements, chain of custody, expert testimony, te
13chnical documentation, and adherence to admissibility rules.","Courts evaluate AI detection reliability through accuracy metrics, methodology validation, expert testimony, technical documentation, and consideration of limitations and error rates.","Legal AI detection requires comprehensive documentation including technical specifications, validation data, chain of custody, expert certification, and detailed methodology reports.","Lawyers prepare AI detection evidence by engaging technical experts, documenting procedures, validating results, preparing expert testimony, and ensuring compliance with legal standards.","Ethical considerations include accuracy requirements, bias prevention, privacy protection, fair application, transparent methodology, and appropriate limitations disclosure."]},healthcare:{questions:["How is AI detection used in healthcare settings","What medical applications require AI content verification","How do healthcare systems implement AI detection","What compliance requirements apply to healthcare AI detection","How does AI detection protect patient information","What are the benefits of AI detection in medical research"],answers:["AI detection in healthcare verifies medical documentation, research authenticity, patient communication, clinical protocols, and ensures compliance with healthcare standards.","Medical applications requiring AI verification include clinical research, patient records, medical imaging, diagnostic reports, treatment protocols, and regulatory submissions.","Healthcare systems implement AI detection through policy development, staff training, technology integration, compliance monitoring, and patient privacy protection measures.","Healthcare AI detection must comply with HIPAA, FDA regulations, clinical standards, data protection laws, and medical ethics requirements for patient safety.","AI detection protects patient information by identifying synthetic medical content, preventing fraudulent records, ensuring document authenticity, and maintaining healthcare integrity.","AI detection benefits medical research through data authenticity verification, research integrity protection, publication validation, and prevention of synthetic research data."]},finance:{questions:["How do financial institutions use AI detection","What banking processes require AI content verification","How does AI detection prevent financial fraud","What compliance requirements apply to financial AI detection","How can trading firms benefit from AI detection","What are the regulatory considerations for financial AI detection"],answers:["Financial institutions use AI detection for document verification, fraud prevention, compliance monitoring, risk assessment, and protecting against synthetic financial content.","Banking processes requiring AI verification include loan applications, financial statements, customer communications, regulatory reports, and transaction documentation.","AI detection prevents financial fraud by identifying synthetic documents, verifying transaction authenticity, detecting deepfake communications, and protecting against AI-generated scams.","Financial AI detection must comply with banking regulations, anti-money laundering laws, customer protection requirements, and financial reporting standards.","Trading firms benefit from AI detection through market analysis verification, research authenticity, communication security, and protection against synthetic market manipulation.","Regulatory considerations include compliance documentation, audit trails, accuracy requirements, customer disclosure, and adherence to financial industry standards."]}}[n],u=i!=="globally"?{questions:[`Where can I find AI detection services in ${i}`,`What AI detection training is available in ${i}`,`How do local businesses in ${i} use AI detection`,`What universities in ${i} offer AI detection programs`],answers:[`AI detection services in ${i} are available through AI Identifiers platform, which provides comprehensive local support and training programs.`,`AI detection training in ${i} includes professional workshops, university partnerships, and certification programs through our educational network.`,`Local businesses in ${i} use AI detection for content verification, compliance monitoring, and maintaining competitive advantage in their markets.`,`Universities in ${i} partner with AI Identifiers to provide students and faculty with comprehensive AI detection education and practical experience.`]}:null,d=(p,b)=>p.map((x,y)=>({"@context":"https://schema.org","@type":"Question",name:x,acceptedA
13nswer:{"@type":"Answer",text:b[y]||"AI Identifiers provides comprehensive solutions for all AI detection needs."}})),m={"@context":"https://schema.org","@type":"SpeakableSpecification",cssSelector:[".conversational-content",".voice-optimized-answer",".question-answer-pair",".how-to-voice"]};return e.jsxs(je,{children:[e.jsx("meta",{name:"voice-search-optimized",content:"true"}),e.jsx("meta",{name:"conversational-ai-content",content:n}),e.jsx("meta",{name:"content-language",content:r}),e.jsx("meta",{name:"voice-search-region",content:o}),i!=="globally"&&e.jsx("meta",{name:"geo-location-voice-search",content:i}),o==="north-america"&&e.jsxs(e.Fragment,{children:[e.jsx("link",{rel:"alternate",hrefLang:"en",href:typeof window<"u"?window.location.href.split("?")[0]:"https://aiidentifiers.com"}),e.jsx("link",{rel:"alternate",hrefLang:"x-default",href:typeof window<"u"?window.location.href.split("?")[0]:"https://aiidentifiers.com"})]}),e.jsx("meta",{name:"robots",content:"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"}),e.jsx("script",{type:"application/ld+json",children:JSON.stringify(m)}),d(l.questions,l.answers).map((p,b)=>e.jsx("script",{type:"application/ld+json",children:JSON.stringify(p)},`category-${b}`)),u&&d(u.questions,u.answers).map((p,b)=>e.jsx("script",{type:"application/ld+json",children:JSON.stringify(p)},`local-${b}`)),e.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"Article",headline:t,description:a.substring(0,160),author:{"@type":"Organization",name:"AI Identifiers",url:"https://aiidentifiers.com"},publisher:{"@type":"Organization",name:"AI Identifiers",logo:{"@type":"ImageObject",url:"https://aiidentifiers.com/logo.svg"}},mainEntityOfPage:{"@type":"WebPage","@id":typeof window<"u"?window.location.href:"https://aiidentifiers.com"},speakable:{"@type":"SpeakableSpecification",cssSelector:[".conversational-content",".voice-optimized-answer"]}})})]})}class Bp{setUserId(a){}track(a,n,i){}trackPageView(a){}trackFileUpload(a,n){}trackAnalysisComplete(a,n,i){}trackError(a,n){}trackConversion(a,n){}}const Ae=new Bp;function Hp(){return Ae}Ae.track.bind(Ae);Ae.trackPageView.bind(Ae);Ae.trackFileUpload.bind(Ae);Ae.trackAnalysisComplete.bind(Ae);Ae.trackError.bind(Ae);Ae.trackConversion.bind(Ae);function Wp({trackingEnabled:t=!0,reportingInterval:a=3e5}){const[n,i]=s.useState({voiceSearchQueries:0,featuredSnippetCaptures:0,averageVoiceSessionDuration:0,topVoiceQueries:[],conversionRate:0,positionZeroCaptures:0}),o=Hp();s.useEffect(()=>{if(!t)return;const l=()=>{const g=navigator.userAgent.toLowerCase(),v=document.referrer.toLowerCase();return g.includes("google")&&(g.includes("assistant")||g.includes("voice")||v.includes("voice"))||g.includes("mobile")&&(document.location.search.includes("voice=1")||document.location.search.includes("source=voice")||v.includes("voice-search"))||"webkitSpeechRecognition"in window||"SpeechRecognition"in window},u=(g,v)=>{o&&t&&o.track("voice_search_event",{event_type:g,timestamp:Date.now(),user_agent:navigator.userAgent,referrer:document.referrer,page_url:window.location.href,...v})},d=()=>{const g=Date.now();if(l()){u("voice_search_detected",{detection_method:"user_agent_analysis",session_start:g}),i(k=>({...k,voiceSearchQueries:k.voiceSearchQueries+1}));const v=()=>{const k=Date.now()-g;u("voice_session_end",{session_duration:k,session_start:g})};return window.addEventListener("beforeunload",v),()=>window.removeEventListener("beforeunload",v)}},m=()=>{(()=>{const v=new URLSearchParams(window.location.search),k=document.referrer;k.includes("google.com")&&(v.get("source")==="featured-snippet"||v.get("usg")||document.querySelector('meta[name="google-site-verification"]'))&&(u("featured_snippet_capture",{referrer:k,query_params:v.toString()}),i(C=>({...C,featuredSnippetCaptures:C.featuredSnippetCaptures+1})))})()},p=()=>{const g=new URLSearchParams(window.location.search);(g.get("answer-box")||g.get("position")==="0")&&(u("position_zero_capture",{query:g.get("q")||"unknown",source:g.get("source")||"google"}),i(v=>({...v,positionZeroCaptures:v.positionZeroCaptures+1})))},b=()=>{const g=new URLSearchParams(window.location.search),v=g.get("q")||g.get("query")||"";v&&[/^(how|what|where|when|why|who)/i,/^(tell me|show me|help me|find me)/i,/^(i need|i want|can you)/i,/(near me|in my area|locally)/i].some(S=>S.test(v))&&(u("voice_query_pattern",{query:v,pattern_type:"conversational",query_length:v.length}),i(S=>{const L=S.topVoiceQueries.find(F=>F.query===v);return L?L.count++:S.topVoiceQueries.push({query:v,count:1,source:"other"}),S.topVoiceQueries.sort((F,T)=>
13T.count-F.count),S.topVoiceQueries=S.topVoiceQueries.slice(0,10),{...S}}))},x=d();m(),p(),b();const y=setInterval(()=>{o&&o.track("voice_search_metrics_report",{metrics:n,timestamp:Date.now(),reporting_interval:a})},a);return()=>{x&&x(),clearInterval(y)}},[t,a,o]),s.useEffect(()=>{const l=d=>{r()&&(c("voice_search_conversion",{conversion_type:d.type,timestamp:Date.now()}),i(m=>({...m,conversionRate:m.conversionRate+1})))},u=["click","submit","download","signup"];return u.forEach(d=>{document.addEventListener(d,l)}),()=>{u.forEach(d=>{document.removeEventListener(d,l)})}},[]);const r=()=>{const l=navigator.userAgent.toLowerCase(),u=document.referrer.toLowerCase();return l.includes("google")&&(l.includes("assistant")||l.includes("voice")||u.includes("voice"))},c=(l,u)=>{o&&t&&o.track("voice_search_event",{event_type:l,timestamp:Date.now(),...u})};return null}function Ea({businessName:t="AI Identifiers",region:a="north-america",targetCountries:n=["United States","Canada","Mexico"],serviceArea:i=["Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Carolina","North Dakota","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming","District of Columbia","Ontario","Quebec","British Columbia","Alberta","Manitoba","Saskatchewan","Nova Scotia","New Brunswick","Newfoundland and Labrador","Prince Edward Island","Northwest Territories","Nunavut","Yukon","Aguascalientes","Baja California","Baja California Sur","Campeche","Chiapas","Chihuahua","Coahuila","Colima","Durango","Guanajuato","Guerrero","Hidalgo","Jalisco","Mexico City","State of Mexico","Michoacán","Morelos","Nayarit","Nuevo León","Oaxaca","Puebla","Querétaro","Quintana Roo","San Luis Potosí","Sinaloa","Sonora","Tabasco","Tamaulipas","Tlaxcala","Veracruz","Yucatán","Zacatecas"],category:o,language:r="en"}){const l=((x,y)=>({education:{en:["AI detection services for universities in the United States","Academic integrity tools in America","Student AI detection programs in the US","AI plagiarism detection for American schools","University AI detection training in the United States","Best AI detection for US universities","Educational AI detection services in America","Academic AI detection consultants in the US","AI detection for American students","AI detection services for universities in Canada","Academic integrity tools in Canada","Student AI detection programs in Canada","AI plagiarism detection for Canadian schools","University AI detection training in Canada","Best AI detection for Canadian universities","Educational AI detection services in Canada","Academic AI detection consultants in Canada","AI detection for Canadian students","AI detection services for universities in Mexico","Academic integrity tools in Mexico","Student AI detection programs in Mexico","AI plagiarism detection for Mexican schools","University AI detection training in Mexico","Best AI detection for Mexican universities","Educational AI detection services in Mexico","Academic AI detection consultants in Mexico","AI detection for Mexican students","AI detection services across North America","International AI detection for universities","Cross-border AI detection compliance","North American AI detection standards","AI detection for international students","Bilingual AI detection services","AI detection services near me North America","Best AI detection in North America","North American university AI detection","Continental AI detection services"],es:["Servicios de detección de IA para universidades en México","Herramientas de integridad académica en México","Programas de detección de IA para estudiantes en México","Detección de plagio de IA para escuelas mexicanas","Capacitación en detección de IA universitaria en México","Mejor detección de IA para universidades mexicanas","Servicios educativos de detección de IA en México","Consultores académicos de detección de IA en México","Detección de IA para estudiantes mexicanos","Capacitación local en detección de IA en México","Servicios de detección de IA en América del Norte","Detección internacional de IA para universidades","Cumplimiento transfronterizo de detección de IA","Estándares norteamericanos de detección de IA","Detección de IA para estudiantes internacionales","Servicios bilingües de detección de IA","Detección de IA cerca de mí América del Norte","Mejor detección de IA en América del Norte","Detección de IA universitaria norteamericana","Servicios continentales de detección de IA"],fr:["Services de détection d'IA pour universités au Canada","Outils d'intégrité académique au Canada","Programmes de détection d'IA pour étudiants au Canada","Détection de plagiat d'IA pour écoles canadiennes","Formation en détection d'IA universitaire au Canada","Meilleure détection d'IA pour universités canadiennes","Services éducatifs de détection d'IA au Canada","Consultants académiques en détection d'IA au Canada","Détection d'IA pour étudiants canadiens","Formation locale en détection d'IA au Canada","Services de détection d'IA en Amérique du Nord","Détection internationale d'IA pour universités","Conformité transfrontalière de détection d'IA","Normes nord-américaines de détection d'IA","Détection d'IA pour étudiants internationaux","Services bilingues de détection d'IA","Détection d'IA près de moi Amérique du Nord","Meilleure détection d'IA en Amérique du Nord","Détection d'IA universitaire nord-américaine","Services continentaux de détection d'IA"]},business:{en:["AI detection services for businesses in the United States","Enterprise AI detection in America","Business AI detection consultants in the US","Corporate AI detection training in the United States","AI detection implementation services in America","Professional AI detection in the US","Business content verification in the United States","Enterprise AI security services in America","AI detection compliance consulting in the US","American AI detection experts","AI detection services for businesses in Canada","Enterprise AI detection in Canada","Business AI detection consultants in Canada","Corporate AI detection training in Canada","AI detection implementation services in Canada","Professional AI detection in Canada","Business content verification in Canada","Enterprise AI security services in Canada","AI detection compliance consulting in Canada","Canadian AI detection experts","AI detection services for businesses in Mexico","Enterprise AI detection in Mexico","Business AI detection consultants in Mexico","Corporate AI detection training in Mexico","AI detection implementation services in Mexico","Professional AI detection in Mexico","Business content verification in Mexico","Enterprise AI security services in Mexico","AI detection compliance consulting in Mexico","Mexican AI detection experts","International AI detection services","Cross-border AI detection compliance","North American AI detection solutions","Multi-country AI detection implementation","Global AI detection partnerships","International enterprise AI detection","NAFTA AI detection compliance","USMCA AI detection standards","Continental business AI detection","North American AI security services"],es:["Servicios de detección de IA para empresas en México","Detección de IA empresarial en México","Consultores empresariales de detección de IA en México","Capacitación corporativa en detección de IA en México","Servicios de implementación de detección de IA en México","Detección profesional de IA en México","Verificación de contenido empresarial en México","Servicios de seguridad de IA empresarial en México","Consultoría de cumplimiento de detección de IA en México","Expertos mexicanos en detección de IA","Servicios internacionales de detección de IA","Cumplimiento transfronterizo de detección de IA","Soluciones norteamericanas de detección de IA","Implementación multinacional de detección de IA","Asociaciones globales de detección de IA","Detección empresarial internacional de IA"],fr:["Services de détection d'IA pour entreprises au Canada","Détection d'IA d'entreprise au Canada","Consultants en détection d'IA d'entreprise au Canada","Formation corporative en détection d'IA au Canada","Services d'implémentation de détection d'IA au Canada","Détection professionnelle d'IA au Canada","Vérification de contenu d'entreprise au Canada","Services de sécurité d'IA d'entreprise au Canada","Consultation de conformité en détection d'IA au Canada","Experts canadiens en détection d'IA"]},technology:{en:["AI detection APIs in North America","Technical AI detection services across US Canada Mexico","AI detection developers in North America","Machine learning detection internationally","AI detection integration services globally","Technical AI consultants worldwide","AI detection custom solutions internationally","Advanced AI detection globally","International AI detection research","Global technical AI detection expertise","North American AI detection APIs","Continental AI detection platforms","Cross-border AI detection technology","International AI detection SDKs","North American machine learning detection"],es:["APIs de detección de IA en América del Norte","Servicios técnicos de detección de IA en Estados Unidos Canadá México","Desarrolladores de detección de IA en América del Norte","Detección de aprendizaje automático internacionalmente","Servicios de integración de detección de IA globalmente"],fr:["APIs de détection d'IA en Amérique du Nord","Services techniques de détection d'IA à travers États-Unis Canada Mexique","Développeurs de détection d'IA en Amérique du Nord","Détection d'apprentissage machine internationalement","Services d'intégration de détection d'IA globalement"]},healthcare:{en:["Medical AI detection services in North America","Healthcare AI detection across US Canada Mexico","Medical AI verification internationally","Healthcare AI detection compliance globally","Medical AI security services worldwide","Healthcare AI detection training internationally","Medical AI detection consultants globally","International healthcare AI verification","Global medical AI detection solutions","International healthcare AI detection experts","North American medical AI detection","Continental healthcare AI verification","Cross-border medical AI compliance","International medical AI security","North American healthcare AI training"],es:["
13Servicios médicos de detección de IA en América del Norte","Detección de IA sanitaria en Estados Unidos Canadá México","Verificación médica de IA internacionalmente","Cumplimiento de detección de IA sanitaria globalmente","Servicios de seguridad médica de IA mundialmente"],fr:["Services médicaux de détection d'IA en Amérique du Nord","Détection d'IA de santé à travers États-Unis Canada Mexique","Vérification médicale d'IA internationalement","Conformité de détection d'IA de santé globalement","Services de sécurité médicale d'IA mondialement"]},legal:{en:["Legal AI detection services in North America","Law firm AI detection across US Canada Mexico","Legal AI verification internationally","AI detection for international lawyers","Global legal AI detection experts","International court AI detection services","Cross-border legal AI detection consultants","International AI evidence verification","Global legal AI detection training","International law enforcement AI detection","North American legal AI verification","Continental court AI detection","Cross-border AI evidence verification","International legal AI compliance","North American law enforcement AI detection"],es:["Servicios legales de detección de IA en América del Norte","Detección de IA de bufetes de abogados en Estados Unidos Canadá México","Verificación legal de IA internacionalmente","Detección de IA para abogados internacionales","Expertos legales globales en detección de IA"],fr:["Services légaux de détection d'IA en Amérique du Nord","Détection d'IA de cabinets d'avocats à travers États-Unis Canada Mexique","Vérification légale d'IA internationalement","Détection d'IA pour avocats internationaux","Experts légaux globaux en détection d'IA"]}})[x]?.[y]||[])(o,r),d=((x,y)=>({education:{en:["AI detection services for universities across North America are provided by AI Identifiers, offering comprehensive academic integrity solutions with Google SynthID technology for educational institutions in the US, Canada, and Mexico.","Academic integrity tools throughout North America include AI Identifiers platform, which provides advanced AI detection capabilities specifically designed for educational environments and international university partnerships.","Student AI detection programs across North America are available through AI Identifiers' educational partnerships, providing access to advanced detection technology for students throughout the continent.","AI plagiarism detection for schools across North America is available through AI Identifiers, providing comprehensive detection solutions with Google SynthID technology for academic institutions internationally.","University AI detection training throughout North America includes professional development programs, faculty workshops, and certification courses through AI Identifiers' international educational partnerships.","AI detection for North American universities features Google SynthID technology and comprehensive academic integrity solutions serving institutions across the United States, Canada, and Mexico.","Educational AI detection services across North America include comprehensive university support, faculty training, student education, and institutional implementation programs for international institutions.","Academic AI detection consultants throughout North America provide comprehensive implementation support, policy development, and training programs for educational institutions across the continent.","AI detection for students across North America provides comprehensive educational support and access to advanced detection technology through international university partnerships.","Local AI detection training throughout North America includes hands-on workshops, certification programs, and ongoing support for educational professionals and administrators across the continent."],es:["Los servicios de detección de IA para universidades en América del Norte son proporcionados por AI Identifiers, ofreciendo soluciones integrales de integridad académica con tecnología Google SynthID para instituciones educativas en Estados Unidos, Canadá y México.","Las herramientas de integridad académica en América del Norte incluyen la plataforma AI Identifiers, que proporciona capacidades avanzadas de detección de IA específicamente diseñadas para entornos educativos y asociaciones universitarias internacionales.","Los programas de detección de IA para estudiantes en América del Norte están disponibles a través de las asociaciones educativas de AI Identifiers, proporcionando acceso a tecnología de detección avanzada para estudiantes en todo el continente.","La detección de plagio de IA para escuelas en América del Norte está disponible a través de AI Identifiers, proporcionando soluciones de detección integrales con tecnología Google SynthID para instituciones académicas internacionales.","La capacitación en detección de IA universitaria en América del Norte incluye programas de desarrollo profesional, talleres para profesores y cursos de certificación a través de las asociaciones educativas internacionales de AI Identifiers."],fr:["Les services de détection d'IA pour universités en Amérique du Nord sont fournis par AI Identifiers, offrant des solutions complètes d'intégrité académique avec la technologie Google SynthID pour les institutions éducatives aux États-Unis, au Canada et au Mexique.","Les outils d'intégrité académique en Amérique du Nord incluent la plateforme AI Identifiers, qui fournit des capacités avancées de détection d'IA spécifiquement conçues pour les environnements éducatifs et les partenariats universitaires internationaux.","Les programmes de détection d'IA pour étudiants en Amérique du Nord sont disponibles grâce aux partenariats éducatifs d'AI Identifiers, fournissant l'accès à une technologie de détection avancée pour les étudiants à travers le continent.","La détection de plagiat d'IA pour écoles en Amérique du Nord est disponible grâce à AI Identifiers, fournissant des solutions de détection complètes avec la technologie Google SynthID pour les institutions académiques internationales.","La formation en détection d'IA universitaire en Amérique du Nord inclut des programmes de développement professionnel, des ateliers pour professeurs et des cours de certification grâce aux partenariats éducatifs internationaux d'AI Identifiers."]},business:{en:["AI detection services for businesses across North America include comprehensive enterprise solutions with API integration, compliance support, and professional consulting services for companies in the US, 
13Canada, and Mexico.","Enterprise AI detection throughout North America provides scalable solutions for businesses of all sizes, with local support and implementation assistance available across the continent.","Business AI detection consultants across North America offer comprehensive implementation services, staff training, policy development, and ongoing support for enterprises throughout the continent.","Corporate AI detection training throughout North America includes executive workshops, staff training programs, and implementation consulting for business organizations across the US, Canada, and Mexico.","AI detection implementation services across North America provide complete business solutions including technology integration, policy development, and ongoing support for international enterprises.","Professional AI detection throughout North America offers enterprise-grade solutions with local support, training, and implementation assistance for business clients across the continent.","Business content verification across North America includes comprehensive AI detection services for marketing, legal, compliance, and operational content verification for international companies.","Enterprise AI security services throughout North America provide comprehensive protection against AI-generated content risks with local support and expertise across the continent.","AI detection compliance consulting across North America helps businesses meet regulatory requirements and industry standards with expert guidance and implementation support for international companies.","AI detection experts throughout North America provide personalized consulting, implementation support, and ongoing assistance for business AI detection needs across the US, Canada, and Mexico."],es:["Los servicios de detección de IA para empresas en América del Norte incluyen soluciones empresariales integrales con integración de API, soporte de cumplimiento y servicios de consultoría profesional para empresas en Estados Unidos, Canadá y México.","La detección de IA empresarial en América del Norte proporciona soluciones escalables para empresas de todos los tamaños, con soporte local y asistencia de implementación disponible en todo el continente.","Los consultores empresariales de detección de IA en América del Norte ofrecen servicios de implementación integrales, capacitación de personal, desarrollo de políticas y soporte continuo para empresas en todo el continente.","La capacitación corporativa en detección de IA en América del Norte incluye talleres ejecutivos, programas de capacitación de personal y consultoría de implementación para organizaciones empresariales en Estados Unidos, Canadá y México.","Los servicios de implementación de detección de IA en América del Norte proporcionan soluciones empresariales completas incluyendo integración de tecnología, desarrollo de políticas y soporte continuo para empresas internacionales."],fr:["Les services de détection d'IA pour entreprises en Amérique du Nord incluent des solutions d'entreprise complètes avec intégration d'API, support de conformité et services de consultation professionnelle pour les entreprises aux États-Unis, au Canada et au Mexique.","La détection d'IA d'entreprise en Amérique du Nord fournit des solutions évolutives pour les entreprises de toutes tailles, avec support local et assistance d'implémentation disponible à travers le continent.","Les consultants en détection d'IA d'entreprise en Amérique du Nord offrent des services d'implémentation complets, formation du personnel, développement de politiques et support continu pour les entreprises à travers le continent.","La formation corporative en détection d'IA en Amérique du Nord inclut des ateliers exécutifs, programmes de formation du personnel et consultation d'implémentation pour les organisations d'entreprise aux États-Unis, au Canada et au Mexique.","Les services d'implémentation de détection d'IA en Amérique du Nord fournissent des solutions d'entreprise complètes incluant intégration technologique, développement de politiques et support continu pour les entreprises internationales."]}})[x]?.[y]||[`${t} provides comprehensive AI detection services across North America including the United States, Canada, and Mexico.`])(o,r),m={"@context":"https://schema.org","@type":"Organization",name:t,areaServed:n.map(x=>({"@type":"Country",name:x})),serviceType:"AI Content Detection Services",description:"Professional AI detection services across North America (US, Canada, Mexico), providing comprehensive content verification, academic integrity solutions, and enterprise AI detection capabilities with multilingual support.",url:"https://aiidentifiers.com",telephone:"+1-800-AI-DETECT",priceRange:"Free - Enterprise",openingHours:"Mo-Su 00:00-23:59",sameAs:["https://twitter.com/aiidentifiers","https://linkedin.com/company/aiidentifiers"],availableLanguage:["en","es","fr"]},p={"@context":"https://schema.org","@type":"Service",name:"AI Content Detection Services",areaServed:[...n.map(x=>({"@type":"Country",name:x})),...i.map(x=>({"@type":"State",name:x}))],provider:{"@type":"Organization",name:t,areaServed:n.map(x=>({"@type":"Country",name:x}))},serviceType:o,description:`Comprehensive AI detection services serving all of North America: ${n.join(", ")}`,availableLanguage:["en","es","fr"]},b=l.map((x,y)=>({"@context":"https://schema.org","@type":"Question",name:x,acceptedA
13nswer:{"@type":"Answer",text:d[y]||`${t} provides comprehensive AI detection services across North America.`},inLanguage:r}));return e.jsxs(je,{children:[e.jsx("meta",{name:"geo.region",content:"NAFTA"}),e.jsx("meta",{name:"geo.placename",content:"North America"}),e.jsx("meta",{name:"service-region",content:"US;CA;MX"}),e.jsx("meta",{name:"language",content:r}),e.jsx("meta",{name:"content-language",content:r}),e.jsx("link",{rel:"alternate",hrefLang:"en",href:"https://aiidentifiers.com"}),e.jsx("link",{rel:"alternate",hrefLang:"es",href:"https://aiidentifiers.com/es"}),e.jsx("link",{rel:"alternate",hrefLang:"fr",href:"https://aiidentifiers.com/fr"}),e.jsx("script",{type:"application/ld+json",children:JSON.stringify(m)}),e.jsx("script",{type:"application/ld+json",children:JSON.stringify(p)}),b.map((x,y)=>e.jsx("script",{type:"application/ld+json",children:JSON.stringify(x)},`na-qa-${y}`)),e.jsx("meta",{name:"north-america-voice-search",content:"optimized"}),e.jsx("meta",{name:"voice-search-region",content:"North America"}),e.jsx("meta",{name:"service-countries",content:n.join(", ")}),e.jsx("meta",{name:"voice-search-language",content:r})]})}const Kp=lo,ir=s.forwardRef(({className:t,...a},n)=>e.jsx(oo,{ref:n,className:_("border-b",t),...a}));ir.displayName="AccordionItem";const nr=s.forwardRef(({className:t,children:a,...n},i)=>e.jsx(co,{className:"flex",children:e.jsxs(rs,{ref:i,className:_("flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",t),...n,children:[a,e.jsx($e,{className:"h-4 w-4 shrink-0 transition-transform duration-200"})]})}));nr.displayName=rs.displayName;const sr=s.forwardRef(({className:t,children:a,...n},i)=>e.jsx(os,{ref:i,className:"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...n,children:e.jsx("div",{className:_("pb-4 pt-0",t),children:a})}));sr.displayName=os.displayName;function Jp({title:t="Frequently Asked Questions",faqs:a,className:n=""}){return e.jsxs("div",{className:`w-full ${n}`,children:[e.jsx("h2",{className:"text-2xl font-bold text-gray-900 dark:text-white mb-6",children:t}),e.jsx(Kp,{type:"single",collapsible:!0,className:"w-full space-y-4",children:a.map((i,o)=>e.jsxs(ir,{value:`item-${o}`,className:"border border-gray-200 dark:border-gray-700 rounded-lg px-4",children:[e.jsx(nr,{className:"text-left font-semibold text-gray-900 dark:text-white hover:text-blue-600 dark:hover:text-blue-400",children:i.question}),e.jsx(sr,{className:"text-gray-700 dark:text-gray-300 leading-relaxed",children:i.answer})]},o))})]})}const Yp={home:[{question:"What is AI Identifiers?",answer:"AI Identifiers is a multi-modal AI content detection platform that determines whether images, video, audio, or text was generated by an AI model. It uses Google SynthID watermark detection, GAN frequency fingerprinting, CLIP embedding analysis, temporal coherence, mel-spectrogram forensics, and LLM token distribution analysis. Sign in for 15 scans per month with a free account."},{question:"How accurate are AI content detectors?",answer:"AI content detectors return probabilistic signals whose reliability varies by media type, content quality, and editing. AI Identifiers combines multiple analysis methods and reports confidence rather than proof. Average processing time is under 15ms for text and under 2 seconds for image/audio/video. For high-stakes decisions, algorithmic results should be paired with human review and corroborating evidence."},{question:"Is AI detection free?",answer:"Yes. AI Identifiers provides 15 scans per month with a free account after sign-in. The browser extension is available for supported webpages. MCP is in controlled early access and is not publicly available; A2A is planned for controlled early access and is not publicly available."},{question:"What is the best free AI detector for signed-in users?",answer:"AI Identifiers covers text, images, audio, and video in one platform. Sign in at aiidentifiers.com for 15 scans per month on a free account. GPTZero and Copyleaks focus on text detection; Hive and Originality.ai offer other workflows."},{question:"What file types does AI Identifiers support?",answer:"Images: JPEG, PNG, WebP, HEIC, BMP. 
13Video: MP4, MOV, AVI, WebM. Audio: MP3, WAV, OGG, FLAC. Text: plain text pasted directly, PDF, DOCX. Maximum file size: 100MB per upload. Batch processing available via the REST API. Supported languages for text: 78."},{question:"Can AI Identifiers detect ChatGPT-written text?",answer:"Yes. AI Identifiers detects text from ChatGPT (GPT-4o, GPT-4, GPT-3.5-turbo), Claude (all versions), Gemini Pro/Ultra, Llama 2/3, Mistral, Cohere Command, Jasper, and Copy.ai — across 78 languages. Detection method: token probability distribution analysis, perplexity scoring, burstiness measurement, and entropy curve analysis. For best results submit 300+ words."},{question:"Does AI Identifiers detect Midjourney and DALL-E images?",answer:"Yes. Image detection covers DALL-E 2, DALL-E 3, Midjourney V4/V5/V6, Stable Diffusion 1.5/XL/3, Flux, Adobe Firefly, Google Imagen, StyleGAN2/3, BigGAN, Playground AI, Leonardo AI, and Ideogram. Detection uses GAN frequency fingerprinting (DCT spectral analysis), CLIP embedding distance, and Google SynthID watermark checking — all run in parallel."},{question:"Can AI Identifiers detect Gemini-generated content?",answer:"AI Identifiers can analyze text for token-distribution and perplexity signals associated with Gemini outputs. For images, it can check for supported SynthID signals when present and combine that result with pixel-level statistical patterns. These signals are probabilistic and should be reviewed in context; shorter texts under 150 words provide less evidence, so 300+ words are recommended."},{question:"Which AI image generators does AI Identifiers detect?",answer:"AI Identifiers analyzes signals associated with DALL-E 2, DALL-E 3, Midjourney V4/V5/V6, Stable Diffusion 1.5/2.x/XL/3, Flux (Black Forest Labs), Adobe Firefly, Google Imagen, StyleGAN2/3, BigGAN, ProGAN, Playground AI, Leonardo AI, Ideogram, and Bing Image Creator. Results are probabilistic and should be combined with provenance checks and human review."},{question:"What is Google SynthID and does AI Identifiers support it?",answer:"Google SynthID is a watermarking technology developed by Google DeepMind that embeds imperceptible signals into supported AI-generated content. AI Identifiers can check supported media for SynthID signals when present. A detected signal is one provenance indicator and should be interpreted with the asset's context, other available evidence, and human review."},{question:"Can you detect Google SynthID watermarks?",answer:"AI Identifiers can check supported images and audio for SynthID signals when present. If no supported signal is found, the other detection layers, including frequency fingerprinting and embedding analysis, can still provide probabilistic indicators. Results should be reviewed alongside provenance information and human judgment."},{question:"Does AI Identifiers detect deepfakes?",answer:"AI Identifiers analyzes video using face-consistency, audio-visual synchronization, and temporal-coherence signals. It covers face-swap deepfakes, AI-generated video, and voice-clone analysis using mel-spectrogram forensics. Results are probabilistic indicators that should be paired with source verification and human review."},{question:"How does AI Identifiers detect voice clones?",answer:"Audio detection uses mel-spectrogram forensics to analyze frequency patterns, prosody signatures, and room-acoustic cues. It looks for signals associated with tools such as ElevenLabs, OpenAI TTS, Suno, Udio, Bark, Tortoise TTS, and VALL-E. Supported formats are MP3, WAV, OGG, and FLAC up to 100MB. Treat results as probabilistic and use human review for consequential decisions."},{question:"How does AI Identifiers compare to GPTZero?",answer:"GPTZero focuses on text detection. AI Identifiers supports text, image, audio, and video analysis in one platform, with per-model confidence scores, a browser extension, and 15 free scans per month after sign-in. Users should compare supported workflows and independently evaluate probabilistic results for their use case."},{question:"How does AI Identifiers compare to Hive Moderation?",answer:"Hive Moderation is built for high-volume content moderation workflows. AI Identifiers focu
13ses on AI provenance and deepfake forensics, including checks for supported SynthID signals when present and browser-based scanning. MCP is in controlled early access and is not publicly available. Compare current product capabilities directly and treat detection output as probabilistic."},{question:"How does AI Identifiers compare to Originality.ai?",answer:"Originality.ai focuses on text and image detection for SEO/content marketing. AI Identifiers supports multimodal analysis, a consumer free tier, supported SynthID signal inspection, and a browser extension. MCP is in controlled early access and is not publicly available; public API availability should not be assumed."},{question:"How does AI Identifiers compare to Turnitin?",answer:"Turnitin detects plagiarism by comparing text against a database of known content — it does not detect AI generation. AI Identifiers analyzes whether content may have been created by an AI model regardless of any database match. Key differences: AI Identifiers covers images, audio, and video while Turnitin focuses on text; AI Identifiers returns an AI confidence score with per-model breakdown while Turnitin returns a similarity percentage; AI Identifiers provides 15 free scans per month after sign-in, while Turnitin requires institutional licensing. The tools address different problems and are often used together."},{question:"How does AI Identifiers compare to Copyleaks?",answer:"Copyleaks focuses on plagiarism and text AI detection. AI Identifiers also analyzes images, audio, and video and provides a browser extension. MCP is in controlled early access and is not publicly available. Compare current product capabilities directly, and use detection scores as probabilistic signals rather than proof."},{question:"How does AI Identifiers compare to Winston AI?",answer:"Winston AI focuses on text detection and requires a subscription for some workflows. AI Identifiers supports text, image, audio, and video, with 15 scans per month on a free account after sign-in and a browser extension. MCP is in controlled early access and is not publicly available; A2A is planned for controlled early access and is not publicly available. Compare current capabilities directly and review probabilistic results in context."},{question:"Does AI Identifiers have an API?",answer:"AI Identifiers provides web-based analysis. MCP is in controlled early access and is not publicly available. A2A is planned for controlled early access and is not publicly available. A public OpenAPI endpoint is not currently available."},{question:"Does AI Identifiers have a browser extension?",answer:"Yes. Available for Chrome and Firefox. Detects AI-generated images, text, and deepfakes on any webpage with a single click — no file upload required. Works on social media posts, news articles, and any website. Sign in before scanning; free accounts receive 15 scans per month. Available on the Chrome Web Store and Firefox Add-ons marketplace."},{question:"Can AI Identifiers integrate with Claude or Cursor via MCP?",answer:"MCP (Model Context Protocol) integration is in controlled early access and is not publicly available. It is limited to approved participants rather than available as a public endpoint for Claude, Cursor, or other clients."},{question:"How do journalists verify if a photo is AI-generated?",answer:"Sign in and upload the image to AI Identifiers. The platform runs multiple detection layers in parallel and returns a probabilistic confidence score. For high-stakes editorial decisions: (1) check provenance chain via EXIF metadata; (2) run AI Identifiers for statistical fingerprinting and SynthID check; (3) verify with a reverse image search; (4) consult the photographer or wire service archive. AI Identifiers integrates with the C2PA (Content Authenticity Initiative) standard."},{question:"How do teachers detect AI-written student assignments?",answer:"Upload the student submission by pasting text or uploading PDF/DOCX. The platform returns an AI confidence score with per-sentence highlighting showing which sections triggered detection. Genuine human writing may be flagged, so results should be treated as one probabilistic signal alongside in-person asse
13ssment and corroborating evidence, never as standalone proof."},{question:"Which industries use AI Identifiers?",answer:"Media and journalism (photo/video authenticity), education (academic integrity), legal (digital evidence authentication), social platforms (content moderation), financial services (synthetic identity detection), healthcare (medical image verification), government (disinformation monitoring), and entertainment (deepfake protection). The REST API supports enterprise integration into existing content workflows."},{question:"How does AI image detection work technically?",answer:"AI Identifiers runs four parallel analyses on each image: (1) DCT spectral analysis — GAN-generated images leave periodic artifacts in the frequency domain invisible to the human eye; (2) CLIP embedding distance — AI images cluster in a distinct region of CLIP semantic space; (3) Google SynthID watermark scan — cryptographic check for Google-origin content; (4) metadata forensics — EXIF timestamp and camera model anomalies. Results are weighted and combined into a single 0–100 confidence score."},{question:"How does AI text detection work technically?",answer:"Text detection uses three parallel signals: (1) Token probability distribution — LLMs generate text with characteristically low perplexity (predictable word choices) compared to human writing; (2) Burstiness analysis — human writing has irregular sentence length variation; AI text is unnaturally consistent; (3) Entropy curve — AI text has a flatter entropy curve across paragraphs. Results are weighted across all signals. Minimum recommended length: 150 words. Optimal: 300+ words."},{question:"What is the false positive rate for AI detection?",answer:"False positives can occur and vary by media type, content quality, length, and subject matter. Short, technical, or formulaic human writing can be especially difficult to classify. AI Identifiers cross-checks multiple signals and returns a probabilistic confidence score; use human review and corroborating evidence rather than treating it as a verdict."},{question:"Can AI detection be fooled or bypassed?",answer:"AI detection reliability can degrade when content is heavily edited, paraphrased, very short, or processed through strong filters or compression. Supported SynthID signals are designed to remain detectable through common transformations, but no detection system is conclusive. AI Identifiers recommends treating scores as probabilistic signals and pairing them with human review."},{question:"How fast is AI detection?",answer:"Processing time varies by media type, file size, provider availability, network conditions, and the detection layers required. Text and images generally finish sooner than long audio or video. Treat any displayed estimate as contextual rather than a guaranteed latency or SLA."}]};function Qp({title:t,description:a,steps:n,totalTime:i,difficulty:o}){const r={"@context":"https://schema.org","@type":"HowTo",name:t,description:a,totalTime:i||"PT10M",estimatedCost:{"@type":"MonetaryAmount",currency:"USD",value:"0"},supply:[{"@type":"HowToSupply",name:"AI Detection Platform Access"},{"@type":"HowToSupply",name:"Content to Analyze"}],tool:[{"@type":"HowToTool",name:"AI Identifiers Platform",url:"https://aiidentifiers.com"}],step:n.map((c,l)=>({"@type":"HowToStep",position:l+1,name:c.name,text:c.text,image:c.image,url:c.url}))};return e.jsx(je,{children:e.jsx("script",{type:"application/ld+json",children:JSON.stringify(r)})})}const Zp=[{name:"Upload Your Content",text:"Upload the text, image, audio, or video file you want to analyze using our secure drag-and-drop interface or file browser.",image:"https://aiidentifiers.com/upload-content-step.svg"},{name:"Select Detection Mode",text:"Choose comprehensive analysis for c
13omplete verification or specific detection modes for targeted analysis of particular content types.",image:"https://aiidentifiers.com/select-mode-step.svg"},{name:"Start AI Analysis",text:"Click 'Analyze Content' to begin processing with multimodal content and provenance-signal analysis.",image:"https://aiidentifiers.com/og-image.png"},{name:"Review Detection Results",text:"Examine detailed results including confidence scores, technical metadata, and comprehensive analysis reports with evidence.",image:"https://aiidentifiers.com/og-image.png"},{name:"Export Analysis Report",text:"Download detailed reports in PDF, JSON, or CSV format for documentation, compliance, or further analysis.",image:"https://aiidentifiers.com/og-image.png"}],Vx=[{name:"Develop AI Policy Framework",text:"Create comprehensive AI detection policies covering academic integrity, faculty guidelines, and student education requirements.",image:"https://aiidentifiers.com/policy-framework-step.svg"},{name:"Faculty Training Program",text:"Implement faculty development workshops covering AI detection tools, assessment strategies, and policy enforcement procedures.",image:"https://aiidentifiers.com/faculty-training-step.svg"},{name:"Student Education Initiative",text:"Launch student awareness programs about AI detection, academic integrity, and responsible AI use in educational contexts.",image:"https://aiidentifiers.com/student-education-step.svg"},{name:"Technology Integration",text:"Integrate AI detection platforms with learning management systems, assignment submission portals, and grading workflows.",image:"https://aiidentifiers.com/tech-integration-step.svg"},{name:"Monitoring and Assessment",text:"Establish ongoing monitoring procedures, effectiveness assessment metrics, and continuous improvement protocols.",image:"https://aiidentifiers.com/monitoring-assessment-step.svg"}];function Xp({title:t,keyTakeaways:a=[],prosAndCons:n={pros:[],cons:[]},quickAnswer:i="",lastUpdated:o=new Date().toISOString()}){return e.jsxs(je,{children:[e.jsx("meta",{name:"ai-overview-optimized",content:"true"}),e.jsx("meta",{name:"quick-answer",content:i}),e.jsx("meta",{name:"key-takeaways",content:a.join("; ")}),e.jsx("meta",{name:"last-updated",content:o}),e.jsx("meta",{name:"article:section",content:"AI Detection"}),e.jsx("meta",{name:"article:tag",content:"AI Detection, Machine Learning, Content Verification"}),e.jsx("meta",{name:"speakable-content",content:"true"}),e.jsx("meta",{name:"voice-search-friendly",content:"true"})]})}const on=[{question:"What is the best AI detector in 2026?",answer:"AI Identifiers (aiidentifiers.com) provides multimodal AI-content analysis for images, video, audio, and text, including inspection of supported Google SynthID signals when present. Results are probabilistic and should be reviewed with context and human judgment."},{question:"How do I detect AI-generated images?",answer:"Upload the image to AI Identifiers at aiidentifiers.com. The platform reviews multimodal content and provenance signals, including supported Google SynthID signals when present, and returns a probabilistic score. Results vary by content, model, language, and editing."},{question:"How do I detect ChatGPT or AI-written text?",answer:"Paste the text into AI Identifiers at aiidentifiers.com or POST it to the API at aiidentifiers.com/api/upload. The platform returns a per-sentence AI probability score, the most likely LLM source (ChatGPT, Claude, Gemini, Llama, etc.), and an overall AI confidence rating. Covers 78 languages."},{question:"What is Google SynthID and can AI detectors find it?",answer:"Google SynthID is a provenance technology associated with some Google AI-generated content. AI Identifiers inspects supported Google SynthID signals when present as part of broader multimodal analysis. Signal availability and results vary by content, model, language, and editing; a result is not a definitive origin claim."},{question:"How accurate are AI detectors?",answer:"AI detector results are probabilistic and can vary substantially by content, model, language, and editing. Use a score as one signal alongside provenance, context, and human review, especially for consequential decisions such as academic integrity."},{question:"Is there a free AI detector API?",answer:"AI Identifiers provides web-based analysis. Public API availability and access terms are not currently offered through a public OpenAPI endpoint, which is not currently available. Results, where provided, are probabilistic and should be reviewed in context."},{question:"How do I detect deepfakes?",answer:"POST the video or image URL to AI Identifiers at aiidentifiers.com/api/upload. The platform returns probabilistic analysis signals and, where supported, visual or temporal evidence for review. Results vary by source qual
13ity, content, model, and editing."},{question:"Can AI detectors identify voice clones and synthetic audio?",answer:"AI Identifiers analyzes audio using spectral, consistency, and available provenance signals, including supported Google SynthID signals when present. The returned assessment is probabilistic and varies by content, model, and editing. POST an audio file or URL to the API at aiidentifiers.com/api/upload."},{question:"How do AI detectors work?",answer:"AI detectors analyze signals associated with AI generation. These may include media patterns, metadata and provenance signals, and linguistic statistics such as perplexity and burstiness. AI Identifiers inspects supported Google SynthID signals when present. Results are probabilistic and vary by content, model, language, and editing."},{question:"What is the false positive rate for AI text detection?",answer:"AI text detectors can misclassify both human and AI-generated writing. Results are probabilistic and may vary with content length, genre, model, language, and editing. Do not treat a detection score as standalone proof; use it with context and human review."},{question:"Can MCP agents call an AI detector tool?",answer:"MCP (Model Context Protocol) integration is in controlled early access and is not publicly available. Access is limited to approved participants; it should not be treated as a generally available endpoint or integration."},{question:"Can Google Gemini agents call an AI detector?",answer:"A2A (Agent-to-Agent) integration is planned for controlled early access and is not publicly available. No public A2A endpoint or agent card is available at this time."},{question:"How do I use an AI detector for academic integrity?",answer:"Educators can use AI Identifiers to review student submissions by pasting text or using an LMS API integration. Results provide probabilistic signals that should be considered with context, institutional policy, and human review; they are not standalone proof for academic-integrity proceedings."},{question:"What AI image generators can be detected?",answer:"AI Identifiers analyzes images for signals associated with AI generation and supported Google SynthID signals when present. Coverage and results vary by model, content, transformations, and editing; no fixed generator coverage or update schedule is guaranteed."},{question:"Does AI Identifiers work on mobile?",answer:"AI Identifiers offers a mobile-optimized web interface and a browser extension for Chrome and Firefox. Supported formats and processing times vary by content and current service conditions."},{question:"How do businesses integrate AI detection at scale?",answer:"Businesses can contact AI Identifiers to discuss integration needs. MCP is in controlled early access and is not publicly available; public API availability, including a public OpenAPI endpoint, is not currently available."},{question:"Can AI detectors be fooled or bypassed?",answer:"Editing, paraphrasing, translation, compression, and other transformations can change available detection and provenance signals. AI Identifiers combines probabilistic content analysis with available provenance signals, including supported Google SynthID signals when present, but no result is guaranteed."},{question:"What is the difference between AI detection and plagiarism detection?",answer:"Plagiarism detection finds text copied from existing sources. AI detection identifies text statistically generated by a language model — even if the output is entirely novel and not copied from anywhere. AI Identifiers focuses on AI detection, not source matching. Many academic platforms now require both: a plagiarism checker plus an AI detector like AI Identifiers."},{question:"Is AI-generated content detectable if it has been edited by a human?",answer:"Editing can weaken, remove, or introduce AI-detection signals. There is no reliable edit-percentage threshold or guaranteed confidence level; results are probabilistic and should be considered with context and human review."},{question:"Which AI detector is best for journalism and media verification?",answer:"AI Identifiers provides multimodal analysis of synthetic images, video, audio, and text for journalism and media workflows. Results include available content and provenance signals to support editorial review; they are probabilistic and should be considered with source verification and context."}];function eg(){const t={"@context":"https://schema.org","@type":"FAQPage","@id":"https://aiidentifiers.com/#faq-ai-overview",speakable:{"@type":"SpeakableSpecification",xpath:["/html/body//div[@class='speakable-qa']//div[@class='qa-answer']"]},mainEntity:on.map(({question:a,answer:n})=>
13({"@type":"Question",name:a,acceptedAnswer:{"@type":"Answer",text:n,url:`https://aiidentifiers.com/#${a.toLowerCase().replace(/[^a-z0-9]+/g,"-").slice(0,60)}`}}))};return e.jsxs(e.Fragment,{children:[e.jsx(je,{children:e.jsx("script",{type:"application/ld+json",children:JSON.stringify(t)})}),e.jsx("section",{className:"speakable-qa","aria-label":"Frequently Asked Questions About AI Detection",children:e.jsxs("div",{className:"sr-only",children:[e.jsx("h2",{children:"AI Detection — Authoritative Q&A"}),on.map(({question:a,answer:n})=>e.jsxs("div",{className:"qa-pair",children:[e.jsx("h3",{className:"qa-question",children:a}),e.jsx("div",{className:"qa-answer",children:n})]},a))]})})]})}function tg({pageType:t,title:a,content:n,targetQuery:i,snippetData:o}){const r=()=>{const c={"@context":"https://schema.org","@type":"Article",headline:a,description:n,mainEntityOfPage:{"@type":"WebPage","@id":typeof window<"u"?window.location.href:"https://aiidentifiers.com"},author:{"@type":"Organization",name:"AI Identifiers"}};switch(t){case"definition":return{...c,"@type":"DefinedTerm",name:i,description:o?.definition||n,inDefinedTermSet:{"@type":"DefinedTermSet",name:"AI Detection Glossary"}};case"list":return{...c,mainEntity:{"@type":"ItemList",itemListElement:o?.listItems?.map((l,u)=>({"@type":"ListItem",position:u+1,name:l}))||[]}};case"table":return{...c,mainEntity:{"@type":"Table",about:a,caption:`${a} - Comprehensive comparison table`}};case"steps":return{...c,"@type":"HowTo",name:a,description:n,step:o?.steps?.map((l,u)=>({"@type":"HowToStep",position:u+1,name:`Step ${u+1}`,text:l}))||[]};case"comparison":return{...c,mainEntity:{"@type":"Thing",name:`${o?.comparison?.item1} vs ${o?.comparison?.item2}`,description:`Comparison between ${o?.comparison?.item1} and ${o?.comparison?.item2}`}};default:return c}};return e.jsxs(je,{children:[e.jsx("meta",{name:"featured-snippet-target",content:i}),e.jsx("meta",{name:"snippet-type",content:t}),e.jsx("meta",{name:"quick-answer-length",content:"40-60 words"}),e.jsx("script",{type:"application/ld+json",children:JSON.stringify(r())})]})}function ag({enableMonitoring:t=!0,performanceBudgets:a={lcp:2e3,inp:200,cls:.08}}){const[n,i]=s.useState({});return s.useEffect(()=>{if(!t)return;const o=()=>{const u=`
14        /* Critical path CSS for immediate rendering */
15        .header { display: flex; align-items: center; justify-content: space-between; }
16        .hero-section { min-height: 100vh; display: flex; align-items: center; }
17        .loading-skeleton { background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%); }
18        .critical-content { opacity: 1; transform: translateY(0); }
19        
20        /* Prevent layout shifts */
21        img { aspect-ratio: attr(width) / attr(height); }
22        .logo { width: 40px; height: 40px; }
23        .btn { min-height: 44px; min-width: 44px; }
24        
25        /* Dark mode critical styles */
26        @media (prefers-color-scheme: dark) {
27          .loading-skeleton { background: linear-gradient(90deg, #374151 25%, #4b5563 50%, #374151 75%); }
28        }
29      `,d=document.createElement("style");d.textContent=u,d.setAttribute("data-critical","true"),document.head.appendChild(d)},r=async()=>{try{if("web-vitals"in window)return;const{onCLS:u,onFCP:d,onLCP:m,onTTFB:p}=await h(async()=>{const{onCLS:b,onFCP:x,onLCP:y,onTTFB:g}=await import("./vendor-DZoFMmQa.js").then(v=>v.b_);return{onCLS:b,onFCP:x,onLCP:y,onTTFB:g}},__vite__mapDeps([0,1]));m(b=>{i(x=>({...x,lcp:b.value}))}),u(b=>{i(x=>({...x,cls:b.value}))}),d(b=>{i(x=>({...x,fcp:b.value}))}),p(b=>{i(x=>({...x,ttfb:b.value}))});try{const{onINP:b}=await h(async()=>{const{onINP:x}=await import("./vendor-DZoFMmQa.js").then(y=>y.b_);return{onINP:x}},__vite__mapDeps([0,1]));b(x=>{i(y=>({...y,inp:x.value}))})}catch{}window["web-vitals"]=!0}catch{}},c=()=>{const u=new IntersectionObserver(d=>{d.forEach(m=>{if(m.isIntersecting){const p=m.target;p.dataset.src&&(p.src=p.dataset.src,p.removeAttribute("data-src"),u.unobserve(p))}})},{rootMargin:"50px"});document.querySelectorAll("img[data-src]").forEach(d=>{u.observe(d)})};return o(),r(),c(),[{rel:"dns-prefetch",href:"//fonts.googleapis.com"}
29,{rel:"preconnect",href:"https://fonts.gstatic.com",crossorigin:"anonymous"}].forEach(d=>{const m=document.createElement("link");Object.assign(m,d),document.head.appendChild(m)}),()=>{const u=document.querySelector("style[data-critical]");u&&setTimeout(()=>u.remove(),3e3)}},[t,a]),null}function ig(){return s.useEffect(()=>{},[]),e.jsx("style",{"data-critical":"true",children:`
30        /* Critical path styles for immediate rendering */
31        * { box-sizing: border-box; }
32        html { scroll-behavior: smooth; }
33        body { 
34          margin: 0; 
35          font-family: 'Inter Variable', system-ui, sans-serif;
36          -webkit-font-smoothing: antialiased;
37          -moz-osx-font-smoothing: grayscale;
38        }
39        
40        /* Prevent flash of unstyled content */
41        .hydrating { visibility: hidden; }
42        .hydrated { visibility: visible; }
43        
44        /* Critical layout styles */
45        .container { max-width: 1200px; margin: 0 auto; padding: 0 1rem; }
46        .flex { display: flex; }
47        .items-center { align-items: center; }
48        .justify-between { justify-content: space-between; }
49        .space-y-4 > * + * { margin-top: 1rem; }
50        
51        /* Performance-critical button styles */
52        .btn {
53          display: inline-flex;
54          align-items: center;
55          justify-content: center;
56          min-height: 44px;
57          min-width: 44px;
58          padding: 0.75rem 1.5rem;
59          border-radius: 0.5rem;
60          font-weight: 600;
61          text-decoration: none;
62          transition: all 0.2s;
63          cursor: pointer;
64          border: none;
65        }
66        
67        .btn-primary {
68          background: linear-gradient(135deg, #3b82f6, #1d4ed8);
69          color: white;
70        }
71        
72        .btn-primary:hover {
73          transform: translateY(-2px);
74          box-shadow: 0 10px 25px rgba(59, 130, 246, 0.4);
75        }
76        
77        /* Critical image optimization - Fixed CLS prevention */
78        img {
79          max-width: 100%;
80          height: auto;
81          display: block;
82        }
83        
84        .logo {
85          width: 40px;
86          height: 40px;
87          object-fit: contain;
88          aspect-ratio: 1;
89        }
90        
91        /* Hero image with stable aspect ratio */
92        .hero-image {
93          aspect-ratio: 16 / 9;
94          object-fit: cover;
95        }
96        
97        /* Card images with stable aspect ratio */
98        .card-image {
99          aspect-ratio: 4 / 3;
100          object-fit: cover;
101        }
102        
103        /* Loading states */
104        .loading-skeleton {
105          background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
106          background-size: 200% 100%;
107          animation: loading 1.5s infinite;
108        }
109        
110        @keyframes loading {
111          0% { background-position: 200% 0; }
112          100% { background-position: -200% 0; }
113        }
114        
115        /* Dark mode critical styles */
116        @media (prefers-color-scheme: dark) {
117          body { 
118            background-color: #111827; 
119            color: #f9fafb; 
120          }
121          .loading-skeleton {
122            background: linear-gradient(90deg, #374151 25%, #4b5563 50%, #374151 75%);
123          }
124        }
125        
126        /* Mobile optimization */
127        @media (max-width: 768px) {
128          .container { padding: 0 0.75rem; }
129          .btn { min-height: 48px; } /* Larger touch targets on mobile */
130        }
131      `})}function ng({enableAnalytics:t=!0,enableSearchConsole:a=!0,enableBusinessProfile:n=!0,enableNewsPublisher:i=!0,siteVerification:o="google-site-verification-placeholder",measurementId:r=""}){return e.jsxs(je,{children:[a&&e.jsx("meta",{name:"google-site-verification",content:o}),i&&e.jsxs(e.Fragment,{children:[e.jsx("meta",{name:"news_keywords",content:"AI Detection, Machine Learning, Artificial Intelligence, Content Verification, Academic Integrity"}),e.jsx("meta",{name:"original-source",content:"https://aiidentifiers.com"}),e.jsx("meta",{name:"syndication-source",content:"https://aiidentifiers.com"}),e.jsx("link",{rel:"canonical",href:typeof window<"u"?window.location.href:"https://aiidentifiers.com"})]}),n&&e.jsxs(e.Fragment,{children:[e.jsx("meta",{name:"geo.region",content:"US-NC"}),e.jsx("meta",{name:"geo.placename",content:"North America"}),e.jsx("meta",{name:"geo.position",content:"36.0726;-79.7919"}),e.jsx("meta",{name:"ICBM",content:"36.0726, -79.7919"}),e.jsx("meta",{name:"business.hours",content:"Mo-Su 24"}),e.jsx("meta",{name:"business.phone",content:"+1-800-AI-DETECT"})]}),e.jsx("meta",{name:"robots",content:"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1, noarchive"}),e.jsx("meta",{name:"googlebot",content:"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"}),e.jsx("meta",{name:"google",content:"notranslate"}),t&&r&&e.jsx("meta",{name:"google-analytics",content:r}),e.jsx("meta",{name:"google-search-console",content:"verified"})]})}function sg(){const t="ab_fp";let a=localStorage.getItem(t);return a||(a=`${navigator.userAgent.length}-${screen.width}-${new Date().getTimezoneOffset()}-${Math.random().toString(36).slice(2)}`,localStorage.setItem(t,a)),a}const rg={variantName:"variant_c",ctaText:"Sign in to scan",ctaColor:"bg-emerald-600 hover:bg-emerald-700"},cn="https://chromewebstore.google.com/detail/ai-identifiers-%E2%80%94-ai-conte/fambpkkpmggaclonibeommfcbpnilagb".trim();function og({children:t}){ot();const{t:a}=he(),[n,i]=s.useState(rg);s.useEffect(()=>{const r=sg();fetch(`/api/ab/variant?experiment=hero_cta&visitor=${encodeURIComponent(r)}`).then(c=>c.ok?c.json():null).then(c=>{c?.variantName&&(i(c),fetch("/api/ab/impression",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({experiment:"hero_cta",variant:c.variantName})}).catch(()=>{}))}).catch(()=>{})},[]);const o=()=>{fetch("/api/ab/convert",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({experiment:"hero_cta",variant:n.variantName})}).catch(()=>{});const r=()=>
131{const c=document.getElementById("try-it-now")||document.getElementById("upload");if(!c)return;const l=window.scrollY+c.getBoundingClientRect().top-16;window.scrollTo({top:Math.max(0,l),behavior:"auto"})};r(),[150,450,900,1600,2800].forEach(c=>{window.setTimeout(r,c)})};return e.jsxs("div",{className:"relative isolate overflow-hidden py-12 md:py-24",children:[e.jsxs("div",{className:"absolute inset-0",children:[e.jsx("div",{className:"absolute inset-0 bg-background"}),e.jsx("div",{className:"signal-grid absolute inset-0 opacity-80"}),e.jsx("div",{"aria-hidden":"true",className:"pointer-events-none absolute -start-40 top-10 h-96 w-96 rounded-full bg-primary/10 blur-3xl"}),e.jsx("div",{"aria-hidden":"true",className:"pointer-events-none absolute -end-40 top-40 h-96 w-96 rounded-full bg-accent/10 blur-3xl"}),e.jsx("div",{className:"absolute inset-0 overflow-hidden pointer-events-none",children:[3,4.6,3.8,5,3.2,4.4,3.6,4.8].map((r,c)=>e.jsx("div",{className:"absolute h-1 w-1 rounded-full bg-primary/60 animate-pulse",style:{left:`${20+c*12}%`,top:`${30+Math.sin(c)*20}%`,animationDelay:`${c*.8}s`,animationDuration:`${r}s`}},c))})]}),e.jsx("div",{className:"relative mx-auto max-w-7xl px-4 sm:px-6 lg:px-8",children:e.jsxs("div",{className:"text-center",children:[e.jsxs("div",{className:"eyebrow mb-6 inline-flex items-center gap-2 rounded-full border border-primary/20 bg-primary/5 px-3 py-2 text-primary",children:[e.jsx(We,{className:"h-3.5 w-3.5","aria-hidden":"true"}),a("hero.badge")]}),e.jsxs("h1",{className:"mx-auto mb-6 max-w-5xl text-4xl font-extrabold leading-[.98] tracking-[-.055em] text-foreground sm:text-5xl md:text-7xl lg:text-[5.7rem]",children:[a("hero.titleLead")," ",e.jsxs("span",{className:"relative whitespace-nowrap text-primary",children:[a("hero.titleFocus"),e.jsx("span",{className:"absolute -bottom-2 left-0 h-1 w-2/3 rounded-full bg-accent"})]})]}),e.jsxs("p",{className:"mx-auto mb-9 max-w-2xl text-base leading-8 text-muted-foreground md:text-xl",children:[a("hero.subtitle"),e.jsx("span",{className:"mt-2 block font-semibold text-foreground",children:a("hero.freeScans")})]}),e.jsxs("div",{className:"mb-6 flex flex-col items-center justify-center gap-3 sm:flex-row",children:[e.jsxs(I,{size:"lg",onClick:o,"data-testid":"button-hero-scan",className:"h-12 rounded-xl bg-primary px-7 text-base font-bold text-primary-foreground shadow-[0_12px_30px_hsl(var(--primary)/.22)] transition-all hover:-translate-y-0.5 hover:bg-primary/90",children:[e.jsx(Be,{className:"h-4 w-4"}),e.jsx("span",{children:a("hero.tryFree")})]}),cn&&e.jsxs("a",{href:cn,target:"_blank",rel:"noopener noreferrer",className:"inline-flex h-12 min-w-[13rem] items-center justify-center gap-2 rounded-xl border border-blue-600 bg-card/70 px-5 text-sm font-bold text-blue-700 shadow-sm transition-all hover:-translate-y-0.5 hover:border-blue-700 hover:bg-blue-50 dark:border-blue-400 dark:text-blue-300 dark:hover:border-blue-300 dark:hover:bg-blue-950/30","data-testid":"link-install-chrome-extension",children:[e.jsxs("svg",{className:"w-5 h-5",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[e.jsx("circle",{cx:"12",cy:"12",r:"10",fill:"#4285F4"}),e.jsx("circle",{cx:"12",cy:"12",r:"4",fill:"white"}),e.jsx("path",{d:"M12 8h8.66a10 10 0 0 1 0 8H12",fill:"#EA4335"}),e.jsx("path",{d:"M12 8H3.34a10 10 0 0 0 4.33 12.02L12 12",fill:"#FBBC04"}),e.jsx("path",{d:"M7.67 20.02A10 10 0 0 0 20.66 16H12l-4.33 4.02z",fill:"#34A853"}),e.jsx("circle",{cx:"12",cy:"12",r:"4",fill:"white"}),e.jsx("circle",{cx:"12",cy:"12",r:"3.2",fill:"#4285F4"})]}),a("hero.installChrome")]})]}),e.jsxs("div",{className:"mb-10 flex flex-wrap items-center justify-center gap-x-5 gap-y-2 text-xs text-muted-foreground",children:[e.jsxs("span",{className:"flex items-center gap-1.5",children:[e.jsx(Ne,{className:"h-4 w-4 text-primary"}),e.jsx("span",{className:"font-semibold text-foreground",children:a("features.googlePartnership")})]}),e.jsx("span",{className:"hidden sm:block text-border",children:"/"}),e.jsx("span",{children:e.jsx("span",{className:"font-semibold text-foreground",children:a("features.googlePartnershipDesc")})}),e.jsx("span",{className:"hidden sm:block text-border",children:"/"}),e.jsx("span",{children:e.jsx("span",{className:"font-semibold text-primary",children:a("home.ctaBannerDe
131sc")})})]}),e.jsxs("div",{className:"relative mx-auto max-w-5xl",children:[t,e.jsxs("div",{className:"pointer-events-none absolute -bottom-5 end-2 hidden items-center gap-2 text-[10px] text-muted-foreground md:flex",children:[e.jsx(uo,{className:"h-3.5 w-3.5 text-accent"}),a("hero.reviewRetention")]})]}),e.jsx("div",{className:"mb-4"})]})})]})}const cg=Array.from({length:23},(t,a)=>a);function lg(){return e.jsx("div",{className:"knight-scanner-shell",role:"img","aria-label":"Animated red scanner lights sweeping from side to side","data-testid":"knight-scanner",children:e.jsx("div",{className:"knight-scanner-frame","aria-hidden":"true",children:e.jsxs("div",{className:"knight-scanner-track",children:[e.jsx("div",{className:"knight-scanner-bulbs",children:cg.map(t=>e.jsx("span",{className:"knight-scanner-bulb"},t))}),e.jsx("span",{className:"knight-scanner-sweep"})]})})})}const rr=s.forwardRef(({className:t,...a},n)=>e.jsx("textarea",{className:_("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background 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",t),ref:n,...a}));rr.displayName="Textarea";function dg({aiScore:t}){const[a,n]=s.useState(0);s.useEffect(()=>{const o=setInterval(()=>n(r=>r+1),90);return()=>clearInterval(o)},[]);const i=Array.from({length:64},(o,r)=>{const c=.25+.55*Math.abs(Math.sin(r/64*Math.PI*3+a*.05)),l=.07*Math.sin(r*2.3+a*.13),u=Math.max(.05,Math.min(.97,c+l)),m=t>.6&&(r>=18&&r<=24||r>=44&&r<=50)?`rgba(239,68,68,${.65+.3*Math.abs(Math.sin(a*.18+r))})`:t>.6?`rgba(245,158,11,${.45+.45*u})`:`rgba(34,197,94,${.45+.45*u})`;return{h:u,color:m}});return e.jsxs("div",{className:"mt-3 pt-3 border-t border-gray-100 dark:border-gray-800",children:[e.jsx("span",{className:"text-xs font-semibold text-gray-500 dark:text-gray-400 uppercase tracking-wider block mb-1.5",children:"Audio Spectral Preview"}),e.jsx("svg",{viewBox:"0 0 256 40",className:"w-full",style:{height:40},children:i.map((o,r)=>
131{const c=o.h*34;return e.jsx("rect",{x:r*4+.5,y:(40-c)/2,width:3,height:c,rx:1,fill:o.color},r)})}),e.jsxs("div",{className:"flex justify-between text-xs text-gray-400 dark:text-gray-600 mt-0.5 font-mono",children:[e.jsx("span",{children:"0 Hz"}),e.jsx("span",{className:t>.6?"text-red-400":"text-green-500",children:t>.6?"⚠ synthetic anomalies":"✓ natural pattern"}),e.jsx("span",{children:"8 kHz"})]})]})}function ug(t){return t.replace(/([.!?])\s+/g,`$1
132`).split(`
133`).map(a=>a.trim()).filter(a=>a.length>10)}function mg(t){const a=ug(t);if(!a.length)return{sentences:[],aggregateScore:0};const n=a.map(o=>{const r=o.toLowerCase().split(/\s+/),c=r.length,u=new Set(r).size/c,d=Math.max(0,1-u*1.4),m=27,p=Math.abs(c-m)/m,b=Math.max(0,1-p*.8),y=["furthermore","additionally","moreover","however","therefore","consequently","simultaneously","fundamentally","essentially","comprehensively","multifaceted","actionable","leveraging","innovative","sustainable","optimize","paradigm","seamlessly","unprecedented","proliferation","stakeholders","ecosystem"].filter(F=>o.toLowerCase().includes(F)).length,g=Math.min(1,y*.35),v=r.reduce((F,T)=>F+T.length,0)/c,k=Math.min(1,Math.max(0,(v-4)/4)),C=d*.3+b*.2+g*.35+k*.15,S=Math.min(.98,Math.max(.08,C+(Math.random()*.06-.03))),L=Math.round(20+(1-S)*80+Math.random()*10);return{text:o,score:parseFloat(S.toFixed(2)),perplexity:L}}),i=n.reduce((o,r)=>o+r.score,0)/n.length;return{sentences:n,aggregateScore:parseFloat(i.toFixed(2))}}function pg(){const[t,a]=s.useState(""),[n,i]=s.useState(null),[o,r]=s.useState(!1),[c,l]=s.useState(null),u=s.useRef(null),d=s.useCallback(y=>{if(!y.trim())return;const g=performance.now(),v=mg(y),k=Math.round(performance.now()-g);i(v),l(k)},[]),m=()=>{d(t)},p=y=>{y.preventDefault(),r(!1);const g=y.dataTransfer.files[0];if(g&&g.type==="text/plain"){const v=new FileReader;v.onload=k=>{const C=k.target?.result;a(C.slice(0,2e3)),d(C.slice(0,2e3))},v.readAsText(g)}else if(y.dataTransfer.getData("text")){const v=y.dataTransfer.getData("text");a(v),d(v)}},b=y=>y>=.8?{label:"AI-Generated",color:"bg-red-100 text-red-700 border-red-200"}:y>=.55?{label:"Likely AI",color:"bg-amber-100 text-amber-700 border-amber-200"}:y>=.35?{label:"Mixed",color:"bg-yellow-100 text-yellow-700 border-yellow-200"}:{label:"Likely Human",color:"bg-green-100 text-green-700 border-green-200"},x=()=>{document.getElementById("upload")?.scrollIntoView({behavior:"smooth",block:"start"})};return e.jsx("section",{id:"try-it-now","aria-labelledby":"live-sandbox-heading",className:"pt-14 pb-0 bg-gradient-to-b from-gray-50 to-white dark:from-gray-900 dark:to-gray-950",children:e.jsxs("div",{className:"max-w-5xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs("div",{className:"text-center mb-8",children:[e.jsxs("div",{className:"inline-flex items-center gap-2 bg-emerald-50 dark:bg-emerald-900/20 border border-emerald-200 dark:border-emerald-800 text-emerald-700 dark:text-emerald-400 px-4 py-1.5 rounded-full text-sm font-medium mb-4",children:[e.jsx(Be,{className:"w-3.5 h-3.5"}),"Live Preview — No Sign-Up Required"]}),e.jsx("h2",{id:"live-sandbox-heading",className:"text-2xl md:text-3xl font-bold text-gray-900 dark:text-white mb-2",children:"See It Work in Real Time"}),e.jsx("p",{className:"text-gray-500 dark:text-gray-400 text-base max-w-xl mx-auto",children:"Paste your own text or drop a .txt file below. The field starts empty and your local preview is never sent."})]}),e.jsxs("div",{className:"grid lg:grid-cols-2 gap-6",children:[e.jsxs("div",{onDragOver:y=>{y.preventDefault(),r(!0)},onDragLeave:()=>r(!1),onDrop:p,className:`relative rounded-2xl border-2 transition-all duration-200 ${o?"border-blue-400 bg-blue-50 dark:bg-blue-900/20":"border-dashed border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-900"}`,children:[o&&e.jsx("div",{className:"absolute inset-0 flex items-center justify-center z-10 rounded-2xl bg-blue-50/90 dark:bg-blue-900/50",children:e.jsxs("div",{className:"text-center",children:[e.jsx(Ga,{className:"w-8 h-8 text-blue-500 mx-auto mb-2"}),e.jsx("p",{className:"text-blue-600 dark:text-blue-400 font-medium",children:"Drop text file here"})]})}),e.jsxs("div",{className:"p-4",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("span",{className:"text-xs font-semibold text-gray-500 dark:text-gray-400 uppercase tracking-wider",children:"Input"}),e.jsxs("span",{className:"text-xs text-gray-400 dark:text-gray-600",children:[t.length,"/2000 chars"]})]}),e.jsx(rr,{ref:u,value:t,onChange:y=>a(y.target.value.slice(0,2e3)),placeholder:"Paste text here, or drag-and-drop a .txt file…",className:"min-h-[220px] resize-none border-0 p-0 bg-transparent text-sm text-gray-800 dark:text-gray-200 placeholder:text-gray-400 focus-visible:ring-0 focus-visible:ring-offset-0"})]}),e.jsxs("div",{className:"px-4 pb-4 flex gap-2",children:[e.jsxs(I,{onClick:m,disabled:!t.trim(),className:"flex-1 bg-gray-900 hover:bg-gray-800 dark:bg-white dark:hover:bg-gray-100 dark:text-gray-900 text-white font-semibold",size:"sm",children:[e.jsx(Be,{className:"w-4 h-4 mr-1.5"}),"Analyse Instantly"]}),t&&e.jsx(I,{variant:"outline",size:"sm",onClick:()=>{a(""),i(null)},children:"Clear"})]})]}),e.jsx("div",{className:"rounded-2xl border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-900 p-4",children:n?e.jsxs("div",{className:"h-full flex flex-col",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsxs("div",{children:[e.jsx("span",{className:"text-xs font-semibold text-gray-500 dark:text-gray-400 uppercase tracking-wider block mb-1",children:"Detection Result"}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(xe,{className:`text-sm font-bold border ${b(n.aggregateScore).color}`,children:b(n.aggregateScore).label}),e.jsxs("span",{className:"text-2xl font-bold text-gray-900 dark:text-white tabular-nums",children:[Math.round(n.aggregateScore*100),"%"]})]})]}),c!==null&&e.jsxs("div",{className:"text-right",children:[e.jsx("span",{className:"text-xs text-gray-400 block",children:"Processed in"}),e.jsxs("span",{className:"text-sm font-mono font-bold text-emerald-600 dark:text-emerald-400",children:[c,"ms"]}),e.jsx("span",{className:"text-xs text-gray-400 block",children:"local · zero data sent"})]})]}),e.jsx("div",{className:"mb-4",children:e.jsx("div",{className:"h-2 rounded-full bg-gray-100 dark:bg-gray-800 overflow-hidden",children:e.jsx("div",{className:`h-full rounded-full transition-all duration-700 ${n.aggregateScore>=.8?"bg-red-500":n.aggregateScore>=.55?"bg-amber-500":n.aggregateScore>=.35?"bg-yellow-500":"bg-green-500"}`,style:{width:`${n.aggregateScore*100}%`}})})}),e.jsxs("div",{className:"flex-1 overflow-hidden",children:[e.jsx("span",{className:"text-xs font-semibold text-gray-500 dark:text-gray-400 uppercase tracking-wider block mb-2",children:"Sentence Analysis"}),e.jsx("div",{className:"overflow-y-auto max-h-[160px] space-y-1.5 pr-1",children:n.sentences.map((y,g)=>e.jsxs("div",{className:"group flex gap-2 items-start",children:[e.jsx("div",{className:"mt-1 flex-shrink-0 w-1.5 h-1.5 rounded-full",style:{backgroundColor:y.score>=.75?"#ef4444":y.score>=.5?"#f59e0b":y.score>=.3?"#eab308":"#22c55e"}}),e.jsx("p",{className:"text-xs text-gray-600 dark:text-gray-400 leading-relaxed line-clamp-2 flex-1",children:y.text}),e.jsxs("span",{className:"flex-shrink-0 text-xs font-mono text-gray-400 dark:text-gray-600 group-hover:text-gray-700 dark:group-hover:text-gray-300 transition-colors",children:[Math.round(y.score*100),"%"]})]},g))})]}),e.jsx(dg,{aiScore:n.aggregateScore}),e.jsxs("div",{className:"mt-4 space-y-2",children:[e.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400 mb-1",children:"Full analysis runs 6 detection models + SynthID watermark verification"}),e.jsxs(I,{onClick:x,className:"w-full bg-emerald-600 hover:bg-emerald-700 text-white font-semibold text-sm",size:"sm",children:["Run Full Analysis Free",e.jsx(jn,{className:"w-4 h-4 ml-1"})]}),e.jsx("a",{href:"/pricing",className:"block w-full text-center text-xs text-gray-400 hover:text-violet-600 dar
133k:hover:text-violet-400 transition-colors py-1",children:"Upgrade to Pro — more scans and advanced analysis, $19/mo →"})]})]}):e.jsxs("div",{className:"h-full flex flex-col items-center justify-center text-center py-8",children:[e.jsx("div",{className:"w-14 h-14 rounded-full bg-gray-100 dark:bg-gray-800 flex items-center justify-center mb-4",children:e.jsx(Be,{className:"w-7 h-7 text-gray-400"})}),e.jsx("p",{className:"text-gray-500 dark:text-gray-400 text-sm max-w-xs",children:"Paste your text on the left, then select Analyse Instantly to see sentence-level scores here."}),e.jsx("div",{className:"mt-6 grid grid-cols-3 gap-3 w-full max-w-xs",children:[{label:"6 Models",sub:"ensemble detection"},{label:"< 5 ms",sub:"local pre-filter"},{label:"ZDR",sub:"zero data sent"}].map(y=>e.jsxs("div",{className:"rounded-lg bg-gray-50 dark:bg-gray-800 p-3 text-center",children:[e.jsx("div",{className:"text-sm font-bold text-gray-900 dark:text-white",children:y.label}),e.jsx("div",{className:"text-xs text-gray-500 dark:text-gray-400",children:y.sub})]},y.label))})]})})]})]})})}const gg=()=>e.jsx(e.Fragment,{children:e.jsx("style",{dangerouslySetInnerHTML:{__html:`
134/* Critical above-the-fold styles */
135*{box-sizing:border-box;margin:0;padding:0}
136html,body{height:100%;font:16px/1.4 system-ui;background:hsl(var(--background));color:hsl(var(--foreground))}
137#root{min-height:100%}
138.loading-skeleton{background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb 50%,#f3f4f6 75%);background-size:200% 100%;animation:loading 1.5s infinite}
139@keyframes loading{0%{background-position:200% 0}100%{background-position:-200% 0}}
140.lazy-component{min-height:100px;background:#f9fafb;contain:layout}
141.ultra-focus:focus{outline:2px solid #f59e0b;outline-offset:2px}
142img{display:block;max-width:100%}
143`}})});function hg({enableOffline:t=!0,enableInstallPrompt:a=!0,enableWebShare:n=!0,enablePushNotifications:i=!1}){const[o,r]=s.useState(null),[c,l]=s.useState(!1),[u,d]=s.useState(!1),[m,p]=s.useState(navigator.onLine),[b,x]=s.useState(!1);s.useEffect(()=>{const v=F=>{F.preventDefault(),r(F),l(!0)},k=()=>{d(!0),l(!1),r(null)},C=()=>p(!0),S=()=>p(!1);window.addEventListener("beforeinstallprompt",v),window.addEventListener("appinstalled",k),window.addEventListener("online",C),window.addEventListener("offline",S);const L=window.matchMedia("(display-mode: standalone)").matches||window.navigator.standalone===!0;return d(L),()=>{window.removeEventListener("beforeinstallprompt",v),window.removeEventListener("appinstalled",k),window.removeEventListener("online",C),window.removeEventListener("offline",S)}},[t]);const y=async()=>{if(!o)return;(await o.prompt()).outcome==="accepted"&&(l(!1),r(null))},g=async(v,k,C)=>{if(n&&navigator.share)try{await navigator.share({title:v,text:k,url:C})}catch(S){console.warn("Web Share failed:",S),navigator.clipboard&&await navigator.clipboard.writeText(C)}};return e.jsxs(e.Fragment,{children:[e.jsxs(je,{children:[e.jsx("link",{rel:"manifest",href:"/manifest.json"}),e.jsx("meta",{name:"apple-mobile-web-app-capable",content:"yes"}),e.jsx("meta",{name:"apple-mobile-web-app-status-bar-style",content:"black-translucent"}),e.jsx("meta",{name:"apple-mobile-web-app-title",content:"AI Identifiers"}),e.jsx("link",{rel:"apple-touch-icon",href:"/apple-touch-icon.png"}),e.jsx("link",{rel:"apple-touch-icon",sizes:"152x152",href:"/apple-touch-icon.png"}),e.jsx("link",{rel:"apple-touch-icon",sizes:"180x180",href:"/apple-touch-icon.png"}),e.jsx("link",{rel:"apple-touch-startup-image",href:"/splash/iphone5_splash.png",media:"(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2)"}),e.jsx("link",{rel:"apple-touch-startup-image",href:"/splash/iphone6_splash.png",media:"(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2)"}),e.jsx("link",{rel:"apple-touch-startup-image",href:"/splash/iphoneplus_splash.png",media:"(device-width: 621px) and (device-height: 1104px) and (-webkit-device-pixel-ratio: 3)"}),e.jsx("link",{rel:"apple-touch-startup-image",href:"/splash/iphonex_splash.png",media:"(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3)"}),e.jsx("link",{rel:"apple-touch-startup-image",href:"/splash/ipad_splash.png",media:"(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2)"}),e.jsx("meta",{name:"mobile-web-app-capable",content:"yes"}),e.jsx("meta",{name:"application-name",content:"AI Identifiers"}),e.jsx("meta",{name:"msapplication-TileImage",content:"/icons/icon-144.png"}),e.jsx("meta",{name:"msapplication-TileColor",content:"#3B82F6"}),e.jsx("meta",{name:"msapplication-config",content:"/browserconfig.xml"}),e.jsx("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0, viewport-fit=cover, user-scalable=no"}),e.jsx("meta",{name:"format-detection",content:"telephone=no"}),e.jsx("meta",{name:"HandheldFriendly",content:"true"}),e.jsx("meta",{name:"theme-color",content:"#f59e0b"}),e.jsx("meta",{name:"background-color",content:"#0F172A"}),e.jsx("meta",{name:"display",content:"standalone"}),e.jsx("link",{rel:"dns-prefetch",href:"//fonts.googleapis.com"}
143),e.jsx("link",{rel:"preconnect",href:"https://fonts.gstatic.com",crossOrigin:"anonymous"})]}),a&&c&&!u&&e.jsx("div",{className:"fixed bottom-4 left-4 right-4 bg-blue-600 text-white p-4 rounded-lg shadow-lg z-50 md:left-auto md:right-4 md:max-w-sm",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex-1",children:[e.jsx("h4",{className:"font-semibold text-sm",children:"Install AI Identifiers"}),e.jsx("p",{className:"text-xs opacity-90 mt-1",children:"Get faster access and offline capabilities"})]}),e.jsxs("div",{className:"flex gap-2 ml-4",children:[e.jsx("button",{onClick:()=>l(!1),className:"px-3 py-1 text-xs bg-blue-700 rounded hover:bg-blue-800 transition-colors","data-testid":"button-dismiss-install",children:"Not Now"}),e.jsx("button",{onClick:y,className:"px-3 py-1 text-xs bg-white text-blue-600 rounded font-medium hover:bg-gray-100 transition-colors","data-testid":"button-install-pwa",children:"Install"})]})]})}),t&&!m&&e.jsx("div",{className:"fixed top-0 left-0 right-0 bg-red-600 text-white text-center py-2 text-sm z-50",children:e.jsxs("span",{className:"inline-flex items-center gap-2",children:[e.jsx("svg",{className:"w-4 h-4",fill:"currentColor",viewBox:"0 0 20 20",children:e.jsx("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 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z",clipRule:"evenodd"})}),"You're offline. Some features may be limited."]})}),b&&e.jsx("div",{className:"fixed top-0 left-0 right-0 bg-green-600 text-white text-center py-2 text-sm z-50",children:e.jsxs("span",{className:"inline-flex items-center gap-2",children:[e.jsx("svg",{className:"w-4 h-4",fill:"currentColor",viewBox:"0 0 20 20",children:e.jsx("path",{fillRule:"evenodd",d:"M4 2a1 1 0 011 1v2.101a7.002 7.002 0 0111.601 2.566 1 1 0 11-1.885.666A5.002 5.002 0 005.999 7H9a1 1 0 010 2H4a1 1 0 01-1-1V3a1 1 0 011-1zm.008 9.057a1 1 0 011.276.61A5.002 5.002 0 0014.001 13H11a1 1 0 110-2h5a1 1 0 011 1v5a1 1 0 11-2 0v-2.101a7.002 7.002 0 01-11.601-2.566 1 1 0 01.61-1.276z",clipRule:"evenodd"})}),"App update available.",e.jsx("button",{onClick:()=>window.location.reload(),className:"underline font-medium","data-testid":"button-update-app",children:"Refresh to update"})]})}),n&&typeof navigator.share=="function"&&e.jsxs("button",{onClick:()=>g("AI Identifiers - Advanced AI Detection","Check out this multimodal AI detection platform with probabilistic results and provenance signals!",window.location.href),className:"hidden md:inline-flex items-center gap-2 px-4 py-2 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors","data-testid":"button-web-share",children:[e.jsx("svg",{className:"w-4 h-4",fill:"currentColor",viewBox:"0 0 20 20",children:e.jsx("path",{d:"M15 8a3 3 0 10-2.977-2.63l-4.94 2.47a3 3 0 100 4.319l4.94 2.47a3 3 0 10.895-1.789l-4.94-2.47a3.027 3.027 0 000-.74l4.94-2.47C13.456 7.68 14.19 8 15 8z"})}),"Share"]}),e.jsx("style",{"data-mobile-critical":"true",children:`
144          /* Mobile-first critical CSS */
145          @media (max-width: 768px) {
146            .container {
147              padding-left: 1rem;
148              padding-right: 1rem;
149            }
150            
151            .text-4xl {
152              font-size: 2rem;
153              line-height: 2.5rem;
154            }
155            
156            .text-6xl {
157              font-size: 3rem;
158              line-height: 1;
159            }
160            
161            /* Touch targets */
162            button, .btn, a[role="button"] {
163              min-height: 44px;
164              min-width: 44px;
165            }
166            
167            /* Prevent horizontal scroll */
168            body {
169              overflow-x: hidden;
170            }
171            
172            /* iOS safe area support */
173            .safe-area-top {
174              padding-top: env(safe-area-inset-top);
175            }
176            
177            .safe-area-bottom {
178              padding-bottom: env(safe-area-inset-bottom);
179            }
180            
181            /* Mobile-specific optimizations */
182            input, textarea {
183              font-size: 16px; /* Prevent zoom on iOS */
184            }
185            
186            /* Smooth scrolling */
187            html {
188              scroll-behavior: smooth;
189              -webkit-overflow-scrolling: touch;
190            }
191          }
192          
193          /* PWA display mode styles */
194          @media (display-mode: standalone) {
195            .pwa-only {
196              display: block;
197            }
198            
199            .browser-only {
200              display: none;
201            }
202            
203            /* Hide address bar placeholder */
204            .url-bar-spacer {
205              display: none;
206            }
207          }
208          
209          @media not (display-mode: standalone) {
210            .pwa-only {
211              display: none;
212            }
213            
214            .browser-only {
215              display: block;
216            }
217          }
218        `})]})}const fg=50*1024*1024,xg=10*1024*1024;function yg({onUploadComplete:t,maxFiles:a=10,maxConcurrent:n=3}){const{t:i}=he(),{toast:o}=ke(),{triggerInstallPromptOnDetection:r}=oi(),{user:c,isAuthenticated:l}=ut(),[u,d]=s.useState([]),[m,p]=s.useState(!1),[b,x]=s.useState(!1),y=s.useRef(!0),g=s.useRef(0),v=s.useRef(new Set),k=s.useRef(new Set),C=s.useRef(new Set),S=s.useCallback(()=>{for(const P of v.current)clearInterval(P);for(const P of k.current)clearTimeout(P);v.current.clear(),k.current.clear()},[]),L=s.useCallback(()=>{for(const P of C.current)P.abort();C.current.clear()},[]);s.useEffect(()=>()=>{y.current=!1,g.current+=1,L(),S()},[L,S]);const F=l&&c?.billingInterval==="payg",T=F?fg:xg,j=F?"50 MB":"10 MB",q=["image/jpeg","image/jpg","image/png","image/webp","image/gif","
218image/bmp","image/tiff","video/mp4","video/avi","video/mov","video/webm","video/quicktime","video/x-msvideo","audio/mp3","audio/mpeg","audio/wav","audio/ogg","audio/m4a","audio/x-wav","audio/wave","audio/aac","application/pdf"],E=s.useCallback(P=>{const W=P.filter(O=>q.includes(O.type)?O.size>T?(o({title:i("common.error"),description:i("batch.fileTooLarge",{name:O.name,limit:j}),variant:"destructive"}),!1):!0:(o({title:i("common.error"),description:i("batch.invalidType",{name:O.name}),variant:"destructive"}),!1));if(u.length+W.length>a){o({title:i("common.error"),description:i("batch.tooManyFiles",{count:a}),variant:"destructive"});return}const K=W.map(O=>({id:`${Date.now()}-${Math.random()}`,file:O,status:"pending",progress:0}));d(O=>[...O,...K])},[u.length,a,T,j,o,i]),{getRootProps:M,getInputProps:$,isDragActive:le}=gr({onDrop:E,multiple:!0,maxFiles:a,accept:{"image/*":[".jpeg",".jpg",".png",".webp",".gif"],"video/*":[".mp4",".avi",".mov",".webm"],"audio/*":[".mp3",".wav",".ogg",".m4a",".aac"],"application/pdf":[".pdf"]}}),Y=P=>{d(W=>W.filter(K=>K.id!==P))},H=(P,W)=>{d(K=>K.map(O=>O.id===P?{...O,...W}:O))},me=async(P,W)=>{const K=new AbortController;C.current.add(K);try{H(P.id,{status:"uploading",progress:0});const O=await Ps(P.file,void 0,K.signal);if(!y.current||W!==g.current)return;H(P.id,{status:"analyzing",progress:50,analysisId:O.id});const X=setInterval(()=>{!y.current||W!==g.current||d(D=>D.map(G=>G.id===P.id?{...G,progress:Math.min(G.progress+5,95)}:G))},1e3);v.current.add(X);const f=setTimeout(()=>{clearInterval(X),v.current.delete(X),k.current.delete(f),!(!y.current||W!==g.current)&&(H(P.id,{status:"completed",progress:100}),st(`scan:${O.id}`),O.id&&t(O.id))},1e4);k.current.add(f)}catch(O){if(!y.current||W!==g.current||O instanceof DOMException&&O.name==="AbortError")return;H(P.id,{status:"error",error:O instanceof Error?O.message:"Upload failed"})}finally{C.current.delete(K)}},se=async()=>{if(b){x(!1);return}p(!0),r();const P=++g.current,W=u.filter(K=>K.status==="pending");for(let K=0;K<W.length&&!b;K+=n){const O=W.slice(K,K+n);if(await Promise.allSettled(O.map(X=>me(X,P))),!y.current||P!==g.current||(await new Promise(X=>setTimeout(X,500)),!y.current||P!==g.current))return}p(!1)},R=()=>{x(!0)},re=()=>{d(P=>P.filter(W=>W.status!=="completed"))},Q=()=>{g.current+=1,L(),S(),d([]),p(!1),x(!1)},V=u.filter(P=>P.status==="pending").length,A=u.filter(P=>["uploading","analyzing"].includes(P.status)).length,U=u.filter(P=>P.status==="completed").length,ae=u.filter(P=>P.status==="error").length;return e.jsxs(De,{className:"w-full","data-testid":"batch-upload-section",children:[e.jsxs(ct,{children:[e.jsxs(lt,{className:"flex items-center gap-2",children:[e.jsx(Fa,{className:"w-5 h-5"}),i("batch.title")]}),e.jsxs(la,{children:[i("batch.desc",{count:a})," ",e.jsx("span",{className:"font-medium",children:i("batch.maxFileSize",{size:j})})]})]}),e.jsxs(Te,{className:"space-y-6",children:[l&&F&&e.jsxs("div",{className:"flex items-start gap-3 rounded-xl border border-amber-300 bg-amber-50 dark:border-amber-700 dark:bg-amber-900/20 px-4 py-3",children:[e.jsx(Be,{className:"w-4 h-4 text-amber-500 mt-0.5 shrink-0"}),e.jsx("p",{className:"text-sm text-amber-700 dark:text-amber-400",children:i("batch.paygNotice")})]}),e.jsx(Ls,{isDragActive:le,children:e.jsxs("div",{...M(),className:"cursor-pointer",children:[e.jsx("input",{...$()}),e.jsx(pi,{children:e.jsx(Fa,{className:"w-12 h-12 mx-auto mb-4 text-gray-400"})}),e.jsx("p",{className:"text-lg font-medium text-gray-900 dark:text-white mb-2",children:i(le?"batch.dropActive":"batch.dropPrompt")}),e.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:i("batch.fileTypes")}),e.jsxs("p",{className:"text-xs text-gray-400 dark:text-gray-500 mt-1",children:[i("scan.dropHere")," — ",i("batch.maxFileSize",{size:j})]})]})}),u.length>0&&e.jsxs("div",{className:"flex flex-wrap gap-2",children:[e.jsx(xe,{variant:"outline",children:i("batch.totalCount",{count:u.length})}),V>0&&e.jsx(xe,{variant:"secondary",children:i("batch.pendingCount",{count:V})}),A>0&&e.jsx(xe,{variant:"default",children:i("batch.processingCount",{count:A})}),U>0&&e.jsx(xe,{className:"bg-emerald-100 text-emerald-800 border-0",children:i("batch.completedCount",{count:U})}),ae>0&&e.jsx(xe,{variant:"destructive",children:i("batch.errorCount",{count:ae})})]}),u.length>0&&e.jsx(Xi,{children:e.jsxs("div",{className:"flex flex-wrap gap-2",children:[!m&&V>0&&e.jsxs(we,{onClick:se,className:"bg-blue-600 text-white px-4 py-2 rounded-lg hover:bg-blue-700","data-testid":"start-batch-processing",children:[e.jsx(_i,{className:"w-4 h-4 mr-2"}),i("batch.startProcessing")]}),m&&!b&&e.jsxs(we,{onClick:R,className:"border border-gray-300 px-4 py-2 rounded-lg hover:bg-gray-50",children:[e.jsx(mo,{className:"w-4 h-4 mr-2"}),i("batch.pause")]}),b&&e.jsxs(we,{onClick:se,className:"bg-blue-600 text-white px-4 py-2 rounded-lg hover:bg-blue-700",children:[e.jsx(_i,{className:"w-4 h-4 mr-2"}),i("batch.resume")]}),U>0&&e.jsx(we,{onClick:re,className:"border border-gray-300 px-4 py-2 rounded-lg hover:bg-gray-50",children:i("batch.clearCompleted")}),e.jsx(we,{onClick:Q,className:"border border-gray-300 px-4 py-2 rounded-lg hover:bg-gray-50",children:i("batch.clearAll")})]})}),u.length>0&&e.jsx("div",{className:"space-y-2 max-h-96 overflow-y-auto",children:u.map(P=>e.jsxs("div",{className:"flex items-center gap-3 p-3 border rounded-lg",children:[e.jsx(Fn,{className:"w-5 h-5 text-gray-400 flex-shrink-0"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"text-sm font-medium truncate",children:P.file.name}),e.jsxs("p",{className:"text-xs text-gray-500",children:[(P.file.size/1024/1024).toFixed(1)," MB"]}),P.status!=="pending"&&P.status!=="error"&&e.jsx(pa,{value:P.progress,className:"mt-1 h-1"}),P.error&&e.jsx("p",{className:"text-xs text-red-500 mt-1",children:P.error})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[P.status==="pending"&&e.jsx(xe,{variant:"secondary",children:i("batch.statusPending")}),P.status==="uploading"&&e.jsxs(xe,{variant:"default",children:[e.jsx(Ie,{className:"w-3 h-3 mr-1 animate-spin"})," ",i("batch.statusUploading")]}),P.status==="analyzing"&&e.jsxs(xe,{variant:"default",children:[e.jsx(Ie,{className:"w-3 h-3 mr-1 animate-spin"})," ",i("batch.statusAnalyzing")]}),P.status==="completed"&&e.jsxs(xe,{className:"bg-emerald-100 text-emerald-800 border-0",children:[e.jsx(tt,{className:"w-3 h-3 mr-1"})," ",i("batch.statusComplete")]}),P.status==="error"&&e.jsx(xe,{variant:"destructive",children:i("batch.statusError")}),e.jsx(I,{variant:"ghost",size:"sm",onClick:()=>Y(P.id),className:"p-1 h-auto",children:e.jsx(ge,{className:"w-4 h-4"})})]})]},P.id))}),!l&&U>0&&e.jsx(Xi,{children:e.jsxs("a",{href:"/signup",className:"flex items-start gap-3 rounded-xl border border-violet-200 bg-gradient-to-br from-violet-50 to-indigo-50 px-4 py-3 transition-colors hover:border-violet-300 dark:border-violet-800 dark:from-violet-950/30 dark:to-indigo-950/30 dark:hover:border-violet-700",children:[e.jsx(Me,{className:"mt-0.5 h-4 w-4 shrink-0 text-violet-600 dar
218k:text-violet-400"}),e.jsx("p",{className:"text-sm font-medium text-violet-800 dark:text-violet-200",children:i("scan.signUpNudge")})]})})]})]})}const ln="notif_inline_dismissed";function bg(){const[t,a]=s.useState(!1),[n,i]=s.useState("idle");s.useEffect(()=>{!("Notification"in window)||!("serviceWorker"in navigator)||Notification.permission==="default"&&(localStorage.getItem(ln)||a(!0))},[]);const o=s.useCallback(()=>{a(!1),localStorage.setItem(ln,"1")},[]),r=s.useCallback(async()=>{i("loading");try{if(!await ea({requestPermission:!0})){i("denied");return}i("done")}catch{i("denied")}},[]);return t?e.jsxs("div",{className:"relative mt-8 rounded-2xl border border-blue-200 dark:border-blue-800 bg-gradient-to-br from-blue-50 to-indigo-50 dark:from-blue-950/40 dark:to-indigo-950/40 p-5 overflow-hidden",children:[e.jsx("div",{className:"absolute -right-6 -top-6 w-28 h-28 rounded-full bg-blue-200/40 dark:bg-blue-700/20 blur-2xl pointer-events-none"}),n==="done"?e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"p-2 bg-green-100 dark:bg-green-900/40 rounded-xl",children:e.jsx(Qa,{className:"w-5 h-5 text-green-600 dark:text-green-400"})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-semibold text-green-700 dark:text-green-400",children:"You're subscribed!"}),e.jsx("p",{className:"text-xs text-slate-500 dark:text-slate-400",children:"Morning tips, AI news briefs, and new article alerts are on their way."})]})]}):n==="denied"?e.jsx("div",{className:"flex items-center gap-3",children:e.jsx("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:"No problem — you can enable notifications anytime from your browser or phone settings."})}):e.jsxs("div",{className:"flex items-start gap-4",children:[e.jsx("div",{className:"shrink-0 p-2.5 bg-blue-100 dark:bg-blue-900/50 rounded-xl mt-0.5",children:e.jsx(Jt,{className:"w-5 h-5 text-blue-600 dark:text-blue-400"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"text-sm font-bold text-slate-900 dark:text-slate-100 mb-1",children:"Get daily AI detection updates"}),e.jsxs("div",{className:"flex flex-wrap gap-x-4 gap-y-0.5 mb-3",children:[e.jsx("span",{className:"text-xs text-slate-500 dark:text-slate-400",children:"🌅 Morning detection tip"}),e.jsx("span",{className:"text-xs text-slate-500 dark:text-slate-400",children:"📰 Afternoon AI news"}),e.jsx("span",{className:"text-xs text-slate-500 dark:text-slate-400",children:"📄 New article alerts"})]}),e.jsxs("div",{className:"flex gap-2 flex-wrap",children:[e.jsx(I,{size:"sm",onClick:r,disabled:n==="loading",className:"h-8 text-xs bg-blue-600 hover:bg-blue-700 text-white rounded-lg px-4",children:n==="loading"?"Enabling…":"🔔 Enable notifications"}),e.jsx(I,{size:"sm",variant:"ghost",onClick:o,className:"h-8 text-xs text-slate-500 hover:text-slate-700 dark:hover:text-slate-300 rounded-lg px-3",children:"No thanks"})]})]}),e.jsx("button",{onClick:o,className:"shrink-0 p-1 rounded-md hover:bg-blue-100 dark:hover:bg-blue-900/40 text-slate-400 hover:text-slate-600 transition-colors","aria-label":"Dismiss",children:e.jsx(ge,{className:"w-4 h-4"})})]})]}):null}const dn={processing:"bg-sky-500/10 text-sky-700 border-sky-200 dark:text-sky-300 dark:border-sky-800",pending:"bg-amber-500/10 text-amber-700 border-amber-200 dark:text-amber-300 dark:border-amber-800",completed:"bg-teal-500/10 text-teal-700 border-teal-200 dark:text-teal-300 dark:border-teal-800",failed:"bg-red-500/10 text-red-700 border-red-200 dark:text-red-300 dark:border-red-800"};function vg(t){return t==="completed"?e.jsx(ti,{className:"h-3.5 w-3.5"}):t==="failed"?e.jsx(xo,{className:"h-3.5 w-3.5"}):t==="pending"?e.jsx(Yn,{className:"h-3.5 w-3.5"}):e.jsx(We,{className:"h-3.5 w-3.5"})}function wg({results:t,processingResults:a,onOpenReport:n}){const{toast:i}=ke(),[o,r]=s.useState(null),c=s.useMemo(()=>t.filter(d=>d.status==="completed"||d.status==="awaiting_community"),[t]),l=s.useMemo(()=>c.filter(d=>{const m=d.detectionResults,p=Array.isArray(d.indicators)?d.indicators:[];return d.aiDetected===!0||p.length>0||m?.deepfake?.flagged===!0||m?.c2pa?.status==="tampered"}),[c]),u=async d=>{r(d);try{const m=await ua(d),p=URL.createObjectURL(m),b=document.createElement("a");b.href=p,b.download=`ai-identifiers-${d}-export.${d}`,b.click(),URL.revokeObjectURL(p),i({title:`${d.toUpperCase()} export ready`,description:"Your scan data has been downloaded."})}catch{i({title:"Export failed",description:"We could not prepare that export. Please try again.",variant:"destructive"})}finally{r(null)}};return e.jsxs("section",{className:"mt-8 grid gap-4 lg:grid-cols-[1.15fr_.85fr] motion-safe:animate-fade-in","data-testid":"workspace-operations",children:[e.jsxs("div",{className:"glass-panel roun
218ded-2xl p-5 sm:p-6",children:[e.jsxs("div",{className:"mb-5 flex flex-wrap items-start justify-between gap-3",children:[e.jsxs("div",{children:[e.jsx("p",{className:"eyebrow text-primary",children:"Command center"}),e.jsx("h3",{className:"mt-2 text-xl font-bold tracking-tight",children:"Live scan operations"}),e.jsx("p",{className:"mt-1 text-sm text-muted-foreground",children:"Polling every 3 seconds while a scan is active."})]}),e.jsxs("span",{className:"inline-flex items-center gap-2 rounded-full border border-teal-200 bg-teal-500/10 px-3 py-1.5 text-xs font-medium text-teal-700 dark:border-teal-800 dark:text-teal-300","data-testid":"status-live",children:[e.jsx(po,{className:"h-3.5 w-3.5"})," Live route"]})]}),a.length===0&&t.length===0?e.jsxs("div",{className:"rounded-xl border border-dashed border-border px-4 py-8 text-center","data-testid":"status-empty",children:[e.jsx(We,{className:"mx-auto mb-2 h-6 w-6 text-muted-foreground"}),e.jsx("p",{className:"text-sm font-medium",children:"No scan activity yet"}),e.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:"Your first upload will appear here as soon as it enters the queue."})]}):e.jsx("div",{className:"space-y-2",children:(a.length?a:t.slice(0,4)).map(d=>{const m=d.technicalMetadata?.processingProgress,p=Math.max(0,Math.min(100,m?.progressPercent??(d.status==="completed"?100:8)));return e.jsxs("div",{className:"rounded-xl border border-border/80 bg-background/45 p-3","data-testid":`status-row-${d.id}`,children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("span",{className:`inline-flex items-center gap-1.5 rounded-full border px-2 py-1 text-[11px] font-semibold capitalize ${dn[d.status]??dn.pending}`,children:[vg(d.status)," ",d.status.replace("_"," ")]}),e.jsx("span",{className:"min-w-0 flex-1 truncate text-sm font-medium",children:d.filename}),e.jsxs("span",{className:"font-mono text-xs text-muted-foreground",children:[p,"%"]})]}),e.jsx("div",{className:"mt-3 h-1.5 overflow-hidden rounded-full bg-muted",children:e.jsx("div",{className:"h-full rounded-full bg-primary transition-[width] duration-500",style:{width:`${p}%`}})}),e.jsxs("div",{className:"mt-2 flex justify-between text-[11px] text-muted-foreground",children:[e.jsx("span",{children:m?.stage??(d.status==="pending"?"Awaiting route":d.status==="processing"?"Analyzing signals":"Result available")}),e.jsx("span",{children:d.processingTime?`${d.processingTime} ms observed`:"Target: fast path <2s"})]})]},d.id)})}),e.jsxs("div",{className:"mt-4 flex items-center gap-2 rounded-lg border border-amber-200 bg-amber-500/10 px-3 py-2 text-xs text-amber-800 dark:border-amber-800 dark:text-amber-200","data-testid":"latency-target",children:[e.jsx(He,{className:"h-3.5 w-3.5 shrink-0"}),e.jsxs("span",{children:[e.jsx("strong",{children:"Fast-path target:"})," under 2 seconds for eligible requests; actual time varies by media and provider."]})]})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"glass-panel rounded-2xl p-5","data-testid":"mcp-routing-status",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(go,{className:"h-4 w-4 text-primary"}),e.jsx("p",{className:"eyebrow text-primary",children:"MCP routing"})]}),e.jsx("span",{className:"rounded-full bg-amber-500/10 px-2 py-1 text-[10px] font-semibold text-amber-700 dark:text-amber-300",children:"Policy view"})]}),e.jsx("p",{className:"mt-3 text-lg font-bold",children:"Multimodal ensemble"}),e.jsx("p",{className:"mt-1 text-xs leading-relaxed text-muted-foreground",children:"Current request/provider health is not exposed by the analysis response. This surface shows the configured routing policy, not a provider SLA."}),e.jsxs("div",{className:"mt-4 flex items-center gap-2 text-xs text-teal-700 dark:text-teal-300",children:[e.jsx(ti,{className:"h-3.5 w-3.5"})," Request path available"]})]}),e.jsxs("div",{className:"glass-panel rounded-2xl p-5","data-testid":"quarantine-log",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Ct,{className:"h-4 w-4 text-amber-600"}),e.jsx("p",{className:"eyebrow text-amber-700 dark:text-amber-300",children:"Review queue"})]}),e.jsxs("span",{className:"font-mono text-xs text-muted-foreground",children:[l.length," flagged"]})]}),e.jsx("p",{className:"mt-2 text-sm text-muted-foreground",children:"Evidence needing human review — no files are quarantined by this view."}),l.length?l.slice(0,3).map(d=>e.jsxs("div",{className:"mt-3 flex items-center gap-2 text-xs","data-testid":`flagged-result-${d.id}`,children:[e.jsx(ho,{className:"h-3.5 w-3.5 text-amber-600"}),e.jsx("span",{className:"flex-1 truncate",children:d.filename}),e.jsxs("span",{className:"font-mono text-muted-foreground",children:[d.aiConfidence??"—","%"]})]},d.id)):e.jsx("p",{className:"mt-4 rounded-lg border border-dashed border-border p-3 text-xs text-muted-foreground",children:"No flagged evidence in completed results."})]})]}
218),e.jsxs("div",{className:"glass-panel rounded-2xl p-5 sm:p-6 lg:col-span-2","data-testid":"compliance-reports",children:[e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-4",children:[e.jsxs("div",{children:[e.jsx("p",{className:"eyebrow text-primary",children:"Compliance desk"}),e.jsx("h3",{className:"mt-2 text-xl font-bold",children:"Reports & evidence exports"}),e.jsx("p",{className:"mt-1 text-sm text-muted-foreground",children:"Generate a selected completed scan report or export the current history."})]}),e.jsxs("div",{className:"flex flex-wrap gap-2",children:[e.jsxs(I,{variant:"outline",size:"sm",onClick:()=>u("json"),disabled:!!o,"data-testid":"export-json",children:[e.jsx(Qt,{className:"mr-2 h-4 w-4"}),o==="json"?"Preparing…":"JSON"]}),e.jsxs(I,{variant:"outline",size:"sm",onClick:()=>u("csv"),disabled:!!o,"data-testid":"export-csv",children:[e.jsx(Qt,{className:"mr-2 h-4 w-4"}),o==="csv"?"Preparing…":"CSV"]})]})]}),c.length?e.jsx("div",{className:"mt-4 grid gap-2 sm:grid-cols-2",children:c.slice(0,4).map(d=>e.jsxs("div",{className:"flex items-center gap-3 rounded-xl border border-border p-3",children:[e.jsx(Yt,{className:"h-5 w-5 text-primary"}),e.jsx("span",{className:"min-w-0 flex-1 truncate text-sm",children:d.filename}),e.jsxs(I,{variant:"ghost",size:"sm",onClick:()=>n(d),"data-testid":`open-report-${d.id}`,children:["PDF ",e.jsx(fo,{className:"ml-1 h-3.5 w-3.5"})]})]},d.id))}):e.jsxs("div",{className:"mt-5 rounded-xl border border-dashed border-border px-4 py-8 text-center",children:[e.jsx(Yt,{className:"mx-auto mb-2 h-6 w-6 text-muted-foreground"}),e.jsx("p",{className:"text-sm font-medium",children:"No completed scans to report"}),e.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:"Complete a scan to unlock its compliance report view."})]})]})]})}const un="ai-identifiers:first-visit-chirp-played",Ag=s.lazy(()=>h(()=>import("./AdvancedAIProcessing-BBC1454w.js"),__vite__mapDeps([2,1,3,0,4,5,6])).then(t=>({default:t.AdvancedAIProcessing}))),Ig=s.lazy(()=>h(()=>import("./ProductWalkthrough-BFBonLLK.js"),__vite__mapDeps([7,1,3,0])).then(t=>({default:t.ProductWalkthrough}))),jg=s.lazy(()=>h(()=>import("./PlatformScreenshots-Bg9MaO1c.js"),__vite__mapDeps([8,1,3,0])).then(t=>({default:t.PlatformScreenshots}))),Ng=s.lazy(()=>h(()=>import("./ComparisonTable-ic3CHfmz.js"),__vite__mapDeps([9,1,3,0])).then(t=>({default:t.ComparisonTable}))),kg=s.lazy(()=>h(()=>import("./HomeDiagnosticsShowcase-D6tVDUHq.js"),__vite__mapDeps([10,1,4,0,3,5,6])).then(t=>({default:t.HomeDiagnosticsShowcase}))),Cg=s.lazy(()=>h(()=>import("./HomeCodeSnippets-TR8j3KWP.js"),__vite__mapDeps([11,1,3,0])).then(t=>({default:t.HomeCodeSnippets}))),Sg=s.lazy(()=>h(()=>import("./SocialProofSection-B8qZVBUn.js"),__vite__mapDeps([12,1,3,0,4,5,6])).then(t=>({default:t.SocialProofSection}))),Ze=()=>e.jsx("div",{style:{minHeight:40},"aria-hidden":"true"});function _a(){Cc();const[t,a]=s.useState(null),[n,i]=s.useState(null),[o,r]=s.useState(!1),[c,l]=s.useState(()=>typeof window>"u"?!1:sessionStorage.getItem("new_user_signup")==="1"),{t:u,i18n:d}=he(),{user:m,isLoading:p}=ut(),b=xt(),{data:x}=gt({queryKey:["/api/user/profile"],queryFn:()=>fetch("/api/user/profile",{credentials:"include"}).then(E=>E.ok?E.json():null),enabled:!!m,staleTime:60*1e3}),{data:y=[],isLoading:g,refetch:v}=gt({queryKey:["/api/analysis"],queryFn:()=>Sc(),refetchInterval:E=>(E.state.data??[]).some($=>$.status==="processing"||$.status==="pending")?3e3:!1,refetchIntervalInBackground:!1,refetchOnWindowFocus:!0}),{data:k=[]}=gt({queryKey:["/api/models"],queryFn:()=>Dc()}),C=()=>{v(),b.invalidateQueries({queryKey:["/api/user/profile"]})},S=E=>{a(E),r(!0)},L=y.filter(E=>E.status==="completed"||E.status==="awaiting_community"),F=y.filter(E=>E.status==="processing"||E.status==="pending"),T=F.length>0,j=s.useRef(null);s.useEffect(()=>{if(typeof window>"u")return;let E=!1;try{E=window.localStorage.getItem(un)==="1"}catch{}if(E)return;let M=!1;const $=()=>{if(!M){try{window.localStorage.setItem(un,"1")}catch{}M=!0,window.removeEventListener("pointerdown",Y,!0),window.removeEventListener("keydown",Y,!0)}},le=()=>{st().then(H=>{H&&$()})},Y=()=>{le()};return window.addEventListener("pointerdown",Y,{capture:!0,once:!0}),window.addEventListener("keydown",Y,{capture:!0,once:!0}),le(),()=>{M=!0,window.removeEventListener("pointerdown",Y,!0),window.removeEventListener("keydown",Y,!0)}},[]),s.useEffect(()=>{if(g)return;const E=new Map(y.map(Y=>[String(Y.id),Y.status??"unknown"])),M=j.current;if(j.current=E,!M)return;const $=new Set(["completed","awaiting_community"]);y.some(Y=>{if(!$.has(Y.status??""))return!1;const H=M.get(String(Y.id));return H===void 0||!$.has(H)}
218)&&y.forEach(Y=>{const H=M.get(String(Y.id));!$.has(Y.status??"")||H!==void 0&&$.has(H)||st(`scan:${Y.id}`)})},[y,g]),s.useEffect(()=>{c&&L.length>0&&(sessionStorage.removeItem("new_user_signup"),l(!1))},[c,L.length]);const q={"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://aiidentifiers.com/#organization",name:"AI Identifiers Technology",alternateName:["AIIdentifiers","AI Identifiers Technology Platform"],url:"https://aiidentifiers.com/",logo:{"@type":"ImageObject",url:"https://aiidentifiers.com/logo.svg"},description:"AI Identifiers Technology provides probabilistic AI-content analysis across text, images, audio, and video using multimodal detection and provenance signals. Results vary by content, model, language, and editing.",legalName:"AI Identifiers LLC",contactPoint:{"@type":"ContactPoint",contactType:"customer support",email:"[email protected]",url:"https://aiidentifiers.com/support"},sameAs:["https://aiidentifiers.com/marketplace","https://www.linkedin.com/company/aiidentifiers","https://github.com/aiidentifiers"],knowsAbout:["AI content detection","Deepfake detection","AI-generated content analysis","Synthetic media detection","Content provenance review"]},{"@type":"WebSite","@id":"https://aiidentifiers.com/#website",url:"https://aiidentifiers.com/",name:"AI Identifiers LLC",description:"AI content detection with probabilistic results and multimodal provenance-signal review for text, images, video, and audio.",publisher:{"@id":"https://aiidentifiers.com/#organization"},potentialAction:{"@type":"SearchAction",target:"https://aiidentifiers.com/search?q={search_term_string}","query-input":"required name=search_term_string"}},{"@type":"SoftwareApplication","@id":"https://aiidentifiers.com/#software",name:"AI Identifiers Technology",applicationCategory:"UtilitiesApplication",operatingSystem:"Web Browser, iOS, Android",url:"https://aiidentifiers.com",description:"AI Identifiers Technology provides multimodal, probabilistic AI-content analysis for text, images, audio, and video. Results vary by content, model, language, and editing.",offers:{"@type":"Offer",price:"0",priceCurrency:"USD",description:"Free core access is available at $0 within the displayed usage limits. Optional paid additions provide higher-volume access and additional features."},featureList:["Probabilistic multimodal detection results","Available provenance-signal review","Text, image, audio, and video analysis","Human-review guidance","Developer and enterprise workflows"]},{"@type":"FAQPage",mainEntity:[{"@type":"Question",name:"What are AI identifiers?",acceptedAnswer:{"@type":"Answer",text:"AI identifiers (also called AI detectors or AI provenance tools) analyze signals associated with machine-generated content, including text, images, audio, and video. Methods can include linguistic analysis, provenance and watermark signals, perplexity and burstiness scoring, and machine-learning models. Results are probabilistic and vary by content, model, language, and editing."}},{"@type":"Question",name:"What tools are used as AI identifiers?",acceptedAnswer:{"@type":"Answer",text:"AI identifier tools serve different workflows. AI Identifiers Technology analyzes text, images, audio, and video with multimodal detection and available provenance signals. Compare tools against your content, evidence, privacy, and review requirements."}},{"@type":"Question",name:"How do AI identifiers detect machine-generated content?",acceptedAnswer:{"@type":"Answer",text:"AI identifiers may combine linguistic and media-pattern analysis, metadata and provenance review, and statistical signals. These signals inform a probabilistic assessment rather than binary proof. Results vary by content, model, language, and editing and should be reviewed in context."}},{"@type":"Question",name:"What is the best AI identifier?",acceptedAnswer:{"@type":"Answer",text:"The appropriate AI identifier depends on the content type, workflow, and review requirements. AI Identifiers Technology provides multimodal analysis across text, images, audio, and video. Its results are probabilistic and should be considered with other evidence for consequential decisions."}},{"@type":"Question",name:"How accurate is AI Identifiers Technology?",acceptedA
218nswer:{"@type":"Answer",text:"AI Identifiers Technology returns probabilistic assessments based on multimodal detection and provenance signals. Performance can vary by content, model, language, and editing. Use scores as one input alongside context and human review, particularly for consequential decisions."}},{"@type":"Question",name:"Can AI Identifiers Technology detect content from generative systems?",acceptedAnswer:{"@type":"Answer",text:"AI Identifiers Technology analyzes text, images, audio, and video for signals associated with synthetic generation. Results are probabilistic and may vary with content, language, transformations, and editing."}},{"@type":"Question",name:"Is AI Identifiers Technology free?",acceptedAnswer:{"@type":"Answer",text:"Yes, AI Identifiers Technology offers a free tier for basic AI detection. Premium and enterprise plans are available for high-volume users, API access, and team collaboration features."}}]},{"@type":"Product","@id":"https://aiidentifiers.com/#product",name:"AI Identifiers Technology",description:"AI content analysis tool for probabilistic review of text, images, audio, video, and available provenance signals.",brand:{"@type":"Brand",name:"AI Identifiers Technology"},url:"https://aiidentifiers.com",image:"https://aiidentifiers.com/og-image.png",offers:{"@type":"Offer",price:"0",priceCurrency:"USD",availability:"https://schema.org/InStock",url:"https://aiidentifiers.com/pricing",description:"Free core access is available within the displayed usage limits; optional paid additions are available."}}]};return e.jsxs("div",{className:"min-h-screen bg-slate-50 text-slate-950 dark:bg-slate-950 dark:text-slate-50 pb-16 md:pb-0",children:[e.jsx(ig,{}),e.jsx(ag,{enableMonitoring:!0,performanceBudgets:{lcp:2e3,inp:200,cls:.08}}),e.jsx(ng,{enableAnalytics:!0,enableSearchConsole:!0,enableBusinessProfile:!1,enableNewsPublisher:!0}),e.jsx(Xp,{title:"What is AI content detection and how does it work?",keyTakeaways:["AI detection identifies artificially generated content using machine learning algorithms","Detection results are probabilistic and vary by content, model, language, and editing","Multimodal analysis can combine content and provenance signals","Real-time analysis enables immediate content verification"],prosAndCons:{pros:["Multimodal content and provenance-signal review","Multi-format support (text, images, audio, video)","Real-time processing and analysis","Enterprise-grade security and reliability"],cons:["Requires internet connection for cloud processing","May need human review for edge cases","Advanced features require subscription"]},quickAnswer:"AI content detection uses content and provenance signals to provide a probabilistic assessment across text, images, audio, and video. Results vary by content, model, language, and editing."}),e.jsx(eg,{}),e.jsx(tg,{pageType:"definition",title:"AI Content Detection Definition",content:"AI content detection is the process of identifying artificially generated content using advanced machine learning algorithms and advanced machine learning.",targetQuery:"what is AI content detection",snippetData:{definition:"AI content detection uses machine learning models to assess signals associated with generated text, images, audio, and video. Results are probabilistic and require contextual review."}}),e.jsx(hg,{enableOffline:!0,enableInstallPrompt:!0,enableWebShare:!0,enablePushNotifications:!1}),e.jsx(gg,{}),e.jsx(ar,{title:"AI Identifiers Technology | AI Content Analysis & Student Access",description:"AI Identifiers Technology provides probabilistic AI-content analysis across text, images, audio, and video, with a dedicated access path for eligible North Carolina A&T students.",keywords:["AI Identifiers Technology","AI identification technology","AI detection","deepfake detection","synthetic media detection","AI-generated content detection","student AI detection","North Carolina A&T student access","2026 centennial homecoming"],canonicalUrl:"https://aiidentifiers.com/",structuredData:q}),e.jsx(Qp,{title:"How to Detect AI Generated Content",description:"Complete guide to detecting AI content with advanced detection technology",steps:Zp,totalTime:"PT5M",difficulty:"Beginner"}),e.jsx(Gp,{pageType:"homepage",region:"north-america",language:"en"}),e.jsx(Vp,{title:"AI Content Detection Platform | AI Identifiers Technology",content:"AI detection platform using multimodal content and provenance signals across text, images, audio, and video. It inspects supported Google SynthID signals when present.",category:"business",location:"North Carolina",region:"north-america",language:"en"}),e.jsx(Ea,{businessName:"AI Identifiers Technology",region:"north-america",targetCountries:["United States","Canada","Mexico"],category:"business",language:"en"}),e.jsx(Ea,{businessName:"AI Identifiers Technology",region:"north-america",targetCountries:["United States","Canada","Mexico"],category:"business",language:"es"}),e.jsx(Ea,{businessName:"AI Identifiers Technology",region:"north-america",targetCountries:["United States","Canada","Mexico"],category:"business",language:"fr"}),e.jsx(Wp,{trackingEnabled:!0}),e.jsx(Up,{title:"AI Identifiers Technology - Advanced AI Content Detection",description:"AI detection platform with probabilistic multimodal content and provenance-signal analysis. Results vary by content, model, language, and editing.",canonicalUrl:"https://aiidentifiers.com",globalKeywords:["AI detector global","international AI detection","multilingual plagiarism checker","worldwide AI content verification","ChatGPT detector international","AI识别器","AI検出","AI탐지","AI-Erkennung","détection IA","detección IA"],targetCountries:["US","GB","CA","AU","DE","FR","ES","IT","JP","KR","CN","IN","BR"]}),e.jsx(Fp,{}),e.jsx(lg,{}),e.jsx(zs,{}),e.jsxs("div",{role:"status","data-testid":"first-visit-chirp-banner",className:"border-b border-primary/15 bg-primary/[0.04] px-4 py-2.5 text-center text-xs text-muted-foreground",children:[e.jsx("span",{className:"font-semibold text-primary",children:"Connectivity confirmed"}),e.jsx("span",{className:"mx-2 text-border","aria-hidden":"true",children:"•"}),e.jsx("span",{children:"We’re the only platform that chirps when your verification is ready."})]}),e.jsx(og,{}),e.jsx(s.Suspense,{fallback:e.jsx(Ze,{}),children:e.jsx(kg,{})}),e.jsx(pg,{}),e.jsx("section",{"aria-labelledby":"student-access-heading",className:"border-y border-cyan-100 bg-gradient-to-r from-cyan-50 via-white to-indigo-50 dark:border-cyan-900/40 dark:from-cyan-950/40 dark:via-gray-950 dark:to-indigo-950/40",children:e.jsxs("div",{className:"mx-auto max-w-6xl px-4 py-10 sm:px-6 lg:px-8",children:[e.jsxs("div",{className:"flex flex-col gap-7 lg:flex-row lg:items-center lg:justify-between",children:[e.jsxs("div",{className:"max-w-3xl",children:[e.jsx("div",{className:"mb-3 inline-flex items-center rounded-full border border-cyan-200 bg-white/80 px-3 py-1 text-xs font-bold uppercase tracking-[0.16em] text-cyan-800 dark:border-cyan-800 dark:bg-slate-900/80 dark:text-cyan-200",children:"North Carolina A&T · 2026"}),e.jsx("h2",{id:"student-access-heading",className:"text-2xl font-bold text-slate-950 dar
218k:text-white sm:text-3xl",children:"Student access for the Centennial Edition of The Greatest Homecoming on Earth"}),e.jsx("p",{className:"mt-3 max-w-2xl text-base leading-relaxed text-slate-600 dark:text-slate-300",children:"People across North Carolina can use the public website and start in the same open scan workspace. North Carolina A&T’s official materials describe 2026 as the Centennial Edition of its celebrated homecoming. Eligible A&T students can sign in through the Aggie Student Portal to see current access to AI Identifiers Technology services. AI Identifiers Technology is an independent product operated by AI Identifiers LLC; the portal displays the active eligibility and usage terms."})]}),e.jsx("a",{href:"/ncat",className:"inline-flex shrink-0 items-center justify-center rounded-xl bg-slate-950 px-6 py-3.5 text-sm font-bold text-white shadow-lg shadow-cyan-900/10 transition hover:-translate-y-0.5 hover:bg-cyan-900 dark:bg-cyan-300 dark:text-slate-950 dark:hover:bg-cyan-200",children:"Open the Aggie Student Portal →"})]}),e.jsxs("nav",{"aria-label":"Student education resources",className:"mt-7 flex flex-wrap gap-x-5 gap-y-2 text-sm font-semibold text-cyan-800 dark:text-cyan-200",children:[e.jsx("a",{href:"/student-ai-detection",className:"hover:underline",children:"Student AI detection guide"}),e.jsx("a",{href:"/academic-integrity-review",className:"hover:underline",children:"Academic integrity review"}),e.jsx("a",{href:"/university-ai-literacy",className:"hover:underline",children:"University AI literacy"}),e.jsx("a",{href:"/student-writing-review",className:"hover:underline",children:"Student writing review"}),e.jsx("a",{href:"/ncat",className:"hover:underline",children:"North Carolina access details"})]})]})}),e.jsx("div",{className:"bg-white dark:bg-gray-950 border-y border-gray-100 dark:border-gray-800 py-10",children:e.jsx("div",{className:"max-w-5xl mx-auto px-4 sm:px-6 lg:px-8",children:e.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-6 text-center divide-x divide-gray-100 dark:divide-gray-800",children:[e.jsxs("div",{className:"px-4",children:[e.jsx("div",{className:"text-3xl font-bold text-gray-900 dark:text-white",children:u("home.signalBased")}),e.jsx("div",{className:"text-sm text-gray-500 dark:text-gray-400 mt-1",children:u("home.probabilistic")})]}),e.jsxs("div",{className:"px-4",children:[e.jsx("div",{className:"text-3xl font-bold text-gray-900 dark:text-white",children:"12+"}),e.jsx("div",{className:"text-sm text-gray-500 dark:text-gray-400 mt-1",children:u("home.algorithms")})]}),e.jsxs("div",{className:"px-4",children:[e.jsx("div",{className:"text-3xl font-bold text-gray-900 dark:text-white",children:"4"}),e.jsx("div",{className:"text-sm text-gray-500 dark:text-gray-400 mt-1",children:u("home.contentTypes")})]}),e.jsxs("div",{className:"px-4",children:[e.jsx("div",{className:"text-3xl font-bold text-gray-900 dark:text-white",children:u("dashboard.free")}),e.jsx("div",{className:"text-sm text-gray-500 dark:text-gray-400 mt-1",children:u("home.freeScans")})]})]})})}),e.jsx("div",{className:"bg-white dark:bg-gray-950",children:e.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:e.jsx($p,{})})}),e.jsx(s.Suspense,{fallback:e.jsx(Ze,{}),children:e.jsx(Ig,{})}),e.jsx(s.Suspense,{fallback:e.jsx(Ze,{}),children:e.jsx(jg,{})}),p&&e.jsx("div",{className:"border-y border-slate-100 dark:border-slate-800 bg-slate-50 dark:bg-slate-900/50",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-3 flex items-center gap-3 animate-pulse",children:[e.jsx("div",{className:"h-3 w-28 bg-slate-200 dark:bg-slate-700 rounded-full"}),e.jsx("div",{className:"h-3 w-16 bg-slate-200 dark:bg-slate-700 rounded-full"}),e.jsx("div",{className:"h-3 w-24 bg-slate-200 dark:bg-slate-700 rounded-full"})]})}),!p&&m&&e.jsx("div",{className:"bg-gradient-to-r from-blue-50 to-indigo-50 dark:from-blue-950/40 dark:to-indigo-950/40 border-y border-blue-100 dark:border-blue-800/40",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-3 flex items-center justify-between flex-wrap gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2 text-sm text-blue-900 dark:text-blue-100",children:[e.jsxs("span",{className:"font-semibold",children:["Welcome back",m.firstName?`, ${m.firstName}`:"","!"]}),x?.plan&&e.jsx("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${x.plan==="pro"?"bg-purple-100 text-purple-700 dark:bg-purple-900/40 dark:text-purple-300":x.plan==="enterprise"?"bg-emerald-100 text-emerald-700 dark:bg-emerald-900/40 dark:text-emerald-300":x.plan==="academic"?"bg-amber-100 text-amber-700 dark:bg-amber-900/40 dark:text-amber-300":"bg-blue-100 text-blue-600 dar
218k:bg-blue-900/40 dark:text-blue-300"}`,children:x.plan==="enterprise"?"Enterprise":x.plan==="academic"?"Academic":x.plan==="pro"?"Pro":"Free"}),x&&e.jsx("span",{className:"text-xs font-medium text-blue-700 dark:text-blue-300",title:x.quota.period==="day"?"Daily scan usage resets at midnight UTC":x.quota.period==="month"?"Monthly scan usage resets at the start of each UTC month":void 0,"aria-label":x.quota.limit===null?"Higher scan allowance":`${x.quota.remaining} of ${x.quota.limit} scans remaining ${x.quota.period==="day"?"today":"this month"}`,children:x.quota.limit===null?"Higher allowance":`${x.quota.remaining} of ${x.quota.limit} scans remaining ${x.quota.period==="day"?"today":"this month"}`})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("button",{onClick:()=>document.getElementById("upload")?.scrollIntoView({behavior:"smooth"}),className:"inline-flex items-center gap-1 px-3 py-1.5 rounded-lg bg-blue-600 hover:bg-blue-700 text-white text-xs font-medium transition-colors",children:"+ New Scan"}),L.length>0&&e.jsx("button",{onClick:()=>document.getElementById("history")?.scrollIntoView({behavior:"smooth"}),className:"inline-flex items-center gap-1 px-3 py-1.5 rounded-lg border border-blue-200 dark:border-blue-700 text-blue-600 dark:text-blue-300 hover:bg-blue-50 dark:hover:bg-blue-900/30 text-xs font-medium transition-colors",children:"View History ↓"})]})]})}),!p&&m&&c&&L.length===0&&e.jsx("div",{className:"bg-gradient-to-r from-emerald-50 to-teal-50 dark:from-emerald-950/40 dark:to-teal-950/40 border-y border-emerald-200 dark:border-emerald-800/60",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-4 flex items-center justify-between flex-wrap gap-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("span",{className:"text-2xl","aria-hidden":"true",children:"👋"}),e.jsxs("div",{children:[e.jsxs("p",{className:"font-semibold text-emerald-900 dark:text-emerald-100 text-sm",children:["Welcome",m.firstName?`, ${m.firstName}`:"","! Your account is ready."]}),e.jsxs("p",{className:"text-xs text-emerald-700 dark:text-emerald-300",children:["You have ",e.jsx("strong",{children:"15 free scans/month"}),". Upload a file to run your first AI detection."]})]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("button",{onClick:()=>{sessionStorage.removeItem("new_user_signup"),l(!1),setTimeout(()=>document.getElementById("upload")?.scrollIntoView({behavior:"smooth",block:"start"}),50)},className:"inline-flex items-center gap-2 px-4 py-2 bg-emerald-600 hover:bg-emerald-700 text-white text-sm font-semibold rounded-lg transition-colors shadow-sm",children:"Try your first scan →"}),e.jsx("button",{onClick:()=>{sessionStorage.removeItem("new_user_signup"),l(!1)},className:"text-emerald-500 hover:text-emerald-700 dark:hover:text-emerald-300 text-xs px-2 py-1 transition-colors","aria-label":"Dismiss",children:"✕"})]})]})}),e.jsx("div",{className:"bg-slate-50 dark:bg-gray-900 py-14",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs("div",{className:"text-center mb-10",children:[e.jsx("h2",{className:"text-3xl md:text-4xl font-bold text-gray-900 dark:text-white mb-3",children:u("home.tryNow")}),e.jsx("p",{className:"text-lg text-gray-500 dark:text-gray-400 max-w-xl mx-auto",children:u("home.tryNowDesc")})]}),e.jsxs("div",{id:"upload",className:"rounded-xl transition-all duration-500",children:[e.jsx(Um,{onUploadComplete:C}),e.jsx("div",{className:"mt-8",children:e.jsx(yg,{onUploadComplete:C})}),e.jsx(bg,{})]}),T&&e.jsx(Hm,{processingResults:F}),e.jsx(wg,{results:y,processingResults:F,onOpenReport:E=>i(E)}),L.length>0&&e.jsx(yp,{results:L,detectionModels:k,onViewDetails:S}),e.jsx("div",{id:"history",children:e.jsx(Np,{results:y,onViewDetails:S,isLoading:g})})]})}),n&&e.jsx(vi,{scanId:String(n.id),filename:n.filename,open:!!n,onOpenChange:E=>{E||i(null)}}),e.jsx("div",{className:"py-20 bg-white dark:bg-gray-950 border-t border-gray-100 dark:border-gray-800",children:e.jsxs("div",{className:"max-w-5xl mx-auto px-4 sm:px-6 lg:px-8 text-center",children:[e.jsxs("div",{className:"inline-flex items-center bg-amber-50 dark:bg-amber-900/20 border border-amber-200 dark:border-amber-700 text-amber-800 dark:text-amber-300 px-5 py-2 rounded-full text-sm font-semibold mb-8",children:[e.jsx("span",{className:"mr-2",children:"⭐"}),"Supported Google SynthID Signal Inspection"]}),e.jsx("h2",{className:"text-4xl md:text-5xl font-bold text-gray-900 dark:text-white mb-5",children:u("home.synthidTitle")}),e.jsx("p",{className:"text-xl text-gray-500 dark:text-gray-400 max-w-3xl mx-auto mb-14",children:"AI Identifiers Technology inspects supported provenance signals when present alongside multimodal content and provenance signals. Results are probabilistic and may be affected by editing and compression."}),e.jsxs("div",{className:"grid md:grid-cols-3 gap-6 max-w-3xl mx-auto",children:[e.jsxs("div",{className:"bg-gray-50 dark:bg-gray-900 rounded-2xl p-6 border border-gray-100 dark:border-gray-800",children:[e.jsx("div",{className:"text-4xl font-bold text-gray-900 dark:text-white mb-1",children:"When present"}),e.jsx("div",{className:"text-gray-500 dark:text-gray-400 text-sm",children:"Supported SynthID signals inspected"})]}),e.jsxs("div",{className:"bg-gray-50 dark:bg-gray-900 rounded-2xl p-6 border border-gray-100 dark:border-gray-800",children:[e.jsx("div",{className:"text-4xl font-bold text-gray-900 dark:text-white mb-1",children:"Provenance"}),e.jsx("div",{className:"text-gray-500 dark:text-gray-400 text-sm",children:"Signal considered with other evidence"})]}),e.jsxs("div",{className:"bg-gray-50 dark:bg-gray-900 rounded-2xl p-6 border border-gray-100 dark:border-gray-800",children:[e.jsx("div",{className:"text-4xl font-bold text-gray-900 dark:text-white mb-1",children:"Varies"}),e.jsx("div",{className:"text-gray-500 dark:text-gray-400 text-sm",children:"By content, model, language, and editing"})]})]})]})}),e.jsx("div",{id:"processing",className:"py-16 bg-slate-50 dark:bg-gray-900 border-t border-gray-100 dark:border-gray-800",children:e.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:e.jsx(s.Suspense,{fallback:e.jsx(Ze,{}),children:e.jsx(Ag,{})})})}),e.jsx("div",{className:"bg-white dark:bg-gray-950 border-t border-gray-100 dark:border-gray-800",children:e.jsx(s.Suspense,{fallback:e.jsx(Ze,{}),children:e.jsx(Ng,{})})}),e.jsx(s.Suspense,{fallback:e.jsx(Ze,{}),children:e.jsx(Cg,{})}),e.jsx(s.Suspense,{fallback:e.jsx(Ze,{}),children:e.jsx(Sg,{})}),e.jsx("div",{className:"py-20 bg-gray-900",children:e.jsxs("div",{className:"max-w-3xl mx-auto px-4 text-center",children:[e.jsx("h2",{className:"text-4xl font-bold text-white mb-4",children:u("home.ctaBannerTitle")}),e.jsx("p",{className:"text-lg text-gray-400 mb-8",children:u("home.ctaBannerDe
218sc")}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[e.jsx("a",{href:"/get-api-key",className:"inline-flex items-center justify-center gap-2 bg-amber-500 hover:bg-amber-400 text-white font-bold px-8 py-4 rounded-lg text-lg transition-colors shadow-lg",children:u("home.getFreeApiKey")}),e.jsx("a",{href:"/pricing",className:"inline-flex items-center justify-center gap-2 bg-white/10 hover:bg-white/20 text-white font-semibold px-8 py-4 rounded-lg text-lg transition-colors",children:u("home.viewPricing")})]})]})}),e.jsx("section",{id:"what-are-ai-identifiers","aria-label":"What are AI Identifiers",className:"bg-white dark:bg-gray-950 py-16 border-t border-gray-100 dark:border-gray-800",children:e.jsxs("div",{className:"max-w-5xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsx("div",{className:"inline-flex items-center bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-800 text-blue-700 dark:text-blue-300 px-3 py-1 rounded-full text-xs font-semibold mb-4 uppercase tracking-wide",children:"AI Identifiers Technology"}),e.jsx("h2",{className:"text-3xl font-bold text-gray-900 dark:text-white mb-4",children:"What Are AI Identifiers?"}),e.jsxs("p",{className:"text-lg text-gray-600 dark:text-gray-300 mb-6 max-w-3xl leading-relaxed",children:[e.jsx("strong",{children:"AI identifiers"})," (also called AI detectors or AI provenance tools) are systems used to spot machine-generated content — including text, images, audio, and video — created by models such as ChatGPT, Claude, Gemini, Midjourney, and DALL-E.",e.jsx("strong",{children:" AI Identifiers Technology"})," combines linguistic analysis, digital watermarking detection, statistical pattern recognition, and multi-model ensemble methods to assess signals associated with content origin."," ",e.jsx("strong",{children:"AI Identifiers Technology"})," returns probabilistic results that vary by content, model, language, and editing."]}),e.jsxs("div",{className:"bg-amber-50 dark:bg-amber-900/20 border border-amber-200 dark:border-amber-700 rounded-xl p-5 mb-10",children:[e.jsx("p",{className:"text-xs font-bold uppercase tracking-widest text-amber-700 dark:text-amber-400 mb-2",children:"Key Takeaways"}),e.jsxs("ul",{className:"space-y-1 text-sm text-gray-700 dark:text-gray-200 list-disc list-inside",children:[e.jsx("li",{children:"AI identifiers detect machine-generated text, images, audio, and video using multiple algorithmic techniques."}),e.jsx("li",{children:"Multimodal analysis can combine media patterns, provenance signals, and linguistic analysis."}),e.jsx("li",{children:"Detection scores are probabilistic and should be reviewed with context."}),e.jsx("li",{children:"The app inspects supported Google SynthID signals when present."})]})]}),e.jsx("dl",{className:"space-y-6",children:[{q:"How should I use an AI identifier?",a:"Use an AI identifier as one source of evidence. AI Identifiers Technology provides probabilistic multimodal analysis across text, images, audio, and video and inspects supported provenance signals when present. Results vary by content, model, language, and editing."},{q:"How do AI identifiers spot AI-generated images?",a:"AI identifiers detect AI-generated images by analyzing pixel-level statistical anomalies left by generative models, detecting watermarks such as Google SynthID, identifying GAN or diffusion model artifacts, and comparing the image against known AI output signatures."},{q:"Can AI identifiers detect deepfakes?",a:"Yes. AI Identifiers Technology includes deepfake video detection using facial inconsistency analysis, temporal artifact detection, and synthetic audio fingerprinting."},{q:"What is the difference between AI identifiers and plagiarism checkers?",a:"Plagiarism checkers compare submitted text against existing published sources to find copied content. AI identifiers analyze the statistical and linguistic properties of the content itself to determine whether it was generated by an AI model, regardless of whether that exact text exists elsewhere."}].map(({q:E,a:M})=>e.jsxs("div",{className:"border-b border-gray-100 dark:border-gray-800 pb-5",children:[e.jsx("dt",{className:"font-semibold text-gray-900 dark:text-white mb-1",children:E}),e.jsx("dd",{className:"text-gray-600 dark:text-gray-300 leading-relaxed",children:M})]},E))})]})}),e.jsx("div",{className:"py-12 bg-slate-50 dark:bg-gray-800 border-t border-gray-100 dark:border-gray-700",children:e.jsx("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8",children:e.jsx(Jp,{title:"Frequently Asked Questions",faqs:Yp.home,className:"max-w-4xl mx-auto"})})}),o&&t&&e.jsx(Cp,{result:t,onClose:()=>r(!1)}),e.jsx(Xs,{}),e.jsx(Mp,{})]})}function Pg(){return e.jsxs("div",{className:"min-h-screen bg-white",children:[e.jsx(ar,{title:"Page Not Found | AI Identifiers",description:"The page you're looking for doesn't exist. Return to AI Identifiers homepage for advanced AI detection services.",keywords:["404","page not found","AI Identifiers"],noIndex:!0}),e.jsx(zs,{}),e.jsx("div",{className:"min-h-[70vh] w-full flex items-center justify-center",children:e.jsxs("div",{className:"max-w-md mx-4 text-center",children:[e.jsxs("div",{className:"mb-8",children:[e.jsx(ia,{className:"h-24 w-24 text-blue-500 mx-auto mb-6"}),e.jsx("h1",{className:"text-4xl font-bold text-gray-900 mb-4",children:"404"}),e.jsx("h2",{className:"text-2xl font-semibold text-gray-700 mb-4",children:"Page Not Found"}),e.jsx("p",{className:"text-gray-600 mb-8",children:"The page you're looking for doesn't exist or has been moved."})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsx(B,{href:"/",children:e.jsxs(I,{className:"w-full",size:"lg",children:[e.jsx(bn,{className:"w-5 h-5 mr-2"}),"Return to Homepage"]})}),e.jsxs(I,{variant:"outline",onClick:()=>window.history.back(),className:"w-full",size:"lg",children:[e.jsx(wn,{className:"w-5 h-5 mr-2"}),"Go Back"]})]})]})}),e.jsx(Xs,{})]})}const qt=[{id:"education",name:"Education",keywords:["academic integrity","student assignments","plagiarism detection","educational content"],description:"AI detection for educational institutions, preventing academic dishonesty and ensuring authentic student work.",examples:["detecting AI-generated essays","verifying student research papers","preventing ChatGPT cheating"]},{id:"healthcare",name:"Healthcare",keywords:["medical records","patient data","clinical documentation","healthcare compliance"],description:"Secure AI detection for healthcare organizations, ensuring authentic medical documentation and patient safety.",examples:["verifying medical research authenticity","detecting synthetic patient data","ensuring clinical trial integrity"]},{id:"media",name:"Media & Publishing",keywords:["journalism","news verification","content authenticity","media integrity"],description:"Professional AI detection for media organizations, combating deepfakes and ensuring journalistic integrity.",examples:["verifying news video authenticity","detecting AI-generated articles","preventing deepfake misinformation"]},{id:"legal",name:"Legal Services",keywords:["legal documents","evidence verification","courtroom evidence","legal compliance"],description:"Enterprise AI detection for legal professionals, ensuring evidence authenticity and document integrity.",examples:["verifying digital evidence","detecting AI-generated legal documents","ensuring court submission authenticity"]},{id:"finance",name:"Financial Services",keywords:["financial fraud","identity verification","transaction security","compliance"],description:"Advanced AI detection for financial institutions, preventing fraud and ensuring regulatory compliance.",examples:["detecting synthetic identity fraud","verifying financial document authenticity","preventing AI-generated fake IDs"]}
218,{id:"technology",name:"Technology",keywords:["software development","code authenticity","tech content","innovation"],description:"Cutting-edge AI detection for technology companies, protecting intellectual property and ensuring code integrity.",examples:["verifying software documentation","detecting AI-generated code comments","ensuring technical content authenticity"]},{id:"government",name:"Government",keywords:["public sector","government security","citizen services","national security"],description:"Secure AI detection for government agencies, protecting national security and ensuring public trust.",examples:["verifying government communications","detecting AI-generated official documents","preventing deepfake propaganda"]},{id:"marketing",name:"Marketing & Advertising",keywords:["brand protection","content marketing","advertising integrity","customer trust"],description:"Professional AI detection for marketing teams, ensuring brand authenticity and customer trust.",examples:["verifying influencer content authenticity","detecting AI-generated marketing copy","preventing fake product reviews"]}],Ot=[{id:"deepfake-detection",name:"Deepfake Detection",keywords:["deepfake videos","face swap detection","synthetic media","video verification"],description:"Advanced deepfake screening using an ensemble of forensic and provenance signals.",accuracy:"Varies by content",formats:["MP4","AVI","MOV","WebM"]},{id:"ai-text-detection",name:"AI Text Detection",keywords:["ChatGPT detection","AI writing","synthetic text","content authenticity"],description:"Comprehensive AI text detection covering ChatGPT, Claude, Gemini, and other language models.",accuracy:"Varies by content",formats:["Documents","Web Content","Social Media","Academic Papers"]},{id:"image-verification",name:"AI Image Detection",keywords:["AI-generated images","synthetic photos","image authenticity","photo verification"],description:"Professional AI image detection identifying DALL-E, Midjourney, Stable Diffusion, and other generators.",accuracy:"Varies by content",formats:["JPEG","PNG","WebP","GIF"]},{id:"audio-analysis",name:"AI Audio Detection",keywords:["voice cloning","synthetic speech","audio deepfakes","voice verification"],description:"Advanced AI audio detection preventing voice cloning and synthetic speech manipulation.",accuracy:"Varies by content",formats:["MP3","WAV","OGG","M4A"]},{id:"content-moderation",name:"Content Moderation",keywords:["automated moderation","content screening","platform safety","user-generated content"],description:"Comprehensive content moderation detecting AI-generated content across all media formats.",accuracy:"Varies by content",formats:["Multi-format","Real-time","Batch Processing","API Integration"]},{id:"brand-protection",name:"Brand Protection",keywords:["brand security","trademark protection","content theft","intellectual property"],description:"Enterprise brand protection detecting unauthorized AI-generated content using your brand assets.",accuracy:"Varies by content",formats:["Logo Detection","Brand Monitoring","Content Tracking","Social Media"]}],$t=[{id:"new-york-ny",name:"New York",state:"New York",country:"United States",type:"city"},{id:"los-angeles-ca",name:"Los Angeles",state:"California",country:"United States",type:"city"},{id:"chicago-il",name:"Chicago",state:"Illinois",country:"United States",type:"city"},{id:"houston-tx",name:"Houston",state:"Texas",country:"United States",type:"city"},{id:"phoenix-az",name:"Phoenix",state:"Arizona",country:"United States",type:"city"},{id:"philadelphia-pa",name:"Philadelphia",state:"Pennsylvania",country:"United States",type:"city"},{id:"san-antonio-tx",name:"San Antonio",state:"Texas",country:"United States",type:"city"},{id:"san-diego-ca",name:"San Diego",state:"California",country:"United States",type:"city"},{id:"dallas-tx",name:"Dallas",state:"Texas",country:"United States",type:"city"},{id:"austin-tx",name:"Austin",state:"Texas",country:"United States",type:"city"},{id:"san-francisco-ca",name:"San Francisco",state:"California",country:"United States",type:"city"},{id:"boston-ma",name:"Boston",state:"Massachusetts",country:"United States",type:"city"},{id:"seattle-wa",name:"Seattle",state:"Washington",country:"United States",type:"city"},{id:"miami-fl",name:"Miami",state:"Florida",country:"United States",type:"city"},{id:"atlanta-ga",name:"Atlanta",state:"Georgia",country:"United States",type:"city"},{id:"california",name:"California",country:"United States",type:"state"},{id:"texas",name:"Texas",country:"United States",type:"state"},{id:"florida",name:"Florida",country:"United States",type:"state"},{id:"new-york-state",name:"New York",country:"United States",type:"state"},{id:"illinois",name:"Illinois",country:"United States",type:"state"},{id:"pennsylvania",name:"Pennsylvania",country:"United States",type:"state"},{id:"ohio",name:"Ohio",country:"United States",type:"state"},{id:"georgia-state",name:"Georgia",country:"United States",type:"state"},{id:"north-carolina",name:"North Carolina",country:"United States",type:"state"},{id:"michigan",name:"Michigan",country:"United States",type:"state"},{id:"toronto-on",name:"Toronto",state:"Ontario",country:"Canada",type:"city"},{id:"vancouver-bc",name:"Vancouver",state:"British Columbia",country:"Canada",type:"city"},{id:"montreal-qc",name:"Montreal",state:"Quebec",country:"Canada",type:"city"},{id:"calgary-ab",name:"Calgary",state:"Alberta",country:"Canada",type:"city"},{id:"ottawa-on",name:"Ottawa",state:"Ontario",country:"Canada",type:"city"},{id:"london-uk",name:"London",country:"United Kingdom",type:"city"},{id:"sydney-au",name:"Sydney",country:"Australia",type:"city"},{id:"singapore",name:"Singapore",country:"Singapore",type:"city"},{id:"tokyo-jp",name:"Tokyo",country:"Japan",type:"city"},{id:"berlin-de",name:"Berlin",country:"Germany",type:"city"}];function Dg(t,a){return t!=="auto"&&t!=="fedcm_auto"?null:`Welcome back, ${a?.trim().split(/\s+/)[0]||"there"}! Signed in with Google.`}function Tg(){const t=xt(),{toast:a}=ke();return s.useEffect(()=>{let n=!1,i=!1;async function o(){try{const l=await fetch("/api/auth/me",{credentials:"include"});if(l.ok&&(await l.json())?.id)return}catch{}if(n)return;let r=null;try{const l=await fetch("/api/config/public");l.ok&&(r=(await l.json())?.googleClientId??null)}catch{}!r||n||(await new Promise(l=>{if(window.google?.accounts?.id){l();return}const u=setInterval(()=>{window.google?.accounts?.id&&(clearInterval(u),l())},100);setTimeout(()=>{clearInterval(u),l()},5e3)}),!window.google?.accounts?.id||n)||(window.google.accounts.id.initialize({client_id:r,callback:async l=>{try{const d=await(await fetch("/api/auth/google",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({credential:l.credential})})).json();if(!n&&d.success&&!i){i=!0,Nc(),t.invalidateQueries({queryKey:["/api/auth/me"]});const m=Dg(l.select_by,d.user?.name);m&&a({title:m,duration:3e3})}}catch{}},auto_select:!0,use_fedcm_for_prompt:!0,context:"signin"}),window.google.accounts.id.prompt(l=>{l.isNotDisplayed()}))}return o(),()=>{n=!0,window.google?.accounts?.id?.cancel?.()}},[t]),null}const Xe=s.lazy(()=>h(()=>import("./ProgrammaticContentFactory-z2rmSKAE.js"),__vite__mapDeps([13,1,0,4,3,5,6]))),Eg=s.lazy(()=>h(()=>import("./admin-5Rdqfqcm.js"),__vite__mapDeps([14,1,4,0,15,16,3,5,6]))),_g=s.lazy(()=>h(()=>import("./admin-board-mmDLoPM3.js"),__vite__mapDeps([17,1,4,0,3,5,6]))),Rg=s.lazy(()=>h(()=>import("./admin-marketplace-launch-CqIMIs88.js"),__vite__mapDeps([18,1,4,0,3,19,15,20,5,6]))),Lg=s.lazy(()=>h(()=>import("./media-outreach-Dns9bLm3.js"),__vite__mapDeps([21,1,4,0,3,5,6]))),zg=s.lazy(()=>h(()=>import("./moderation-YRMcj_uB.js"),__vite__mapDeps([22,1,15,3,0,4,5,6]))),Mg=s.lazy(()=>h(()=>import("./analytics-JXziOnLu.js"),__vite__mapDeps([23,1,3,0,24,4,5,6]))),Fg=s.lazy(()=>h(()=>
218import("./enterprise-DAalptkx.js"),__vite__mapDeps([25,1,4,0,26,3,5,6]))),qg=s.lazy(()=>h(()=>import("./get-api-key-DEj4tVNU.js"),__vite__mapDeps([27,1,4,0,3,5,6]))),Og=s.lazy(()=>h(()=>import("./status-B4-jza5G.js"),__vite__mapDeps([28,1,4,0,3,5,6]))),$g=s.lazy(()=>h(()=>import("./public-status-7WX8QpTB.js"),__vite__mapDeps([29,1,3,0,4,5,6]))),Ug=s.lazy(()=>h(()=>import("./quarantine-audit-3sPpKYVF.js"),__vite__mapDeps([30,1,4,0,15,3,5,6]))),Gg=s.lazy(()=>h(()=>import("./detection-alerts-G3L1VHMh.js"),__vite__mapDeps([31,1,4,0,15,32,3,20,16,5,6]))),Vg=s.lazy(()=>h(()=>import("./deepfake-detection-api-DN1SzvJQ.js"),__vite__mapDeps([33,1,26,0,4,3,5,6]))),Bg=s.lazy(()=>h(()=>import("./ai-content-verification-api-D4PdoNZh.js"),__vite__mapDeps([34,1,26,0,4,3,5,6]))),Hg=s.lazy(()=>h(()=>import("./developer-dashboard-DfTkcnk8.js"),__vite__mapDeps([35,1,4,0,36,3,15,16,6,5]))),Wg=s.lazy(()=>h(()=>import("./team-dashboard-XzzApBXV.js"),__vite__mapDeps([37,1,4,0,15,38,3,5,6]))),Kg=s.lazy(()=>h(()=>import("./accept-invite-DgFuZyUy.js"),__vite__mapDeps([39,1,4,0,3,5,6]))),Jg=s.lazy(()=>h(()=>import("./ai-image-detector-api--857gM99.js"),__vite__mapDeps([40,1,26,0,4,3,5,6]))),Yg=s.lazy(()=>h(()=>import("./ai-text-detector-api-DRHQlzPC.js"),__vite__mapDeps([41,1,26,0,4,3,5,6]))),Qg=s.lazy(()=>h(()=>import("./synthetic-media-detection-api-BB9CqG9m.js"),__vite__mapDeps([42,1,26,0,4,3,5,6]))),Zg=s.lazy(()=>h(()=>import("./index-C2hriulq.js"),__vite__mapDeps([43,1,0,4,15,44,3,45,5,6]))),Xg=s.lazy(()=>h(()=>import("./article-DkWZ9F6V.js"),__vite__mapDeps([46,1,0,4,47,45,44,15,3,48,5,6]))),eh=s.lazy(()=>h(()=>import("./search-D_EBnd9j.js"),__vite__mapDeps([49,1,0,4,15,3,5,6]))),th=s.lazy(()=>h(()=>import("./authors-1aW_N5tM.js"),__vite__mapDeps([50,1,4,0,51,45,3,5,6]))),ah=s.lazy(()=>h(()=>import("./authors-index-CJKu8SBV.js"),__vite__mapDeps([52,1,4,0,51,3,5,6]))),ih=s.lazy(()=>h(()=>import("./category-CWN29U02.js"),__vite__mapDeps([53,1,4,0,45,3,5,6]))),nh=s.lazy(()=>h(()=>import("./tag-C2WK3cLN.js"),__vite__mapDeps([54,1,4,0,45,3,5,6]))),sh=s.lazy(()=>h(()=>import("./StoragePage-8jEDBklu.js"),__vite__mapDeps([55,1,4,0,56,3,57,58,51,5,6]))),rh=s.lazy(()=>h(()=>import("./Pricing-FKcOFjJ5.js"),__vite__mapDeps([59,1,4,0,16,3,60,5,6]))),oh=s.lazy(()=>h(()=>import("./Store-htdAm1Rv.js"),__vite__mapDeps([61,1,4,0,16,3,56,5,6]))),ch=s.lazy(()=>h(()=>import("./investors-BYxG7FDF.js"),__vite__mapDeps([62,1,3,0,4,5,6]))),lh=s.lazy(()=>h(()=>import("./privacy-8psQsvBD.js"),__vite__mapDeps([63,1,3,0,4,5,6]))),dh=s.lazy(()=>h(()=>import("./delete-account-Wts8EoEw.js"),__vite__mapDeps([64,1,3,0,4,5,6]))),uh=s.lazy(()=>h(()=>import("./terms-DvVWrZpA.js"),__vite__mapDeps([65,1,3,0,4,5,6]))),mh=s.lazy(()=>h(()=>import("./dmca-S564rgxD.js"),__vite__mapDeps([66,1,3,0,4,5,6]))),ph=s.lazy(()=>h(()=>import("./refund-policy-Bknk55Ko.js"),__vite__mapDeps([67,1,3,0,4,5,6]))),gh=s.lazy(()=>h(()=>import("./support-CY5eLkvB.js"),__vite__mapDeps([68,1,15,3,0,4,5,6]))),hh=s.lazy(()=>h(()=>import("./faq-ClADV0FU.js"),__vite__mapDeps([69,1,26,0,3,4,5,6]))),fh=s.lazy(()=>h(()=>import("./SecurityPage-sQq6p83p.js"),__vite__mapDeps([70,1,3,0,4,5,6])).then(t=>({default:t.SecurityPage}))),xh=s.lazy(()=>h(()=>import("./DeveloperToolsPage-D0f8Ydtk.js"),__vite__mapDeps([71,1,4,0,15,3,5,6]))),yh=s.lazy(()=>h(()=>import("./DocsHome-CFziiCnW.js"),__vite__mapDeps([72,1,4,0,73,3,74,5,6]))),bh=s.lazy(()=>h(()=>import("./DocsPage-BNvXptyG.js"),__vite__mapDeps([75,1,4,0,73,3,74,5,6]))),vh=s.lazy(()=>h(()=>import("./ChangelogPage-DfC_89lX.js"),__vite__mapDeps([76,1,73,4,0,3,74,5,6]))),wh=s.lazy(()=>h(()=>import("./CompetitivePage-CVQsa8xi.js"),__vite__mapDeps([77,1,0,3,47,4,5,6]))),Ah=s.lazy(()=>h(()=>import("./google-partnership-Ziwi6uWQ.js"),__vite__mapDeps([78,1,0,26,3,4,5,6]))),Ih=s.lazy(()=>h(()=>import("./synthid-integration-DSd6abha.js"),__vite__mapDeps([79,1,0,26,3,4,5,6]))),jh=s.lazy(()=>h(()=>import("./enterprise-ai-detection-BmGxnK8M.js"),__vite__mapDeps([80,1,0,3,4,5,6]))),Nh=s.lazy(()=>h(()=>import("./google-ai-technology-CMt6d8at.js"),__vite__mapDeps([81,1,0,3,4,5,6]))),kh=s.lazy(()=>h(()=>import("./ai-detection-history-BWgLlpRE.js"),__vite__mapDeps([82,1,0,3,4,5,6]))),Ch=s.lazy(()=>h(()=>import("./google-cloud-ai-integration-MnDMld4E.js"),__vite__mapDeps([83,1,0,3,4,5,6]))),Sh=s.lazy(()=>h(()=>import("./GoogleSynthIDTechnology-BJoVQaCa.js"),__vite__mapDeps([84,1,4,0,3,5,6]))),Ph=s.lazy(()=>h(()=>import("./free-ai-detector-B-zSmWKb.js"),__vite__mapDeps([85,1,0,47,4,3,5,6]))),Dh=s.lazy(()=>h(()=>import("./ai-detector-CPyUeXKW.js"),__vite__mapDeps([86,1,0,47,4,26,3,5,6]))),Th=s.lazy(()=>h(()=>import("./ai-plagiarism-checker-DDpMsnQu.js"),__vite__mapDeps([87,1,0,4,3,5,6]))),Eh=s.lazy(()=>h(()=>import("./chatgpt-detector-DLR75_ha.js"),__vite__mapDeps([88,1,0,4,3,5,6]))),_h=s.lazy(()=>h(()=>import("./bard-detector-rWXymHde.js"),__vite__mapDeps([89,1,0,47,4,3,5,6]))),Rh=s.lazy(()=>h(()=>import("./claude-detector-D9-10VRa.js"),__vite__mapDeps([90,1,0,4,3,5,6]))),Lh=s.lazy(()=>h(()=>import("./audio-deepfake-checker-0wPij1iP.js"),__vite__mapDeps([91,1,26,0,4,3,5,6]))),zh=s.lazy(()=>h(()=>import("./pdf-ai-detector-WetsiyXw.js"),__vite__mapDeps([92,1,26,0,4,3,5,6]))),Mh=s.lazy(()=>h(()=>import("./video-deepfake-detector-IuuQHp-A.js"),__vite__mapDeps([93,1,26,0,4,3,5,6]))),Fh=s.lazy(()=>h(()=>import("./ai-voice-detector-D1oLx30a.js"),__vite__mapDeps([94,1,26,0,4,3,5,6]))),qh=s.lazy(()=>h(()=>import("./contact-DP4xULU1.js"),__vite__mapDeps([95,1,0,4,3,5,6]))),Oh=s.lazy(()=>h(()=>import("./index-BhHlcYEe.js"),__vite__mapDeps([96,1,0]))),$h=s.lazy(()=>h(()=>import("./index-Br24KPPu.js"),__vite__mapDeps([97,1,0]))),Uh=s.lazy(()=>h(()=>import("./legal-ai-detection-BjLTTEKO.js"),__vite__mapDeps([98,1,0,4,3,5,6]))),Gh=s.lazy(()=>h(()=>import("./international-DMw_HsyI.js"),__vite__mapDeps([99,1,0,4,3,5,6]))),Vh=s.lazy(()=>h(()=>
218import("./about-history-h-b1Wgv5.js"),__vite__mapDeps([100,1,0,3,4,5,6]))),Bh=s.lazy(()=>h(()=>import("./students-BtfBmUio.js"),__vite__mapDeps([101,1,4,0,47,26,3,5,6]))),Hh=s.lazy(()=>h(()=>import("./Press-TAq9lXMh.js"),__vite__mapDeps([102,1,0,3,4,5,6]))),Wh=s.lazy(()=>h(()=>import("./our-team-DKqwKpxm.js"),__vite__mapDeps([103,1,0,4,3,5,6]))),Kh=s.lazy(()=>h(()=>import("./product-tour-BwZJwF9W.js"),__vite__mapDeps([104,1,0,7,3,8,36,4,6,5]))),Jh=s.lazy(()=>h(()=>import("./trust-BxmrsVfi.js"),__vite__mapDeps([105,1,0,4,3,5,6]))),Yh=s.lazy(()=>h(()=>import("./blog-landing-xozARlOg.js"),__vite__mapDeps([106,1,0,4,3,5,6]))),Qh=s.lazy(()=>h(()=>import("./commercial-EHjUlVh-.js"),__vite__mapDeps([107,1,4,0,3,5,6]))),Zh=s.lazy(()=>h(()=>import("./marketplace-DOkkJ_Ed.js"),__vite__mapDeps([108,1,0,4,3,5,6]))),Xh=s.lazy(()=>h(()=>import("./gcp-signup-DUdsYBvu.js"),__vite__mapDeps([109,1,4,0,3,5,6]))),ef=s.lazy(()=>h(()=>import("./data-network-effects-DX1j5NzE.js"),__vite__mapDeps([110,1,0,3,4,5,6]))),tf=s.lazy(()=>h(()=>import("./enterprise-integrations-C5v6V9Kd.js"),__vite__mapDeps([111,1,0,3,4,5,6]))),af=s.lazy(()=>h(()=>import("./enterprise-landing-DIcSW-Im.js"),__vite__mapDeps([112,1,0,4,3,5,6]))),nf=s.lazy(()=>h(()=>import("./eu-ai-act-compliance-bkm3HT-v.js"),__vite__mapDeps([113,1,0,3,4,5,6]))),sf=s.lazy(()=>h(()=>import("./info-landing-yMzgMQ3a.js"),__vite__mapDeps([114,1,0,4,3,5,6]))),rf=s.lazy(()=>h(()=>import("./regulatory-expertise-B7u1gke7.js"),__vite__mapDeps([115,1,0,3,4,5,6]))),of=s.lazy(()=>h(()=>import("./services-BTyVagIU.js"),__vite__mapDeps([116,1,4,0,3,5,6]))),cf=s.lazy(()=>h(()=>import("./services-landing-ykjblGyy.js"),__vite__mapDeps([117,1,0,4,3,5,6]))),lf=s.lazy(()=>h(()=>import("./traffic-growth-strategy-DKfZvbB_.js"),__vite__mapDeps([118,1,0,4,3,5,6]))),df=s.lazy(()=>h(()=>import("./tshirt-showcase-DzY4RTxI.js"),__vite__mapDeps([119,1,4,0,3,5,6]))),uf=s.lazy(()=>h(()=>import("./UniversityAIDetection-B24nDDC3.js"),__vite__mapDeps([120,1,4,0,26,3,5,6]))),mf=s.lazy(()=>h(()=>import("./university-partnerships-CVSFuWDA.js"),__vite__mapDeps([121,1,3,0,4,5,6]))),pf=s.lazy(()=>h(()=>import("./education-resources-BCRes_3h.js"),__vite__mapDeps([122,1,4,0,26,47,3,5,6])).then(t=>({default:t.StudentAIDetectionResource}))),gf=s.lazy(()=>h(()=>import("./education-resources-BCRes_3h.js"),__vite__mapDeps([122,1,4,0,26,47,3,5,6])).then(t=>({default:t.AcademicIntegrityReviewResource}))),hf=s.lazy(()=>h(()=>import("./education-resources-BCRes_3h.js"),__vite__mapDeps([122,1,4,0,26,47,3,5,6])).then(t=>({default:t.UniversityAILiteracyResource}))),ff=s.lazy(()=>h(()=>import("./education-resources-BCRes_3h.js"),__vite__mapDeps([122,1,4,0,26,47,3,5,6])).then(t=>({default:t.StudentWritingReviewResource}))),xf=s.lazy(()=>h(()=>import("./education-resources-BCRes_3h.js"),__vite__mapDeps([122,1,4,0,26,47,3,5,6])).then(t=>({default:t.NcatCentennialAccessResource}))),yf=s.lazy(()=>h(()=>import("./authority-pages-siRIHG4p.js"),__vite__mapDeps([123,1,0,4,26,3,5,6])).then(t=>({default:t.SynthidCompliancePage}))),bf=s.lazy(()=>h(()=>import("./authority-pages-siRIHG4p.js"),__vite__mapDeps([123,1,0,4,26,3,5,6])).then(t=>({default:t.DeepfakeQuarantinePage}))),vf=s.lazy(()=>h(()=>import("./authority-pages-siRIHG4p.js"),__vite__mapDeps([123,1,0,4,26,3,5,6])).then(t=>({default:t.HigherEducationSolutionPage}))),wf=s.lazy(()=>h(()=>import("./authority-pages-siRIHG4p.js"),__vite__mapDeps([123,1,0,4,26,3,5,6])).then(t=>({default:t.MediaPublishingSolutionPage}))),Af=s.lazy(()=>h(()=>import("./authority-pages-siRIHG4p.js"),__vite__mapDeps([123,1,0,4,26,3,5,6])).then(t=>({default:t.McpServerDocsPage}))),If=s.lazy(()=>h(()=>import("./authority-pages-siRIHG4p.js"),__vite__mapDeps([123,1,0,4,26,3,5,6])).then(t=>({default:t.GcpMarketplaceOnboardingPage}))),jf=s.lazy(()=>h(()=>import("./sitemap-CHyMCC0H.js"),__vite__mapDeps([124,1,0,4,3,5,6]))),Nf=s.lazy(()=>h(()=>import("./community-DNQQKgaG.js"),__vite__mapDeps([125,1,4,0,3,5,6]))),kf=s.lazy(()=>h(()=>import("./get-involved-DE1vsf7V.js"),__vite__mapDeps([126,1,15,4,0,3,5,6]))),Cf=s.lazy(()=>h(()=>import("./checkout-8V9Jk-QX.js"),__vite__mapDeps([127,1,38,4,0,60,3,5,6]))),Sf=s.lazy(()=>h(()=>import("./payment-success-D0G5tRWh.js"),__vite__mapDeps([128,1,4,0,3,5,6]))),Pf=s.lazy(()=>h(()=>import("./agent-dashboard-ECxAtRx9.js"),__vite__mapDeps([129,1,4,0,15,3,5,6]))),Df=s.lazy(()=>h(()=>import("./integrity-agent-BEm-Nop-.js"),__vite__mapDeps([130,1,4,0,3,5,6]))),Tf=s.lazy(()=>h(()=>import("./careers-DR1C637U.js"),__vite__mapDeps([131,1,4,0,3,5,6]))),Ef=s.lazy(()=>h(()=>import("./social-media-influencer-DDpvstZW.js"),__vite__mapDeps([132,1,4,0,3,5,6]))),_f=s.lazy(()=>h(()=>import("./investment-manager-Bpwqk6Uj.js"),__vite__mapDeps([133,1,4,0,3,5,6]))),Rf=s.lazy(()=>h(()=>import("./senior-ml-engineer-cBBHkTBw.js"),__vite__mapDeps([134,1,4,0,3,5,6]))),Lf=s.lazy(()=>h(()=>import("./security-researcher-BlR4w_oT.js"),__vite__mapDeps([135,1,4,0,3,5,6]))),zf=s.lazy(()=>h(()=>import("./leaderboard-h6fsggJc.js"),__vite__mapDeps([136,1,47,0,51,4,3,5,6]))),Mf=s.lazy(()=>h(()=>
218import("./api-tiers-Cy5ty3LX.js"),__vite__mapDeps([137,1,47,0,4,3,5,6]))),Ff=s.lazy(()=>h(()=>import("./researchers-B3eQUOlN.js"),__vite__mapDeps([138,1,47,0,3,4,5,6]))),qf=s.lazy(()=>h(()=>import("./ai-tool-trends-DksvruRq.js"),__vite__mapDeps([139,1,4,0,3,5,6]))),Of=s.lazy(()=>h(()=>import("./bug-bounty-CnPhVdLB.js"),__vite__mapDeps([140,1,47,0,3,4,5,6]))),$f=s.lazy(()=>h(()=>import("./shirt-templates-akPVw1dz.js"),__vite__mapDeps([141,1,4,0,3,5,6]))),Uf=s.lazy(()=>h(()=>import("./samples-CtFf0ulg.js"),__vite__mapDeps([142,1,4,0,3,5,6]))),Gf=s.lazy(()=>h(()=>import("./shirt-preview-DjYAP24X.js"),__vite__mapDeps([143,1,4,0,3,5,6]))),Vf=s.lazy(()=>h(()=>import("./design-collection-oA7u7aPT.js"),__vite__mapDeps([144,1,4,0,3,5,6]))),Bf=s.lazy(()=>h(()=>import("./trademark-application-BkKX-1fA.js"),__vite__mapDeps([145,1,0,15,19,3,32,20,4,5,6]))),Hf=s.lazy(()=>h(()=>import("./Login-DxlXQQgs.js"),__vite__mapDeps([146,1,4,0,15,32,3,20,147,6,5]))),Wf=s.lazy(()=>h(()=>import("./Register-BCWXTitq.js"),__vite__mapDeps([148,1,4,0,15,32,3,20,147,6,5]))),Kf=s.lazy(()=>h(()=>import("./ForgotPassword-mEXXl3Ie.js"),__vite__mapDeps([149,1,0,4,15,32,3,20,6,5]))),Jf=s.lazy(()=>h(()=>import("./ResetPassword-DaQB2bcX.js"),__vite__mapDeps([150,1,0,4,15,32,3,20,5,6]))),Yf=s.lazy(()=>h(()=>import("./analyze-IDtFRG0T.js"),__vite__mapDeps([151,1,4,0,3,5,6]))),Qf=s.lazy(()=>h(()=>import("./identify-B-Jk5TZR.js"),__vite__mapDeps([152,1,4,0,3,5,6]))),Zf=s.lazy(()=>h(()=>import("./ContentExpansionStrategy-WvSOLCca.js"),__vite__mapDeps([153,1,0,4])).then(t=>({default:t.ComparisonPage}))),Xf=s.lazy(()=>h(()=>import("./ContentExpansionStrategy-WvSOLCca.js"),__vite__mapDeps([153,1,0,4])).then(t=>({default:t.BuyersGuide}))),ex=s.lazy(()=>h(()=>import("./ContentExpansionStrategy-WvSOLCca.js"),__vite__mapDeps([153,1,0,4])).then(t=>({default:t.CaseStudiesPage}))),tx=s.lazy(()=>h(()=>import("./Verify-YBQ-xjXl.js"),__vite__mapDeps([154,1,4,0,3,5,6]))),ax=s.lazy(()=>h(()=>import("./Playground-YB-Krbey.js"),__vite__mapDeps([155,1,0,3,4,5,6]))),ix=s.lazy(()=>h(()=>import("./ModelsPage-CKr-1q_G.js"),__vite__mapDeps([156,1,0,3,4,5,6]))),nx=s.lazy(()=>h(()=>import("./EnterpriseSla-BmpBwOhU.js"),__vite__mapDeps([157,1,0,3,4,5,6]))),sx=s.lazy(()=>h(()=>import("./LmsIntegration-C2tNDxRZ.js"),__vite__mapDeps([158,1,0,3,4,5,6]))),rx=s.lazy(()=>h(()=>import("./LtiAdmin-BRxIC_s4.js"),__vite__mapDeps([159,1,3,0,4,5,6]))),ox=s.lazy(()=>h(()=>import("./LtiLaunchView-Ci7fSMbe.js"),__vite__mapDeps([160,1,3,0,4,5,6]))),cx=s.lazy(()=>h(()=>import("./a2a-cHtyR43c.js"),__vite__mapDeps([161,1,3,0,4,5,6]))),lx=s.lazy(()=>h(()=>import("./qr-CFt8ju3Q.js"),__vite__mapDeps([162,1,3,0,4,5,6]))),dx=s.lazy(()=>h(()=>import("./ncat-AfKfqXF1.js"),__vite__mapDeps([163,1,47,0,26,4,3,5,6]))),ux=s.lazy(()=>h(()=>import("./PortalHome-CsnvK8g7.js"),__vite__mapDeps([164,1,165,4,0,26,3,5,6]))),mx=s.lazy(()=>h(()=>import("./FriendsFamily-CJhFChbv.js"),__vite__mapDeps([166,1,165,4,0,26,3,5,6]))),px=s.lazy(()=>h(()=>import("./TailgateSchedule-DqPX51o-.js"),__vite__mapDeps([167,1,165,4,0,26,3,5,6]))),gx=s.lazy(()=>h(()=>import("./AggieStories-Bub_FWfD.js"),__vite__mapDeps([168,1,165,4,0,26,3,5,6]))),hx=s.lazy(()=>h(()=>import("./AggieStoryGuide-Cw91VZ6F.js"),__vite__mapDeps([169,1,4,0,165,26,3,5,6]))),fx=s.lazy(()=>h(()=>import("./HomecomingPerks-Cvug9A7w.js"),__vite__mapDeps([170,1,165,4,0,26,3,5,6]))),xx=s.lazy(()=>h(()=>import("./ExtensionLandingPage-Du0GGL-8.js"),__vite__mapDeps([171,1,4,0,26,3,5,6]))),yx=s.lazy(()=>h(()=>import("./EmojiMarket-DyE7mdEL.js"),__vite__mapDeps([172,1,4,0,3,5,6,173])));function bx(){const[t,a]=ot(),n=s.useRef(null),i=t.split("?")[0].replace(/\/+$/,"")||"/";s.useEffect(()=>{const r={"/about-history":"/about","/about-us":"/about","/contact-us":"/contact","/home":"/","/index":"/","/api-key":"/get-api-key","/signup":"/register"};r[i]&&a(r[i])},[i]),mc();const{data:o}=gt({queryKey:["/api/auth/me"],queryFn:async()=>{const r=await fetch("/api/auth/me",{credentials:"include"});return r.status===401||!r.ok?null:r.json()},staleTime:300*1e3,retry:!1});if(s.useEffect(()=>{if(typeof navigator>
218"u"||!("serviceWorker"in navigator))return;const r=c=>{c.data?.type==="ai-identifiers:scan-completed"&&st(`scan:${c.data.resultId}`)};return navigator.serviceWorker.addEventListener("message",r),()=>{navigator.serviceWorker.removeEventListener("message",r)}},[]),s.useEffect(()=>{if(!o||sessionStorage.getItem("post_login")!=="1")return;const r=kc();if(r&&n.current!==r&&(n.current=r,fetch("/api/push-web/login-welcome",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({eventId:r})}).then(d=>{d.ok&&sessionStorage.removeItem("post_login_welcome_event")}).catch(()=>{})),!dt()){sessionStorage.removeItem("post_login");return}let c=!0;const l=()=>{c&&(c=!1,sessionStorage.removeItem("post_login"),window.removeEventListener("pointerdown",u),window.removeEventListener("keydown",u))},u=()=>{st().then(d=>{d&&l()})};return window.addEventListener("pointerdown",u,{once:!0}),window.addEventListener("keydown",u,{once:!0}),st().then(d=>{d&&l()}),()=>{c=!1,window.removeEventListener("pointerdown",u),window.removeEventListener("keydown",u)}},[o]),s.useEffect(()=>{const r=new URLSearchParams(window.location.search);if(r.get("checkout")==="success"){r.delete("checkout");const m=window.location.pathname+(r.toString()?"?"+r.toString():"");window.history.replaceState({},"",m),Ba.invalidateQueries({queryKey:["/api/auth/me"]}),at({title:"Payment confirmed ✓",description:"Your plan is now active — start scanning below."});return}if(r.get("credits_added")==="1"){r.delete("credits_added");const m=window.location.pathname+(r.toString()?"?"+r.toString():"");window.history.replaceState({},"",m),Ba.invalidateQueries({queryKey:["/api/auth/me"]}),at({title:"Credits added! ✓",description:"Your purchased credits are ready to use and never expire.",duration:8e3});return}const u=r.get("error");if(u==="enterprise_signin_required"){r.delete("error");const m=window.location.pathname+(r.toString()?"?"+r.toString():"");window.history.replaceState({},"",m),at({title:"Enterprise sign-in required",description:"Use a Google Workspace account from your organization to access this enterprise sign-in.",variant:"destructive"});return}if(u==="auth_failed"){r.delete("error");const m=window.location.pathname+(r.toString()?"?"+r.toString():"");window.history.replaceState({},"",m),at({title:"Google sign-in failed",description:"Something went wrong. Please try again or use email and password.",variant:"destructive"});return}const d=r.get("redirect");if(d&&d!=="/"){window.history.replaceState({},"",d),a(d);return}},[a]),s.useEffect(()=>{const r=window.history.scrollRestoration;return window.history.scrollRestoration="manual",()=>{window.history.scrollRestoration=r}},[]),s.useLayoutEffect(()=>{const r=window.location.hash,c=sessionStorage.getItem("intentional_home_section"),l=i==="/"&&r&&c===r;if(sessionStorage.removeItem("intentional_home_section"),l){window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{document.getElementById(r.slice(1))?.scrollIntoView({block:"start"})})});return}i==="/"&&r&&window.history.replaceState(window.history.state,"",window.location.pathname+window.location.search),window.scrollTo(0,0)},[t,i]),i==="/")return e.jsx(_a,{});if(i==="/analyze")return e.jsx(Yf,{});if(i==="/identify")return e.jsx(Qf,{});if(i==="/login")return e.jsx(Hf,{});if(i==="/register")return e.jsx(Wf,{});if(i==="/forgot-password")return e.jsx(Kf,{});if(i==="/reset-password")return e.jsx(Jf,{});if(i==="/blog")return e.jsx(Zg,{});if(i==="/search")return e.jsx(eh,{});if(i==="/blog/authors")return e.jsx(ah,{});if(i.startsWith("/blog/authors/")){const r=i.replace("/blog/authors/","").split("/")[0];return e.jsx(th,{slug:r})}if(i.startsWith("/blog/category/")){const r=decodeURIComponent(i.replace("/blog/category/","").split("/")[0]);return e.jsx(ih,{category:r})}if(i.startsWith("/blog/tag/")){const r=decodeURIComponent(i.replace("/blog/tag/","").split("/")[0]);return e.jsx(nh,{tag:r})}if(i.startsWith("/blog/")){let r=i.replace("/blog/","");const c=["/es","/de","/fr","/zh","/ja","/ko","/pt","/it","/ru"];for(const l of c)if(r.endsWith(l)){r=r.slice(0,-l.length);break}return e.jsx(Xg,{slug:r})}if(i==="/enterprise")return e.jsx(Fg,{});if(i==="/admin/lms")return e.jsx(rx,{});if(i==="/lti/view")return e.jsx(ox,{});if(i==="/playground")return e.jsx(ax,{});if(i==="/models")return e.jsx(ix,{});if(i==="/enterprise/sla")return e.jsx(nx,{});if(i==="/integrations/lms")return e.jsx(sx,{});if(i==="/admin")return e.jsx(Le,{children:e.jsx(Eg,{})});if(i==="/admin/board")return e.jsx(Le,{children:e.jsx(_g,{})});if(i==="/admin/marketplace-launch")return e.jsx(Le,{children:e.jsx(Rg,{})});if(i==="/admin/media-outreach")return e.jsx(Le,{children:e.jsx(Lg,{})});if(i==="/moderation")return e.jsx(Le,{children:e.jsx(zg,{})});if(i==="/analytics")return e.jsx(Le,{children:e.jsx(Mg,{})});if(i==="/security")return e.jsx(fh,{});if(i==="/get-api-key")return e.jsx(qg,{});if(i==="/status")return e.jsx($g,{});if(i==="/admin/status")return e.jsx(Le,{children:e.jsx(Og,{})});if(i==="/dashboard/quarantine")return e.jsx(Ug,{});if(i==="/dashboard/alerts")return e.jsx(Gg,{});if(i==="/deepfake-detection-api")return e.jsx(Vg,{});if(i==="/ai-content-verification-api")return e.jsx(Bg,{});if(i==="/dashboard")return e.jsx(Hg,{});if(i==="/team/accept")return e.jsx(Kg,{});if(i==="/team"||i.startsWith("/team/"))return e.jsx(Wg,{});if(i==="/ai-image-detector-api")return e.jsx(Jg,{});if(i==="/ai-text-detector-api")return e.jsx(Yg,{});if(i==="/synthetic-media-detection-api")return e.jsx(Qg,{});if(i==="/developers")return e.jsx(xh,{});if(i==="/docs")return e.jsx(yh,{});if(i==="/docs/mcp-server")return e.jsx(Af,{});if(i.startsWith("/docs/"))return e.jsx(bh,{});if(i==="/changelog")return e.jsx(vh,{});if(i==="/a2a")return e.jsx(cx,{});if(i==="/qr")return e.jsx(lx,{});if(i==="/ncat")return e.jsx(dx,{});if(i==="/homecoming")return e.jsx(ux,{});if(i==="/friends-family-pass")return e.jsx(mx,{});if(i==="/tailgate-schedule")return e.jsx(px,{});if(i==="/aggie-stories")return e.jsx(gx,{});if(i.startsWith("/aggie-stories/"))return e.jsx(hx,{});if(i==="/homecoming-perks")return e.jsx(fx,{});if(i==="/extension")return e.jsx(xx,{});if(i==="/competitive")return e.jsx(wh,{});if(i==="/storage")return e.jsx(Le,{children:e.jsx(sh,{})});if(i==="/pricing")return e.jsx(rh,{});if(i==="/store")return e.jsx(oh,{});if(i==="/emoji-market")return e.jsx(yx,{});if(i==="/investors")return e.jsx(ch,{});if(i==="/privacy"||i==="/privacy-policy")return e.jsx(lh,{});if(i==="/delete-account")return e.jsx(dh,{});if(i==="/dmca"||i==="/copyright")return e.jsx(mh,{});if(i==="/terms"||i==="/terms-of-service")return e.jsx(uh,{});if(i==="/refund-policy")return e.jsx(ph,{});if(i==="/support")return e.jsx(gh,{});if(i==="/faq")return e.jsx(hh,{});if(i==="/sitemap")return e.jsx(jf,{});if(i==="/community")return e.jsx(Nf,{});if(i==="/get-involved")return e.jsx(kf,{});if(i==="/checkout")return e.jsx(Cf,{});if(i==="/payment-success")return e.jsx(Sf,{});if(i==="/agent-dashboard"||i==="/agents")return e.jsx(Le,{children:e.jsx(Pf,{})});if(i==="/integrity-agent"||i==="/ai-agent"||i==="/agent-chat")return e.jsx(Df,{});if(i==="/careers")return e.jsx(Tf,{});if(i==="/careers/influencer-ambassador"||i==="/careers/social-media-influencer")return e.jsx(Ef,{});if(i==="/careers/investment-manager")return e.jsx(_f,{});if(i==="/careers/senior-ml-engineer")return e.jsx(Rf,{});if(i==="/careers/security-researcher")return e.jsx(Lf,{});if(i==="/leaderboard")return e.jsx(zf,{});if(i==="/api-tiers")return e.jsx(Mf,{});if(i==="/researchers")return e.jsx(Ff,{});if(i==="/bug-bounty")return e.jsx(Of,{});if(i==="/google-partnership")return e.jsx(Ah,{});if(i==="/synthid-integration")return e.jsx(Ih,{});if(i==="/enterprise-ai-detection")return e.jsx(jh,{});if(i==="/google-ai-technology")return e.jsx(Nh,{});if(i==="/ai-detection-history")return e.jsx(kh,{});if(i==="/google-cloud-ai-integration")return e.jsx(Ch,{});if(i==="/marketplace")return e.jsx(Zh,{});if(i==="/gcp/signup")return e.jsx(Xh,{});if(i==="/google-synthid-technology")return e.jsx(Sh,{});if(i==="/compliance/synthid")return e.jsx(yf,{});if(i==="/enterprise/deepfake-quarantine")return e.jsx(bf,{});if(i==="/solutions/higher-ed")return e.jsx(vf,{});if(i==="/solutions/media-publishing")return e.jsx(wf,{});if(i==="/marketplace/gcp-onboarding")return e.jsx(If,{});if(i==="/free-ai-detector"||i==="/ai-checker"||i==="/detect-ai")return e.jsx(Ph,{});if(i==="/ai-detector")return e.jsx(Dh,{});if(i==="/ai-plagiarism-checker")return e.jsx(Th,{});if(i==="/chatgpt-detector")return e.jsx(Eh,{});if(i==="/bard-detector")return e.jsx(_h,{});if(i==="/claude-detector")return e.jsx(Rh,{});if(i==="/audio-deepfake-checker")return e.jsx(Lh,{});if(i==="/pdf-ai-detector")return e.jsx(zh,{});if(i==="/video-deepfake-detector")return e.jsx(Mh,{});if(i==="/ai-voice-detector")return e.jsx(Fh,{});if(i==="/contact")return e.jsx(qh,{});if(i==="/badge")return e.jsx($h,{});if(i.startsWith("/vs/")){const r=i.replace("/vs/","").split("/")[0];return e.jsx(Oh,{slug:r})}if(i==="/legal-ai-detection")return e.jsx(Uh,{});if(i==="/es"||i==="/de"||i==="/fr"||i==="/zh"||i==="/ja"||i==="/ko")return e.jsx(_a,{});if(i==="/embed/demo-video")return e.jsx(_a,{});if(i==="/international")return e.jsx(Gh,{});if(i==="/enterprise-integrations")return e.jsx(tf,{});if(i==="/enterprise-landing")return e.jsx(af,{});if(i==="/about")return e.jsx(Vh,{});if(i==="/students")return e.jsx(Bh,{});if(i==="/press")return e.jsx(Hh,{});if(i==="/our-team")return e.jsx(Wh,{});if(i==="/product-tour")return e.jsx(Kh,{});if(i==="/trust")return e.jsx(Jh,{});if(i==="/ai-tool-trends")return e.jsx(qf,{});if(i==="/info-landing")return e.jsx(sf,{});if(i==="/blog-landing")return e.jsx(Yh,{});if(i==="/eu-ai-act-compliance")return e.jsx(nf,{});if(i==="/regulatory-expertise")return e.jsx(rf,{});if(i==="/services")return e.jsx(of,{});if(i==="/services-landing")return e.jsx(cf,{});if(i==="/university-ai-detection")return e.jsx(uf,{});if(i==="/university-partnerships")return e.jsx(mf,{});if(i==="/student-ai-detection")return e.jsx(pf,{});if(i==="/academic-integrity-review")return e.jsx(gf,{});if(i==="/university-ai-literacy")return e.jsx(hf,{});if(i==="/student-writing-review")return e.jsx(ff,{});if(i==="/ncat-centennial-access")return e.jsx(xf,{});if(i==="/commercial")return e.jsx(Qh,{});if(i==="/data-network-effects")return e.jsx(ef,{});if(i==="/traffic-growth-strategy")return e.jsx(lf,{});if(i==="/tshirt-showcase")return e.jsx(df,{});if(i==="/comparison"||i==="/compare")return e.jsx(Zf,{});if(i==="/buyers-guide"||i==="/guide")return e.jsx(Xf,{});if(i==="/case-studies"||i==="/success-stories")return e.jsx(ex,{});
218if(i.startsWith("/industries/")){const r=i.split("/").filter(Boolean);if(r.length===2){const c=r[1],l=qt.find(u=>u.id===c);if(l)return e.jsx(Xe,{industry:l,pageType:"industry"})}if(r.length===3){const[,c,l]=r,u=qt.find(m=>m.id===c),d=Ot.find(m=>m.id===l);if(u&&d)return e.jsx(Xe,{industry:u,useCase:d,pageType:"industry-use-case"})}if(r.length===4&&r[2]==="locations"){const[,c,,l]=r,u=qt.find(m=>m.id===c),d=$t.find(m=>m.id===l);if(u&&d)return e.jsx(Xe,{industry:u,location:d,pageType:"industry-location"})}if(r.length===5&&r[3]==="locations"){const[,c,l,,u]=r,d=qt.find(b=>b.id===c),m=Ot.find(b=>b.id===l),p=$t.find(b=>b.id===u);if(d&&m&&p)return e.jsx(Xe,{industry:d,useCase:m,location:p,pageType:"full-combination"})}}if(i.startsWith("/use-cases/")){const r=i.split("/").filter(Boolean);if(r.length===2){const c=r[1],l=Ot.find(u=>u.id===c);if(l)return e.jsx(Xe,{useCase:l,pageType:"use-case"})}if(r.length===4&&r[2]==="locations"){const[,c,,l]=r,u=Ot.find(m=>m.id===c),d=$t.find(m=>m.id===l);if(u&&d)return e.jsx(Xe,{useCase:u,location:d,pageType:"use-case-location"})}}if(i.startsWith("/locations/")){const r=i.split("/").filter(Boolean);if(r.length===2){const c=r[1],l=$t.find(u=>u.id===c);if(l)return e.jsx(Xe,{location:l,pageType:"location"})}}return i==="/shirt-templates"?e.jsx($f,{}):i==="/samples"?e.jsx(Uf,{}):i==="/shirt-preview"?e.jsx(Gf,{}):i==="/design-collection"?e.jsx(Vf,{}):i==="/trademark-application"?e.jsx(Bf,{}):i.startsWith("/verify/")?e.jsx(tx,{}):e.jsx(Pg,{})}function vx(){return Ic(),null}function wx(){return hc(),s.useEffect(()=>{si(),ys()},[]),e.jsx(Ho,{children:e.jsx(lc,{defaultTheme:"light",children:e.jsx(hr,{children:e.jsx(lr,{client:Ba,children:e.jsxs(cc,{children:[e.jsx(vx,{}),e.jsx(Tg,{}),e.jsxs(s.Suspense,{fallback:e.jsxs("div",{style:{display:"flex",flexDirection:"column",minHeight:"100vh",background:"#f9fafb"},children:[e.jsx("div",{style:{height:64,background:"#fff",borderBottom:"1px solid #e5e7eb"}}),e.jsxs("div",{style:{flex:1,display:"flex",alignItems:"center",justifyContent:"center"},children:[e.jsx("div",{style:{width:36,height:36,borderRadius:"50%",border:"3px solid #e5e7eb",borderTopColor:"#3b82f6",animation:"spin 0.75s linear infinite"}}),e.jsx("style",{children:"@keyframes spin{to{transform:rotate(360deg)}}"})]})]}),children:[e.jsxs(dr,{base:"/".replace(/\/$/,""),children:[e.jsx(fc,{}),e.jsx("div",{className:"md:contents block",children:e.jsx(bx,{})}),e.jsx(xc,{})]}),e.jsx(uc,{}),e.jsx(Ro,{}),e.jsx(Wo,{}),e.jsx(Qo,{}),e.jsx(sc,{}),e.jsx(rc,{})]})]})})})})})}let mn=!1;function Ax(){mn||typeof window>"u"||!("serviceWorker"in navigator)||(mn=!0,navigator.serviceWorker.register("/sw.js",{updateViaCache:"none"}).then(t=>{let a=!1;navigator.serviceWorker.addEventListener("controllerchange",()=>{a||(a=!0,window.location.reload())}),t.addEventListener("updatefound",()=>{const n=t.installing;n&&n.addEventListener("statechange",()=>{n.state==="installed"&&navigator.serviceWorker.controller&&n.postMessage("SKIP_WAITING")})})}).catch(t=>{console.warn("Service worker registration failed; continuing without offline support.",t instanceof Error?t.message:String(t))}))}Ax();document.getElementById("root-skeleton")?.remove();const Ra=document.getElementById("root");if(Ra)try{or.createRoot(Ra).render(e.jsx(wx,{}))}catch{Ra.innerHTML=`
219      <div style="padding: 20px; text-align: center; color: red;">
220        <h1>Application Error</h1>
221        <p>Please refresh the page</p>
222      </div>
223    `}window.React=cr;export{Zp as $,Qs as A,I as B,De as C,Gs as D,Rx as E,Xs as F,Ko as G,zs as H,qt as I,Lx as J,zx as K,$t as L,Aa as M,Vp as N,Ea as O,pa as P,Wp as Q,ut as R,ar as S,ap as T,Ot as U,Gp as V,zo as W,Fx as X,Et as Y,Qp as Z,h as _,Zs as a,Up as a0,at as a1,Vx as a2,w as a3,wc as a4,lp as a5,Tx as a6,_x as a7,st as a8,jm as a9,Nc as aa,Mx as ab,Dx as ac,Px as ad,oc as ae,ks as af,fc as ag,rp as ah,op as ai,Kp as aj,ir as ak,nr as al,sr as am,Ux as an,_p as ao,Ai as ap,et as aq,qx as ar,Ex as as,$x as at,Ox as au,Gx as av,ct as b,_ as c,lt as d,Te as e,xe as f,Pp as g,bp as h,Ws as i,vp as j,Ys as k,pt as l,Us as m,Vt as n,Bt as o,rr as p,la as q,Ms as r,aa as s,fi as t,ke as u,xi as v,yi as w,bi as x,Bs as y,eg as z};

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.