@canonry/canonry 5.29.1 → 5.30.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/assets/agent-workspace/skills/canonry/references/aeo-analysis.md +12 -0
  2. package/assets/agent-workspace/skills/canonry/references/canonry-cli.md +47 -0
  3. package/assets/assets/{AuditHistoryPanel-B_H7nIp7.js → AuditHistoryPanel-8GPJdEWL.js} +1 -1
  4. package/assets/assets/{BacklinksPage-rhms6z2S.js → BacklinksPage-8-KPXFtA.js} +1 -1
  5. package/assets/assets/{HistoryPage-CWPETgrG.js → HistoryPage-CKgF71m5.js} +1 -1
  6. package/assets/assets/MeasurementPropertyPage-nfGYHl6C.js +1 -0
  7. package/assets/assets/ProjectPage-BPtdO-Gp.js +8 -0
  8. package/assets/assets/{RunRow-DQPW7FIF.js → RunRow-C3CRRfb4.js} +1 -1
  9. package/assets/assets/{RunsPage-BOM_RkNi.js → RunsPage-BvCCjtqM.js} +1 -1
  10. package/assets/assets/{SettingsPage-BDnT6wtM.js → SettingsPage-B1QuP6Cv.js} +1 -1
  11. package/assets/assets/{SiteHealthSection-lcZA1XpM.js → SiteHealthSection-DgM3aTd-.js} +3 -3
  12. package/assets/assets/{TrafficPage-D4nGSfXx.js → TrafficPage-DEUDhBXG.js} +2 -2
  13. package/assets/assets/{TrafficSourceDetailPage-CvZcCbic.js → TrafficSourceDetailPage-gpgLsGA1.js} +1 -1
  14. package/assets/assets/{extract-error-message-BJ3f0StM.js → extract-error-message-CH4G5kw6.js} +1 -1
  15. package/assets/assets/index-B2qeAPfR.js +86 -0
  16. package/assets/assets/index-D0bY1wpI.css +1 -0
  17. package/assets/assets/{react-sigma_core.esm.min-c7qzyLLe.js → react-sigma_core.esm.min-CG4hSMQ3.js} +1 -1
  18. package/assets/assets/{v2-overview-adapter-Dsd6dWtE.js → v2-overview-adapter-QNwqt0UG.js} +1 -1
  19. package/assets/index.html +2 -2
  20. package/dist/{chunk-WL2SHCPU.js → chunk-DFIK6IPP.js} +177 -1
  21. package/dist/{chunk-N2SVFXOB.js → chunk-LLVE7B3V.js} +1143 -615
  22. package/dist/{chunk-ASYPQYVV.js → chunk-NEP2PJ2T.js} +3 -3
  23. package/dist/{chunk-FKL5EGOW.js → chunk-RCX6I3DX.js} +2147 -1697
  24. package/dist/{chunk-RHZKOXDZ.js → chunk-TPJ4MMZ6.js} +4377 -2551
  25. package/dist/{chunk-PTTVDWMN.js → chunk-TWYIUHJU.js} +2 -2
  26. package/dist/{chunk-XWBQWAVE.js → chunk-WZL73LY3.js} +269 -83
  27. package/dist/cli.js +1787 -1528
  28. package/dist/{demo-server-VGUIDC5T.js → demo-server-EU5DGFB3.js} +4 -4
  29. package/dist/index.d.ts +7 -0
  30. package/dist/index.js +6 -6
  31. package/dist/{intelligence-service-IQA4U3RA.js → intelligence-service-SUFG6ICC.js} +2 -2
  32. package/dist/mcp.js +4 -4
  33. package/package.json +12 -11
  34. package/assets/assets/MeasurementPropertyPage-D9-54Je9.js +0 -1
  35. package/assets/assets/ProjectPage-eNVzxsZW.js +0 -8
  36. package/assets/assets/index-Cncchurw.js +0 -86
  37. package/assets/assets/index-DfhmHULl.css +0 -1
@@ -1,86 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./SiteHealthSection-lcZA1XpM.js","./vendor-tanstack-ZXXkndVj.js","./vendor-lucide-N6vOpZmh.js","./ChartPrimitives-B5okB5g-.js","./vendor-recharts-llkUFBGR.js","./ProjectPage-eNVzxsZW.js","./RunRow-DQPW7FIF.js","./extract-error-message-BJ3f0StM.js","./v2-overview-adapter-Dsd6dWtE.js","./vendor-markdown-B4giJcws.js","./AuditHistoryPanel-B_H7nIp7.js","./vendor-radix-twS1M3FF.js","./vendor-yaml-GWJz5H2G.js","./RunsPage-BOM_RkNi.js","./HistoryPage-CWPETgrG.js","./SettingsPage-BDnT6wtM.js","./BacklinksPage-rhms6z2S.js","./TrafficPage-D4nGSfXx.js","./TrafficSourceDetailPage-CvZcCbic.js","./MeasurementPropertyPage-D9-54Je9.js"])))=>i.map(i=>d[i]);
2
- import{c as W4,d as J4,r as N,j as c,Q as eN,M as tN,q as ge,e as mc,L as Xe,a as nN,t as dr,u as Et,f as aN,h as ca,k as xs,l as ek,m as iN,n as tk,O as sf,o as ws,p as sN,s as It,v as nk,x as ks,y as oN,z as rN,A as lN}from"./vendor-tanstack-ZXXkndVj.js";import{S as cN,O as Qf,P as ak,C as Ff,a as ik,T as Zf,D as sk,R as ok}from"./vendor-radix-twS1M3FF.js";import{c as rk}from"./vendor-recharts-llkUFBGR.js";import{A as ac,X as Dr,S as Yf,a as lk,G as ck,C as Ed,L as kr,R as Mu,M as uN,b as dN,P as of,H as uk,c as mN,d as pN,e as Dd,f as Xf,T as dk,W as hN,g as Wf,h as fN,i as gN,j as yN,k as bN,l as vN,m as xN,n as wN,B as kN,F as SN,o as jN,p as AN,q as CN,r as NN,s as mk,t as pk,u as rf,v as hk,w as _N,x as fk,E as TN}from"./vendor-lucide-N6vOpZmh.js";import{M as RN,r as EN}from"./vendor-markdown-B4giJcws.js";import{p as DN}from"./vendor-yaml-GWJz5H2G.js";(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const u of document.querySelectorAll('link[rel="modulepreload"]'))r(u);new MutationObserver(u=>{for(const h of u)if(h.type==="childList")for(const g of h.addedNodes)g.tagName==="LINK"&&g.rel==="modulepreload"&&r(g)}).observe(document,{childList:!0,subtree:!0});function i(u){const h={};return u.integrity&&(h.integrity=u.integrity),u.referrerPolicy&&(h.referrerPolicy=u.referrerPolicy),u.crossOrigin==="use-credentials"?h.credentials="include":u.crossOrigin==="anonymous"?h.credentials="omit":h.credentials="same-origin",h}function r(u){if(u.ep)return;u.ep=!0;const h=i(u);fetch(u.href,h)}})();var xh={exports:{}},$l={},wh={exports:{}},kh={};var gv;function zN(){return gv||(gv=1,(function(e){function n(I,Y){var fe=I.length;I.push(Y);e:for(;0<fe;){var we=fe-1>>>1,ee=I[we];if(0<u(ee,Y))I[we]=Y,I[fe]=ee,fe=we;else break e}}function i(I){return I.length===0?null:I[0]}function r(I){if(I.length===0)return null;var Y=I[0],fe=I.pop();if(fe!==Y){I[0]=fe;e:for(var we=0,ee=I.length,_e=ee>>>1;we<_e;){var Pe=2*(we+1)-1,be=I[Pe],le=Pe+1,ce=I[le];if(0>u(be,fe))le<ee&&0>u(ce,be)?(I[we]=ce,I[le]=fe,we=le):(I[we]=be,I[Pe]=fe,we=Pe);else if(le<ee&&0>u(ce,fe))I[we]=ce,I[le]=fe,we=le;else break e}}return Y}function u(I,Y){var fe=I.sortIndex-Y.sortIndex;return fe!==0?fe:I.id-Y.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var h=performance;e.unstable_now=function(){return h.now()}}else{var g=Date,b=g.now();e.unstable_now=function(){return g.now()-b}}var v=[],w=[],k=1,A=null,T=3,_=!1,G=!1,R=!1,q=!1,F=typeof setTimeout=="function"?setTimeout:null,ae=typeof clearTimeout=="function"?clearTimeout:null,L=typeof setImmediate<"u"?setImmediate:null;function W(I){for(var Y=i(w);Y!==null;){if(Y.callback===null)r(w);else if(Y.startTime<=I)r(w),Y.sortIndex=Y.expirationTime,n(v,Y);else break;Y=i(w)}}function J(I){if(R=!1,W(I),!G)if(i(v)!==null)G=!0,se||(se=!0,Ke());else{var Y=i(w);Y!==null&&Le(J,Y.startTime-I)}}var se=!1,V=-1,H=5,ke=-1;function et(){return q?!0:!(e.unstable_now()-ke<H)}function it(){if(q=!1,se){var I=e.unstable_now();ke=I;var Y=!0;try{e:{G=!1,R&&(R=!1,ae(V),V=-1),_=!0;var fe=T;try{t:{for(W(I),A=i(v);A!==null&&!(A.expirationTime>I&&et());){var we=A.callback;if(typeof we=="function"){A.callback=null,T=A.priorityLevel;var ee=we(A.expirationTime<=I);if(I=e.unstable_now(),typeof ee=="function"){A.callback=ee,W(I),Y=!0;break t}A===i(v)&&r(v),W(I)}else r(v);A=i(v)}if(A!==null)Y=!0;else{var _e=i(w);_e!==null&&Le(J,_e.startTime-I),Y=!1}}break e}finally{A=null,T=fe,_=!1}Y=void 0}}finally{Y?Ke():se=!1}}}var Ke;if(typeof L=="function")Ke=function(){L(it)};else if(typeof MessageChannel<"u"){var Ze=new MessageChannel,Ne=Ze.port2;Ze.port1.onmessage=it,Ke=function(){Ne.postMessage(null)}}else Ke=function(){F(it,0)};function Le(I,Y){V=F(function(){I(e.unstable_now())},Y)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(I){I.callback=null},e.unstable_forceFrameRate=function(I){0>I||125<I?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):H=0<I?Math.floor(1e3/I):5},e.unstable_getCurrentPriorityLevel=function(){return T},e.unstable_next=function(I){switch(T){case 1:case 2:case 3:var Y=3;break;default:Y=T}var fe=T;T=Y;try{return I()}finally{T=fe}},e.unstable_requestPaint=function(){q=!0},e.unstable_runWithPriority=function(I,Y){switch(I){case 1:case 2:case 3:case 4:case 5:break;default:I=3}var fe=T;T=I;try{return Y()}finally{T=fe}},e.unstable_scheduleCallback=function(I,Y,fe){var we=e.unstable_now();switch(typeof fe=="object"&&fe!==null?(fe=fe.delay,fe=typeof fe=="number"&&0<fe?we+fe:we):fe=we,I){case 1:var ee=-1;break;case 2:ee=250;break;case 5:ee=1073741823;break;case 4:ee=1e4;break;default:ee=5e3}return ee=fe+ee,I={id:k++,callback:Y,priorityLevel:I,startTime:fe,expirationTime:ee,sortIndex:-1},fe>we?(I.sortIndex=fe,n(w,I),i(v)===null&&I===i(w)&&(R?(ae(V),V=-1):R=!0,Le(J,fe-we))):(I.sortIndex=ee,n(v,I),G||_||(G=!0,se||(se=!0,Ke()))),I},e.unstable_shouldYield=et,e.unstable_wrapCallback=function(I){var Y=T;return function(){var fe=T;T=Y;try{return I.apply(this,arguments)}finally{T=fe}}}})(kh)),kh}var yv;function ON(){return yv||(yv=1,wh.exports=zN()),wh.exports}var bv;function IN(){if(bv)return $l;bv=1;var e=ON(),n=W4(),i=J4();function r(t){var a="https://react.dev/errors/"+t;if(1<arguments.length){a+="?args[]="+encodeURIComponent(arguments[1]);for(var s=2;s<arguments.length;s++)a+="&args[]="+encodeURIComponent(arguments[s])}return"Minified React error #"+t+"; visit "+a+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function u(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)}function h(t){var a=t,s=t;if(t.alternate)for(;a.return;)a=a.return;else{t=a;do a=t,(a.flags&4098)!==0&&(s=a.return),t=a.return;while(t)}return a.tag===3?s:null}function g(t){if(t.tag===13){var a=t.memoizedState;if(a===null&&(t=t.alternate,t!==null&&(a=t.memoizedState)),a!==null)return a.dehydrated}return null}function b(t){if(t.tag===31){var a=t.memoizedState;if(a===null&&(t=t.alternate,t!==null&&(a=t.memoizedState)),a!==null)return a.dehydrated}return null}function v(t){if(h(t)!==t)throw Error(r(188))}function w(t){var a=t.alternate;if(!a){if(a=h(t),a===null)throw Error(r(188));return a!==t?null:t}for(var s=t,l=a;;){var p=s.return;if(p===null)break;var f=p.alternate;if(f===null){if(l=p.return,l!==null){s=l;continue}break}if(p.child===f.child){for(f=p.child;f;){if(f===s)return v(p),t;if(f===l)return v(p),a;f=f.sibling}throw Error(r(188))}if(s.return!==l.return)s=p,l=f;else{for(var x=!1,S=p.child;S;){if(S===s){x=!0,s=p,l=f;break}if(S===l){x=!0,l=p,s=f;break}S=S.sibling}if(!x){for(S=f.child;S;){if(S===s){x=!0,s=f,l=p;break}if(S===l){x=!0,l=f,s=p;break}S=S.sibling}if(!x)throw Error(r(189))}}if(s.alternate!==l)throw Error(r(190))}if(s.tag!==3)throw Error(r(188));return s.stateNode.current===s?t:a}function k(t){var a=t.tag;if(a===5||a===26||a===27||a===6)return t;for(t=t.child;t!==null;){if(a=k(t),a!==null)return a;t=t.sibling}return null}var A=Object.assign,T=Symbol.for("react.element"),_=Symbol.for("react.transitional.element"),G=Symbol.for("react.portal"),R=Symbol.for("react.fragment"),q=Symbol.for("react.strict_mode"),F=Symbol.for("react.profiler"),ae=Symbol.for("react.consumer"),L=Symbol.for("react.context"),W=Symbol.for("react.forward_ref"),J=Symbol.for("react.suspense"),se=Symbol.for("react.suspense_list"),V=Symbol.for("react.memo"),H=Symbol.for("react.lazy"),ke=Symbol.for("react.activity"),et=Symbol.for("react.memo_cache_sentinel"),it=Symbol.iterator;function Ke(t){return t===null||typeof t!="object"?null:(t=it&&t[it]||t["@@iterator"],typeof t=="function"?t:null)}var Ze=Symbol.for("react.client.reference");function Ne(t){if(t==null)return null;if(typeof t=="function")return t.$$typeof===Ze?null:t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case R:return"Fragment";case F:return"Profiler";case q:return"StrictMode";case J:return"Suspense";case se:return"SuspenseList";case ke:return"Activity"}if(typeof t=="object")switch(t.$$typeof){case G:return"Portal";case L:return t.displayName||"Context";case ae:return(t._context.displayName||"Context")+".Consumer";case W:var a=t.render;return t=t.displayName,t||(t=a.displayName||a.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case V:return a=t.displayName||null,a!==null?a:Ne(t.type)||"Memo";case H:a=t._payload,t=t._init;try{return Ne(t(a))}catch{}}return null}var Le=Array.isArray,I=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Y=i.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,fe={pending:!1,data:null,method:null,action:null},we=[],ee=-1;function _e(t){return{current:t}}function Pe(t){0>ee||(t.current=we[ee],we[ee]=null,ee--)}function be(t,a){ee++,we[ee]=t.current,t.current=a}var le=_e(null),ce=_e(null),K=_e(null),de=_e(null);function Ee(t,a){switch(be(K,a),be(ce,t),be(le,null),a.nodeType){case 9:case 11:t=(t=a.documentElement)&&(t=t.namespaceURI)?Bb(t):0;break;default:if(t=a.tagName,a=a.namespaceURI)a=Bb(a),t=Lb(a,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}Pe(le),be(le,t)}function Se(){Pe(le),Pe(ce),Pe(K)}function nt(t){t.memoizedState!==null&&be(de,t);var a=le.current,s=Lb(a,t.type);a!==s&&(be(ce,t),be(le,s))}function Ve(t){ce.current===t&&(Pe(le),Pe(ce)),de.current===t&&(Pe(de),Bl._currentValue=fe)}var vt,$e;function re(t){if(vt===void 0)try{throw Error()}catch(s){var a=s.stack.trim().match(/\n( *(at )?)/);vt=a&&a[1]||"",$e=-1<s.stack.indexOf(`
3
- at`)?" (<anonymous>)":-1<s.stack.indexOf("@")?"@unknown:0:0":""}return`
4
- `+vt+t+$e}var st=!1;function Ut(t,a){if(!t||st)return"";st=!0;var s=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var l={DetermineComponentFrameRoot:function(){try{if(a){var ie=function(){throw Error()};if(Object.defineProperty(ie.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(ie,[])}catch(Q){var $=Q}Reflect.construct(t,[],ie)}else{try{ie.call()}catch(Q){$=Q}t.call(ie.prototype)}}else{try{throw Error()}catch(Q){$=Q}(ie=t())&&typeof ie.catch=="function"&&ie.catch(function(){})}}catch(Q){if(Q&&$&&typeof Q.stack=="string")return[Q.stack,$.stack]}return[null,null]}};l.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var p=Object.getOwnPropertyDescriptor(l.DetermineComponentFrameRoot,"name");p&&p.configurable&&Object.defineProperty(l.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var f=l.DetermineComponentFrameRoot(),x=f[0],S=f[1];if(x&&S){var E=x.split(`
5
- `),B=S.split(`
6
- `);for(p=l=0;l<E.length&&!E[l].includes("DetermineComponentFrameRoot");)l++;for(;p<B.length&&!B[p].includes("DetermineComponentFrameRoot");)p++;if(l===E.length||p===B.length)for(l=E.length-1,p=B.length-1;1<=l&&0<=p&&E[l]!==B[p];)p--;for(;1<=l&&0<=p;l--,p--)if(E[l]!==B[p]){if(l!==1||p!==1)do if(l--,p--,0>p||E[l]!==B[p]){var Z=`
7
- `+E[l].replace(" at new "," at ");return t.displayName&&Z.includes("<anonymous>")&&(Z=Z.replace("<anonymous>",t.displayName)),Z}while(1<=l&&0<=p);break}}}finally{st=!1,Error.prepareStackTrace=s}return(s=t?t.displayName||t.name:"")?re(s):""}function _n(t,a){switch(t.tag){case 26:case 27:case 5:return re(t.type);case 16:return re("Lazy");case 13:return t.child!==a&&a!==null?re("Suspense Fallback"):re("Suspense");case 19:return re("SuspenseList");case 0:case 15:return Ut(t.type,!1);case 11:return Ut(t.type.render,!1);case 1:return Ut(t.type,!0);case 31:return re("Activity");default:return""}}function pa(t){try{var a="",s=null;do a+=_n(t,s),s=t,t=t.return;while(t);return a}catch(l){return`
8
- Error generating stack: `+l.message+`
9
- `+l.stack}}var qe=Object.prototype.hasOwnProperty,lt=e.unstable_scheduleCallback,$t=e.unstable_cancelCallback,Gt=e.unstable_shouldYield,Tn=e.unstable_requestPaint,Pt=e.unstable_now,oi=e.unstable_getCurrentPriorityLevel,Ts=e.unstable_ImmediatePriority,Un=e.unstable_UserBlockingPriority,ri=e.unstable_NormalPriority,Rs=e.unstable_LowPriority,Ii=e.unstable_IdlePriority,Pi=e.log,Es=e.unstable_setDisableYieldValue,mn=null,kt=null;function pn(t){if(typeof Pi=="function"&&Es(t),kt&&typeof kt.setStrictMode=="function")try{kt.setStrictMode(mn,t)}catch{}}var xn=Math.clz32?Math.clz32:oe,Ds=Math.log,ha=Math.LN2;function oe(t){return t>>>=0,t===0?32:31-(Ds(t)/ha|0)|0}var ze=256,Qe=262144,Kt=4194304;function at(t){var a=t&42;if(a!==0)return a;switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function We(t,a,s){var l=t.pendingLanes;if(l===0)return 0;var p=0,f=t.suspendedLanes,x=t.pingedLanes;t=t.warmLanes;var S=l&134217727;return S!==0?(l=S&~f,l!==0?p=at(l):(x&=S,x!==0?p=at(x):s||(s=S&~t,s!==0&&(p=at(s))))):(S=l&~f,S!==0?p=at(S):x!==0?p=at(x):s||(s=l&~t,s!==0&&(p=at(s)))),p===0?0:a!==0&&a!==p&&(a&f)===0&&(f=p&-p,s=a&-a,f>=s||f===32&&(s&4194048)!==0)?a:p}function Zt(t,a){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&a)===0}function Ha(t,a){switch(t){case 1:case 2:case 4:case 8:case 64:return a+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function zs(){var t=Kt;return Kt<<=1,(Kt&62914560)===0&&(Kt=4194304),t}function Co(t){for(var a=[],s=0;31>s;s++)a.push(t);return a}function Os(t,a){t.pendingLanes|=a,a!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function _c(t,a,s,l,p,f){var x=t.pendingLanes;t.pendingLanes=s,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=s,t.entangledLanes&=s,t.errorRecoveryDisabledLanes&=s,t.shellSuspendCounter=0;var S=t.entanglements,E=t.expirationTimes,B=t.hiddenUpdates;for(s=x&~s;0<s;){var Z=31-xn(s),ie=1<<Z;S[Z]=0,E[Z]=-1;var $=B[Z];if($!==null)for(B[Z]=null,Z=0;Z<$.length;Z++){var Q=$[Z];Q!==null&&(Q.lane&=-536870913)}s&=~ie}l!==0&&$r(t,l,0),f!==0&&p===0&&t.tag!==0&&(t.suspendedLanes|=f&~(x&~a))}function $r(t,a,s){t.pendingLanes|=a,t.suspendedLanes&=~a;var l=31-xn(a);t.entangledLanes|=a,t.entanglements[l]=t.entanglements[l]|1073741824|s&261930}function Gr(t,a){var s=t.entangledLanes|=a;for(t=t.entanglements;s;){var l=31-xn(s),p=1<<l;p&a|t[l]&a&&(t[l]|=a),s&=~p}}function Kr(t,a){var s=a&-a;return s=(s&42)!==0?1:Hr(s),(s&(t.suspendedLanes|a))!==0?0:s}function Hr(t){switch(t){case 2:t=1;break;case 8:t=4;break;case 32:t=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:t=128;break;case 268435456:t=134217728;break;default:t=0}return t}function Qr(t){return t&=-t,2<t?8<t?(t&134217727)!==0?32:268435456:8:2}function No(){var t=Y.p;return t!==0?t:(t=window.event,t===void 0?32:cv(t.type))}function Tc(t,a){var s=Y.p;try{return Y.p=t,a()}finally{Y.p=s}}var fa=Math.random().toString(36).slice(2),en="__reactFiber$"+fa,Rn="__reactProps$"+fa,qi="__reactContainer$"+fa,_o="__reactEvents$"+fa,Rc="__reactListeners$"+fa,To="__reactHandles$"+fa,Wn="__reactResources$"+fa,Mi="__reactMarker$"+fa;function Fr(t){delete t[en],delete t[Rn],delete t[_o],delete t[Rc],delete t[To]}function li(t){var a=t[en];if(a)return a;for(var s=t.parentNode;s;){if(a=s[qi]||s[en]){if(s=a.alternate,a.child!==null||s!==null&&s.child!==null)for(t=Qb(t);t!==null;){if(s=t[en])return s;t=Qb(t)}return a}t=s,s=t.parentNode}return null}function Bi(t){if(t=t[en]||t[qi]){var a=t.tag;if(a===5||a===6||a===13||a===31||a===26||a===27||a===3)return t}return null}function Li(t){var a=t.tag;if(a===5||a===26||a===27||a===6)return t.stateNode;throw Error(r(33))}function Vi(t){var a=t[Wn];return a||(a=t[Wn]={hoistableStyles:new Map,hoistableScripts:new Map}),a}function Yt(t){t[Mi]=!0}var Zr=new Set,Yr={};function Qa(t,a){Is(t,a),Is(t+"Capture",a)}function Is(t,a){for(Yr[t]=a,t=0;t<a.length;t++)Zr.add(a[t])}var Xr=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),Wr={},Fa={};function vm(t){return qe.call(Fa,t)?!0:qe.call(Wr,t)?!1:Xr.test(t)?Fa[t]=!0:(Wr[t]=!0,!1)}function ci(t,a,s){if(vm(a))if(s===null)t.removeAttribute(a);else{switch(typeof s){case"undefined":case"function":case"symbol":t.removeAttribute(a);return;case"boolean":var l=a.toLowerCase().slice(0,5);if(l!=="data-"&&l!=="aria-"){t.removeAttribute(a);return}}t.setAttribute(a,""+s)}}function Ps(t,a,s){if(s===null)t.removeAttribute(a);else{switch(typeof s){case"undefined":case"function":case"symbol":case"boolean":t.removeAttribute(a);return}t.setAttribute(a,""+s)}}function wn(t,a,s,l){if(l===null)t.removeAttribute(s);else{switch(typeof l){case"undefined":case"function":case"symbol":case"boolean":t.removeAttribute(s);return}t.setAttributeNS(a,s,""+l)}}function En(t){switch(typeof t){case"bigint":case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function Ui(t){var a=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(a==="checkbox"||a==="radio")}function xm(t,a,s){var l=Object.getOwnPropertyDescriptor(t.constructor.prototype,a);if(!t.hasOwnProperty(a)&&typeof l<"u"&&typeof l.get=="function"&&typeof l.set=="function"){var p=l.get,f=l.set;return Object.defineProperty(t,a,{configurable:!0,get:function(){return p.call(this)},set:function(x){s=""+x,f.call(this,x)}}),Object.defineProperty(t,a,{enumerable:l.enumerable}),{getValue:function(){return s},setValue:function(x){s=""+x},stopTracking:function(){t._valueTracker=null,delete t[a]}}}}function Jr(t){if(!t._valueTracker){var a=Ui(t)?"checked":"value";t._valueTracker=xm(t,a,""+t[a])}}function Za(t){if(!t)return!1;var a=t._valueTracker;if(!a)return!0;var s=a.getValue(),l="";return t&&(l=Ui(t)?t.checked?"true":"false":t.value),t=l,t!==s?(a.setValue(t),!0):!1}function $i(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var Ec=/[\n"\\]/g;function Dn(t){return t.replace(Ec,function(a){return"\\"+a.charCodeAt(0).toString(16)+" "})}function Ro(t,a,s,l,p,f,x,S){t.name="",x!=null&&typeof x!="function"&&typeof x!="symbol"&&typeof x!="boolean"?t.type=x:t.removeAttribute("type"),a!=null?x==="number"?(a===0&&t.value===""||t.value!=a)&&(t.value=""+En(a)):t.value!==""+En(a)&&(t.value=""+En(a)):x!=="submit"&&x!=="reset"||t.removeAttribute("value"),a!=null?Eo(t,x,En(a)):s!=null?Eo(t,x,En(s)):l!=null&&t.removeAttribute("value"),p==null&&f!=null&&(t.defaultChecked=!!f),p!=null&&(t.checked=p&&typeof p!="function"&&typeof p!="symbol"),S!=null&&typeof S!="function"&&typeof S!="symbol"&&typeof S!="boolean"?t.name=""+En(S):t.removeAttribute("name")}function el(t,a,s,l,p,f,x,S){if(f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"&&(t.type=f),a!=null||s!=null){if(!(f!=="submit"&&f!=="reset"||a!=null)){Jr(t);return}s=s!=null?""+En(s):"",a=a!=null?""+En(a):s,S||a===t.value||(t.value=a),t.defaultValue=a}l=l??p,l=typeof l!="function"&&typeof l!="symbol"&&!!l,t.checked=S?t.checked:!!l,t.defaultChecked=!!l,x!=null&&typeof x!="function"&&typeof x!="symbol"&&typeof x!="boolean"&&(t.name=x),Jr(t)}function Eo(t,a,s){a==="number"&&$i(t.ownerDocument)===t||t.defaultValue===""+s||(t.defaultValue=""+s)}function $n(t,a,s,l){if(t=t.options,a){a={};for(var p=0;p<s.length;p++)a["$"+s[p]]=!0;for(s=0;s<t.length;s++)p=a.hasOwnProperty("$"+t[s].value),t[s].selected!==p&&(t[s].selected=p),p&&l&&(t[s].defaultSelected=!0)}else{for(s=""+En(s),a=null,p=0;p<t.length;p++){if(t[p].value===s){t[p].selected=!0,l&&(t[p].defaultSelected=!0);return}a!==null||t[p].disabled||(a=t[p])}a!==null&&(a.selected=!0)}}function Jn(t,a,s){if(a!=null&&(a=""+En(a),a!==t.value&&(t.value=a),s==null)){t.defaultValue!==a&&(t.defaultValue=a);return}t.defaultValue=s!=null?""+En(s):""}function ui(t,a,s,l){if(a==null){if(l!=null){if(s!=null)throw Error(r(92));if(Le(l)){if(1<l.length)throw Error(r(93));l=l[0]}s=l}s==null&&(s=""),a=s}s=En(a),t.defaultValue=s,l=t.textContent,l===s&&l!==""&&l!==null&&(t.value=l),Jr(t)}function ga(t,a){if(a){var s=t.firstChild;if(s&&s===t.lastChild&&s.nodeType===3){s.nodeValue=a;return}}t.textContent=a}var ya=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function wm(t,a,s){var l=a.indexOf("--")===0;s==null||typeof s=="boolean"||s===""?l?t.setProperty(a,""):a==="float"?t.cssFloat="":t[a]="":l?t.setProperty(a,s):typeof s!="number"||s===0||ya.has(a)?a==="float"?t.cssFloat=s:t[a]=(""+s).trim():t[a]=s+"px"}function Ya(t,a,s){if(a!=null&&typeof a!="object")throw Error(r(62));if(t=t.style,s!=null){for(var l in s)!s.hasOwnProperty(l)||a!=null&&a.hasOwnProperty(l)||(l.indexOf("--")===0?t.setProperty(l,""):l==="float"?t.cssFloat="":t[l]="");for(var p in a)l=a[p],a.hasOwnProperty(p)&&s[p]!==l&&wm(t,p,l)}else for(var f in a)a.hasOwnProperty(f)&&wm(t,f,a[f])}function Oa(t){if(t.indexOf("-")===-1)return!1;switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Do=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),km=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function zo(t){return km.test(""+t)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":t}function Ia(){}var tl=null;function nl(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var di=null,Pn=null;function Oo(t){var a=Bi(t);if(a&&(t=a.stateNode)){var s=t[Rn]||null;e:switch(t=a.stateNode,a.type){case"input":if(Ro(t,s.value,s.defaultValue,s.defaultValue,s.checked,s.defaultChecked,s.type,s.name),a=s.name,s.type==="radio"&&a!=null){for(s=t;s.parentNode;)s=s.parentNode;for(s=s.querySelectorAll('input[name="'+Dn(""+a)+'"][type="radio"]'),a=0;a<s.length;a++){var l=s[a];if(l!==t&&l.form===t.form){var p=l[Rn]||null;if(!p)throw Error(r(90));Ro(l,p.value,p.defaultValue,p.defaultValue,p.checked,p.defaultChecked,p.type,p.name)}}for(a=0;a<s.length;a++)l=s[a],l.form===t.form&&Za(l)}break e;case"textarea":Jn(t,s.value,s.defaultValue);break e;case"select":a=s.value,a!=null&&$n(t,!!s.multiple,a,!1)}}}var al=!1;function Dc(t,a,s){if(al)return t(a,s);al=!0;try{var l=t(a);return l}finally{if(al=!1,(di!==null||Pn!==null)&&(gu(),di&&(a=di,t=Pn,Pn=di=null,Oo(a),t)))for(a=0;a<t.length;a++)Oo(t[a])}}function qs(t,a){var s=t.stateNode;if(s===null)return null;var l=s[Rn]||null;if(l===null)return null;s=l[a];e:switch(a){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(l=!l.disabled)||(t=t.type,l=!(t==="button"||t==="input"||t==="select"||t==="textarea")),t=!l;break e;default:t=!1}if(t)return null;if(s&&typeof s!="function")throw Error(r(231,a,typeof s));return s}var ba=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),il=!1;if(ba)try{var Ms={};Object.defineProperty(Ms,"passive",{get:function(){il=!0}}),window.addEventListener("test",Ms,Ms),window.removeEventListener("test",Ms,Ms)}catch{il=!1}var Xa=null,U=null,He=null;function mi(){if(He)return He;var t,a=U,s=a.length,l,p="value"in Xa?Xa.value:Xa.textContent,f=p.length;for(t=0;t<s&&a[t]===p[t];t++);var x=s-t;for(l=1;l<=x&&a[s-l]===p[f-l];l++);return He=p.slice(t,1<l?1-l:void 0)}function Pa(t){var a=t.keyCode;return"charCode"in t?(t=t.charCode,t===0&&a===13&&(t=13)):t=a,t===10&&(t=13),32<=t||t===13?t:0}function Io(){return!0}function zc(){return!1}function kn(t){function a(s,l,p,f,x){this._reactName=s,this._targetInst=p,this.type=l,this.nativeEvent=f,this.target=x,this.currentTarget=null;for(var S in t)t.hasOwnProperty(S)&&(s=t[S],this[S]=s?s(f):f[S]);return this.isDefaultPrevented=(f.defaultPrevented!=null?f.defaultPrevented:f.returnValue===!1)?Io:zc,this.isPropagationStopped=zc,this}return A(a.prototype,{preventDefault:function(){this.defaultPrevented=!0;var s=this.nativeEvent;s&&(s.preventDefault?s.preventDefault():typeof s.returnValue!="unknown"&&(s.returnValue=!1),this.isDefaultPrevented=Io)},stopPropagation:function(){var s=this.nativeEvent;s&&(s.stopPropagation?s.stopPropagation():typeof s.cancelBubble!="unknown"&&(s.cancelBubble=!0),this.isPropagationStopped=Io)},persist:function(){},isPersistent:Io}),a}var Wa={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(t){return t.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Bs=kn(Wa),Ls=A({},Wa,{view:0,detail:0}),Vs=kn(Ls),qa,Sm,sl,Oc=A({},Ls,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Am,button:0,buttons:0,relatedTarget:function(t){return t.relatedTarget===void 0?t.fromElement===t.srcElement?t.toElement:t.fromElement:t.relatedTarget},movementX:function(t){return"movementX"in t?t.movementX:(t!==sl&&(sl&&t.type==="mousemove"?(qa=t.screenX-sl.screenX,Sm=t.screenY-sl.screenY):Sm=qa=0,sl=t),qa)},movementY:function(t){return"movementY"in t?t.movementY:Sm}}),Ug=kn(Oc),XA=A({},Oc,{dataTransfer:0}),WA=kn(XA),JA=A({},Ls,{relatedTarget:0}),jm=kn(JA),eC=A({},Wa,{animationName:0,elapsedTime:0,pseudoElement:0}),tC=kn(eC),nC=A({},Wa,{clipboardData:function(t){return"clipboardData"in t?t.clipboardData:window.clipboardData}}),aC=kn(nC),iC=A({},Wa,{data:0}),$g=kn(iC),sC={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},oC={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},rC={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function lC(t){var a=this.nativeEvent;return a.getModifierState?a.getModifierState(t):(t=rC[t])?!!a[t]:!1}function Am(){return lC}var cC=A({},Ls,{key:function(t){if(t.key){var a=sC[t.key]||t.key;if(a!=="Unidentified")return a}return t.type==="keypress"?(t=Pa(t),t===13?"Enter":String.fromCharCode(t)):t.type==="keydown"||t.type==="keyup"?oC[t.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Am,charCode:function(t){return t.type==="keypress"?Pa(t):0},keyCode:function(t){return t.type==="keydown"||t.type==="keyup"?t.keyCode:0},which:function(t){return t.type==="keypress"?Pa(t):t.type==="keydown"||t.type==="keyup"?t.keyCode:0}}),uC=kn(cC),dC=A({},Oc,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Gg=kn(dC),mC=A({},Ls,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Am}),pC=kn(mC),hC=A({},Wa,{propertyName:0,elapsedTime:0,pseudoElement:0}),fC=kn(hC),gC=A({},Oc,{deltaX:function(t){return"deltaX"in t?t.deltaX:"wheelDeltaX"in t?-t.wheelDeltaX:0},deltaY:function(t){return"deltaY"in t?t.deltaY:"wheelDeltaY"in t?-t.wheelDeltaY:"wheelDelta"in t?-t.wheelDelta:0},deltaZ:0,deltaMode:0}),yC=kn(gC),bC=A({},Wa,{newState:0,oldState:0}),vC=kn(bC),xC=[9,13,27,32],Cm=ba&&"CompositionEvent"in window,ol=null;ba&&"documentMode"in document&&(ol=document.documentMode);var wC=ba&&"TextEvent"in window&&!ol,Kg=ba&&(!Cm||ol&&8<ol&&11>=ol),Hg=" ",Qg=!1;function Fg(t,a){switch(t){case"keyup":return xC.indexOf(a.keyCode)!==-1;case"keydown":return a.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Zg(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Po=!1;function kC(t,a){switch(t){case"compositionend":return Zg(a);case"keypress":return a.which!==32?null:(Qg=!0,Hg);case"textInput":return t=a.data,t===Hg&&Qg?null:t;default:return null}}function SC(t,a){if(Po)return t==="compositionend"||!Cm&&Fg(t,a)?(t=mi(),He=U=Xa=null,Po=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(a.ctrlKey||a.altKey||a.metaKey)||a.ctrlKey&&a.altKey){if(a.char&&1<a.char.length)return a.char;if(a.which)return String.fromCharCode(a.which)}return null;case"compositionend":return Kg&&a.locale!=="ko"?null:a.data;default:return null}}var jC={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Yg(t){var a=t&&t.nodeName&&t.nodeName.toLowerCase();return a==="input"?!!jC[t.type]:a==="textarea"}function Xg(t,a,s,l){di?Pn?Pn.push(l):Pn=[l]:di=l,a=Su(a,"onChange"),0<a.length&&(s=new Bs("onChange","change",null,s,l),t.push({event:s,listeners:a}))}var rl=null,ll=null;function AC(t){zb(t,0)}function Ic(t){var a=Li(t);if(Za(a))return t}function Wg(t,a){if(t==="change")return a}var Jg=!1;if(ba){var Nm;if(ba){var _m="oninput"in document;if(!_m){var e1=document.createElement("div");e1.setAttribute("oninput","return;"),_m=typeof e1.oninput=="function"}Nm=_m}else Nm=!1;Jg=Nm&&(!document.documentMode||9<document.documentMode)}function t1(){rl&&(rl.detachEvent("onpropertychange",n1),ll=rl=null)}function n1(t){if(t.propertyName==="value"&&Ic(ll)){var a=[];Xg(a,ll,t,nl(t)),Dc(AC,a)}}function CC(t,a,s){t==="focusin"?(t1(),rl=a,ll=s,rl.attachEvent("onpropertychange",n1)):t==="focusout"&&t1()}function NC(t){if(t==="selectionchange"||t==="keyup"||t==="keydown")return Ic(ll)}function _C(t,a){if(t==="click")return Ic(a)}function TC(t,a){if(t==="input"||t==="change")return Ic(a)}function RC(t,a){return t===a&&(t!==0||1/t===1/a)||t!==t&&a!==a}var ea=typeof Object.is=="function"?Object.is:RC;function cl(t,a){if(ea(t,a))return!0;if(typeof t!="object"||t===null||typeof a!="object"||a===null)return!1;var s=Object.keys(t),l=Object.keys(a);if(s.length!==l.length)return!1;for(l=0;l<s.length;l++){var p=s[l];if(!qe.call(a,p)||!ea(t[p],a[p]))return!1}return!0}function a1(t){for(;t&&t.firstChild;)t=t.firstChild;return t}function i1(t,a){var s=a1(t);t=0;for(var l;s;){if(s.nodeType===3){if(l=t+s.textContent.length,t<=a&&l>=a)return{node:s,offset:a-t};t=l}e:{for(;s;){if(s.nextSibling){s=s.nextSibling;break e}s=s.parentNode}s=void 0}s=a1(s)}}function s1(t,a){return t&&a?t===a?!0:t&&t.nodeType===3?!1:a&&a.nodeType===3?s1(t,a.parentNode):"contains"in t?t.contains(a):t.compareDocumentPosition?!!(t.compareDocumentPosition(a)&16):!1:!1}function o1(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var a=$i(t.document);a instanceof t.HTMLIFrameElement;){try{var s=typeof a.contentWindow.location.href=="string"}catch{s=!1}if(s)t=a.contentWindow;else break;a=$i(t.document)}return a}function Tm(t){var a=t&&t.nodeName&&t.nodeName.toLowerCase();return a&&(a==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||a==="textarea"||t.contentEditable==="true")}var EC=ba&&"documentMode"in document&&11>=document.documentMode,qo=null,Rm=null,ul=null,Em=!1;function r1(t,a,s){var l=s.window===s?s.document:s.nodeType===9?s:s.ownerDocument;Em||qo==null||qo!==$i(l)||(l=qo,"selectionStart"in l&&Tm(l)?l={start:l.selectionStart,end:l.selectionEnd}:(l=(l.ownerDocument&&l.ownerDocument.defaultView||window).getSelection(),l={anchorNode:l.anchorNode,anchorOffset:l.anchorOffset,focusNode:l.focusNode,focusOffset:l.focusOffset}),ul&&cl(ul,l)||(ul=l,l=Su(Rm,"onSelect"),0<l.length&&(a=new Bs("onSelect","select",null,a,s),t.push({event:a,listeners:l}),a.target=qo)))}function Us(t,a){var s={};return s[t.toLowerCase()]=a.toLowerCase(),s["Webkit"+t]="webkit"+a,s["Moz"+t]="moz"+a,s}var Mo={animationend:Us("Animation","AnimationEnd"),animationiteration:Us("Animation","AnimationIteration"),animationstart:Us("Animation","AnimationStart"),transitionrun:Us("Transition","TransitionRun"),transitionstart:Us("Transition","TransitionStart"),transitioncancel:Us("Transition","TransitionCancel"),transitionend:Us("Transition","TransitionEnd")},Dm={},l1={};ba&&(l1=document.createElement("div").style,"AnimationEvent"in window||(delete Mo.animationend.animation,delete Mo.animationiteration.animation,delete Mo.animationstart.animation),"TransitionEvent"in window||delete Mo.transitionend.transition);function $s(t){if(Dm[t])return Dm[t];if(!Mo[t])return t;var a=Mo[t],s;for(s in a)if(a.hasOwnProperty(s)&&s in l1)return Dm[t]=a[s];return t}var c1=$s("animationend"),u1=$s("animationiteration"),d1=$s("animationstart"),DC=$s("transitionrun"),zC=$s("transitionstart"),OC=$s("transitioncancel"),m1=$s("transitionend"),p1=new Map,zm="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");zm.push("scrollEnd");function Ma(t,a){p1.set(t,a),Qa(a,[t])}var Pc=typeof reportError=="function"?reportError:function(t){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var a=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof t=="object"&&t!==null&&typeof t.message=="string"?String(t.message):String(t),error:t});if(!window.dispatchEvent(a))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",t);return}console.error(t)},va=[],Bo=0,Om=0;function qc(){for(var t=Bo,a=Om=Bo=0;a<t;){var s=va[a];va[a++]=null;var l=va[a];va[a++]=null;var p=va[a];va[a++]=null;var f=va[a];if(va[a++]=null,l!==null&&p!==null){var x=l.pending;x===null?p.next=p:(p.next=x.next,x.next=p),l.pending=p}f!==0&&h1(s,p,f)}}function Mc(t,a,s,l){va[Bo++]=t,va[Bo++]=a,va[Bo++]=s,va[Bo++]=l,Om|=l,t.lanes|=l,t=t.alternate,t!==null&&(t.lanes|=l)}function Im(t,a,s,l){return Mc(t,a,s,l),Bc(t)}function Gs(t,a){return Mc(t,null,null,a),Bc(t)}function h1(t,a,s){t.lanes|=s;var l=t.alternate;l!==null&&(l.lanes|=s);for(var p=!1,f=t.return;f!==null;)f.childLanes|=s,l=f.alternate,l!==null&&(l.childLanes|=s),f.tag===22&&(t=f.stateNode,t===null||t._visibility&1||(p=!0)),t=f,f=f.return;return t.tag===3?(f=t.stateNode,p&&a!==null&&(p=31-xn(s),t=f.hiddenUpdates,l=t[p],l===null?t[p]=[a]:l.push(a),a.lane=s|536870912),f):null}function Bc(t){if(50<Dl)throw Dl=0,Gp=null,Error(r(185));for(var a=t.return;a!==null;)t=a,a=t.return;return t.tag===3?t.stateNode:null}var Lo={};function IC(t,a,s,l){this.tag=t,this.key=s,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=a,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=l,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function ta(t,a,s,l){return new IC(t,a,s,l)}function Pm(t){return t=t.prototype,!(!t||!t.isReactComponent)}function pi(t,a){var s=t.alternate;return s===null?(s=ta(t.tag,a,t.key,t.mode),s.elementType=t.elementType,s.type=t.type,s.stateNode=t.stateNode,s.alternate=t,t.alternate=s):(s.pendingProps=a,s.type=t.type,s.flags=0,s.subtreeFlags=0,s.deletions=null),s.flags=t.flags&65011712,s.childLanes=t.childLanes,s.lanes=t.lanes,s.child=t.child,s.memoizedProps=t.memoizedProps,s.memoizedState=t.memoizedState,s.updateQueue=t.updateQueue,a=t.dependencies,s.dependencies=a===null?null:{lanes:a.lanes,firstContext:a.firstContext},s.sibling=t.sibling,s.index=t.index,s.ref=t.ref,s.refCleanup=t.refCleanup,s}function f1(t,a){t.flags&=65011714;var s=t.alternate;return s===null?(t.childLanes=0,t.lanes=a,t.child=null,t.subtreeFlags=0,t.memoizedProps=null,t.memoizedState=null,t.updateQueue=null,t.dependencies=null,t.stateNode=null):(t.childLanes=s.childLanes,t.lanes=s.lanes,t.child=s.child,t.subtreeFlags=0,t.deletions=null,t.memoizedProps=s.memoizedProps,t.memoizedState=s.memoizedState,t.updateQueue=s.updateQueue,t.type=s.type,a=s.dependencies,t.dependencies=a===null?null:{lanes:a.lanes,firstContext:a.firstContext}),t}function Lc(t,a,s,l,p,f){var x=0;if(l=t,typeof t=="function")Pm(t)&&(x=1);else if(typeof t=="string")x=L4(t,s,le.current)?26:t==="html"||t==="head"||t==="body"?27:5;else e:switch(t){case ke:return t=ta(31,s,a,p),t.elementType=ke,t.lanes=f,t;case R:return Ks(s.children,p,f,a);case q:x=8,p|=24;break;case F:return t=ta(12,s,a,p|2),t.elementType=F,t.lanes=f,t;case J:return t=ta(13,s,a,p),t.elementType=J,t.lanes=f,t;case se:return t=ta(19,s,a,p),t.elementType=se,t.lanes=f,t;default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case L:x=10;break e;case ae:x=9;break e;case W:x=11;break e;case V:x=14;break e;case H:x=16,l=null;break e}x=29,s=Error(r(130,t===null?"null":typeof t,"")),l=null}return a=ta(x,s,a,p),a.elementType=t,a.type=l,a.lanes=f,a}function Ks(t,a,s,l){return t=ta(7,t,l,a),t.lanes=s,t}function qm(t,a,s){return t=ta(6,t,null,a),t.lanes=s,t}function g1(t){var a=ta(18,null,null,0);return a.stateNode=t,a}function Mm(t,a,s){return a=ta(4,t.children!==null?t.children:[],t.key,a),a.lanes=s,a.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},a}var y1=new WeakMap;function xa(t,a){if(typeof t=="object"&&t!==null){var s=y1.get(t);return s!==void 0?s:(a={value:t,source:a,stack:pa(a)},y1.set(t,a),a)}return{value:t,source:a,stack:pa(a)}}var Vo=[],Uo=0,Vc=null,dl=0,wa=[],ka=0,Gi=null,Ja=1,ei="";function hi(t,a){Vo[Uo++]=dl,Vo[Uo++]=Vc,Vc=t,dl=a}function b1(t,a,s){wa[ka++]=Ja,wa[ka++]=ei,wa[ka++]=Gi,Gi=t;var l=Ja;t=ei;var p=32-xn(l)-1;l&=~(1<<p),s+=1;var f=32-xn(a)+p;if(30<f){var x=p-p%5;f=(l&(1<<x)-1).toString(32),l>>=x,p-=x,Ja=1<<32-xn(a)+p|s<<p|l,ei=f+t}else Ja=1<<f|s<<p|l,ei=t}function Bm(t){t.return!==null&&(hi(t,1),b1(t,1,0))}function Lm(t){for(;t===Vc;)Vc=Vo[--Uo],Vo[Uo]=null,dl=Vo[--Uo],Vo[Uo]=null;for(;t===Gi;)Gi=wa[--ka],wa[ka]=null,ei=wa[--ka],wa[ka]=null,Ja=wa[--ka],wa[ka]=null}function v1(t,a){wa[ka++]=Ja,wa[ka++]=ei,wa[ka++]=Gi,Ja=a.id,ei=a.overflow,Gi=t}var Sn=null,zt=null,pt=!1,Ki=null,Sa=!1,Vm=Error(r(519));function Hi(t){var a=Error(r(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw ml(xa(a,t)),Vm}function x1(t){var a=t.stateNode,s=t.type,l=t.memoizedProps;switch(a[en]=t,a[Rn]=l,s){case"dialog":rt("cancel",a),rt("close",a);break;case"iframe":case"object":case"embed":rt("load",a);break;case"video":case"audio":for(s=0;s<Ol.length;s++)rt(Ol[s],a);break;case"source":rt("error",a);break;case"img":case"image":case"link":rt("error",a),rt("load",a);break;case"details":rt("toggle",a);break;case"input":rt("invalid",a),el(a,l.value,l.defaultValue,l.checked,l.defaultChecked,l.type,l.name,!0);break;case"select":rt("invalid",a);break;case"textarea":rt("invalid",a),ui(a,l.value,l.defaultValue,l.children)}s=l.children,typeof s!="string"&&typeof s!="number"&&typeof s!="bigint"||a.textContent===""+s||l.suppressHydrationWarning===!0||qb(a.textContent,s)?(l.popover!=null&&(rt("beforetoggle",a),rt("toggle",a)),l.onScroll!=null&&rt("scroll",a),l.onScrollEnd!=null&&rt("scrollend",a),l.onClick!=null&&(a.onclick=Ia),a=!0):a=!1,a||Hi(t,!0)}function w1(t){for(Sn=t.return;Sn;)switch(Sn.tag){case 5:case 31:case 13:Sa=!1;return;case 27:case 3:Sa=!0;return;default:Sn=Sn.return}}function $o(t){if(t!==Sn)return!1;if(!pt)return w1(t),pt=!0,!1;var a=t.tag,s;if((s=a!==3&&a!==27)&&((s=a===5)&&(s=t.type,s=!(s!=="form"&&s!=="button")||sh(t.type,t.memoizedProps)),s=!s),s&&zt&&Hi(t),w1(t),a===13){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(r(317));zt=Hb(t)}else if(a===31){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(r(317));zt=Hb(t)}else a===27?(a=zt,os(t.type)?(t=uh,uh=null,zt=t):zt=a):zt=Sn?Aa(t.stateNode.nextSibling):null;return!0}function Hs(){zt=Sn=null,pt=!1}function Um(){var t=Ki;return t!==null&&(Qn===null?Qn=t:Qn.push.apply(Qn,t),Ki=null),t}function ml(t){Ki===null?Ki=[t]:Ki.push(t)}var $m=_e(null),Qs=null,fi=null;function Qi(t,a,s){be($m,a._currentValue),a._currentValue=s}function gi(t){t._currentValue=$m.current,Pe($m)}function Gm(t,a,s){for(;t!==null;){var l=t.alternate;if((t.childLanes&a)!==a?(t.childLanes|=a,l!==null&&(l.childLanes|=a)):l!==null&&(l.childLanes&a)!==a&&(l.childLanes|=a),t===s)break;t=t.return}}function Km(t,a,s,l){var p=t.child;for(p!==null&&(p.return=t);p!==null;){var f=p.dependencies;if(f!==null){var x=p.child;f=f.firstContext;e:for(;f!==null;){var S=f;f=p;for(var E=0;E<a.length;E++)if(S.context===a[E]){f.lanes|=s,S=f.alternate,S!==null&&(S.lanes|=s),Gm(f.return,s,t),l||(x=null);break e}f=S.next}}else if(p.tag===18){if(x=p.return,x===null)throw Error(r(341));x.lanes|=s,f=x.alternate,f!==null&&(f.lanes|=s),Gm(x,s,t),x=null}else x=p.child;if(x!==null)x.return=p;else for(x=p;x!==null;){if(x===t){x=null;break}if(p=x.sibling,p!==null){p.return=x.return,x=p;break}x=x.return}p=x}}function Go(t,a,s,l){t=null;for(var p=a,f=!1;p!==null;){if(!f){if((p.flags&524288)!==0)f=!0;else if((p.flags&262144)!==0)break}if(p.tag===10){var x=p.alternate;if(x===null)throw Error(r(387));if(x=x.memoizedProps,x!==null){var S=p.type;ea(p.pendingProps.value,x.value)||(t!==null?t.push(S):t=[S])}}else if(p===de.current){if(x=p.alternate,x===null)throw Error(r(387));x.memoizedState.memoizedState!==p.memoizedState.memoizedState&&(t!==null?t.push(Bl):t=[Bl])}p=p.return}t!==null&&Km(a,t,s,l),a.flags|=262144}function Uc(t){for(t=t.firstContext;t!==null;){if(!ea(t.context._currentValue,t.memoizedValue))return!0;t=t.next}return!1}function Fs(t){Qs=t,fi=null,t=t.dependencies,t!==null&&(t.firstContext=null)}function jn(t){return k1(Qs,t)}function $c(t,a){return Qs===null&&Fs(t),k1(t,a)}function k1(t,a){var s=a._currentValue;if(a={context:a,memoizedValue:s,next:null},fi===null){if(t===null)throw Error(r(308));fi=a,t.dependencies={lanes:0,firstContext:a},t.flags|=524288}else fi=fi.next=a;return s}var PC=typeof AbortController<"u"?AbortController:function(){var t=[],a=this.signal={aborted:!1,addEventListener:function(s,l){t.push(l)}};this.abort=function(){a.aborted=!0,t.forEach(function(s){return s()})}},qC=e.unstable_scheduleCallback,MC=e.unstable_NormalPriority,tn={$$typeof:L,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Hm(){return{controller:new PC,data:new Map,refCount:0}}function pl(t){t.refCount--,t.refCount===0&&qC(MC,function(){t.controller.abort()})}var hl=null,Qm=0,Ko=0,Ho=null;function BC(t,a){if(hl===null){var s=hl=[];Qm=0,Ko=Yp(),Ho={status:"pending",value:void 0,then:function(l){s.push(l)}}}return Qm++,a.then(S1,S1),a}function S1(){if(--Qm===0&&hl!==null){Ho!==null&&(Ho.status="fulfilled");var t=hl;hl=null,Ko=0,Ho=null;for(var a=0;a<t.length;a++)(0,t[a])()}}function LC(t,a){var s=[],l={status:"pending",value:null,reason:null,then:function(p){s.push(p)}};return t.then(function(){l.status="fulfilled",l.value=a;for(var p=0;p<s.length;p++)(0,s[p])(a)},function(p){for(l.status="rejected",l.reason=p,p=0;p<s.length;p++)(0,s[p])(void 0)}),l}var j1=I.S;I.S=function(t,a){rb=Pt(),typeof a=="object"&&a!==null&&typeof a.then=="function"&&BC(t,a),j1!==null&&j1(t,a)};var Zs=_e(null);function Fm(){var t=Zs.current;return t!==null?t:Tt.pooledCache}function Gc(t,a){a===null?be(Zs,Zs.current):be(Zs,a.pool)}function A1(){var t=Fm();return t===null?null:{parent:tn._currentValue,pool:t}}var Qo=Error(r(460)),Zm=Error(r(474)),Kc=Error(r(542)),Hc={then:function(){}};function C1(t){return t=t.status,t==="fulfilled"||t==="rejected"}function N1(t,a,s){switch(s=t[s],s===void 0?t.push(a):s!==a&&(a.then(Ia,Ia),a=s),a.status){case"fulfilled":return a.value;case"rejected":throw t=a.reason,T1(t),t;default:if(typeof a.status=="string")a.then(Ia,Ia);else{if(t=Tt,t!==null&&100<t.shellSuspendCounter)throw Error(r(482));t=a,t.status="pending",t.then(function(l){if(a.status==="pending"){var p=a;p.status="fulfilled",p.value=l}},function(l){if(a.status==="pending"){var p=a;p.status="rejected",p.reason=l}})}switch(a.status){case"fulfilled":return a.value;case"rejected":throw t=a.reason,T1(t),t}throw Xs=a,Qo}}function Ys(t){try{var a=t._init;return a(t._payload)}catch(s){throw s!==null&&typeof s=="object"&&typeof s.then=="function"?(Xs=s,Qo):s}}var Xs=null;function _1(){if(Xs===null)throw Error(r(459));var t=Xs;return Xs=null,t}function T1(t){if(t===Qo||t===Kc)throw Error(r(483))}var Fo=null,fl=0;function Qc(t){var a=fl;return fl+=1,Fo===null&&(Fo=[]),N1(Fo,t,a)}function gl(t,a){a=a.props.ref,t.ref=a!==void 0?a:null}function Fc(t,a){throw a.$$typeof===T?Error(r(525)):(t=Object.prototype.toString.call(a),Error(r(31,t==="[object Object]"?"object with keys {"+Object.keys(a).join(", ")+"}":t)))}function R1(t){function a(P,z){if(t){var M=P.deletions;M===null?(P.deletions=[z],P.flags|=16):M.push(z)}}function s(P,z){if(!t)return null;for(;z!==null;)a(P,z),z=z.sibling;return null}function l(P){for(var z=new Map;P!==null;)P.key!==null?z.set(P.key,P):z.set(P.index,P),P=P.sibling;return z}function p(P,z){return P=pi(P,z),P.index=0,P.sibling=null,P}function f(P,z,M){return P.index=M,t?(M=P.alternate,M!==null?(M=M.index,M<z?(P.flags|=67108866,z):M):(P.flags|=67108866,z)):(P.flags|=1048576,z)}function x(P){return t&&P.alternate===null&&(P.flags|=67108866),P}function S(P,z,M,te){return z===null||z.tag!==6?(z=qm(M,P.mode,te),z.return=P,z):(z=p(z,M),z.return=P,z)}function E(P,z,M,te){var Me=M.type;return Me===R?Z(P,z,M.props.children,te,M.key):z!==null&&(z.elementType===Me||typeof Me=="object"&&Me!==null&&Me.$$typeof===H&&Ys(Me)===z.type)?(z=p(z,M.props),gl(z,M),z.return=P,z):(z=Lc(M.type,M.key,M.props,null,P.mode,te),gl(z,M),z.return=P,z)}function B(P,z,M,te){return z===null||z.tag!==4||z.stateNode.containerInfo!==M.containerInfo||z.stateNode.implementation!==M.implementation?(z=Mm(M,P.mode,te),z.return=P,z):(z=p(z,M.children||[]),z.return=P,z)}function Z(P,z,M,te,Me){return z===null||z.tag!==7?(z=Ks(M,P.mode,te,Me),z.return=P,z):(z=p(z,M),z.return=P,z)}function ie(P,z,M){if(typeof z=="string"&&z!==""||typeof z=="number"||typeof z=="bigint")return z=qm(""+z,P.mode,M),z.return=P,z;if(typeof z=="object"&&z!==null){switch(z.$$typeof){case _:return M=Lc(z.type,z.key,z.props,null,P.mode,M),gl(M,z),M.return=P,M;case G:return z=Mm(z,P.mode,M),z.return=P,z;case H:return z=Ys(z),ie(P,z,M)}if(Le(z)||Ke(z))return z=Ks(z,P.mode,M,null),z.return=P,z;if(typeof z.then=="function")return ie(P,Qc(z),M);if(z.$$typeof===L)return ie(P,$c(P,z),M);Fc(P,z)}return null}function $(P,z,M,te){var Me=z!==null?z.key:null;if(typeof M=="string"&&M!==""||typeof M=="number"||typeof M=="bigint")return Me!==null?null:S(P,z,""+M,te);if(typeof M=="object"&&M!==null){switch(M.$$typeof){case _:return M.key===Me?E(P,z,M,te):null;case G:return M.key===Me?B(P,z,M,te):null;case H:return M=Ys(M),$(P,z,M,te)}if(Le(M)||Ke(M))return Me!==null?null:Z(P,z,M,te,null);if(typeof M.then=="function")return $(P,z,Qc(M),te);if(M.$$typeof===L)return $(P,z,$c(P,M),te);Fc(P,M)}return null}function Q(P,z,M,te,Me){if(typeof te=="string"&&te!==""||typeof te=="number"||typeof te=="bigint")return P=P.get(M)||null,S(z,P,""+te,Me);if(typeof te=="object"&&te!==null){switch(te.$$typeof){case _:return P=P.get(te.key===null?M:te.key)||null,E(z,P,te,Me);case G:return P=P.get(te.key===null?M:te.key)||null,B(z,P,te,Me);case H:return te=Ys(te),Q(P,z,M,te,Me)}if(Le(te)||Ke(te))return P=P.get(M)||null,Z(z,P,te,Me,null);if(typeof te.then=="function")return Q(P,z,M,Qc(te),Me);if(te.$$typeof===L)return Q(P,z,M,$c(z,te),Me);Fc(z,te)}return null}function je(P,z,M,te){for(var Me=null,ft=null,Te=z,Je=z=0,ut=null;Te!==null&&Je<M.length;Je++){Te.index>Je?(ut=Te,Te=null):ut=Te.sibling;var gt=$(P,Te,M[Je],te);if(gt===null){Te===null&&(Te=ut);break}t&&Te&&gt.alternate===null&&a(P,Te),z=f(gt,z,Je),ft===null?Me=gt:ft.sibling=gt,ft=gt,Te=ut}if(Je===M.length)return s(P,Te),pt&&hi(P,Je),Me;if(Te===null){for(;Je<M.length;Je++)Te=ie(P,M[Je],te),Te!==null&&(z=f(Te,z,Je),ft===null?Me=Te:ft.sibling=Te,ft=Te);return pt&&hi(P,Je),Me}for(Te=l(Te);Je<M.length;Je++)ut=Q(Te,P,Je,M[Je],te),ut!==null&&(t&&ut.alternate!==null&&Te.delete(ut.key===null?Je:ut.key),z=f(ut,z,Je),ft===null?Me=ut:ft.sibling=ut,ft=ut);return t&&Te.forEach(function(ds){return a(P,ds)}),pt&&hi(P,Je),Me}function Ue(P,z,M,te){if(M==null)throw Error(r(151));for(var Me=null,ft=null,Te=z,Je=z=0,ut=null,gt=M.next();Te!==null&&!gt.done;Je++,gt=M.next()){Te.index>Je?(ut=Te,Te=null):ut=Te.sibling;var ds=$(P,Te,gt.value,te);if(ds===null){Te===null&&(Te=ut);break}t&&Te&&ds.alternate===null&&a(P,Te),z=f(ds,z,Je),ft===null?Me=ds:ft.sibling=ds,ft=ds,Te=ut}if(gt.done)return s(P,Te),pt&&hi(P,Je),Me;if(Te===null){for(;!gt.done;Je++,gt=M.next())gt=ie(P,gt.value,te),gt!==null&&(z=f(gt,z,Je),ft===null?Me=gt:ft.sibling=gt,ft=gt);return pt&&hi(P,Je),Me}for(Te=l(Te);!gt.done;Je++,gt=M.next())gt=Q(Te,P,Je,gt.value,te),gt!==null&&(t&&gt.alternate!==null&&Te.delete(gt.key===null?Je:gt.key),z=f(gt,z,Je),ft===null?Me=gt:ft.sibling=gt,ft=gt);return t&&Te.forEach(function(X4){return a(P,X4)}),pt&&hi(P,Je),Me}function _t(P,z,M,te){if(typeof M=="object"&&M!==null&&M.type===R&&M.key===null&&(M=M.props.children),typeof M=="object"&&M!==null){switch(M.$$typeof){case _:e:{for(var Me=M.key;z!==null;){if(z.key===Me){if(Me=M.type,Me===R){if(z.tag===7){s(P,z.sibling),te=p(z,M.props.children),te.return=P,P=te;break e}}else if(z.elementType===Me||typeof Me=="object"&&Me!==null&&Me.$$typeof===H&&Ys(Me)===z.type){s(P,z.sibling),te=p(z,M.props),gl(te,M),te.return=P,P=te;break e}s(P,z);break}else a(P,z);z=z.sibling}M.type===R?(te=Ks(M.props.children,P.mode,te,M.key),te.return=P,P=te):(te=Lc(M.type,M.key,M.props,null,P.mode,te),gl(te,M),te.return=P,P=te)}return x(P);case G:e:{for(Me=M.key;z!==null;){if(z.key===Me)if(z.tag===4&&z.stateNode.containerInfo===M.containerInfo&&z.stateNode.implementation===M.implementation){s(P,z.sibling),te=p(z,M.children||[]),te.return=P,P=te;break e}else{s(P,z);break}else a(P,z);z=z.sibling}te=Mm(M,P.mode,te),te.return=P,P=te}return x(P);case H:return M=Ys(M),_t(P,z,M,te)}if(Le(M))return je(P,z,M,te);if(Ke(M)){if(Me=Ke(M),typeof Me!="function")throw Error(r(150));return M=Me.call(M),Ue(P,z,M,te)}if(typeof M.then=="function")return _t(P,z,Qc(M),te);if(M.$$typeof===L)return _t(P,z,$c(P,M),te);Fc(P,M)}return typeof M=="string"&&M!==""||typeof M=="number"||typeof M=="bigint"?(M=""+M,z!==null&&z.tag===6?(s(P,z.sibling),te=p(z,M),te.return=P,P=te):(s(P,z),te=qm(M,P.mode,te),te.return=P,P=te),x(P)):s(P,z)}return function(P,z,M,te){try{fl=0;var Me=_t(P,z,M,te);return Fo=null,Me}catch(Te){if(Te===Qo||Te===Kc)throw Te;var ft=ta(29,Te,null,P.mode);return ft.lanes=te,ft.return=P,ft}}}var Ws=R1(!0),E1=R1(!1),Fi=!1;function Ym(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Xm(t,a){t=t.updateQueue,a.updateQueue===t&&(a.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function Zi(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function Yi(t,a,s){var l=t.updateQueue;if(l===null)return null;if(l=l.shared,(yt&2)!==0){var p=l.pending;return p===null?a.next=a:(a.next=p.next,p.next=a),l.pending=a,a=Bc(t),h1(t,null,s),a}return Mc(t,l,a,s),Bc(t)}function yl(t,a,s){if(a=a.updateQueue,a!==null&&(a=a.shared,(s&4194048)!==0)){var l=a.lanes;l&=t.pendingLanes,s|=l,a.lanes=s,Gr(t,s)}}function Wm(t,a){var s=t.updateQueue,l=t.alternate;if(l!==null&&(l=l.updateQueue,s===l)){var p=null,f=null;if(s=s.firstBaseUpdate,s!==null){do{var x={lane:s.lane,tag:s.tag,payload:s.payload,callback:null,next:null};f===null?p=f=x:f=f.next=x,s=s.next}while(s!==null);f===null?p=f=a:f=f.next=a}else p=f=a;s={baseState:l.baseState,firstBaseUpdate:p,lastBaseUpdate:f,shared:l.shared,callbacks:l.callbacks},t.updateQueue=s;return}t=s.lastBaseUpdate,t===null?s.firstBaseUpdate=a:t.next=a,s.lastBaseUpdate=a}var Jm=!1;function bl(){if(Jm){var t=Ho;if(t!==null)throw t}}function vl(t,a,s,l){Jm=!1;var p=t.updateQueue;Fi=!1;var f=p.firstBaseUpdate,x=p.lastBaseUpdate,S=p.shared.pending;if(S!==null){p.shared.pending=null;var E=S,B=E.next;E.next=null,x===null?f=B:x.next=B,x=E;var Z=t.alternate;Z!==null&&(Z=Z.updateQueue,S=Z.lastBaseUpdate,S!==x&&(S===null?Z.firstBaseUpdate=B:S.next=B,Z.lastBaseUpdate=E))}if(f!==null){var ie=p.baseState;x=0,Z=B=E=null,S=f;do{var $=S.lane&-536870913,Q=$!==S.lane;if(Q?(ct&$)===$:(l&$)===$){$!==0&&$===Ko&&(Jm=!0),Z!==null&&(Z=Z.next={lane:0,tag:S.tag,payload:S.payload,callback:null,next:null});e:{var je=t,Ue=S;$=a;var _t=s;switch(Ue.tag){case 1:if(je=Ue.payload,typeof je=="function"){ie=je.call(_t,ie,$);break e}ie=je;break e;case 3:je.flags=je.flags&-65537|128;case 0:if(je=Ue.payload,$=typeof je=="function"?je.call(_t,ie,$):je,$==null)break e;ie=A({},ie,$);break e;case 2:Fi=!0}}$=S.callback,$!==null&&(t.flags|=64,Q&&(t.flags|=8192),Q=p.callbacks,Q===null?p.callbacks=[$]:Q.push($))}else Q={lane:$,tag:S.tag,payload:S.payload,callback:S.callback,next:null},Z===null?(B=Z=Q,E=ie):Z=Z.next=Q,x|=$;if(S=S.next,S===null){if(S=p.shared.pending,S===null)break;Q=S,S=Q.next,Q.next=null,p.lastBaseUpdate=Q,p.shared.pending=null}}while(!0);Z===null&&(E=ie),p.baseState=E,p.firstBaseUpdate=B,p.lastBaseUpdate=Z,f===null&&(p.shared.lanes=0),ts|=x,t.lanes=x,t.memoizedState=ie}}function D1(t,a){if(typeof t!="function")throw Error(r(191,t));t.call(a)}function z1(t,a){var s=t.callbacks;if(s!==null)for(t.callbacks=null,t=0;t<s.length;t++)D1(s[t],a)}var Zo=_e(null),Zc=_e(0);function O1(t,a){t=Ai,be(Zc,t),be(Zo,a),Ai=t|a.baseLanes}function ep(){be(Zc,Ai),be(Zo,Zo.current)}function tp(){Ai=Zc.current,Pe(Zo),Pe(Zc)}var na=_e(null),ja=null;function Xi(t){var a=t.alternate;be(Xt,Xt.current&1),be(na,t),ja===null&&(a===null||Zo.current!==null||a.memoizedState!==null)&&(ja=t)}function np(t){be(Xt,Xt.current),be(na,t),ja===null&&(ja=t)}function I1(t){t.tag===22?(be(Xt,Xt.current),be(na,t),ja===null&&(ja=t)):Wi()}function Wi(){be(Xt,Xt.current),be(na,na.current)}function aa(t){Pe(na),ja===t&&(ja=null),Pe(Xt)}var Xt=_e(0);function Yc(t){for(var a=t;a!==null;){if(a.tag===13){var s=a.memoizedState;if(s!==null&&(s=s.dehydrated,s===null||lh(s)||ch(s)))return a}else if(a.tag===19&&(a.memoizedProps.revealOrder==="forwards"||a.memoizedProps.revealOrder==="backwards"||a.memoizedProps.revealOrder==="unstable_legacy-backwards"||a.memoizedProps.revealOrder==="together")){if((a.flags&128)!==0)return a}else if(a.child!==null){a.child.return=a,a=a.child;continue}if(a===t)break;for(;a.sibling===null;){if(a.return===null||a.return===t)return null;a=a.return}a.sibling.return=a.return,a=a.sibling}return null}var yi=0,Ye=null,Ct=null,nn=null,Xc=!1,Yo=!1,Js=!1,Wc=0,xl=0,Xo=null,VC=0;function Qt(){throw Error(r(321))}function ap(t,a){if(a===null)return!1;for(var s=0;s<a.length&&s<t.length;s++)if(!ea(t[s],a[s]))return!1;return!0}function ip(t,a,s,l,p,f){return yi=f,Ye=a,a.memoizedState=null,a.updateQueue=null,a.lanes=0,I.H=t===null||t.memoizedState===null?by:vp,Js=!1,f=s(l,p),Js=!1,Yo&&(f=q1(a,s,l,p)),P1(t),f}function P1(t){I.H=Sl;var a=Ct!==null&&Ct.next!==null;if(yi=0,nn=Ct=Ye=null,Xc=!1,xl=0,Xo=null,a)throw Error(r(300));t===null||an||(t=t.dependencies,t!==null&&Uc(t)&&(an=!0))}function q1(t,a,s,l){Ye=t;var p=0;do{if(Yo&&(Xo=null),xl=0,Yo=!1,25<=p)throw Error(r(301));if(p+=1,nn=Ct=null,t.updateQueue!=null){var f=t.updateQueue;f.lastEffect=null,f.events=null,f.stores=null,f.memoCache!=null&&(f.memoCache.index=0)}I.H=vy,f=a(s,l)}while(Yo);return f}function UC(){var t=I.H,a=t.useState()[0];return a=typeof a.then=="function"?wl(a):a,t=t.useState()[0],(Ct!==null?Ct.memoizedState:null)!==t&&(Ye.flags|=1024),a}function sp(){var t=Wc!==0;return Wc=0,t}function op(t,a,s){a.updateQueue=t.updateQueue,a.flags&=-2053,t.lanes&=~s}function rp(t){if(Xc){for(t=t.memoizedState;t!==null;){var a=t.queue;a!==null&&(a.pending=null),t=t.next}Xc=!1}yi=0,nn=Ct=Ye=null,Yo=!1,xl=Wc=0,Xo=null}function qn(){var t={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return nn===null?Ye.memoizedState=nn=t:nn=nn.next=t,nn}function Wt(){if(Ct===null){var t=Ye.alternate;t=t!==null?t.memoizedState:null}else t=Ct.next;var a=nn===null?Ye.memoizedState:nn.next;if(a!==null)nn=a,Ct=t;else{if(t===null)throw Ye.alternate===null?Error(r(467)):Error(r(310));Ct=t,t={memoizedState:Ct.memoizedState,baseState:Ct.baseState,baseQueue:Ct.baseQueue,queue:Ct.queue,next:null},nn===null?Ye.memoizedState=nn=t:nn=nn.next=t}return nn}function Jc(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function wl(t){var a=xl;return xl+=1,Xo===null&&(Xo=[]),t=N1(Xo,t,a),a=Ye,(nn===null?a.memoizedState:nn.next)===null&&(a=a.alternate,I.H=a===null||a.memoizedState===null?by:vp),t}function eu(t){if(t!==null&&typeof t=="object"){if(typeof t.then=="function")return wl(t);if(t.$$typeof===L)return jn(t)}throw Error(r(438,String(t)))}function lp(t){var a=null,s=Ye.updateQueue;if(s!==null&&(a=s.memoCache),a==null){var l=Ye.alternate;l!==null&&(l=l.updateQueue,l!==null&&(l=l.memoCache,l!=null&&(a={data:l.data.map(function(p){return p.slice()}),index:0})))}if(a==null&&(a={data:[],index:0}),s===null&&(s=Jc(),Ye.updateQueue=s),s.memoCache=a,s=a.data[a.index],s===void 0)for(s=a.data[a.index]=Array(t),l=0;l<t;l++)s[l]=et;return a.index++,s}function bi(t,a){return typeof a=="function"?a(t):a}function tu(t){var a=Wt();return cp(a,Ct,t)}function cp(t,a,s){var l=t.queue;if(l===null)throw Error(r(311));l.lastRenderedReducer=s;var p=t.baseQueue,f=l.pending;if(f!==null){if(p!==null){var x=p.next;p.next=f.next,f.next=x}a.baseQueue=p=f,l.pending=null}if(f=t.baseState,p===null)t.memoizedState=f;else{a=p.next;var S=x=null,E=null,B=a,Z=!1;do{var ie=B.lane&-536870913;if(ie!==B.lane?(ct&ie)===ie:(yi&ie)===ie){var $=B.revertLane;if($===0)E!==null&&(E=E.next={lane:0,revertLane:0,gesture:null,action:B.action,hasEagerState:B.hasEagerState,eagerState:B.eagerState,next:null}),ie===Ko&&(Z=!0);else if((yi&$)===$){B=B.next,$===Ko&&(Z=!0);continue}else ie={lane:0,revertLane:B.revertLane,gesture:null,action:B.action,hasEagerState:B.hasEagerState,eagerState:B.eagerState,next:null},E===null?(S=E=ie,x=f):E=E.next=ie,Ye.lanes|=$,ts|=$;ie=B.action,Js&&s(f,ie),f=B.hasEagerState?B.eagerState:s(f,ie)}else $={lane:ie,revertLane:B.revertLane,gesture:B.gesture,action:B.action,hasEagerState:B.hasEagerState,eagerState:B.eagerState,next:null},E===null?(S=E=$,x=f):E=E.next=$,Ye.lanes|=ie,ts|=ie;B=B.next}while(B!==null&&B!==a);if(E===null?x=f:E.next=S,!ea(f,t.memoizedState)&&(an=!0,Z&&(s=Ho,s!==null)))throw s;t.memoizedState=f,t.baseState=x,t.baseQueue=E,l.lastRenderedState=f}return p===null&&(l.lanes=0),[t.memoizedState,l.dispatch]}function up(t){var a=Wt(),s=a.queue;if(s===null)throw Error(r(311));s.lastRenderedReducer=t;var l=s.dispatch,p=s.pending,f=a.memoizedState;if(p!==null){s.pending=null;var x=p=p.next;do f=t(f,x.action),x=x.next;while(x!==p);ea(f,a.memoizedState)||(an=!0),a.memoizedState=f,a.baseQueue===null&&(a.baseState=f),s.lastRenderedState=f}return[f,l]}function M1(t,a,s){var l=Ye,p=Wt(),f=pt;if(f){if(s===void 0)throw Error(r(407));s=s()}else s=a();var x=!ea((Ct||p).memoizedState,s);if(x&&(p.memoizedState=s,an=!0),p=p.queue,pp(V1.bind(null,l,p,t),[t]),p.getSnapshot!==a||x||nn!==null&&nn.memoizedState.tag&1){if(l.flags|=2048,Wo(9,{destroy:void 0},L1.bind(null,l,p,s,a),null),Tt===null)throw Error(r(349));f||(yi&127)!==0||B1(l,a,s)}return s}function B1(t,a,s){t.flags|=16384,t={getSnapshot:a,value:s},a=Ye.updateQueue,a===null?(a=Jc(),Ye.updateQueue=a,a.stores=[t]):(s=a.stores,s===null?a.stores=[t]:s.push(t))}function L1(t,a,s,l){a.value=s,a.getSnapshot=l,U1(a)&&$1(t)}function V1(t,a,s){return s(function(){U1(a)&&$1(t)})}function U1(t){var a=t.getSnapshot;t=t.value;try{var s=a();return!ea(t,s)}catch{return!0}}function $1(t){var a=Gs(t,2);a!==null&&Fn(a,t,2)}function dp(t){var a=qn();if(typeof t=="function"){var s=t;if(t=s(),Js){pn(!0);try{s()}finally{pn(!1)}}}return a.memoizedState=a.baseState=t,a.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:bi,lastRenderedState:t},a}function G1(t,a,s,l){return t.baseState=s,cp(t,Ct,typeof l=="function"?l:bi)}function $C(t,a,s,l,p){if(iu(t))throw Error(r(485));if(t=a.action,t!==null){var f={payload:p,action:t,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(x){f.listeners.push(x)}};I.T!==null?s(!0):f.isTransition=!1,l(f),s=a.pending,s===null?(f.next=a.pending=f,K1(a,f)):(f.next=s.next,a.pending=s.next=f)}}function K1(t,a){var s=a.action,l=a.payload,p=t.state;if(a.isTransition){var f=I.T,x={};I.T=x;try{var S=s(p,l),E=I.S;E!==null&&E(x,S),H1(t,a,S)}catch(B){mp(t,a,B)}finally{f!==null&&x.types!==null&&(f.types=x.types),I.T=f}}else try{f=s(p,l),H1(t,a,f)}catch(B){mp(t,a,B)}}function H1(t,a,s){s!==null&&typeof s=="object"&&typeof s.then=="function"?s.then(function(l){Q1(t,a,l)},function(l){return mp(t,a,l)}):Q1(t,a,s)}function Q1(t,a,s){a.status="fulfilled",a.value=s,F1(a),t.state=s,a=t.pending,a!==null&&(s=a.next,s===a?t.pending=null:(s=s.next,a.next=s,K1(t,s)))}function mp(t,a,s){var l=t.pending;if(t.pending=null,l!==null){l=l.next;do a.status="rejected",a.reason=s,F1(a),a=a.next;while(a!==l)}t.action=null}function F1(t){t=t.listeners;for(var a=0;a<t.length;a++)(0,t[a])()}function Z1(t,a){return a}function Y1(t,a){if(pt){var s=Tt.formState;if(s!==null){e:{var l=Ye;if(pt){if(zt){t:{for(var p=zt,f=Sa;p.nodeType!==8;){if(!f){p=null;break t}if(p=Aa(p.nextSibling),p===null){p=null;break t}}f=p.data,p=f==="F!"||f==="F"?p:null}if(p){zt=Aa(p.nextSibling),l=p.data==="F!";break e}}Hi(l)}l=!1}l&&(a=s[0])}}return s=qn(),s.memoizedState=s.baseState=a,l={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Z1,lastRenderedState:a},s.queue=l,s=fy.bind(null,Ye,l),l.dispatch=s,l=dp(!1),f=bp.bind(null,Ye,!1,l.queue),l=qn(),p={state:a,dispatch:null,action:t,pending:null},l.queue=p,s=$C.bind(null,Ye,p,f,s),p.dispatch=s,l.memoizedState=t,[a,s,!1]}function X1(t){var a=Wt();return W1(a,Ct,t)}function W1(t,a,s){if(a=cp(t,a,Z1)[0],t=tu(bi)[0],typeof a=="object"&&a!==null&&typeof a.then=="function")try{var l=wl(a)}catch(x){throw x===Qo?Kc:x}else l=a;a=Wt();var p=a.queue,f=p.dispatch;return s!==a.memoizedState&&(Ye.flags|=2048,Wo(9,{destroy:void 0},GC.bind(null,p,s),null)),[l,f,t]}function GC(t,a){t.action=a}function J1(t){var a=Wt(),s=Ct;if(s!==null)return W1(a,s,t);Wt(),a=a.memoizedState,s=Wt();var l=s.queue.dispatch;return s.memoizedState=t,[a,l,!1]}function Wo(t,a,s,l){return t={tag:t,create:s,deps:l,inst:a,next:null},a=Ye.updateQueue,a===null&&(a=Jc(),Ye.updateQueue=a),s=a.lastEffect,s===null?a.lastEffect=t.next=t:(l=s.next,s.next=t,t.next=l,a.lastEffect=t),t}function ey(){return Wt().memoizedState}function nu(t,a,s,l){var p=qn();Ye.flags|=t,p.memoizedState=Wo(1|a,{destroy:void 0},s,l===void 0?null:l)}function au(t,a,s,l){var p=Wt();l=l===void 0?null:l;var f=p.memoizedState.inst;Ct!==null&&l!==null&&ap(l,Ct.memoizedState.deps)?p.memoizedState=Wo(a,f,s,l):(Ye.flags|=t,p.memoizedState=Wo(1|a,f,s,l))}function ty(t,a){nu(8390656,8,t,a)}function pp(t,a){au(2048,8,t,a)}function KC(t){Ye.flags|=4;var a=Ye.updateQueue;if(a===null)a=Jc(),Ye.updateQueue=a,a.events=[t];else{var s=a.events;s===null?a.events=[t]:s.push(t)}}function ny(t){var a=Wt().memoizedState;return KC({ref:a,nextImpl:t}),function(){if((yt&2)!==0)throw Error(r(440));return a.impl.apply(void 0,arguments)}}function ay(t,a){return au(4,2,t,a)}function iy(t,a){return au(4,4,t,a)}function sy(t,a){if(typeof a=="function"){t=t();var s=a(t);return function(){typeof s=="function"?s():a(null)}}if(a!=null)return t=t(),a.current=t,function(){a.current=null}}function oy(t,a,s){s=s!=null?s.concat([t]):null,au(4,4,sy.bind(null,a,t),s)}function hp(){}function ry(t,a){var s=Wt();a=a===void 0?null:a;var l=s.memoizedState;return a!==null&&ap(a,l[1])?l[0]:(s.memoizedState=[t,a],t)}function ly(t,a){var s=Wt();a=a===void 0?null:a;var l=s.memoizedState;if(a!==null&&ap(a,l[1]))return l[0];if(l=t(),Js){pn(!0);try{t()}finally{pn(!1)}}return s.memoizedState=[l,a],l}function fp(t,a,s){return s===void 0||(yi&1073741824)!==0&&(ct&261930)===0?t.memoizedState=a:(t.memoizedState=s,t=cb(),Ye.lanes|=t,ts|=t,s)}function cy(t,a,s,l){return ea(s,a)?s:Zo.current!==null?(t=fp(t,s,l),ea(t,a)||(an=!0),t):(yi&42)===0||(yi&1073741824)!==0&&(ct&261930)===0?(an=!0,t.memoizedState=s):(t=cb(),Ye.lanes|=t,ts|=t,a)}function uy(t,a,s,l,p){var f=Y.p;Y.p=f!==0&&8>f?f:8;var x=I.T,S={};I.T=S,bp(t,!1,a,s);try{var E=p(),B=I.S;if(B!==null&&B(S,E),E!==null&&typeof E=="object"&&typeof E.then=="function"){var Z=LC(E,l);kl(t,a,Z,oa(t))}else kl(t,a,l,oa(t))}catch(ie){kl(t,a,{then:function(){},status:"rejected",reason:ie},oa())}finally{Y.p=f,x!==null&&S.types!==null&&(x.types=S.types),I.T=x}}function HC(){}function gp(t,a,s,l){if(t.tag!==5)throw Error(r(476));var p=dy(t).queue;uy(t,p,a,fe,s===null?HC:function(){return my(t),s(l)})}function dy(t){var a=t.memoizedState;if(a!==null)return a;a={memoizedState:fe,baseState:fe,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:bi,lastRenderedState:fe},next:null};var s={};return a.next={memoizedState:s,baseState:s,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:bi,lastRenderedState:s},next:null},t.memoizedState=a,t=t.alternate,t!==null&&(t.memoizedState=a),a}function my(t){var a=dy(t);a.next===null&&(a=t.alternate.memoizedState),kl(t,a.next.queue,{},oa())}function yp(){return jn(Bl)}function py(){return Wt().memoizedState}function hy(){return Wt().memoizedState}function QC(t){for(var a=t.return;a!==null;){switch(a.tag){case 24:case 3:var s=oa();t=Zi(s);var l=Yi(a,t,s);l!==null&&(Fn(l,a,s),yl(l,a,s)),a={cache:Hm()},t.payload=a;return}a=a.return}}function FC(t,a,s){var l=oa();s={lane:l,revertLane:0,gesture:null,action:s,hasEagerState:!1,eagerState:null,next:null},iu(t)?gy(a,s):(s=Im(t,a,s,l),s!==null&&(Fn(s,t,l),yy(s,a,l)))}function fy(t,a,s){var l=oa();kl(t,a,s,l)}function kl(t,a,s,l){var p={lane:l,revertLane:0,gesture:null,action:s,hasEagerState:!1,eagerState:null,next:null};if(iu(t))gy(a,p);else{var f=t.alternate;if(t.lanes===0&&(f===null||f.lanes===0)&&(f=a.lastRenderedReducer,f!==null))try{var x=a.lastRenderedState,S=f(x,s);if(p.hasEagerState=!0,p.eagerState=S,ea(S,x))return Mc(t,a,p,0),Tt===null&&qc(),!1}catch{}if(s=Im(t,a,p,l),s!==null)return Fn(s,t,l),yy(s,a,l),!0}return!1}function bp(t,a,s,l){if(l={lane:2,revertLane:Yp(),gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},iu(t)){if(a)throw Error(r(479))}else a=Im(t,s,l,2),a!==null&&Fn(a,t,2)}function iu(t){var a=t.alternate;return t===Ye||a!==null&&a===Ye}function gy(t,a){Yo=Xc=!0;var s=t.pending;s===null?a.next=a:(a.next=s.next,s.next=a),t.pending=a}function yy(t,a,s){if((s&4194048)!==0){var l=a.lanes;l&=t.pendingLanes,s|=l,a.lanes=s,Gr(t,s)}}var Sl={readContext:jn,use:eu,useCallback:Qt,useContext:Qt,useEffect:Qt,useImperativeHandle:Qt,useLayoutEffect:Qt,useInsertionEffect:Qt,useMemo:Qt,useReducer:Qt,useRef:Qt,useState:Qt,useDebugValue:Qt,useDeferredValue:Qt,useTransition:Qt,useSyncExternalStore:Qt,useId:Qt,useHostTransitionStatus:Qt,useFormState:Qt,useActionState:Qt,useOptimistic:Qt,useMemoCache:Qt,useCacheRefresh:Qt};Sl.useEffectEvent=Qt;var by={readContext:jn,use:eu,useCallback:function(t,a){return qn().memoizedState=[t,a===void 0?null:a],t},useContext:jn,useEffect:ty,useImperativeHandle:function(t,a,s){s=s!=null?s.concat([t]):null,nu(4194308,4,sy.bind(null,a,t),s)},useLayoutEffect:function(t,a){return nu(4194308,4,t,a)},useInsertionEffect:function(t,a){nu(4,2,t,a)},useMemo:function(t,a){var s=qn();a=a===void 0?null:a;var l=t();if(Js){pn(!0);try{t()}finally{pn(!1)}}return s.memoizedState=[l,a],l},useReducer:function(t,a,s){var l=qn();if(s!==void 0){var p=s(a);if(Js){pn(!0);try{s(a)}finally{pn(!1)}}}else p=a;return l.memoizedState=l.baseState=p,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:p},l.queue=t,t=t.dispatch=FC.bind(null,Ye,t),[l.memoizedState,t]},useRef:function(t){var a=qn();return t={current:t},a.memoizedState=t},useState:function(t){t=dp(t);var a=t.queue,s=fy.bind(null,Ye,a);return a.dispatch=s,[t.memoizedState,s]},useDebugValue:hp,useDeferredValue:function(t,a){var s=qn();return fp(s,t,a)},useTransition:function(){var t=dp(!1);return t=uy.bind(null,Ye,t.queue,!0,!1),qn().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,a,s){var l=Ye,p=qn();if(pt){if(s===void 0)throw Error(r(407));s=s()}else{if(s=a(),Tt===null)throw Error(r(349));(ct&127)!==0||B1(l,a,s)}p.memoizedState=s;var f={value:s,getSnapshot:a};return p.queue=f,ty(V1.bind(null,l,f,t),[t]),l.flags|=2048,Wo(9,{destroy:void 0},L1.bind(null,l,f,s,a),null),s},useId:function(){var t=qn(),a=Tt.identifierPrefix;if(pt){var s=ei,l=Ja;s=(l&~(1<<32-xn(l)-1)).toString(32)+s,a="_"+a+"R_"+s,s=Wc++,0<s&&(a+="H"+s.toString(32)),a+="_"}else s=VC++,a="_"+a+"r_"+s.toString(32)+"_";return t.memoizedState=a},useHostTransitionStatus:yp,useFormState:Y1,useActionState:Y1,useOptimistic:function(t){var a=qn();a.memoizedState=a.baseState=t;var s={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return a.queue=s,a=bp.bind(null,Ye,!0,s),s.dispatch=a,[t,a]},useMemoCache:lp,useCacheRefresh:function(){return qn().memoizedState=QC.bind(null,Ye)},useEffectEvent:function(t){var a=qn(),s={impl:t};return a.memoizedState=s,function(){if((yt&2)!==0)throw Error(r(440));return s.impl.apply(void 0,arguments)}}},vp={readContext:jn,use:eu,useCallback:ry,useContext:jn,useEffect:pp,useImperativeHandle:oy,useInsertionEffect:ay,useLayoutEffect:iy,useMemo:ly,useReducer:tu,useRef:ey,useState:function(){return tu(bi)},useDebugValue:hp,useDeferredValue:function(t,a){var s=Wt();return cy(s,Ct.memoizedState,t,a)},useTransition:function(){var t=tu(bi)[0],a=Wt().memoizedState;return[typeof t=="boolean"?t:wl(t),a]},useSyncExternalStore:M1,useId:py,useHostTransitionStatus:yp,useFormState:X1,useActionState:X1,useOptimistic:function(t,a){var s=Wt();return G1(s,Ct,t,a)},useMemoCache:lp,useCacheRefresh:hy};vp.useEffectEvent=ny;var vy={readContext:jn,use:eu,useCallback:ry,useContext:jn,useEffect:pp,useImperativeHandle:oy,useInsertionEffect:ay,useLayoutEffect:iy,useMemo:ly,useReducer:up,useRef:ey,useState:function(){return up(bi)},useDebugValue:hp,useDeferredValue:function(t,a){var s=Wt();return Ct===null?fp(s,t,a):cy(s,Ct.memoizedState,t,a)},useTransition:function(){var t=up(bi)[0],a=Wt().memoizedState;return[typeof t=="boolean"?t:wl(t),a]},useSyncExternalStore:M1,useId:py,useHostTransitionStatus:yp,useFormState:J1,useActionState:J1,useOptimistic:function(t,a){var s=Wt();return Ct!==null?G1(s,Ct,t,a):(s.baseState=t,[t,s.queue.dispatch])},useMemoCache:lp,useCacheRefresh:hy};vy.useEffectEvent=ny;function xp(t,a,s,l){a=t.memoizedState,s=s(l,a),s=s==null?a:A({},a,s),t.memoizedState=s,t.lanes===0&&(t.updateQueue.baseState=s)}var wp={enqueueSetState:function(t,a,s){t=t._reactInternals;var l=oa(),p=Zi(l);p.payload=a,s!=null&&(p.callback=s),a=Yi(t,p,l),a!==null&&(Fn(a,t,l),yl(a,t,l))},enqueueReplaceState:function(t,a,s){t=t._reactInternals;var l=oa(),p=Zi(l);p.tag=1,p.payload=a,s!=null&&(p.callback=s),a=Yi(t,p,l),a!==null&&(Fn(a,t,l),yl(a,t,l))},enqueueForceUpdate:function(t,a){t=t._reactInternals;var s=oa(),l=Zi(s);l.tag=2,a!=null&&(l.callback=a),a=Yi(t,l,s),a!==null&&(Fn(a,t,s),yl(a,t,s))}};function xy(t,a,s,l,p,f,x){return t=t.stateNode,typeof t.shouldComponentUpdate=="function"?t.shouldComponentUpdate(l,f,x):a.prototype&&a.prototype.isPureReactComponent?!cl(s,l)||!cl(p,f):!0}function wy(t,a,s,l){t=a.state,typeof a.componentWillReceiveProps=="function"&&a.componentWillReceiveProps(s,l),typeof a.UNSAFE_componentWillReceiveProps=="function"&&a.UNSAFE_componentWillReceiveProps(s,l),a.state!==t&&wp.enqueueReplaceState(a,a.state,null)}function eo(t,a){var s=a;if("ref"in a){s={};for(var l in a)l!=="ref"&&(s[l]=a[l])}if(t=t.defaultProps){s===a&&(s=A({},s));for(var p in t)s[p]===void 0&&(s[p]=t[p])}return s}function ky(t){Pc(t)}function Sy(t){console.error(t)}function jy(t){Pc(t)}function su(t,a){try{var s=t.onUncaughtError;s(a.value,{componentStack:a.stack})}catch(l){setTimeout(function(){throw l})}}function Ay(t,a,s){try{var l=t.onCaughtError;l(s.value,{componentStack:s.stack,errorBoundary:a.tag===1?a.stateNode:null})}catch(p){setTimeout(function(){throw p})}}function kp(t,a,s){return s=Zi(s),s.tag=3,s.payload={element:null},s.callback=function(){su(t,a)},s}function Cy(t){return t=Zi(t),t.tag=3,t}function Ny(t,a,s,l){var p=s.type.getDerivedStateFromError;if(typeof p=="function"){var f=l.value;t.payload=function(){return p(f)},t.callback=function(){Ay(a,s,l)}}var x=s.stateNode;x!==null&&typeof x.componentDidCatch=="function"&&(t.callback=function(){Ay(a,s,l),typeof p!="function"&&(ns===null?ns=new Set([this]):ns.add(this));var S=l.stack;this.componentDidCatch(l.value,{componentStack:S!==null?S:""})})}function ZC(t,a,s,l,p){if(s.flags|=32768,l!==null&&typeof l=="object"&&typeof l.then=="function"){if(a=s.alternate,a!==null&&Go(a,s,p,!0),s=na.current,s!==null){switch(s.tag){case 31:case 13:return ja===null?yu():s.alternate===null&&Ft===0&&(Ft=3),s.flags&=-257,s.flags|=65536,s.lanes=p,l===Hc?s.flags|=16384:(a=s.updateQueue,a===null?s.updateQueue=new Set([l]):a.add(l),Qp(t,l,p)),!1;case 22:return s.flags|=65536,l===Hc?s.flags|=16384:(a=s.updateQueue,a===null?(a={transitions:null,markerInstances:null,retryQueue:new Set([l])},s.updateQueue=a):(s=a.retryQueue,s===null?a.retryQueue=new Set([l]):s.add(l)),Qp(t,l,p)),!1}throw Error(r(435,s.tag))}return Qp(t,l,p),yu(),!1}if(pt)return a=na.current,a!==null?((a.flags&65536)===0&&(a.flags|=256),a.flags|=65536,a.lanes=p,l!==Vm&&(t=Error(r(422),{cause:l}),ml(xa(t,s)))):(l!==Vm&&(a=Error(r(423),{cause:l}),ml(xa(a,s))),t=t.current.alternate,t.flags|=65536,p&=-p,t.lanes|=p,l=xa(l,s),p=kp(t.stateNode,l,p),Wm(t,p),Ft!==4&&(Ft=2)),!1;var f=Error(r(520),{cause:l});if(f=xa(f,s),El===null?El=[f]:El.push(f),Ft!==4&&(Ft=2),a===null)return!0;l=xa(l,s),s=a;do{switch(s.tag){case 3:return s.flags|=65536,t=p&-p,s.lanes|=t,t=kp(s.stateNode,l,t),Wm(s,t),!1;case 1:if(a=s.type,f=s.stateNode,(s.flags&128)===0&&(typeof a.getDerivedStateFromError=="function"||f!==null&&typeof f.componentDidCatch=="function"&&(ns===null||!ns.has(f))))return s.flags|=65536,p&=-p,s.lanes|=p,p=Cy(p),Ny(p,t,s,l),Wm(s,p),!1}s=s.return}while(s!==null);return!1}var Sp=Error(r(461)),an=!1;function An(t,a,s,l){a.child=t===null?E1(a,null,s,l):Ws(a,t.child,s,l)}function _y(t,a,s,l,p){s=s.render;var f=a.ref;if("ref"in l){var x={};for(var S in l)S!=="ref"&&(x[S]=l[S])}else x=l;return Fs(a),l=ip(t,a,s,x,f,p),S=sp(),t!==null&&!an?(op(t,a,p),vi(t,a,p)):(pt&&S&&Bm(a),a.flags|=1,An(t,a,l,p),a.child)}function Ty(t,a,s,l,p){if(t===null){var f=s.type;return typeof f=="function"&&!Pm(f)&&f.defaultProps===void 0&&s.compare===null?(a.tag=15,a.type=f,Ry(t,a,f,l,p)):(t=Lc(s.type,null,l,a,a.mode,p),t.ref=a.ref,t.return=a,a.child=t)}if(f=t.child,!Ep(t,p)){var x=f.memoizedProps;if(s=s.compare,s=s!==null?s:cl,s(x,l)&&t.ref===a.ref)return vi(t,a,p)}return a.flags|=1,t=pi(f,l),t.ref=a.ref,t.return=a,a.child=t}function Ry(t,a,s,l,p){if(t!==null){var f=t.memoizedProps;if(cl(f,l)&&t.ref===a.ref)if(an=!1,a.pendingProps=l=f,Ep(t,p))(t.flags&131072)!==0&&(an=!0);else return a.lanes=t.lanes,vi(t,a,p)}return jp(t,a,s,l,p)}function Ey(t,a,s,l){var p=l.children,f=t!==null?t.memoizedState:null;if(t===null&&a.stateNode===null&&(a.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),l.mode==="hidden"){if((a.flags&128)!==0){if(f=f!==null?f.baseLanes|s:s,t!==null){for(l=a.child=t.child,p=0;l!==null;)p=p|l.lanes|l.childLanes,l=l.sibling;l=p&~f}else l=0,a.child=null;return Dy(t,a,f,s,l)}if((s&536870912)!==0)a.memoizedState={baseLanes:0,cachePool:null},t!==null&&Gc(a,f!==null?f.cachePool:null),f!==null?O1(a,f):ep(),I1(a);else return l=a.lanes=536870912,Dy(t,a,f!==null?f.baseLanes|s:s,s,l)}else f!==null?(Gc(a,f.cachePool),O1(a,f),Wi(),a.memoizedState=null):(t!==null&&Gc(a,null),ep(),Wi());return An(t,a,p,s),a.child}function jl(t,a){return t!==null&&t.tag===22||a.stateNode!==null||(a.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),a.sibling}function Dy(t,a,s,l,p){var f=Fm();return f=f===null?null:{parent:tn._currentValue,pool:f},a.memoizedState={baseLanes:s,cachePool:f},t!==null&&Gc(a,null),ep(),I1(a),t!==null&&Go(t,a,l,!0),a.childLanes=p,null}function ou(t,a){return a=lu({mode:a.mode,children:a.children},t.mode),a.ref=t.ref,t.child=a,a.return=t,a}function zy(t,a,s){return Ws(a,t.child,null,s),t=ou(a,a.pendingProps),t.flags|=2,aa(a),a.memoizedState=null,t}function YC(t,a,s){var l=a.pendingProps,p=(a.flags&128)!==0;if(a.flags&=-129,t===null){if(pt){if(l.mode==="hidden")return t=ou(a,l),a.lanes=536870912,jl(null,t);if(np(a),(t=zt)?(t=Kb(t,Sa),t=t!==null&&t.data==="&"?t:null,t!==null&&(a.memoizedState={dehydrated:t,treeContext:Gi!==null?{id:Ja,overflow:ei}:null,retryLane:536870912,hydrationErrors:null},s=g1(t),s.return=a,a.child=s,Sn=a,zt=null)):t=null,t===null)throw Hi(a);return a.lanes=536870912,null}return ou(a,l)}var f=t.memoizedState;if(f!==null){var x=f.dehydrated;if(np(a),p)if(a.flags&256)a.flags&=-257,a=zy(t,a,s);else if(a.memoizedState!==null)a.child=t.child,a.flags|=128,a=null;else throw Error(r(558));else if(an||Go(t,a,s,!1),p=(s&t.childLanes)!==0,an||p){if(l=Tt,l!==null&&(x=Kr(l,s),x!==0&&x!==f.retryLane))throw f.retryLane=x,Gs(t,x),Fn(l,t,x),Sp;yu(),a=zy(t,a,s)}else t=f.treeContext,zt=Aa(x.nextSibling),Sn=a,pt=!0,Ki=null,Sa=!1,t!==null&&v1(a,t),a=ou(a,l),a.flags|=4096;return a}return t=pi(t.child,{mode:l.mode,children:l.children}),t.ref=a.ref,a.child=t,t.return=a,t}function ru(t,a){var s=a.ref;if(s===null)t!==null&&t.ref!==null&&(a.flags|=4194816);else{if(typeof s!="function"&&typeof s!="object")throw Error(r(284));(t===null||t.ref!==s)&&(a.flags|=4194816)}}function jp(t,a,s,l,p){return Fs(a),s=ip(t,a,s,l,void 0,p),l=sp(),t!==null&&!an?(op(t,a,p),vi(t,a,p)):(pt&&l&&Bm(a),a.flags|=1,An(t,a,s,p),a.child)}function Oy(t,a,s,l,p,f){return Fs(a),a.updateQueue=null,s=q1(a,l,s,p),P1(t),l=sp(),t!==null&&!an?(op(t,a,f),vi(t,a,f)):(pt&&l&&Bm(a),a.flags|=1,An(t,a,s,f),a.child)}function Iy(t,a,s,l,p){if(Fs(a),a.stateNode===null){var f=Lo,x=s.contextType;typeof x=="object"&&x!==null&&(f=jn(x)),f=new s(l,f),a.memoizedState=f.state!==null&&f.state!==void 0?f.state:null,f.updater=wp,a.stateNode=f,f._reactInternals=a,f=a.stateNode,f.props=l,f.state=a.memoizedState,f.refs={},Ym(a),x=s.contextType,f.context=typeof x=="object"&&x!==null?jn(x):Lo,f.state=a.memoizedState,x=s.getDerivedStateFromProps,typeof x=="function"&&(xp(a,s,x,l),f.state=a.memoizedState),typeof s.getDerivedStateFromProps=="function"||typeof f.getSnapshotBeforeUpdate=="function"||typeof f.UNSAFE_componentWillMount!="function"&&typeof f.componentWillMount!="function"||(x=f.state,typeof f.componentWillMount=="function"&&f.componentWillMount(),typeof f.UNSAFE_componentWillMount=="function"&&f.UNSAFE_componentWillMount(),x!==f.state&&wp.enqueueReplaceState(f,f.state,null),vl(a,l,f,p),bl(),f.state=a.memoizedState),typeof f.componentDidMount=="function"&&(a.flags|=4194308),l=!0}else if(t===null){f=a.stateNode;var S=a.memoizedProps,E=eo(s,S);f.props=E;var B=f.context,Z=s.contextType;x=Lo,typeof Z=="object"&&Z!==null&&(x=jn(Z));var ie=s.getDerivedStateFromProps;Z=typeof ie=="function"||typeof f.getSnapshotBeforeUpdate=="function",S=a.pendingProps!==S,Z||typeof f.UNSAFE_componentWillReceiveProps!="function"&&typeof f.componentWillReceiveProps!="function"||(S||B!==x)&&wy(a,f,l,x),Fi=!1;var $=a.memoizedState;f.state=$,vl(a,l,f,p),bl(),B=a.memoizedState,S||$!==B||Fi?(typeof ie=="function"&&(xp(a,s,ie,l),B=a.memoizedState),(E=Fi||xy(a,s,E,l,$,B,x))?(Z||typeof f.UNSAFE_componentWillMount!="function"&&typeof f.componentWillMount!="function"||(typeof f.componentWillMount=="function"&&f.componentWillMount(),typeof f.UNSAFE_componentWillMount=="function"&&f.UNSAFE_componentWillMount()),typeof f.componentDidMount=="function"&&(a.flags|=4194308)):(typeof f.componentDidMount=="function"&&(a.flags|=4194308),a.memoizedProps=l,a.memoizedState=B),f.props=l,f.state=B,f.context=x,l=E):(typeof f.componentDidMount=="function"&&(a.flags|=4194308),l=!1)}else{f=a.stateNode,Xm(t,a),x=a.memoizedProps,Z=eo(s,x),f.props=Z,ie=a.pendingProps,$=f.context,B=s.contextType,E=Lo,typeof B=="object"&&B!==null&&(E=jn(B)),S=s.getDerivedStateFromProps,(B=typeof S=="function"||typeof f.getSnapshotBeforeUpdate=="function")||typeof f.UNSAFE_componentWillReceiveProps!="function"&&typeof f.componentWillReceiveProps!="function"||(x!==ie||$!==E)&&wy(a,f,l,E),Fi=!1,$=a.memoizedState,f.state=$,vl(a,l,f,p),bl();var Q=a.memoizedState;x!==ie||$!==Q||Fi||t!==null&&t.dependencies!==null&&Uc(t.dependencies)?(typeof S=="function"&&(xp(a,s,S,l),Q=a.memoizedState),(Z=Fi||xy(a,s,Z,l,$,Q,E)||t!==null&&t.dependencies!==null&&Uc(t.dependencies))?(B||typeof f.UNSAFE_componentWillUpdate!="function"&&typeof f.componentWillUpdate!="function"||(typeof f.componentWillUpdate=="function"&&f.componentWillUpdate(l,Q,E),typeof f.UNSAFE_componentWillUpdate=="function"&&f.UNSAFE_componentWillUpdate(l,Q,E)),typeof f.componentDidUpdate=="function"&&(a.flags|=4),typeof f.getSnapshotBeforeUpdate=="function"&&(a.flags|=1024)):(typeof f.componentDidUpdate!="function"||x===t.memoizedProps&&$===t.memoizedState||(a.flags|=4),typeof f.getSnapshotBeforeUpdate!="function"||x===t.memoizedProps&&$===t.memoizedState||(a.flags|=1024),a.memoizedProps=l,a.memoizedState=Q),f.props=l,f.state=Q,f.context=E,l=Z):(typeof f.componentDidUpdate!="function"||x===t.memoizedProps&&$===t.memoizedState||(a.flags|=4),typeof f.getSnapshotBeforeUpdate!="function"||x===t.memoizedProps&&$===t.memoizedState||(a.flags|=1024),l=!1)}return f=l,ru(t,a),l=(a.flags&128)!==0,f||l?(f=a.stateNode,s=l&&typeof s.getDerivedStateFromError!="function"?null:f.render(),a.flags|=1,t!==null&&l?(a.child=Ws(a,t.child,null,p),a.child=Ws(a,null,s,p)):An(t,a,s,p),a.memoizedState=f.state,t=a.child):t=vi(t,a,p),t}function Py(t,a,s,l){return Hs(),a.flags|=256,An(t,a,s,l),a.child}var Ap={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Cp(t){return{baseLanes:t,cachePool:A1()}}function Np(t,a,s){return t=t!==null?t.childLanes&~s:0,a&&(t|=sa),t}function qy(t,a,s){var l=a.pendingProps,p=!1,f=(a.flags&128)!==0,x;if((x=f)||(x=t!==null&&t.memoizedState===null?!1:(Xt.current&2)!==0),x&&(p=!0,a.flags&=-129),x=(a.flags&32)!==0,a.flags&=-33,t===null){if(pt){if(p?Xi(a):Wi(),(t=zt)?(t=Kb(t,Sa),t=t!==null&&t.data!=="&"?t:null,t!==null&&(a.memoizedState={dehydrated:t,treeContext:Gi!==null?{id:Ja,overflow:ei}:null,retryLane:536870912,hydrationErrors:null},s=g1(t),s.return=a,a.child=s,Sn=a,zt=null)):t=null,t===null)throw Hi(a);return ch(t)?a.lanes=32:a.lanes=536870912,null}var S=l.children;return l=l.fallback,p?(Wi(),p=a.mode,S=lu({mode:"hidden",children:S},p),l=Ks(l,p,s,null),S.return=a,l.return=a,S.sibling=l,a.child=S,l=a.child,l.memoizedState=Cp(s),l.childLanes=Np(t,x,s),a.memoizedState=Ap,jl(null,l)):(Xi(a),_p(a,S))}var E=t.memoizedState;if(E!==null&&(S=E.dehydrated,S!==null)){if(f)a.flags&256?(Xi(a),a.flags&=-257,a=Tp(t,a,s)):a.memoizedState!==null?(Wi(),a.child=t.child,a.flags|=128,a=null):(Wi(),S=l.fallback,p=a.mode,l=lu({mode:"visible",children:l.children},p),S=Ks(S,p,s,null),S.flags|=2,l.return=a,S.return=a,l.sibling=S,a.child=l,Ws(a,t.child,null,s),l=a.child,l.memoizedState=Cp(s),l.childLanes=Np(t,x,s),a.memoizedState=Ap,a=jl(null,l));else if(Xi(a),ch(S)){if(x=S.nextSibling&&S.nextSibling.dataset,x)var B=x.dgst;x=B,l=Error(r(419)),l.stack="",l.digest=x,ml({value:l,source:null,stack:null}),a=Tp(t,a,s)}else if(an||Go(t,a,s,!1),x=(s&t.childLanes)!==0,an||x){if(x=Tt,x!==null&&(l=Kr(x,s),l!==0&&l!==E.retryLane))throw E.retryLane=l,Gs(t,l),Fn(x,t,l),Sp;lh(S)||yu(),a=Tp(t,a,s)}else lh(S)?(a.flags|=192,a.child=t.child,a=null):(t=E.treeContext,zt=Aa(S.nextSibling),Sn=a,pt=!0,Ki=null,Sa=!1,t!==null&&v1(a,t),a=_p(a,l.children),a.flags|=4096);return a}return p?(Wi(),S=l.fallback,p=a.mode,E=t.child,B=E.sibling,l=pi(E,{mode:"hidden",children:l.children}),l.subtreeFlags=E.subtreeFlags&65011712,B!==null?S=pi(B,S):(S=Ks(S,p,s,null),S.flags|=2),S.return=a,l.return=a,l.sibling=S,a.child=l,jl(null,l),l=a.child,S=t.child.memoizedState,S===null?S=Cp(s):(p=S.cachePool,p!==null?(E=tn._currentValue,p=p.parent!==E?{parent:E,pool:E}:p):p=A1(),S={baseLanes:S.baseLanes|s,cachePool:p}),l.memoizedState=S,l.childLanes=Np(t,x,s),a.memoizedState=Ap,jl(t.child,l)):(Xi(a),s=t.child,t=s.sibling,s=pi(s,{mode:"visible",children:l.children}),s.return=a,s.sibling=null,t!==null&&(x=a.deletions,x===null?(a.deletions=[t],a.flags|=16):x.push(t)),a.child=s,a.memoizedState=null,s)}function _p(t,a){return a=lu({mode:"visible",children:a},t.mode),a.return=t,t.child=a}function lu(t,a){return t=ta(22,t,null,a),t.lanes=0,t}function Tp(t,a,s){return Ws(a,t.child,null,s),t=_p(a,a.pendingProps.children),t.flags|=2,a.memoizedState=null,t}function My(t,a,s){t.lanes|=a;var l=t.alternate;l!==null&&(l.lanes|=a),Gm(t.return,a,s)}function Rp(t,a,s,l,p,f){var x=t.memoizedState;x===null?t.memoizedState={isBackwards:a,rendering:null,renderingStartTime:0,last:l,tail:s,tailMode:p,treeForkCount:f}:(x.isBackwards=a,x.rendering=null,x.renderingStartTime=0,x.last=l,x.tail=s,x.tailMode=p,x.treeForkCount=f)}function By(t,a,s){var l=a.pendingProps,p=l.revealOrder,f=l.tail;l=l.children;var x=Xt.current,S=(x&2)!==0;if(S?(x=x&1|2,a.flags|=128):x&=1,be(Xt,x),An(t,a,l,s),l=pt?dl:0,!S&&t!==null&&(t.flags&128)!==0)e:for(t=a.child;t!==null;){if(t.tag===13)t.memoizedState!==null&&My(t,s,a);else if(t.tag===19)My(t,s,a);else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===a)break e;for(;t.sibling===null;){if(t.return===null||t.return===a)break e;t=t.return}t.sibling.return=t.return,t=t.sibling}switch(p){case"forwards":for(s=a.child,p=null;s!==null;)t=s.alternate,t!==null&&Yc(t)===null&&(p=s),s=s.sibling;s=p,s===null?(p=a.child,a.child=null):(p=s.sibling,s.sibling=null),Rp(a,!1,p,s,f,l);break;case"backwards":case"unstable_legacy-backwards":for(s=null,p=a.child,a.child=null;p!==null;){if(t=p.alternate,t!==null&&Yc(t)===null){a.child=p;break}t=p.sibling,p.sibling=s,s=p,p=t}Rp(a,!0,s,null,f,l);break;case"together":Rp(a,!1,null,null,void 0,l);break;default:a.memoizedState=null}return a.child}function vi(t,a,s){if(t!==null&&(a.dependencies=t.dependencies),ts|=a.lanes,(s&a.childLanes)===0)if(t!==null){if(Go(t,a,s,!1),(s&a.childLanes)===0)return null}else return null;if(t!==null&&a.child!==t.child)throw Error(r(153));if(a.child!==null){for(t=a.child,s=pi(t,t.pendingProps),a.child=s,s.return=a;t.sibling!==null;)t=t.sibling,s=s.sibling=pi(t,t.pendingProps),s.return=a;s.sibling=null}return a.child}function Ep(t,a){return(t.lanes&a)!==0?!0:(t=t.dependencies,!!(t!==null&&Uc(t)))}function XC(t,a,s){switch(a.tag){case 3:Ee(a,a.stateNode.containerInfo),Qi(a,tn,t.memoizedState.cache),Hs();break;case 27:case 5:nt(a);break;case 4:Ee(a,a.stateNode.containerInfo);break;case 10:Qi(a,a.type,a.memoizedProps.value);break;case 31:if(a.memoizedState!==null)return a.flags|=128,np(a),null;break;case 13:var l=a.memoizedState;if(l!==null)return l.dehydrated!==null?(Xi(a),a.flags|=128,null):(s&a.child.childLanes)!==0?qy(t,a,s):(Xi(a),t=vi(t,a,s),t!==null?t.sibling:null);Xi(a);break;case 19:var p=(t.flags&128)!==0;if(l=(s&a.childLanes)!==0,l||(Go(t,a,s,!1),l=(s&a.childLanes)!==0),p){if(l)return By(t,a,s);a.flags|=128}if(p=a.memoizedState,p!==null&&(p.rendering=null,p.tail=null,p.lastEffect=null),be(Xt,Xt.current),l)break;return null;case 22:return a.lanes=0,Ey(t,a,s,a.pendingProps);case 24:Qi(a,tn,t.memoizedState.cache)}return vi(t,a,s)}function Ly(t,a,s){if(t!==null)if(t.memoizedProps!==a.pendingProps)an=!0;else{if(!Ep(t,s)&&(a.flags&128)===0)return an=!1,XC(t,a,s);an=(t.flags&131072)!==0}else an=!1,pt&&(a.flags&1048576)!==0&&b1(a,dl,a.index);switch(a.lanes=0,a.tag){case 16:e:{var l=a.pendingProps;if(t=Ys(a.elementType),a.type=t,typeof t=="function")Pm(t)?(l=eo(t,l),a.tag=1,a=Iy(null,a,t,l,s)):(a.tag=0,a=jp(null,a,t,l,s));else{if(t!=null){var p=t.$$typeof;if(p===W){a.tag=11,a=_y(null,a,t,l,s);break e}else if(p===V){a.tag=14,a=Ty(null,a,t,l,s);break e}}throw a=Ne(t)||t,Error(r(306,a,""))}}return a;case 0:return jp(t,a,a.type,a.pendingProps,s);case 1:return l=a.type,p=eo(l,a.pendingProps),Iy(t,a,l,p,s);case 3:e:{if(Ee(a,a.stateNode.containerInfo),t===null)throw Error(r(387));l=a.pendingProps;var f=a.memoizedState;p=f.element,Xm(t,a),vl(a,l,null,s);var x=a.memoizedState;if(l=x.cache,Qi(a,tn,l),l!==f.cache&&Km(a,[tn],s,!0),bl(),l=x.element,f.isDehydrated)if(f={element:l,isDehydrated:!1,cache:x.cache},a.updateQueue.baseState=f,a.memoizedState=f,a.flags&256){a=Py(t,a,l,s);break e}else if(l!==p){p=xa(Error(r(424)),a),ml(p),a=Py(t,a,l,s);break e}else for(t=a.stateNode.containerInfo,t.nodeType===9?t=t.body:t=t.nodeName==="HTML"?t.ownerDocument.body:t,zt=Aa(t.firstChild),Sn=a,pt=!0,Ki=null,Sa=!0,s=E1(a,null,l,s),a.child=s;s;)s.flags=s.flags&-3|4096,s=s.sibling;else{if(Hs(),l===p){a=vi(t,a,s);break e}An(t,a,l,s)}a=a.child}return a;case 26:return ru(t,a),t===null?(s=Xb(a.type,null,a.pendingProps,null))?a.memoizedState=s:pt||(s=a.type,t=a.pendingProps,l=ju(K.current).createElement(s),l[en]=a,l[Rn]=t,Cn(l,s,t),Yt(l),a.stateNode=l):a.memoizedState=Xb(a.type,t.memoizedProps,a.pendingProps,t.memoizedState),null;case 27:return nt(a),t===null&&pt&&(l=a.stateNode=Fb(a.type,a.pendingProps,K.current),Sn=a,Sa=!0,p=zt,os(a.type)?(uh=p,zt=Aa(l.firstChild)):zt=p),An(t,a,a.pendingProps.children,s),ru(t,a),t===null&&(a.flags|=4194304),a.child;case 5:return t===null&&pt&&((p=l=zt)&&(l=N4(l,a.type,a.pendingProps,Sa),l!==null?(a.stateNode=l,Sn=a,zt=Aa(l.firstChild),Sa=!1,p=!0):p=!1),p||Hi(a)),nt(a),p=a.type,f=a.pendingProps,x=t!==null?t.memoizedProps:null,l=f.children,sh(p,f)?l=null:x!==null&&sh(p,x)&&(a.flags|=32),a.memoizedState!==null&&(p=ip(t,a,UC,null,null,s),Bl._currentValue=p),ru(t,a),An(t,a,l,s),a.child;case 6:return t===null&&pt&&((t=s=zt)&&(s=_4(s,a.pendingProps,Sa),s!==null?(a.stateNode=s,Sn=a,zt=null,t=!0):t=!1),t||Hi(a)),null;case 13:return qy(t,a,s);case 4:return Ee(a,a.stateNode.containerInfo),l=a.pendingProps,t===null?a.child=Ws(a,null,l,s):An(t,a,l,s),a.child;case 11:return _y(t,a,a.type,a.pendingProps,s);case 7:return An(t,a,a.pendingProps,s),a.child;case 8:return An(t,a,a.pendingProps.children,s),a.child;case 12:return An(t,a,a.pendingProps.children,s),a.child;case 10:return l=a.pendingProps,Qi(a,a.type,l.value),An(t,a,l.children,s),a.child;case 9:return p=a.type._context,l=a.pendingProps.children,Fs(a),p=jn(p),l=l(p),a.flags|=1,An(t,a,l,s),a.child;case 14:return Ty(t,a,a.type,a.pendingProps,s);case 15:return Ry(t,a,a.type,a.pendingProps,s);case 19:return By(t,a,s);case 31:return YC(t,a,s);case 22:return Ey(t,a,s,a.pendingProps);case 24:return Fs(a),l=jn(tn),t===null?(p=Fm(),p===null&&(p=Tt,f=Hm(),p.pooledCache=f,f.refCount++,f!==null&&(p.pooledCacheLanes|=s),p=f),a.memoizedState={parent:l,cache:p},Ym(a),Qi(a,tn,p)):((t.lanes&s)!==0&&(Xm(t,a),vl(a,null,null,s),bl()),p=t.memoizedState,f=a.memoizedState,p.parent!==l?(p={parent:l,cache:l},a.memoizedState=p,a.lanes===0&&(a.memoizedState=a.updateQueue.baseState=p),Qi(a,tn,l)):(l=f.cache,Qi(a,tn,l),l!==p.cache&&Km(a,[tn],s,!0))),An(t,a,a.pendingProps.children,s),a.child;case 29:throw a.pendingProps}throw Error(r(156,a.tag))}function xi(t){t.flags|=4}function Dp(t,a,s,l,p){if((a=(t.mode&32)!==0)&&(a=!1),a){if(t.flags|=16777216,(p&335544128)===p)if(t.stateNode.complete)t.flags|=8192;else if(pb())t.flags|=8192;else throw Xs=Hc,Zm}else t.flags&=-16777217}function Vy(t,a){if(a.type!=="stylesheet"||(a.state.loading&4)!==0)t.flags&=-16777217;else if(t.flags|=16777216,!nv(a))if(pb())t.flags|=8192;else throw Xs=Hc,Zm}function cu(t,a){a!==null&&(t.flags|=4),t.flags&16384&&(a=t.tag!==22?zs():536870912,t.lanes|=a,nr|=a)}function Al(t,a){if(!pt)switch(t.tailMode){case"hidden":a=t.tail;for(var s=null;a!==null;)a.alternate!==null&&(s=a),a=a.sibling;s===null?t.tail=null:s.sibling=null;break;case"collapsed":s=t.tail;for(var l=null;s!==null;)s.alternate!==null&&(l=s),s=s.sibling;l===null?a||t.tail===null?t.tail=null:t.tail.sibling=null:l.sibling=null}}function Ot(t){var a=t.alternate!==null&&t.alternate.child===t.child,s=0,l=0;if(a)for(var p=t.child;p!==null;)s|=p.lanes|p.childLanes,l|=p.subtreeFlags&65011712,l|=p.flags&65011712,p.return=t,p=p.sibling;else for(p=t.child;p!==null;)s|=p.lanes|p.childLanes,l|=p.subtreeFlags,l|=p.flags,p.return=t,p=p.sibling;return t.subtreeFlags|=l,t.childLanes=s,a}function WC(t,a,s){var l=a.pendingProps;switch(Lm(a),a.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ot(a),null;case 1:return Ot(a),null;case 3:return s=a.stateNode,l=null,t!==null&&(l=t.memoizedState.cache),a.memoizedState.cache!==l&&(a.flags|=2048),gi(tn),Se(),s.pendingContext&&(s.context=s.pendingContext,s.pendingContext=null),(t===null||t.child===null)&&($o(a)?xi(a):t===null||t.memoizedState.isDehydrated&&(a.flags&256)===0||(a.flags|=1024,Um())),Ot(a),null;case 26:var p=a.type,f=a.memoizedState;return t===null?(xi(a),f!==null?(Ot(a),Vy(a,f)):(Ot(a),Dp(a,p,null,l,s))):f?f!==t.memoizedState?(xi(a),Ot(a),Vy(a,f)):(Ot(a),a.flags&=-16777217):(t=t.memoizedProps,t!==l&&xi(a),Ot(a),Dp(a,p,t,l,s)),null;case 27:if(Ve(a),s=K.current,p=a.type,t!==null&&a.stateNode!=null)t.memoizedProps!==l&&xi(a);else{if(!l){if(a.stateNode===null)throw Error(r(166));return Ot(a),null}t=le.current,$o(a)?x1(a):(t=Fb(p,l,s),a.stateNode=t,xi(a))}return Ot(a),null;case 5:if(Ve(a),p=a.type,t!==null&&a.stateNode!=null)t.memoizedProps!==l&&xi(a);else{if(!l){if(a.stateNode===null)throw Error(r(166));return Ot(a),null}if(f=le.current,$o(a))x1(a);else{var x=ju(K.current);switch(f){case 1:f=x.createElementNS("http://www.w3.org/2000/svg",p);break;case 2:f=x.createElementNS("http://www.w3.org/1998/Math/MathML",p);break;default:switch(p){case"svg":f=x.createElementNS("http://www.w3.org/2000/svg",p);break;case"math":f=x.createElementNS("http://www.w3.org/1998/Math/MathML",p);break;case"script":f=x.createElement("div"),f.innerHTML="<script><\/script>",f=f.removeChild(f.firstChild);break;case"select":f=typeof l.is=="string"?x.createElement("select",{is:l.is}):x.createElement("select"),l.multiple?f.multiple=!0:l.size&&(f.size=l.size);break;default:f=typeof l.is=="string"?x.createElement(p,{is:l.is}):x.createElement(p)}}f[en]=a,f[Rn]=l;e:for(x=a.child;x!==null;){if(x.tag===5||x.tag===6)f.appendChild(x.stateNode);else if(x.tag!==4&&x.tag!==27&&x.child!==null){x.child.return=x,x=x.child;continue}if(x===a)break e;for(;x.sibling===null;){if(x.return===null||x.return===a)break e;x=x.return}x.sibling.return=x.return,x=x.sibling}a.stateNode=f;e:switch(Cn(f,p,l),p){case"button":case"input":case"select":case"textarea":l=!!l.autoFocus;break e;case"img":l=!0;break e;default:l=!1}l&&xi(a)}}return Ot(a),Dp(a,a.type,t===null?null:t.memoizedProps,a.pendingProps,s),null;case 6:if(t&&a.stateNode!=null)t.memoizedProps!==l&&xi(a);else{if(typeof l!="string"&&a.stateNode===null)throw Error(r(166));if(t=K.current,$o(a)){if(t=a.stateNode,s=a.memoizedProps,l=null,p=Sn,p!==null)switch(p.tag){case 27:case 5:l=p.memoizedProps}t[en]=a,t=!!(t.nodeValue===s||l!==null&&l.suppressHydrationWarning===!0||qb(t.nodeValue,s)),t||Hi(a,!0)}else t=ju(t).createTextNode(l),t[en]=a,a.stateNode=t}return Ot(a),null;case 31:if(s=a.memoizedState,t===null||t.memoizedState!==null){if(l=$o(a),s!==null){if(t===null){if(!l)throw Error(r(318));if(t=a.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(r(557));t[en]=a}else Hs(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;Ot(a),t=!1}else s=Um(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=s),t=!0;if(!t)return a.flags&256?(aa(a),a):(aa(a),null);if((a.flags&128)!==0)throw Error(r(558))}return Ot(a),null;case 13:if(l=a.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(p=$o(a),l!==null&&l.dehydrated!==null){if(t===null){if(!p)throw Error(r(318));if(p=a.memoizedState,p=p!==null?p.dehydrated:null,!p)throw Error(r(317));p[en]=a}else Hs(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;Ot(a),p=!1}else p=Um(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=p),p=!0;if(!p)return a.flags&256?(aa(a),a):(aa(a),null)}return aa(a),(a.flags&128)!==0?(a.lanes=s,a):(s=l!==null,t=t!==null&&t.memoizedState!==null,s&&(l=a.child,p=null,l.alternate!==null&&l.alternate.memoizedState!==null&&l.alternate.memoizedState.cachePool!==null&&(p=l.alternate.memoizedState.cachePool.pool),f=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(f=l.memoizedState.cachePool.pool),f!==p&&(l.flags|=2048)),s!==t&&s&&(a.child.flags|=8192),cu(a,a.updateQueue),Ot(a),null);case 4:return Se(),t===null&&eh(a.stateNode.containerInfo),Ot(a),null;case 10:return gi(a.type),Ot(a),null;case 19:if(Pe(Xt),l=a.memoizedState,l===null)return Ot(a),null;if(p=(a.flags&128)!==0,f=l.rendering,f===null)if(p)Al(l,!1);else{if(Ft!==0||t!==null&&(t.flags&128)!==0)for(t=a.child;t!==null;){if(f=Yc(t),f!==null){for(a.flags|=128,Al(l,!1),t=f.updateQueue,a.updateQueue=t,cu(a,t),a.subtreeFlags=0,t=s,s=a.child;s!==null;)f1(s,t),s=s.sibling;return be(Xt,Xt.current&1|2),pt&&hi(a,l.treeForkCount),a.child}t=t.sibling}l.tail!==null&&Pt()>hu&&(a.flags|=128,p=!0,Al(l,!1),a.lanes=4194304)}else{if(!p)if(t=Yc(f),t!==null){if(a.flags|=128,p=!0,t=t.updateQueue,a.updateQueue=t,cu(a,t),Al(l,!0),l.tail===null&&l.tailMode==="hidden"&&!f.alternate&&!pt)return Ot(a),null}else 2*Pt()-l.renderingStartTime>hu&&s!==536870912&&(a.flags|=128,p=!0,Al(l,!1),a.lanes=4194304);l.isBackwards?(f.sibling=a.child,a.child=f):(t=l.last,t!==null?t.sibling=f:a.child=f,l.last=f)}return l.tail!==null?(t=l.tail,l.rendering=t,l.tail=t.sibling,l.renderingStartTime=Pt(),t.sibling=null,s=Xt.current,be(Xt,p?s&1|2:s&1),pt&&hi(a,l.treeForkCount),t):(Ot(a),null);case 22:case 23:return aa(a),tp(),l=a.memoizedState!==null,t!==null?t.memoizedState!==null!==l&&(a.flags|=8192):l&&(a.flags|=8192),l?(s&536870912)!==0&&(a.flags&128)===0&&(Ot(a),a.subtreeFlags&6&&(a.flags|=8192)):Ot(a),s=a.updateQueue,s!==null&&cu(a,s.retryQueue),s=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(s=t.memoizedState.cachePool.pool),l=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(l=a.memoizedState.cachePool.pool),l!==s&&(a.flags|=2048),t!==null&&Pe(Zs),null;case 24:return s=null,t!==null&&(s=t.memoizedState.cache),a.memoizedState.cache!==s&&(a.flags|=2048),gi(tn),Ot(a),null;case 25:return null;case 30:return null}throw Error(r(156,a.tag))}function JC(t,a){switch(Lm(a),a.tag){case 1:return t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 3:return gi(tn),Se(),t=a.flags,(t&65536)!==0&&(t&128)===0?(a.flags=t&-65537|128,a):null;case 26:case 27:case 5:return Ve(a),null;case 31:if(a.memoizedState!==null){if(aa(a),a.alternate===null)throw Error(r(340));Hs()}return t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 13:if(aa(a),t=a.memoizedState,t!==null&&t.dehydrated!==null){if(a.alternate===null)throw Error(r(340));Hs()}return t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 19:return Pe(Xt),null;case 4:return Se(),null;case 10:return gi(a.type),null;case 22:case 23:return aa(a),tp(),t!==null&&Pe(Zs),t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 24:return gi(tn),null;case 25:return null;default:return null}}function Uy(t,a){switch(Lm(a),a.tag){case 3:gi(tn),Se();break;case 26:case 27:case 5:Ve(a);break;case 4:Se();break;case 31:a.memoizedState!==null&&aa(a);break;case 13:aa(a);break;case 19:Pe(Xt);break;case 10:gi(a.type);break;case 22:case 23:aa(a),tp(),t!==null&&Pe(Zs);break;case 24:gi(tn)}}function Cl(t,a){try{var s=a.updateQueue,l=s!==null?s.lastEffect:null;if(l!==null){var p=l.next;s=p;do{if((s.tag&t)===t){l=void 0;var f=s.create,x=s.inst;l=f(),x.destroy=l}s=s.next}while(s!==p)}}catch(S){jt(a,a.return,S)}}function Ji(t,a,s){try{var l=a.updateQueue,p=l!==null?l.lastEffect:null;if(p!==null){var f=p.next;l=f;do{if((l.tag&t)===t){var x=l.inst,S=x.destroy;if(S!==void 0){x.destroy=void 0,p=a;var E=s,B=S;try{B()}catch(Z){jt(p,E,Z)}}}l=l.next}while(l!==f)}}catch(Z){jt(a,a.return,Z)}}function $y(t){var a=t.updateQueue;if(a!==null){var s=t.stateNode;try{z1(a,s)}catch(l){jt(t,t.return,l)}}}function Gy(t,a,s){s.props=eo(t.type,t.memoizedProps),s.state=t.memoizedState;try{s.componentWillUnmount()}catch(l){jt(t,a,l)}}function Nl(t,a){try{var s=t.ref;if(s!==null){switch(t.tag){case 26:case 27:case 5:var l=t.stateNode;break;case 30:l=t.stateNode;break;default:l=t.stateNode}typeof s=="function"?t.refCleanup=s(l):s.current=l}}catch(p){jt(t,a,p)}}function ti(t,a){var s=t.ref,l=t.refCleanup;if(s!==null)if(typeof l=="function")try{l()}catch(p){jt(t,a,p)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof s=="function")try{s(null)}catch(p){jt(t,a,p)}else s.current=null}function Ky(t){var a=t.type,s=t.memoizedProps,l=t.stateNode;try{e:switch(a){case"button":case"input":case"select":case"textarea":s.autoFocus&&l.focus();break e;case"img":s.src?l.src=s.src:s.srcSet&&(l.srcset=s.srcSet)}}catch(p){jt(t,t.return,p)}}function zp(t,a,s){try{var l=t.stateNode;w4(l,t.type,s,a),l[Rn]=a}catch(p){jt(t,t.return,p)}}function Hy(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&os(t.type)||t.tag===4}function Op(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||Hy(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&os(t.type)||t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Ip(t,a,s){var l=t.tag;if(l===5||l===6)t=t.stateNode,a?(s.nodeType===9?s.body:s.nodeName==="HTML"?s.ownerDocument.body:s).insertBefore(t,a):(a=s.nodeType===9?s.body:s.nodeName==="HTML"?s.ownerDocument.body:s,a.appendChild(t),s=s._reactRootContainer,s!=null||a.onclick!==null||(a.onclick=Ia));else if(l!==4&&(l===27&&os(t.type)&&(s=t.stateNode,a=null),t=t.child,t!==null))for(Ip(t,a,s),t=t.sibling;t!==null;)Ip(t,a,s),t=t.sibling}function uu(t,a,s){var l=t.tag;if(l===5||l===6)t=t.stateNode,a?s.insertBefore(t,a):s.appendChild(t);else if(l!==4&&(l===27&&os(t.type)&&(s=t.stateNode),t=t.child,t!==null))for(uu(t,a,s),t=t.sibling;t!==null;)uu(t,a,s),t=t.sibling}function Qy(t){var a=t.stateNode,s=t.memoizedProps;try{for(var l=t.type,p=a.attributes;p.length;)a.removeAttributeNode(p[0]);Cn(a,l,s),a[en]=t,a[Rn]=s}catch(f){jt(t,t.return,f)}}var wi=!1,sn=!1,Pp=!1,Fy=typeof WeakSet=="function"?WeakSet:Set,hn=null;function e4(t,a){if(t=t.containerInfo,ah=Eu,t=o1(t),Tm(t)){if("selectionStart"in t)var s={start:t.selectionStart,end:t.selectionEnd};else e:{s=(s=t.ownerDocument)&&s.defaultView||window;var l=s.getSelection&&s.getSelection();if(l&&l.rangeCount!==0){s=l.anchorNode;var p=l.anchorOffset,f=l.focusNode;l=l.focusOffset;try{s.nodeType,f.nodeType}catch{s=null;break e}var x=0,S=-1,E=-1,B=0,Z=0,ie=t,$=null;t:for(;;){for(var Q;ie!==s||p!==0&&ie.nodeType!==3||(S=x+p),ie!==f||l!==0&&ie.nodeType!==3||(E=x+l),ie.nodeType===3&&(x+=ie.nodeValue.length),(Q=ie.firstChild)!==null;)$=ie,ie=Q;for(;;){if(ie===t)break t;if($===s&&++B===p&&(S=x),$===f&&++Z===l&&(E=x),(Q=ie.nextSibling)!==null)break;ie=$,$=ie.parentNode}ie=Q}s=S===-1||E===-1?null:{start:S,end:E}}else s=null}s=s||{start:0,end:0}}else s=null;for(ih={focusedElem:t,selectionRange:s},Eu=!1,hn=a;hn!==null;)if(a=hn,t=a.child,(a.subtreeFlags&1028)!==0&&t!==null)t.return=a,hn=t;else for(;hn!==null;){switch(a=hn,f=a.alternate,t=a.flags,a.tag){case 0:if((t&4)!==0&&(t=a.updateQueue,t=t!==null?t.events:null,t!==null))for(s=0;s<t.length;s++)p=t[s],p.ref.impl=p.nextImpl;break;case 11:case 15:break;case 1:if((t&1024)!==0&&f!==null){t=void 0,s=a,p=f.memoizedProps,f=f.memoizedState,l=s.stateNode;try{var je=eo(s.type,p);t=l.getSnapshotBeforeUpdate(je,f),l.__reactInternalSnapshotBeforeUpdate=t}catch(Ue){jt(s,s.return,Ue)}}break;case 3:if((t&1024)!==0){if(t=a.stateNode.containerInfo,s=t.nodeType,s===9)rh(t);else if(s===1)switch(t.nodeName){case"HEAD":case"HTML":case"BODY":rh(t);break;default:t.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((t&1024)!==0)throw Error(r(163))}if(t=a.sibling,t!==null){t.return=a.return,hn=t;break}hn=a.return}}function Zy(t,a,s){var l=s.flags;switch(s.tag){case 0:case 11:case 15:Si(t,s),l&4&&Cl(5,s);break;case 1:if(Si(t,s),l&4)if(t=s.stateNode,a===null)try{t.componentDidMount()}catch(x){jt(s,s.return,x)}else{var p=eo(s.type,a.memoizedProps);a=a.memoizedState;try{t.componentDidUpdate(p,a,t.__reactInternalSnapshotBeforeUpdate)}catch(x){jt(s,s.return,x)}}l&64&&$y(s),l&512&&Nl(s,s.return);break;case 3:if(Si(t,s),l&64&&(t=s.updateQueue,t!==null)){if(a=null,s.child!==null)switch(s.child.tag){case 27:case 5:a=s.child.stateNode;break;case 1:a=s.child.stateNode}try{z1(t,a)}catch(x){jt(s,s.return,x)}}break;case 27:a===null&&l&4&&Qy(s);case 26:case 5:Si(t,s),a===null&&l&4&&Ky(s),l&512&&Nl(s,s.return);break;case 12:Si(t,s);break;case 31:Si(t,s),l&4&&Wy(t,s);break;case 13:Si(t,s),l&4&&Jy(t,s),l&64&&(t=s.memoizedState,t!==null&&(t=t.dehydrated,t!==null&&(s=c4.bind(null,s),T4(t,s))));break;case 22:if(l=s.memoizedState!==null||wi,!l){a=a!==null&&a.memoizedState!==null||sn,p=wi;var f=sn;wi=l,(sn=a)&&!f?ji(t,s,(s.subtreeFlags&8772)!==0):Si(t,s),wi=p,sn=f}break;case 30:break;default:Si(t,s)}}function Yy(t){var a=t.alternate;a!==null&&(t.alternate=null,Yy(a)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(a=t.stateNode,a!==null&&Fr(a)),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}var qt=null,Gn=!1;function ki(t,a,s){for(s=s.child;s!==null;)Xy(t,a,s),s=s.sibling}function Xy(t,a,s){if(kt&&typeof kt.onCommitFiberUnmount=="function")try{kt.onCommitFiberUnmount(mn,s)}catch{}switch(s.tag){case 26:sn||ti(s,a),ki(t,a,s),s.memoizedState?s.memoizedState.count--:s.stateNode&&(s=s.stateNode,s.parentNode.removeChild(s));break;case 27:sn||ti(s,a);var l=qt,p=Gn;os(s.type)&&(qt=s.stateNode,Gn=!1),ki(t,a,s),Pl(s.stateNode),qt=l,Gn=p;break;case 5:sn||ti(s,a);case 6:if(l=qt,p=Gn,qt=null,ki(t,a,s),qt=l,Gn=p,qt!==null)if(Gn)try{(qt.nodeType===9?qt.body:qt.nodeName==="HTML"?qt.ownerDocument.body:qt).removeChild(s.stateNode)}catch(f){jt(s,a,f)}else try{qt.removeChild(s.stateNode)}catch(f){jt(s,a,f)}break;case 18:qt!==null&&(Gn?(t=qt,$b(t.nodeType===9?t.body:t.nodeName==="HTML"?t.ownerDocument.body:t,s.stateNode),ur(t)):$b(qt,s.stateNode));break;case 4:l=qt,p=Gn,qt=s.stateNode.containerInfo,Gn=!0,ki(t,a,s),qt=l,Gn=p;break;case 0:case 11:case 14:case 15:Ji(2,s,a),sn||Ji(4,s,a),ki(t,a,s);break;case 1:sn||(ti(s,a),l=s.stateNode,typeof l.componentWillUnmount=="function"&&Gy(s,a,l)),ki(t,a,s);break;case 21:ki(t,a,s);break;case 22:sn=(l=sn)||s.memoizedState!==null,ki(t,a,s),sn=l;break;default:ki(t,a,s)}}function Wy(t,a){if(a.memoizedState===null&&(t=a.alternate,t!==null&&(t=t.memoizedState,t!==null))){t=t.dehydrated;try{ur(t)}catch(s){jt(a,a.return,s)}}}function Jy(t,a){if(a.memoizedState===null&&(t=a.alternate,t!==null&&(t=t.memoizedState,t!==null&&(t=t.dehydrated,t!==null))))try{ur(t)}catch(s){jt(a,a.return,s)}}function t4(t){switch(t.tag){case 31:case 13:case 19:var a=t.stateNode;return a===null&&(a=t.stateNode=new Fy),a;case 22:return t=t.stateNode,a=t._retryCache,a===null&&(a=t._retryCache=new Fy),a;default:throw Error(r(435,t.tag))}}function du(t,a){var s=t4(t);a.forEach(function(l){if(!s.has(l)){s.add(l);var p=u4.bind(null,t,l);l.then(p,p)}})}function Kn(t,a){var s=a.deletions;if(s!==null)for(var l=0;l<s.length;l++){var p=s[l],f=t,x=a,S=x;e:for(;S!==null;){switch(S.tag){case 27:if(os(S.type)){qt=S.stateNode,Gn=!1;break e}break;case 5:qt=S.stateNode,Gn=!1;break e;case 3:case 4:qt=S.stateNode.containerInfo,Gn=!0;break e}S=S.return}if(qt===null)throw Error(r(160));Xy(f,x,p),qt=null,Gn=!1,f=p.alternate,f!==null&&(f.return=null),p.return=null}if(a.subtreeFlags&13886)for(a=a.child;a!==null;)eb(a,t),a=a.sibling}var Ba=null;function eb(t,a){var s=t.alternate,l=t.flags;switch(t.tag){case 0:case 11:case 14:case 15:Kn(a,t),Hn(t),l&4&&(Ji(3,t,t.return),Cl(3,t),Ji(5,t,t.return));break;case 1:Kn(a,t),Hn(t),l&512&&(sn||s===null||ti(s,s.return)),l&64&&wi&&(t=t.updateQueue,t!==null&&(l=t.callbacks,l!==null&&(s=t.shared.hiddenCallbacks,t.shared.hiddenCallbacks=s===null?l:s.concat(l))));break;case 26:var p=Ba;if(Kn(a,t),Hn(t),l&512&&(sn||s===null||ti(s,s.return)),l&4){var f=s!==null?s.memoizedState:null;if(l=t.memoizedState,s===null)if(l===null)if(t.stateNode===null){e:{l=t.type,s=t.memoizedProps,p=p.ownerDocument||p;t:switch(l){case"title":f=p.getElementsByTagName("title")[0],(!f||f[Mi]||f[en]||f.namespaceURI==="http://www.w3.org/2000/svg"||f.hasAttribute("itemprop"))&&(f=p.createElement(l),p.head.insertBefore(f,p.querySelector("head > title"))),Cn(f,l,s),f[en]=t,Yt(f),l=f;break e;case"link":var x=ev("link","href",p).get(l+(s.href||""));if(x){for(var S=0;S<x.length;S++)if(f=x[S],f.getAttribute("href")===(s.href==null||s.href===""?null:s.href)&&f.getAttribute("rel")===(s.rel==null?null:s.rel)&&f.getAttribute("title")===(s.title==null?null:s.title)&&f.getAttribute("crossorigin")===(s.crossOrigin==null?null:s.crossOrigin)){x.splice(S,1);break t}}f=p.createElement(l),Cn(f,l,s),p.head.appendChild(f);break;case"meta":if(x=ev("meta","content",p).get(l+(s.content||""))){for(S=0;S<x.length;S++)if(f=x[S],f.getAttribute("content")===(s.content==null?null:""+s.content)&&f.getAttribute("name")===(s.name==null?null:s.name)&&f.getAttribute("property")===(s.property==null?null:s.property)&&f.getAttribute("http-equiv")===(s.httpEquiv==null?null:s.httpEquiv)&&f.getAttribute("charset")===(s.charSet==null?null:s.charSet)){x.splice(S,1);break t}}f=p.createElement(l),Cn(f,l,s),p.head.appendChild(f);break;default:throw Error(r(468,l))}f[en]=t,Yt(f),l=f}t.stateNode=l}else tv(p,t.type,t.stateNode);else t.stateNode=Jb(p,l,t.memoizedProps);else f!==l?(f===null?s.stateNode!==null&&(s=s.stateNode,s.parentNode.removeChild(s)):f.count--,l===null?tv(p,t.type,t.stateNode):Jb(p,l,t.memoizedProps)):l===null&&t.stateNode!==null&&zp(t,t.memoizedProps,s.memoizedProps)}break;case 27:Kn(a,t),Hn(t),l&512&&(sn||s===null||ti(s,s.return)),s!==null&&l&4&&zp(t,t.memoizedProps,s.memoizedProps);break;case 5:if(Kn(a,t),Hn(t),l&512&&(sn||s===null||ti(s,s.return)),t.flags&32){p=t.stateNode;try{ga(p,"")}catch(je){jt(t,t.return,je)}}l&4&&t.stateNode!=null&&(p=t.memoizedProps,zp(t,p,s!==null?s.memoizedProps:p)),l&1024&&(Pp=!0);break;case 6:if(Kn(a,t),Hn(t),l&4){if(t.stateNode===null)throw Error(r(162));l=t.memoizedProps,s=t.stateNode;try{s.nodeValue=l}catch(je){jt(t,t.return,je)}}break;case 3:if(Nu=null,p=Ba,Ba=Au(a.containerInfo),Kn(a,t),Ba=p,Hn(t),l&4&&s!==null&&s.memoizedState.isDehydrated)try{ur(a.containerInfo)}catch(je){jt(t,t.return,je)}Pp&&(Pp=!1,tb(t));break;case 4:l=Ba,Ba=Au(t.stateNode.containerInfo),Kn(a,t),Hn(t),Ba=l;break;case 12:Kn(a,t),Hn(t);break;case 31:Kn(a,t),Hn(t),l&4&&(l=t.updateQueue,l!==null&&(t.updateQueue=null,du(t,l)));break;case 13:Kn(a,t),Hn(t),t.child.flags&8192&&t.memoizedState!==null!=(s!==null&&s.memoizedState!==null)&&(pu=Pt()),l&4&&(l=t.updateQueue,l!==null&&(t.updateQueue=null,du(t,l)));break;case 22:p=t.memoizedState!==null;var E=s!==null&&s.memoizedState!==null,B=wi,Z=sn;if(wi=B||p,sn=Z||E,Kn(a,t),sn=Z,wi=B,Hn(t),l&8192)e:for(a=t.stateNode,a._visibility=p?a._visibility&-2:a._visibility|1,p&&(s===null||E||wi||sn||to(t)),s=null,a=t;;){if(a.tag===5||a.tag===26){if(s===null){E=s=a;try{if(f=E.stateNode,p)x=f.style,typeof x.setProperty=="function"?x.setProperty("display","none","important"):x.display="none";else{S=E.stateNode;var ie=E.memoizedProps.style,$=ie!=null&&ie.hasOwnProperty("display")?ie.display:null;S.style.display=$==null||typeof $=="boolean"?"":(""+$).trim()}}catch(je){jt(E,E.return,je)}}}else if(a.tag===6){if(s===null){E=a;try{E.stateNode.nodeValue=p?"":E.memoizedProps}catch(je){jt(E,E.return,je)}}}else if(a.tag===18){if(s===null){E=a;try{var Q=E.stateNode;p?Gb(Q,!0):Gb(E.stateNode,!1)}catch(je){jt(E,E.return,je)}}}else if((a.tag!==22&&a.tag!==23||a.memoizedState===null||a===t)&&a.child!==null){a.child.return=a,a=a.child;continue}if(a===t)break e;for(;a.sibling===null;){if(a.return===null||a.return===t)break e;s===a&&(s=null),a=a.return}s===a&&(s=null),a.sibling.return=a.return,a=a.sibling}l&4&&(l=t.updateQueue,l!==null&&(s=l.retryQueue,s!==null&&(l.retryQueue=null,du(t,s))));break;case 19:Kn(a,t),Hn(t),l&4&&(l=t.updateQueue,l!==null&&(t.updateQueue=null,du(t,l)));break;case 30:break;case 21:break;default:Kn(a,t),Hn(t)}}function Hn(t){var a=t.flags;if(a&2){try{for(var s,l=t.return;l!==null;){if(Hy(l)){s=l;break}l=l.return}if(s==null)throw Error(r(160));switch(s.tag){case 27:var p=s.stateNode,f=Op(t);uu(t,f,p);break;case 5:var x=s.stateNode;s.flags&32&&(ga(x,""),s.flags&=-33);var S=Op(t);uu(t,S,x);break;case 3:case 4:var E=s.stateNode.containerInfo,B=Op(t);Ip(t,B,E);break;default:throw Error(r(161))}}catch(Z){jt(t,t.return,Z)}t.flags&=-3}a&4096&&(t.flags&=-4097)}function tb(t){if(t.subtreeFlags&1024)for(t=t.child;t!==null;){var a=t;tb(a),a.tag===5&&a.flags&1024&&a.stateNode.reset(),t=t.sibling}}function Si(t,a){if(a.subtreeFlags&8772)for(a=a.child;a!==null;)Zy(t,a.alternate,a),a=a.sibling}function to(t){for(t=t.child;t!==null;){var a=t;switch(a.tag){case 0:case 11:case 14:case 15:Ji(4,a,a.return),to(a);break;case 1:ti(a,a.return);var s=a.stateNode;typeof s.componentWillUnmount=="function"&&Gy(a,a.return,s),to(a);break;case 27:Pl(a.stateNode);case 26:case 5:ti(a,a.return),to(a);break;case 22:a.memoizedState===null&&to(a);break;case 30:to(a);break;default:to(a)}t=t.sibling}}function ji(t,a,s){for(s=s&&(a.subtreeFlags&8772)!==0,a=a.child;a!==null;){var l=a.alternate,p=t,f=a,x=f.flags;switch(f.tag){case 0:case 11:case 15:ji(p,f,s),Cl(4,f);break;case 1:if(ji(p,f,s),l=f,p=l.stateNode,typeof p.componentDidMount=="function")try{p.componentDidMount()}catch(B){jt(l,l.return,B)}if(l=f,p=l.updateQueue,p!==null){var S=l.stateNode;try{var E=p.shared.hiddenCallbacks;if(E!==null)for(p.shared.hiddenCallbacks=null,p=0;p<E.length;p++)D1(E[p],S)}catch(B){jt(l,l.return,B)}}s&&x&64&&$y(f),Nl(f,f.return);break;case 27:Qy(f);case 26:case 5:ji(p,f,s),s&&l===null&&x&4&&Ky(f),Nl(f,f.return);break;case 12:ji(p,f,s);break;case 31:ji(p,f,s),s&&x&4&&Wy(p,f);break;case 13:ji(p,f,s),s&&x&4&&Jy(p,f);break;case 22:f.memoizedState===null&&ji(p,f,s),Nl(f,f.return);break;case 30:break;default:ji(p,f,s)}a=a.sibling}}function qp(t,a){var s=null;t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(s=t.memoizedState.cachePool.pool),t=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(t=a.memoizedState.cachePool.pool),t!==s&&(t!=null&&t.refCount++,s!=null&&pl(s))}function Mp(t,a){t=null,a.alternate!==null&&(t=a.alternate.memoizedState.cache),a=a.memoizedState.cache,a!==t&&(a.refCount++,t!=null&&pl(t))}function La(t,a,s,l){if(a.subtreeFlags&10256)for(a=a.child;a!==null;)nb(t,a,s,l),a=a.sibling}function nb(t,a,s,l){var p=a.flags;switch(a.tag){case 0:case 11:case 15:La(t,a,s,l),p&2048&&Cl(9,a);break;case 1:La(t,a,s,l);break;case 3:La(t,a,s,l),p&2048&&(t=null,a.alternate!==null&&(t=a.alternate.memoizedState.cache),a=a.memoizedState.cache,a!==t&&(a.refCount++,t!=null&&pl(t)));break;case 12:if(p&2048){La(t,a,s,l),t=a.stateNode;try{var f=a.memoizedProps,x=f.id,S=f.onPostCommit;typeof S=="function"&&S(x,a.alternate===null?"mount":"update",t.passiveEffectDuration,-0)}catch(E){jt(a,a.return,E)}}else La(t,a,s,l);break;case 31:La(t,a,s,l);break;case 13:La(t,a,s,l);break;case 23:break;case 22:f=a.stateNode,x=a.alternate,a.memoizedState!==null?f._visibility&2?La(t,a,s,l):_l(t,a):f._visibility&2?La(t,a,s,l):(f._visibility|=2,Jo(t,a,s,l,(a.subtreeFlags&10256)!==0||!1)),p&2048&&qp(x,a);break;case 24:La(t,a,s,l),p&2048&&Mp(a.alternate,a);break;default:La(t,a,s,l)}}function Jo(t,a,s,l,p){for(p=p&&((a.subtreeFlags&10256)!==0||!1),a=a.child;a!==null;){var f=t,x=a,S=s,E=l,B=x.flags;switch(x.tag){case 0:case 11:case 15:Jo(f,x,S,E,p),Cl(8,x);break;case 23:break;case 22:var Z=x.stateNode;x.memoizedState!==null?Z._visibility&2?Jo(f,x,S,E,p):_l(f,x):(Z._visibility|=2,Jo(f,x,S,E,p)),p&&B&2048&&qp(x.alternate,x);break;case 24:Jo(f,x,S,E,p),p&&B&2048&&Mp(x.alternate,x);break;default:Jo(f,x,S,E,p)}a=a.sibling}}function _l(t,a){if(a.subtreeFlags&10256)for(a=a.child;a!==null;){var s=t,l=a,p=l.flags;switch(l.tag){case 22:_l(s,l),p&2048&&qp(l.alternate,l);break;case 24:_l(s,l),p&2048&&Mp(l.alternate,l);break;default:_l(s,l)}a=a.sibling}}var Tl=8192;function er(t,a,s){if(t.subtreeFlags&Tl)for(t=t.child;t!==null;)ab(t,a,s),t=t.sibling}function ab(t,a,s){switch(t.tag){case 26:er(t,a,s),t.flags&Tl&&t.memoizedState!==null&&V4(s,Ba,t.memoizedState,t.memoizedProps);break;case 5:er(t,a,s);break;case 3:case 4:var l=Ba;Ba=Au(t.stateNode.containerInfo),er(t,a,s),Ba=l;break;case 22:t.memoizedState===null&&(l=t.alternate,l!==null&&l.memoizedState!==null?(l=Tl,Tl=16777216,er(t,a,s),Tl=l):er(t,a,s));break;default:er(t,a,s)}}function ib(t){var a=t.alternate;if(a!==null&&(t=a.child,t!==null)){a.child=null;do a=t.sibling,t.sibling=null,t=a;while(t!==null)}}function Rl(t){var a=t.deletions;if((t.flags&16)!==0){if(a!==null)for(var s=0;s<a.length;s++){var l=a[s];hn=l,ob(l,t)}ib(t)}if(t.subtreeFlags&10256)for(t=t.child;t!==null;)sb(t),t=t.sibling}function sb(t){switch(t.tag){case 0:case 11:case 15:Rl(t),t.flags&2048&&Ji(9,t,t.return);break;case 3:Rl(t);break;case 12:Rl(t);break;case 22:var a=t.stateNode;t.memoizedState!==null&&a._visibility&2&&(t.return===null||t.return.tag!==13)?(a._visibility&=-3,mu(t)):Rl(t);break;default:Rl(t)}}function mu(t){var a=t.deletions;if((t.flags&16)!==0){if(a!==null)for(var s=0;s<a.length;s++){var l=a[s];hn=l,ob(l,t)}ib(t)}for(t=t.child;t!==null;){switch(a=t,a.tag){case 0:case 11:case 15:Ji(8,a,a.return),mu(a);break;case 22:s=a.stateNode,s._visibility&2&&(s._visibility&=-3,mu(a));break;default:mu(a)}t=t.sibling}}function ob(t,a){for(;hn!==null;){var s=hn;switch(s.tag){case 0:case 11:case 15:Ji(8,s,a);break;case 23:case 22:if(s.memoizedState!==null&&s.memoizedState.cachePool!==null){var l=s.memoizedState.cachePool.pool;l!=null&&l.refCount++}break;case 24:pl(s.memoizedState.cache)}if(l=s.child,l!==null)l.return=s,hn=l;else e:for(s=t;hn!==null;){l=hn;var p=l.sibling,f=l.return;if(Yy(l),l===s){hn=null;break e}if(p!==null){p.return=f,hn=p;break e}hn=f}}}var n4={getCacheForType:function(t){var a=jn(tn),s=a.data.get(t);return s===void 0&&(s=t(),a.data.set(t,s)),s},cacheSignal:function(){return jn(tn).controller.signal}},a4=typeof WeakMap=="function"?WeakMap:Map,yt=0,Tt=null,ot=null,ct=0,St=0,ia=null,es=!1,tr=!1,Bp=!1,Ai=0,Ft=0,ts=0,no=0,Lp=0,sa=0,nr=0,El=null,Qn=null,Vp=!1,pu=0,rb=0,hu=1/0,fu=null,ns=null,rn=0,as=null,ar=null,Ci=0,Up=0,$p=null,lb=null,Dl=0,Gp=null;function oa(){return(yt&2)!==0&&ct!==0?ct&-ct:I.T!==null?Yp():No()}function cb(){if(sa===0)if((ct&536870912)===0||pt){var t=Qe;Qe<<=1,(Qe&3932160)===0&&(Qe=262144),sa=t}else sa=536870912;return t=na.current,t!==null&&(t.flags|=32),sa}function Fn(t,a,s){(t===Tt&&(St===2||St===9)||t.cancelPendingCommit!==null)&&(ir(t,0),is(t,ct,sa,!1)),Os(t,s),((yt&2)===0||t!==Tt)&&(t===Tt&&((yt&2)===0&&(no|=s),Ft===4&&is(t,ct,sa,!1)),ni(t))}function ub(t,a,s){if((yt&6)!==0)throw Error(r(327));var l=!s&&(a&127)===0&&(a&t.expiredLanes)===0||Zt(t,a),p=l?o4(t,a):Hp(t,a,!0),f=l;do{if(p===0){tr&&!l&&is(t,a,0,!1);break}else{if(s=t.current.alternate,f&&!i4(s)){p=Hp(t,a,!1),f=!1;continue}if(p===2){if(f=a,t.errorRecoveryDisabledLanes&f)var x=0;else x=t.pendingLanes&-536870913,x=x!==0?x:x&536870912?536870912:0;if(x!==0){a=x;e:{var S=t;p=El;var E=S.current.memoizedState.isDehydrated;if(E&&(ir(S,x).flags|=256),x=Hp(S,x,!1),x!==2){if(Bp&&!E){S.errorRecoveryDisabledLanes|=f,no|=f,p=4;break e}f=Qn,Qn=p,f!==null&&(Qn===null?Qn=f:Qn.push.apply(Qn,f))}p=x}if(f=!1,p!==2)continue}}if(p===1){ir(t,0),is(t,a,0,!0);break}e:{switch(l=t,f=p,f){case 0:case 1:throw Error(r(345));case 4:if((a&4194048)!==a)break;case 6:is(l,a,sa,!es);break e;case 2:Qn=null;break;case 3:case 5:break;default:throw Error(r(329))}if((a&62914560)===a&&(p=pu+300-Pt(),10<p)){if(is(l,a,sa,!es),We(l,0,!0)!==0)break e;Ci=a,l.timeoutHandle=Vb(db.bind(null,l,s,Qn,fu,Vp,a,sa,no,nr,es,f,"Throttled",-0,0),p);break e}db(l,s,Qn,fu,Vp,a,sa,no,nr,es,f,null,-0,0)}}break}while(!0);ni(t)}function db(t,a,s,l,p,f,x,S,E,B,Z,ie,$,Q){if(t.timeoutHandle=-1,ie=a.subtreeFlags,ie&8192||(ie&16785408)===16785408){ie={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:Ia},ab(a,f,ie);var je=(f&62914560)===f?pu-Pt():(f&4194048)===f?rb-Pt():0;if(je=U4(ie,je),je!==null){Ci=f,t.cancelPendingCommit=je(vb.bind(null,t,a,f,s,l,p,x,S,E,Z,ie,null,$,Q)),is(t,f,x,!B);return}}vb(t,a,f,s,l,p,x,S,E)}function i4(t){for(var a=t;;){var s=a.tag;if((s===0||s===11||s===15)&&a.flags&16384&&(s=a.updateQueue,s!==null&&(s=s.stores,s!==null)))for(var l=0;l<s.length;l++){var p=s[l],f=p.getSnapshot;p=p.value;try{if(!ea(f(),p))return!1}catch{return!1}}if(s=a.child,a.subtreeFlags&16384&&s!==null)s.return=a,a=s;else{if(a===t)break;for(;a.sibling===null;){if(a.return===null||a.return===t)return!0;a=a.return}a.sibling.return=a.return,a=a.sibling}}return!0}function is(t,a,s,l){a&=~Lp,a&=~no,t.suspendedLanes|=a,t.pingedLanes&=~a,l&&(t.warmLanes|=a),l=t.expirationTimes;for(var p=a;0<p;){var f=31-xn(p),x=1<<f;l[f]=-1,p&=~x}s!==0&&$r(t,s,a)}function gu(){return(yt&6)===0?(zl(0),!1):!0}function Kp(){if(ot!==null){if(St===0)var t=ot.return;else t=ot,fi=Qs=null,rp(t),Fo=null,fl=0,t=ot;for(;t!==null;)Uy(t.alternate,t),t=t.return;ot=null}}function ir(t,a){var s=t.timeoutHandle;s!==-1&&(t.timeoutHandle=-1,j4(s)),s=t.cancelPendingCommit,s!==null&&(t.cancelPendingCommit=null,s()),Ci=0,Kp(),Tt=t,ot=s=pi(t.current,null),ct=a,St=0,ia=null,es=!1,tr=Zt(t,a),Bp=!1,nr=sa=Lp=no=ts=Ft=0,Qn=El=null,Vp=!1,(a&8)!==0&&(a|=a&32);var l=t.entangledLanes;if(l!==0)for(t=t.entanglements,l&=a;0<l;){var p=31-xn(l),f=1<<p;a|=t[p],l&=~f}return Ai=a,qc(),s}function mb(t,a){Ye=null,I.H=Sl,a===Qo||a===Kc?(a=_1(),St=3):a===Zm?(a=_1(),St=4):St=a===Sp?8:a!==null&&typeof a=="object"&&typeof a.then=="function"?6:1,ia=a,ot===null&&(Ft=1,su(t,xa(a,t.current)))}function pb(){var t=na.current;return t===null?!0:(ct&4194048)===ct?ja===null:(ct&62914560)===ct||(ct&536870912)!==0?t===ja:!1}function hb(){var t=I.H;return I.H=Sl,t===null?Sl:t}function fb(){var t=I.A;return I.A=n4,t}function yu(){Ft=4,es||(ct&4194048)!==ct&&na.current!==null||(tr=!0),(ts&134217727)===0&&(no&134217727)===0||Tt===null||is(Tt,ct,sa,!1)}function Hp(t,a,s){var l=yt;yt|=2;var p=hb(),f=fb();(Tt!==t||ct!==a)&&(fu=null,ir(t,a)),a=!1;var x=Ft;e:do try{if(St!==0&&ot!==null){var S=ot,E=ia;switch(St){case 8:Kp(),x=6;break e;case 3:case 2:case 9:case 6:na.current===null&&(a=!0);var B=St;if(St=0,ia=null,sr(t,S,E,B),s&&tr){x=0;break e}break;default:B=St,St=0,ia=null,sr(t,S,E,B)}}s4(),x=Ft;break}catch(Z){mb(t,Z)}while(!0);return a&&t.shellSuspendCounter++,fi=Qs=null,yt=l,I.H=p,I.A=f,ot===null&&(Tt=null,ct=0,qc()),x}function s4(){for(;ot!==null;)gb(ot)}function o4(t,a){var s=yt;yt|=2;var l=hb(),p=fb();Tt!==t||ct!==a?(fu=null,hu=Pt()+500,ir(t,a)):tr=Zt(t,a);e:do try{if(St!==0&&ot!==null){a=ot;var f=ia;t:switch(St){case 1:St=0,ia=null,sr(t,a,f,1);break;case 2:case 9:if(C1(f)){St=0,ia=null,yb(a);break}a=function(){St!==2&&St!==9||Tt!==t||(St=7),ni(t)},f.then(a,a);break e;case 3:St=7;break e;case 4:St=5;break e;case 7:C1(f)?(St=0,ia=null,yb(a)):(St=0,ia=null,sr(t,a,f,7));break;case 5:var x=null;switch(ot.tag){case 26:x=ot.memoizedState;case 5:case 27:var S=ot;if(x?nv(x):S.stateNode.complete){St=0,ia=null;var E=S.sibling;if(E!==null)ot=E;else{var B=S.return;B!==null?(ot=B,bu(B)):ot=null}break t}}St=0,ia=null,sr(t,a,f,5);break;case 6:St=0,ia=null,sr(t,a,f,6);break;case 8:Kp(),Ft=6;break e;default:throw Error(r(462))}}r4();break}catch(Z){mb(t,Z)}while(!0);return fi=Qs=null,I.H=l,I.A=p,yt=s,ot!==null?0:(Tt=null,ct=0,qc(),Ft)}function r4(){for(;ot!==null&&!Gt();)gb(ot)}function gb(t){var a=Ly(t.alternate,t,Ai);t.memoizedProps=t.pendingProps,a===null?bu(t):ot=a}function yb(t){var a=t,s=a.alternate;switch(a.tag){case 15:case 0:a=Oy(s,a,a.pendingProps,a.type,void 0,ct);break;case 11:a=Oy(s,a,a.pendingProps,a.type.render,a.ref,ct);break;case 5:rp(a);default:Uy(s,a),a=ot=f1(a,Ai),a=Ly(s,a,Ai)}t.memoizedProps=t.pendingProps,a===null?bu(t):ot=a}function sr(t,a,s,l){fi=Qs=null,rp(a),Fo=null,fl=0;var p=a.return;try{if(ZC(t,p,a,s,ct)){Ft=1,su(t,xa(s,t.current)),ot=null;return}}catch(f){if(p!==null)throw ot=p,f;Ft=1,su(t,xa(s,t.current)),ot=null;return}a.flags&32768?(pt||l===1?t=!0:tr||(ct&536870912)!==0?t=!1:(es=t=!0,(l===2||l===9||l===3||l===6)&&(l=na.current,l!==null&&l.tag===13&&(l.flags|=16384))),bb(a,t)):bu(a)}function bu(t){var a=t;do{if((a.flags&32768)!==0){bb(a,es);return}t=a.return;var s=WC(a.alternate,a,Ai);if(s!==null){ot=s;return}if(a=a.sibling,a!==null){ot=a;return}ot=a=t}while(a!==null);Ft===0&&(Ft=5)}function bb(t,a){do{var s=JC(t.alternate,t);if(s!==null){s.flags&=32767,ot=s;return}if(s=t.return,s!==null&&(s.flags|=32768,s.subtreeFlags=0,s.deletions=null),!a&&(t=t.sibling,t!==null)){ot=t;return}ot=t=s}while(t!==null);Ft=6,ot=null}function vb(t,a,s,l,p,f,x,S,E){t.cancelPendingCommit=null;do vu();while(rn!==0);if((yt&6)!==0)throw Error(r(327));if(a!==null){if(a===t.current)throw Error(r(177));if(f=a.lanes|a.childLanes,f|=Om,_c(t,s,f,x,S,E),t===Tt&&(ot=Tt=null,ct=0),ar=a,as=t,Ci=s,Up=f,$p=p,lb=l,(a.subtreeFlags&10256)!==0||(a.flags&10256)!==0?(t.callbackNode=null,t.callbackPriority=0,d4(ri,function(){return jb(),null})):(t.callbackNode=null,t.callbackPriority=0),l=(a.flags&13878)!==0,(a.subtreeFlags&13878)!==0||l){l=I.T,I.T=null,p=Y.p,Y.p=2,x=yt,yt|=4;try{e4(t,a,s)}finally{yt=x,Y.p=p,I.T=l}}rn=1,xb(),wb(),kb()}}function xb(){if(rn===1){rn=0;var t=as,a=ar,s=(a.flags&13878)!==0;if((a.subtreeFlags&13878)!==0||s){s=I.T,I.T=null;var l=Y.p;Y.p=2;var p=yt;yt|=4;try{eb(a,t);var f=ih,x=o1(t.containerInfo),S=f.focusedElem,E=f.selectionRange;if(x!==S&&S&&S.ownerDocument&&s1(S.ownerDocument.documentElement,S)){if(E!==null&&Tm(S)){var B=E.start,Z=E.end;if(Z===void 0&&(Z=B),"selectionStart"in S)S.selectionStart=B,S.selectionEnd=Math.min(Z,S.value.length);else{var ie=S.ownerDocument||document,$=ie&&ie.defaultView||window;if($.getSelection){var Q=$.getSelection(),je=S.textContent.length,Ue=Math.min(E.start,je),_t=E.end===void 0?Ue:Math.min(E.end,je);!Q.extend&&Ue>_t&&(x=_t,_t=Ue,Ue=x);var P=i1(S,Ue),z=i1(S,_t);if(P&&z&&(Q.rangeCount!==1||Q.anchorNode!==P.node||Q.anchorOffset!==P.offset||Q.focusNode!==z.node||Q.focusOffset!==z.offset)){var M=ie.createRange();M.setStart(P.node,P.offset),Q.removeAllRanges(),Ue>_t?(Q.addRange(M),Q.extend(z.node,z.offset)):(M.setEnd(z.node,z.offset),Q.addRange(M))}}}}for(ie=[],Q=S;Q=Q.parentNode;)Q.nodeType===1&&ie.push({element:Q,left:Q.scrollLeft,top:Q.scrollTop});for(typeof S.focus=="function"&&S.focus(),S=0;S<ie.length;S++){var te=ie[S];te.element.scrollLeft=te.left,te.element.scrollTop=te.top}}Eu=!!ah,ih=ah=null}finally{yt=p,Y.p=l,I.T=s}}t.current=a,rn=2}}function wb(){if(rn===2){rn=0;var t=as,a=ar,s=(a.flags&8772)!==0;if((a.subtreeFlags&8772)!==0||s){s=I.T,I.T=null;var l=Y.p;Y.p=2;var p=yt;yt|=4;try{Zy(t,a.alternate,a)}finally{yt=p,Y.p=l,I.T=s}}rn=3}}function kb(){if(rn===4||rn===3){rn=0,Tn();var t=as,a=ar,s=Ci,l=lb;(a.subtreeFlags&10256)!==0||(a.flags&10256)!==0?rn=5:(rn=0,ar=as=null,Sb(t,t.pendingLanes));var p=t.pendingLanes;if(p===0&&(ns=null),Qr(s),a=a.stateNode,kt&&typeof kt.onCommitFiberRoot=="function")try{kt.onCommitFiberRoot(mn,a,void 0,(a.current.flags&128)===128)}catch{}if(l!==null){a=I.T,p=Y.p,Y.p=2,I.T=null;try{for(var f=t.onRecoverableError,x=0;x<l.length;x++){var S=l[x];f(S.value,{componentStack:S.stack})}}finally{I.T=a,Y.p=p}}(Ci&3)!==0&&vu(),ni(t),p=t.pendingLanes,(s&261930)!==0&&(p&42)!==0?t===Gp?Dl++:(Dl=0,Gp=t):Dl=0,zl(0)}}function Sb(t,a){(t.pooledCacheLanes&=a)===0&&(a=t.pooledCache,a!=null&&(t.pooledCache=null,pl(a)))}function vu(){return xb(),wb(),kb(),jb()}function jb(){if(rn!==5)return!1;var t=as,a=Up;Up=0;var s=Qr(Ci),l=I.T,p=Y.p;try{Y.p=32>s?32:s,I.T=null,s=$p,$p=null;var f=as,x=Ci;if(rn=0,ar=as=null,Ci=0,(yt&6)!==0)throw Error(r(331));var S=yt;if(yt|=4,sb(f.current),nb(f,f.current,x,s),yt=S,zl(0,!1),kt&&typeof kt.onPostCommitFiberRoot=="function")try{kt.onPostCommitFiberRoot(mn,f)}catch{}return!0}finally{Y.p=p,I.T=l,Sb(t,a)}}function Ab(t,a,s){a=xa(s,a),a=kp(t.stateNode,a,2),t=Yi(t,a,2),t!==null&&(Os(t,2),ni(t))}function jt(t,a,s){if(t.tag===3)Ab(t,t,s);else for(;a!==null;){if(a.tag===3){Ab(a,t,s);break}else if(a.tag===1){var l=a.stateNode;if(typeof a.type.getDerivedStateFromError=="function"||typeof l.componentDidCatch=="function"&&(ns===null||!ns.has(l))){t=xa(s,t),s=Cy(2),l=Yi(a,s,2),l!==null&&(Ny(s,l,a,t),Os(l,2),ni(l));break}}a=a.return}}function Qp(t,a,s){var l=t.pingCache;if(l===null){l=t.pingCache=new a4;var p=new Set;l.set(a,p)}else p=l.get(a),p===void 0&&(p=new Set,l.set(a,p));p.has(s)||(Bp=!0,p.add(s),t=l4.bind(null,t,a,s),a.then(t,t))}function l4(t,a,s){var l=t.pingCache;l!==null&&l.delete(a),t.pingedLanes|=t.suspendedLanes&s,t.warmLanes&=~s,Tt===t&&(ct&s)===s&&(Ft===4||Ft===3&&(ct&62914560)===ct&&300>Pt()-pu?(yt&2)===0&&ir(t,0):Lp|=s,nr===ct&&(nr=0)),ni(t)}function Cb(t,a){a===0&&(a=zs()),t=Gs(t,a),t!==null&&(Os(t,a),ni(t))}function c4(t){var a=t.memoizedState,s=0;a!==null&&(s=a.retryLane),Cb(t,s)}function u4(t,a){var s=0;switch(t.tag){case 31:case 13:var l=t.stateNode,p=t.memoizedState;p!==null&&(s=p.retryLane);break;case 19:l=t.stateNode;break;case 22:l=t.stateNode._retryCache;break;default:throw Error(r(314))}l!==null&&l.delete(a),Cb(t,s)}function d4(t,a){return lt(t,a)}var xu=null,or=null,Fp=!1,wu=!1,Zp=!1,ss=0;function ni(t){t!==or&&t.next===null&&(or===null?xu=or=t:or=or.next=t),wu=!0,Fp||(Fp=!0,p4())}function zl(t,a){if(!Zp&&wu){Zp=!0;do for(var s=!1,l=xu;l!==null;){if(t!==0){var p=l.pendingLanes;if(p===0)var f=0;else{var x=l.suspendedLanes,S=l.pingedLanes;f=(1<<31-xn(42|t)+1)-1,f&=p&~(x&~S),f=f&201326741?f&201326741|1:f?f|2:0}f!==0&&(s=!0,Rb(l,f))}else f=ct,f=We(l,l===Tt?f:0,l.cancelPendingCommit!==null||l.timeoutHandle!==-1),(f&3)===0||Zt(l,f)||(s=!0,Rb(l,f));l=l.next}while(s);Zp=!1}}function m4(){Nb()}function Nb(){wu=Fp=!1;var t=0;ss!==0&&S4()&&(t=ss);for(var a=Pt(),s=null,l=xu;l!==null;){var p=l.next,f=_b(l,a);f===0?(l.next=null,s===null?xu=p:s.next=p,p===null&&(or=s)):(s=l,(t!==0||(f&3)!==0)&&(wu=!0)),l=p}rn!==0&&rn!==5||zl(t),ss!==0&&(ss=0)}function _b(t,a){for(var s=t.suspendedLanes,l=t.pingedLanes,p=t.expirationTimes,f=t.pendingLanes&-62914561;0<f;){var x=31-xn(f),S=1<<x,E=p[x];E===-1?((S&s)===0||(S&l)!==0)&&(p[x]=Ha(S,a)):E<=a&&(t.expiredLanes|=S),f&=~S}if(a=Tt,s=ct,s=We(t,t===a?s:0,t.cancelPendingCommit!==null||t.timeoutHandle!==-1),l=t.callbackNode,s===0||t===a&&(St===2||St===9)||t.cancelPendingCommit!==null)return l!==null&&l!==null&&$t(l),t.callbackNode=null,t.callbackPriority=0;if((s&3)===0||Zt(t,s)){if(a=s&-s,a===t.callbackPriority)return a;switch(l!==null&&$t(l),Qr(s)){case 2:case 8:s=Un;break;case 32:s=ri;break;case 268435456:s=Ii;break;default:s=ri}return l=Tb.bind(null,t),s=lt(s,l),t.callbackPriority=a,t.callbackNode=s,a}return l!==null&&l!==null&&$t(l),t.callbackPriority=2,t.callbackNode=null,2}function Tb(t,a){if(rn!==0&&rn!==5)return t.callbackNode=null,t.callbackPriority=0,null;var s=t.callbackNode;if(vu()&&t.callbackNode!==s)return null;var l=ct;return l=We(t,t===Tt?l:0,t.cancelPendingCommit!==null||t.timeoutHandle!==-1),l===0?null:(ub(t,l,a),_b(t,Pt()),t.callbackNode!=null&&t.callbackNode===s?Tb.bind(null,t):null)}function Rb(t,a){if(vu())return null;ub(t,a,!0)}function p4(){A4(function(){(yt&6)!==0?lt(Ts,m4):Nb()})}function Yp(){if(ss===0){var t=Ko;t===0&&(t=ze,ze<<=1,(ze&261888)===0&&(ze=256)),ss=t}return ss}function Eb(t){return t==null||typeof t=="symbol"||typeof t=="boolean"?null:typeof t=="function"?t:zo(""+t)}function Db(t,a){var s=a.ownerDocument.createElement("input");return s.name=a.name,s.value=a.value,t.id&&s.setAttribute("form",t.id),a.parentNode.insertBefore(s,a),t=new FormData(t),s.parentNode.removeChild(s),t}function h4(t,a,s,l,p){if(a==="submit"&&s&&s.stateNode===p){var f=Eb((p[Rn]||null).action),x=l.submitter;x&&(a=(a=x[Rn]||null)?Eb(a.formAction):x.getAttribute("formAction"),a!==null&&(f=a,x=null));var S=new Bs("action","action",null,l,p);t.push({event:S,listeners:[{instance:null,listener:function(){if(l.defaultPrevented){if(ss!==0){var E=x?Db(p,x):new FormData(p);gp(s,{pending:!0,data:E,method:p.method,action:f},null,E)}}else typeof f=="function"&&(S.preventDefault(),E=x?Db(p,x):new FormData(p),gp(s,{pending:!0,data:E,method:p.method,action:f},f,E))},currentTarget:p}]})}}for(var Xp=0;Xp<zm.length;Xp++){var Wp=zm[Xp],f4=Wp.toLowerCase(),g4=Wp[0].toUpperCase()+Wp.slice(1);Ma(f4,"on"+g4)}Ma(c1,"onAnimationEnd"),Ma(u1,"onAnimationIteration"),Ma(d1,"onAnimationStart"),Ma("dblclick","onDoubleClick"),Ma("focusin","onFocus"),Ma("focusout","onBlur"),Ma(DC,"onTransitionRun"),Ma(zC,"onTransitionStart"),Ma(OC,"onTransitionCancel"),Ma(m1,"onTransitionEnd"),Is("onMouseEnter",["mouseout","mouseover"]),Is("onMouseLeave",["mouseout","mouseover"]),Is("onPointerEnter",["pointerout","pointerover"]),Is("onPointerLeave",["pointerout","pointerover"]),Qa("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),Qa("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),Qa("onBeforeInput",["compositionend","keypress","textInput","paste"]),Qa("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),Qa("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),Qa("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Ol="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),y4=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(Ol));function zb(t,a){a=(a&4)!==0;for(var s=0;s<t.length;s++){var l=t[s],p=l.event;l=l.listeners;e:{var f=void 0;if(a)for(var x=l.length-1;0<=x;x--){var S=l[x],E=S.instance,B=S.currentTarget;if(S=S.listener,E!==f&&p.isPropagationStopped())break e;f=S,p.currentTarget=B;try{f(p)}catch(Z){Pc(Z)}p.currentTarget=null,f=E}else for(x=0;x<l.length;x++){if(S=l[x],E=S.instance,B=S.currentTarget,S=S.listener,E!==f&&p.isPropagationStopped())break e;f=S,p.currentTarget=B;try{f(p)}catch(Z){Pc(Z)}p.currentTarget=null,f=E}}}}function rt(t,a){var s=a[_o];s===void 0&&(s=a[_o]=new Set);var l=t+"__bubble";s.has(l)||(Ob(a,t,2,!1),s.add(l))}function Jp(t,a,s){var l=0;a&&(l|=4),Ob(s,t,l,a)}var ku="_reactListening"+Math.random().toString(36).slice(2);function eh(t){if(!t[ku]){t[ku]=!0,Zr.forEach(function(s){s!=="selectionchange"&&(y4.has(s)||Jp(s,!1,t),Jp(s,!0,t))});var a=t.nodeType===9?t:t.ownerDocument;a===null||a[ku]||(a[ku]=!0,Jp("selectionchange",!1,a))}}function Ob(t,a,s,l){switch(cv(a)){case 2:var p=K4;break;case 8:p=H4;break;default:p=fh}s=p.bind(null,a,s,t),p=void 0,!il||a!=="touchstart"&&a!=="touchmove"&&a!=="wheel"||(p=!0),l?p!==void 0?t.addEventListener(a,s,{capture:!0,passive:p}):t.addEventListener(a,s,!0):p!==void 0?t.addEventListener(a,s,{passive:p}):t.addEventListener(a,s,!1)}function th(t,a,s,l,p){var f=l;if((a&1)===0&&(a&2)===0&&l!==null)e:for(;;){if(l===null)return;var x=l.tag;if(x===3||x===4){var S=l.stateNode.containerInfo;if(S===p)break;if(x===4)for(x=l.return;x!==null;){var E=x.tag;if((E===3||E===4)&&x.stateNode.containerInfo===p)return;x=x.return}for(;S!==null;){if(x=li(S),x===null)return;if(E=x.tag,E===5||E===6||E===26||E===27){l=f=x;continue e}S=S.parentNode}}l=l.return}Dc(function(){var B=f,Z=nl(s),ie=[];e:{var $=p1.get(t);if($!==void 0){var Q=Bs,je=t;switch(t){case"keypress":if(Pa(s)===0)break e;case"keydown":case"keyup":Q=uC;break;case"focusin":je="focus",Q=jm;break;case"focusout":je="blur",Q=jm;break;case"beforeblur":case"afterblur":Q=jm;break;case"click":if(s.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":Q=Ug;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":Q=WA;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":Q=pC;break;case c1:case u1:case d1:Q=tC;break;case m1:Q=fC;break;case"scroll":case"scrollend":Q=Vs;break;case"wheel":Q=yC;break;case"copy":case"cut":case"paste":Q=aC;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":Q=Gg;break;case"toggle":case"beforetoggle":Q=vC}var Ue=(a&4)!==0,_t=!Ue&&(t==="scroll"||t==="scrollend"),P=Ue?$!==null?$+"Capture":null:$;Ue=[];for(var z=B,M;z!==null;){var te=z;if(M=te.stateNode,te=te.tag,te!==5&&te!==26&&te!==27||M===null||P===null||(te=qs(z,P),te!=null&&Ue.push(Il(z,te,M))),_t)break;z=z.return}0<Ue.length&&($=new Q($,je,null,s,Z),ie.push({event:$,listeners:Ue}))}}if((a&7)===0){e:{if($=t==="mouseover"||t==="pointerover",Q=t==="mouseout"||t==="pointerout",$&&s!==tl&&(je=s.relatedTarget||s.fromElement)&&(li(je)||je[qi]))break e;if((Q||$)&&($=Z.window===Z?Z:($=Z.ownerDocument)?$.defaultView||$.parentWindow:window,Q?(je=s.relatedTarget||s.toElement,Q=B,je=je?li(je):null,je!==null&&(_t=h(je),Ue=je.tag,je!==_t||Ue!==5&&Ue!==27&&Ue!==6)&&(je=null)):(Q=null,je=B),Q!==je)){if(Ue=Ug,te="onMouseLeave",P="onMouseEnter",z="mouse",(t==="pointerout"||t==="pointerover")&&(Ue=Gg,te="onPointerLeave",P="onPointerEnter",z="pointer"),_t=Q==null?$:Li(Q),M=je==null?$:Li(je),$=new Ue(te,z+"leave",Q,s,Z),$.target=_t,$.relatedTarget=M,te=null,li(Z)===B&&(Ue=new Ue(P,z+"enter",je,s,Z),Ue.target=M,Ue.relatedTarget=_t,te=Ue),_t=te,Q&&je)t:{for(Ue=b4,P=Q,z=je,M=0,te=P;te;te=Ue(te))M++;te=0;for(var Me=z;Me;Me=Ue(Me))te++;for(;0<M-te;)P=Ue(P),M--;for(;0<te-M;)z=Ue(z),te--;for(;M--;){if(P===z||z!==null&&P===z.alternate){Ue=P;break t}P=Ue(P),z=Ue(z)}Ue=null}else Ue=null;Q!==null&&Ib(ie,$,Q,Ue,!1),je!==null&&_t!==null&&Ib(ie,_t,je,Ue,!0)}}e:{if($=B?Li(B):window,Q=$.nodeName&&$.nodeName.toLowerCase(),Q==="select"||Q==="input"&&$.type==="file")var ft=Wg;else if(Yg($))if(Jg)ft=TC;else{ft=NC;var Te=CC}else Q=$.nodeName,!Q||Q.toLowerCase()!=="input"||$.type!=="checkbox"&&$.type!=="radio"?B&&Oa(B.elementType)&&(ft=Wg):ft=_C;if(ft&&(ft=ft(t,B))){Xg(ie,ft,s,Z);break e}Te&&Te(t,$,B),t==="focusout"&&B&&$.type==="number"&&B.memoizedProps.value!=null&&Eo($,"number",$.value)}switch(Te=B?Li(B):window,t){case"focusin":(Yg(Te)||Te.contentEditable==="true")&&(qo=Te,Rm=B,ul=null);break;case"focusout":ul=Rm=qo=null;break;case"mousedown":Em=!0;break;case"contextmenu":case"mouseup":case"dragend":Em=!1,r1(ie,s,Z);break;case"selectionchange":if(EC)break;case"keydown":case"keyup":r1(ie,s,Z)}var Je;if(Cm)e:{switch(t){case"compositionstart":var ut="onCompositionStart";break e;case"compositionend":ut="onCompositionEnd";break e;case"compositionupdate":ut="onCompositionUpdate";break e}ut=void 0}else Po?Fg(t,s)&&(ut="onCompositionEnd"):t==="keydown"&&s.keyCode===229&&(ut="onCompositionStart");ut&&(Kg&&s.locale!=="ko"&&(Po||ut!=="onCompositionStart"?ut==="onCompositionEnd"&&Po&&(Je=mi()):(Xa=Z,U="value"in Xa?Xa.value:Xa.textContent,Po=!0)),Te=Su(B,ut),0<Te.length&&(ut=new $g(ut,t,null,s,Z),ie.push({event:ut,listeners:Te}),Je?ut.data=Je:(Je=Zg(s),Je!==null&&(ut.data=Je)))),(Je=wC?kC(t,s):SC(t,s))&&(ut=Su(B,"onBeforeInput"),0<ut.length&&(Te=new $g("onBeforeInput","beforeinput",null,s,Z),ie.push({event:Te,listeners:ut}),Te.data=Je)),h4(ie,t,B,s,Z)}zb(ie,a)})}function Il(t,a,s){return{instance:t,listener:a,currentTarget:s}}function Su(t,a){for(var s=a+"Capture",l=[];t!==null;){var p=t,f=p.stateNode;if(p=p.tag,p!==5&&p!==26&&p!==27||f===null||(p=qs(t,s),p!=null&&l.unshift(Il(t,p,f)),p=qs(t,a),p!=null&&l.push(Il(t,p,f))),t.tag===3)return l;t=t.return}return[]}function b4(t){if(t===null)return null;do t=t.return;while(t&&t.tag!==5&&t.tag!==27);return t||null}function Ib(t,a,s,l,p){for(var f=a._reactName,x=[];s!==null&&s!==l;){var S=s,E=S.alternate,B=S.stateNode;if(S=S.tag,E!==null&&E===l)break;S!==5&&S!==26&&S!==27||B===null||(E=B,p?(B=qs(s,f),B!=null&&x.unshift(Il(s,B,E))):p||(B=qs(s,f),B!=null&&x.push(Il(s,B,E)))),s=s.return}x.length!==0&&t.push({event:a,listeners:x})}var v4=/\r\n?/g,x4=/\u0000|\uFFFD/g;function Pb(t){return(typeof t=="string"?t:""+t).replace(v4,`
10
- `).replace(x4,"")}function qb(t,a){return a=Pb(a),Pb(t)===a}function Nt(t,a,s,l,p,f){switch(s){case"children":typeof l=="string"?a==="body"||a==="textarea"&&l===""||ga(t,l):(typeof l=="number"||typeof l=="bigint")&&a!=="body"&&ga(t,""+l);break;case"className":Ps(t,"class",l);break;case"tabIndex":Ps(t,"tabindex",l);break;case"dir":case"role":case"viewBox":case"width":case"height":Ps(t,s,l);break;case"style":Ya(t,l,f);break;case"data":if(a!=="object"){Ps(t,"data",l);break}case"src":case"href":if(l===""&&(a!=="a"||s!=="href")){t.removeAttribute(s);break}if(l==null||typeof l=="function"||typeof l=="symbol"||typeof l=="boolean"){t.removeAttribute(s);break}l=zo(""+l),t.setAttribute(s,l);break;case"action":case"formAction":if(typeof l=="function"){t.setAttribute(s,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof f=="function"&&(s==="formAction"?(a!=="input"&&Nt(t,a,"name",p.name,p,null),Nt(t,a,"formEncType",p.formEncType,p,null),Nt(t,a,"formMethod",p.formMethod,p,null),Nt(t,a,"formTarget",p.formTarget,p,null)):(Nt(t,a,"encType",p.encType,p,null),Nt(t,a,"method",p.method,p,null),Nt(t,a,"target",p.target,p,null)));if(l==null||typeof l=="symbol"||typeof l=="boolean"){t.removeAttribute(s);break}l=zo(""+l),t.setAttribute(s,l);break;case"onClick":l!=null&&(t.onclick=Ia);break;case"onScroll":l!=null&&rt("scroll",t);break;case"onScrollEnd":l!=null&&rt("scrollend",t);break;case"dangerouslySetInnerHTML":if(l!=null){if(typeof l!="object"||!("__html"in l))throw Error(r(61));if(s=l.__html,s!=null){if(p.children!=null)throw Error(r(60));t.innerHTML=s}}break;case"multiple":t.multiple=l&&typeof l!="function"&&typeof l!="symbol";break;case"muted":t.muted=l&&typeof l!="function"&&typeof l!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(l==null||typeof l=="function"||typeof l=="boolean"||typeof l=="symbol"){t.removeAttribute("xlink:href");break}s=zo(""+l),t.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",s);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":l!=null&&typeof l!="function"&&typeof l!="symbol"?t.setAttribute(s,""+l):t.removeAttribute(s);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":l&&typeof l!="function"&&typeof l!="symbol"?t.setAttribute(s,""):t.removeAttribute(s);break;case"capture":case"download":l===!0?t.setAttribute(s,""):l!==!1&&l!=null&&typeof l!="function"&&typeof l!="symbol"?t.setAttribute(s,l):t.removeAttribute(s);break;case"cols":case"rows":case"size":case"span":l!=null&&typeof l!="function"&&typeof l!="symbol"&&!isNaN(l)&&1<=l?t.setAttribute(s,l):t.removeAttribute(s);break;case"rowSpan":case"start":l==null||typeof l=="function"||typeof l=="symbol"||isNaN(l)?t.removeAttribute(s):t.setAttribute(s,l);break;case"popover":rt("beforetoggle",t),rt("toggle",t),ci(t,"popover",l);break;case"xlinkActuate":wn(t,"http://www.w3.org/1999/xlink","xlink:actuate",l);break;case"xlinkArcrole":wn(t,"http://www.w3.org/1999/xlink","xlink:arcrole",l);break;case"xlinkRole":wn(t,"http://www.w3.org/1999/xlink","xlink:role",l);break;case"xlinkShow":wn(t,"http://www.w3.org/1999/xlink","xlink:show",l);break;case"xlinkTitle":wn(t,"http://www.w3.org/1999/xlink","xlink:title",l);break;case"xlinkType":wn(t,"http://www.w3.org/1999/xlink","xlink:type",l);break;case"xmlBase":wn(t,"http://www.w3.org/XML/1998/namespace","xml:base",l);break;case"xmlLang":wn(t,"http://www.w3.org/XML/1998/namespace","xml:lang",l);break;case"xmlSpace":wn(t,"http://www.w3.org/XML/1998/namespace","xml:space",l);break;case"is":ci(t,"is",l);break;case"innerText":case"textContent":break;default:(!(2<s.length)||s[0]!=="o"&&s[0]!=="O"||s[1]!=="n"&&s[1]!=="N")&&(s=Do.get(s)||s,ci(t,s,l))}}function nh(t,a,s,l,p,f){switch(s){case"style":Ya(t,l,f);break;case"dangerouslySetInnerHTML":if(l!=null){if(typeof l!="object"||!("__html"in l))throw Error(r(61));if(s=l.__html,s!=null){if(p.children!=null)throw Error(r(60));t.innerHTML=s}}break;case"children":typeof l=="string"?ga(t,l):(typeof l=="number"||typeof l=="bigint")&&ga(t,""+l);break;case"onScroll":l!=null&&rt("scroll",t);break;case"onScrollEnd":l!=null&&rt("scrollend",t);break;case"onClick":l!=null&&(t.onclick=Ia);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Yr.hasOwnProperty(s))e:{if(s[0]==="o"&&s[1]==="n"&&(p=s.endsWith("Capture"),a=s.slice(2,p?s.length-7:void 0),f=t[Rn]||null,f=f!=null?f[s]:null,typeof f=="function"&&t.removeEventListener(a,f,p),typeof l=="function")){typeof f!="function"&&f!==null&&(s in t?t[s]=null:t.hasAttribute(s)&&t.removeAttribute(s)),t.addEventListener(a,l,p);break e}s in t?t[s]=l:l===!0?t.setAttribute(s,""):ci(t,s,l)}}}function Cn(t,a,s){switch(a){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":rt("error",t),rt("load",t);var l=!1,p=!1,f;for(f in s)if(s.hasOwnProperty(f)){var x=s[f];if(x!=null)switch(f){case"src":l=!0;break;case"srcSet":p=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(r(137,a));default:Nt(t,a,f,x,s,null)}}p&&Nt(t,a,"srcSet",s.srcSet,s,null),l&&Nt(t,a,"src",s.src,s,null);return;case"input":rt("invalid",t);var S=f=x=p=null,E=null,B=null;for(l in s)if(s.hasOwnProperty(l)){var Z=s[l];if(Z!=null)switch(l){case"name":p=Z;break;case"type":x=Z;break;case"checked":E=Z;break;case"defaultChecked":B=Z;break;case"value":f=Z;break;case"defaultValue":S=Z;break;case"children":case"dangerouslySetInnerHTML":if(Z!=null)throw Error(r(137,a));break;default:Nt(t,a,l,Z,s,null)}}el(t,f,S,E,B,x,p,!1);return;case"select":rt("invalid",t),l=x=f=null;for(p in s)if(s.hasOwnProperty(p)&&(S=s[p],S!=null))switch(p){case"value":f=S;break;case"defaultValue":x=S;break;case"multiple":l=S;default:Nt(t,a,p,S,s,null)}a=f,s=x,t.multiple=!!l,a!=null?$n(t,!!l,a,!1):s!=null&&$n(t,!!l,s,!0);return;case"textarea":rt("invalid",t),f=p=l=null;for(x in s)if(s.hasOwnProperty(x)&&(S=s[x],S!=null))switch(x){case"value":l=S;break;case"defaultValue":p=S;break;case"children":f=S;break;case"dangerouslySetInnerHTML":if(S!=null)throw Error(r(91));break;default:Nt(t,a,x,S,s,null)}ui(t,l,p,f);return;case"option":for(E in s)s.hasOwnProperty(E)&&(l=s[E],l!=null)&&(E==="selected"?t.selected=l&&typeof l!="function"&&typeof l!="symbol":Nt(t,a,E,l,s,null));return;case"dialog":rt("beforetoggle",t),rt("toggle",t),rt("cancel",t),rt("close",t);break;case"iframe":case"object":rt("load",t);break;case"video":case"audio":for(l=0;l<Ol.length;l++)rt(Ol[l],t);break;case"image":rt("error",t),rt("load",t);break;case"details":rt("toggle",t);break;case"embed":case"source":case"link":rt("error",t),rt("load",t);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(B in s)if(s.hasOwnProperty(B)&&(l=s[B],l!=null))switch(B){case"children":case"dangerouslySetInnerHTML":throw Error(r(137,a));default:Nt(t,a,B,l,s,null)}return;default:if(Oa(a)){for(Z in s)s.hasOwnProperty(Z)&&(l=s[Z],l!==void 0&&nh(t,a,Z,l,s,void 0));return}}for(S in s)s.hasOwnProperty(S)&&(l=s[S],l!=null&&Nt(t,a,S,l,s,null))}function w4(t,a,s,l){switch(a){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var p=null,f=null,x=null,S=null,E=null,B=null,Z=null;for(Q in s){var ie=s[Q];if(s.hasOwnProperty(Q)&&ie!=null)switch(Q){case"checked":break;case"value":break;case"defaultValue":E=ie;default:l.hasOwnProperty(Q)||Nt(t,a,Q,null,l,ie)}}for(var $ in l){var Q=l[$];if(ie=s[$],l.hasOwnProperty($)&&(Q!=null||ie!=null))switch($){case"type":f=Q;break;case"name":p=Q;break;case"checked":B=Q;break;case"defaultChecked":Z=Q;break;case"value":x=Q;break;case"defaultValue":S=Q;break;case"children":case"dangerouslySetInnerHTML":if(Q!=null)throw Error(r(137,a));break;default:Q!==ie&&Nt(t,a,$,Q,l,ie)}}Ro(t,x,S,E,B,Z,f,p);return;case"select":Q=x=S=$=null;for(f in s)if(E=s[f],s.hasOwnProperty(f)&&E!=null)switch(f){case"value":break;case"multiple":Q=E;default:l.hasOwnProperty(f)||Nt(t,a,f,null,l,E)}for(p in l)if(f=l[p],E=s[p],l.hasOwnProperty(p)&&(f!=null||E!=null))switch(p){case"value":$=f;break;case"defaultValue":S=f;break;case"multiple":x=f;default:f!==E&&Nt(t,a,p,f,l,E)}a=S,s=x,l=Q,$!=null?$n(t,!!s,$,!1):!!l!=!!s&&(a!=null?$n(t,!!s,a,!0):$n(t,!!s,s?[]:"",!1));return;case"textarea":Q=$=null;for(S in s)if(p=s[S],s.hasOwnProperty(S)&&p!=null&&!l.hasOwnProperty(S))switch(S){case"value":break;case"children":break;default:Nt(t,a,S,null,l,p)}for(x in l)if(p=l[x],f=s[x],l.hasOwnProperty(x)&&(p!=null||f!=null))switch(x){case"value":$=p;break;case"defaultValue":Q=p;break;case"children":break;case"dangerouslySetInnerHTML":if(p!=null)throw Error(r(91));break;default:p!==f&&Nt(t,a,x,p,l,f)}Jn(t,$,Q);return;case"option":for(var je in s)$=s[je],s.hasOwnProperty(je)&&$!=null&&!l.hasOwnProperty(je)&&(je==="selected"?t.selected=!1:Nt(t,a,je,null,l,$));for(E in l)$=l[E],Q=s[E],l.hasOwnProperty(E)&&$!==Q&&($!=null||Q!=null)&&(E==="selected"?t.selected=$&&typeof $!="function"&&typeof $!="symbol":Nt(t,a,E,$,l,Q));return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var Ue in s)$=s[Ue],s.hasOwnProperty(Ue)&&$!=null&&!l.hasOwnProperty(Ue)&&Nt(t,a,Ue,null,l,$);for(B in l)if($=l[B],Q=s[B],l.hasOwnProperty(B)&&$!==Q&&($!=null||Q!=null))switch(B){case"children":case"dangerouslySetInnerHTML":if($!=null)throw Error(r(137,a));break;default:Nt(t,a,B,$,l,Q)}return;default:if(Oa(a)){for(var _t in s)$=s[_t],s.hasOwnProperty(_t)&&$!==void 0&&!l.hasOwnProperty(_t)&&nh(t,a,_t,void 0,l,$);for(Z in l)$=l[Z],Q=s[Z],!l.hasOwnProperty(Z)||$===Q||$===void 0&&Q===void 0||nh(t,a,Z,$,l,Q);return}}for(var P in s)$=s[P],s.hasOwnProperty(P)&&$!=null&&!l.hasOwnProperty(P)&&Nt(t,a,P,null,l,$);for(ie in l)$=l[ie],Q=s[ie],!l.hasOwnProperty(ie)||$===Q||$==null&&Q==null||Nt(t,a,ie,$,l,Q)}function Mb(t){switch(t){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function k4(){if(typeof performance.getEntriesByType=="function"){for(var t=0,a=0,s=performance.getEntriesByType("resource"),l=0;l<s.length;l++){var p=s[l],f=p.transferSize,x=p.initiatorType,S=p.duration;if(f&&S&&Mb(x)){for(x=0,S=p.responseEnd,l+=1;l<s.length;l++){var E=s[l],B=E.startTime;if(B>S)break;var Z=E.transferSize,ie=E.initiatorType;Z&&Mb(ie)&&(E=E.responseEnd,x+=Z*(E<S?1:(S-B)/(E-B)))}if(--l,a+=8*(f+x)/(p.duration/1e3),t++,10<t)break}}if(0<t)return a/t/1e6}return navigator.connection&&(t=navigator.connection.downlink,typeof t=="number")?t:5}var ah=null,ih=null;function ju(t){return t.nodeType===9?t:t.ownerDocument}function Bb(t){switch(t){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function Lb(t,a){if(t===0)switch(a){case"svg":return 1;case"math":return 2;default:return 0}return t===1&&a==="foreignObject"?0:t}function sh(t,a){return t==="textarea"||t==="noscript"||typeof a.children=="string"||typeof a.children=="number"||typeof a.children=="bigint"||typeof a.dangerouslySetInnerHTML=="object"&&a.dangerouslySetInnerHTML!==null&&a.dangerouslySetInnerHTML.__html!=null}var oh=null;function S4(){var t=window.event;return t&&t.type==="popstate"?t===oh?!1:(oh=t,!0):(oh=null,!1)}var Vb=typeof setTimeout=="function"?setTimeout:void 0,j4=typeof clearTimeout=="function"?clearTimeout:void 0,Ub=typeof Promise=="function"?Promise:void 0,A4=typeof queueMicrotask=="function"?queueMicrotask:typeof Ub<"u"?function(t){return Ub.resolve(null).then(t).catch(C4)}:Vb;function C4(t){setTimeout(function(){throw t})}function os(t){return t==="head"}function $b(t,a){var s=a,l=0;do{var p=s.nextSibling;if(t.removeChild(s),p&&p.nodeType===8)if(s=p.data,s==="/$"||s==="/&"){if(l===0){t.removeChild(p),ur(a);return}l--}else if(s==="$"||s==="$?"||s==="$~"||s==="$!"||s==="&")l++;else if(s==="html")Pl(t.ownerDocument.documentElement);else if(s==="head"){s=t.ownerDocument.head,Pl(s);for(var f=s.firstChild;f;){var x=f.nextSibling,S=f.nodeName;f[Mi]||S==="SCRIPT"||S==="STYLE"||S==="LINK"&&f.rel.toLowerCase()==="stylesheet"||s.removeChild(f),f=x}}else s==="body"&&Pl(t.ownerDocument.body);s=p}while(s);ur(a)}function Gb(t,a){var s=t;t=0;do{var l=s.nextSibling;if(s.nodeType===1?a?(s._stashedDisplay=s.style.display,s.style.display="none"):(s.style.display=s._stashedDisplay||"",s.getAttribute("style")===""&&s.removeAttribute("style")):s.nodeType===3&&(a?(s._stashedText=s.nodeValue,s.nodeValue=""):s.nodeValue=s._stashedText||""),l&&l.nodeType===8)if(s=l.data,s==="/$"){if(t===0)break;t--}else s!=="$"&&s!=="$?"&&s!=="$~"&&s!=="$!"||t++;s=l}while(s)}function rh(t){var a=t.firstChild;for(a&&a.nodeType===10&&(a=a.nextSibling);a;){var s=a;switch(a=a.nextSibling,s.nodeName){case"HTML":case"HEAD":case"BODY":rh(s),Fr(s);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(s.rel.toLowerCase()==="stylesheet")continue}t.removeChild(s)}}function N4(t,a,s,l){for(;t.nodeType===1;){var p=s;if(t.nodeName.toLowerCase()!==a.toLowerCase()){if(!l&&(t.nodeName!=="INPUT"||t.type!=="hidden"))break}else if(l){if(!t[Mi])switch(a){case"meta":if(!t.hasAttribute("itemprop"))break;return t;case"link":if(f=t.getAttribute("rel"),f==="stylesheet"&&t.hasAttribute("data-precedence"))break;if(f!==p.rel||t.getAttribute("href")!==(p.href==null||p.href===""?null:p.href)||t.getAttribute("crossorigin")!==(p.crossOrigin==null?null:p.crossOrigin)||t.getAttribute("title")!==(p.title==null?null:p.title))break;return t;case"style":if(t.hasAttribute("data-precedence"))break;return t;case"script":if(f=t.getAttribute("src"),(f!==(p.src==null?null:p.src)||t.getAttribute("type")!==(p.type==null?null:p.type)||t.getAttribute("crossorigin")!==(p.crossOrigin==null?null:p.crossOrigin))&&f&&t.hasAttribute("async")&&!t.hasAttribute("itemprop"))break;return t;default:return t}}else if(a==="input"&&t.type==="hidden"){var f=p.name==null?null:""+p.name;if(p.type==="hidden"&&t.getAttribute("name")===f)return t}else return t;if(t=Aa(t.nextSibling),t===null)break}return null}function _4(t,a,s){if(a==="")return null;for(;t.nodeType!==3;)if((t.nodeType!==1||t.nodeName!=="INPUT"||t.type!=="hidden")&&!s||(t=Aa(t.nextSibling),t===null))return null;return t}function Kb(t,a){for(;t.nodeType!==8;)if((t.nodeType!==1||t.nodeName!=="INPUT"||t.type!=="hidden")&&!a||(t=Aa(t.nextSibling),t===null))return null;return t}function lh(t){return t.data==="$?"||t.data==="$~"}function ch(t){return t.data==="$!"||t.data==="$?"&&t.ownerDocument.readyState!=="loading"}function T4(t,a){var s=t.ownerDocument;if(t.data==="$~")t._reactRetry=a;else if(t.data!=="$?"||s.readyState!=="loading")a();else{var l=function(){a(),s.removeEventListener("DOMContentLoaded",l)};s.addEventListener("DOMContentLoaded",l),t._reactRetry=l}}function Aa(t){for(;t!=null;t=t.nextSibling){var a=t.nodeType;if(a===1||a===3)break;if(a===8){if(a=t.data,a==="$"||a==="$!"||a==="$?"||a==="$~"||a==="&"||a==="F!"||a==="F")break;if(a==="/$"||a==="/&")return null}}return t}var uh=null;function Hb(t){t=t.nextSibling;for(var a=0;t;){if(t.nodeType===8){var s=t.data;if(s==="/$"||s==="/&"){if(a===0)return Aa(t.nextSibling);a--}else s!=="$"&&s!=="$!"&&s!=="$?"&&s!=="$~"&&s!=="&"||a++}t=t.nextSibling}return null}function Qb(t){t=t.previousSibling;for(var a=0;t;){if(t.nodeType===8){var s=t.data;if(s==="$"||s==="$!"||s==="$?"||s==="$~"||s==="&"){if(a===0)return t;a--}else s!=="/$"&&s!=="/&"||a++}t=t.previousSibling}return null}function Fb(t,a,s){switch(a=ju(s),t){case"html":if(t=a.documentElement,!t)throw Error(r(452));return t;case"head":if(t=a.head,!t)throw Error(r(453));return t;case"body":if(t=a.body,!t)throw Error(r(454));return t;default:throw Error(r(451))}}function Pl(t){for(var a=t.attributes;a.length;)t.removeAttributeNode(a[0]);Fr(t)}var Ca=new Map,Zb=new Set;function Au(t){return typeof t.getRootNode=="function"?t.getRootNode():t.nodeType===9?t:t.ownerDocument}var Ni=Y.d;Y.d={f:R4,r:E4,D:D4,C:z4,L:O4,m:I4,X:q4,S:P4,M:M4};function R4(){var t=Ni.f(),a=gu();return t||a}function E4(t){var a=Bi(t);a!==null&&a.tag===5&&a.type==="form"?my(a):Ni.r(t)}var rr=typeof document>"u"?null:document;function Yb(t,a,s){var l=rr;if(l&&typeof a=="string"&&a){var p=Dn(a);p='link[rel="'+t+'"][href="'+p+'"]',typeof s=="string"&&(p+='[crossorigin="'+s+'"]'),Zb.has(p)||(Zb.add(p),t={rel:t,crossOrigin:s,href:a},l.querySelector(p)===null&&(a=l.createElement("link"),Cn(a,"link",t),Yt(a),l.head.appendChild(a)))}}function D4(t){Ni.D(t),Yb("dns-prefetch",t,null)}function z4(t,a){Ni.C(t,a),Yb("preconnect",t,a)}function O4(t,a,s){Ni.L(t,a,s);var l=rr;if(l&&t&&a){var p='link[rel="preload"][as="'+Dn(a)+'"]';a==="image"&&s&&s.imageSrcSet?(p+='[imagesrcset="'+Dn(s.imageSrcSet)+'"]',typeof s.imageSizes=="string"&&(p+='[imagesizes="'+Dn(s.imageSizes)+'"]')):p+='[href="'+Dn(t)+'"]';var f=p;switch(a){case"style":f=lr(t);break;case"script":f=cr(t)}Ca.has(f)||(t=A({rel:"preload",href:a==="image"&&s&&s.imageSrcSet?void 0:t,as:a},s),Ca.set(f,t),l.querySelector(p)!==null||a==="style"&&l.querySelector(ql(f))||a==="script"&&l.querySelector(Ml(f))||(a=l.createElement("link"),Cn(a,"link",t),Yt(a),l.head.appendChild(a)))}}function I4(t,a){Ni.m(t,a);var s=rr;if(s&&t){var l=a&&typeof a.as=="string"?a.as:"script",p='link[rel="modulepreload"][as="'+Dn(l)+'"][href="'+Dn(t)+'"]',f=p;switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":f=cr(t)}if(!Ca.has(f)&&(t=A({rel:"modulepreload",href:t},a),Ca.set(f,t),s.querySelector(p)===null)){switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(s.querySelector(Ml(f)))return}l=s.createElement("link"),Cn(l,"link",t),Yt(l),s.head.appendChild(l)}}}function P4(t,a,s){Ni.S(t,a,s);var l=rr;if(l&&t){var p=Vi(l).hoistableStyles,f=lr(t);a=a||"default";var x=p.get(f);if(!x){var S={loading:0,preload:null};if(x=l.querySelector(ql(f)))S.loading=5;else{t=A({rel:"stylesheet",href:t,"data-precedence":a},s),(s=Ca.get(f))&&dh(t,s);var E=x=l.createElement("link");Yt(E),Cn(E,"link",t),E._p=new Promise(function(B,Z){E.onload=B,E.onerror=Z}),E.addEventListener("load",function(){S.loading|=1}),E.addEventListener("error",function(){S.loading|=2}),S.loading|=4,Cu(x,a,l)}x={type:"stylesheet",instance:x,count:1,state:S},p.set(f,x)}}}function q4(t,a){Ni.X(t,a);var s=rr;if(s&&t){var l=Vi(s).hoistableScripts,p=cr(t),f=l.get(p);f||(f=s.querySelector(Ml(p)),f||(t=A({src:t,async:!0},a),(a=Ca.get(p))&&mh(t,a),f=s.createElement("script"),Yt(f),Cn(f,"link",t),s.head.appendChild(f)),f={type:"script",instance:f,count:1,state:null},l.set(p,f))}}function M4(t,a){Ni.M(t,a);var s=rr;if(s&&t){var l=Vi(s).hoistableScripts,p=cr(t),f=l.get(p);f||(f=s.querySelector(Ml(p)),f||(t=A({src:t,async:!0,type:"module"},a),(a=Ca.get(p))&&mh(t,a),f=s.createElement("script"),Yt(f),Cn(f,"link",t),s.head.appendChild(f)),f={type:"script",instance:f,count:1,state:null},l.set(p,f))}}function Xb(t,a,s,l){var p=(p=K.current)?Au(p):null;if(!p)throw Error(r(446));switch(t){case"meta":case"title":return null;case"style":return typeof s.precedence=="string"&&typeof s.href=="string"?(a=lr(s.href),s=Vi(p).hoistableStyles,l=s.get(a),l||(l={type:"style",instance:null,count:0,state:null},s.set(a,l)),l):{type:"void",instance:null,count:0,state:null};case"link":if(s.rel==="stylesheet"&&typeof s.href=="string"&&typeof s.precedence=="string"){t=lr(s.href);var f=Vi(p).hoistableStyles,x=f.get(t);if(x||(p=p.ownerDocument||p,x={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},f.set(t,x),(f=p.querySelector(ql(t)))&&!f._p&&(x.instance=f,x.state.loading=5),Ca.has(t)||(s={rel:"preload",as:"style",href:s.href,crossOrigin:s.crossOrigin,integrity:s.integrity,media:s.media,hrefLang:s.hrefLang,referrerPolicy:s.referrerPolicy},Ca.set(t,s),f||B4(p,t,s,x.state))),a&&l===null)throw Error(r(528,""));return x}if(a&&l!==null)throw Error(r(529,""));return null;case"script":return a=s.async,s=s.src,typeof s=="string"&&a&&typeof a!="function"&&typeof a!="symbol"?(a=cr(s),s=Vi(p).hoistableScripts,l=s.get(a),l||(l={type:"script",instance:null,count:0,state:null},s.set(a,l)),l):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,t))}}function lr(t){return'href="'+Dn(t)+'"'}function ql(t){return'link[rel="stylesheet"]['+t+"]"}function Wb(t){return A({},t,{"data-precedence":t.precedence,precedence:null})}function B4(t,a,s,l){t.querySelector('link[rel="preload"][as="style"]['+a+"]")?l.loading=1:(a=t.createElement("link"),l.preload=a,a.addEventListener("load",function(){return l.loading|=1}),a.addEventListener("error",function(){return l.loading|=2}),Cn(a,"link",s),Yt(a),t.head.appendChild(a))}function cr(t){return'[src="'+Dn(t)+'"]'}function Ml(t){return"script[async]"+t}function Jb(t,a,s){if(a.count++,a.instance===null)switch(a.type){case"style":var l=t.querySelector('style[data-href~="'+Dn(s.href)+'"]');if(l)return a.instance=l,Yt(l),l;var p=A({},s,{"data-href":s.href,"data-precedence":s.precedence,href:null,precedence:null});return l=(t.ownerDocument||t).createElement("style"),Yt(l),Cn(l,"style",p),Cu(l,s.precedence,t),a.instance=l;case"stylesheet":p=lr(s.href);var f=t.querySelector(ql(p));if(f)return a.state.loading|=4,a.instance=f,Yt(f),f;l=Wb(s),(p=Ca.get(p))&&dh(l,p),f=(t.ownerDocument||t).createElement("link"),Yt(f);var x=f;return x._p=new Promise(function(S,E){x.onload=S,x.onerror=E}),Cn(f,"link",l),a.state.loading|=4,Cu(f,s.precedence,t),a.instance=f;case"script":return f=cr(s.src),(p=t.querySelector(Ml(f)))?(a.instance=p,Yt(p),p):(l=s,(p=Ca.get(f))&&(l=A({},s),mh(l,p)),t=t.ownerDocument||t,p=t.createElement("script"),Yt(p),Cn(p,"link",l),t.head.appendChild(p),a.instance=p);case"void":return null;default:throw Error(r(443,a.type))}else a.type==="stylesheet"&&(a.state.loading&4)===0&&(l=a.instance,a.state.loading|=4,Cu(l,s.precedence,t));return a.instance}function Cu(t,a,s){for(var l=s.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),p=l.length?l[l.length-1]:null,f=p,x=0;x<l.length;x++){var S=l[x];if(S.dataset.precedence===a)f=S;else if(f!==p)break}f?f.parentNode.insertBefore(t,f.nextSibling):(a=s.nodeType===9?s.head:s,a.insertBefore(t,a.firstChild))}function dh(t,a){t.crossOrigin==null&&(t.crossOrigin=a.crossOrigin),t.referrerPolicy==null&&(t.referrerPolicy=a.referrerPolicy),t.title==null&&(t.title=a.title)}function mh(t,a){t.crossOrigin==null&&(t.crossOrigin=a.crossOrigin),t.referrerPolicy==null&&(t.referrerPolicy=a.referrerPolicy),t.integrity==null&&(t.integrity=a.integrity)}var Nu=null;function ev(t,a,s){if(Nu===null){var l=new Map,p=Nu=new Map;p.set(s,l)}else p=Nu,l=p.get(s),l||(l=new Map,p.set(s,l));if(l.has(t))return l;for(l.set(t,null),s=s.getElementsByTagName(t),p=0;p<s.length;p++){var f=s[p];if(!(f[Mi]||f[en]||t==="link"&&f.getAttribute("rel")==="stylesheet")&&f.namespaceURI!=="http://www.w3.org/2000/svg"){var x=f.getAttribute(a)||"";x=t+x;var S=l.get(x);S?S.push(f):l.set(x,[f])}}return l}function tv(t,a,s){t=t.ownerDocument||t,t.head.insertBefore(s,a==="title"?t.querySelector("head > title"):null)}function L4(t,a,s){if(s===1||a.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof a.precedence!="string"||typeof a.href!="string"||a.href==="")break;return!0;case"link":if(typeof a.rel!="string"||typeof a.href!="string"||a.href===""||a.onLoad||a.onError)break;return a.rel==="stylesheet"?(t=a.disabled,typeof a.precedence=="string"&&t==null):!0;case"script":if(a.async&&typeof a.async!="function"&&typeof a.async!="symbol"&&!a.onLoad&&!a.onError&&a.src&&typeof a.src=="string")return!0}return!1}function nv(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function V4(t,a,s,l){if(s.type==="stylesheet"&&(typeof l.media!="string"||matchMedia(l.media).matches!==!1)&&(s.state.loading&4)===0){if(s.instance===null){var p=lr(l.href),f=a.querySelector(ql(p));if(f){a=f._p,a!==null&&typeof a=="object"&&typeof a.then=="function"&&(t.count++,t=_u.bind(t),a.then(t,t)),s.state.loading|=4,s.instance=f,Yt(f);return}f=a.ownerDocument||a,l=Wb(l),(p=Ca.get(p))&&dh(l,p),f=f.createElement("link"),Yt(f);var x=f;x._p=new Promise(function(S,E){x.onload=S,x.onerror=E}),Cn(f,"link",l),s.instance=f}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(s,a),(a=s.state.preload)&&(s.state.loading&3)===0&&(t.count++,s=_u.bind(t),a.addEventListener("load",s),a.addEventListener("error",s))}}var ph=0;function U4(t,a){return t.stylesheets&&t.count===0&&Ru(t,t.stylesheets),0<t.count||0<t.imgCount?function(s){var l=setTimeout(function(){if(t.stylesheets&&Ru(t,t.stylesheets),t.unsuspend){var f=t.unsuspend;t.unsuspend=null,f()}},6e4+a);0<t.imgBytes&&ph===0&&(ph=62500*k4());var p=setTimeout(function(){if(t.waitingForImages=!1,t.count===0&&(t.stylesheets&&Ru(t,t.stylesheets),t.unsuspend)){var f=t.unsuspend;t.unsuspend=null,f()}},(t.imgBytes>ph?50:800)+a);return t.unsuspend=s,function(){t.unsuspend=null,clearTimeout(l),clearTimeout(p)}}:null}function _u(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Ru(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var Tu=null;function Ru(t,a){t.stylesheets=null,t.unsuspend!==null&&(t.count++,Tu=new Map,a.forEach($4,t),Tu=null,_u.call(t))}function $4(t,a){if(!(a.state.loading&4)){var s=Tu.get(t);if(s)var l=s.get(null);else{s=new Map,Tu.set(t,s);for(var p=t.querySelectorAll("link[data-precedence],style[data-precedence]"),f=0;f<p.length;f++){var x=p[f];(x.nodeName==="LINK"||x.getAttribute("media")!=="not all")&&(s.set(x.dataset.precedence,x),l=x)}l&&s.set(null,l)}p=a.instance,x=p.getAttribute("data-precedence"),f=s.get(x)||l,f===l&&s.set(null,p),s.set(x,p),this.count++,l=_u.bind(this),p.addEventListener("load",l),p.addEventListener("error",l),f?f.parentNode.insertBefore(p,f.nextSibling):(t=t.nodeType===9?t.head:t,t.insertBefore(p,t.firstChild)),a.state.loading|=4}}var Bl={$$typeof:L,Provider:null,Consumer:null,_currentValue:fe,_currentValue2:fe,_threadCount:0};function G4(t,a,s,l,p,f,x,S,E){this.tag=1,this.containerInfo=t,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Co(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Co(0),this.hiddenUpdates=Co(null),this.identifierPrefix=l,this.onUncaughtError=p,this.onCaughtError=f,this.onRecoverableError=x,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=E,this.incompleteTransitions=new Map}function av(t,a,s,l,p,f,x,S,E,B,Z,ie){return t=new G4(t,a,s,x,E,B,Z,ie,S),a=1,f===!0&&(a|=24),f=ta(3,null,null,a),t.current=f,f.stateNode=t,a=Hm(),a.refCount++,t.pooledCache=a,a.refCount++,f.memoizedState={element:l,isDehydrated:s,cache:a},Ym(f),t}function iv(t){return t?(t=Lo,t):Lo}function sv(t,a,s,l,p,f){p=iv(p),l.context===null?l.context=p:l.pendingContext=p,l=Zi(a),l.payload={element:s},f=f===void 0?null:f,f!==null&&(l.callback=f),s=Yi(t,l,a),s!==null&&(Fn(s,t,a),yl(s,t,a))}function ov(t,a){if(t=t.memoizedState,t!==null&&t.dehydrated!==null){var s=t.retryLane;t.retryLane=s!==0&&s<a?s:a}}function hh(t,a){ov(t,a),(t=t.alternate)&&ov(t,a)}function rv(t){if(t.tag===13||t.tag===31){var a=Gs(t,67108864);a!==null&&Fn(a,t,67108864),hh(t,67108864)}}function lv(t){if(t.tag===13||t.tag===31){var a=oa();a=Hr(a);var s=Gs(t,a);s!==null&&Fn(s,t,a),hh(t,a)}}var Eu=!0;function K4(t,a,s,l){var p=I.T;I.T=null;var f=Y.p;try{Y.p=2,fh(t,a,s,l)}finally{Y.p=f,I.T=p}}function H4(t,a,s,l){var p=I.T;I.T=null;var f=Y.p;try{Y.p=8,fh(t,a,s,l)}finally{Y.p=f,I.T=p}}function fh(t,a,s,l){if(Eu){var p=gh(l);if(p===null)th(t,a,l,Du,s),uv(t,l);else if(F4(p,t,a,s,l))l.stopPropagation();else if(uv(t,l),a&4&&-1<Q4.indexOf(t)){for(;p!==null;){var f=Bi(p);if(f!==null)switch(f.tag){case 3:if(f=f.stateNode,f.current.memoizedState.isDehydrated){var x=at(f.pendingLanes);if(x!==0){var S=f;for(S.pendingLanes|=2,S.entangledLanes|=2;x;){var E=1<<31-xn(x);S.entanglements[1]|=E,x&=~E}ni(f),(yt&6)===0&&(hu=Pt()+500,zl(0))}}break;case 31:case 13:S=Gs(f,2),S!==null&&Fn(S,f,2),gu(),hh(f,2)}if(f=gh(l),f===null&&th(t,a,l,Du,s),f===p)break;p=f}p!==null&&l.stopPropagation()}else th(t,a,l,null,s)}}function gh(t){return t=nl(t),yh(t)}var Du=null;function yh(t){if(Du=null,t=li(t),t!==null){var a=h(t);if(a===null)t=null;else{var s=a.tag;if(s===13){if(t=g(a),t!==null)return t;t=null}else if(s===31){if(t=b(a),t!==null)return t;t=null}else if(s===3){if(a.stateNode.current.memoizedState.isDehydrated)return a.tag===3?a.stateNode.containerInfo:null;t=null}else a!==t&&(t=null)}}return Du=t,null}function cv(t){switch(t){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(oi()){case Ts:return 2;case Un:return 8;case ri:case Rs:return 32;case Ii:return 268435456;default:return 32}default:return 32}}var bh=!1,rs=null,ls=null,cs=null,Ll=new Map,Vl=new Map,us=[],Q4="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function uv(t,a){switch(t){case"focusin":case"focusout":rs=null;break;case"dragenter":case"dragleave":ls=null;break;case"mouseover":case"mouseout":cs=null;break;case"pointerover":case"pointerout":Ll.delete(a.pointerId);break;case"gotpointercapture":case"lostpointercapture":Vl.delete(a.pointerId)}}function Ul(t,a,s,l,p,f){return t===null||t.nativeEvent!==f?(t={blockedOn:a,domEventName:s,eventSystemFlags:l,nativeEvent:f,targetContainers:[p]},a!==null&&(a=Bi(a),a!==null&&rv(a)),t):(t.eventSystemFlags|=l,a=t.targetContainers,p!==null&&a.indexOf(p)===-1&&a.push(p),t)}function F4(t,a,s,l,p){switch(a){case"focusin":return rs=Ul(rs,t,a,s,l,p),!0;case"dragenter":return ls=Ul(ls,t,a,s,l,p),!0;case"mouseover":return cs=Ul(cs,t,a,s,l,p),!0;case"pointerover":var f=p.pointerId;return Ll.set(f,Ul(Ll.get(f)||null,t,a,s,l,p)),!0;case"gotpointercapture":return f=p.pointerId,Vl.set(f,Ul(Vl.get(f)||null,t,a,s,l,p)),!0}return!1}function dv(t){var a=li(t.target);if(a!==null){var s=h(a);if(s!==null){if(a=s.tag,a===13){if(a=g(s),a!==null){t.blockedOn=a,Tc(t.priority,function(){lv(s)});return}}else if(a===31){if(a=b(s),a!==null){t.blockedOn=a,Tc(t.priority,function(){lv(s)});return}}else if(a===3&&s.stateNode.current.memoizedState.isDehydrated){t.blockedOn=s.tag===3?s.stateNode.containerInfo:null;return}}}t.blockedOn=null}function zu(t){if(t.blockedOn!==null)return!1;for(var a=t.targetContainers;0<a.length;){var s=gh(t.nativeEvent);if(s===null){s=t.nativeEvent;var l=new s.constructor(s.type,s);tl=l,s.target.dispatchEvent(l),tl=null}else return a=Bi(s),a!==null&&rv(a),t.blockedOn=s,!1;a.shift()}return!0}function mv(t,a,s){zu(t)&&s.delete(a)}function Z4(){bh=!1,rs!==null&&zu(rs)&&(rs=null),ls!==null&&zu(ls)&&(ls=null),cs!==null&&zu(cs)&&(cs=null),Ll.forEach(mv),Vl.forEach(mv)}function Ou(t,a){t.blockedOn===a&&(t.blockedOn=null,bh||(bh=!0,e.unstable_scheduleCallback(e.unstable_NormalPriority,Z4)))}var Iu=null;function pv(t){Iu!==t&&(Iu=t,e.unstable_scheduleCallback(e.unstable_NormalPriority,function(){Iu===t&&(Iu=null);for(var a=0;a<t.length;a+=3){var s=t[a],l=t[a+1],p=t[a+2];if(typeof l!="function"){if(yh(l||s)===null)continue;break}var f=Bi(s);f!==null&&(t.splice(a,3),a-=3,gp(f,{pending:!0,data:p,method:s.method,action:l},l,p))}}))}function ur(t){function a(E){return Ou(E,t)}rs!==null&&Ou(rs,t),ls!==null&&Ou(ls,t),cs!==null&&Ou(cs,t),Ll.forEach(a),Vl.forEach(a);for(var s=0;s<us.length;s++){var l=us[s];l.blockedOn===t&&(l.blockedOn=null)}for(;0<us.length&&(s=us[0],s.blockedOn===null);)dv(s),s.blockedOn===null&&us.shift();if(s=(t.ownerDocument||t).$$reactFormReplay,s!=null)for(l=0;l<s.length;l+=3){var p=s[l],f=s[l+1],x=p[Rn]||null;if(typeof f=="function")x||pv(s);else if(x){var S=null;if(f&&f.hasAttribute("formAction")){if(p=f,x=f[Rn]||null)S=x.formAction;else if(yh(p)!==null)continue}else S=x.action;typeof S=="function"?s[l+1]=S:(s.splice(l,3),l-=3),pv(s)}}}function hv(){function t(f){f.canIntercept&&f.info==="react-transition"&&f.intercept({handler:function(){return new Promise(function(x){return p=x})},focusReset:"manual",scroll:"manual"})}function a(){p!==null&&(p(),p=null),l||setTimeout(s,20)}function s(){if(!l&&!navigation.transition){var f=navigation.currentEntry;f&&f.url!=null&&navigation.navigate(f.url,{state:f.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var l=!1,p=null;return navigation.addEventListener("navigate",t),navigation.addEventListener("navigatesuccess",a),navigation.addEventListener("navigateerror",a),setTimeout(s,100),function(){l=!0,navigation.removeEventListener("navigate",t),navigation.removeEventListener("navigatesuccess",a),navigation.removeEventListener("navigateerror",a),p!==null&&(p(),p=null)}}}function vh(t){this._internalRoot=t}Pu.prototype.render=vh.prototype.render=function(t){var a=this._internalRoot;if(a===null)throw Error(r(409));var s=a.current,l=oa();sv(s,l,t,a,null,null)},Pu.prototype.unmount=vh.prototype.unmount=function(){var t=this._internalRoot;if(t!==null){this._internalRoot=null;var a=t.containerInfo;sv(t.current,2,null,t,null,null),gu(),a[qi]=null}};function Pu(t){this._internalRoot=t}Pu.prototype.unstable_scheduleHydration=function(t){if(t){var a=No();t={blockedOn:null,target:t,priority:a};for(var s=0;s<us.length&&a!==0&&a<us[s].priority;s++);us.splice(s,0,t),s===0&&dv(t)}};var fv=n.version;if(fv!=="19.2.4")throw Error(r(527,fv,"19.2.4"));Y.findDOMNode=function(t){var a=t._reactInternals;if(a===void 0)throw typeof t.render=="function"?Error(r(188)):(t=Object.keys(t).join(","),Error(r(268,t)));return t=w(a),t=t!==null?k(t):null,t=t===null?null:t.stateNode,t};var Y4={bundleType:0,version:"19.2.4",rendererPackageName:"react-dom",currentDispatcherRef:I,reconcilerVersion:"19.2.4"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var qu=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!qu.isDisabled&&qu.supportsFiber)try{mn=qu.inject(Y4),kt=qu}catch{}}return $l.createRoot=function(t,a){if(!u(t))throw Error(r(299));var s=!1,l="",p=ky,f=Sy,x=jy;return a!=null&&(a.unstable_strictMode===!0&&(s=!0),a.identifierPrefix!==void 0&&(l=a.identifierPrefix),a.onUncaughtError!==void 0&&(p=a.onUncaughtError),a.onCaughtError!==void 0&&(f=a.onCaughtError),a.onRecoverableError!==void 0&&(x=a.onRecoverableError)),a=av(t,1,!1,null,null,s,l,null,p,f,x,hv),t[qi]=a.current,eh(t),new vh(a)},$l.hydrateRoot=function(t,a,s){if(!u(t))throw Error(r(299));var l=!1,p="",f=ky,x=Sy,S=jy,E=null;return s!=null&&(s.unstable_strictMode===!0&&(l=!0),s.identifierPrefix!==void 0&&(p=s.identifierPrefix),s.onUncaughtError!==void 0&&(f=s.onUncaughtError),s.onCaughtError!==void 0&&(x=s.onCaughtError),s.onRecoverableError!==void 0&&(S=s.onRecoverableError),s.formState!==void 0&&(E=s.formState)),a=av(t,1,!0,a,s??null,l,p,E,f,x,S,hv),a.context=iv(null),s=a.current,l=oa(),l=Hr(l),p=Zi(l),p.callback=null,Yi(s,p,l),s=l,a.current.lanes=s,Os(a,s),ni(a),t[qi]=a.current,eh(t),new Pu(a)},$l.version="19.2.4",$l}var vv;function PN(){if(vv)return xh.exports;vv=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(n){console.error(n)}}return e(),xh.exports=IN(),xh.exports}var qN=PN();const MN={bodySerializer:e=>JSON.stringify(e,(n,i)=>typeof i=="bigint"?i.toString():i)},BN=({onRequest:e,onSseError:n,onSseEvent:i,responseTransformer:r,responseValidator:u,sseDefaultRetryDelay:h,sseMaxRetryAttempts:g,sseMaxRetryDelay:b,sseSleepFn:v,url:w,...k})=>{let A;const T=v??(R=>new Promise(q=>setTimeout(q,R)));return{stream:async function*(){let R=h??3e3,q=0;const F=k.signal??new AbortController().signal;for(;!F.aborted;){q++;const ae=k.headers instanceof Headers?k.headers:new Headers(k.headers);A!==void 0&&ae.set("Last-Event-ID",A);try{const L={redirect:"follow",...k,body:k.serializedBody,headers:ae,signal:F};let W=new Request(w,L);e&&(W=await e(w,L));const se=await(k.fetch??globalThis.fetch)(W);if(!se.ok)throw new Error(`SSE failed: ${se.status} ${se.statusText}`);if(!se.body)throw new Error("No body in SSE response");const V=se.body.pipeThrough(new TextDecoderStream).getReader();let H="";const ke=()=>{try{V.cancel()}catch{}};F.addEventListener("abort",ke);try{for(;;){const{done:et,value:it}=await V.read();if(et)break;H+=it;const Ke=H.split(`
11
-
12
- `);H=Ke.pop()??"";for(const Ze of Ke){const Ne=Ze.split(`
13
- `),Le=[];let I;for(const we of Ne)if(we.startsWith("data:"))Le.push(we.replace(/^data:\s*/,""));else if(we.startsWith("event:"))I=we.replace(/^event:\s*/,"");else if(we.startsWith("id:"))A=we.replace(/^id:\s*/,"");else if(we.startsWith("retry:")){const ee=Number.parseInt(we.replace(/^retry:\s*/,""),10);Number.isNaN(ee)||(R=ee)}let Y,fe=!1;if(Le.length){const we=Le.join(`
14
- `);try{Y=JSON.parse(we),fe=!0}catch{Y=we}}fe&&(u&&await u(Y),r&&(Y=await r(Y))),i?.({data:Y,event:I,id:A,retry:R}),Le.length&&(yield Y)}}}finally{F.removeEventListener("abort",ke),V.releaseLock()}break}catch(L){if(n?.(L),g!==void 0&&q>=g)break;const W=Math.min(R*2**(q-1),b??3e4);await T(W)}}}()}},LN=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},VN=e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},UN=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},gk=({allowReserved:e,explode:n,name:i,style:r,value:u})=>{if(!n){const b=(e?u:u.map(v=>encodeURIComponent(v))).join(VN(r));switch(r){case"label":return`.${b}`;case"matrix":return`;${i}=${b}`;case"simple":return b;default:return`${i}=${b}`}}const h=LN(r),g=u.map(b=>r==="label"||r==="simple"?e?b:encodeURIComponent(b):zd({allowReserved:e,name:i,value:b})).join(h);return r==="label"||r==="matrix"?h+g:g},zd=({allowReserved:e,name:n,value:i})=>{if(i==null)return"";if(typeof i=="object")throw new Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${n}=${e?i:encodeURIComponent(i)}`},yk=({allowReserved:e,explode:n,name:i,style:r,value:u,valueOnly:h})=>{if(u instanceof Date)return h?u.toISOString():`${i}=${u.toISOString()}`;if(r!=="deepObject"&&!n){let v=[];Object.entries(u).forEach(([k,A])=>{v=[...v,k,e?A:encodeURIComponent(A)]});const w=v.join(",");switch(r){case"form":return`${i}=${w}`;case"label":return`.${w}`;case"matrix":return`;${i}=${w}`;default:return w}}const g=UN(r),b=Object.entries(u).map(([v,w])=>zd({allowReserved:e,name:r==="deepObject"?`${i}[${v}]`:v,value:w})).join(g);return r==="label"||r==="matrix"?g+b:b},$N=/\{[^{}]+\}/g,GN=({path:e,url:n})=>{let i=n;const r=n.match($N);if(r)for(const u of r){let h=!1,g=u.substring(1,u.length-1),b="simple";g.endsWith("*")&&(h=!0,g=g.substring(0,g.length-1)),g.startsWith(".")?(g=g.substring(1),b="label"):g.startsWith(";")&&(g=g.substring(1),b="matrix");const v=e[g];if(v==null)continue;if(Array.isArray(v)){i=i.replace(u,gk({explode:h,name:g,style:b,value:v}));continue}if(typeof v=="object"){i=i.replace(u,yk({explode:h,name:g,style:b,value:v,valueOnly:!0}));continue}if(b==="matrix"){i=i.replace(u,`;${zd({name:g,value:v})}`);continue}const w=encodeURIComponent(b==="label"?`.${v}`:v);i=i.replace(u,w)}return i},KN=({baseUrl:e,path:n,query:i,querySerializer:r,url:u})=>{const h=u.startsWith("/")?u:`/${u}`;let g=(e??"")+h;n&&(g=GN({path:n,url:g}));let b=i?r(i):"";return b.startsWith("?")&&(b=b.substring(1)),b&&(g+=`?${b}`),g};function HN(e){const n=e.body!==void 0;if(n&&e.bodySerializer)return"serializedBody"in e?e.serializedBody!==void 0&&e.serializedBody!==""?e.serializedBody:null:e.body!==""?e.body:null;if(n)return e.body}const QN=async(e,n)=>{const i=typeof n=="function"?await n(e):n;if(i)return e.scheme==="bearer"?`Bearer ${i}`:e.scheme==="basic"?`Basic ${btoa(i)}`:i},bk=({allowReserved:e,array:n,object:i}={})=>u=>{const h=[];if(u&&typeof u=="object")for(const g in u){const b=u[g];if(b!=null)if(Array.isArray(b)){const v=gk({allowReserved:e,explode:!0,name:g,style:"form",value:b,...n});v&&h.push(v)}else if(typeof b=="object"){const v=yk({allowReserved:e,explode:!0,name:g,style:"deepObject",value:b,...i});v&&h.push(v)}else{const v=zd({allowReserved:e,name:g,value:b});v&&h.push(v)}}return h.join("&")},FN=e=>{if(!e)return"stream";const n=e.split(";")[0]?.trim();if(n){if(n.startsWith("application/json")||n.endsWith("+json"))return"json";if(n==="multipart/form-data")return"formData";if(["application/","audio/","image/","video/"].some(i=>n.startsWith(i)))return"blob";if(n.startsWith("text/"))return"text"}},ZN=(e,n)=>n?!!(e.headers.has(n)||e.query?.[n]||e.headers.get("Cookie")?.includes(`${n}=`)):!1,YN=async({security:e,...n})=>{for(const i of e){if(ZN(n,i.name))continue;const r=await QN(i,n.auth);if(!r)continue;const u=i.name??"Authorization";switch(i.in){case"query":n.query||(n.query={}),n.query[u]=r;break;case"cookie":n.headers.append("Cookie",`${u}=${r}`);break;default:n.headers.set(u,r);break}}},xv=e=>KN({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:bk(e.querySerializer),url:e.url}),wv=(e,n)=>{const i={...e,...n};return i.baseUrl?.endsWith("/")&&(i.baseUrl=i.baseUrl.substring(0,i.baseUrl.length-1)),i.headers=vk(e.headers,n.headers),i},XN=e=>{const n=[];return e.forEach((i,r)=>{n.push([r,i])}),n},vk=(...e)=>{const n=new Headers;for(const i of e){if(!i)continue;const r=i instanceof Headers?XN(i):Object.entries(i);for(const[u,h]of r)if(h===null)n.delete(u);else if(Array.isArray(h))for(const g of h)n.append(u,g);else h!==void 0&&n.set(u,typeof h=="object"?JSON.stringify(h):h)}return n};class Sh{fns=[];clear(){this.fns=[]}eject(n){const i=this.getInterceptorIndex(n);this.fns[i]&&(this.fns[i]=null)}exists(n){const i=this.getInterceptorIndex(n);return!!this.fns[i]}getInterceptorIndex(n){return typeof n=="number"?this.fns[n]?n:-1:this.fns.indexOf(n)}update(n,i){const r=this.getInterceptorIndex(n);return this.fns[r]?(this.fns[r]=i,n):!1}use(n){return this.fns.push(n),this.fns.length-1}}const WN=()=>({error:new Sh,request:new Sh,response:new Sh}),JN=bk({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),e5={"Content-Type":"application/json"},xk=(e={})=>({...MN,headers:e5,parseAs:"auto",querySerializer:JN,...e}),wk=(e={})=>{let n=wv(xk(),e);const i=()=>({...n}),r=w=>(n=wv(n,w),i()),u=WN(),h=async w=>{const k={...n,...w,fetch:w.fetch??n.fetch??globalThis.fetch,headers:vk(n.headers,w.headers),serializedBody:void 0};k.security&&await YN({...k,security:k.security}),k.requestValidator&&await k.requestValidator(k),k.body!==void 0&&k.bodySerializer&&(k.serializedBody=k.bodySerializer(k.body)),(k.body===void 0||k.serializedBody==="")&&k.headers.delete("Content-Type");const A=xv(k);return{opts:k,url:A}},g=async w=>{const{opts:k,url:A}=await h(w),T={redirect:"follow",...k,body:HN(k)};let _=new Request(A,T);for(const J of u.request.fns)J&&(_=await J(_,k));const G=k.fetch;let R=await G(_);for(const J of u.response.fns)J&&(R=await J(R,_,k));const q={request:_,response:R};if(R.ok){const J=(k.parseAs==="auto"?FN(R.headers.get("Content-Type")):k.parseAs)??"json";if(R.status===204||R.headers.get("Content-Length")==="0"){let V;switch(J){case"arrayBuffer":case"blob":case"text":V=await R[J]();break;case"formData":V=new FormData;break;case"stream":V=R.body;break;default:V={};break}return k.responseStyle==="data"?V:{data:V,...q}}let se;switch(J){case"arrayBuffer":case"blob":case"formData":case"json":case"text":se=await R[J]();break;case"stream":return k.responseStyle==="data"?R.body:{data:R.body,...q}}return J==="json"&&(k.responseValidator&&await k.responseValidator(se),k.responseTransformer&&(se=await k.responseTransformer(se))),k.responseStyle==="data"?se:{data:se,...q}}const F=await R.text();let ae;try{ae=JSON.parse(F)}catch{}const L=ae??F;let W=L;for(const J of u.error.fns)J&&(W=await J(L,R,_,k));if(W=W||{},k.throwOnError)throw W;return k.responseStyle==="data"?void 0:{error:W,...q}},b=w=>k=>g({...k,method:w}),v=w=>async k=>{const{opts:A,url:T}=await h(k);return BN({...A,body:A.body,headers:A.headers,method:w,onRequest:async(_,G)=>{let R=new Request(_,G);for(const q of u.request.fns)q&&(R=await q(R,A));return R},url:T})};return{buildUrl:xv,connect:b("CONNECT"),delete:b("DELETE"),get:b("GET"),getConfig:i,head:b("HEAD"),interceptors:u,options:b("OPTIONS"),patch:b("PATCH"),post:b("POST"),put:b("PUT"),request:g,setConfig:r,sse:{connect:v("CONNECT"),delete:v("DELETE"),get:v("GET"),head:v("HEAD"),options:v("OPTIONS"),patch:v("PATCH"),post:v("POST"),put:v("PUT"),trace:v("TRACE")},trace:b("TRACE")}},O=wk(xk()),t5=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/sitemaps/submit",...e,headers:{"Content-Type":"application/json",...e.headers}}),n5=e=>(e?.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects",...e}),a5=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects",...e,headers:{"Content-Type":"application/json",...e.headers}}),i5=e=>(e.client??O).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}",...e}),kk=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}",...e}),s5=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}",...e,headers:{"Content-Type":"application/json",...e.headers}}),o5=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan",...e}),r5=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-report",...e}),l5=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-setup",...e}),hX=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft",...e}),fX=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/create",...e,headers:{"Content-Type":"application/json",...e.headers}}),gX=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/import-sitemap",...e,headers:{"Content-Type":"application/json",...e.headers}}),yX=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/apply-sitemap-selection",...e,headers:{"Content-Type":"application/json",...e.headers}}),bX=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/upsert-target",...e,headers:{"Content-Type":"application/json",...e.headers}}),vX=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/exclude-target",...e,headers:{"Content-Type":"application/json",...e.headers}}),xX=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/apply-assignments",...e,headers:{"Content-Type":"application/json",...e.headers}}),wX=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/preview-assignments",...e,headers:{"Content-Type":"application/json",...e.headers}}),kX=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/replace-assignments",...e,headers:{"Content-Type":"application/json",...e.headers}}),SX=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/apply-paired-assignments",...e,headers:{"Content-Type":"application/json",...e.headers}}),jX=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/remove-assignment",...e,headers:{"Content-Type":"application/json",...e.headers}}),AX=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/upsert-group",...e,headers:{"Content-Type":"application/json",...e.headers}}),CX=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/remove-group",...e,headers:{"Content-Type":"application/json",...e.headers}}),NX=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/preview-group-membership",...e,headers:{"Content-Type":"application/json",...e.headers}}),_X=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/apply-group-membership",...e,headers:{"Content-Type":"application/json",...e.headers}}),TX=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/upsert-competitor",...e,headers:{"Content-Type":"application/json",...e.headers}}),c5=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/pin-competitor",...e,headers:{"Content-Type":"application/json",...e.headers}}),RX=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/remove-competitor",...e,headers:{"Content-Type":"application/json",...e.headers}}),EX=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/compile-preview",...e}),DX=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/diff-preview",...e}),zX=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/publish",...e,headers:{"Content-Type":"application/json",...e.headers}}),OX=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/discard",...e}),Sk=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-overview",...e}),u5=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/visibility-report",...e}),d5=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-property-evidence",...e}),m5=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-question-result",...e}),p5=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-property-competitors",...e}),h5=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-query-templates",...e}),f5=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-query-templates/{templateId}",...e,headers:{"Content-Type":"application/json",...e.headers}}),g5=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/research/runs",...e}),y5=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/research/batches",...e,headers:{"Content-Type":"application/json",...e.headers}}),b5=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/query-tracking",...e}),v5=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/query-tracking/preview",...e,headers:{"Content-Type":"application/json",...e.headers}}),x5=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/query-tracking/commit",...e,headers:{"Content-Type":"application/json",...e.headers}}),w5=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/research/runs/{runId}",...e}),k5=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/locations",...e,headers:{"Content-Type":"application/json",...e.headers}}),S5=e=>(e.client??O).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/locations/{label}",...e}),j5=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/locations/default",...e,headers:{"Content-Type":"application/json",...e.headers}}),A5=e=>(e.client??O).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/queries",...e,headers:{"Content-Type":"application/json",...e.headers}}),jk=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/queries",...e}),C5=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/queries",...e,headers:{"Content-Type":"application/json",...e.headers}}),N5=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/queries",...e,headers:{"Content-Type":"application/json",...e.headers}}),_5=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/queries/generate",...e,headers:{"Content-Type":"application/json",...e.headers}}),T5=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/competitors",...e,headers:{"Content-Type":"application/json",...e.headers}}),R5=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/competitors",...e,headers:{"Content-Type":"application/json",...e.headers}}),E5=e=>(e.client??O).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/competitors/{id}",...e}),D5=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/analytics/competitors",...e}),Ak=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/runs",...e}),z5=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/runs",...e,headers:{"Content-Type":"application/json",...e.headers}}),O5=e=>(e?.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/runs",...e}),I5=e=>(e?.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/runs",...e,headers:{"Content-Type":"application/json",...e?.headers}}),Ck=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/runs/{id}",...e}),P5=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/apply",...e,headers:{"Content-Type":"application/json",...e.headers}}),q5=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/history",...e}),M5=e=>(e?.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/history",...e}),B5=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/timeline",...e}),L5=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/analytics/metrics",...e}),V5=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/snapshots/diff",...e}),Nk=e=>(e?.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/settings",...e}),U5=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/settings/providers/{name}",...e,headers:{"Content-Type":"application/json",...e.headers}}),$5=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/settings/google",...e,headers:{"Content-Type":"application/json",...e.headers}}),G5=e=>(e?.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/keys/self",...e}),K5=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/settings/bing",...e,headers:{"Content-Type":"application/json",...e.headers}}),H5=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/settings/cdp",...e,headers:{"Content-Type":"application/json",...e.headers}}),Q5=e=>(e.client??O).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/schedule",...e}),F5=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/schedule",...e}),Z5=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/schedule",...e,headers:{"Content-Type":"application/json",...e.headers}}),Y5=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/schedules",...e}),X5=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/notifications",...e}),W5=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/notifications",...e,headers:{"Content-Type":"application/json",...e.headers}}),J5=e=>(e.client??O).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/notifications/{id}",...e}),e6=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/notifications/{id}/test",...e}),t6=e=>(e?.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/telemetry",...e}),n6=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/telemetry",...e,headers:{"Content-Type":"application/json",...e.headers}}),a6=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/telemetry/onboarding",...e,headers:{"Content-Type":"application/json",...e.headers}}),_k=e=>(e?.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/cdp/status",...e}),i6=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/status",...e}),s6=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/oauth/connect",...e,headers:{"Content-Type":"application/json",...e.headers}}),o6=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/customers",...e}),r6=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/selection",...e,headers:{"Content-Type":"application/json",...e.headers}}),l6=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/sync",...e}),c6=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/performance",...e}),u6=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/snapshots",...e}),d6=e=>(e.client??O).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/connection",...e}),m6=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/status",...e}),p6=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/oauth/connect",...e,headers:{"Content-Type":"application/json",...e.headers}}),h6=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/accounts",...e}),f6=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/accounts/{accountId}/containers",...e}),g6=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/accounts/{accountId}/containers/{containerId}/workspaces",...e}),y6=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/selection",...e,headers:{"Content-Type":"application/json",...e.headers}}),b6=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/sync",...e}),v6=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/snapshots",...e}),x6=e=>(e.client??O).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/connection",...e}),w6=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/conversion-tracking/options",...e}),k6=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/conversion-tracking/contracts",...e}),S6=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/conversion-tracking/contracts",...e,headers:{"Content-Type":"application/json",...e.headers}}),j6=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/conversion-tracking/contracts/{contractId}/integrity",...e}),A6=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/connections",...e}),C6=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/connect",...e,headers:{"Content-Type":"application/json",...e.headers}}),N6=e=>(e.client??O).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/connections/{type}",...e}),_6=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/properties",...e}),T6=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/connections/{type}/property",...e,headers:{"Content-Type":"application/json",...e.headers}}),R6=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/connections/{type}/sitemap",...e,headers:{"Content-Type":"application/json",...e.headers}}),E6=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/sync",...e,headers:{"Content-Type":"application/json",...e.headers}}),D6=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/performance",...e}),z6=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/performance/daily",...e}),O6=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/inspect",...e,headers:{"Content-Type":"application/json",...e.headers}}),I6=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/inspections",...e}),P6=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/deindexed",...e}),q6=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/coverage",...e}),M6=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/coverage/history",...e}),B6=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/sitemaps",...e}),L6=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/inspect-sitemap",...e,headers:{"Content-Type":"application/json",...e.headers}}),V6=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/indexing/request",...e,headers:{"Content-Type":"application/json",...e.headers}}),U6=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/locations",...e}),$6=e=>(e.client??O).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/locations/{locationName}/selection",...e,headers:{"Content-Type":"application/json",...e.headers}}),G6=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/sync",...e,headers:{"Content-Type":"application/json",...e.headers}}),K6=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/keywords",...e}),H6=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/place-actions",...e}),Q6=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/lodging",...e}),F6=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/places",...e}),Z6=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/summary",...e}),Y6=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/connect",...e,headers:{"Content-Type":"application/json",...e.headers}}),X6=e=>(e.client??O).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/disconnect",...e}),W6=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/status",...e}),J6=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/sites",...e}),e_=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/set-site",...e,headers:{"Content-Type":"application/json",...e.headers}}),t_=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/coverage",...e}),n_=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/inspections",...e}),a_=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/inspect-url",...e,headers:{"Content-Type":"application/json",...e.headers}}),i_=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/inspect-sitemap",...e,headers:{"Content-Type":"application/json",...e.headers}}),s_=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/request-indexing",...e,headers:{"Content-Type":"application/json",...e.headers}}),o_=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/performance",...e}),r_=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/connect",...e,headers:{"Content-Type":"application/json",...e.headers}}),l_=e=>(e.client??O).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/disconnect",...e}),c_=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/status",...e}),u_=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/sync",...e,headers:{"Content-Type":"application/json",...e.headers}}),d_=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/traffic",...e}),m_=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/ai-referral-daily",...e}),p_=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/social-referral-history",...e}),h_=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/session-history",...e}),f_=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/insights",...e}),g_=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/report",...e}),y_=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/health/history",...e}),b_=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/citations/visibility",...e}),v_=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/content/dismissals",...e,headers:{"Content-Type":"application/json",...e.headers}}),x_=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/overview",...e}),w_=e=>(e?.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/status",...e}),k_=e=>(e?.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/install",...e}),S_=e=>(e?.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/syncs",...e}),j_=e=>(e?.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/syncs",...e,headers:{"Content-Type":"application/json",...e?.headers}}),A_=e=>(e?.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/syncs/latest",...e}),C_=e=>(e?.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/releases",...e}),N_=e=>(e?.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/latest-release",...e}),__=e=>(e.client??O).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/cache/{release}",...e}),T_=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/backlinks/extract",...e,headers:{"Content-Type":"application/json",...e.headers}}),R_=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/backlinks/summary",...e}),E_=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/backlinks/domains",...e}),D_=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/backlinks/history",...e}),z_=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/connect/cloud-run",...e,headers:{"Content-Type":"application/json",...e.headers}}),O_=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/connect/wordpress",...e,headers:{"Content-Type":"application/json",...e.headers}}),I_=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/connect/vercel",...e,headers:{"Content-Type":"application/json",...e.headers}}),P_=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/sources/{id}/sync",...e,headers:{"Content-Type":"application/json",...e.headers}}),q_=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/sources/{id}/backfill",...e,headers:{"Content-Type":"application/json",...e.headers}}),M_=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/sources",...e}),B_=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/status",...e}),L_=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/sources/{id}",...e}),V_=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/events",...e}),U_=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/discover/run",...e,headers:{"Content-Type":"application/json",...e.headers}}),$_=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/discover/sessions",...e}),G_=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/discover/sessions/{id}",...e}),K_=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo",...e}),H_=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/pages",...e}),Q_=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/trend",...e}),F_=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/crawl",...e}),Z_=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/graph",...e}),Y_=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/crawl/pages/audit",...e}),Tk=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/crawl/pages",...e}),X_=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/structure",...e}),W_=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/internal-links/neighbors",...e}),J_=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/dead-links",...e}),e8=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/runs",...e}),t8=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/runs",...e,headers:{"Content-Type":"application/json",...e.headers}}),n8=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/runs/{runId}/progress",...e}),a8=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/runs/{runId}/page-health-preview",...e}),i8=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/agent/conversations",...e}),s8=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/agent/conversations",...e,headers:{"Content-Type":"application/json",...e.headers}}),o8=e=>(e.client??O).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/agent/conversations/{id}",...e}),r8=e=>(e.client??O).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/agent/conversations/{id}/resume",...e}),l8=e=>(e.client??O).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/agent/providers",...e});function c8(e){const n={baseUrl:e.baseUrl,fetch:e.fetch,headers:{...e.headers??{}}};return wk(n)}function X(e,n,i){function r(b,v){if(b._zod||Object.defineProperty(b,"_zod",{value:{def:v,constr:g,traits:new Set},enumerable:!1}),b._zod.traits.has(e))return;b._zod.traits.add(e),n(b,v);const w=g.prototype,k=Object.keys(w);for(let A=0;A<k.length;A++){const T=k[A];T in b||(b[T]=w[T].bind(b))}}const u=i?.Parent??Object;class h extends u{}Object.defineProperty(h,"name",{value:e});function g(b){var v;const w=i?.Parent?new h:this;r(w,b),(v=w._zod).deferred??(v.deferred=[]);for(const k of w._zod.deferred)k();return w}return Object.defineProperty(g,"init",{value:r}),Object.defineProperty(g,Symbol.hasInstance,{value:b=>i?.Parent&&b instanceof i.Parent?!0:b?._zod?.traits?.has(e)}),Object.defineProperty(g,"name",{value:e}),g}class vr extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class Rk extends Error{constructor(n){super(`Encountered unidirectional transform during encode: ${n}`),this.name="ZodEncodeError"}}const Ek={};function ys(e){return Ek}function Dk(e){const n=Object.values(e).filter(r=>typeof r=="number");return Object.entries(e).filter(([r,u])=>n.indexOf(+r)===-1).map(([r,u])=>u)}function lf(e,n){return typeof n=="bigint"?n.toString():n}function Od(e){return{get value(){{const n=e();return Object.defineProperty(this,"value",{value:n}),n}}}}function Jf(e){return e==null}function e0(e){const n=e.startsWith("^")?1:0,i=e.endsWith("$")?e.length-1:e.length;return e.slice(n,i)}function u8(e,n){const i=(e.toString().split(".")[1]||"").length,r=n.toString();let u=(r.split(".")[1]||"").length;if(u===0&&/\d?e-\d?/.test(r)){const v=r.match(/\d?e-(\d?)/);v?.[1]&&(u=Number.parseInt(v[1]))}const h=i>u?i:u,g=Number.parseInt(e.toFixed(h).replace(".","")),b=Number.parseInt(n.toFixed(h).replace(".",""));return g%b/10**h}const kv=Symbol("evaluating");function wt(e,n,i){let r;Object.defineProperty(e,n,{get(){if(r!==kv)return r===void 0&&(r=kv,r=i()),r},set(u){Object.defineProperty(e,n,{value:u})},configurable:!0})}function bo(e,n,i){Object.defineProperty(e,n,{value:i,writable:!0,enumerable:!0,configurable:!0})}function Ss(...e){const n={};for(const i of e){const r=Object.getOwnPropertyDescriptors(i);Object.assign(n,r)}return Object.defineProperties({},n)}function Sv(e){return JSON.stringify(e)}function d8(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const zk="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function ic(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const m8=Od(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function Sr(e){if(ic(e)===!1)return!1;const n=e.constructor;if(n===void 0||typeof n!="function")return!0;const i=n.prototype;return!(ic(i)===!1||Object.prototype.hasOwnProperty.call(i,"isPrototypeOf")===!1)}function Ok(e){return Sr(e)?{...e}:Array.isArray(e)?[...e]:e}const p8=new Set(["string","number","symbol"]);function jr(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function js(e,n,i){const r=new e._zod.constr(n??e._zod.def);return(!n||i?.parent)&&(r._zod.parent=e),r}function Re(e){const n=e;if(!n)return{};if(typeof n=="string")return{error:()=>n};if(n?.message!==void 0){if(n?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");n.error=n.message}return delete n.message,typeof n.error=="string"?{...n,error:()=>n.error}:n}function h8(e){return Object.keys(e).filter(n=>e[n]._zod.optin==="optional"&&e[n]._zod.optout==="optional")}const f8={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function g8(e,n){const i=e._zod.def,r=i.checks;if(r&&r.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");const h=Ss(e._zod.def,{get shape(){const g={};for(const b in n){if(!(b in i.shape))throw new Error(`Unrecognized key: "${b}"`);n[b]&&(g[b]=i.shape[b])}return bo(this,"shape",g),g},checks:[]});return js(e,h)}function y8(e,n){const i=e._zod.def,r=i.checks;if(r&&r.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const h=Ss(e._zod.def,{get shape(){const g={...e._zod.def.shape};for(const b in n){if(!(b in i.shape))throw new Error(`Unrecognized key: "${b}"`);n[b]&&delete g[b]}return bo(this,"shape",g),g},checks:[]});return js(e,h)}function b8(e,n){if(!Sr(n))throw new Error("Invalid input to extend: expected a plain object");const i=e._zod.def.checks;if(i&&i.length>0){const h=e._zod.def.shape;for(const g in n)if(Object.getOwnPropertyDescriptor(h,g)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const u=Ss(e._zod.def,{get shape(){const h={...e._zod.def.shape,...n};return bo(this,"shape",h),h}});return js(e,u)}function v8(e,n){if(!Sr(n))throw new Error("Invalid input to safeExtend: expected a plain object");const i=Ss(e._zod.def,{get shape(){const r={...e._zod.def.shape,...n};return bo(this,"shape",r),r}});return js(e,i)}function x8(e,n){const i=Ss(e._zod.def,{get shape(){const r={...e._zod.def.shape,...n._zod.def.shape};return bo(this,"shape",r),r},get catchall(){return n._zod.def.catchall},checks:[]});return js(e,i)}function w8(e,n,i){const u=n._zod.def.checks;if(u&&u.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");const g=Ss(n._zod.def,{get shape(){const b=n._zod.def.shape,v={...b};if(i)for(const w in i){if(!(w in b))throw new Error(`Unrecognized key: "${w}"`);i[w]&&(v[w]=e?new e({type:"optional",innerType:b[w]}):b[w])}else for(const w in b)v[w]=e?new e({type:"optional",innerType:b[w]}):b[w];return bo(this,"shape",v),v},checks:[]});return js(n,g)}function k8(e,n,i){const r=Ss(n._zod.def,{get shape(){const u=n._zod.def.shape,h={...u};if(i)for(const g in i){if(!(g in h))throw new Error(`Unrecognized key: "${g}"`);i[g]&&(h[g]=new e({type:"nonoptional",innerType:u[g]}))}else for(const g in u)h[g]=new e({type:"nonoptional",innerType:u[g]});return bo(this,"shape",h),h}});return js(n,r)}function gr(e,n=0){if(e.aborted===!0)return!0;for(let i=n;i<e.issues.length;i++)if(e.issues[i]?.continue!==!0)return!0;return!1}function yr(e,n){return n.map(i=>{var r;return(r=i).path??(r.path=[]),i.path.unshift(e),i})}function Bu(e){return typeof e=="string"?e:e?.message}function bs(e,n,i){const r={...e,path:e.path??[]};if(!e.message){const u=Bu(e.inst?._zod.def?.error?.(e))??Bu(n?.error?.(e))??Bu(i.customError?.(e))??Bu(i.localeError?.(e))??"Invalid input";r.message=u}return delete r.inst,delete r.continue,n?.reportInput||delete r.input,r}function t0(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function sc(...e){const[n,i,r]=e;return typeof n=="string"?{message:n,code:"custom",input:i,inst:r}:{...n}}const Ik=(e,n)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:n,enumerable:!1}),e.message=JSON.stringify(n,lf,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Pk=X("$ZodError",Ik),qk=X("$ZodError",Ik,{Parent:Error});function S8(e,n=i=>i.message){const i={},r=[];for(const u of e.issues)u.path.length>0?(i[u.path[0]]=i[u.path[0]]||[],i[u.path[0]].push(n(u))):r.push(n(u));return{formErrors:r,fieldErrors:i}}function j8(e,n=i=>i.message){const i={_errors:[]},r=u=>{for(const h of u.issues)if(h.code==="invalid_union"&&h.errors.length)h.errors.map(g=>r({issues:g}));else if(h.code==="invalid_key")r({issues:h.issues});else if(h.code==="invalid_element")r({issues:h.issues});else if(h.path.length===0)i._errors.push(n(h));else{let g=i,b=0;for(;b<h.path.length;){const v=h.path[b];b===h.path.length-1?(g[v]=g[v]||{_errors:[]},g[v]._errors.push(n(h))):g[v]=g[v]||{_errors:[]},g=g[v],b++}}};return r(e),i}const n0=e=>(n,i,r,u)=>{const h=r?Object.assign(r,{async:!1}):{async:!1},g=n._zod.run({value:i,issues:[]},h);if(g instanceof Promise)throw new vr;if(g.issues.length){const b=new(u?.Err??e)(g.issues.map(v=>bs(v,h,ys())));throw zk(b,u?.callee),b}return g.value},a0=e=>async(n,i,r,u)=>{const h=r?Object.assign(r,{async:!0}):{async:!0};let g=n._zod.run({value:i,issues:[]},h);if(g instanceof Promise&&(g=await g),g.issues.length){const b=new(u?.Err??e)(g.issues.map(v=>bs(v,h,ys())));throw zk(b,u?.callee),b}return g.value},Id=e=>(n,i,r)=>{const u=r?{...r,async:!1}:{async:!1},h=n._zod.run({value:i,issues:[]},u);if(h instanceof Promise)throw new vr;return h.issues.length?{success:!1,error:new(e??Pk)(h.issues.map(g=>bs(g,u,ys())))}:{success:!0,data:h.value}},A8=Id(qk),Pd=e=>async(n,i,r)=>{const u=r?Object.assign(r,{async:!0}):{async:!0};let h=n._zod.run({value:i,issues:[]},u);return h instanceof Promise&&(h=await h),h.issues.length?{success:!1,error:new e(h.issues.map(g=>bs(g,u,ys())))}:{success:!0,data:h.value}},C8=Pd(qk),N8=e=>(n,i,r)=>{const u=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return n0(e)(n,i,u)},_8=e=>(n,i,r)=>n0(e)(n,i,r),T8=e=>async(n,i,r)=>{const u=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return a0(e)(n,i,u)},R8=e=>async(n,i,r)=>a0(e)(n,i,r),E8=e=>(n,i,r)=>{const u=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return Id(e)(n,i,u)},D8=e=>(n,i,r)=>Id(e)(n,i,r),z8=e=>async(n,i,r)=>{const u=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return Pd(e)(n,i,u)},O8=e=>async(n,i,r)=>Pd(e)(n,i,r),I8=/^[cC][^\s-]{8,}$/,P8=/^[0-9a-z]+$/,q8=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,M8=/^[0-9a-vA-V]{20}$/,B8=/^[A-Za-z0-9]{27}$/,L8=/^[a-zA-Z0-9_-]{21}$/,V8=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,U8=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,jv=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,$8=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,G8="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function K8(){return new RegExp(G8,"u")}const H8=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Q8=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,F8=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Z8=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Y8=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Mk=/^[A-Za-z0-9_-]*$/,X8=/^\+[1-9]\d{6,14}$/,Bk="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",W8=new RegExp(`^${Bk}$`);function Lk(e){const n="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${n}`:e.precision===0?`${n}:[0-5]\\d`:`${n}:[0-5]\\d\\.\\d{${e.precision}}`:`${n}(?::[0-5]\\d(?:\\.\\d+)?)?`}function J8(e){return new RegExp(`^${Lk(e)}$`)}function e7(e){const n=Lk({precision:e.precision}),i=["Z"];e.local&&i.push(""),e.offset&&i.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const r=`${n}(?:${i.join("|")})`;return new RegExp(`^${Bk}T(?:${r})$`)}const t7=e=>{const n=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${n}$`)},n7=/^-?\d+$/,Vk=/^-?\d+(?:\.\d+)?$/,a7=/^(?:true|false)$/i,i7=/^null$/i,s7=/^[^A-Z]*$/,o7=/^[^a-z]*$/,Xn=X("$ZodCheck",(e,n)=>{var i;e._zod??(e._zod={}),e._zod.def=n,(i=e._zod).onattach??(i.onattach=[])}),Uk={number:"number",bigint:"bigint",object:"date"},$k=X("$ZodCheckLessThan",(e,n)=>{Xn.init(e,n);const i=Uk[typeof n.value];e._zod.onattach.push(r=>{const u=r._zod.bag,h=(n.inclusive?u.maximum:u.exclusiveMaximum)??Number.POSITIVE_INFINITY;n.value<h&&(n.inclusive?u.maximum=n.value:u.exclusiveMaximum=n.value)}),e._zod.check=r=>{(n.inclusive?r.value<=n.value:r.value<n.value)||r.issues.push({origin:i,code:"too_big",maximum:typeof n.value=="object"?n.value.getTime():n.value,input:r.value,inclusive:n.inclusive,inst:e,continue:!n.abort})}}),Gk=X("$ZodCheckGreaterThan",(e,n)=>{Xn.init(e,n);const i=Uk[typeof n.value];e._zod.onattach.push(r=>{const u=r._zod.bag,h=(n.inclusive?u.minimum:u.exclusiveMinimum)??Number.NEGATIVE_INFINITY;n.value>h&&(n.inclusive?u.minimum=n.value:u.exclusiveMinimum=n.value)}),e._zod.check=r=>{(n.inclusive?r.value>=n.value:r.value>n.value)||r.issues.push({origin:i,code:"too_small",minimum:typeof n.value=="object"?n.value.getTime():n.value,input:r.value,inclusive:n.inclusive,inst:e,continue:!n.abort})}}),r7=X("$ZodCheckMultipleOf",(e,n)=>{Xn.init(e,n),e._zod.onattach.push(i=>{var r;(r=i._zod.bag).multipleOf??(r.multipleOf=n.value)}),e._zod.check=i=>{if(typeof i.value!=typeof n.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof i.value=="bigint"?i.value%n.value===BigInt(0):u8(i.value,n.value)===0)||i.issues.push({origin:typeof i.value,code:"not_multiple_of",divisor:n.value,input:i.value,inst:e,continue:!n.abort})}}),l7=X("$ZodCheckNumberFormat",(e,n)=>{Xn.init(e,n),n.format=n.format||"float64";const i=n.format?.includes("int"),r=i?"int":"number",[u,h]=f8[n.format];e._zod.onattach.push(g=>{const b=g._zod.bag;b.format=n.format,b.minimum=u,b.maximum=h,i&&(b.pattern=n7)}),e._zod.check=g=>{const b=g.value;if(i){if(!Number.isInteger(b)){g.issues.push({expected:r,format:n.format,code:"invalid_type",continue:!1,input:b,inst:e});return}if(!Number.isSafeInteger(b)){b>0?g.issues.push({input:b,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!n.abort}):g.issues.push({input:b,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!n.abort});return}}b<u&&g.issues.push({origin:"number",input:b,code:"too_small",minimum:u,inclusive:!0,inst:e,continue:!n.abort}),b>h&&g.issues.push({origin:"number",input:b,code:"too_big",maximum:h,inclusive:!0,inst:e,continue:!n.abort})}}),c7=X("$ZodCheckMaxLength",(e,n)=>{var i;Xn.init(e,n),(i=e._zod.def).when??(i.when=r=>{const u=r.value;return!Jf(u)&&u.length!==void 0}),e._zod.onattach.push(r=>{const u=r._zod.bag.maximum??Number.POSITIVE_INFINITY;n.maximum<u&&(r._zod.bag.maximum=n.maximum)}),e._zod.check=r=>{const u=r.value;if(u.length<=n.maximum)return;const g=t0(u);r.issues.push({origin:g,code:"too_big",maximum:n.maximum,inclusive:!0,input:u,inst:e,continue:!n.abort})}}),u7=X("$ZodCheckMinLength",(e,n)=>{var i;Xn.init(e,n),(i=e._zod.def).when??(i.when=r=>{const u=r.value;return!Jf(u)&&u.length!==void 0}),e._zod.onattach.push(r=>{const u=r._zod.bag.minimum??Number.NEGATIVE_INFINITY;n.minimum>u&&(r._zod.bag.minimum=n.minimum)}),e._zod.check=r=>{const u=r.value;if(u.length>=n.minimum)return;const g=t0(u);r.issues.push({origin:g,code:"too_small",minimum:n.minimum,inclusive:!0,input:u,inst:e,continue:!n.abort})}}),d7=X("$ZodCheckLengthEquals",(e,n)=>{var i;Xn.init(e,n),(i=e._zod.def).when??(i.when=r=>{const u=r.value;return!Jf(u)&&u.length!==void 0}),e._zod.onattach.push(r=>{const u=r._zod.bag;u.minimum=n.length,u.maximum=n.length,u.length=n.length}),e._zod.check=r=>{const u=r.value,h=u.length;if(h===n.length)return;const g=t0(u),b=h>n.length;r.issues.push({origin:g,...b?{code:"too_big",maximum:n.length}:{code:"too_small",minimum:n.length},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!n.abort})}}),qd=X("$ZodCheckStringFormat",(e,n)=>{var i,r;Xn.init(e,n),e._zod.onattach.push(u=>{const h=u._zod.bag;h.format=n.format,n.pattern&&(h.patterns??(h.patterns=new Set),h.patterns.add(n.pattern))}),n.pattern?(i=e._zod).check??(i.check=u=>{n.pattern.lastIndex=0,!n.pattern.test(u.value)&&u.issues.push({origin:"string",code:"invalid_format",format:n.format,input:u.value,...n.pattern?{pattern:n.pattern.toString()}:{},inst:e,continue:!n.abort})}):(r=e._zod).check??(r.check=()=>{})}),m7=X("$ZodCheckRegex",(e,n)=>{qd.init(e,n),e._zod.check=i=>{n.pattern.lastIndex=0,!n.pattern.test(i.value)&&i.issues.push({origin:"string",code:"invalid_format",format:"regex",input:i.value,pattern:n.pattern.toString(),inst:e,continue:!n.abort})}}),p7=X("$ZodCheckLowerCase",(e,n)=>{n.pattern??(n.pattern=s7),qd.init(e,n)}),h7=X("$ZodCheckUpperCase",(e,n)=>{n.pattern??(n.pattern=o7),qd.init(e,n)}),f7=X("$ZodCheckIncludes",(e,n)=>{Xn.init(e,n);const i=jr(n.includes),r=new RegExp(typeof n.position=="number"?`^.{${n.position}}${i}`:i);n.pattern=r,e._zod.onattach.push(u=>{const h=u._zod.bag;h.patterns??(h.patterns=new Set),h.patterns.add(r)}),e._zod.check=u=>{u.value.includes(n.includes,n.position)||u.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:n.includes,input:u.value,inst:e,continue:!n.abort})}}),g7=X("$ZodCheckStartsWith",(e,n)=>{Xn.init(e,n);const i=new RegExp(`^${jr(n.prefix)}.*`);n.pattern??(n.pattern=i),e._zod.onattach.push(r=>{const u=r._zod.bag;u.patterns??(u.patterns=new Set),u.patterns.add(i)}),e._zod.check=r=>{r.value.startsWith(n.prefix)||r.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:n.prefix,input:r.value,inst:e,continue:!n.abort})}}),y7=X("$ZodCheckEndsWith",(e,n)=>{Xn.init(e,n);const i=new RegExp(`.*${jr(n.suffix)}$`);n.pattern??(n.pattern=i),e._zod.onattach.push(r=>{const u=r._zod.bag;u.patterns??(u.patterns=new Set),u.patterns.add(i)}),e._zod.check=r=>{r.value.endsWith(n.suffix)||r.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:n.suffix,input:r.value,inst:e,continue:!n.abort})}}),b7=X("$ZodCheckOverwrite",(e,n)=>{Xn.init(e,n),e._zod.check=i=>{i.value=n.tx(i.value)}});class v7{constructor(n=[]){this.content=[],this.indent=0,this&&(this.args=n)}indented(n){this.indent+=1,n(this),this.indent-=1}write(n){if(typeof n=="function"){n(this,{execution:"sync"}),n(this,{execution:"async"});return}const r=n.split(`
15
- `).filter(g=>g),u=Math.min(...r.map(g=>g.length-g.trimStart().length)),h=r.map(g=>g.slice(u)).map(g=>" ".repeat(this.indent*2)+g);for(const g of h)this.content.push(g)}compile(){const n=Function,i=this?.args,u=[...(this?.content??[""]).map(h=>` ${h}`)];return new n(...i,u.join(`
16
- `))}}const x7={major:4,minor:3,patch:6},Bt=X("$ZodType",(e,n)=>{var i;e??(e={}),e._zod.def=n,e._zod.bag=e._zod.bag||{},e._zod.version=x7;const r=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&r.unshift(e);for(const u of r)for(const h of u._zod.onattach)h(e);if(r.length===0)(i=e._zod).deferred??(i.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const u=(g,b,v)=>{let w=gr(g),k;for(const A of b){if(A._zod.def.when){if(!A._zod.def.when(g))continue}else if(w)continue;const T=g.issues.length,_=A._zod.check(g);if(_ instanceof Promise&&v?.async===!1)throw new vr;if(k||_ instanceof Promise)k=(k??Promise.resolve()).then(async()=>{await _,g.issues.length!==T&&(w||(w=gr(g,T)))});else{if(g.issues.length===T)continue;w||(w=gr(g,T))}}return k?k.then(()=>g):g},h=(g,b,v)=>{if(gr(g))return g.aborted=!0,g;const w=u(b,r,v);if(w instanceof Promise){if(v.async===!1)throw new vr;return w.then(k=>e._zod.parse(k,v))}return e._zod.parse(w,v)};e._zod.run=(g,b)=>{if(b.skipChecks)return e._zod.parse(g,b);if(b.direction==="backward"){const w=e._zod.parse({value:g.value,issues:[]},{...b,skipChecks:!0});return w instanceof Promise?w.then(k=>h(k,g,b)):h(w,g,b)}const v=e._zod.parse(g,b);if(v instanceof Promise){if(b.async===!1)throw new vr;return v.then(w=>u(w,r,b))}return u(v,r,b)}}wt(e,"~standard",()=>({validate:u=>{try{const h=A8(e,u);return h.success?{value:h.data}:{issues:h.error?.issues}}catch{return C8(e,u).then(g=>g.success?{value:g.data}:{issues:g.error?.issues})}},vendor:"zod",version:1}))}),i0=X("$ZodString",(e,n)=>{Bt.init(e,n),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??t7(e._zod.bag),e._zod.parse=(i,r)=>{if(n.coerce)try{i.value=String(i.value)}catch{}return typeof i.value=="string"||i.issues.push({expected:"string",code:"invalid_type",input:i.value,inst:e}),i}}),Lt=X("$ZodStringFormat",(e,n)=>{qd.init(e,n),i0.init(e,n)}),w7=X("$ZodGUID",(e,n)=>{n.pattern??(n.pattern=U8),Lt.init(e,n)}),k7=X("$ZodUUID",(e,n)=>{if(n.version){const r={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[n.version];if(r===void 0)throw new Error(`Invalid UUID version: "${n.version}"`);n.pattern??(n.pattern=jv(r))}else n.pattern??(n.pattern=jv());Lt.init(e,n)}),S7=X("$ZodEmail",(e,n)=>{n.pattern??(n.pattern=$8),Lt.init(e,n)}),j7=X("$ZodURL",(e,n)=>{Lt.init(e,n),e._zod.check=i=>{try{const r=i.value.trim(),u=new URL(r);n.hostname&&(n.hostname.lastIndex=0,n.hostname.test(u.hostname)||i.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:n.hostname.source,input:i.value,inst:e,continue:!n.abort})),n.protocol&&(n.protocol.lastIndex=0,n.protocol.test(u.protocol.endsWith(":")?u.protocol.slice(0,-1):u.protocol)||i.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:n.protocol.source,input:i.value,inst:e,continue:!n.abort})),n.normalize?i.value=u.href:i.value=r;return}catch{i.issues.push({code:"invalid_format",format:"url",input:i.value,inst:e,continue:!n.abort})}}}),A7=X("$ZodEmoji",(e,n)=>{n.pattern??(n.pattern=K8()),Lt.init(e,n)}),C7=X("$ZodNanoID",(e,n)=>{n.pattern??(n.pattern=L8),Lt.init(e,n)}),N7=X("$ZodCUID",(e,n)=>{n.pattern??(n.pattern=I8),Lt.init(e,n)}),_7=X("$ZodCUID2",(e,n)=>{n.pattern??(n.pattern=P8),Lt.init(e,n)}),T7=X("$ZodULID",(e,n)=>{n.pattern??(n.pattern=q8),Lt.init(e,n)}),R7=X("$ZodXID",(e,n)=>{n.pattern??(n.pattern=M8),Lt.init(e,n)}),E7=X("$ZodKSUID",(e,n)=>{n.pattern??(n.pattern=B8),Lt.init(e,n)}),D7=X("$ZodISODateTime",(e,n)=>{n.pattern??(n.pattern=e7(n)),Lt.init(e,n)}),z7=X("$ZodISODate",(e,n)=>{n.pattern??(n.pattern=W8),Lt.init(e,n)}),O7=X("$ZodISOTime",(e,n)=>{n.pattern??(n.pattern=J8(n)),Lt.init(e,n)}),I7=X("$ZodISODuration",(e,n)=>{n.pattern??(n.pattern=V8),Lt.init(e,n)}),P7=X("$ZodIPv4",(e,n)=>{n.pattern??(n.pattern=H8),Lt.init(e,n),e._zod.bag.format="ipv4"}),q7=X("$ZodIPv6",(e,n)=>{n.pattern??(n.pattern=Q8),Lt.init(e,n),e._zod.bag.format="ipv6",e._zod.check=i=>{try{new URL(`http://[${i.value}]`)}catch{i.issues.push({code:"invalid_format",format:"ipv6",input:i.value,inst:e,continue:!n.abort})}}}),M7=X("$ZodCIDRv4",(e,n)=>{n.pattern??(n.pattern=F8),Lt.init(e,n)}),B7=X("$ZodCIDRv6",(e,n)=>{n.pattern??(n.pattern=Z8),Lt.init(e,n),e._zod.check=i=>{const r=i.value.split("/");try{if(r.length!==2)throw new Error;const[u,h]=r;if(!h)throw new Error;const g=Number(h);if(`${g}`!==h)throw new Error;if(g<0||g>128)throw new Error;new URL(`http://[${u}]`)}catch{i.issues.push({code:"invalid_format",format:"cidrv6",input:i.value,inst:e,continue:!n.abort})}}});function Kk(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const L7=X("$ZodBase64",(e,n)=>{n.pattern??(n.pattern=Y8),Lt.init(e,n),e._zod.bag.contentEncoding="base64",e._zod.check=i=>{Kk(i.value)||i.issues.push({code:"invalid_format",format:"base64",input:i.value,inst:e,continue:!n.abort})}});function V7(e){if(!Mk.test(e))return!1;const n=e.replace(/[-_]/g,r=>r==="-"?"+":"/"),i=n.padEnd(Math.ceil(n.length/4)*4,"=");return Kk(i)}const U7=X("$ZodBase64URL",(e,n)=>{n.pattern??(n.pattern=Mk),Lt.init(e,n),e._zod.bag.contentEncoding="base64url",e._zod.check=i=>{V7(i.value)||i.issues.push({code:"invalid_format",format:"base64url",input:i.value,inst:e,continue:!n.abort})}}),$7=X("$ZodE164",(e,n)=>{n.pattern??(n.pattern=X8),Lt.init(e,n)});function G7(e,n=null){try{const i=e.split(".");if(i.length!==3)return!1;const[r]=i;if(!r)return!1;const u=JSON.parse(atob(r));return!("typ"in u&&u?.typ!=="JWT"||!u.alg||n&&(!("alg"in u)||u.alg!==n))}catch{return!1}}const K7=X("$ZodJWT",(e,n)=>{Lt.init(e,n),e._zod.check=i=>{G7(i.value,n.alg)||i.issues.push({code:"invalid_format",format:"jwt",input:i.value,inst:e,continue:!n.abort})}}),Hk=X("$ZodNumber",(e,n)=>{Bt.init(e,n),e._zod.pattern=e._zod.bag.pattern??Vk,e._zod.parse=(i,r)=>{if(n.coerce)try{i.value=Number(i.value)}catch{}const u=i.value;if(typeof u=="number"&&!Number.isNaN(u)&&Number.isFinite(u))return i;const h=typeof u=="number"?Number.isNaN(u)?"NaN":Number.isFinite(u)?void 0:"Infinity":void 0;return i.issues.push({expected:"number",code:"invalid_type",input:u,inst:e,...h?{received:h}:{}}),i}}),H7=X("$ZodNumberFormat",(e,n)=>{l7.init(e,n),Hk.init(e,n)}),Q7=X("$ZodBoolean",(e,n)=>{Bt.init(e,n),e._zod.pattern=a7,e._zod.parse=(i,r)=>{if(n.coerce)try{i.value=!!i.value}catch{}const u=i.value;return typeof u=="boolean"||i.issues.push({expected:"boolean",code:"invalid_type",input:u,inst:e}),i}}),F7=X("$ZodNull",(e,n)=>{Bt.init(e,n),e._zod.pattern=i7,e._zod.values=new Set([null]),e._zod.parse=(i,r)=>{const u=i.value;return u===null||i.issues.push({expected:"null",code:"invalid_type",input:u,inst:e}),i}}),Z7=X("$ZodUnknown",(e,n)=>{Bt.init(e,n),e._zod.parse=i=>i}),Y7=X("$ZodNever",(e,n)=>{Bt.init(e,n),e._zod.parse=(i,r)=>(i.issues.push({expected:"never",code:"invalid_type",input:i.value,inst:e}),i)});function Av(e,n,i){e.issues.length&&n.issues.push(...yr(i,e.issues)),n.value[i]=e.value}const X7=X("$ZodArray",(e,n)=>{Bt.init(e,n),e._zod.parse=(i,r)=>{const u=i.value;if(!Array.isArray(u))return i.issues.push({expected:"array",code:"invalid_type",input:u,inst:e}),i;i.value=Array(u.length);const h=[];for(let g=0;g<u.length;g++){const b=u[g],v=n.element._zod.run({value:b,issues:[]},r);v instanceof Promise?h.push(v.then(w=>Av(w,i,g))):Av(v,i,g)}return h.length?Promise.all(h).then(()=>i):i}});function ld(e,n,i,r,u){if(e.issues.length){if(u&&!(i in r))return;n.issues.push(...yr(i,e.issues))}e.value===void 0?i in r&&(n.value[i]=void 0):n.value[i]=e.value}function Qk(e){const n=Object.keys(e.shape);for(const r of n)if(!e.shape?.[r]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${r}": expected a Zod schema`);const i=h8(e.shape);return{...e,keys:n,keySet:new Set(n),numKeys:n.length,optionalKeys:new Set(i)}}function Fk(e,n,i,r,u,h){const g=[],b=u.keySet,v=u.catchall._zod,w=v.def.type,k=v.optout==="optional";for(const A in n){if(b.has(A))continue;if(w==="never"){g.push(A);continue}const T=v.run({value:n[A],issues:[]},r);T instanceof Promise?e.push(T.then(_=>ld(_,i,A,n,k))):ld(T,i,A,n,k)}return g.length&&i.issues.push({code:"unrecognized_keys",keys:g,input:n,inst:h}),e.length?Promise.all(e).then(()=>i):i}const W7=X("$ZodObject",(e,n)=>{if(Bt.init(e,n),!Object.getOwnPropertyDescriptor(n,"shape")?.get){const b=n.shape;Object.defineProperty(n,"shape",{get:()=>{const v={...b};return Object.defineProperty(n,"shape",{value:v}),v}})}const r=Od(()=>Qk(n));wt(e._zod,"propValues",()=>{const b=n.shape,v={};for(const w in b){const k=b[w]._zod;if(k.values){v[w]??(v[w]=new Set);for(const A of k.values)v[w].add(A)}}return v});const u=ic,h=n.catchall;let g;e._zod.parse=(b,v)=>{g??(g=r.value);const w=b.value;if(!u(w))return b.issues.push({expected:"object",code:"invalid_type",input:w,inst:e}),b;b.value={};const k=[],A=g.shape;for(const T of g.keys){const _=A[T],G=_._zod.optout==="optional",R=_._zod.run({value:w[T],issues:[]},v);R instanceof Promise?k.push(R.then(q=>ld(q,b,T,w,G))):ld(R,b,T,w,G)}return h?Fk(k,w,b,v,r.value,e):k.length?Promise.all(k).then(()=>b):b}}),J7=X("$ZodObjectJIT",(e,n)=>{W7.init(e,n);const i=e._zod.parse,r=Od(()=>Qk(n)),u=T=>{const _=new v7(["shape","payload","ctx"]),G=r.value,R=L=>{const W=Sv(L);return`shape[${W}]._zod.run({ value: input[${W}], issues: [] }, ctx)`};_.write("const input = payload.value;");const q=Object.create(null);let F=0;for(const L of G.keys)q[L]=`key_${F++}`;_.write("const newResult = {};");for(const L of G.keys){const W=q[L],J=Sv(L),V=T[L]?._zod?.optout==="optional";_.write(`const ${W} = ${R(L)};`),V?_.write(`
17
- if (${W}.issues.length) {
18
- if (${J} in input) {
19
- payload.issues = payload.issues.concat(${W}.issues.map(iss => ({
20
- ...iss,
21
- path: iss.path ? [${J}, ...iss.path] : [${J}]
22
- })));
23
- }
24
- }
25
-
26
- if (${W}.value === undefined) {
27
- if (${J} in input) {
28
- newResult[${J}] = undefined;
29
- }
30
- } else {
31
- newResult[${J}] = ${W}.value;
32
- }
33
-
34
- `):_.write(`
35
- if (${W}.issues.length) {
36
- payload.issues = payload.issues.concat(${W}.issues.map(iss => ({
37
- ...iss,
38
- path: iss.path ? [${J}, ...iss.path] : [${J}]
39
- })));
40
- }
41
-
42
- if (${W}.value === undefined) {
43
- if (${J} in input) {
44
- newResult[${J}] = undefined;
45
- }
46
- } else {
47
- newResult[${J}] = ${W}.value;
48
- }
49
-
50
- `)}_.write("payload.value = newResult;"),_.write("return payload;");const ae=_.compile();return(L,W)=>ae(T,L,W)};let h;const g=ic,b=!Ek.jitless,w=b&&m8.value,k=n.catchall;let A;e._zod.parse=(T,_)=>{A??(A=r.value);const G=T.value;return g(G)?b&&w&&_?.async===!1&&_.jitless!==!0?(h||(h=u(n.shape)),T=h(T,_),k?Fk([],G,T,_,A,e):T):i(T,_):(T.issues.push({expected:"object",code:"invalid_type",input:G,inst:e}),T)}});function Cv(e,n,i,r){for(const h of e)if(h.issues.length===0)return n.value=h.value,n;const u=e.filter(h=>!gr(h));return u.length===1?(n.value=u[0].value,u[0]):(n.issues.push({code:"invalid_union",input:n.value,inst:i,errors:e.map(h=>h.issues.map(g=>bs(g,r,ys())))}),n)}const Zk=X("$ZodUnion",(e,n)=>{Bt.init(e,n),wt(e._zod,"optin",()=>n.options.some(u=>u._zod.optin==="optional")?"optional":void 0),wt(e._zod,"optout",()=>n.options.some(u=>u._zod.optout==="optional")?"optional":void 0),wt(e._zod,"values",()=>{if(n.options.every(u=>u._zod.values))return new Set(n.options.flatMap(u=>Array.from(u._zod.values)))}),wt(e._zod,"pattern",()=>{if(n.options.every(u=>u._zod.pattern)){const u=n.options.map(h=>h._zod.pattern);return new RegExp(`^(${u.map(h=>e0(h.source)).join("|")})$`)}});const i=n.options.length===1,r=n.options[0]._zod.run;e._zod.parse=(u,h)=>{if(i)return r(u,h);let g=!1;const b=[];for(const v of n.options){const w=v._zod.run({value:u.value,issues:[]},h);if(w instanceof Promise)b.push(w),g=!0;else{if(w.issues.length===0)return w;b.push(w)}}return g?Promise.all(b).then(v=>Cv(v,u,e,h)):Cv(b,u,e,h)}}),eT=X("$ZodDiscriminatedUnion",(e,n)=>{n.inclusive=!1,Zk.init(e,n);const i=e._zod.parse;wt(e._zod,"propValues",()=>{const u={};for(const h of n.options){const g=h._zod.propValues;if(!g||Object.keys(g).length===0)throw new Error(`Invalid discriminated union option at index "${n.options.indexOf(h)}"`);for(const[b,v]of Object.entries(g)){u[b]||(u[b]=new Set);for(const w of v)u[b].add(w)}}return u});const r=Od(()=>{const u=n.options,h=new Map;for(const g of u){const b=g._zod.propValues?.[n.discriminator];if(!b||b.size===0)throw new Error(`Invalid discriminated union option at index "${n.options.indexOf(g)}"`);for(const v of b){if(h.has(v))throw new Error(`Duplicate discriminator value "${String(v)}"`);h.set(v,g)}}return h});e._zod.parse=(u,h)=>{const g=u.value;if(!ic(g))return u.issues.push({code:"invalid_type",expected:"object",input:g,inst:e}),u;const b=r.value.get(g?.[n.discriminator]);return b?b._zod.run(u,h):n.unionFallback?i(u,h):(u.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:n.discriminator,input:g,path:[n.discriminator],inst:e}),u)}}),tT=X("$ZodIntersection",(e,n)=>{Bt.init(e,n),e._zod.parse=(i,r)=>{const u=i.value,h=n.left._zod.run({value:u,issues:[]},r),g=n.right._zod.run({value:u,issues:[]},r);return h instanceof Promise||g instanceof Promise?Promise.all([h,g]).then(([v,w])=>Nv(i,v,w)):Nv(i,h,g)}});function cf(e,n){if(e===n)return{valid:!0,data:e};if(e instanceof Date&&n instanceof Date&&+e==+n)return{valid:!0,data:e};if(Sr(e)&&Sr(n)){const i=Object.keys(n),r=Object.keys(e).filter(h=>i.indexOf(h)!==-1),u={...e,...n};for(const h of r){const g=cf(e[h],n[h]);if(!g.valid)return{valid:!1,mergeErrorPath:[h,...g.mergeErrorPath]};u[h]=g.data}return{valid:!0,data:u}}if(Array.isArray(e)&&Array.isArray(n)){if(e.length!==n.length)return{valid:!1,mergeErrorPath:[]};const i=[];for(let r=0;r<e.length;r++){const u=e[r],h=n[r],g=cf(u,h);if(!g.valid)return{valid:!1,mergeErrorPath:[r,...g.mergeErrorPath]};i.push(g.data)}return{valid:!0,data:i}}return{valid:!1,mergeErrorPath:[]}}function Nv(e,n,i){const r=new Map;let u;for(const b of n.issues)if(b.code==="unrecognized_keys"){u??(u=b);for(const v of b.keys)r.has(v)||r.set(v,{}),r.get(v).l=!0}else e.issues.push(b);for(const b of i.issues)if(b.code==="unrecognized_keys")for(const v of b.keys)r.has(v)||r.set(v,{}),r.get(v).r=!0;else e.issues.push(b);const h=[...r].filter(([,b])=>b.l&&b.r).map(([b])=>b);if(h.length&&u&&e.issues.push({...u,keys:h}),gr(e))return e;const g=cf(n.value,i.value);if(!g.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(g.mergeErrorPath)}`);return e.value=g.data,e}const nT=X("$ZodRecord",(e,n)=>{Bt.init(e,n),e._zod.parse=(i,r)=>{const u=i.value;if(!Sr(u))return i.issues.push({expected:"record",code:"invalid_type",input:u,inst:e}),i;const h=[],g=n.keyType._zod.values;if(g){i.value={};const b=new Set;for(const w of g)if(typeof w=="string"||typeof w=="number"||typeof w=="symbol"){b.add(typeof w=="number"?w.toString():w);const k=n.valueType._zod.run({value:u[w],issues:[]},r);k instanceof Promise?h.push(k.then(A=>{A.issues.length&&i.issues.push(...yr(w,A.issues)),i.value[w]=A.value})):(k.issues.length&&i.issues.push(...yr(w,k.issues)),i.value[w]=k.value)}let v;for(const w in u)b.has(w)||(v=v??[],v.push(w));v&&v.length>0&&i.issues.push({code:"unrecognized_keys",input:u,inst:e,keys:v})}else{i.value={};for(const b of Reflect.ownKeys(u)){if(b==="__proto__")continue;let v=n.keyType._zod.run({value:b,issues:[]},r);if(v instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof b=="string"&&Vk.test(b)&&v.issues.length){const A=n.keyType._zod.run({value:Number(b),issues:[]},r);if(A instanceof Promise)throw new Error("Async schemas not supported in object keys currently");A.issues.length===0&&(v=A)}if(v.issues.length){n.mode==="loose"?i.value[b]=u[b]:i.issues.push({code:"invalid_key",origin:"record",issues:v.issues.map(A=>bs(A,r,ys())),input:b,path:[b],inst:e});continue}const k=n.valueType._zod.run({value:u[b],issues:[]},r);k instanceof Promise?h.push(k.then(A=>{A.issues.length&&i.issues.push(...yr(b,A.issues)),i.value[v.value]=A.value})):(k.issues.length&&i.issues.push(...yr(b,k.issues)),i.value[v.value]=k.value)}}return h.length?Promise.all(h).then(()=>i):i}}),aT=X("$ZodEnum",(e,n)=>{Bt.init(e,n);const i=Dk(n.entries),r=new Set(i);e._zod.values=r,e._zod.pattern=new RegExp(`^(${i.filter(u=>p8.has(typeof u)).map(u=>typeof u=="string"?jr(u):u.toString()).join("|")})$`),e._zod.parse=(u,h)=>{const g=u.value;return r.has(g)||u.issues.push({code:"invalid_value",values:i,input:g,inst:e}),u}}),iT=X("$ZodLiteral",(e,n)=>{if(Bt.init(e,n),n.values.length===0)throw new Error("Cannot create literal schema with no valid values");const i=new Set(n.values);e._zod.values=i,e._zod.pattern=new RegExp(`^(${n.values.map(r=>typeof r=="string"?jr(r):r?jr(r.toString()):String(r)).join("|")})$`),e._zod.parse=(r,u)=>{const h=r.value;return i.has(h)||r.issues.push({code:"invalid_value",values:n.values,input:h,inst:e}),r}}),sT=X("$ZodTransform",(e,n)=>{Bt.init(e,n),e._zod.parse=(i,r)=>{if(r.direction==="backward")throw new Rk(e.constructor.name);const u=n.transform(i.value,i);if(r.async)return(u instanceof Promise?u:Promise.resolve(u)).then(g=>(i.value=g,i));if(u instanceof Promise)throw new vr;return i.value=u,i}});function _v(e,n){return e.issues.length&&n===void 0?{issues:[],value:void 0}:e}const Yk=X("$ZodOptional",(e,n)=>{Bt.init(e,n),e._zod.optin="optional",e._zod.optout="optional",wt(e._zod,"values",()=>n.innerType._zod.values?new Set([...n.innerType._zod.values,void 0]):void 0),wt(e._zod,"pattern",()=>{const i=n.innerType._zod.pattern;return i?new RegExp(`^(${e0(i.source)})?$`):void 0}),e._zod.parse=(i,r)=>{if(n.innerType._zod.optin==="optional"){const u=n.innerType._zod.run(i,r);return u instanceof Promise?u.then(h=>_v(h,i.value)):_v(u,i.value)}return i.value===void 0?i:n.innerType._zod.run(i,r)}}),oT=X("$ZodExactOptional",(e,n)=>{Yk.init(e,n),wt(e._zod,"values",()=>n.innerType._zod.values),wt(e._zod,"pattern",()=>n.innerType._zod.pattern),e._zod.parse=(i,r)=>n.innerType._zod.run(i,r)}),rT=X("$ZodNullable",(e,n)=>{Bt.init(e,n),wt(e._zod,"optin",()=>n.innerType._zod.optin),wt(e._zod,"optout",()=>n.innerType._zod.optout),wt(e._zod,"pattern",()=>{const i=n.innerType._zod.pattern;return i?new RegExp(`^(${e0(i.source)}|null)$`):void 0}),wt(e._zod,"values",()=>n.innerType._zod.values?new Set([...n.innerType._zod.values,null]):void 0),e._zod.parse=(i,r)=>i.value===null?i:n.innerType._zod.run(i,r)}),lT=X("$ZodDefault",(e,n)=>{Bt.init(e,n),e._zod.optin="optional",wt(e._zod,"values",()=>n.innerType._zod.values),e._zod.parse=(i,r)=>{if(r.direction==="backward")return n.innerType._zod.run(i,r);if(i.value===void 0)return i.value=n.defaultValue,i;const u=n.innerType._zod.run(i,r);return u instanceof Promise?u.then(h=>Tv(h,n)):Tv(u,n)}});function Tv(e,n){return e.value===void 0&&(e.value=n.defaultValue),e}const cT=X("$ZodPrefault",(e,n)=>{Bt.init(e,n),e._zod.optin="optional",wt(e._zod,"values",()=>n.innerType._zod.values),e._zod.parse=(i,r)=>(r.direction==="backward"||i.value===void 0&&(i.value=n.defaultValue),n.innerType._zod.run(i,r))}),uT=X("$ZodNonOptional",(e,n)=>{Bt.init(e,n),wt(e._zod,"values",()=>{const i=n.innerType._zod.values;return i?new Set([...i].filter(r=>r!==void 0)):void 0}),e._zod.parse=(i,r)=>{const u=n.innerType._zod.run(i,r);return u instanceof Promise?u.then(h=>Rv(h,e)):Rv(u,e)}});function Rv(e,n){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:n}),e}const dT=X("$ZodCatch",(e,n)=>{Bt.init(e,n),wt(e._zod,"optin",()=>n.innerType._zod.optin),wt(e._zod,"optout",()=>n.innerType._zod.optout),wt(e._zod,"values",()=>n.innerType._zod.values),e._zod.parse=(i,r)=>{if(r.direction==="backward")return n.innerType._zod.run(i,r);const u=n.innerType._zod.run(i,r);return u instanceof Promise?u.then(h=>(i.value=h.value,h.issues.length&&(i.value=n.catchValue({...i,error:{issues:h.issues.map(g=>bs(g,r,ys()))},input:i.value}),i.issues=[]),i)):(i.value=u.value,u.issues.length&&(i.value=n.catchValue({...i,error:{issues:u.issues.map(h=>bs(h,r,ys()))},input:i.value}),i.issues=[]),i)}}),mT=X("$ZodPipe",(e,n)=>{Bt.init(e,n),wt(e._zod,"values",()=>n.in._zod.values),wt(e._zod,"optin",()=>n.in._zod.optin),wt(e._zod,"optout",()=>n.out._zod.optout),wt(e._zod,"propValues",()=>n.in._zod.propValues),e._zod.parse=(i,r)=>{if(r.direction==="backward"){const h=n.out._zod.run(i,r);return h instanceof Promise?h.then(g=>Lu(g,n.in,r)):Lu(h,n.in,r)}const u=n.in._zod.run(i,r);return u instanceof Promise?u.then(h=>Lu(h,n.out,r)):Lu(u,n.out,r)}});function Lu(e,n,i){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:e.value,issues:e.issues},i)}const pT=X("$ZodReadonly",(e,n)=>{Bt.init(e,n),wt(e._zod,"propValues",()=>n.innerType._zod.propValues),wt(e._zod,"values",()=>n.innerType._zod.values),wt(e._zod,"optin",()=>n.innerType?._zod?.optin),wt(e._zod,"optout",()=>n.innerType?._zod?.optout),e._zod.parse=(i,r)=>{if(r.direction==="backward")return n.innerType._zod.run(i,r);const u=n.innerType._zod.run(i,r);return u instanceof Promise?u.then(Ev):Ev(u)}});function Ev(e){return e.value=Object.freeze(e.value),e}const hT=X("$ZodCustom",(e,n)=>{Xn.init(e,n),Bt.init(e,n),e._zod.parse=(i,r)=>i,e._zod.check=i=>{const r=i.value,u=n.fn(r);if(u instanceof Promise)return u.then(h=>Dv(h,i,r,e));Dv(u,i,r,e)}});function Dv(e,n,i,r){if(!e){const u={code:"custom",input:i,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(u.params=r._zod.def.params),n.issues.push(sc(u))}}var zv;class fT{constructor(){this._map=new WeakMap,this._idmap=new Map}add(n,...i){const r=i[0];return this._map.set(n,r),r&&typeof r=="object"&&"id"in r&&this._idmap.set(r.id,n),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(n){const i=this._map.get(n);return i&&typeof i=="object"&&"id"in i&&this._idmap.delete(i.id),this._map.delete(n),this}get(n){const i=n._zod.parent;if(i){const r={...this.get(i)??{}};delete r.id;const u={...r,...this._map.get(n)};return Object.keys(u).length?u:void 0}return this._map.get(n)}has(n){return this._map.has(n)}}function gT(){return new fT}(zv=globalThis).__zod_globalRegistry??(zv.__zod_globalRegistry=gT());const Yl=globalThis.__zod_globalRegistry;function yT(e,n){return new e({type:"string",...Re(n)})}function bT(e,n){return new e({type:"string",format:"email",check:"string_format",abort:!1,...Re(n)})}function Ov(e,n){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...Re(n)})}function Xk(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...Re(n)})}function vT(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...Re(n)})}function xT(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...Re(n)})}function wT(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...Re(n)})}function kT(e,n){return new e({type:"string",format:"url",check:"string_format",abort:!1,...Re(n)})}function ST(e,n){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...Re(n)})}function jT(e,n){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...Re(n)})}function AT(e,n){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...Re(n)})}function CT(e,n){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...Re(n)})}function NT(e,n){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...Re(n)})}function _T(e,n){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...Re(n)})}function TT(e,n){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...Re(n)})}function RT(e,n){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...Re(n)})}function ET(e,n){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...Re(n)})}function DT(e,n){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...Re(n)})}function zT(e,n){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...Re(n)})}function OT(e,n){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...Re(n)})}function IT(e,n){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...Re(n)})}function PT(e,n){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...Re(n)})}function qT(e,n){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...Re(n)})}function MT(e,n){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...Re(n)})}function BT(e,n){return new e({type:"string",format:"date",check:"string_format",...Re(n)})}function LT(e,n){return new e({type:"string",format:"time",check:"string_format",precision:null,...Re(n)})}function VT(e,n){return new e({type:"string",format:"duration",check:"string_format",...Re(n)})}function UT(e,n){return new e({type:"number",checks:[],...Re(n)})}function $T(e,n){return new e({type:"number",coerce:!0,checks:[],...Re(n)})}function GT(e,n){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...Re(n)})}function KT(e,n){return new e({type:"boolean",...Re(n)})}function HT(e,n){return new e({type:"null",...Re(n)})}function QT(e){return new e({type:"unknown"})}function FT(e,n){return new e({type:"never",...Re(n)})}function Iv(e,n){return new $k({check:"less_than",...Re(n),value:e,inclusive:!1})}function jh(e,n){return new $k({check:"less_than",...Re(n),value:e,inclusive:!0})}function Pv(e,n){return new Gk({check:"greater_than",...Re(n),value:e,inclusive:!1})}function Ah(e,n){return new Gk({check:"greater_than",...Re(n),value:e,inclusive:!0})}function qv(e,n){return new r7({check:"multiple_of",...Re(n),value:e})}function Wk(e,n){return new c7({check:"max_length",...Re(n),maximum:e})}function cd(e,n){return new u7({check:"min_length",...Re(n),minimum:e})}function Jk(e,n){return new d7({check:"length_equals",...Re(n),length:e})}function ZT(e,n){return new m7({check:"string_format",format:"regex",...Re(n),pattern:e})}function YT(e){return new p7({check:"string_format",format:"lowercase",...Re(e)})}function XT(e){return new h7({check:"string_format",format:"uppercase",...Re(e)})}function WT(e,n){return new f7({check:"string_format",format:"includes",...Re(n),includes:e})}function JT(e,n){return new g7({check:"string_format",format:"starts_with",...Re(n),prefix:e})}function eR(e,n){return new y7({check:"string_format",format:"ends_with",...Re(n),suffix:e})}function zr(e){return new b7({check:"overwrite",tx:e})}function tR(e){return zr(n=>n.normalize(e))}function nR(){return zr(e=>e.trim())}function aR(){return zr(e=>e.toLowerCase())}function iR(){return zr(e=>e.toUpperCase())}function sR(){return zr(e=>d8(e))}function oR(e,n,i){return new e({type:"array",element:n,...Re(i)})}function rR(e,n,i){return new e({type:"custom",check:"custom",fn:n,...Re(i)})}function lR(e){const n=cR(i=>(i.addIssue=r=>{if(typeof r=="string")i.issues.push(sc(r,i.value,n._zod.def));else{const u=r;u.fatal&&(u.continue=!1),u.code??(u.code="custom"),u.input??(u.input=i.value),u.inst??(u.inst=n),u.continue??(u.continue=!n._zod.def.abort),i.issues.push(sc(u))}},e(i.value,i)));return n}function cR(e,n){const i=new Xn({check:"custom",...Re(n)});return i._zod.check=e,i}function eS(e){let n=e?.target??"draft-2020-12";return n==="draft-4"&&(n="draft-04"),n==="draft-7"&&(n="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??Yl,target:n,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function on(e,n,i={path:[],schemaPath:[]}){var r;const u=e._zod.def,h=n.seen.get(e);if(h)return h.count++,i.schemaPath.includes(e)&&(h.cycle=i.path),h.schema;const g={schema:{},count:1,cycle:void 0,path:i.path};n.seen.set(e,g);const b=e._zod.toJSONSchema?.();if(b)g.schema=b;else{const k={...i,schemaPath:[...i.schemaPath,e],path:i.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(n,g.schema,k);else{const T=g.schema,_=n.processors[u.type];if(!_)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${u.type}`);_(e,n,T,k)}const A=e._zod.parent;A&&(g.ref||(g.ref=A),on(A,n,k),n.seen.get(A).isParent=!0)}const v=n.metadataRegistry.get(e);return v&&Object.assign(g.schema,v),n.io==="input"&&Mn(e)&&(delete g.schema.examples,delete g.schema.default),n.io==="input"&&g.schema._prefault&&((r=g.schema).default??(r.default=g.schema._prefault)),delete g.schema._prefault,n.seen.get(e).schema}function tS(e,n){const i=e.seen.get(n);if(!i)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=new Map;for(const g of e.seen.entries()){const b=e.metadataRegistry.get(g[0])?.id;if(b){const v=r.get(b);if(v&&v!==g[0])throw new Error(`Duplicate schema id "${b}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(b,g[0])}}const u=g=>{const b=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const A=e.external.registry.get(g[0])?.id,T=e.external.uri??(G=>G);if(A)return{ref:T(A)};const _=g[1].defId??g[1].schema.id??`schema${e.counter++}`;return g[1].defId=_,{defId:_,ref:`${T("__shared")}#/${b}/${_}`}}if(g[1]===i)return{ref:"#"};const w=`#/${b}/`,k=g[1].schema.id??`__schema${e.counter++}`;return{defId:k,ref:w+k}},h=g=>{if(g[1].schema.$ref)return;const b=g[1],{ref:v,defId:w}=u(g);b.def={...b.schema},w&&(b.defId=w);const k=b.schema;for(const A in k)delete k[A];k.$ref=v};if(e.cycles==="throw")for(const g of e.seen.entries()){const b=g[1];if(b.cycle)throw new Error(`Cycle detected: #/${b.cycle?.join("/")}/<root>
51
-
52
- Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const g of e.seen.entries()){const b=g[1];if(n===g[0]){h(g);continue}if(e.external){const w=e.external.registry.get(g[0])?.id;if(n!==g[0]&&w){h(g);continue}}if(e.metadataRegistry.get(g[0])?.id){h(g);continue}if(b.cycle){h(g);continue}if(b.count>1&&e.reused==="ref"){h(g);continue}}}function nS(e,n){const i=e.seen.get(n);if(!i)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=g=>{const b=e.seen.get(g);if(b.ref===null)return;const v=b.def??b.schema,w={...v},k=b.ref;if(b.ref=null,k){r(k);const T=e.seen.get(k),_=T.schema;if(_.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(v.allOf=v.allOf??[],v.allOf.push(_)):Object.assign(v,_),Object.assign(v,w),g._zod.parent===k)for(const R in v)R==="$ref"||R==="allOf"||R in w||delete v[R];if(_.$ref&&T.def)for(const R in v)R==="$ref"||R==="allOf"||R in T.def&&JSON.stringify(v[R])===JSON.stringify(T.def[R])&&delete v[R]}const A=g._zod.parent;if(A&&A!==k){r(A);const T=e.seen.get(A);if(T?.schema.$ref&&(v.$ref=T.schema.$ref,T.def))for(const _ in v)_==="$ref"||_==="allOf"||_ in T.def&&JSON.stringify(v[_])===JSON.stringify(T.def[_])&&delete v[_]}e.override({zodSchema:g,jsonSchema:v,path:b.path??[]})};for(const g of[...e.seen.entries()].reverse())r(g[0]);const u={};if(e.target==="draft-2020-12"?u.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?u.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?u.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const g=e.external.registry.get(n)?.id;if(!g)throw new Error("Schema is missing an `id` property");u.$id=e.external.uri(g)}Object.assign(u,i.def??i.schema);const h=e.external?.defs??{};for(const g of e.seen.entries()){const b=g[1];b.def&&b.defId&&(h[b.defId]=b.def)}e.external||Object.keys(h).length>0&&(e.target==="draft-2020-12"?u.$defs=h:u.definitions=h);try{const g=JSON.parse(JSON.stringify(u));return Object.defineProperty(g,"~standard",{value:{...n["~standard"],jsonSchema:{input:ud(n,"input",e.processors),output:ud(n,"output",e.processors)}},enumerable:!1,writable:!1}),g}catch{throw new Error("Error converting schema to JSON.")}}function Mn(e,n){const i=n??{seen:new Set};if(i.seen.has(e))return!1;i.seen.add(e);const r=e._zod.def;if(r.type==="transform")return!0;if(r.type==="array")return Mn(r.element,i);if(r.type==="set")return Mn(r.valueType,i);if(r.type==="lazy")return Mn(r.getter(),i);if(r.type==="promise"||r.type==="optional"||r.type==="nonoptional"||r.type==="nullable"||r.type==="readonly"||r.type==="default"||r.type==="prefault")return Mn(r.innerType,i);if(r.type==="intersection")return Mn(r.left,i)||Mn(r.right,i);if(r.type==="record"||r.type==="map")return Mn(r.keyType,i)||Mn(r.valueType,i);if(r.type==="pipe")return Mn(r.in,i)||Mn(r.out,i);if(r.type==="object"){for(const u in r.shape)if(Mn(r.shape[u],i))return!0;return!1}if(r.type==="union"){for(const u of r.options)if(Mn(u,i))return!0;return!1}if(r.type==="tuple"){for(const u of r.items)if(Mn(u,i))return!0;return!!(r.rest&&Mn(r.rest,i))}return!1}const uR=(e,n={})=>i=>{const r=eS({...i,processors:n});return on(e,r),tS(r,e),nS(r,e)},ud=(e,n,i={})=>r=>{const{libraryOptions:u,target:h}=r??{},g=eS({...u??{},target:h,io:n,processors:i});return on(e,g),tS(g,e),nS(g,e)},dR={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},mR=(e,n,i,r)=>{const u=i;u.type="string";const{minimum:h,maximum:g,format:b,patterns:v,contentEncoding:w}=e._zod.bag;if(typeof h=="number"&&(u.minLength=h),typeof g=="number"&&(u.maxLength=g),b&&(u.format=dR[b]??b,u.format===""&&delete u.format,b==="time"&&delete u.format),w&&(u.contentEncoding=w),v&&v.size>0){const k=[...v];k.length===1?u.pattern=k[0].source:k.length>1&&(u.allOf=[...k.map(A=>({...n.target==="draft-07"||n.target==="draft-04"||n.target==="openapi-3.0"?{type:"string"}:{},pattern:A.source}))])}},pR=(e,n,i,r)=>{const u=i,{minimum:h,maximum:g,format:b,multipleOf:v,exclusiveMaximum:w,exclusiveMinimum:k}=e._zod.bag;typeof b=="string"&&b.includes("int")?u.type="integer":u.type="number",typeof k=="number"&&(n.target==="draft-04"||n.target==="openapi-3.0"?(u.minimum=k,u.exclusiveMinimum=!0):u.exclusiveMinimum=k),typeof h=="number"&&(u.minimum=h,typeof k=="number"&&n.target!=="draft-04"&&(k>=h?delete u.minimum:delete u.exclusiveMinimum)),typeof w=="number"&&(n.target==="draft-04"||n.target==="openapi-3.0"?(u.maximum=w,u.exclusiveMaximum=!0):u.exclusiveMaximum=w),typeof g=="number"&&(u.maximum=g,typeof w=="number"&&n.target!=="draft-04"&&(w<=g?delete u.maximum:delete u.exclusiveMaximum)),typeof v=="number"&&(u.multipleOf=v)},hR=(e,n,i,r)=>{i.type="boolean"},fR=(e,n,i,r)=>{n.target==="openapi-3.0"?(i.type="string",i.nullable=!0,i.enum=[null]):i.type="null"},gR=(e,n,i,r)=>{i.not={}},yR=(e,n,i,r)=>{},bR=(e,n,i,r)=>{const u=e._zod.def,h=Dk(u.entries);h.every(g=>typeof g=="number")&&(i.type="number"),h.every(g=>typeof g=="string")&&(i.type="string"),i.enum=h},vR=(e,n,i,r)=>{const u=e._zod.def,h=[];for(const g of u.values)if(g===void 0){if(n.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof g=="bigint"){if(n.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");h.push(Number(g))}else h.push(g);if(h.length!==0)if(h.length===1){const g=h[0];i.type=g===null?"null":typeof g,n.target==="draft-04"||n.target==="openapi-3.0"?i.enum=[g]:i.const=g}else h.every(g=>typeof g=="number")&&(i.type="number"),h.every(g=>typeof g=="string")&&(i.type="string"),h.every(g=>typeof g=="boolean")&&(i.type="boolean"),h.every(g=>g===null)&&(i.type="null"),i.enum=h},xR=(e,n,i,r)=>{if(n.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},wR=(e,n,i,r)=>{if(n.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},kR=(e,n,i,r)=>{const u=i,h=e._zod.def,{minimum:g,maximum:b}=e._zod.bag;typeof g=="number"&&(u.minItems=g),typeof b=="number"&&(u.maxItems=b),u.type="array",u.items=on(h.element,n,{...r,path:[...r.path,"items"]})},SR=(e,n,i,r)=>{const u=i,h=e._zod.def;u.type="object",u.properties={};const g=h.shape;for(const w in g)u.properties[w]=on(g[w],n,{...r,path:[...r.path,"properties",w]});const b=new Set(Object.keys(g)),v=new Set([...b].filter(w=>{const k=h.shape[w]._zod;return n.io==="input"?k.optin===void 0:k.optout===void 0}));v.size>0&&(u.required=Array.from(v)),h.catchall?._zod.def.type==="never"?u.additionalProperties=!1:h.catchall?h.catchall&&(u.additionalProperties=on(h.catchall,n,{...r,path:[...r.path,"additionalProperties"]})):n.io==="output"&&(u.additionalProperties=!1)},jR=(e,n,i,r)=>{const u=e._zod.def,h=u.inclusive===!1,g=u.options.map((b,v)=>on(b,n,{...r,path:[...r.path,h?"oneOf":"anyOf",v]}));h?i.oneOf=g:i.anyOf=g},AR=(e,n,i,r)=>{const u=e._zod.def,h=on(u.left,n,{...r,path:[...r.path,"allOf",0]}),g=on(u.right,n,{...r,path:[...r.path,"allOf",1]}),b=w=>"allOf"in w&&Object.keys(w).length===1,v=[...b(h)?h.allOf:[h],...b(g)?g.allOf:[g]];i.allOf=v},CR=(e,n,i,r)=>{const u=i,h=e._zod.def;u.type="object";const g=h.keyType,v=g._zod.bag?.patterns;if(h.mode==="loose"&&v&&v.size>0){const k=on(h.valueType,n,{...r,path:[...r.path,"patternProperties","*"]});u.patternProperties={};for(const A of v)u.patternProperties[A.source]=k}else(n.target==="draft-07"||n.target==="draft-2020-12")&&(u.propertyNames=on(h.keyType,n,{...r,path:[...r.path,"propertyNames"]})),u.additionalProperties=on(h.valueType,n,{...r,path:[...r.path,"additionalProperties"]});const w=g._zod.values;if(w){const k=[...w].filter(A=>typeof A=="string"||typeof A=="number");k.length>0&&(u.required=k)}},NR=(e,n,i,r)=>{const u=e._zod.def,h=on(u.innerType,n,r),g=n.seen.get(e);n.target==="openapi-3.0"?(g.ref=u.innerType,i.nullable=!0):i.anyOf=[h,{type:"null"}]},_R=(e,n,i,r)=>{const u=e._zod.def;on(u.innerType,n,r);const h=n.seen.get(e);h.ref=u.innerType},TR=(e,n,i,r)=>{const u=e._zod.def;on(u.innerType,n,r);const h=n.seen.get(e);h.ref=u.innerType,i.default=JSON.parse(JSON.stringify(u.defaultValue))},RR=(e,n,i,r)=>{const u=e._zod.def;on(u.innerType,n,r);const h=n.seen.get(e);h.ref=u.innerType,n.io==="input"&&(i._prefault=JSON.parse(JSON.stringify(u.defaultValue)))},ER=(e,n,i,r)=>{const u=e._zod.def;on(u.innerType,n,r);const h=n.seen.get(e);h.ref=u.innerType;let g;try{g=u.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}i.default=g},DR=(e,n,i,r)=>{const u=e._zod.def,h=n.io==="input"?u.in._zod.def.type==="transform"?u.out:u.in:u.out;on(h,n,r);const g=n.seen.get(e);g.ref=h},zR=(e,n,i,r)=>{const u=e._zod.def;on(u.innerType,n,r);const h=n.seen.get(e);h.ref=u.innerType,i.readOnly=!0},aS=(e,n,i,r)=>{const u=e._zod.def;on(u.innerType,n,r);const h=n.seen.get(e);h.ref=u.innerType},OR=X("ZodISODateTime",(e,n)=>{D7.init(e,n),Ht.init(e,n)});function iS(e){return MT(OR,e)}const IR=X("ZodISODate",(e,n)=>{z7.init(e,n),Ht.init(e,n)});function sS(e){return BT(IR,e)}const PR=X("ZodISOTime",(e,n)=>{O7.init(e,n),Ht.init(e,n)});function qR(e){return LT(PR,e)}const MR=X("ZodISODuration",(e,n)=>{I7.init(e,n),Ht.init(e,n)});function BR(e){return VT(MR,e)}const LR=(e,n)=>{Pk.init(e,n),e.name="ZodError",Object.defineProperties(e,{format:{value:i=>j8(e,i)},flatten:{value:i=>S8(e,i)},addIssue:{value:i=>{e.issues.push(i),e.message=JSON.stringify(e.issues,lf,2)}},addIssues:{value:i=>{e.issues.push(...i),e.message=JSON.stringify(e.issues,lf,2)}},isEmpty:{get(){return e.issues.length===0}}})},Ea=X("ZodError",LR,{Parent:Error}),VR=n0(Ea),UR=a0(Ea),$R=Id(Ea),GR=Pd(Ea),KR=N8(Ea),HR=_8(Ea),QR=T8(Ea),FR=R8(Ea),ZR=E8(Ea),YR=D8(Ea),XR=z8(Ea),WR=O8(Ea),Vt=X("ZodType",(e,n)=>(Bt.init(e,n),Object.assign(e["~standard"],{jsonSchema:{input:ud(e,"input"),output:ud(e,"output")}}),e.toJSONSchema=uR(e,{}),e.def=n,e.type=n.type,Object.defineProperty(e,"_def",{value:n}),e.check=(...i)=>e.clone(Ss(n,{checks:[...n.checks??[],...i.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),{parent:!0}),e.with=e.check,e.clone=(i,r)=>js(e,i,r),e.brand=()=>e,e.register=((i,r)=>(i.add(e,r),e)),e.parse=(i,r)=>VR(e,i,r,{callee:e.parse}),e.safeParse=(i,r)=>$R(e,i,r),e.parseAsync=async(i,r)=>UR(e,i,r,{callee:e.parseAsync}),e.safeParseAsync=async(i,r)=>GR(e,i,r),e.spa=e.safeParseAsync,e.encode=(i,r)=>KR(e,i,r),e.decode=(i,r)=>HR(e,i,r),e.encodeAsync=async(i,r)=>QR(e,i,r),e.decodeAsync=async(i,r)=>FR(e,i,r),e.safeEncode=(i,r)=>ZR(e,i,r),e.safeDecode=(i,r)=>YR(e,i,r),e.safeEncodeAsync=async(i,r)=>XR(e,i,r),e.safeDecodeAsync=async(i,r)=>WR(e,i,r),e.refine=(i,r)=>e.check(HE(i,r)),e.superRefine=i=>e.check(QE(i)),e.overwrite=i=>e.check(zr(i)),e.optional=()=>Lv(e),e.exactOptional=()=>zE(e),e.nullable=()=>Vv(e),e.nullish=()=>Lv(Vv(e)),e.nonoptional=i=>BE(e,i),e.array=()=>y(e),e.or=i=>Fe([e,i]),e.and=i=>_E(e,i),e.transform=i=>df(e,cS(i)),e.default=i=>PE(e,i),e.prefault=i=>ME(e,i),e.catch=i=>VE(e,i),e.pipe=i=>df(e,i),e.readonly=()=>GE(e),e.describe=i=>{const r=e.clone();return Yl.add(r,{description:i}),r},Object.defineProperty(e,"description",{get(){return Yl.get(e)?.description},configurable:!0}),e.meta=(...i)=>{if(i.length===0)return Yl.get(e);const r=e.clone();return Yl.add(r,i[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=i=>i(e),e)),oS=X("_ZodString",(e,n)=>{i0.init(e,n),Vt.init(e,n),e._zod.processJSONSchema=(r,u,h)=>mR(e,r,u);const i=e._zod.bag;e.format=i.format??null,e.minLength=i.minimum??null,e.maxLength=i.maximum??null,e.regex=(...r)=>e.check(ZT(...r)),e.includes=(...r)=>e.check(WT(...r)),e.startsWith=(...r)=>e.check(JT(...r)),e.endsWith=(...r)=>e.check(eR(...r)),e.min=(...r)=>e.check(cd(...r)),e.max=(...r)=>e.check(Wk(...r)),e.length=(...r)=>e.check(Jk(...r)),e.nonempty=(...r)=>e.check(cd(1,...r)),e.lowercase=r=>e.check(YT(r)),e.uppercase=r=>e.check(XT(r)),e.trim=()=>e.check(nR()),e.normalize=(...r)=>e.check(tR(...r)),e.toLowerCase=()=>e.check(aR()),e.toUpperCase=()=>e.check(iR()),e.slugify=()=>e.check(sR())}),JR=X("ZodString",(e,n)=>{i0.init(e,n),oS.init(e,n),e.email=i=>e.check(bT(eE,i)),e.url=i=>e.check(kT(nE,i)),e.jwt=i=>e.check(qT(yE,i)),e.emoji=i=>e.check(ST(aE,i)),e.guid=i=>e.check(Ov(Mv,i)),e.uuid=i=>e.check(Xk(Xl,i)),e.uuidv4=i=>e.check(vT(Xl,i)),e.uuidv6=i=>e.check(xT(Xl,i)),e.uuidv7=i=>e.check(wT(Xl,i)),e.nanoid=i=>e.check(jT(iE,i)),e.guid=i=>e.check(Ov(Mv,i)),e.cuid=i=>e.check(AT(sE,i)),e.cuid2=i=>e.check(CT(oE,i)),e.ulid=i=>e.check(NT(rE,i)),e.base64=i=>e.check(OT(hE,i)),e.base64url=i=>e.check(IT(fE,i)),e.xid=i=>e.check(_T(lE,i)),e.ksuid=i=>e.check(TT(cE,i)),e.ipv4=i=>e.check(RT(uE,i)),e.ipv6=i=>e.check(ET(dE,i)),e.cidrv4=i=>e.check(DT(mE,i)),e.cidrv6=i=>e.check(zT(pE,i)),e.e164=i=>e.check(PT(gE,i)),e.datetime=i=>e.check(iS(i)),e.date=i=>e.check(sS(i)),e.time=i=>e.check(qR(i)),e.duration=i=>e.check(BR(i))});function o(e){return yT(JR,e)}const Ht=X("ZodStringFormat",(e,n)=>{Lt.init(e,n),oS.init(e,n)}),eE=X("ZodEmail",(e,n)=>{S7.init(e,n),Ht.init(e,n)}),Mv=X("ZodGUID",(e,n)=>{w7.init(e,n),Ht.init(e,n)}),Xl=X("ZodUUID",(e,n)=>{k7.init(e,n),Ht.init(e,n)});function tE(e){return Xk(Xl,e)}const nE=X("ZodURL",(e,n)=>{j7.init(e,n),Ht.init(e,n)}),aE=X("ZodEmoji",(e,n)=>{A7.init(e,n),Ht.init(e,n)}),iE=X("ZodNanoID",(e,n)=>{C7.init(e,n),Ht.init(e,n)}),sE=X("ZodCUID",(e,n)=>{N7.init(e,n),Ht.init(e,n)}),oE=X("ZodCUID2",(e,n)=>{_7.init(e,n),Ht.init(e,n)}),rE=X("ZodULID",(e,n)=>{T7.init(e,n),Ht.init(e,n)}),lE=X("ZodXID",(e,n)=>{R7.init(e,n),Ht.init(e,n)}),cE=X("ZodKSUID",(e,n)=>{E7.init(e,n),Ht.init(e,n)}),uE=X("ZodIPv4",(e,n)=>{P7.init(e,n),Ht.init(e,n)}),dE=X("ZodIPv6",(e,n)=>{q7.init(e,n),Ht.init(e,n)}),mE=X("ZodCIDRv4",(e,n)=>{M7.init(e,n),Ht.init(e,n)}),pE=X("ZodCIDRv6",(e,n)=>{B7.init(e,n),Ht.init(e,n)}),hE=X("ZodBase64",(e,n)=>{L7.init(e,n),Ht.init(e,n)}),fE=X("ZodBase64URL",(e,n)=>{U7.init(e,n),Ht.init(e,n)}),gE=X("ZodE164",(e,n)=>{$7.init(e,n),Ht.init(e,n)}),yE=X("ZodJWT",(e,n)=>{K7.init(e,n),Ht.init(e,n)}),s0=X("ZodNumber",(e,n)=>{Hk.init(e,n),Vt.init(e,n),e._zod.processJSONSchema=(r,u,h)=>pR(e,r,u),e.gt=(r,u)=>e.check(Pv(r,u)),e.gte=(r,u)=>e.check(Ah(r,u)),e.min=(r,u)=>e.check(Ah(r,u)),e.lt=(r,u)=>e.check(Iv(r,u)),e.lte=(r,u)=>e.check(jh(r,u)),e.max=(r,u)=>e.check(jh(r,u)),e.int=r=>e.check(Bv(r)),e.safe=r=>e.check(Bv(r)),e.positive=r=>e.check(Pv(0,r)),e.nonnegative=r=>e.check(Ah(0,r)),e.negative=r=>e.check(Iv(0,r)),e.nonpositive=r=>e.check(jh(0,r)),e.multipleOf=(r,u)=>e.check(qv(r,u)),e.step=(r,u)=>e.check(qv(r,u)),e.finite=()=>e;const i=e._zod.bag;e.minValue=Math.max(i.minimum??Number.NEGATIVE_INFINITY,i.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(i.maximum??Number.POSITIVE_INFINITY,i.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(i.format??"").includes("int")||Number.isSafeInteger(i.multipleOf??.5),e.isFinite=!0,e.format=i.format??null});function m(e){return UT(s0,e)}const bE=X("ZodNumberFormat",(e,n)=>{H7.init(e,n),s0.init(e,n)});function Bv(e){return GT(bE,e)}const vE=X("ZodBoolean",(e,n)=>{Q7.init(e,n),Vt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>hR(e,i,r)});function C(e){return KT(vE,e)}const xE=X("ZodNull",(e,n)=>{F7.init(e,n),Vt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>fR(e,i,r)});function ue(e){return HT(xE,e)}const wE=X("ZodUnknown",(e,n)=>{Z7.init(e,n),Vt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>yR()});function vn(){return QT(wE)}const kE=X("ZodNever",(e,n)=>{Y7.init(e,n),Vt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>gR(e,i,r)});function SE(e){return FT(kE,e)}const jE=X("ZodArray",(e,n)=>{X7.init(e,n),Vt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>kR(e,i,r,u),e.element=n.element,e.min=(i,r)=>e.check(cd(i,r)),e.nonempty=i=>e.check(cd(1,i)),e.max=(i,r)=>e.check(Wk(i,r)),e.length=(i,r)=>e.check(Jk(i,r)),e.unwrap=()=>e.element});function y(e,n){return oR(jE,e,n)}const rS=X("ZodObject",(e,n)=>{J7.init(e,n),Vt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>SR(e,i,r,u),wt(e,"shape",()=>n.shape),e.keyof=()=>j(Object.keys(e._zod.def.shape)),e.catchall=i=>e.clone({...e._zod.def,catchall:i}),e.passthrough=()=>e.clone({...e._zod.def,catchall:vn()}),e.loose=()=>e.clone({...e._zod.def,catchall:vn()}),e.strict=()=>e.clone({...e._zod.def,catchall:SE()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=i=>b8(e,i),e.safeExtend=i=>v8(e,i),e.merge=i=>x8(e,i),e.pick=i=>g8(e,i),e.omit=i=>y8(e,i),e.partial=(...i)=>w8(uS,e,i[0]),e.required=(...i)=>k8(dS,e,i[0])});function d(e,n){const i={type:"object",shape:e??{},...Re(n)};return new rS(i)}function AE(e,n){return new rS({type:"object",shape:e,catchall:vn(),...Re(n)})}const lS=X("ZodUnion",(e,n)=>{Zk.init(e,n),Vt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>jR(e,i,r,u),e.options=n.options});function Fe(e,n){return new lS({type:"union",options:e,...Re(n)})}const CE=X("ZodDiscriminatedUnion",(e,n)=>{lS.init(e,n),eT.init(e,n)});function Be(e,n,i){return new CE({type:"union",options:n,discriminator:e,...Re(i)})}const NE=X("ZodIntersection",(e,n)=>{tT.init(e,n),Vt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>AR(e,i,r,u)});function _E(e,n){return new NE({type:"intersection",left:e,right:n})}const TE=X("ZodRecord",(e,n)=>{nT.init(e,n),Vt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>CR(e,i,r,u),e.keyType=n.keyType,e.valueType=n.valueType});function Ge(e,n,i){return new TE({type:"record",keyType:e,valueType:n,...Re(i)})}const uf=X("ZodEnum",(e,n)=>{aT.init(e,n),Vt.init(e,n),e._zod.processJSONSchema=(r,u,h)=>bR(e,r,u),e.enum=n.entries,e.options=Object.values(n.entries);const i=new Set(Object.keys(n.entries));e.extract=(r,u)=>{const h={};for(const g of r)if(i.has(g))h[g]=n.entries[g];else throw new Error(`Key ${g} not found in enum`);return new uf({...n,checks:[],...Re(u),entries:h})},e.exclude=(r,u)=>{const h={...n.entries};for(const g of r)if(i.has(g))delete h[g];else throw new Error(`Key ${g} not found in enum`);return new uf({...n,checks:[],...Re(u),entries:h})}});function j(e,n){const i=Array.isArray(e)?Object.fromEntries(e.map(r=>[r,r])):e;return new uf({type:"enum",entries:i,...Re(n)})}const RE=X("ZodLiteral",(e,n)=>{iT.init(e,n),Vt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>vR(e,i,r),e.values=new Set(n.values),Object.defineProperty(e,"value",{get(){if(n.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return n.values[0]}})});function D(e,n){return new RE({type:"literal",values:Array.isArray(e)?e:[e],...Re(n)})}const EE=X("ZodTransform",(e,n)=>{sT.init(e,n),Vt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>wR(e,i),e._zod.parse=(i,r)=>{if(r.direction==="backward")throw new Rk(e.constructor.name);i.addIssue=h=>{if(typeof h=="string")i.issues.push(sc(h,i.value,n));else{const g=h;g.fatal&&(g.continue=!1),g.code??(g.code="custom"),g.input??(g.input=i.value),g.inst??(g.inst=e),i.issues.push(sc(g))}};const u=n.transform(i.value,i);return u instanceof Promise?u.then(h=>(i.value=h,i)):(i.value=u,i)}});function cS(e){return new EE({type:"transform",transform:e})}const uS=X("ZodOptional",(e,n)=>{Yk.init(e,n),Vt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>aS(e,i,r,u),e.unwrap=()=>e._zod.def.innerType});function Lv(e){return new uS({type:"optional",innerType:e})}const DE=X("ZodExactOptional",(e,n)=>{oT.init(e,n),Vt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>aS(e,i,r,u),e.unwrap=()=>e._zod.def.innerType});function zE(e){return new DE({type:"optional",innerType:e})}const OE=X("ZodNullable",(e,n)=>{rT.init(e,n),Vt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>NR(e,i,r,u),e.unwrap=()=>e._zod.def.innerType});function Vv(e){return new OE({type:"nullable",innerType:e})}const IE=X("ZodDefault",(e,n)=>{lT.init(e,n),Vt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>TR(e,i,r,u),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function PE(e,n){return new IE({type:"default",innerType:e,get defaultValue(){return typeof n=="function"?n():Ok(n)}})}const qE=X("ZodPrefault",(e,n)=>{cT.init(e,n),Vt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>RR(e,i,r,u),e.unwrap=()=>e._zod.def.innerType});function ME(e,n){return new qE({type:"prefault",innerType:e,get defaultValue(){return typeof n=="function"?n():Ok(n)}})}const dS=X("ZodNonOptional",(e,n)=>{uT.init(e,n),Vt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>_R(e,i,r,u),e.unwrap=()=>e._zod.def.innerType});function BE(e,n){return new dS({type:"nonoptional",innerType:e,...Re(n)})}const LE=X("ZodCatch",(e,n)=>{dT.init(e,n),Vt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>ER(e,i,r,u),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function VE(e,n){return new LE({type:"catch",innerType:e,catchValue:typeof n=="function"?n:()=>n})}const UE=X("ZodPipe",(e,n)=>{mT.init(e,n),Vt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>DR(e,i,r,u),e.in=n.in,e.out=n.out});function df(e,n){return new UE({type:"pipe",in:e,out:n})}const $E=X("ZodReadonly",(e,n)=>{pT.init(e,n),Vt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>zR(e,i,r,u),e.unwrap=()=>e._zod.def.innerType});function GE(e){return new $E({type:"readonly",innerType:e})}const KE=X("ZodCustom",(e,n)=>{hT.init(e,n),Vt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>xR(e,i)});function HE(e,n={}){return rR(KE,e,n)}function QE(e){return lR(e)}function o0(e,n){return df(cS(e),n)}const ye={custom:"custom"};function oc(e){return $T(s0,e)}const mS=d({id:o(),name:o(),keyPrefix:o(),scopes:y(o()),projectId:o().nullable(),projectName:o().nullable(),readOnly:C(),operator:C().optional(),createdAt:o(),lastUsedAt:o().nullable(),revokedAt:o().nullable()});d({keys:y(mS)});d({name:o().min(1).max(100),scopes:y(o()).min(1).optional(),projectId:o().optional()});mS.extend({key:o()});const r0=j(["used","not-used","unknown","not-applicable"]);r0.enum;const l0=j(["native-auto-v1","search-required-v1"]);l0.enum;const FE=d({maxConcurrency:m().int().positive(),maxRequestsPerMinute:m().int().positive(),maxRequestsPerDay:m().int().positive()}),bt=o().min(1),c0=Ge(o(),o().trim().min(1));o().min(1);const dn=d({label:o().min(1),city:o().min(1),region:o().min(1),country:o().length(2),timezone:o().optional()}),u0=j(["answer-visibility","traffic-sync","gbp-sync","data-refresh","backlinks-sync","site-audit","ads-sync","doctor"]);u0.enum;const d0=d({everyDays:m().int().min(1).max(3650),startDate:o().date(),time:o().regex(/^([01]\d|2[0-3]):[0-5]\d$/,"Time must be HH:mm")}).strict();d({id:o(),projectId:o(),kind:u0,cronExpr:o(),recurrence:d0.nullable().optional(),preset:o().nullable().optional(),timezone:o().default("UTC"),enabled:C().default(!0),providers:y(bt).default([]),sourceId:o().nullable().optional(),lastRunAt:o().nullable().optional(),nextRunAt:o().nullable().optional(),createdAt:o(),updatedAt:o()});const ZE=o().datetime();d({kind:u0.optional(),preset:o().min(1).optional(),cron:o().min(1).optional(),recurrence:d0.optional(),timezone:o().optional().default("UTC"),enabled:C().optional().default(!0),providers:y(bt).optional().default([]),sourceId:o().optional(),expectedUpdatedAt:ZE.nullable().optional()}).refine(e=>[e.preset,e.cron,e.recurrence].filter(n=>n!==void 0).length===1,{message:'Exactly one of "preset", "cron", or "recurrence" must be provided'});const m0=j(["citation.lost","citation.gained","run.completed","run.failed","insight.critical","insight.high","health.degraded","health.recovered","review.negative","review.rating-dropped"]);d({id:o(),projectId:o(),channel:D("webhook"),url:o().url(),urlDisplay:o(),urlHost:o(),events:y(m0),enabled:C().default(!0),source:o().optional(),webhookSecret:o().optional(),createdAt:o(),updatedAt:o()});d({channel:D("webhook"),url:o().url(),events:y(m0).min(1),source:o().optional()});class YE extends Error{code;statusCode;details;constructor(n,i,r,u){super(i),this.name="AppError",this.code=n,this.statusCode=r,this.details=u}toJSON(){return{error:{code:this.code,message:this.message,...this.details?{details:this.details}:{}}}}}function Uv(e,n){return new YE("VALIDATION_ERROR",e,400,n)}function hr(e){if(e instanceof Error)return e.message;if(typeof e=="string")return e;if(e==null)return"unknown error";try{const n=JSON.stringify(e);if(n!==void 0)return n}catch{}try{return String(e)}catch{return"unknown error"}}const XE=j(["fraction","percent"]),At=XE.enum,WE="x-unit";function pS(e,n){return e.meta({[WE]:n})}function xe(e=m()){return pS(e,At.fraction)}function Oe(e=m()){return pS(e,At.percent)}const JE={[At.fraction]:8,[At.percent]:6};function eD(e,n){const i=10**JE[n];return(Math.round(Number((e*i).toFixed(6)))+0)/i}function Ch(e,n=!1){const i=new Set,r=[];for(const u of e){const h=n?u.toLowerCase():u;i.has(h)||(i.add(h),r.push(u))}return r}function $v(e){try{const n=e.includes("://"),i=new URL(n?e:`https://${e}`);if(!n&&(i.pathname!=="/"||i.search||i.hash)||i.username||i.password||i.port)return null;const r=i.hostname.trim().toLowerCase().replace(/^www\./,"");return!r||r.includes("/")||r.includes("?")||r.includes("#")?null:r}catch{return null}}const tD=o().trim().min(1).refine(e=>$v(e)!==null,{message:"Marketing hosts must be valid hostnames without credentials or ports"}).overwrite(e=>$v(e)??e),nD=o().trim().min(1),aD=o().trim().regex(/^[a-z]\w{0,39}$/i,{message:"GA4 event names must start with a letter and contain only letters, numbers, or underscores"}),p0=d({marketingHosts:y(tD).overwrite(e=>Ch(e,!0)),brandTerms:y(nD).overwrite(e=>Ch(e,!0)),leadEventNames:y(aD).overwrite(e=>Ch(e))});function iD(){return{marketingHosts:[],brandTerms:[],leadEventNames:["generate_lead"]}}const Nh=Object.freeze({marketingHosts:Object.freeze([]),brandTerms:Object.freeze([]),leadEventNames:Object.freeze(["generate_lead"])}),hS=()=>iD(),Gv=j(["never-synced","ready","error"]),sD=j(["landing-page","channel"]),oD=j(["30d","60d","90d"]),rD=j(["marketing","all"]),Wl=sS(),pc=d({label:j(["earliest","middle","previous","latest"]),startDate:Wl,endDate:Wl}),_h=pc.extend({sessions:m().int().nonnegative()}),Kv=pc.extend({eventCount:m().int().nonnegative()}),Hv=pc.extend({clicks:m().int().nonnegative(),impressions:m().int().nonnegative()}),lD=pc.extend({propertyClicks:m().int().nonnegative(),propertyImpressions:m().int().nonnegative(),reportedQueryClicks:m().int().nonnegative(),reportedQueryImpressions:m().int().nonnegative(),brandedClicks:m().int().nonnegative(),brandedImpressions:m().int().nonnegative(),nonBrandedClicks:m().int().nonnegative(),nonBrandedImpressions:m().int().nonnegative(),unreportedClicks:m().int().nonnegative(),unreportedImpressions:m().int().nonnegative()}),cD=pc.extend({sessions:m().int().nonnegative(),engagementRate:xe(m().min(0).max(1)).nullable(),dailyTotalUsers:m().int().nonnegative().nullable(),dailyNewUsers:m().int().nonnegative().nullable(),metricsAvailable:C(),daysInPeriod:m().int().nonnegative(),daysWithEngagementRate:m().int().nonnegative(),daysWithUserSplit:m().int().nonnegative()}),uD=d({window:oD,bucketDays:D(30),filters:d({hostScope:rD,marketingHosts:y(o()),pathPrefix:o().nullable(),brandTerms:y(o()),queryMixScope:D("property")}),acquisition:d({status:Gv,error:o().nullable(),syncedAt:o().datetime().nullable(),periods:y(_h),channels:y(d({channelGroup:o(),periods:y(_h)})),pages:y(d({hostName:o(),landingPage:o(),periods:y(_h)}))}),leads:d({status:Gv,error:o().nullable(),syncedAt:o().datetime().nullable(),attributionScope:sD.nullable(),hostAndPathFiltersApplied:C(),periods:y(Kv),channels:y(d({channelGroup:o(),periods:y(Kv)}))}),engagement:d({status:j(["ready","unavailable"]),availableFromDate:Wl.nullable(),latestDate:Wl.nullable(),periods:y(cD)}),searchDemand:d({status:j(["ready","unavailable"]),periods:y(lD),queries:y(d({query:o(),classification:j(["branded","non-branded"]),periods:y(Hv)})),pages:y(d({hostName:o(),landingPage:o(),periods:y(Hv)})),latestDate:Wl.nullable()})}),hc=j(["sync","batch"]);hc.enum;const h0=Ge(o(),hc),fS=j(["submitting","submitted","ended","ingested","cancelled","failed","unknown"]),Qv=fS.enum;Qv.submitted,Qv.ended;const f0=j(["standard","batch"]),Fv=f0.enum,dD=d({inputTokens:m().int().nonnegative(),cachedInputTokens:m().int().nonnegative(),cacheWriteTokens:m().int().nonnegative(),outputTokens:m().int().nonnegative(),searchCount:m().int().nonnegative()}),mD=dD.extend({pricingTier:f0,estimatedCostMicros:m().int().nonnegative().nullable(),priceSource:Fe([j(["default","override"]),ue()])}),gS=d({inputPerMTok:m().nonnegative(),cachedInputPerMTok:m().nonnegative().optional(),cacheWritePerMTok:m().nonnegative().optional(),outputPerMTok:m().nonnegative(),searchPer1k:m().nonnegative().optional(),searchUnit:j(["query","prompt"]).optional(),batchTokenDiscount:m().min(0).max(1).optional()}).strict();d({models:Ge(o().min(1),gS).default({})}).strict();d({enabled:C().default(!1),maxRequestsPerBatch:m().int().positive().optional(),deadlineHours:m().positive().optional()}).strict();const pD=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,hD=/[\0-\x1F\x7F-\x9F]/,fD=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B4E\u1B4F\u1B5A-\u1B60\u1B7D-\u1B7F\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDD6E\uDEAD\uDED0\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9\uDFD4\uDFD5\uDFD7\uDFD8]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2\uDF00-\uDF09\uDFE1]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDF43-\uDF4F\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDD6D-\uDD6F\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD839\uDDFF|\uD83A[\uDD5E\uDD5F]/,gD=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/;var yD=class{src_Any=pD.source;src_Cc=hD.source;src_Z=gD.source;src_P=fD.source;src_ZPCc=[this.src_Z,this.src_P,this.src_Cc].join("|");src_ZCc=[this.src_Z,this.src_Cc].join("|");cache={};opts={maxLength:1e4,urlAuth:!1,schema_names:[]};constructor(e={}){this.opts={...this.opts,...e}}set(e={}){return this.opts={...this.opts,...e},this.cache={},this}escapeRE(e){return e.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}nestedPairRE(e,n,i=4){const r=this.escapeRE(e),u=this.escapeRE(n),h=`(?:(?!${this.src_ZCc}|${r}|${u}).)`;let g=`${r}${h}{0,1000}${u}`;for(let b=2;b<=i;b++)g=`${r}(?:${h}|${g}){0,1000}${u}`;return g}get_text_separators(){return this.cache.text_separators??=/[><\uff5c]/}get_pseudo_letter(){return this.cache.src_pseudo_letter??=new RegExp(`(?:(?!${this.get_text_separators().source}|${this.src_ZPCc})${this.src_Any})`)}get_ipv4_addr(){return this.cache.src_ip4??=new RegExp("(?:(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])[.]){3}(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])")}get_ipv6_addr(){const e="[0-9A-Fa-f]{1,4}",n=`(?:(?:${e}:${e})|${this.get_ipv4_addr().source})`;return this.cache.src_ip6_addr??=new RegExp(`(?:(?:${e}:){6}${n}|::(?:${e}:){5}${n}|(?:${e})?::(?:${e}:){4}${n}|(?:(?:${e}:){0,1}${e})?::(?:${e}:){3}${n}|(?:(?:${e}:){0,2}${e})?::(?:${e}:){2}${n}|(?:(?:${e}:){0,3}${e})?::${e}:${n}|(?:(?:${e}:){0,4}${e})?::${n}|(?:(?:${e}:){0,5}${e})?::${e}|(?:(?:${e}:){0,6}${e})?::)`)}get_ipv6_url_host(){return this.cache.src_ip6_host??=new RegExp(`\\[${this.get_ipv6_addr().source}\\]`)}get_ipv6_mail_host(){return this.cache.src_ipv6_mail_host??=new RegExp(`\\[IPv6:${this.get_ipv6_addr().source}\\]`)}get_auth(){return this.cache.src_auth??=new RegExp(`(?:(?:(?!${this.src_ZCc}|[@/\\[\\]()]).){1,50}@)?`)}get_port(){return this.cache.src_port??=new RegExp("(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?")}get_host_terminator(){return this.cache.src_host_terminator??=new RegExp(`(?=$|${this.get_text_separators().source}|${this.src_ZPCc})(?!${this.opts["---"]?"-(?!--)|":"-|"}_|:\\d|\\.-|\\.(?!$|${this.src_ZPCc}))`)}get_path_terminator(){return this.cache.src_path_terminator??=new RegExp(`${this.src_ZPCc}|${this.get_text_separators().source}`)}get_path(){return this.cache.src_path??=new RegExp(`(?:[/?#](?:${this.nestedPairRE("[","]")}|${this.nestedPairRE("(",")")}|${this.nestedPairRE("{","}")}|\\"(?:(?!${this.src_ZCc}|["]).){1,100}\\"|\\'(?:(?!${this.src_ZCc}|[']).){1,100}\\'|\\'(?=${this.get_pseudo_letter().source}|[-])|\\.{2,20}[:]?[a-zA-Z0-9%/&]|\\.(?!${this.src_ZCc}|[.]|$)|`+(this.opts["---"]?"\\-(?!--(?:[^-]|$))(?:-{0,19})|":"\\-{1,20}|")+`,(?!${this.src_ZCc}|$)|;(?!${this.src_ZCc}|$)|\\!{1,20}(?!${this.src_ZCc}|[!]|$)|\\?(?!${this.src_ZCc}|[?]|$)|`+this.get_path_extra().source+`[\\\\/:%@#&=_~*]|(?!${this.get_path_terminator().source}).){1,${this.opts.maxLength}}|\\/)?`)}get_mail_name(){return this.cache.src_mail_name??=new RegExp("[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9](?:[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9]|[.](?=[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9])){0,63}")}get_xn(){return this.cache.src_xn??=new RegExp("xn--[a-z0-9\\-]{1,59}")}get_tld(){if(this.cache.tld)return this.cache.tld;const e=[...new Set(this.opts.tlds||[])].sort().reverse().join("|");return this.cache.tld=new RegExp(`${e||"$#none#$"}|${this.get_xn().source}`),this.cache.tld}get_domain_root(){return this.cache.src_domain_root??=new RegExp("(?:"+this.get_xn().source+`|${this.get_pseudo_letter().source}{1,63})`)}get_domain(){return this.cache.src_domain??=new RegExp("(?:"+this.get_xn().source+`|(?:${this.get_pseudo_letter().source})|(?:${this.get_pseudo_letter().source}(?:-|${this.get_pseudo_letter().source}){0,61}${this.get_pseudo_letter().source}))`)}get_url_host_port(){return this.cache.url_host_port??=new RegExp("(?:"+this.get_ipv6_url_host().source+`|(?:(?:(?:${this.get_domain().source})\\.){0,10}${this.get_domain().source}))`+this.get_port().source+this.get_host_terminator().source)}get_fuzzy_url_host_port(){return this.cache.fuzzy_url_host_port??=new RegExp("(?:"+(this.opts.fuzzyIP?this.get_ipv4_addr().source+"|":"")+`(?:(?:(?:${this.get_domain().source})\\.){1,10}(?:${this.get_tld().source})))`+this.get_host_terminator().source)}get_mail_host(){return this.cache.src_mail_host??=new RegExp("(?:"+this.get_ipv6_mail_host().source+`|(?:(?:(?:${this.get_domain().source})\\.){0,4}${this.get_domain().source}))`+this.get_host_terminator().source)}get_fuzzy_mail_host(){return this.cache.src_fuzzy_mail_host??=new RegExp("(?:"+this.get_ipv6_mail_host().source+`|(?:(?:(?:${this.get_domain().source})[.]){1,4}${this.get_domain_root().source}))`+this.get_host_terminator().source)}get_path_extra(){return this.cache.src_path_extra??=new RegExp("")}get_fuzzy_mail_host_search(){return this.cache.mail_fuzzy_host_search??=new RegExp(`@${this.get_fuzzy_mail_host().source}`,"ig")}get_fuzzy_link_search(){return this.cache.link_fuzzy_search??=new RegExp(`(^|(?![.:/\\-_@])(?:[$+<=>^\`||]|${this.src_ZPCc}))(?:(?![$+<=>^\`||])${this.get_fuzzy_url_host_port().source}${this.get_path().source})`,"ig")}get_http_validator(){return this.cache.http_validator??=new RegExp("\\/\\/"+(this.opts.urlAuth?this.get_auth().source:"")+this.get_url_host_port().source+this.get_path().source,"iy")}get_relative_proto_validator(){return this.cache.relative_proto_validator??=new RegExp((this.opts.urlAuth?this.get_auth().source:"")+`(?:localhost|${this.get_ipv6_url_host().source}|(?:(?:${this.get_domain().source})[.]){1,10}${this.get_domain_root().source})`+this.get_port().source+this.get_host_terminator().source+this.get_path().source,"iy")}get_mail_name_validator(){return this.cache.mail_name_validator??=new RegExp(`(?:^|${this.get_text_separators().source}|"|\\(|${this.src_ZCc})(${this.get_mail_name().source})$`)}get_mailto_validator(){return this.cache.mailto_validator??=new RegExp(`${this.get_mail_name().source}@${this.get_mail_host().source}`,"iy")}get_schema_names(){return this.cache.schema_names??=new RegExp((this.opts.schema_names||[]).map(e=>this.escapeRE(e)).join("|"))}get_schema_search(){return this.cache.schema_search??=new RegExp(`(^|(?!_)(?:[><|]|${this.src_ZPCc}))(${this.get_schema_names().source})`,"ig")}get_schema_at_start(){return this.cache.schema_at_start??=new RegExp(`^${this.get_schema_search().source}`,"i")}},Th={validate:(e,n,i)=>{const r=i.re.get_http_validator();r.lastIndex=n;const u=r.exec(e);return u?u[0].length:0},normalize:(e,n)=>n.normalize(e)},bD={"http:":Th,"https:":Th,"ftp:":Th,"//":{validate:function(e,n,i){const r=i.re.get_relative_proto_validator();r.lastIndex=n;const u=r.exec(e);return u?n>=3&&e[n-3]===":"||n>=3&&e[n-3]==="/"?0:u[0].length:0},normalize:(e,n)=>n.normalize(e)},"mailto:":{validate:function(e,n,i){const r=i.re.get_mailto_validator();r.lastIndex=n;const u=r.exec(e);return u?u[0].length:0},normalize:(e,n)=>n.normalize(e)}},vD="a:cdefgilmnoqrstuwxz|b:abdefghijmnorstvwyz|c:acdfghiklmnoruvwxyz|d:ejkmoz|e:cegrstu|f:ijkmor|g:abdefghilmnpqrstuwy|h:kmnrtu|i:delmnoqrst|j:emop|k:eghimnprwyz|l:abcikrstuvy|m:acdeghklmnopqrstuvwxyz|n:acefgilopruz|o:m|p:aefghklmnrstwy|q:a|r:eosuw|s:abcdeghijklmnortuvxyz|t:cdfghjklmnortvwz|u:agksyz|v:aceginu|w:fs|y:et|z:amw",xD="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф";function wD(){const e=xD.split("|");return vD.split("|").forEach(n=>{const i=n.indexOf(":"),r=n.slice(0,i);for(const u of n.slice(i+1))e.push(r+u)}),e}var kD={fuzzyLink:!1,fuzzyEmail:!0,fuzzyIP:!1,"---":!1,tlds:wD(),urlAuth:!1,maxLength:1e4},Zv=class{schema;index;lastIndex;raw;text;url;constructor(e,n,i,r){const u=e.slice(i,r);this.schema=n.toLowerCase(),this.index=i,this.lastIndex=r,this.raw=u,this.text=u,this.url=u}},SD=class{__opts__;__schemas__;re;constructor(e={}){const{rebuilder:n,...i}=e;this.__opts__={...kD,...i},this.__schemas__={...bD},this.re=n||new yD,this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)})}add(e,n=null){if(!n)delete this.__schemas__[e];else{const i={normalize:(r,u)=>u.normalize(r),...n};this.__schemas__[e]=i}return this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}set(e={}){return this.__opts__={...this.__opts__,...e},this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}test(e){if(!e.length)return!1;let n,i;for(i=this.re.get_schema_search(),i.lastIndex=0;(n=i.exec(e))!==null;)if(this.testSchemaAt(e,n[2],i.lastIndex))return!0;if(this.__opts__.fuzzyLink&&this.__schemas__["http:"]&&(i=this.re.get_fuzzy_link_search(),i.lastIndex=0,i.exec(e)!==null))return!0;if(this.__opts__.fuzzyEmail&&this.__schemas__["mailto:"]&&e.indexOf("@")>=0){const r=this.re.get_fuzzy_mail_host_search(),u=this.re.get_mail_name_validator();for(r.lastIndex=0;(n=r.exec(e))!==null;){const h=e.slice(Math.max(0,n.index-65),n.index);if(u.test(h))return!0}}return!1}testSchemaAt(e,n,i){return this.__schemas__[n.toLowerCase()]?this.__schemas__[n.toLowerCase()].validate(e.slice(0,i+this.__opts__.maxLength),i,this):0}match(e){const n=[],i=this.re.get_schema_search();let r,u,h,g,b,v,w=!1,k=!1,A=!1,T=0;if(!e.length)return null;for(i.lastIndex=0,this.__opts__.fuzzyLink&&this.__schemas__["http:"]&&(r=this.re.get_fuzzy_link_search(),r.lastIndex=0),this.__opts__.fuzzyEmail&&this.__schemas__["mailto:"]&&(u=this.re.get_fuzzy_mail_host_search(),u.lastIndex=0,h=this.re.get_mail_name_validator());;){const _=Math.max(T-1,0);if(u&&h&&!A&&(!b||b.index<T))for(u.lastIndex<_&&(u.lastIndex=_);;){const ae=u.exec(e);if(!ae){A=!0,b=void 0;break}const L=h.exec(e.slice(Math.max(0,ae.index-65),ae.index));if(L){if(b={schema:"mailto:",index:ae.index-L[1].length,lastIndex:ae.index+ae[0].length},b.index>=T)break;u.lastIndex<_&&(u.lastIndex=_)}}if(r&&!k&&(!g||g.index<T))for(r.lastIndex<_&&(r.lastIndex=_);;){const ae=r.exec(e);if(!ae){k=!0,g=void 0;break}if(g={schema:"",index:ae.index+ae[1].length,lastIndex:ae.index+ae[0].length},g.index>=T)break;r.lastIndex<_&&(r.lastIndex=_)}let G=b;(!G||g&&(g.index<G.index||g.index===G.index&&g.lastIndex>G.lastIndex))&&(G=g);let R;if(!w)for(;;){if(!v){i.lastIndex<_&&(i.lastIndex=_);const W=i.exec(e);if(!W){w=!0;break}v={schema:W[2],index:W.index+W[1].length,lastIndex:W.index+W[0].length}}if(v.index<T){v=void 0;continue}if(G&&v.index>G.index)break;const ae=v;v=void 0;const L=this.testSchemaAt(e,ae.schema,ae.lastIndex);if(L){R={schema:ae.schema,index:ae.index,lastIndex:ae.lastIndex+L};break}}let q=R;if((!q||b&&(b.index<q.index||b.index===q.index&&b.lastIndex>q.lastIndex))&&(q=b),(!q||g&&(g.index<q.index||g.index===q.index&&g.lastIndex>q.lastIndex))&&(q=g),!q)break;q===b?b=void 0:q===g&&(g=void 0);const F=new Zv(e,q.schema,q.index,q.lastIndex);F.schema?this.__schemas__[F.schema].normalize(F,this):this.normalize(F),n.push(F),T=q.lastIndex}return n.length?n:null}matchAtStart(e){if(!e.length)return null;const n=this.re.get_schema_at_start().exec(e);if(!n)return null;const i=this.testSchemaAt(e,n[2],n[0].length);if(!i)return null;const r=new Zv(e,n[2],n.index+n[1].length,n.index+n[0].length+i);return this.__schemas__[r.schema].normalize(r,this),r}tlds(e,n=!1){return e=Array.isArray(e)?e:[e],n?this.__opts__.tlds=this.__opts__.tlds.concat(e):this.__opts__.tlds=e,this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}normalize(e){e.schema||(e.url=`http://${e.url}`),e.schema==="mailto:"&&!/^mailto:/i.test(e.url)&&(e.url=`mailto:${e.url}`)}};const yS=JSON.parse('["aaa","aarp","abb","abbott","abbvie","abc","able","abogado","abudhabi","ac","academy","accenture","accountant","accountants","aco","actor","ad","ads","adult","ae","aeg","aero","aetna","af","afl","africa","ag","agakhan","agency","ai","aig","airbus","airforce","airtel","akdn","al","alibaba","alipay","allfinanz","allstate","ally","alsace","alstom","am","amazon","americanexpress","americanfamily","amex","amfam","amica","amsterdam","analytics","android","anquan","anz","ao","aol","apartments","app","apple","aq","aquarelle","ar","arab","aramco","archi","army","arpa","art","arte","as","asda","asia","associates","at","athleta","attorney","au","auction","audi","audible","audio","auspost","author","auto","autos","aw","aws","ax","axa","az","azure","ba","baby","baidu","banamex","band","bank","bar","barcelona","barclaycard","barclays","barefoot","bargains","baseball","basketball","bauhaus","bayern","bb","bbc","bbt","bbva","bcg","bcn","bd","be","beats","beauty","beer","berlin","best","bestbuy","bet","bf","bg","bh","bharti","bi","bible","bid","bike","bing","bingo","bio","biz","bj","black","blackfriday","blockbuster","blog","bloomberg","blue","bm","bms","bmw","bn","bnpparibas","bo","boats","boehringer","bofa","bom","bond","boo","book","booking","bosch","bostik","boston","bot","boutique","box","br","bradesco","bridgestone","broadway","broker","brother","brussels","bs","bt","build","builders","business","buy","buzz","bv","bw","by","bz","bzh","ca","cab","cafe","cal","call","calvinklein","cam","camera","camp","canon","capetown","capital","capitalone","car","caravan","cards","care","career","careers","cars","casa","case","cash","casino","cat","catering","catholic","cba","cbn","cbre","cc","cd","center","ceo","cern","cf","cfa","cfd","cg","ch","chanel","channel","charity","chase","chat","cheap","chintai","christmas","chrome","church","ci","cipriani","circle","cisco","citadel","citi","citic","city","ck","cl","claims","cleaning","click","clinic","clinique","clothing","cloud","club","clubmed","cm","cn","co","coach","codes","coffee","college","cologne","com","commbank","community","company","compare","computer","comsec","condos","construction","consulting","contact","contractors","cooking","cool","coop","corsica","country","coupon","coupons","courses","cpa","cr","credit","creditcard","creditunion","cricket","crown","crs","cruise","cruises","cu","cuisinella","cv","cw","cx","cy","cymru","cyou","cz","dad","dance","data","date","dating","datsun","day","dclk","dds","de","deal","dealer","deals","degree","delivery","dell","deloitte","delta","democrat","dental","dentist","desi","design","dev","dhl","diamonds","diet","digital","direct","directory","discount","discover","dish","diy","dj","dk","dm","dnp","do","docs","doctor","dog","domains","dot","download","drive","dtv","dubai","dupont","durban","dvag","dvr","dz","earth","eat","ec","eco","edeka","edu","education","ee","eg","email","emerck","energy","engineer","engineering","enterprises","epson","equipment","er","ericsson","erni","es","esq","estate","et","eu","eurovision","eus","events","exchange","expert","exposed","express","extraspace","fage","fail","fairwinds","faith","family","fan","fans","farm","farmers","fashion","fast","fedex","feedback","ferrari","ferrero","fi","fidelity","fido","film","final","finance","financial","fire","firestone","firmdale","fish","fishing","fit","fitness","fj","fk","flickr","flights","flir","florist","flowers","fly","fm","fo","foo","food","football","ford","forex","forsale","forum","foundation","fox","fr","free","fresenius","frl","frogans","frontier","ftr","fujitsu","fun","fund","furniture","futbol","fyi","ga","gal","gallery","gallo","gallup","game","games","gap","garden","gay","gb","gbiz","gd","gdn","ge","gea","gent","genting","george","gf","gg","ggee","gh","gi","gift","gifts","gives","giving","gl","glass","gle","global","globo","gm","gmail","gmbh","gmo","gmx","gn","godaddy","gold","goldpoint","golf","goo","goodyear","goog","google","gop","got","gov","gp","gq","gr","grainger","graphics","gratis","green","gripe","grocery","group","gs","gt","gu","gucci","guge","guide","guitars","guru","gw","gy","hair","hamburg","hangout","haus","hbo","hdfc","hdfcbank","health","healthcare","help","helsinki","here","hermes","hiphop","hisamitsu","hitachi","hiv","hk","hkt","hm","hn","hockey","holdings","holiday","homedepot","homegoods","homes","homesense","honda","horse","hospital","host","hosting","hot","hotels","hotmail","house","how","hr","hsbc","ht","hu","hughes","hyatt","hyundai","ibm","icbc","ice","icu","id","ie","ieee","ifm","ikano","il","im","imamat","imdb","immo","immobilien","in","inc","industries","infiniti","info","ing","ink","institute","insurance","insure","int","international","intuit","investments","io","ipiranga","iq","ir","irish","is","ismaili","ist","istanbul","it","itau","itv","jaguar","java","jcb","je","jeep","jetzt","jewelry","jio","jll","jm","jmp","jnj","jo","jobs","joburg","jot","joy","jp","jpmorgan","jprs","juegos","juniper","kaufen","kddi","ke","kerryhotels","kerryproperties","kfh","kg","kh","ki","kia","kids","kim","kindle","kitchen","kiwi","km","kn","koeln","komatsu","kosher","kp","kpmg","kpn","kr","krd","kred","kuokgroup","kw","ky","kyoto","kz","la","lacaixa","lamborghini","lamer","land","landrover","lanxess","lasalle","lat","latino","latrobe","law","lawyer","lb","lc","lds","lease","leclerc","lefrak","legal","lego","lexus","lgbt","li","lidl","life","lifeinsurance","lifestyle","lighting","like","lilly","limited","limo","lincoln","link","live","living","lk","llc","llp","loan","loans","locker","locus","lol","london","lotte","lotto","love","lpl","lplfinancial","lr","ls","lt","ltd","ltda","lu","lundbeck","luxe","luxury","lv","ly","ma","madrid","maif","maison","makeup","man","management","mango","map","market","marketing","markets","marriott","marshalls","mattel","mba","mc","mckinsey","md","me","med","media","meet","melbourne","meme","memorial","men","menu","merckmsd","mg","mh","miami","microsoft","mil","mini","mint","mit","mitsubishi","mk","ml","mlb","mls","mm","mma","mn","mo","mobi","mobile","moda","moe","moi","mom","monash","money","monster","mormon","mortgage","moscow","moto","motorcycles","mov","movie","mp","mq","mr","ms","msd","mt","mtn","mtr","mu","museum","music","mv","mw","mx","my","mz","na","nab","nagoya","name","navy","nba","nc","ne","nec","net","netbank","netflix","network","neustar","new","news","next","nextdirect","nexus","nf","nfl","ng","ngo","nhk","ni","nico","nike","nikon","ninja","nissan","nissay","nl","no","nokia","norton","now","nowruz","nowtv","np","nr","nra","nrw","ntt","nu","nyc","nz","obi","observer","office","okinawa","olayan","olayangroup","ollo","om","omega","one","ong","onl","online","ooo","open","oracle","orange","org","organic","origins","osaka","otsuka","ott","ovh","pa","page","panasonic","paris","pars","partners","parts","party","pay","pccw","pe","pet","pf","pfizer","pg","ph","pharmacy","phd","philips","phone","photo","photography","photos","physio","pics","pictet","pictures","pid","pin","ping","pink","pioneer","pizza","pk","pl","place","play","playstation","plumbing","plus","pm","pn","pnc","pohl","poker","politie","porn","post","pr","praxi","press","prime","pro","prod","productions","prof","progressive","promo","properties","property","protection","pru","prudential","ps","pt","pub","pw","pwc","py","qa","qpon","quebec","quest","racing","radio","re","read","realestate","realtor","realty","recipes","red","redumbrella","rehab","reise","reisen","reit","reliance","ren","rent","rentals","repair","report","republican","rest","restaurant","review","reviews","rexroth","rich","richardli","ricoh","ril","rio","rip","ro","rocks","rodeo","rogers","room","rs","rsvp","ru","rugby","ruhr","run","rw","rwe","ryukyu","sa","saarland","safe","safety","sakura","sale","salon","samsclub","samsung","sandvik","sandvikcoromant","sanofi","sap","sarl","sas","save","saxo","sb","sbi","sbs","sc","scb","schaeffler","schmidt","scholarships","school","schule","schwarz","science","scot","sd","se","search","seat","secure","security","seek","select","sener","services","seven","sew","sex","sexy","sfr","sg","sh","shangrila","sharp","shell","shia","shiksha","shoes","shop","shopping","shouji","show","si","silk","sina","singles","site","sj","sk","ski","skin","sky","skype","sl","sling","sm","smart","smile","sn","sncf","so","soccer","social","softbank","software","sohu","solar","solutions","song","sony","soy","spa","space","sport","spot","sr","srl","ss","st","stada","staples","star","statebank","statefarm","stc","stcgroup","stockholm","storage","store","stream","studio","study","style","su","sucks","supplies","supply","support","surf","surgery","suzuki","sv","swatch","swiss","sx","sy","sydney","systems","sz","tab","taipei","talk","taobao","target","tatamotors","tatar","tattoo","tax","taxi","tc","tci","td","tdk","team","tech","technology","tel","temasek","tennis","teva","tf","tg","th","thd","theater","theatre","tiaa","tickets","tienda","tips","tires","tirol","tj","tjmaxx","tjx","tk","tkmaxx","tl","tm","tmall","tn","to","today","tokyo","tools","top","toray","toshiba","total","tours","town","toyota","toys","tr","trade","trading","training","travel","travelers","travelersinsurance","trust","trv","tt","tube","tui","tunes","tushu","tv","tvs","tw","tz","ua","ubank","ubs","ug","uk","unicom","university","uno","uol","ups","us","uy","uz","va","vacations","vana","vanguard","vc","ve","vegas","ventures","verisign","vermögensberater","vermögensberatung","versicherung","vet","vg","vi","viajes","video","vig","viking","villas","vin","vip","virgin","visa","vision","viva","vivo","vlaanderen","vn","vodka","volvo","vote","voting","voto","voyage","vu","wales","walmart","walter","wang","wanggou","watch","watches","weather","weatherchannel","webcam","weber","website","wed","wedding","weibo","weir","wf","whoswho","wien","wiki","williamhill","win","windows","wine","winners","wme","wolterskluwer","woodside","work","works","world","wow","ws","wtc","wtf","xbox","xerox","xihuan","xin","xxx","xyz","yachts","yahoo","yamaxun","yandex","ye","yodobashi","yoga","yokohama","you","youtube","yt","yun","za","zappos","zara","zero","zip","zm","zone","zuerich","zw","ελ","ευ","бг","бел","дети","ею","католик","ком","мкд","мон","москва","онлайн","орг","рус","рф","сайт","срб","укр","қаз","հայ","ישראל","קום","ابوظبي","ارامكو","الاردن","البحرين","الجزائر","السعودية","العليان","المغرب","امارات","ایران","بارت","بازار","بيتك","بھارت","تونس","سودان","سورية","شبكة","عراق","عرب","عمان","فلسطين","قطر","كاثوليك","كوم","مصر","مليسيا","موريتانيا","موقع","همراه","پاکستان","ڀارت","कॉम","नेट","भारत","भारतम्","भारोत","संगठन","বাংলা","ভারত","ভাৰত","ਭਾਰਤ","ભારત","ଭାରତ","இந்தியா","இலங்கை","சிங்கப்பூர்","భారత్","ಭಾರತ","ഭാരതം","ලංකා","คอม","ไทย","ລາວ","გე","みんな","アマゾン","クラウド","グーグル","コム","ストア","セール","ファッション","ポイント","世界","中信","中国","中國","中文网","亚马逊","企业","佛山","信息","健康","八卦","公司","公益","台湾","台灣","商城","商店","商标","嘉里","嘉里大酒店","在线","大拿","天主教","娱乐","家電","广东","微博","慈善","我爱你","手机","招聘","政务","政府","新加坡","新闻","时尚","書籍","机构","淡马锡","游戏","澳門","点看","移动","组织机构","网址","网店","网站","网络","联通","谷歌","购物","通販","集团","電訊盈科","飞利浦","食品","餐厅","香格里拉","香港","닷넷","닷컴","삼성","한국"]');function jD(e,n){return e.endsWith(n)?e.length===n.length||e[e.length-n.length-1]===".":!1}function AD(e,n){const i=e.length-n.length-2,r=e.lastIndexOf(".",i);return r===-1?e:e.slice(r+1)}function CD(e,n,i){if(i.validHosts!==null){const u=i.validHosts;for(const h of u)if(jD(n,h))return h}let r=0;if(n.startsWith("."))for(;r<n.length&&n[r]===".";)r+=1;return e.length===n.length-r?null:AD(n,e)}function ND(e,n){return e.slice(0,-n.length-1)}const Rh=/[\t\n\r]/g;let mf=!1;function Yv(e){return e>=97&&e<=122||e>=48&&e<=57||e>127||e>=65&&e<=90||e===45||e===95}function Xv(e,n,i){const r=i-n,u=e.charCodeAt(n)|32;if(r===2)return u===119&&(e.charCodeAt(n+1)|32)===115?1:0;if(r===3){const h=e.charCodeAt(n+1)|32,g=e.charCodeAt(n+2)|32;return u===119&&h===115&&g===115||u===102&&h===116&&g===112?1:0}else if(r===4){const h=e.charCodeAt(n+1)|32,g=e.charCodeAt(n+2)|32,b=e.charCodeAt(n+3)|32;return u===104&&h===116&&g===116&&b===112?1:u===102&&h===105&&g===108&&b===101?2:0}else if(r===5)return u===104&&(e.charCodeAt(n+1)|32)===116&&(e.charCodeAt(n+2)|32)===116&&(e.charCodeAt(n+3)|32)===112&&(e.charCodeAt(n+4)|32)===115?1:0;return 0}function Jl(e,n,i=!1){let r=0,u=e.length,h=!1,g=!1;if(mf=!1,!n){if(e.startsWith("data:"))return null;for(;r<e.length&&e.charCodeAt(r)<=32;)r+=1;for(;u>r+1&&e.charCodeAt(u-1)<=32;)u-=1;if(e.charCodeAt(r)===47&&e.charCodeAt(r+1)===47)r+=2;else{const q=e.indexOf(":/",r);if(q!==-1){const F=Xv(e,r,q);if(F===1)for(g=!0,r=q+2;e.charCodeAt(r)===47||e.charCodeAt(r)===92;)r+=1;else if(F===2){g=!0,r=q+1;let ae=0;for(;(e.charCodeAt(r)===47||e.charCodeAt(r)===92)&&ae<2;)r+=1,ae+=1;if(ae<2)return null}else{for(let ae=r;ae<q;ae+=1){const L=e.charCodeAt(ae)|32;if(!(L>=97&&L<=122||L>=48&&L<=57||L===46||L===45||L===43)){const W=e.charCodeAt(ae);return W===9||W===10||W===13?Jl(e.replace(Rh,""),n,i):null}}if(e.charCodeAt(q+2)===47)r=q+3;else return null}}else if(e.charCodeAt(r)!==91){let F=-1;for(let ae=r;ae<u;ae+=1){const L=e.charCodeAt(ae);if(L===9||L===10||L===13)return Jl(e.replace(Rh,""),n,i);if(L===58){F=ae;break}if(L===47||L===92||L===63||L===35)break}if(F!==-1){let ae=!1;for(let L=F+1;L<u;L+=1){const W=e.charCodeAt(L);if(W===47||W===92||W===63||W===35)break;if(W===64){ae=!0;break}}if(!ae){let L=!0,W=F+1;for(;W<u;W+=1){const J=e.charCodeAt(W);if(J===47||J===92||J===63||J===35)break;if(J<48||J>57){L=!1;break}}if(W===F+1&&(L=!1),!L){const J=Xv(e,r,F);if(J===0){let se=!1;for(let V=F+1;V<u;V+=1){const H=e.charCodeAt(V);if(H===47||H===92||H===63||H===35)break;if(H===58){se=!0;break}}if(!se)return null}else if(g=!0,r=F+1,J===2){let se=0;for(;(e.charCodeAt(r)===47||e.charCodeAt(r)===92)&&se<2;)r+=1,se+=1;if(se<2)return null}else for(;e.charCodeAt(r)===47||e.charCodeAt(r)===92;)r+=1}}}}}let v=-1,w=-1,k=-1,A=-1,T=!1,_=i,G=r-1,R=-1;if(i&&r<u){const q=e.charCodeAt(r);(!(Yv(q)||q===46||q===95)||q===45)&&(_=!1)}for(let q=r;q<u;q+=1){const F=e.charCodeAt(q);if(F<64)if(F===47||F===35||F===63){u=q;break}else F===58?(A===-1&&(A=q),k=q):F===9||F===10||F===13?T=!0:i&&(F===46?((q-G>64||R===46||R===45)&&(_=!1),G=q):(F<48||F>57)&&(F!==45||R===46)&&(_=!1));else if(g&&F===92){u=q;break}else F===64?(v=q,A=-1):F===93?w=q:F>=65&&F<=90?h=!0:i&&!Yv(F)&&(_=!1);i&&(R=F)}if(T)return Jl(e.replace(Rh,""),n,i);if(v!==-1&&v>=r&&v<u&&(r=v+1),e.charCodeAt(r)===91)return w!==-1?e.slice(r+1,w).toLowerCase():null;if(k!==-1&&k>r&&k<u&&A===k&&(u=k),r>=u)return null;i&&_&&v===-1&&k===-1&&w===-1&&e.charCodeAt(u-1)!==46&&u-r<=255&&u-G-1<=63&&R!==45&&(mf=!0)}for(;u>r+1&&e.charCodeAt(u-1)===46;)u-=1;const b=r!==0||u!==e.length?e.slice(r,u):e;return h?b.toLowerCase():b}function _D(e){if(e.length<7||e.length>15)return!1;let n=0;for(let i=0;i<e.length;i+=1){const r=e.charCodeAt(i);if(r===46)n+=1;else if(r<48||r>57)return!1}return n===3&&e.charCodeAt(0)!==46&&e.charCodeAt(e.length-1)!==46}function TD(e){if(e.length<3)return!1;let n=e.startsWith("[")?1:0,i=e.length;if(e[i-1]==="]"&&(i-=1),i-n>39)return!1;let r=!1;for(;n<i;n+=1){const u=e.charCodeAt(n);if(u===58)r=!0;else if(!(u>=48&&u<=57||u>=97&&u<=102||u>=65&&u<=70))return!1}return r}function RD(e){return TD(e)||_D(e)}const ED=["test","localhost","invalid","example","example.com","example.net","example.org","local","onion","alt","home.arpa","ipv4only.arpa","resolver.arpa","service.arpa","6tisch.arpa","eap.arpa"];function DD(e){for(const n of ED)if(e.endsWith(n)&&(e.length===n.length||e.charCodeAt(e.length-n.length-1)===46))return!0;return!1}function Wv(e){return e>=97&&e<=122||e>=48&&e<=57||e>127}function Jv(e){if(e.length>255||e.length===0||!Wv(e.charCodeAt(0))&&e.charCodeAt(0)!==46&&e.charCodeAt(0)!==95)return!1;let n=-1,i=-1;const r=e.length;for(let u=0;u<r;u+=1){const h=e.charCodeAt(u);if(h===46){if(u-n>64||i===46||i===45)return!1;n=u}else if(!(Wv(h)||h===45||h===95)||h===45&&i===46)return!1;i=h}return r-n-1<=63&&i!==45}function bS({allowIcannDomains:e=!0,allowPrivateDomains:n=!1,detectIp:i=!0,detectSpecialUse:r=!1,extractHostname:u=!0,mixedInputs:h=!0,validHosts:g=null,validateHostname:b=!0}){return{allowIcannDomains:e,allowPrivateDomains:n,detectIp:i,detectSpecialUse:r,extractHostname:u,mixedInputs:h,validHosts:g,validateHostname:b}}const zD=bS({});function OD(e){return e===void 0?zD:bS(e)}function ID(e,n){return n.length===e.length?"":e.slice(0,-n.length-1)}function PD(){return{domain:null,domainWithoutSuffix:null,hostname:null,isIcann:null,isIp:null,isPrivate:null,isSpecialUse:null,publicSuffix:null,subdomain:null}}function vS(e){e.domain=null,e.domainWithoutSuffix=null,e.hostname=null,e.isIcann=null,e.isIp=null,e.isPrivate=null,e.isSpecialUse=null,e.publicSuffix=null,e.subdomain=null}function xS(e,n,i,r,u){const h=OD(r);if(typeof e!="string")return u;let g=!1;return h.extractHostname?h.mixedInputs?(g=Jv(e),u.hostname=Jl(e,g,h.validateHostname)):u.hostname=Jl(e,!1,h.validateHostname):u.hostname=e,h.detectIp&&u.hostname!==null&&(u.isIp=RD(u.hostname),u.isIp)?u:h.validateHostname&&h.extractHostname&&u.hostname!==null&&!(g&&u.hostname===e)&&!mf&&!Jv(u.hostname)?(u.hostname=null,u):(n===0||u.hostname===null||(n===5&&h.detectSpecialUse&&(u.isSpecialUse=DD(u.hostname)),i(u.hostname,h,u),n===2||u.publicSuffix===null)||(u.domain=CD(u.publicSuffix,u.hostname,h),n===3||u.domain===null)||(u.subdomain=ID(u.hostname,u.domain),n===4)||(u.domainWithoutSuffix=ND(u.domain,u.publicSuffix)),u)}function qD(e,n,i){if(!n.allowPrivateDomains&&e.length>3){const r=e.length-1,u=e.charCodeAt(r),h=e.charCodeAt(r-1),g=e.charCodeAt(r-2),b=e.charCodeAt(r-3);if(u===109&&h===111&&g===99&&b===46)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="com",!0;if(u===103&&h===114&&g===111&&b===46)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="org",!0;if(u===117&&h===100&&g===101&&b===46)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="edu",!0;if(u===118&&h===111&&g===103&&b===46)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="gov",!0;if(u===116&&h===101&&g===110&&b===46)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="net",!0;if(u===101&&h===100&&g===46)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="de",!0}return!1}const uo=new Uint8Array([1,2,1,1,1,1,1,1,1,1,1,1,0,2,2,2,0,2,2,0,2,0,0,1,0,0,2,1,1,1,1,1,1,0,0,0,1,0,1,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,0,1,0,1,1,0,1,1,0,0,0,0,0,0,1,1,1,0,2,0,0,0,0,0,0,0,2,0,2,2,0,0,2,2,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,2,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,2,2,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,0,1,0,2,2,0,0,0,2,0,1,1,0,2,0,2,2,0,1,1,1,1,1,1,1,1,0,1,1,1,0,1,1,1,1,0,0,0,0,1,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,2,2,0,2,2,0,0,0,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,2,0,2,2,2,2,0,0,0,0,2,0,0,0,0,0,0,2,2,0,0,0,2,2,1,1,1,1,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,2,2,0,0,2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2,2,1,2,1,1,1,2,1,1,1,1,1,0,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,1,1,2,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,0,0,0,0]),dd=new Uint16Array([0,0,0,10,11,18,106,111,117,124,130,136,145,146,147,148,149,150,151,153,154,155,157,159,226,239,241,242,243,258,265,266,269,270,271,274,276,295,296,298,307,312,313,331,332,335,337,338,340,374,375,377,380,381,385,387,391,394,426,429,442,443,451,452,454,464,478,479,480,489,490,527,532,548,568,574,615,616,643,670,671,819,825,828,829,830,835,840,849,871,872,873,874,875,876,877,895,897,898,901,903,904,906,908,923,938,943,944,946,947,948,949,950,952,955,960,961,962,964,965,968,971,972,973,986,988,1e3,1011,1019,1021,1061,1064,1068,1069,1071,1074,1085,1087,1097,1099,1105,1107,1108,1110,1113,1114,1115,1167,1169,1171,1191,1192,1193,1194,1196,1207,1238,1249,1261,1270,1277,1282,1295,1306,1319,1320,1331,1365,1366,1367,1382,1397,1469,1470,1472,1473,1507,1508,1509,1512,1516,1518,1547,1548,1556,1557,1558,1560,1562,1563,1565,1566,1567,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1594,1595,1596,1598,2053,2056,2057,2059,2066,2073,2083,2087,2098,2099,2100,2112,2113,2115,2117,2118,2125,2126,2128,2129,2131,2132,2133,2134,2135,2209,2211,2232,2233,2234,2236,2262,2263,2314,2315,2317,2324,2330,2340,2350,2403,2404,2405,2415,2429,2430,2433,2440,2441,2449,2450,2451,2452,2453,2464,2465,2466,2468,2469,2470,2471,2473,2483,2495,2501,2533,2537,2539,2540,2542,2543,2554,2555,2557,2565,2572,2578,2583,2584,2590,2593,2599,2606,2607,2614,2622,2623,2624,2662,2668,2683,2684,2689,2707,2738,2756,2758,2761,2769,2771,2778,2830,2854,2855,2856,2857,2858,2859,2860,2861,2868,2869,2870,2871,2872,2873,2875,2876,2880,2964,2977,2978,3414,3418,3432,3484,3512,3534,3592,3614,3629,3692,3743,3781,3817,3842,3984,4030,4081,4100,4134,4149,4169,4199,4230,4253,4284,4314,4346,4373,4448,4470,4508,4518,4552,4571,4597,4639,4689,4715,4784,4785,4787,4810,4833,4869,4900,4917,4974,4987,5011,5040,5042,5076,5092,5120,5425,5434,5443,5450,5467,5471,5477,5516,5518,5525,5532,5541,5548,5549,5560,5563,5578,5579,5588,5589,5598,5607,5613,5615,5616,5617,5653,5654,5656,5664,5671,5684,5688,5690,5691,5697,5704,5718,5728,5733,5741,5749,5755,5756,5760,5762,5763,5775,5776,5777,5778,5780,5781,5784,5786,5789,5793,5794,5800,5801,5802,5804,5806,5808,5809,5810,5813,5815,5818,5819,5821,6019,6026,6027,6037,6042,6059,6073,6082,6083,6084,6088,6089,6091,6093,6099,6100,6103,6104,6106,6107,6108,7008,7009,7013,7031,7040,7043,7050,7051,7053,7054,7055,7057,7109,7110,7113,7114,7231,7232,7243,7254,7261,7264,7273,7274,7275,7290,7345,7536,7538,7539,7541,7546,7559,7574,7581,7590,7593,7596,7603,7611,7615,7616,7617,7631,7635,7644,7645,7646,7650,7685,7686,7703,7710,7718,7719,7724,7732,7776,7777,7783,7786,7797,7802,7803,7806,7839,7840,7846,7853,7854,7863,7872,7887,7891,7943,7944,7949,7951,7954,7956,7957,7958,7967,7981,7989,8003,8015,8016,8018,8020,8042,8053,8059,8060,8072,8084,8171,8183,8185,8194,8197,8203,8228,8231,8232,8233,8235,8238,8241,8252,8254,8256,8284,8358,8365,8369,8370,8379,8401,8402,8407,8408,8487,8489,8491,8500,8504,8510,8516,8522,8532,8537,8538,8556,8567,8572,8577,8587,8593,8597,8603,8609,10217,10218,10219,10226,10228]),md=new Uint8Array([3,3,3,3,3,3,3,3,5,8,8,2,2,3,3,3,3,3,8,5,5,5,5,5,3,3,5,5,9,12,19,8,19,8,11,9,9,8,7,7,6,8,9,16,10,7,7,11,8,6,6,9,7,11,7,14,4,4,4,4,4,4,10,7,6,6,6,6,10,10,6,10,10,22,11,9,10,10,10,9,10,8,7,7,7,8,21,13,11,11,9,10,9,13,10,8,8,9,12,9,7,10,7,7,13,7,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,8,6,3,3,3,3,3,3,2,5,3,3,3,7,2,2,2,2,2,2,3,3,3,1,1,7,8,5,2,2,7,2,2,1,4,1,11,9,9,5,5,8,5,5,5,5,5,5,5,3,3,3,3,3,5,11,9,9,13,7,14,7,6,6,6,7,6,6,6,6,6,10,7,11,9,4,4,4,4,4,4,6,6,6,6,6,8,7,10,9,9,9,8,9,8,10,6,9,9,8,10,10,7,8,1,9,10,12,12,12,10,9,9,10,10,9,9,1,1,5,3,3,3,3,3,3,3,3,3,3,3,3,6,6,6,4,3,3,3,7,4,4,4,3,3,6,7,3,4,1,2,2,2,6,1,2,2,2,2,2,12,5,3,8,9,13,4,4,13,9,9,11,7,3,12,9,2,2,2,3,3,3,3,3,8,2,2,3,3,3,3,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,4,4,3,7,10,15,7,15,15,20,15,9,10,10,12,14,14,14,12,12,12,12,12,14,14,10,10,10,10,14,9,9,9,10,14,14,14,13,13,9,9,9,9,9,9,7,8,6,8,8,6,8,13,8,8,6,13,8,11,13,8,6,13,8,6,9,10,10,12,14,14,14,12,12,12,12,14,14,10,10,10,10,9,9,9,10,14,14,11,13,13,9,9,9,9,9,9,2,6,9,2,2,3,3,3,3,3,3,3,3,3,4,4,4,2,3,3,3,3,3,3,7,7,2,3,2,2,5,3,3,3,3,3,3,4,2,2,2,2,2,2,3,3,3,3,3,3,3,4,5,7,2,2,12,8,10,8,10,7,18,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,2,3,3,3,5,5,3,8,8,6,8,6,6,4,6,7,7,7,10,11,2,5,5,3,3,3,3,3,3,5,5,6,11,10,7,7,7,4,4,4,2,3,3,3,3,3,2,7,5,5,3,3,3,3,3,3,3,3,7,7,7,11,7,6,9,6,6,8,10,8,6,8,13,4,4,4,4,4,10,8,11,8,8,8,10,10,7,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,5,5,5,5,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,7,10,13,7,8,7,11,8,8,6,9,8,8,6,6,6,8,8,6,6,6,6,6,9,7,6,4,4,4,4,4,4,4,6,6,6,9,7,8,10,8,8,2,3,3,3,3,3,2,8,9,9,2,2,2,3,3,3,2,3,3,3,9,2,2,3,3,3,3,3,3,5,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,12,5,5,3,5,4,2,3,2,4,3,9,2,2,2,2,2,5,5,3,8,8,13,6,10,9,4,7,9,11,2,3,7,3,3,4,1,3,4,2,9,3,3,12,5,3,7,10,10,7,4,4,6,14,7,9,7,13,2,2,2,2,2,2,3,3,3,3,3,8,15,4,4,2,3,3,3,7,4,9,9,2,3,3,3,5,3,2,2,7,2,7,6,6,7,2,4,2,2,2,2,2,2,8,8,8,9,5,2,3,3,3,3,3,3,10,7,4,4,4,4,3,4,2,3,3,3,3,3,10,7,4,4,4,4,2,3,3,3,3,10,7,4,4,4,4,3,9,6,6,6,9,13,9,2,2,2,8,7,9,5,3,3,3,5,5,12,9,10,7,8,7,6,8,6,11,12,7,9,10,4,4,7,8,11,6,7,9,8,7,10,8,9,15,7,8,5,4,7,2,3,3,3,2,14,10,2,14,10,2,14,3,9,13,13,10,14,16,17,11,2,14,2,14,3,9,13,10,14,16,17,11,14,10,14,2,7,3,10,7,14,10,2,14,10,9,9,17,6,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,10,10,10,12,9,4,10,11,8,8,8,7,9,5,3,3,3,3,3,3,3,3,5,8,4,4,4,4,4,4,6,16,3,3,14,3,14,2,14,9,13,10,10,14,16,17,11,6,9,10,10,12,14,14,14,12,12,12,12,14,14,10,10,10,10,14,9,9,9,10,14,14,14,9,9,9,9,9,9,2,14,9,13,10,10,14,16,17,11,6,2,14,9,17,13,10,10,14,16,17,11,6,2,14,9,13,10,14,16,17,11,2,14,9,13,10,16,11,2,14,10,19,7,2,14,9,13,10,19,10,7,14,16,17,11,6,2,14,9,13,10,19,7,14,16,17,11,2,14,9,13,17,13,10,10,14,16,17,11,6,3,2,14,9,13,10,10,14,16,17,11,6,9,10,12,14,14,14,12,12,12,12,12,14,14,14,10,10,10,14,9,9,9,9,14,14,14,13,13,14,9,9,9,9,9,9,4,11,2,14,9,13,17,13,10,19,10,7,14,16,17,11,6,2,14,9,13,17,13,10,19,10,7,14,16,17,11,6,2,9,10,10,7,17,3,3,12,12,16,15,15,12,14,14,14,20,20,13,12,12,12,12,12,12,20,25,14,14,12,12,10,10,10,10,9,9,9,25,4,9,17,10,7,14,16,21,13,13,14,20,14,13,17,24,9,12,13,25,13,21,20,17,9,9,9,9,9,9,12,17,4,4,9,9,9,10,10,12,14,14,14,12,12,12,12,12,14,14,10,10,10,10,14,9,9,9,10,14,14,14,13,13,9,9,9,9,9,9,1,8,7,11,11,1,3,3,3,4,8,9,10,14,14,12,12,12,12,14,14,10,10,10,10,14,9,9,9,10,14,14,14,13,13,9,9,9,9,9,7,4,4,4,4,4,4,4,4,4,4,9,12,6,14,4,12,7,2,2,1,2,7,6,4,4,4,6,8,8,7,4,5,6,3,3,3,3,4,16,8,3,5,4,3,3,3,5,2,2,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,11,12,7,7,13,9,10,12,8,9,7,8,5,12,10,13,14,5,5,5,13,5,5,5,3,3,3,5,16,5,5,5,5,5,7,12,14,8,12,8,10,12,9,11,7,9,7,10,7,13,9,7,12,8,17,7,7,16,10,13,13,8,10,10,14,17,7,16,16,15,8,10,10,12,17,7,17,14,7,10,17,8,7,7,7,8,15,15,7,14,10,10,10,11,11,7,7,13,8,10,7,16,7,8,7,14,17,12,10,11,21,8,9,7,13,9,8,13,6,12,7,6,13,10,10,10,8,18,9,17,13,10,12,6,13,6,11,8,13,10,13,18,13,11,13,8,16,7,10,8,16,12,10,8,8,6,14,11,8,15,8,8,7,7,12,7,8,9,14,15,8,9,10,9,15,7,8,8,12,13,9,10,15,15,13,7,10,10,20,7,6,9,6,6,14,11,14,11,12,9,10,16,16,12,7,11,28,8,11,10,7,21,8,7,9,4,4,4,17,7,8,6,9,6,6,13,6,6,6,6,18,20,14,8,11,12,9,10,13,15,19,8,9,12,7,10,16,12,9,9,9,14,12,11,9,12,11,18,9,9,9,10,7,7,16,8,9,7,13,12,10,18,7,8,11,7,7,8,8,13,7,7,7,11,15,13,11,7,8,15,11,7,8,18,14,13,18,15,10,12,12,9,7,11,11,8,7,10,8,14,12,10,18,7,10,9,7,8,13,10,14,9,10,8,8,23,7,7,11,12,12,17,7,7,11,11,17,16,16,7,8,11,14,14,8,10,7,7,16,16,13,9,11,9,15,15,11,11,7,7,14,7,9,7,7,16,10,13,10,11,14,7,11,10,11,7,11,10,11,15,11,15,10,12,17,10,14,13,11,11,12,13,10,7,13,10,16,12,21,9,10,10,7,11,14,17,7,7,8,11,12,8,15,14,14,8,17,12,10,10,7,9,11,7,10,7,11,18,7,11,7,12,11,8,8,14,12,7,8,15,3,7,7,5,2,9,2,2,2,2,2,2,2,3,3,3,3,3,3,3,2,5,3,3,3,3,3,3,4,4,3,3,3,3,3,3,5,11,6,4,7,10,7,7,11,1,10,2,2,3,3,3,3,3,3,3,3,5,7,3,5,6,3,3,5,2,2,5,3,4,13,11,3,3,6,3,5,14,2,2,3,8,2,2,12,5,18,5,3,3,3,16,5,5,5,10,7,13,12,13,9,12,14,19,9,9,21,9,9,10,6,9,6,15,10,6,12,8,6,10,15,4,4,6,6,9,9,12,16,14,23,7,7,7,14,9,7,7,11,14,10,7,10,10,10,12,6,11,10,13,11,15,11,7,12,10,3,7,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,4,3,7,2,5,5,3,3,5,5,5,5,7,6,6,6,4,4,4,4,4,4,6,6,6,6,6,7,10,2,2,2,5,5,5,5,3,3,3,3,3,5,5,10,9,11,8,7,12,8,9,7,6,13,11,6,13,7,9,9,4,4,4,4,4,4,6,10,7,8,13,8,8,9,14,8,10,7,7,7,9,6,9,7,2,12,5,3,3,13,4,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,4,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,8,4,4,4,4,4,4,4,4,4,4,4,4,9,3,3,3,3,3,3,3,3,3,3,4,2,2,2,5,3,3,3,3,3,3,3,3,4,4,1,7,6,4,12,3,3,3,3,3,8,7,3,3,3,3,3,3,4,4,11,14,2,8,3,5,5,8,10,8,6,4,7,17,7,4,5,2,6,3,5,2,4,4,2,12,5,5,3,15,13,10,8,11,2,2,3,3,3,3,3,3,3,3,4,4,5,3,3,3,3,4,18,2,12,5,3,3,3,3,3,5,16,8,8,9,6,6,4,4,4,4,31,6,6,10,11,21,10,9,7,10,7,7,2,4,4,4,4,6,5,3,3,4,3,3,3,3,3,3,3,3,3,6,6,6,2,2,2,5,3,3,3,7,7,4,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,8,2,3,3,3,3,3,5,9,11,3,3,3,3,4,4,3,3,3,3,3,5,10,9,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,11,10,10,10,10,10,11,10,11,10,11,10,9,9,11,3,3,3,3,3,3,5,3,7,8,8,7,6,6,11,4,4,4,7,8,9,9,2,3,7,4,4,2,5,5,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,2,2,5,5,5,5,5,3,3,5,5,5,7,7,6,6,6,4,4,4,4,4,4,4,4,4,4,6,6,8,8,1,2,2,2,2,2,2,3,3,3,3,3,3,3,4,4,6,9,12,3,7,10,7,2,2,3,3,3,3,3,4,3,3,2,2,2,2,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,8,8,6,6,8,6,7,4,4,4,4,4,4,6,7,5,5,20,19,8,10,9,7,10,6,8,11,6,6,6,6,13,12,8,6,7,14,11,9,2,5,3,3,6,2,3,2,2,2,2,2,2,2,5,4,3,7,6,4,7,4,3,6,4,7,2,7,7,7,5,5,5,5,3,3,3,3,3,3,3,3,3,3,5,9,10,10,8,11,7,8,20,7,8,9,8,12,6,6,6,8,9,8,12,6,6,8,13,10,12,6,6,7,7,8,9,6,4,4,4,4,4,4,4,10,6,6,6,7,14,11,10,7,8,10,8,11,14,11,11,9,7,9,8,11,9,17,10,9,2,2,2,9,3,3,3,3,15,14,9,5,5,2,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,15,12,22,19,17,18,18,19,21,7,16,16,5,5,5,5,5,5,5,5,5,5,5,7,5,5,5,5,5,5,5,5,5,5,5,9,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,7,16,11,11,7,7,7,7,17,7,8,12,15,9,19,7,19,8,16,21,11,12,19,14,22,7,7,7,7,7,7,7,7,7,7,7,16,16,19,24,12,7,14,7,12,7,8,10,10,13,7,12,12,7,7,10,18,15,12,16,7,14,12,17,10,16,17,12,17,25,7,7,7,13,6,9,6,9,18,6,6,11,20,10,6,6,6,6,6,6,6,17,6,6,6,15,6,6,6,6,6,8,14,11,12,15,13,19,17,21,7,18,8,13,13,8,12,8,6,6,13,6,15,15,16,6,6,16,6,6,6,14,6,18,6,6,6,17,18,9,13,15,8,19,8,15,15,18,14,16,4,4,4,4,4,4,4,4,4,4,4,4,6,11,10,11,6,21,23,12,17,12,11,14,13,22,15,15,11,12,14,12,7,12,8,14,12,18,10,8,16,19,17,12,14,15,8,9,19,17,12,13,13,15,18,13,23,24,23,21,17,24,8,21,8,14,14,16,14,8,8,15,20,8,19,21,9,8,13,12,13,15,11,8,11,9,9,8,11,8,21,14,21,15,15,13,7,19,7,7,7,7,7,7,16,12,17,18,7,7,11,11,7,9,9,2,2,3,3,2,2,2,3,3,3,3,3,3,3,3,3,3,4,5,5,5,5,5,5,5,5,3,3,10,10,7,9,7,7,7,6,8,6,6,6,6,6,6,6,7,6,8,6,6,9,7,7,7,4,4,4,4,4,4,4,4,8,9,8,7,8,7,8,10,7,5,5,5,5,5,5,3,9,7,7,8,6,6,6,6,6,6,6,6,9,6,6,9,11,13,7,8,9,9,5,5,5,7,8,6,6,6,6,6,6,6,7,8,9,7,10,9,10,7,8,5,5,5,5,5,5,7,7,9,8,7,7,6,6,6,6,6,6,10,6,6,6,6,6,6,6,6,6,6,6,9,10,4,4,4,4,8,7,7,10,10,9,8,8,15,9,8,8,8,8,8,9,10,9,10,7,8,13,5,5,5,5,5,3,3,7,7,8,6,6,6,4,4,11,9,7,8,9,10,7,5,5,5,5,5,3,3,7,6,6,13,7,9,8,7,5,5,5,5,5,5,5,5,3,3,3,3,7,8,7,8,13,6,6,6,6,6,6,6,6,6,6,6,6,6,6,8,8,6,6,6,6,7,6,7,6,6,9,7,4,4,4,4,4,4,4,7,8,7,8,9,8,8,8,7,10,7,8,5,5,5,5,5,5,5,5,3,7,7,7,7,9,7,10,9,6,6,6,6,6,8,8,6,6,6,7,6,6,6,9,9,4,4,13,7,10,9,9,12,7,8,8,10,8,8,8,8,8,8,5,5,5,5,3,7,7,11,7,9,8,8,6,6,10,6,8,8,8,6,7,6,6,12,4,4,4,4,4,4,4,4,4,9,8,8,16,8,9,8,7,5,5,5,5,5,3,3,7,7,7,10,15,8,9,8,9,9,6,6,6,6,6,6,7,4,8,7,8,8,7,8,11,8,5,5,5,5,5,3,7,7,6,11,16,7,6,4,4,4,4,9,9,8,8,8,13,12,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,11,7,8,8,9,13,7,7,7,9,8,8,9,12,7,12,7,12,8,7,10,12,9,9,6,6,8,8,6,6,6,6,6,6,6,9,8,9,11,8,6,6,6,6,6,12,7,6,6,6,9,7,7,6,6,6,6,6,11,9,6,6,6,6,6,7,9,4,4,4,4,4,4,4,4,9,9,9,9,7,7,7,7,7,11,7,7,8,8,8,8,8,8,9,8,9,9,7,7,11,11,7,12,8,8,8,8,8,7,8,8,8,8,8,13,12,8,8,8,8,7,7,7,9,5,5,5,5,5,5,5,3,3,7,7,11,7,8,8,8,6,6,6,6,6,6,6,6,6,6,6,10,11,6,7,9,4,4,4,4,4,4,9,9,8,9,8,8,8,7,7,5,5,5,5,5,5,5,5,5,5,3,3,11,7,7,7,9,6,6,11,8,10,6,6,6,12,8,8,7,6,6,8,7,4,4,4,4,4,4,4,4,9,10,9,9,8,10,9,11,8,5,5,5,7,6,6,8,7,4,4,4,4,8,7,7,8,7,8,8,5,5,5,5,7,7,8,8,8,6,6,6,6,6,10,8,9,13,6,7,6,6,8,7,8,4,4,4,4,11,8,8,8,10,5,5,8,7,8,13,8,7,6,8,6,9,7,8,7,5,5,5,5,5,5,3,3,7,8,9,6,4,8,10,10,8,12,9,13,2,7,5,5,5,5,5,7,7,10,6,6,6,6,6,6,6,8,4,4,9,8,8,8,14,8,8,8,9,8,5,5,5,5,5,3,3,9,6,6,6,6,10,12,6,6,6,6,6,6,6,4,4,4,4,11,8,7,8,8,8,5,5,3,3,3,3,7,7,6,8,6,8,11,7,6,6,6,7,4,8,11,9,10,5,5,5,3,3,3,7,7,8,9,8,15,9,6,6,6,6,6,6,11,11,4,4,4,4,4,7,9,9,10,8,7,5,5,5,5,5,5,3,3,8,6,6,6,6,6,6,6,6,6,9,7,4,4,4,4,4,9,9,8,8,10,13,5,5,5,3,17,7,7,7,7,7,8,6,8,13,6,6,6,6,6,6,6,6,4,4,4,9,10,8,8,8,5,5,5,5,3,7,7,7,8,8,6,6,6,8,8,8,9,10,8,4,8,10,9,8,8,8,9,13,10,5,5,5,5,5,5,5,5,5,5,3,3,7,8,9,9,7,7,7,10,9,9,8,9,8,8,8,6,6,6,6,6,6,6,6,6,6,6,6,6,8,12,6,6,6,6,6,6,6,6,6,12,4,4,4,4,4,4,4,4,4,4,4,11,8,8,9,9,10,8,9,7,7,5,5,5,5,5,5,3,7,8,7,6,6,8,6,6,10,4,7,8,9,12,8,7,7,5,5,5,5,5,5,3,3,7,14,7,9,8,8,6,6,8,12,12,6,6,7,7,10,4,4,4,4,4,9,9,14,9,13,8,7,5,5,5,6,6,6,7,4,8,7,5,5,5,5,5,5,5,5,3,3,7,7,7,8,6,6,6,6,6,6,12,6,6,6,6,4,4,9,9,8,8,11,7,7,7,5,5,5,3,9,8,6,6,7,4,4,4,4,4,4,8,8,11,5,5,5,7,7,7,9,6,6,6,6,6,6,9,8,4,4,4,4,7,12,9,8,8,8,7,10,10,5,5,5,5,5,5,5,3,11,14,8,7,8,8,6,6,6,6,6,8,7,6,6,6,7,6,8,9,4,4,4,7,8,9,7,9,7,7,9,8,5,5,5,5,5,5,5,5,5,11,3,9,7,7,12,14,8,6,6,12,11,8,6,6,6,6,6,6,6,6,6,15,7,4,4,4,16,9,9,9,8,9,9,9,9,9,8,8,8,13,11,8,5,5,5,5,3,7,6,6,8,8,8,6,6,7,10,7,4,4,4,4,9,7,8,7,7,7,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,7,7,7,9,6,6,6,6,6,8,8,7,7,9,6,6,6,7,6,6,6,6,6,15,4,4,4,4,4,8,8,7,8,12,9,8,8,8,8,8,9,8,8,10,8,8,8,8,16,9,10,2,5,5,5,5,5,5,5,9,7,6,8,9,4,4,4,4,4,7,8,8,8,9,8,11,10,5,5,5,5,3,7,8,6,6,6,6,6,8,6,6,6,6,4,12,10,12,7,7,7,7,7,7,7,5,5,5,5,3,3,7,7,10,8,9,7,6,10,7,6,6,4,4,8,9,7,9,9,9,9,8,8,8,8,10,5,5,5,5,5,5,8,7,6,6,6,10,6,7,10,7,4,4,4,4,4,4,4,12,9,10,7,7,10,8,10,5,12,9,6,6,6,6,6,7,6,4,4,4,10,9,9,8,7,7,5,5,5,5,5,5,3,3,13,7,7,9,7,7,7,8,9,9,7,8,6,6,6,6,6,6,6,6,6,6,6,6,6,7,13,9,15,15,4,4,4,4,4,10,10,9,8,9,8,8,9,7,8,7,8,5,5,7,6,6,6,4,4,4,7,8,11,8,5,5,5,5,5,5,5,7,6,6,6,6,6,6,9,11,10,7,4,4,4,9,8,8,5,5,5,5,5,9,9,6,6,6,6,6,6,6,9,9,4,4,4,4,8,8,8,9,9,8,8,8,13,2,4,2,7,5,5,5,5,5,5,9,9,6,6,6,6,10,8,8,8,6,6,6,4,4,9,8,10,8,9,8,8,8,9,8,8,5,3,3,3,11,6,6,6,7,6,6,6,4,4,9,8,5,5,5,5,5,3,11,8,6,6,6,6,6,9,7,4,4,14,10,9,8,12,8,8,8,11,15,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,11,11,11,10,10,7,7,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,5,5,5,5,5,5,5,5,3,3,3,7,11,7,7,11,11,7,8,9,10,7,7,9,9,9,9,7,7,10,8,13,8,8,8,8,11,10,6,6,8,10,11,14,14,6,6,6,6,6,6,9,11,7,7,6,8,12,11,11,6,6,10,6,6,6,6,6,10,7,7,6,6,11,6,6,6,11,8,9,7,6,10,11,9,10,11,7,11,8,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8,6,6,8,9,10,9,6,6,6,10,6,6,6,6,11,10,11,10,9,8,7,7,7,7,11,14,8,10,9,9,8,8,7,11,8,8,8,11,11,10,10,9,10,8,11,10,8,11,9,12,8,10,8,11,8,9,9,11,11,10,11,13,8,7,8,8,9,7,8,8,8,8,7,8,2,2,2,2,2,2,2,4,4,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,4,2,3,3,3,3,3,3,3,3,8,6,4,4,4,11,7,11,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,5,5,5,5,3,3,3,3,8,7,7,8,8,4,8,7,7,7,9,7,8,9,8,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,6,3,3,3,3,3,3,3,3,4,2,2,3,3,3,3,3,4,5,5,3,8,8,6,9,4,4,10,7,3,3,3,2,5,3,3,3,3,3,3,3,3,3,3,3,3,4,3,2,2,2,3,3,3,3,3,4,10,2,3,3,3,3,3,3,3,4,2,3,3,3,3,3,3,3,3,2,2,3,3,3,5,2,4,2,6,2,2,9,5,5,3,3,3,3,3,3,3,5,5,5,9,8,7,6,6,11,4,4,4,4,4,4,4,4,6,6,7,7,11,8,8,6,5,11,2,3,3,3,3,3,3,3,3,3,3,3,3,3,4,2,2,3,3,3,3,3,3,6,4,4,4,4,3,3,3,3,5,7,2,3,3,3,3,3,8,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,6,4,4,4,4,2,2,3,3,3,3,3,3,3,4,3,3,3,3,3,3,3,3,3,3,3,3,4,2,2,3,3,3,3,3,3,2,3,3,3,3,3,6,3,3,8,10,3,4,4,1,1,1,1,1,1,1,8,9,10,7,7,1,1,3,8,7,7,8,8,8,1,6,1,1,6,3,3,4,7,3,5,5,4,4,4,4,4,2,7,7,8,12,3,4,5,1,3,4,4,10,4,3,3,3,8,7,7,2,2,2,2,2,2,2,2,2,12,9,20,7,5,5,5,9,13,5,5,5,5,5,3,3,3,16,5,5,5,13,7,8,8,11,8,7,9,7,11,12,9,9,8,8,11,10,14,7,12,10,11,13,7,9,11,17,17,14,13,7,8,7,10,10,7,16,13,7,8,17,12,9,8,6,7,10,6,6,12,6,8,10,8,8,8,6,8,6,14,6,6,6,13,6,10,6,6,7,14,8,6,6,10,11,10,9,9,7,7,6,6,6,9,9,7,9,10,9,13,12,4,4,4,4,4,4,4,4,4,6,6,6,8,8,6,8,9,10,9,7,10,10,8,7,8,7,10,12,9,8,15,8,7,8,8,7,7,15,13,7,10,9,14,18,16,7,24,7,8,10,11,16,8,14,7,9,9,9,11,13,19,14,15,14,11,7,13,9,10,7,13,9,10,11,12,8,9,2,3,5,8,7,4,4,10,5,3,3,3,3,3,5,4,4,4,2,2,2,2,2,1,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,2,2,2,3,3,3,3,3,3,3,3,3,3,4,2,12,5,3,8,10,15,6,7,2,3,2,5,5,12,2,5,5,5,5,2,2,5,5,12,9,5,2,2,9,5,5,12,12,5,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,12,5,8,8,9,5,5,5,8,19,7,16,15,14,9,9,9,9,7,11,11,11,7,14,10,10,5,5,5,5,5,5,5,5,5,15,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,9,9,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,14,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,15,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,5,5,5,5,5,12,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,9,9,12,9,9,12,12,12,15,7,11,7,14,11,18,13,8,18,15,18,12,14,12,8,8,8,8,9,9,9,12,7,10,10,8,8,12,12,12,7,12,12,9,7,7,7,7,7,8,15,12,9,10,10,7,10,10,13,11,10,9,22,11,9,8,8,8,8,8,13,18,13,9,15,19,9,7,7,10,7,7,7,11,8,13,17,7,7,10,10,10,7,20,16,7,7,7,7,7,7,11,21,12,12,13,11,14,16,8,8,13,11,7,7,13,7,7,14,15,15,6,6,6,6,6,6,6,6,6,6,13,10,18,6,6,6,6,6,6,6,6,6,11,8,8,12,12,11,11,8,12,9,9,9,13,13,9,9,9,9,9,9,6,10,12,6,6,6,6,17,11,7,7,7,7,14,14,12,6,7,7,6,6,15,10,13,10,6,8,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,13,9,9,15,13,6,12,12,6,19,11,10,7,7,16,8,19,17,9,9,9,9,9,6,6,6,10,8,16,8,6,6,9,6,6,6,6,6,6,6,6,8,8,8,6,7,6,6,6,6,6,6,6,6,6,6,6,14,6,6,6,6,20,6,9,6,14,9,9,9,6,9,8,8,12,9,8,8,8,8,7,8,12,7,8,8,8,6,8,6,6,6,6,6,6,6,9,8,8,6,6,13,9,12,13,12,14,13,12,11,11,6,8,8,8,6,13,12,11,11,12,6,11,12,11,13,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,15,6,6,6,6,6,6,6,13,6,6,6,6,6,6,6,6,6,6,6,6,6,8,8,8,8,6,18,6,12,13,13,13,9,10,15,9,12,6,6,6,6,6,6,6,6,9,15,10,9,10,13,9,19,8,18,17,10,10,8,8,6,6,6,6,6,6,10,14,8,16,16,9,8,15,8,8,10,12,14,7,7,8,8,7,7,7,7,8,13,13,11,9,9,9,12,10,17,8,11,9,7,7,14,8,14,14,7,7,7,7,7,7,14,7,7,7,7,7,10,10,8,14,7,7,7,7,8,8,8,8,8,17,9,7,15,7,8,12,7,9,14,7,7,7,9,13,8,14,7,16,18,13,15,14,12,13,10,15,9,7,7,7,10,13,15,15,9,9,9,9,19,11,7,11,11,13,8,8,8,8,7,12,19,17,9,9,13,7,7,7,9,7,7,7,12,13,15,10,8,8,14,15,12,13,13,8,12,14,7,11,7,14,15,13,12,8,8,8,8,11,13,15,15,8,13,12,8,8,8,13,10,16,14,11,8,8,12,12,9,15,15,12,12,13,8,8,9,12,13,9,8,8,8,8,8,8,8,8,8,8,8,11,12,11,7,14,7,13,13,13,12,18,16,7,12,11,10,10,15,9,9,9,21,7,7,7,11,16,8,8,11,11,7,7,7,7,7,19,7,7,7,7,7,7,7,7,7,12,8,9,12,14,11,9,9,9,22,12,3,8,8,15,4,2,2,5,5,3,3,3,3,3,3,6,6,4,4,4,12,7,10,2,3,3,3,3,3,3,3,6,7,3,7,5,14,4,4,7,8,10,4,1,3,3,6,2,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,4,2,2,5,3,4,2,2,2,2,2,2,11,5,5,5,11,5,5,3,5,5,5,5,11,14,13,9,11,9,12,8,11,11,8,11,16,9,9,7,10,9,12,8,15,6,7,6,6,13,10,8,11,8,6,6,6,12,16,6,11,7,8,9,18,6,6,9,4,4,6,13,6,6,6,6,8,8,9,16,7,7,14,7,8,8,8,7,7,7,7,7,7,15,13,7,10,7,7,10,12,16,15,7,9,9,14,11,11,10,9,10,8,12,7,8,7,7,10,12,7,12,8,7,2,3,3,3,3,3,3,3,3,3,3,5,3,3,5,5,5,10,4,8,7,10,3,3,3,3,3,3,3,3,3,3,1,3,3,3,3,3,3,3,7,4,5,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,6,6,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,9,8,2,2,2,8,12,7,7,5,5,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,5,7,11,9,8,8,8,7,8,9,7,7,9,7,7,7,10,7,7,10,9,10,6,6,6,6,6,6,15,7,8,9,9,8,6,6,10,9,6,8,13,9,7,6,6,6,6,6,6,12,6,6,7,6,7,6,6,6,10,10,7,6,6,6,4,4,4,4,4,4,4,4,4,4,4,4,4,4,6,14,6,6,7,7,9,6,6,6,6,9,9,8,9,10,9,8,9,12,7,7,7,8,7,10,12,11,9,10,7,7,7,9,10,10,8,12,9,7,7,9,8,8,8,10,7,7,8,9,9,7,7,7,8,2,4,6,3,4,2,3,3,3,3,2,3,3,3,3,3,3,3,3,4,4,4,4,5,5,3,3,3,3,3,3,3,3,5,8,6,4,7,3,3,3,3,3,3,3,12,3,3,3,3,3,3,4,4,2,3,5,3,4,7,3,3,3,3,3,3,4,3,3,3,3,3,3,3,4,3,3,6,4,3,4,2,2,2,5,3,3,3,3,3,5,4,4,4,4,7,6,8,9,2,2,2,2,3,3,3,5,7,2,3,3,8,7,7,2,2,8,5,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,8,8,7,7,6,10,6,9,7,11,4,6,8,8,7,8,4,5,5,5,3,3,11,8,9,6,6,8,7,4,4,7,8,7,2,2,3,3,3,3,4,3,3,3,3,3,3,3,3,7,2,2,5,3,3,2,3,3,3,3,3,3,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,12,5,5,3,3,3,5,10,12,6,15,4,6,6,7,14,9,3,3,3,3,3,8,2,2,3,5,3,3,3,3,3,3,8,8,8,7,5,8,4,6,11,2,2,6,7,2,9,8,5,5,3,3,5,5,7,7,6,6,10,6,6,8,9,7,4,4,4,4,7,6,6,7,7,10,9,8,11,8,3,3,3,3,3,4,4,2,3,3,3,3,3,7,6,2,5,6,7,6,4,8,9,11,2,2,3,3,3,3,3,3,3,2,2,5,3,3,3,3,3,9,9,6,4,8,7,7,5,9,8,6,8,7,8,5,5,5,5,5,3,3,3,16,8,7,7,7,8,7,7,7,7,9,6,9,6,10,7,7,7,6,10,8,9,11,11,8,4,4,10,8,8,6,9,6,11,8,8,8,15,7,8,9,5,3,3,3,3,3,5,11,2,2,3,8,9,10,3,2,2,2,2,2,2,3,6,4,2,2,3,3,3,3,3,3,3,3,3,3,4,4,2,3,3,3,3,3,3,3,11,5,3,3,3,3,3,3,3,3,6,7,4,4,2,3,3,3,3,3,3,3,3,12,7,4,12,4,6,5,4,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,2,3,3,3,3,3,3,3,3,4,4,11,10,6,4,6,10,8,3,3,3,3,3,3,3,3,5,4,4,4,2,2,2,2,2,2,2,2,5,3,4,4,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,10,5,5,5,5,5,5,3,3,3,3,3,3,3,3,7,8,8,7,13,12,10,10,8,8,7,7,9,12,11,6,6,8,8,9,7,7,7,10,15,10,4,4,4,4,4,11,8,8,9,7,9,14,14,12,2,2,2,2,2,2,2,3,3,3,3,3,2,2,12,5,5,5,8,11,10,7,9,3,8,7,3,15,13,11,4,4,2,2,2,19,7,5,5,3,3,3,3,3,3,3,5,22,18,6,14,17,4,4,19,16,18,2,3,3,2,3,2,3,3,6,4,2,3,3,2,5,3,3,3,3,3,3,3,9,9,2,3,2,2,2,3,3,3,5,7,14,7,7,12,9,13,6,11,6,10,9,7,7,8,12,12,8,8,8,10,7,7,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,5,8,10,7,8,11,8,12,9,4,7,7,9,13,2,3,3,3,3,3,3,2,3,3,3,1,2,2,3,3,3,3,3,3,5,2,2,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,8,4,4,4,3,2,3,3,3,3,5,2,2,2,2,5,5,5,5,3,3,3,3,3,3,3,3,3,7,7,7,7,7,8,8,8,8,8,12,9,8,8,9,8,6,17,6,6,6,8,8,6,6,6,6,6,6,6,6,6,6,6,7,4,4,8,8,9,9,9,7,7,7,7,7,7,7,9,9,9,7,8,8,8,10,7,13,10,8,9,3,3,5,13,3,3,3,3,3,7,7,6,6,10,13,11,11,8,8,9,8,9,9,10,10,10,11,10,10,13,13,16,15,11,12,9,9,10,9,11,10,9,9,14,7,8,3,10,7,7,3,2,2,2,5,3,3,3,3,3,3,3,3,3,3,3,3,6,7,2,2,3,3,3,3,3,3,3,3,4,11,6,7,4,6,2,2,3,3,3,1,3,3,3,3,3,3,6,4,4,2,2,2,3,3,3,3,4,4,6,6,6,6,5,4,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,11,6,10,9,12,7,7,11,14,9,7,12,3,3,7,12,11,12,7,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,9,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,3,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,11,5,5,5,5,5,5,5,5,11,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,5,5,5,5,5,3,3,3,5,5,5,5,5,5,5,5,5,5,5,3,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,5,5,5,5,5,5,5,5,5,5,5,5,5,3,10,3,3,3,11,3,5,9,11,8,12,14,9,7,8,7,7,11,11,7,7,10,9,8,10,9,7,7,7,7,7,7,8,8,7,11,8,8,8,7,7,10,8,7,13,12,7,17,10,8,8,11,7,11,11,14,7,11,7,8,6,9,20,8,7,9,16,7,10,6,11,10,8,9,7,16,11,11,9,8,9,8,8,8,11,8,15,8,8,9,7,8,8,11,10,7,5,7,10,10,15,7,7,7,8,7,8,8,10,11,10,10,10,11,11,7,8,6,8,8,8,10,6,8,6,6,7,8,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,16,6,15,6,7,11,11,7,9,10,11,13,10,6,16,8,10,12,11,6,6,6,6,6,6,6,10,6,10,7,7,7,7,11,7,11,6,6,6,6,6,6,17,7,7,6,6,12,22,6,6,6,6,6,8,6,6,6,6,7,6,6,5,6,6,8,11,6,9,14,11,9,11,7,7,8,6,6,6,8,10,9,6,6,6,6,9,7,6,6,6,6,6,15,6,4,4,4,6,4,17,8,11,6,6,9,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,6,6,6,6,10,6,10,6,6,6,6,12,8,6,6,6,6,6,6,6,6,6,9,6,6,6,6,18,6,6,6,8,9,10,7,8,9,10,11,7,13,6,8,8,6,6,14,7,7,7,7,10,7,14,9,6,6,9,15,9,7,14,6,11,14,13,7,12,8,7,7,7,7,7,12,7,10,9,16,6,8,6,5,17,6,8,10,4,6,4,10,15,17,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8,4,4,11,7,4,4,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,19,17,6,10,11,6,6,6,6,18,6,6,11,4,4,4,5,6,6,6,9,5,6,4,6,6,4,6,6,6,6,10,6,6,4,6,6,10,6,10,6,6,6,6,11,6,6,10,6,6,8,6,6,6,8,6,11,4,11,9,10,9,11,4,8,4,11,12,7,9,8,6,7,7,8,12,12,11,13,10,11,7,7,7,9,7,11,10,7,7,7,16,11,10,11,17,9,9,8,8,7,7,7,9,7,7,7,14,7,13,9,11,10,14,10,10,12,11,10,7,10,5,14,8,8,8,9,7,8,7,7,9,8,7,8,7,7,7,7,7,7,7,11,8,10,8,7,8,14,11,8,9,9,9,8,24,10,10,12,7,7,15,11,8,8,12,11,8,9,9,7,8,9,10,11,10,11,7,12,7,7,11,9,8,14,13,12,8,11,10,8,8,7,7,14,9,10,8,9,11,7,14,8,8,13,8,8,12,7,10,14,14,11,9,10,9,9,7,7,11,11,13,9,13,5,5,5,7,9,5,11,12,14,8,7,7,11,10,9,7,8,8,7,10,11,11,5,5,7,5,5,5,7,7,15,7,7,8,7,15,12,12,10,7,8,7,11,7,7,7,23,11,8,8,11,10,7,8,11,7,19,7,7,6,9,9,9,11,3,4,7,8,6,6,4,10,8,2,2]),ex=new Uint16Array([0,0,0,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,12,1,1,1,1,1,17,1,1,1,12,1,12,1,12,13,1,1,1,1,12,1,12,1,1,1,1,1,14,21,1,1,1,1,1,1,1,19,12,1,1,1,1,1,1,1,20,1,1,1,16,1,18,1,1,15,1,1,1,1,12,1,1,1,1,1,1,22,1,1,1,12,1,1,1,1,1,1,1,1,1,12,12,12,12,12,12,12,12,12,12,12,12,1,24,25,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,12,12,12,12,1,32,0,0,0,1,1,1,1,35,34,1,1,1,1,1,33,1,1,1,1,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,38,0,0,0,0,39,40,0,0,0,41,0,12,1,1,12,1,1,1,1,44,45,45,45,44,45,44,44,46,45,44,45,44,44,44,44,44,44,46,44,44,44,44,44,44,45,47,47,45,44,44,44,44,44,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,50,52,50,50,50,52,50,51,50,53,50,51,51,50,50,50,51,53,51,53,50,51,51,12,55,55,54,56,51,53,50,50,48,49,57,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,60,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,67,1,12,1,1,66,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,76,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,12,1,1,1,1,89,1,91,1,1,1,1,1,1,1,1,94,1,1,1,1,1,1,1,1,1,1,1,1,0,1,97,97,1,1,12,1,100,1,1,1,1,1,1,1,98,1,99,1,101,1,1,1,1,1,102,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,110,111,1,1,1,1,1,1,113,113,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,121,122,1,1,1,1,1,1,1,1,1,1,1,1,1,122,1,1,1,1,1,1,1,1,1,1,122,1,1,1,1,1,1,1,1,1,126,123,125,120,1,124,1,1,114,1,1,1,1,117,1,127,1,1,1,1,1,119,1,108,1,109,1,12,128,106,1,112,1,1,1,1,1,107,115,1,12,12,12,118,116,1,1,1,1,1,1,0,0,0,0,1,12,12,1,1,1,1,1,12,134,1,1,1,1,1,1,1,1,1,1,1,12,136,1,1,1,1,1,1,1,1,137,138,12,12,135,133,45,45,140,50,50,139,142,141,1,1,0,0,0,0,0,0,0,0,0,0,0,0,145,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,143,0,0,0,0,1,0,144,132,1,0,1,12,12,1,1,1,1,1,0,0,0,0,0,0,0,1,148,147,20,1,1,12,12,1,20,12,12,1,1,1,1,1,134,1,1,152,1,1,1,1,153,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,1,1,136,1,1,152,1,1,1,1,153,1,1,134,1,1,1,152,1,1,1,1,153,1,1,134,1,1,1,1,1,1,1,1,134,1,1,1,1,1,1,1,1,1,1,1,160,1,1,1,152,1,1,1,1,1,153,1,1,160,1,1,1,1,1,1,1,1,1,1,134,1,1,1,1,152,1,1,1,1,153,1,1,1,134,1,1,152,1,1,1,1,164,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,1,167,1,1,160,1,1,1,1,1,152,1,1,1,1,1,153,1,1,160,1,1,1,1,1,152,1,1,1,1,1,153,1,154,158,158,12,1,12,166,1,1,1,1,1,158,158,158,154,1,1,1,157,158,161,165,1,1,1,1,157,157,1,1,156,154,154,157,170,156,170,1,1,168,1,156,155,157,1,1,1,1,157,1,159,1,1,1,12,1,162,1,162,1,1,1,162,161,163,169,156,154,1,1,1,1,1,1,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,173,172,173,172,172,172,172,174,174,172,173,172,173,172,172,12,12,12,12,12,1,12,12,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,193,1,1,1,1,12,199,200,201,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,151,1,1,1,1,1,1,1,1,1,1,1,196,1,1,1,184,1,210,1,1,1,208,1,1,205,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,12,1,1,1,1,1,1,1,1,190,1,1,1,186,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,182,1,1,1,1,1,1,1,191,1,1,1,1,195,1,1,1,1,171,1,1,189,1,1,1,192,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,180,1,12,1,1,12,1,1,1,1,183,1,1,1,188,1,203,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,209,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,194,1,1,1,1,1,12,1,1,1,1,1,1,1,1,176,12,1,1,1,178,12,1,1,1,1,1,1,1,198,1,1,1,1,1,1,1,1,1,1,177,1,1,1,1,1,1,204,1,1,1,181,1,1,1,187,1,12,1,1,12,1,1,1,1,1,1,1,1,1,1,191,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,175,1,1,1,1,1,1,1,1,1,1,185,1,1,1,1,1,1,1,1,1,1,1,206,1,1,1,1,1,1,1,1,1,1,1,1,1,207,1,1,12,1,1,1,1,179,1,1,1,185,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,197,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,12,1,1,1,1,1,1,1,1,1,202,1,1,12,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,220,0,0,0,0,0,221,0,0,0,0,0,0,1,12,1,1,1,225,1,1,1,0,226,223,224,1,1,1,1,1,1,231,1,233,1,1,1,1,1,1,1,1,1,1,1,229,1,1,1,1,1,235,1,1,12,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,234,1,1,1,12,1,1,1,1,230,1,1,1,228,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,232,1,1,1,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,241,13,1,1,1,12,12,238,239,1,1,1,1,240,1,1,12,1,1,1,1,1,1,1,242,1,1,12,16,1,1,1,1,1,1,1,243,1,1,1,12,12,1,1,1,1,1,243,12,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,256,256,1,0,0,0,0,0,1,12,0,0,0,0,0,0,0,0,172,261,262,1,12,1,1,1,1,12,264,1,1,263,1,1,266,1,1,1,1,1,1,1,1,1,0,1,1,1,271,272,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,12,1,0,1,0,0,0,0,1,0,1,0,1,1,1,1,1,0,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,12,0,283,0,0,284,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,12,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,60,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,1,1,0,308,0,0,0,0,0,0,0,0,0,310,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,12,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,327,327,328,327,0,185,1,1,13,323,1,321,0,0,0,0,1,0,0,0,324,1,1,329,1,205,1,1,1,1,1,322,1,319,1,325,1,317,1,326,1,318,1,1,1,1,1,1,1,12,1,1,1,12,1,12,320,320,1,1,1,316,184,1,1,12,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,12,1,1,1,1,315,1,0,0,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,332,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,266,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,372,372,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,364,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,1,340,351,1,1,339,374,1,345,1,1,337,369,1,1,355,336,341,1,1,1,348,379,357,1,1,1,1,1,1,358,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,0,367,371,0,0,79,1,1,0,365,342,378,343,346,353,1,368,0,1,0,79,362,360,1,0,0,1,1,1,0,0,0,0,381,1,1,352,1,79,1,0,1,1,1,384,1,0,0,79,359,0,1,338,1,1,1,0,1,1,361,1,0,1,1,1,0,1,386,349,1,1,0,1,0,0,377,0,1,1,1,79,370,1,1,366,363,1,1,1,1,1,1,1,1,1,1,1,344,1,1,1,1,1,1,1,1,1,1,1,376,0,79,1,1,1,1,0,1,1,1,1,1,1,0,0,1,1,380,1,1,1,0,0,383,0,0,0,1,356,1,0,79,382,1,0,0,0,0,385,1,1,0,0,1,0,1,0,354,0,350,0,1,1,1,0,1,1,0,373,347,375,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,1,1,400,400,1,1,12,12,1,400,1,1,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,412,1,1,0,1,1,1,1,205,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,430,430,1,1,0,0,317,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,442,1,441,1,1,1,1,1,1,1,1,445,1,12,12,1,1,1,1,1,12,1,1,1,1,453,1,1,1,455,1,1,1,1,1,1,1,1,1,1,452,1,447,1,1,1,1,435,1,1,1,1,1,1,1,1,448,12,1,1,1,1,454,1,1,1,449,444,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,317,1,433,1,1,12,451,1,1,317,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,437,1,1,1,1,1,1,1,1,1,1,1,454,1,1,1,1,317,1,450,1,1,1,439,1,1,1,1,1,440,1,456,443,1,1,1,1,1,438,1,1,1,1,1,1,1,1,1,434,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,446,1,1,1,1,1,1,1,12,1,1,1,1,1,436,1,1,1,1,1,1,1,220,457,1,1,1,1,1,12,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,0,0,1,0,1,0,1,1,0,0,0,462,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,12,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,466,0,466,466,466,466,466,466,466,0,466,466,466,466,466,1,466,466,466,0,466,466,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,471,470,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,475,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,468,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,469,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,477,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,466,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,474,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,467,0,0,478,473,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,472,0,0,0,0,0,0,0,0,0,0,0,0,0,466,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,467,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,466,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,476,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,12,1,1,1,1,1,1,1,1,1,1,1,1,488,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,198,198,1,492,1,1,1,491,1,1,1,1,487,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,489,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,493,1,1,490,1,1,1,1,1,1,1,1,372,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,494,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,0,1,0,0,0,505,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,1,0,1,0,0,12,1,507,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,12,12,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,1,0,0,0,0,0,0,0,1,0,0,1,0,1,1,1,1,0,0,0,1,0,0,0,1,60,1,1,12,12,12,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,526,1,1,1,1,1,1,1,527,1,1,1,1,1,1,1,525,1,1,12,1,529,239,1,1,12,12,1,1,12,1,12,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,533,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,539,1,1,1,1,1,1,1,1,1,1,1,1,1,1,132,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,107,1,1,12,1,1,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,548,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,144,1,1,1,228,1,1,12,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,1,572,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,577,1,220,1,328,1,1,1,1,1,1,1,1,1,0,0,578,1,1,1,1,0,580,0,79,0,579,0,1,1,1,0,1,1,1,1,1,1,12,0,0,0,0,1,0,0,0,0,0,0,586,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,582,582,0,585,583,582,582,582,582,582,587,582,582,591,582,582,582,582,582,582,582,582,582,582,588,585,582,582,585,582,582,582,582,582,582,582,582,582,582,582,582,582,583,582,582,582,582,582,589,582,582,582,582,582,582,0,0,0,1,590,1,1,1,1,584,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,12,595,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,12,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,12,1,1,12,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,65,280,306,411,535,0,4,68,236,254,282,307,334,388,413,0,499,519,536,597,9,0,61,88,398,409,429,575,0,497,518,532,612,0,30,6,0,461,500,602,560,70,0,7,285,255,389,463,416,538,79,598,0,576,309,418,465,9,105,288,506,6,30,0,311,79,391,79,483,10,6,131,248,275,0,613,509,0,563,0,64,6,6,251,95,2,432,399,410,596,0,6,0,6,286,103,6,561,501,540,0,464,390,273,287,8,71,104,599,543,392,312,300,419,146,74,290,546,510,601,564,335,330,479,6,75,149,11,0,249,522,547,565,514,551,570,611,36,6,260,295,333,304,218,30,528,553,218,42,216,265,296,305,406,423,481,274,0,73,562,0,403,417,299,79,247,79,0,581,545,504,292,421,79,393,387,0,0,0,9,555,571,217,0,424,407,531,516,573,615,85,218,43,297,396,425,569,0,511,293,276,79,215,80,28,390,30,6,394,331,303,604,592,524,550,513,0,258,81,30,405,422,0,30,426,0,219,593,517,9,408,427,218,248,86,222,594,574,557,482,428,397,250,227,87,59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,620,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,414,0,0,0,0,0,0,0,0,82,0,129,0,0,84,549,0,0,0,0,0,0,0,27,0,552,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,414,0,0,0,0,503,0,257,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,294,0,0,0,0,0,0,0,617,0,0,0,0,0,616,0,0,0,0,0,0,0,0,0,0,0,0,0,0,395,0,0,0,484,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,0,0,0,0,0,0,495,0,0,0,0,0,0,404,0,0,0,0,0,0,0,0,0,0,0,0,0,211,0,0,0,0,0,0,0,0,0,0,515,0,0,0,0,0,0,0,0,0,0,0,0,496,0,0,0,0,0,0,0,0,0,0,0,0,0,0,269,281,0,0,0,0,0,530,277,0,0,0,0,0,0,0,0,0,0,0,0,0,512,0,0,0,0,0,0,0,0,0,0,0,458,0,0,0,314,0,0,0,0,0,0,253,0,0,0,0,0,0,23,0,0,0,0,568,0,0,0,0,600,521,0,0,0,0,244,0,0,0,0,0,0,0,0,0,480,0,0,0,0,0,62,0,0,0,267,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,246,0,0,0,0,0,279,610,0,72,0,0,0,0,0,0,0,0,0,619,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,150,0,278,0,0,0,0,0,0,567,0,0,0,0,0,0,523,0,0,0,0,0,0,0,0,0,566,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,213,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,0,502,0,0,0,0,0,554,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,83,0,0,0,0,0,0,0,0,0,0,0,0,486,0,485,0,0,0,0,0,0,0,0,0,0,259,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,459,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,289,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,537,0,0,0,0,0,0,0,0,298,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,237,0,0,0,0,0,0,0,0,0,0,84,0,606,0,0,0,0,0,0,0,0,0,0,0,0,245,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,609,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,520,0,0,0,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,498,0,614,0,0,431,0,0,0,0,0,0,0,0,0,0,0,0,402,0,0,0,544,0,93,0,0,0,0,0,0,0,0,0,0,31,0,0,0,0,0,0,29,92,0,0,0,0,0,0,0,0,0,0,0,0,291,0,0,0,214,0,0,0,0,0,0,558,0,270,0,0,130,0,0,0,0,0,559,0,0,0,0,0,0,0,414,420,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,313,0,0,0,0,0,5,0,0,0,0,0,0,0,301,0,0,0,0,0,0,0,0,0,0,0,0,0,534,0,0,0,415,0,0,401,0,0,0,0,0,0,603,0,0,0,541,0,0,90,0,542,0,0,0,0,0,0,0,0,0,0,508,460,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,414,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,608,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,607,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,618,0,0,0,0,0,556,0,0,0,0,0,0,0,0,0,0,302,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,605,0,0,212,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,623,623,623,623,623,623,623,622,624]),pf="orgmilcomschnetedugovdrrformsfeedbackofficialaccoorgmilschnetgovmagazinemediaunioncargopilotgroupcaarespressworksaerodromeworkinggroupair-traffic-controlaircraftaccident-preventioneducatormarketplaceambulanceinsurancecateringairportrepbodyenginesoftwaremodellingair-surveillanceconsultingchartertrainermaintenanceservicesdesignflightskydivingfreightassociationstudentgroundhandlingdgcafuelclubtaxicrewshowballooningexpresstraderbrokerauthoragentsairtrafficjournalistsafetyconsultantmicrolightaccident-investigationparachutingequipmentproductionfederationrecreationscientistnavigationengineertradingglidingleasingresearchpassenger-associationentertainmentparaglidinghangglidingaerobaticrotorcraftemergencycertificationgovernmentaeroclubexchangelogisticschampionshiphomebuiltcouncilconferencecontrolairlinecivilaviationjournalorgcomnetedugovcoorgcomnomnetobjofforgcomnetuwukiloappsframerorgmilcomnetedugovcoradioorgcomnetcommuneedogpbcoitgvorgedugov*spreviewfrontendrelayononstagingupid*mtls*privatelinktypedreamdeveloperbravemochawindsurfaivenmirenupsunwnextbegetngrokclerkwale2bwebcsbrunputerflutterflowspawnbaseshiptodaymagicpatternsnetlifyondigitaloceanrailwayhostedclaudehasurabotdashvercelgithubluyanigadgetreplitcloudflaretelebitedgecomputeevervaultdetaexponyatnoopencrpplxzeaburwasmerframerzeropsconvexmedusajsspritesonherculeseasypanelstreamlitsnowflakemesserliloginlinehackclubnorthflankbase44corespeedadaptableleapcellngrok-freeclerkstagelovableon-fleek*us-west-3ap-south-2us-central-2us-central-1eu-central-1ap-south-1us-west-2us-east-2eu-north-1ap-north-1us-west-1us-east-1*rcloudintsegorgmilcomgobbetnetintedugovturmusicasenasamutualcoopip6uriurnin-addre164homeirisgovdixdaemoncloudnssthwien*inexexkunden4accogvormymyspreadshop4lima2ixortsinfofuturecmsfuturehosting12hpprivfuturemailinglima-cityfunkfeuer123webseitednshomemelmyspreadshopcloudletswasantqldvicactnswtascatholicwasaqldvictasvpsidwasantozqldorgcomvicasnactnetedugovnswtasconfhrsncomairflowlambda-urltransfer-webappairflowtransfer-webapptransfer-webapptransfer-webapp-fipstransfer-webappeu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1mx-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1privatenotebookstudiolabelingnotebookstudionotebooknotebook-fipslabelingnotebookstudionotebook-fipsnotebookstudio-fipsnotebook-fipsnotebookstudionotebook-fipsnotebookstudioeu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2experimentsus-gov-west-1us-gov-east-1ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1onrepostsagemakercopporgmilcompronetintedugovbiznameinfoshoprsorgmilcomnetedugovbrendlyresolvenzauscotvstoreorgcomnetedugovbizinfoidacaicoittvorgmilcomschnetedugovinfocloudezproxyacmymyspreadshopkuleuvenwebhostingtransurl123websitecloudnsinterhostsolutionsddns5476103298edgfacbmlonihkjutwvqpsryxzbarsycoororgcomedumyftpno-iporxcloud-ipfor-somemmafanfor-morewebhopselfipjozidyndnscloudnsdscloudfor-thefor-betteractivetrailcoeconorestooteorgcomeconeteduassurmoneyafricaarchitectesrestaurantloisirstourismavocatsinfoagrounivcoorgcomnetedugovtvdeportesaludtksatorgmilcomwebgobnetinteducienciaboliviarevistacooperativaempresanombreindustriamusicapatriamedicinademocraciapoliticapuebloindigenaplurinacionalarteblogwikiinfoagrotransportenoticiasprofesionalacademiaeconomiaecologiamovimientotecnologianaturalsimplesitecepesebamapadfmgalampbacscpirngorotomtrjspaprrprrsesmscepesebamapadfmgalampbacscpirngorotomtrjspaprrprrsesms*biaamfmtcmptvfeirasampajampanatalbelemananiradiog12medindfndbmdtrdthepoaggfjdfdefinfenflegsegongengcngorgzlgslglogppgmillelqslcimcomnomadmjabimbbibbsbabcrectecsjcetcpscpvhudieticriapipsiecnbiorioecogeoteoodoproatoartfstmatvetdetbetnetcntnotfotgrueduajuespappreptmpemparqsrvadvdevgovntrturagrjorfarjusmusdesvixxyzcozfozslzbhzmaringasantamariacampinagrandegoianiasorocabafloripasaobernardocuritibaboavistarecifeaparecidasaogoncasalvadorcuiabamorenamacapalondrinacontagemsocialfortalmaceioleilaoosascoriobranconiteroi9guacutcheblogflogvlogwikitaxicoopmanauspalmascaxiasjoinvillebaruericampinassantoandreribeiraoriopretoweorgcomnetedugovv0windsurfshiptodaycloudsitecoaccoorgnetgovofmilcomgovmediatechzacoorgcomnetedugsjgovmydnspenfnlabnbmbgcbcqconcontnuyksknsmyspreadshopno-ipawdevboxbarsyonidatemfuinabusavinstanceseceuguukussryzespawncsxcloud-ipmyphotosfantasyleaguetwmailcleverappsscrappingccwucloudnsftpaccessgame-serverccgovobjectsrmalpgcust*svcalp1aeappenginermalpgmyspreadshop4lima2ixsquare7cloudscale123websitefirenet12hpflowgotdnslinkyard-cloudcloudnslima-citydnskingobjectstorageedaccogoorusorgcomnetinteduaéroportxn--aroport-byaassogouvcomilgobgovcloudnses-1eu-west-1us-east-1euvipit1eurarubait1s3lbwebsites3websiteru-spbru-mskelasticcsrunstnukukcaukusnl-ams-1fr-par-1fr-par-2functionsnodess3ddlwhmrdbfnck8sifrs3-websitecockpitscblmgdbdtwhkafkpubprivs3ddlwhmrdbk8sifrs3-websitecockpitscblmgdbdtwhkafks3ddlrdbk8sifrs3-websitecockpitscblmgdbdtwhkafkk8sscalebookpl-wawfr-parnl-amsbaremetalsmartlabelinginstancesdechk2kuleuvenlaravelvoorloperurownoxazapscwhstgrvaporobservablehqelementorantagonistreclaimjoteluluencowaydiademjelasticmatlabmagentositetrendhostingaxarnetperspectajenv-arubajelejoteravendbemergenttrafficplexconvexkeliwebserveboltbegetcdnstaticson-rancherprimetelonstackitunison-servicesdnshomelinkyardbarsyjelecloudnscocomnetgovmycn-northwest-1cn-north-1s3s3-accesspoints3-websites3s3-accesspointrdsdualstacks3-deprecatedemrappui-prods3-websiteemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apis3s3-accesspoints3s3-accesspointrdsdualstackemrappui-prods3-websiteemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicn-northwest-1cn-north-1cn-northwest-1ebcomputeelbcn-north-1airflowcn-northwest-1cn-north-1oncn-northwest-1cn-north-1amazonawssagemakeramazonwebservicesdirectasgdsdhehahljlnmhbacscahqhshhihnlnynsnmofjbjzjxjtjhkcqtwgsjssxnxjxgxxzgz網絡网络公司orgmilcomnetedugovxn--55qx5dcanva-appsxn--io0a7iquickconnectcanvasitekhsjxn--od0algmyqnapcloudsrvrlessclustersrealtimestorageleadpagescarrdcrdorgmilcomnomnetedugovhidnssupabaserdpareplmypiumsoxmitotaplpagesfirewalledreplitowodevwebview-assetsvfswebview-assetss3s3-accesspointdualstackemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9eu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1s3s3-accesspointdualstackemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstackanalytics-gatewayemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstackemrappui-prods3-websiteemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apis3s3-accesspointdualstacks3-deprecateds3-websites3-object-lambdaexecute-apis3s3-accesspoints3-websites3-accesspoint-fipss3-fipss3s3-accesspointdualstackemrappui-prods3-websites3-accesspoint-fipsaws-cloud9s3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstackemrappui-prods3-websites3-accesspoint-fipss3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apis3s3-accesspointdualstacks3-deprecatedanalytics-gatewayemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9vfss3s3-accesspointdualstackemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9eu-west-3ap-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1mx-central-1me-central-1ca-central-1il-central-1ap-northeast-1us-northeast-1ap-southeast-1me-south-1af-south-1ap-south-1ap-southeast-7us-west-2eu-west-2ap-east-2us-east-2ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1ap-southeast-6ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1mrapaccesspoints3s3-accesspointdualstacks3-deprecatedanalytics-gatewayemrappui-prods3-websites3-accesspoint-fipsaws-cloud9s3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstacks3-deprecatedanalytics-gatewayemrappui-prods3-websites3-accesspoint-fipsaws-cloud9s3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3eu-west-3ap-south-2eu-south-2computes3-ap-northeast-2elbrdss3-ap-east-1s3-sa-east-1s3-us-gov-west-1s3-eu-central-1s3-ca-central-1eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3s3-website-us-west-2s3-website-eu-west-1s3-external-1eu-central-1me-central-1ca-central-1il-central-1s3-us-west-1s3-eu-west-1s3-website-sa-east-1s3-website-ap-southeast-2ap-northeast-1ap-southeast-1s3-us-west-2s3-eu-west-2me-south-1af-south-1eu-south-1ap-south-1us-west-2eu-west-2us-east-2s3-website-ap-southeast-1s3-1s3-globals3-ap-northeast-3eu-north-1airflowap-southeast-2s3-us-gov-east-1s3-fips-us-gov-east-1s3-me-south-1s3-ap-south-1ap-northeast-2s3-website-us-west-1ap-southeast-5s3-eu-north-1s3-ap-southeast-1s3-website-us-gov-west-1compute-1s3-eu-west-3us-gov-west-1s3-website-ap-northeast-1us-gov-east-1s3-fips-us-gov-west-1s3-website-us-east-1s3-ap-southeast-2ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1s3-us-east-2s3-ap-northeast-1authauthauth-fipsauth-fipseu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1mx-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1rservicesbuilderstg-builderdev-builder*ociocpocsdemoinstanceeu-west-3eu-south-2ap-southeast-3ap-northeast-3eu-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1previeweu-4us-4us-1eu-1us-2eu-2us-3eu-3appspaasrag-cloudrag-cloud-chjcloudjcloud-ver-jpcdemonodebalancermembersipeuxvsoncillaocelotonzayalilynxsphinxfentigercustomercaracalo365cloudstaticxendevapp001testcode-builder-stgplatformapimediasiteprojedrydpagesjsu2u2-localx0desazacncoitrueu4uhkukgrbrushatenadiarymyspreadshopfrom-flfrom-wvwebspace-hosttheworkpchatenablogservesarcasmapplinzisakuratanwixsiteappchizigiizeis-into-carsdnsiskinkyadobeaemcloudis-a-therapistpgfogmyvncdojinis-an-actress1kappfldrvkozowqa2jpnmexprgmrfirewall-gatewaydynnscafjsfbsbxooguyxnbayfrom-gawoltlab-demois-a-anarchistwiardwebteaches-yogadattowebtb-hostinglive-websiteservegamegotpantheonfrom-nhsubsc-payfrom-ohvipsinaappfrom-cadyndns-officehomelinuxfrom-mahercules-appservebbsstreakusercontentfrom-okfrom-wyfastly-terrariumis-a-llamaqualyhqportalserveexchangeon-vaporvivenushopciscofreakgrayjayleaguesmetaaiusercontentfrom-iais-a-libertariansaves-the-whalestaveusercontentyolasiteoperaunitepoint2thisis-a-catererlinodeusercontentfrom-vagithubusercontentsells-for-lesshosteurcanva-appsplaystation-cloudddnsfreefrom-pafrom-prfrom-waddnskingoutsystemscloudhotelwithflightmydattois-a-nascarfanmydbserverminiserverdamnserverservehumouris-a-playerfrom-nvfrom-nmemergentagentgentappsamplifyappfrom-kyis-an-accountantnfshostserveircfrom-akpythonanywherestackhero-networkpostman-echolikescandydyndns-mailobservableusercontentserveftpfreeboxosfrom-utcdn77-storageamazonawsneat-urldyndns-serverlinodeis-a-teacherfrom-vtgleezemythic-beastsus1-pleniteu1-plenitla1-plenitpaywhirlservecounterstrikejdevcloudhealth-carereformis-into-animegoogleapisis-a-painterafricaisa-hockeynutatmetais-an-actora2hostedis-a-democratdatadetectest-le-patrondigitaloceanspacesis-a-designeris-a-hunterlinodeobjectstemp-dnsissmarterthanyoufrom-arsimplesiteevennodetownnews-stagingis-a-liberalgooglecodejelasticservemp3stdlibqualyhqpartnerdyndns-free1cooldnsest-a-la-masiondrayddnsdynuddnsfrom-orfrom-miis-a-bloggerfrom-himydobisscanvacodeis-an-engineerest-a-la-maisonupsunappdevinappswafflecellmyasustorwpenginepoweredfrom-ctservep2psame-appmyshopblocksthingdustdatalikes-piediscordsezis-with-thebanddev-myqnapcloudlpusercontentis-leetshopitsite3utilitiesis-a-personaltrainersinaappladeskis-a-cheflogoipselfipbase44-sandboxnospamproxyalibabacloudcsmesswithdnsauthgearappsiamallamawithgooglelutrausercontentmochausercontentframercanvasmytabitdyndns-homew-credentialless-staticblitzcpserverdiscordsaysis-a-nurseappspotatlassian-isolated-3premotewdfrom-mtwixstudiocode0emm180rmyactivedirectoryawsappsmytuleapdnsabrpolyspaceqbuserrenderbuiltwithdarkboutirgotdnsabrdnsdopaascanva-hosted-embedawsglobalacceleratorhomesecuritypcmyiphostditchyouripclever-clouddyndns-ipon-aptibleis-a-musiciansecuritytacticsappspaceusercontenthomeunixstrapiappsame-previewcf-ipfsmycloudnaselasticbeanstalkis-certifieddontexistkasserverik-serverdrive-platformatlassian-3pfirebaseappherokuappawsapprunnerbarsycenteris-a-cubicle-slaveservehttpmyshopifyis-a-guruquicksytessiiitesorsitesmagicpatternsappis-a-cpameteorappfrom-wiis-a-rockstarbumbleshrimpdattolocalreadthedocs-hostedfrom-rifamilydsdyndns-picsplesknsbplaceddnsaliasdynaliasdyndns-remotedoomdnsip-ddnsblogdnsis-a-doctorroutingthecloudamazoncognitobarsyonlinedsmynasddnsgurucloudflare-ipfsdeus-canvasfrom-idsmushcdnpagespeedmobilizerdyndns-at-homeunusualpersonhosted-by-previderis-a-republicandyn-o-saurstreamlitappworkisboringonthewificprapidqualifioappis-uberleetis-slickgetmyipwpdevcloudtypeformdyndns-at-workgentlentapismynascloudw-corp-staticblitzfrom-ingeekgalaxyservebeerfrom-mdonrenderspace-to-rentaivencloudappspacehostedonfabricawafaicloudcodespotblogspotatlassian-3p-us-gov-modfrom-ndfrom-msis-a-techieis-a-studentcustomer-ociis-a-photographerdurumisfrom-ksmassivegriddyndns-wikiis-an-entertaineris-a-hard-workermysecuritycamerafrom-mnrackmazedyndns-blogis-a-bulls-fanwritesthisblogfreemyipsimple-urlfrom-sdreservdauthgear-stagingest-mon-blogueuris-into-gamesrice-labsxtooldevicesakurawebis-an-anarchistoraclecloudappsdyndns-worksells-for-urhcloudfrom-dcfastvps-serverwpmucdnis-a-geekscrysecfrom-txis-into-cartoonsmodelscapetrycloudflarelocaltonetstreak-linkbalena-devicesfrom-njforgeblocksfreebox-oswebadorsitefrom-ncdoesntexisthobby-sitestreaklinkshomesecuritymacownprovidertuleap-partnersdattorelaywphostedmailalpha-myqnapcloudservequakeis-a-socialistservehalflifepivohostingdynuhostingquipelementsw-staticblitzdyndns-webfrom-deproject-studyaliases121is-not-certifiedhercules-devis-a-financialadvisorservepicsis-a-greenloseyouripfrom-ilwithyoutubemwcloudnonprodwiredbladehostingdnsdojofrom-tnpixolinomyqnapcloudis-an-artisthostedpiis-a-landscaperauiusercontentoaiusercontenton-forgeis-a-conservativedreamhostersnet-freaksapps-1and1is-goneencoreapifastly-edgefrom-nesalesforcefrom-scdeployagentoraclegovcloudappsfrom-alis-a-lawyercechirevultrobjectsstufftoreadisa-geekddnsgeeklovableprojecttry-snowplowfrom-moblogsyteis-a-bookkeepernogmyforumravendbmyboxdeelementoredsaacficogoorinforgcomgobnatneteduidstoreorgcomnetintedudevnomepublorgcomneteduathgovtestscalculatorspaynowinfoquizzesresearchedcloudnsfunnelsassessmentsjscaleforcetmacltdorgmilcompronetgovbizpresseklogesrsccloudcustomfltusrcloude4corealmgovmunicontentproxy9metacentrumdyndyndyndnsdynpagespages-researchitionoccustomercomymyspreadshopipv64diskussionsbereich4limacomrub2ixfirewall-gatewayddnssspdnsbarsykeymachinesquare7myhome-serverspeedpartnercommunity-proschuldockxenonconnectgünstigliefernbwcloud-os-instancedyndnssecmy-routerxn--gnstigliefern-wobin-butterl-o-g-i-nisteingeekin-dslin-berlinin-brbfuettertdasnetzleitungsenin-vpnlcube-serverdyn-ip24logoipdyn-berlinruhr-uni-bochum12hpgoipsrvdnsfruskygit-repossvn-reposinternet-dnsgünstigbestellenhome-webserverxn--gnstigbestellen-zvbbplacedheimdnscosidnswebspaceconfiglima-citydyndns1istmeinvirtualuserschulplattformmy-gatewayddnsseclebtimnetztest-iservmein-iservvirtual-userhome64iservschuletaifun-dnstraeumtgeradeschulserverdynamisches-dns123webseitednshomehs-heilbronndnsupdaterbssgraphicdwadpdwdaepeweaawapaafpfwfabwbpbacwcpcciwebuserapiobjectsidsiskospockkimodorikerbonesteamsparisjanewaypicardglobaltarpitreedpikekiraworfsulukirkarchertuckerhackercanarywesleystagingprereleaset3r2lpbravepanelngrokiservstglclcrmerpflypagesbarsyvivenushoplocalcertlocalplayerbearbloggatewaydeno-stagingis-not-ais-a-goodbotdashvercelmocha-sandboxplatter-appreplitgithubpreviewworkersinbrowserevervaultdetais-ahrsndenoxmitmodxmyaddrstorageapipayloadgrebedocruncontainersstgstagelclstageloginlineis-a-fullstackleapcellngrok-freeis-coolstoragewebharemediatechlibp2pdiscourseimaginecomyspreadshopstoreregbiz123hjemmesidefirmcoorgcomnetedugovsldorgmilcomwebgobartnetedugovtmorgpolcomsocartnetedugovassoagrondiscoodontk12medcuegyecpaabgengorgmilgalsaltulcomadmesmgobpubdocmonfindgnriouioproartlatvetnetfotedulojgovntrturibrbarxxxofficialbasechefprofmktgpsictechinfoarqtcontdentrrpppsiqgit-pagesritmedfieorgcomlibprieduaipgovriikmeactvsportorgmilcomscieunnetedugovnameinfopintouchtawktotawkmyspreadshoporgcomnomgobedu123miwebcomputeorgcomnetedugovbiznameinfocognito-idpeusc-de-east-1onjelasticnxaspdnsbarsydirectwpdeuxfleurstransurldogadoprvwcloudnsamazonwebservicesdnshomeuserpartycokoobinmkmstorjfidemopaasdymyspreadshopalandkapsiikixn--hkkinen-5wacloudplatformdatacenterhäkkinen123kotisivuidacorgmilcompronetedugovbiznameinforadioorgcomneteduuserexperts-comptablestmmyspreadshopgretaprdcomnomynhccifbxoshuissier-justicenotairesaeroportfreeboxoson-webavocatassoportgouvkdnschirurgiens-dentistes-en-franceavouesfbx-os123sitewebveterinairechirurgiens-dentistespharmacienchambagrimedecinfreebox-osdediboxgoupilemszicpyicpvicppleysheezypagesedugovcnpyorgcomcybllcpvtnetedugovtnxonlineschooldaemond6atcopanelorgnetplybotdashstackitkaasorgmilcomnetedugovbizmodltdorgcomedugovcoorgcomneteduappwriteacorgcomnetedugovcloudtranslateusercontentorgcomnetedumobiassoorgcomnetedugovbarsysimplesitediscourseindorgmilcomgobneteduorgcomwebnetedugovguaminfonxhra教育敎育網絡网絡组織組織网络網络组织組织公司政府個人个人箇人ltdorgcomincneteduidvgovxn--uc0ay4axn--55qx5dxn--mk0axixn--io0a7ixn--uc0atvxn--zf0avxxn--lcvr32dxn--od0algxn--wcvs22dxn--gmqw5axn--od0aq3bxn--mxtq1mxn--ciqpnxn--tn0agxn--gmq050iorgmilcomgobneteduiservwp2tempurlmircloudfreesitewpmudevmyfastgadgetcloudaccessjelehalfboltfastvpsemergenteasypanelopencraftizcombrendlynamefromrtpersoadultmedorgpolrelcomproartnetedufirminfoassoshopcoopgouvtmcomediahotelforumvideosportorgsexagrargameslakaseroticaerotikatozsdereklamcasino2000filmsuliinfoboltshopprivnewsszexcityutazasjogaszkonyveloingatlaneacaicogoormyᬩᬮᬶmilwebschnetkopbizzonedesaponpesxn--9tfkymyspreadshopgovmytabittabitorderravpageaccok12idforgnetgovmuniltdplcaccotttvorgcomnetmeca6g5gpgamubacaicniocoukuptverdruscsdelhiindorgmilcomwebnicfingenpronetintedugovresbizbiharbarsyinternetbusinessschooltravelsupabasealumnigujaratfirminfoaeropostbankcoopindevscloudnsno-ipbarsybarrell-of-knowledgebarrel-of-knowledgensupdategroks-thisdnsupdatefor-ourknowsitalldvrcammittwalddynamic-dnsv-infowebhopselfipdyndnshere-for-moreilovecollegemayfirstforumzcloudnsmittwaldservertypo3servergroks-theeusekd1uk0cdndyndnsidrawsainaueuapjpusstagemocksysdevicesclientcustreservdcustdevdisrecprodtestingcobeebyteutwenteboxfusebravepstmndedynngrokorgmilcomnomhzcnetedugovqcxqzzbarsythingdustmo-siemensrb-hostingprotonetfh-muenstergitbookbluebitecloudbeesusercontentnodeartkiloappsforgerockdarklangresinstagingapigeebubbleb-datascryptedhypernodedappnodepantheonsitegitlabgithubkeeneticvirtualservercleverappshostyhostingon-rioedugitticketstelebiton-acornwixstudioon-k3sicp0icp12038jeleqotobigvlairbubbleappsmyaddrstolosmyrdbxwebflowdrive-platformbeagleboardhasura-applolipopdefinimavaporcloudmusicianwebflowtestazurecontainerresindevicereadthedocsloginlineeditorxmoonscalesandcatsbasicserverwebthingsbrowsersafetymarkbeebyteappbitbucketidaccovistablogorgschnetgovxn--mgba3a4f16axn--mgba3a4fraarvanedgeايرانایرانjclaspeziapdudcefegelemeperetevebacanatavaparasabgagfgogrgpgalclblimfmrmcbmbvbfclcmcvcrcpcchlimifibicivipirisimncnbnanenrnpntnnolomobocoaogorosopotoptvtatctbtmtltotpulunutpspapaqsvpvvvtvavvrtrsrprgrfrcrbrarorkrvstsssbscsmsispzczbzbozen-suedtirolmyspreadshopxn--bulsan-sdtirol-nsbxn--valledaoste-ebbtrentinoaltoadigetrentin-sued-tirolxn--forlcesena-c8axn--forl-cesena-fcbxn--bozen-sdtirol-2obtriestetrentinsuedtiroltrentino-s-tirollecceudineaostesienaparmaluccapaviagenoapaduaaostamonzaabruzzoternirietiturinmilanbozenlaziofermoleccocuneonuoropratola-speziavdataaligfvgpugmolcalcamlomumbsicpmnvenvaoedugovabrsarmaremrbastoslazibxosfirenzetrentinosüdtirolval-d-aostavalle-aostamessinacremonaravennatoscanatrentin-suedtirolbolognacalabriaurbinopesarofriuli-v-giuliaogliastraxn--valle-aoste-ebblaquilaandriatranibarlettasyncloudtrentinosudtirolxn--valle-d-aoste-ehbaostavalleyvalled-aostatrentino-alto-adigevallee-d-aostexn--balsan-sdtirol-nsbpistoiasicilialucaniacataniaiserniaperugiabresciaveneziagorizialiguriaimperiabulsan-suedtirolbalsan-suedtirolbarlettatraniandriaxn--trentino-sdtirol-szbforlì-cesenatuscanyvallée-d-aostemantovavallée-aostecasertapiemontevalleaostaval-daostafriulivgiuliatrevisoforli-cesenavalléedaosteferrarapescaravald-aostatrentino-altoadigefriuli-vegiuliavallee-aostecarboniaiglesiastarantomediocampidanovalleedaostetrentinosud-tirolcampobassotrentinsüd-tiroltrentinosüd-tirolmonzabrianzatrentino-südtirolxn--trentino-sd-tirol-c3bpotenzacosenzavicenzaemiliaromagnavenicefrosinonemarchepordenonetrentinosued-tirolvaresemolisevalléeaostefriuli-veneziagiuliabasilicatalatinaanconasavonaveronamodenaaquilabiellabolzano-altoadigepugliafoggiaumbriatrentino-stirolgenovapadovamateranovararagusapiacenzatrentinostirolvalleeaostetempio-olbiatrentinsudtirolmassa-carrarafriuliveneziagiuliatrentinosuedtirolandria-barletta-tranitrapanixn--cesenaforl-i8amaceratacaltanissettaascoli-picenobrindisicarraramassacagliaririmininapolivibo-valentiachietibulsan-sudtirolbalsan-sudtiroltrentino-a-adigebulsanbalsaniglesiascarboniamilanotorinoteramodell-ogliastraarezzotrentinoalto-adigerovigotrentovenetoiglesias-carboniatrentino-sud-tirolaltoadigereggio-emiliareggio-calabriasardegnatranibarlettaandriapiedmontxn--sdtirol-n2amedio-campidanotrentino-süd-tirolfriuli-vgiuliafriuli-ve-giuliaromeennaromapisa32-b16-b64-blodiastibarineencomonaplesforlicesenailiadboxosalessandriasicilytrani-barletta-andriaxn--trentin-sdtirol-7vbpesarourbinotrentinsued-tirolcesena-forliforlìcesenaemilia-romagnamonzaebrianzaxn--trentinsdtirol-nsbtrentinos-tiroltrentinsüdtirolvalledaostaolbia-tempiocampidanomediovibovalentiasassarivalle-daostalombardyfriulivegiuliareggioemiliamonzaedellabrianzaalto-adigevercellitrentin-sudtiroltraniandriabarlettatrentino-sudtirolascolipicenobozen-südtirolfriulive-giuliaflorencevaldaostaxn--cesena-forl-mcbcarbonia-iglesiasaosta-valleycarrara-massadellogliastratrentinoa-adigexn--valleaoste-e7apesaro-urbinoxn--trentinosdtirol-7vbxn--trentin-sd-tirol-rzbxn--trentinsd-tirol-6vbtrani-andria-barlettatrentin-süd-tirolxn--trentinosd-tirol-rzbgrossetomonza-e-della-brianzasüdtirolreggiocalabriatrentinoaadigetrentin-südtirolfriuliv-giuliaverbaniacampaniatrentino-aadigefriulivenezia-giuliasardiniaandriabarlettatranibarletta-trani-andriacatanzarooristanourbino-pesarocesena-forlìvalle-d-aostacampidano-medio123homepagesiracusatempioolbiasuedtirollombardiaavellinocesenaforlìtrentinofriuli-venezia-giuliabozen-sudtirolandria-trani-barlettabulsan-südtirolbalsan-südtirolmonza-brianzabolzanotrentino-sued-tirolbellunosalernolivornocrotonesondriodnshometrentinsud-tirolmassacarraratrentin-sud-tiroltrentino-suedtirolviterbobergamocesenaforliolbiatempiopalermobeneventoagrigentoofcoorgnetfmaitvphdengorgmilcomschnetedugovperagrikanieasukehandachitatokaiaisaikonanoharuamaobuhigashiuraowariasahiinuyamatobishimaiwakurashitarainazawatoyonegamagorimihamatoyotataharakariyayatomioguchikomakimiyoshinishiotokonamekiyosuchiryutoyohashiokazakiisshikikasugaikotakiratoeianjotogofusosetohazutsushimashinshirotakahamanisshinshikatsuhekinantoyokawaichinomiyatoyoakeodateogataakitaikawakyowahonjoogayurihonjonoshirokamiokakatagamimitanegojomeyokotekosakadaisenkazunonikahohonjyomoriyoshimisatohappoukamikoanihachirogatahigashinarusesembokufujisatokitaakitaitayanagiowanitakkomutsutsurutahirosakigonoheoirasetowadamisawanohejiaomorishingohiranairokunohehashikamitsugarushichinohehachinohenakadomarisannohekuroishisakaeisumiasahiotakiinzaiabikomatsudoyachiyomutsuzawakujukuriomigawakashiwatoganemihamanaritasakuranagaramobarahanamigawachoshishiroichoseikozakishisuikatorimidorichonankyonanfuttsuonjukufunabashinagareyamanodasosatakochuotohnoshourayasukimitsuyokaichibayotsukaidosodegauratateyamakamagayayokoshibahikariyachimatakatsuuratomisatokisarazukamogawaichikawanarashinoichinomiyashimofusaminamibososhirakoichiharaoamishirasatoikatahonaiainansaijoseiyoiyoozuuwajimaniihamanamikatamasakiuchikokihokutobetoonshikokuchuomatsuyamaimabarikamijimakumakogenyawatahamamatsunosabaeikedaobamasakaifukuiohionotsurugamihamawakasaminamiechizeneiheijikatsuyamatakahamaechizensoedaukihaomutaokawanishiogoribuzenonojosueumiokiotochikugosasagurisaigawamizumakishinyoshitomikurumekurateyamadakasuganakamamiyamanogatatakatahakataiizukakawaratagawakasuyaashiyainatsukimunakataminamitsuikishonaikurogifukuchikeisenhigashimiyakoshinguyukuhashiokagakiyamekogaongausuikahotohochuotoyotsumiyawakadazaifuhisayamatachiaraiyanagawanakagawahirokawachikujochikushinochikuhochikuzennamieotamaokumashowateneiiwakikoorinangoononishigoshimogoomotegomishimafukushimaasakawakagamiishishirakawaiitatefutabahiratayugawahanawakitakatakawamatakunimiyabukibandaihigashihironoyamatomiharuyamatsuriaizubangedatesomaaizuwakamatsuyanaizuaizumisatonishiaizuizumizakikitashiobarataishinkaneyamakoriyamainawashirotanagurafurudonosamegawasukagawaishikawatamakawaikedaogakitaruiginanenahashimahichisonakatsugawaibigawashirakawamizunamiminokamomitakekawauesekigaharatomikasakahogikitagatayamagatatajimianpachimotosuyaotsukakamigaharahidakanisekitokigujominogodoyorogifukasamatsutakayamawanouchihigashishirakawakasaharashimonitatsumagoichiyodakannakanrashowameiwakiryuotaoratomiokafujiokaitakuranaganoharahigashiagatsumatakasakishibukawaminakamikatashinatsukiyonokawabanumataannakaoizumimidorishintoisesakiuenoyoshiokakusatsutakayamanakanojonanmokutamamuratatebayashimaebashiotakekaitadaiwahongofuchukuietajimashobaramiharahatsukaichihigashihiroshimamiyoshikumanokurenakasakaseraseranishiasaminamifukuyamashinichionomichiosakikamijimajinsekikogentakeharaotobenanaeikedatohmaozoraobiraabirakyowaeniwataikibibaisharirebunerimohiroooketootarupippunishiokoppechitosefurubirahakodateshiranukakitahiroshimakushiroobihironanporoiwamizawaniikappukunneppufukushimanakasatsunaitoyourakuromatsunaiakabirakamisunagawashibechaurakawakamifuranonakatombetsuasahikawashimokawakayabeokoppebiratoriabashirisaromaatsumanumatahidakabifukamukawamikasahorokanaitoyotomisarufutsuhigashikawaishikarikitamiyoichiesashiiwanaitomariminamifuranoakkeshifuranotoyakoyakumootoineppushikaoishiraoinemuronayorohaboroashorobihororishirifujiutashinaihokutotakasuebetsuurausuassabukikonaishimamakinaiedatetoyabieinikiesanuryuoumuteshikagarikubetsuashibetsukimobetsuaibetsutobetsusobetsuembetsushimizuchippubetsurishirihokuryuhoronobeshintokutsubetsushibetsuhonbetsumombetsutsukigatakuriyamakoshimizushiriuchikutchanmurorannoboribetsukamishihorowassamushinshinotsukembuchiwakkanaikamoenaikiyosatotakinoueshikabesunagawafukagawanakagawatakikawakamikawahigashikagurahamatonbetsumatsumaemoseushirankoshishakotanimakanemashikeotofuketomakomaisandatambaitamiawajikasaiasagoshisoonoakoyashirotoyookaminamiawajiinagawafukusakitakasagokamigorikasugaharimayokawaashiyahimejiakashitaishiaogakisannantakinosumototakarazukanishinomiyashingugoshikinishiwakiyokatakaaioimikisayoyabukawanishiamagasakisasayamashinonsenkakogawaichikawakamikawatatsunotsukubaiwamaogawaasahisakaitokaioaraiitakobandodaigosuifuinaamikasumigaurakashimaomitamayachiyoshimodatetomobetoridehitachinakainashikisakuragawakasamayawaramoriyahitachiomiyanamegatayamagatahitachikamisuushikutakahagiibarakitonekoganakasowayukimihojosomitoryugasakishimotsumafujishirotsuchiurachikuseihitachiotashirosatotamatsukuriuchiharashikahakuinanaotsubatawajimakahokukawakitatsurugikaganominotosuzuuchinadakomatsuanamizunakanotohakusannonoichikanazawaiwateshiwafudaikawaimoriokaofunatohanamakikuzumakikitakamininohekunoheyamadayahabasumitaichinosekitanohatahiraizumirikuzentakatajobojiotsuchihironomiyakoiwaizumikarumaiichinohenodakujitonooshushizukuishifujisawamizusawakamaishikanegasakimannoutazukotohiraayagawazentsujihigashikagawauchinomikanonjisanukimarugamemitoyotakamatsutadotsunaoshimatonoshoakuneamamiizumihiokiyusuikinkoisasookouyamanakatanekagoshimakanoyaisenkawanabeminamitanemakurazakitarumizunishinoomotematsumotosatsumasendaioimatsudaayaseebinamiurazushinakaiodawaraiseharasagamiharahakoneaikawakaiseiatsugitsukuihadanoyamatoyamakitazamaoisochigasakininomiyayokosukakamakuraminamiashigarafujisawasamukawakiyokawahiratsukayugawaraokawaumajikochitsunootoyoakiinonishitosayasudahidakamiharasakawaniyodogawahigashitsunokagamigeiseisusakiotsukinaharisukumomurototosakamiochitoyotosashimizumotoyamanankokunakamurakitagawayusuharaogunichoyoukiasoutoozugyokutoamakusamifunetakamoriyamagaminamataminamiogunikikuchisumotoyamatonagasumashikiaraokumamotokamiamakusanishiharayatsushiroayabeseikasakyoideineujinakagyokameokakyotangokyotanabekyotambaminamiyamashiroyamashinatanabeyawatawazukaminaminantanmiyazuhigashiyamafukuchiyamakitamukokamojoyokizumaizuruujitawaraoyamazakinagaokakyokumiyamakawagoeinabeshimameiwaasahitaikiudonoisetsukisosakikuwanamihamamiyamasuzukatamakimisuginabarikumanokomonominamiisewataraitobakiwatakikihotadomatsusakayokkaichikameyamaureshinoishinomakishichikashukuohirataiwaosakizaohigashimatsushimashikamaiwanumashibataogawaraonagawakawasakiseminemarumoriminamisanrikukakudamuratawakuyatomiyanatoriwataritagajomisatotomekamirifushiroishimatsushimayamamotoshiogamafurukawahyugaebinotsunosaitoayakushimanobeokakitauramiyazakitakazakigokaseshiibamimatashintomikunitomikitakatakobayashikawaminamitakaharukijotakanabemiyakonojonishimeranichinankitagawakadogawamorotsukakisofukushimaminamimakisakaeobuseikedaogawamiasaokayaasahiotakiotarichinoinaomichikumakomaganechikuhokukaruizawayasuokaooshikaikusakaminamiaikitogakushimatsukawakawakamitateshinatakamorikitaaikishiojirimiyadahakubaiizunaiijimaiiyamamiyotasuzakayasakatoguraookuwanagawaminowahirayayamagataminamiminowafujimiomachisakakitakaginaganonakanosakuhokomoronagisoshinanomachiwadauedaiidaharasuwatomiachiaokianankisosakunozawaonsenagematsutakayamashimosuwamatsumotoyamanouchinakagawamochizukiazuminotatsunoobamaomuraseihiunzenosetofutsuikichijiwanagasakiisahayahasamisaikaikawatanasasebohiradokuchinotsugototogitsutsushimashimabarashinkamigotomatsuurayamazoekashibaikomakawaitenrioyodosangokoryoudaojiikarugayamatokoriyamatenkawakatsuragikurotakikawakamimiyakemitsuetakatorikamikitayamayamatotakadahegurishinjokanmakisakuraitawaramotogoseoudanarasoniandokawanishishimoichihigashiyoshinokashiharashimokitayamanosegawayoshinomintsivorytopazsakuragehirnsumomoaseinetopalmail-boxmokurenyoitamuikaojiyagosensanjoaganomyokoseiroagaomishibataniigatanagaokamurakamiuonumayuzawakariwatagamitainaitsunanminamiuonumatochioyahikojoetsuseiroukamosadoizumozakitokamachiitoigawasekikawakashiwazakitsubamemitsukekokonoesaikiusukibeppuusahimeshimakunisakihasamataketatsukumihitaoitahijikusuyufukujukamitsuebungoonobungotakadaibaraniimibizentsuyamaokayamakasaokahayashimayakagemaniwaakaiwamisakishinjotamanotakahashikibichuowakesojanagishookumenannishiawakurakurashikiasakuchisetouchikagaminosatoshotomigusukunakagusukuyaeseizenaurumaiheyaaguniogiminanjokinminamidaitokitanakagusukuyonaguniokinawaishigakikunigamiurasoekadenataramahiraraginozataketomishimojizamamitonakiitomanhigashimotobuyonabarugushikamionnanahanagohaebarukumejimakitadaitonakijinnishiharayomitanginowantokashikiishikawaikedasuitaminohizuminishisakaikananabenodaitoosakasayamayaokishiwadatadaokakaizukatondabayashichihayaakasakakumatorikadomasayamahigashiosakashijonawatehirakatataishimisakitajirihannansennankatanotoyonominatosettsuhigashiyodogawaibarakinosekitachuohigashisumiyoshifujiiderakashiwaraizumiotsutoyonakamatsubaramoriguchiizumisanoshimamototakatsukineyagawahabikinotakaishikawachinaganoyoshinogarikamiminearitaouchiimarihizenogikashimaariakekiyamafukudomikitagatakitahataomachigenkaikanzakinishiaritakyuragisagataratosutakushiroishikaratsuhamatamakouhokukawagoeyoshidasatteogoseirumaasakaurawaogawaniizaomiyayoriiotakishikihonjooganohannohanyuinasaitamaokegawaarakawayoshikawayokozehasudasayamahidakafukayachichibuiwatsukiryokamiyoshimikamiizumifujimiwarabiranzanmiyoshiminanoyashiosakadosugitomisatohigashichichibutodasokakukiyonokazoshiraokakasukabekounosukawajimatsurugashimamiyashirokitamotohatoyamamoroyamahatogayakumagayakawaguchinagatorokamisatomatsubushinamegawatokigawakamikawafujiminohigashimatsuyamakoshigayatokorozawas3isk01isk02ryuohkoseikonanaishorittotakashimamaibarahikonetorahimenishiazaikokagamokotoyasuotsukusatsunagahamamoriyamatoyosatotakatsukinotogawaomihachimanhigashiomiakagiunnanizumogotsuamayatsukakakinokimatsuehamadamasudahikawahikimiokuizumoyasugiyakumomisatotamayuohdahigashiizumookinoshimanishinoshimatsuwanoshimaneshimadafujiedayoshidashimodagotembaiwataatamikosaiyaizuitoizumishimahaibaramakinoharaomaezakikawanehonkannamisusonohigashiizufukuroinumazukawazufujiaraishizuokahamamatsushimizuizunokunimatsuzakimorimachiminamiizunishiizukikugawakakegawafujikawafujinomiyaujiietsugaoyamayaitaohiranikkoashikagakuroisokanumasakurashioyakarasuyamamotegiichikaikaminokawatochigihagamokanogisanobatonasumibunasushiobaranishikatautsunomiyaiwafunemashikoshimotsukeohtawaratakanezawaitanokomatsushimatokushimaichibaminamiaizumiwajikikainanmiyoshinarutomimamugiananmatsushigesanagochishishikuinakagawamachidachiyodakomaefussainagitaitochofufuchuomeotahigashiyamatotoshimaokutamaaogashimakodairaedogawaarakawahachiojishinagawatachikawashibuyasuginamihinodekiyosesumidaoshimanerimamitakahamuraadachinakanomizuhobunkyomegurominatokoganeihigashikurumekokubunjihigashimurayamamusashimurayamatamakitahinochuokotokatsushikakouzushimaogasawaraakishimakunitachishinjukusetagayamusashinohachijoitabashiakirunohinoharachizunanbukotouramisasawakasayonagokogehinoyazutottorinichinansakaiminatokawaharaoyabetairainamiasahinantoimizufuchutakaokakurobeyamadajohanatoyamatonaminyuzenfunahashinakaniikawanamerikawaunazukitogahimiuozufukumitsutateyamakamiichiiwadearidayuasainamitaijikatsuragiaridagawatanabemihamahidakakainankiminomisatoshingushirahamakamitondayurakozakoyagobokitayamawakayamakudoyamahashimotokushimotokozagawahirogawakinokawanachikatsuurarsuseroeoishidasagaeoguniasahinagaitendonanyoobanazawanishikawasakataohkuratozawamikawamamurogawayamagatafunagatatakahatashonaishinjokahokuiideyuzakawanishitsuruokakaminoyamayamanobeshiratakamurayamanakayamakaneyamahigashineyonezawasakegawamitouubeyuuabushimonosekitabuseoshimatoyotaiwakunihikarishunannagatohagihofukudamatsutokuyamashowadoshitsurunanbukoshukaiminami-alpsnirasakikosugeotsukioshinohokutominobuyamanashifuefukichuokofuichikawamisatoyamanakakonakamichitabayamanishikatsuranarusawafujikawahayakawafujiyoshidafujikawaguchikouenohara長野京都岐阜大阪三重群馬千葉滋賀佐賀奈良adednelgaccogogror秋田愛知高知埼玉沖縄栃木熊本岩手青森山梨新潟島根鳥取長崎香川宮城石川大分宮崎茨城山口兵庫山形徳島広島福島福岡岡山富山静岡愛媛福井東京xn--4it168dhatenadiaryxn--vgu402ckawaiishophatenablogcocottenamaste北海道penneehimeiwateversestabachibashigagonnagunmapermahaccaakitaosakauh-ohblushkochiaichifukuikuroncapooitigohyogotokyokyotopunyuthickcheap0t00g00j0mie2-ddaapyawjg0amfemsubxiiboomoobutchueekpgwrgrherskrboyrdyupperunderflierchipsmydnsheavyangryhippygirlyrulez神奈川鹿児島和歌山bambinaxn--nit225kokayamasaitamaxn--k7yn95exn--1lqs03nsapporoparasitelolipopmcxn--efvn9sniigatafukuokatokushimafukushimahiroshimakagoshimafakefurokinawaxn--8pvr4ucoolblogxn--0trq7p7nnkawasakinagasakimiyazakichilloutxn--8ltr62kxn--klty5xpeeweezombiecutegirlxn--rny31hxn--uuwu58axn--ntso0iqx3axn--djrs72d6uytoyamanikitanyantakagawamimozanagoyaboyfriendxn--2m4a15egreaterchowderegoismyamagatafashionstorexn--elqq16hxn--pssu33lsendaimiyagixn--rht27zpecoriaomorisaloonwatsonvivianxn--djty4knobushipigboatnaganopinokoxn--f6qx53asadistvelvetsecretxn--5js045dchicappayamanashiibarakidigickgirlfriendxn--1lqs71dmongolianxn--c3s14mxn--qqqt11mtochigixn--5rtq34kparallelo0o0mondkobesagabonadecaoitanarafoolkilldecimainhiholomosblokilociaoundopupugifutankcrapflopnooroopsmodsholyjeezstripperpepperbittershizuokaxn--rht3dkitakyushureadymadeicurusversusmatrixxn--rht61ehungryfloppygloomycrankyhandcraftedlittlestarxn--klt787dxn--kltx9awhitesnowsunnydaytottorilovepoptheshopbuyshopxn--5rtp49cxn--d5qv7z876cwebaccelxn--kbrq7oxn--4pvxsxn--1ctwolovesickkumamotocatfoodxn--tor131oyokohamawakayamatonkotsuxn--ehqz56nxn--uist22hxn--6btw5axn--kltp7dyamaguchifrenchkisspussycatxn--4it797kxn--uisz3gbabybluexn--zbx025dnetgamersxn--7t0a264ckanagawaxn--6orx2rishikawaxn--ntsq17ghalfmoonschoolbusjellybeanxn--mkru45iusercontentlolitapunkxn--32vp30hsakurastoragehokkaidoshimanecandypopbabymilksupersaleweblikeraindropbackdropwebsozaikikirarahateblodaynightmeneacsccogoormobiinfoaeusxxorgmilcomnetedugovorgcomnetedugovbizinfotmprdorgmilcomnomedugovassnotairespresseassocoopgouvveterinairemedecinpharmaciensorgnetedugovtraorgcomedurepgovmeneperekgacscaiiocogoitoresmshsseoulbusanulsandaeguc01milvkimmvchungnamjeonnamjeonbukeliv-dnsgyeonggijejueliv-cdnincheondaejeongangwongyeongbukgwangjuchungbukgyeongnameliv-apicoeduindorgcomembnetedugovorgmilcomnetedugovjcloudorgcomnetintedugovperbnrinfocooyorgcomnetedugovipfscanvamypepw3sstorachakeeneticjoinmcinbrowserdwebcyonnftstoragemyfritzaemewphlxachotelltdorgcomwebsocschngonetintedugrpgovassnomgacsccoorgnetedugovbizinfo123websiteidorgmilcomasnnetedugovconfidmedorgcomplcschnetedugovaccoorgnetgovpresstmassoirseproxaccosoundcasthoptocraftvp4c66orgnetedugovitsmcdirmyboxbarsyedgestacksynologylogintonohostwebhopdiskstationi234tcp4hoocgroknoipprivmydsddnsdnsforlohmustransipdscloudfilegear-sgbrasiliafilegearframerbarsybarsyonlinecoprdorgmilcomnomedugovinforgcomnetedugovnameacprorgcomartnetedugovpresseinfoassoinstgouvorgnycedugovbarsydscloudjuorgcomnetedugovminisiteaccoororgcomnetgovorgmilcompronetintedugovbizmuseumnameinfoaerocoopaccoorgcomnetintedugovbizcooporgcomgobneteduorgmilcomnetedugovbiznameaccoorgmilneteduadvgovcoorgcomnetaltgovforgotherhiskeeneticispmanagernomassoprod5476132eastasiacentraluswesteuropewestus2eastus2rucdnwest1-usfra1-desandboxjls-sto1jls-sto3jls-sto2aglobalabglobalsslmapprodfreetlsmaplon-1lon-2ny-1fr-1sg-1ny-2paassnwebpaashostingjelasticnordeste-idcsocuserpagescwebfileblobservicebuscoreatlricnjsjelasticwebsitestoragesezagbinruhuukjptsmyspreadshopmynetnameakamaiorigin-stagingfrom-coipv64dynv6cdn77serveblogadobeaemcloudhicamsprytdnsupno-ipownipde5ovhicpfirewall-gatewaysytesmypsxbarsyusgovcloudapimyamazemyradwebakamaihdsaveincloudfastlylbfrom-lasubsc-paysquare7in-the-bandblackbaudcdnhomelinuxoninfernoctfcloudservebbsdns-dynamiccloudfrontakamai-stagingipifonyham-radio-opsenseeringclickrisingcommunity-profrom-nylocalcertgrafana-devedgesuite-stagingcloudflareanycasteating-organicatlassian-devmydattofeste-iplocaltotorprojectknx-serveredgekeycloudflareglobalcloudyclustercasacamserveftpakamaized-stagingakamaiorigindns-cloudmyeffectboomlabotdashbuyshousestwmailhetemlazure-mobilein-dslthruhereredirectmedynuddnsbouncemesupabaseluyanicloudappakamaicloudfunctionsdebiannhlfanpgafanstatic-accessin-vpnmysynologymafeloappudohomeftptrafficmanagersiteleafseidatmemsetcloudflarecloudaccesskeyword-onazure-apiis-a-chefdoes-itgets-itwebhopselfiphomeipkicks-assedgesuitewindowsserver-ontunnelmolemydissentscrapper-sitecloudflarecnuni5srcfggffiobbzabcdenodynuopikddnsvpndnsakadnselastxkinghostvps-hostfastlyhomeunixazureedgeshopselectdontexistmyfritzcloudjiffyalwaysdatasells-itsquaresbroke-itazurefddattolocalat-band-campmeinforumfamilydsazurestaticappsdefinimabplaceddnsaliasdynaliasnow-dnsblogdnsroutingthecloudendofinternetdsmynasakamaiedgemymediapcadobeio-staticakamaiedge-stagingakamaihd-stagingddns-ipprivatizehealthinsurancelive-onkrellianschokokeksmassivegridmysecuritycamerarackmazeserveminecraftfrom-azis-a-geekakamaizedmoonscalecryptonomicoffice-on-theusgovtrafficmanageradobeioruntimeedgekey-stagingreserve-onlinechannelsdvrdnsdojousgovcloudappcdn77-sslapps-1and1podzoneazurewebsitesdynathomescaleforceyandexcloudvusercontentisa-geekcdn-edgescoaemalcesappwriteazimuthtlonarvonoticeablestorecomwebrecnetperotherfirminfoartslgdloncogoiltdorgmilcolcomplcschgenngonetedugovbiznamefirmmobiacincoorgmilcomnomwebgobnetintedubizinfocomyspreadshopdemongovtransurl123websitehosting-clusterkhplaycistrongsnesosvalervålerxn--vler-qoaossandeheroysandeherøybøboheroyherøyxn--hery-iraxn--b-5gavalerbøboxn--b-5gasandesandexn--hery-iraxn--vler-qoavålerhåreålaahavaofsfvfhlolnlalrlhmfmtmahcostntbuåstrmreigersundmyspreadshopgálsáeidsvolltingvollgildeskalflorøvadsøvardøvanylvenxn--bhccavuotna-k7astrandaxn--kvnangen-k0axn--sknland-fxaxn--mosjen-eyarakkestadhyllestadnannestadvevelstadvaapstenordre-landsondre-landsøndre-landtjieltexn--vrggt-xqadsør-aurdalsor-aurdalheradstordmoldefordeførdeseljefedjeryggehemnexn--krehamn-dxasognegranesøgnebrynetjomevallebykletokkegiskedovretjømehobølvoldasaudatolgasømnaviknadønnasomnadonnatranafrananesnaraumasmolatrænafrænalesjasmølaørstaorstahitrafloraaukraloppafrøyarissasnasahalsagalsaromsaraisaráisafroyasnåsagronghobolfjelltydalårdalardalaskimharamkraanghkekråanghkesorumbarumhurumbærumsørummodumsálátbálátfrognbjugnvåganvagangulenskienløtenlotenstrynvefsnxn--merker-kuaskaunsveiobømlobomloskjåkvardoflorovadsosalatbalatsálatklæbuklabuselbubarduulvikskjakklepprisørxn--nttery-byaeflåeidflahofmilgolholsellomskifetvikdepvgsfhsaskerrisorhamarasnesåsnesrørosrorosxn--slat-5namasoynaroyvaroyluroydyroyaskoyradoyandoyrodoymeloyradøyandøyrødøymeløyaskøylurøydyrøymåsøyværøynærøyhoylandethøylandetdivtasvuodnalørenskoglorenskognesoddtangenxn--tjme-hraxn--smla-hraxn--stjrdal-s1aunjargalillehammerunjárgaxn--hamary-fyadavvenjargaxn--bearalvhki-y4a123hjemmesidegjerdrumxn--brnnysund-m8acxn--tnsberg-q1axn--mlatvuopmi-s4axn--snsa-roaxn--skierv-utaxn--brum-voatysfjordkvafjordeidfjordkvæfjordsongdalenmjondalenmjøndalenxn--gls-elackragerogáŋgaviikagangaviikasørreisasorreisasør-varangersor-varangerxn--risr-iraskiervaxn--frna-woaxn--trna-woakvinesdalleksvikleirvikrøyrvikroyrviksvelvikvenneslaevje-og-hornnessandnessjøenmarnardalvindafjordsandefjordenebakksnillfjordullensvangxn--trany-yuabrønnøysundnamsskoganaustevollxn--stjrdalshalsen-sqbnord-aurdalnord-frontrøgstadtrogstadgrimstadflakstadgjerstadxn--sandy-yuaxn--leagaviika-52bnore-og-uvdalvegarsheixn--rlingen-mxaxn--ggaviika-8ya47hvegårsheikarlsoykvitsoymasfjordenhamaroyinderoyosteroydavvenjárgasauheradguovdageaidnuxn--vre-eiker-k8abronnoysiellakkrødsheradkrodsheradkvinnheradbrønnøyxn--mtta-vrjjat-k7afxn--lrenskog-54akvitsøyvárggátkarlsøyosterøyinderøyhamarøybronnoysundxn--aurskog-hland-jnbbahccavuotnabáhccavuotnagiehtavuoatnastor-elvdalmidtre-gauldalxn--gildeskl-g0akarasjokevenassixn--bievt-0qaxn--yer-znalebesbynessebyxn--hbmer-xqamalselvmålselvxn--unjrga-rtamøre-og-romsdalmore-og-romsdalhareidmelandørlandorlandstrandålgårdsolundalgardafjordåfjorddielddanuorrikautokeinoxn--stre-toten-zcbskodjeaejriestangeliernebamblestokkefauskesnåasesnaasekongsvingerlangevagberlevagxn--flor-jrahattfjelldalostre-totenøstre-totenvestfoldxn--mely-iraálaheadjualaheadjunordreisaxn--troms-zuaxn--lgrd-poacporsangerflatangerstavangerleikangerbremangersamnangergieldakarasjohkaxn--rdy-0nabfrostautsirasnoasatromsaxn--sr-aurdal-l8aflekkefjordjølsterjolsteraremarkhedmarknååmesjevuemienaamesjevuemiexn--vard-jrarollagmeråkermerakerorskogørskogxn--bdddj-mrabdákŋoluoktaxn--osyro-wuaaknoluoktatrysilskjervøymandaljondalbindalrindalmeldalsuldalorkdalsigdalalvdallærdalhurdalsirdalverdallerdallardaloppdalåseralaseralhadselkragerødivttasvuotnaoverhallasteinkjerxn--hnefoss-q1askedsmokorsettromsøxn--dyry-iravestre-totenmuseumxn--sandnessjen-ogbrahkkeravjufylkesbiblbájddarbajddarxn--laheadju-7yarennesøyxn--koluokta-7ya57hxn--hgebostad-g3aleirfjordstorfjordbalsfjordbåtsfjordbatsfjordmuosátbievátloabátkárášjohkanøtterøyxn--mjndalen-64anordkappláhppilahppialstahaugsiljanverranrøykenroykenhaldenlyngenbergenhortenhønefosshonefosstroandinbeiarnvarggatosoyroosøyrotromsoidrettmuosatbievatruovatloabatvoagattynsetnessetxn--indery-fyaskánitskanitraholtråholtxn--ystre-slidre-ujbandebusarpsborgbearduxn--karlsy-fyahordalandjorpelandjørpelanddeatnuringsakersør-odalsor-odalxn--slt-elabringerikeaudnedalnittedalnissedalhemsedalslattumsurnadalxn--blt-elabelverumstjørdalnaustdalhjartdalgjøvikfyresdalhasviknarviklarvikgjovikmalvikgamviklenvikporsgrunnstjordalengerdaldrobakdrøbakxn--msy-ula0hvestvagoyxn--vgan-qoaxn--ryken-vuaxn--lten-graxn--stfold-9xaxn--hpmir-xqaxn--lury-iramálatvuopmimalatvuopmitysværkirkenesbirkenesmoskenesbáidárxn--fjord-lraxn--rdal-poabahcavuotnabáhcavuotnaxn--frde-gralindåsbearalvahkixn--hobl-iraráhkkerávjuxn--loabt-0qavågåáltábodøsundlundraderådeetnetimeholeauregrueoddavagavegaranatanaarnasolasulaaltalekafusavangbergkvamåmliamlibokntinnroangranosenoslobodorøstroststatåmotamotivguprivøyeroyerliermossvossxn--nvuotna-hwalusterlunnermarkerhábmerhabmerhvalerfjalerxn--rholt-mratysvarbaidarfitjargaularhápmirhapmirmelhusfosnesøksnesoksnestysneshemnesevenesflesbergeidsbergtonsbergtønsberglindasxn--sndre-land-0cbnamsosxn--srum-graøystre-slidreoystre-slidrevestre-slidretrondheimbalestrandxn--langevg-jxaaustrheimxn--skjk-soavagsoyaveroysandoykarmoyfinnoytranoyvestbytranbysykkylvenxn--hyanger-q1aspjelkavikandasuoloxn--fl-ziaxn--drbak-wuastathellexn--sr-varanger-ggbtelemarkxn--bhcavuotna-s4axn--porsgu-sta26fčáhcesuolocahcesuoloakrehamnåkrehamnsandøykarmøyfinnøytranøyvågsøyaverøynamdalseidxn--lesund-huabadaddjaxn--vegrshei-c0axn--btsfjord-9zagildeskålporsanguxn--trgstad-r1anávuotnanavuotnahammerfestxn--sgne-graxn--brnny-wuacibestadharstadnarviikaevenáššivestnesgjemnessandnesagdenesrennesoyxn--avery-yuaxn--tysvr-vrabearalváhkikongsbergspydebergrandabergxn--andy-iradavvesiidaxn--krdsherad-m8aporsáŋgufredrikstadbjerkreimringeburennebuaurskog-holandnotteroyxn--vgsy-qoa0jxn--rmskog-byaskierváivelandbyglandfrolandaurlandforsandxn--bjddar-ptamidsundålesundalesundfetsundfarsundovre-eikerøvre-eikerakershusxn--moreke-juasørfoldøstfoldostfoldsorfoldhøyangerhoyangerlevangerorkangertanangerxn--vestvgy-ixa6olillesandulsteinxn--rennesy-v1agranvinskjervoyxn--klbu-woalavagisxn--h-2faxn--ryrvik-byakafjordkåfjordseljordfolkebiblxn--gjvik-wuajevnakerxn--kfjord-iuabudejjuxn--kranghke-b0axn--davvenjrga-y4axn--rland-uuaxn--ldingen-q1axn--mlselv-iuaxn--rady-iraxn--linds-prabrumunddalxn--ygarden-p1amo-i-ranaeidskogrømskogromskoghjelmelandxn--finny-yuaxn--sr-odal-q1axn--skjervy-v1aballangenkvanangenkvænangengratangenxn--hmmrfeasta-s4acvossevangensuohkanxn--rde-ulaxn--mli-tlaxn--ksnes-uuanordlandskanlandskånlandsortlandfuoiskuxn--rros-graxn--hcesuolo-7ya35bxn--eveni-0qa01gagaivuotnagáivuotnaxn--seral-lradrammenmodalenmosjoenjan-mayentorskensteigengloppenxn--snes-poamatta-varjjatxn--sr-fron-q1aomasvuotnajessheimbådåddjåxn--krager-gyaxn--kvfjord-nxaxn--asky-iraxn--snase-nraxn--bidr-5nacholtålenxn--vads-jraxn--jlster-byamosjøenxn--rst-0nastavernxn--ostery-fyaxn--oppegrd-ixaxn--sknit-yqaxn--risa-5naoppegårdskiptvetrendalenholtalenxn--mot-tlaxn--lhppi-xqaxn--holtlen-hxaxn--srreisa-q1akopervikxn--muost-0qaxn--bmlo-grahokksundkvalsundegersundxn--karmy-yuaullensakerxn--hylandet-54axn--kvitsy-fyaxn--bod-2nalangevågberlevågkristiansandxn--rsta-frahornindalstjørdalshalsenstjordalshalsensandnessjoenhámmárfeastaxn--lrdal-srasør-fronsor-fronnord-odalkristiansundmátta-várjjatvestvågøynesoddennotoddenbuskerudøygardenoygardensalangenlavangenralingenrælingenlodingenlødingenleaŋgaviikalaakesvuemieleangaviikauenorgexn--srfold-byaaskvollxn--rskog-uuaxn--nry-yla5gxn--vry-yla5ghammarfeastaxn--rhkkervju-01afxn--givuotna-8yakommunekrokstadelvanedre-eikerhagebostadhægebostadxn--berlevg-jxakviteseidxn--s-1faxn--l-1faxn--nmesjevuemie-tcbafuosskomoårekemoarekexn--lt-liacxn--jrpeland-54asvalbardoppegardholmestrandtvedestrandsogndalsokndalarendalsunndalfolldalxn--krjohka-hwab49jlyngdaletnedalnorddalsaltdalgausdalskedsmovaksdalgjesdalstordalxn--frya-hraaarbortedrangedalxn--smna-graaurskog-hølandxn--vg-yiabtjeldsundhaugesundlindesnesxn--mre-og-romsdal-qqbxn--dnna-gradynmerseineshacknetenterprisecloudmineaccomaorimāoriorgmilcriiwigennetschoolhealthkiwigovtgeekxn--mori-qsacloudnsparliamentcomedorgcompronetedugovmuseumwebsitekinservicebarsywebsitebuildereerobookheimdnsleapcelleero-stagetechcrscsslorigingohomecdbedeeeiemesecabgngilnlalplchfisiincnnoroptatitmtltruauhulumkdkukskjplvtrgrfrkrhrusesismycynzcznetinteduassoososcloudstgbetaaezaeuhkusjshatenadiarycdn77hoptozaptois-a-knightmyftpno-ipjpnddnssdpdnsspdnsbarsysweetpepperis-a-bruinsfanis-very-sweetservegameis-a-soxfanhomelinuxcdn77-secureservebbsmisconfusedwebredirectblogsitefreedesktopcouchpotatofriestoolforgeaccesscamis-lostreadmyblogsmall-webfedorapeopleserveftpis-a-celticsfanmywirepotagertwmailin-dslsellsyourhomeread-booksfreeddnscable-modemis-savednflfanufcfanmlbfanstuff-4-saleendoftheinternetin-vpnmy-firewallhomeftpis-localis-a-chefboldlygoingnowherewebhopselfipkicks-assroxatunkcamdvrfedoraprojectgotdnsdvrdnsdyndnspubtlspimientahomeunixdontexistfedorainfracloudwmflabsfspagesbmoattachmentsteckidsfamilydsdnsaliasdynaliasnow-dnscloudnsdoomdnsduckdnsblogdnshomednsroutingthecloudendofinternetdsmynasip-dynamicpoivronhttpbinmyfirewallis-very-evilmysecuritycamerais-a-linux-userwmcloudis-a-geektuxfamilyis-a-candidatedoesntexistis-very-badhobby-sitegame-hostaltervistais-foundis-a-patsfandnsdojohepforgepodzonedynservcollegefanis-very-goodfrom-meis-very-niceisa-geeknerdpolacmedsldingorgcomnomgobabonetedupleskaemhlxmyboxrockyprvcydeuxfleurspdnscodebergheyflowstatichostorgmilcomnomgobneteduorgcomeduiorgmilcomngonetedugovcloudns1337ngrokacorggogfamcomwebgobnetedugokgopgkpgovgosbizpasaugumicsopozpapuwmwsrprusiskwpspkppspkmpspokeoiawsawifoumsdnskokwpmuppuppsppiwwiwoowuzswkzoschrzpisdnwzmiuwwitdpssewsseumigugimoirmpinbwinbwiihupporzgwgriwupowwskrwioswuozstarostwokonsulattmpccopruszkowmyspreadshopostrodakartuzyopolegminamediaustkazgorajgoraolawailawalomzawloclradombytomjaworznotargilubinkoninzagantorunkutnokepnonakloczestsopotsanokturekplockslasksklepzarowlukowmedaidgdaorgmilrelcomnomatmgsmartneteduelkgovwawsossexbiztgorysejnytychypomorzeboleslawiechomesklepsdscloudunicloudzakopanelegnicarawa-mazbydgoszczswidnikkrasnikwloclawekbielawamragowograjeworealestatebeskidykaszubymalopolskaprzeworskswiebodzinlecznadfirmaszkolawarmiagdyniamiastakazimierz-dolnymalborkswidnicadlugolekaostrolekapodlasieelblagtravelsimplesitezachpomormielecszczecinnieruchomosciwalbrzychlezajsklublinbedzinpoznanwielunmielnooleckostarachowicedkontopowiatwroclawrybniksuwalkileborkslupskgdanskostrowwlkptarnobrzegtourismwegrowkrakowglogowyou2pilanysamailwrocinfoagroautobeepshopprivlapypiszlodzcfolksecommerce-shopmazurypulawyskoczowrzeszowpomorskiezgierzkaliszolkuszlowiczostrowiecsosnowiecmazowszewodzislawbialowiezazgorzeleckatowicepabianicejelenia-gorawolominkarpaczsieradznowarudaczeladzkonskowolaskierniewiceswinoujscieturystykabieszczadycieszynketrzynolsztynbialystokbabia-goraprochowicewarszawastalowa-wolapolkowicegorlicegliwiceponiatowalimanowalubartowaugustowkobierzyceopocznognieznoszczytnokolobrzegshoparenapodhalebielskoklodzkostargardatwithplayitownnamecoorgnetedugovacorgcomproestnetedugovbiznameislaprofinforechtngrokmedaaaacacpaenglawjurbarbarsykeeneticavocatacctcloudnsorgcomsecplonetedugov123paginaweborgcomnetintedugovnomepublidkinbarsygovx443cloudnsorgmilcomnetedugovcooporgmilcomschnetedugovnamecomcannetlibassoaemclantmcontstoreorgcomnomrecwwwbarsyfirminfoshopartsstackitmyddnswebspacelima-cityacincooxorgedugovbarsybrendlyhbvpsvpsspectrumlandinghostingacppmordoviamcprecbgorgmilcomspbnetintedumsknovgovbirrasmcdirmytismircloudvladimirnalchikadygeyamarinepyatigorskmyjinobashkiriaeurodirvladikavkazna4ugroznykustanaikalmykiacldmaildagestaniranbuildcanvaliaravalwixdevelopmentappwritemigrationneedleverceldatabasestackitcodereplravendbonporterlovableaccoorgmilnetgovcoopmedorgcompubschnetedugovservicemecomygovorggovtvmedorgcomnetedugovinfoedgfacbmlonihkutwpsryxzbdtmacfhppmyspreadshopbrandpartiorgcomfhvpress123minsidaitcouldbeworlanbibkommunalforbundfhskiopsyskomvuxkomforbnaturbruksgymnloginlineorgcomnetedugovenscaledeuusentbotdaorgmilcomnetgovnowteleporthashbangplatformlovablebarsyshopwarebasehoplixbarsyonlinemsf5gitappgitpagecofigma-govcaffeinefigmacanvasoltstputerbarsysupportchatgptsquareomniweopensocialcpanelnotionnovecorewpsquaredpreviewjelecyonbyensrhtfastvpspieboxconvexjouwwebheyflowplatformshloginlinemadethissourcecraftclouderaorgorgcomartedugouvunivmeorgcomnetedugovsurveysstatichfheiyuxs4allprojectmyfastubervibehostapp-ionosdeployagentmecoorgcomschnetedugovbizcncostoreorgmilcomneteduembaixadaconsuladokiraranohoprincipesaotomeheliohobarsystorebaseshopwaresellfyabkhaziavologdamordoviapenzalenugsochinavoiexnetspbmsknovnorth-kazakhstanashgabadkareliaarmeniageorgiavladimirnalchikivanovobukharaadygeyakhakassiakalugakrasnodarjambylaktyubinsktroitskbryanskobninskkurganazerbaijanpokrovskbashkiriatselinogradvladikavkazmurmansktulatuvamangyshlaktashkentchimkentgroznykaragandatermezarkhangelskkustanaikalmykiabalashoveast-kazakhstankaracoldagestantogliattibarsyredorgcomgobedumirenknightpointaccoorgjelasticdiscoursecleverappsschacmiincogoornetonlineshopcogoorgmilcomwebnicnetintedugovbiznametestcoorgmilcomnomnetedugovorangecloudpersoindorgcomfinnatnetgovensmincomtourismintlinfox0611oyaorgmilcomnetedugovquickconnectvpnplusnettprequalifymeaddrmyaddrntdllwadlnctvavdrk12orgmilpolbeltelcomwebgennetedutskkepgovbbsbiznameinfocoorgmilcompronetedugovbiznameinfobetter-thanworse-thansakurafromdyndnson-the-webmymailerorgmilurlcomneteduidvgovmydnsgameclubebizmeneacsccogotvorhotelmilmobiinfovodteiflgplkmsmsbcckhincndnvncoztltmkckppzpdprvcvkvlvcrkrkscxuzchernovtsyrivneyaltaodesavolynrovnolutskltdinforgcomnetedugovbizvinnicazhitomirternopilpoltavakropyvnytskyizaporizhzhiasevastopolsebastopoluzhgoroduzhhorodkharkovkharkivvinnytsiakhmelnytskyizaporizhzhecrimeaodessazhytomyrnikolaevcherkassydonetskluganskluhanskkirovogradivano-frankivskchernivtsikrymkievkyivlvivsumyzakarpattiamykolaivcherkasychernigovkhersonchernihivdnipropetrovskdnepropetrovskkhmelnitskiyneacsccogoorusorgmilcomedugovvmdhmyspreadshopadimono-ipbarsybytemarkbarsyonlinelayershiftnh-servretrosnubapicampaignservicelugaffinitylotteryweeklylotteryraffleentrygluglugsmeaccoindependent-inquestnimsitecopropymntltdorgplcschnetgovnhsbarsyindependent-commissionindependent-reviewpolicepublic-inquiryindependent-panelconnhospindependent-inquiryroyal-commissionoraclegovcloudappscck12libccphxcclibpvtparochchtrcck12libcceatonk12coglibtecgendstmusann-arborwashtenawcck12glghcck12sealibforksolympiabainbridge-islkeyporthoquiamyarrow-pointcentraliaport-townsendsequimport-ludlowrentonsilverdalebremertonredmondsheltonbellevueport-orchardport-angeleskingstonchehalisaberdeengig-harborseattlepoulsboidmdndsddemenegacalamaiavawapailalflnmdcncscohnhmihiviwiriinmntnmocoutvtctmtgunjokakwvnvprarorasmskstxwynykyazisadninsnngosrvis-bymircloudservernamepointtoenscaledland-4-salefreeddnsstuff-4-saleazure-apinoipcloudnsgolffanheliohostazurewebsitesgvorgmilcomgubneteducoorgcomnetd0egvorgmilcomnetedugovmydnsiacostoree12orgmilcomnomwebgobbibrectecnetintedugovraremprendefirminfoartseducok12orgcomnethidnsidacaiiosonlahanamhanoicamauhueorgcompronetintedugovbizbacninhtayninhhoabinhnamdinhtravinhhaiphongvinhlonghaiduongquangnamquangtrithuathienhuequangninhbacgianghaugiangquangbinhsoctrangbentrethanhphohochiminhdanangkontumhatinhkhanhhoathanhhoahealthgialailaocaiyenbaibackanngheanlonganphuyenphuthocanthodaklakdongnainameinfovinhphucdongthapkiengiangtiengiangquangngailaichaulangsonlamdongdaknonghagiangangiangcaobangbinhduongninhthuanbinhthuanbaclieuthaibinhninhbinhbinhdinhtuyenquanghungyenbaria-vungtauthainguyendienbienbinhphuocschbizputerimagine-proxyorgcomnetedugovcloud66advisormypetsdyndnsxn--8dbq2axn--4dbgdty6cxn--5dbhl8dxn--hebda8bxn--80auxn--d1atxn--c1avgxn--o1acxn--o1achxn--90azhxn--55qx5dxn--uc0atvxn--od0algxn--wcvs22dxn--gmqw5axn--mxtq1mxn--12c1fe0brxn--h3cuzk1dixn--12co0c3b4evaxn--12cfi8ixb8lxn--o3cyx2axn--m3ch0j3axn--j1adpxn--90amcxn--90a1afxn--h1ahnxn--j1ael8bxn--h1alizxn--c1avgxn--j1aefxn--80aaa0cvacxn--41acaffeineexeopentunnelbotdashtelebitorgtmaccoagricorgmilnomwebnicngonetaltedugovlawnisschoolgrondaraccoorgmilcomschnetedugovbizinfoprg1-zeropstritonstackitlimazeropsaccoorgmilgovяспборгкоммскбизмирсамаракрымсочиакодпроргобрупрצהלממשלישובאקדמיהองค์กรธุรกิจรัฐบาลศึกษาทหารเน็ต教育網絡組織公司政府個人닷넷한국澳门新闻澳門联通家電嘉里招聘通販닷컴삼성コムგეбгрфеюadcdbdgdidmdsdtdaebedeeegeiejekemenepereseveyegabacalamanauavapaqasazacfbfafgfnfpfwftfbgcgagggegkgngmgsgpgvgtgugilmlnlalclglplsltlhmimjmkmmmomambmcmdmfmgmzmpmsmtmgbbblbsbecccacnclcmcvctcscmhkhghchbhthphshlinikifigiaibicivisikninhnmncnbngnsnpnvntnjoionomobocoaofodorosotoptstttytatbtetgtithtmtltrusuvuaucueuguhulumunufjdjbjtjsjlkmkhkfkdkcktkukskpkgpmpnpkpjpgqaqmqiqsvtvcvbvmvlvrwpwtwzwbwcwawgwkwmwtrsrprgrfrercrbrarnrmrlrkrirhrwsusrssspsgsesbsaslsmsissxmxaxcxuypysylymykygybycyuztzsznzmzkzdzczbzazελευ世界台灣购物公益点看臺灣网络書籍在线网站手机机构大拿游戏信息台湾谷歌慈善商标香港中国餐厅网址中國商城食品微博政务移动集团公司八卦商店健康网店政府时尚佛山中信娱乐广东企业homedepotengineeringاماراتrepublicankuokgroupversicherungchannelcitadelxn--pgbs0dhxn--b4w605ferdstatebankwebsitexn--mgb9awbf亚马逊淡马锡alibabaxn--ngbc5azdxn--mgbbh1axn--45br5cyltoshibabuildworldcloudtradeguideplacespacedancemoviephoneprimesmilebiblestyleappleazurestoreskypegripexn--l1accdrivelottehorsehouseleasechasereisestadahondaomegaaetnaamicaninjanokiamediadeltavodkaedekaosakapizzaslingemailgmailtirolshelltmallfinallegaltotalhotelamfamforumrehabmusicciticricohcoachwatchboschearthfaithirishmiamiarchidubaiguccipraxiみんなストアセールcanonsalononionnikonepsonkoelngreensevencrownikanoradioaudioweiboglobopromogalloyahoociscorodeovideomangobingotokyovolvolottokyotophotosmartsportquesttrusthyattjetztadultcymrubaidutushuxn--kprw13dubankclickblackmerckgroupsharpcheapnowtvxn--h2brj9cקוםհայоргсрбмонкомбелмкдқазрусукрمصرقطرعربكومdadcfdmedwedredphdthdbidpidkrdmsdltdiceonewmeglemoerwecfageacbanbambaaaammakianraspacpaaxawtfbcgaegongingaigvigorgdogdhlmilrilonlaolloluoljllcalgalnflafltelsrlfrllplkimibmcamcombommomifmabbjcbscbcabnabtabmlbpubabcbbcnecincpncllcstcwtcpwcnyckfhbzhovhmoiskiobisbitcifyituipinvinwinxincbnbcnmanfangdnmenrenkpnmtnyunrunfununobiojioriohbogmofooboooooacoecoceongoproartistottnttbbtcateatlatvetpetbetnethktmitfitintjothotgotdotbotprueduicujnjyouinknhktdkappsapgapmapdnptopgopllpjmpzipvipripesqtrvdtvitvdevmovgovhivnrwlawsewnewbmwwownowhowdvrftrmtrsfrbarcartvscrseusawsupsubssbsadsddsldssasbmsmlsxxxboxfoxgmxtjxsextaxbuyflydiysoyjoyskypaydaygayxyzanzbizwebersenerpokerlameractortatarsolarລາວคอมไทยtourslocusnexuslexusgiftsbeatsboatspartspressglassswissकॉमनेटtiresgivescodeshomesgamestunesshoescardswalesloansvegastoolsdealsautosparisファッションworkssucksrocksxeroxforexfedexpartylillymoneystudyrugbytoraytoday中文网xn--unup4y天主教飞利浦新加坡enterprises我爱你嘉里大酒店christmasxn--fct429kholdingsxn--8y0a063axn--mgbx4cd0ablifestyleabogadoallstatenetbankكاثوليكxn--s9brj9cxn--gk3at1ebestbuycharityxn--55qx5dmicrosoftpropertybasketballhomegoodscorsicajewelrygallerygrocerysurgerycountrybrusselsverisignferreroxn--czr694bhdfcbankcommbanksoftbankپاكستانپاکستانnextdirectالسعوديهالعليانxn--h2brj9c8cxn--80adxhksshikshaxn--mgbai9azgqp6jcuisinellabarclayscatholicxn--kpry57dcompanyxn--xhq521bblackfridayxn--mgba3a3ejtsandvikxn--d1acj3bacademydownloadمليسياxn--j1amhxn--w4r85el8fhu5dnraipirangaathletaxn--fhbeixn--mgbqly7cvafrzuerichxn--c2br7gஇலங்கைcontractorsxn--io0a7igraphicsinsurancetemasekxn--xkc2al3hye2amotorcyclesphotographydirectoryplumbingxn--vhquvclothingtrainingcleaningwilliamhilllightingxn--mgba3a4f16ashoppingcateringeducationokinawapicturesventuresproductionsxn--9et52uwalmartഭാരതംsupportrealestatecapitalonexn--nqv7fs00emaauspostfloristdentistxn--qxamgodaddybradescobargainsmitsubishikerryhotelsxn--9dbq2axn--3pxu8kimmobilienxn--fjq720axn--mgbtx2bholidaymckinseymadridbusinessbuildershelsinkixn--4gbrimмоскваالسعودیةcoffeedegreelacaixapartnersalsaceofficeabbvievoyageorangegeorgeonlinechromemobilekindlegoogleoraclecircleschulesecureinsurexn--mgba7c0bbn0aestatexn--mgbc0a9azcgcruisehangoutxn--vuq861bxn--42c2d9arexrothfirestoneuniversityxn--nnx388alifeinsuranceextraspaceонлайнvermögensberatersoftwarexn--fiqs8sxn--mgbab2bdxn--w4rs40ltiendaभारतम्africatoyotaotsukasakuracameracreditcardnagoyaconsultingnetworkjunipertheatermonsterprogressivepioneerxn--55qw42gracingdatingvotingvikinglivinggivingxn--bck1b9a5dre4cbrotherweatherjoburgفلسطينlplfinancialxn--clchc0ea0b2g2a9gcdfutbolschoolsocialglobaldentalwoodsidechanelairtelmatteltravelrealtorwebcamstreamభారత్unicomalstomxn--nodexn--6frz82gmuseumfurniturexn--rvc1e0am3exn--mix891faccenturexn--11b4c3dismailineustardiscountquebeccomsecclinicservicesxn--y9a3aqxn--c1avgswatchchurchsearchالاردنmarketingcontacthealthmonashshoujisanofitaipeiamericanexpresssuzukiアマゾンクラウドポイントbhartiグーグルxn--mgberp4a5d4armemorialxn--1qqw23alondonmormoninstitutevisionbostonnortoncouponmaisonamazonvirginberlindesigndurbanolayannissananquanxihuanhitachikaufengardenreisenbayerntechnologydatsunxn--90a3aclatinocasinostudiophysioxn--ngbe9e0apharmacytattootaobaoaramcoexpertreportabbottdirectselectimamatfairwindspictettargetmarketintuittravelersinsurancecreditdupontryukyusuppliesxn--tckwebnpparibasschmidtmerckmsdyodobashirestaurantbridgestonecricketxn--fpcrj9c3dbostikbroadwayattorneylefrakemerckxn--fiq228c5hscareersfarmerswinnersflowersxn--wgbh1cguitarsxn--54b7fta0ccxn--p1acfmakeupgalluplandroverxn--kcrx77d1x4agoldpointbauhausxn--mgbayh7gpahiphopplaystationxn--mgba3a4fraxn--eckvdtc9dhyundaixn--gckr3f0fistanbulticketsmarketsflightschintaireviewsxn--3e0b707ewindowsxn--fiqz9sfinancialxn--fzys8d69uvgmابوظبيdiscoverreviewবাংলাxn--5su34j936bgsgmoscowobserverapartmentsдетиارامكوсайтeurovisionxn--i1b6b1a6a2exn--xkc2dl3a5ee0hتونسموقعبارتڀارتشبكةعمانبيتكعراقreadkredbondlandbandfundfoodprodgoldfordtubecafesafelifeggeeieeefreefagepagegugezonewinememenamegamesaleablebikenikelikecarecbreherefiresaveloveliveblueartedatesitevotecaseluxebofamodaltdaasdatiaayogasinavanashiaasiajavabbvatevavivadatazaraarpacasavisasncfprofmaifsurfgolfdvagsongbingpingwangkpmggoogblogpohlfailcooldellcalldeallidlsarlfilmteamroomfarmimdbarabclubhdfcicbchsbcgmbhrichtechfishdishcashminiernikddiaudiwikimobitaxicitikiwidesiqponskinloanakdnwienopenporncerntownimmolimoolloinfonicofidolegosaxozeroaerovivoautovotomotofastbestresthostpostnextlgbtchatseatgiftmeetdietreitmintrentgentspotscotguruitausohumenucyoubanklinkpinkdclktalksilkbookseekworkrsvpaarpjeepshopcoophelpcamppccwshowbeerstarruhrflirweirhaircarsparsjprshausplusnewstipstoysjobskidsfanspicsdocsxboxamexsexynavycitysonyarmyallybabyplaydeliverybuzzgbizlamborghiniphilipsලංකාಭಾರತfitnessexpresslanxesspfizercenterwalterlawyersoccercareerkosherbrokerlockerdealerdoctorauthorxn--mgbqly7c0a67fbcvermögensberatungjaguarxn--pssy2uxn--hxt814eflickrrepairrogersairbusxn--mgbai9a5eva00beventsyachtsxn--t60b56aভাৰতভারতभारतभारोतviajeshermeshughesxn--j1aefसंगठनvillasଭାରତclaimshotelsભારતzapposphotosjuegoscondostatamotorsgratistennisਭਾਰਤtkmaxxtjmaxxschaeffleryandexxn--80aswgrealtysafetybeautyluxuryxn--3ds443gsupplyfamilyxn--o3cw4hhockeysydneyxn--90aenissayalipayenergycomputeragencyxn--rovu88b電訊盈科xn--gecrj9cstatefarmaccountantaquarelleolayangroup香格里拉xn--p1ai组织机构xn--1ck2e1bxn--mgbt3dhdschwarzموريتانياabudhabinowruzkomatsufujitsuhospitalxn--80asehdbxn--mgbtf8flxn--j6w193gxn--yfro4i67oprudentialxn--flw351ecruisescoursesrecipesxn--e1a4cferrarixn--ses554gxn--wgbl6awatchesstaplessinglesxn--mgbcpq6gpa1axn--otu796dpropertiescreditunionxn--mgbah1a3hjkrdstockholmhisamitsuالسعوديةstcgroupdomainsoriginscouponsbloombergclubmedfroganslimitedxn--80aqecdr1aexposedinternationalequipmentbarclaycardxn--q7ce6axn--mgbi4ecexpprotectionassociatesconstructionxn--cck2b3bxn--45q11candroidfoundationישראלxn--mgbca7dzdocliniqueboutiqueengineerxn--qxa6asystemsfirmdalefashionauctionxn--nqv7finfinitirentalsreliancetradingweddingfishinghostinggentingbookingcookingxn--3hcrj9cgraingerxn--czrs0tdemocratsamsungyokohamaxn--h2breg3evexn--nyqy26alundbeckmelbournevacationssolutionsfrontierxn--vermgensberatung-pwbmanagementxn--cg4bkixn--mgb2ddeslincolnhamburgsandvikcoromantblockbusterairforcebarefootxn--4dbrk0ceinvestmentsfeedbackcommunityxn--ngbrxالبحرينdiamondsamsterdamhealthcareredumbrellaxn--mxtq1mxn--2scrj9cagakhanxn--mgbpl2fhкатоликcaravanசிங்கப்பூர்richardlimortgageamericanfamilyxn--fzc2c9e2cscholarshipssaarlandxn--imr513nvlaanderensamsclubgoodyearkitchenஇந்தியாweatherchannelallfinanzxn--kput3iالسعودیۃxn--90aisxn--efvy88hالجزائرxn--mgbaam7a8hexchangejpmorganxn--tiq49xqyjfidelitysecurityxn--mk1bu44cwanggouxn--fiq64bxn--6qq986b3xlxn--mgbbh1a71exn--80ao21amarshallsxn--5tzm5gtravelerspanasoniclatrobeyoutubeaccountantsxn--rhqv96gxn--cckwcxetdanalyticsxn--ygbi2ammxبازاربھارتسوريةorganicfreseniusسورياxn--9krt00axn--qcka1pmcxn--jlq480n2rgdeloittesciencefinancexn--jvr189mxn--30rr7yhomesensehotmailbaseballfootballleclercboehringerxn--q9jyb4cxn--mix082fاليمنهمراهpolitieسودانايرانایرانnetflixyamaxunxn--lgbbat1ad8jcollegestoragecapetowncolognekerrypropertiesxn--mgbgu82axn--ogbpf8flxn--czru2dwhoswhociprianilasallexn--g2xx48cforsalebanamexaudiblexn--vermgensberater-ctbxn--zfr164bericssonvanguardxn--45brj9cindustriestheatremarriottxn--3bst00mcomparexn--mgberp4a5d4a87gcapitaldigitalالمغربbarcelonashangrilaxn--d1alfcalvinkleinwwwcitysapporokawasakinagoyasendaikobekitakyushuyokohamackjp",MD=621,BD=625,wS=uo.length,kS=md.length,SS=new Uint32Array(kS),nd=new Uint32Array(kS),hf=new Int32Array(wS).fill(-1);for(let e=0,n=0;e<wS;e+=1)for(let i=dd[e];i<dd[e+1];i+=1){SS[i]=n;const r=n+md[i];let u=5381;for(let h=r-1;h>=n;h-=1)u=u*33^pf.charCodeAt(h);nd[i]=u>>>0,md[i]===1&&pf.charCodeAt(n)===42&&(hf[e]=i),n=r}let Ti=-1,ff=0,gf=0;function tx(e,n,i,r){if(md[e]!==r)return!1;const u=SS[e];for(let h=0;h<r;h+=1)if(pf.charCodeAt(u+h)!==n.charCodeAt(i+h))return!1;return!0}function nx(e,n,i,r,u){let h=dd[e],g=dd[e+1];for(;h<g;){const b=h+g>>>1,v=nd[b];if(v<n)h=b+1;else if(v>n)g=b;else{for(let w=b;w>=h&&nd[w]===n;w-=1)if(tx(w,i,r,u))return w;for(let w=b+1;w<g&&nd[w]===n;w+=1)if(tx(w,i,r,u))return w;return-1}}return-1}function ax(e,n,i){let r=n,u=e.length,h=5381;Ti=-1;for(let b=e.length-1;b>=0;b-=1){const v=e.charCodeAt(b);if(v===46){const w=b+1;let k=nx(r,h>>>0,e,w,u-w);if(k===-1&&(k=hf[r]),k===-1)return Ti!==-1;r=ex[k],(uo[r]&i)!==0&&(Ti=r,ff=w,gf=u),u=b,h=5381}else h=h*33^v}let g=nx(r,h>>>0,e,0,u);return g===-1&&(g=hf[r]),g!==-1&&(r=ex[g],(uo[r]&i)!==0&&(Ti=r,ff=0,gf=u)),Ti!==-1}function jS(e,n,i){if(qD(e,n,i))return;const r=(n.allowPrivateDomains?2:0)|(n.allowIcannDomains?1:0);if(ax(e,BD,r)){i.isIcann=(uo[Ti]&1)!==0,i.isPrivate=(uo[Ti]&2)!==0,i.publicSuffix=e.slice(gf+1);return}if(ax(e,MD,r)){i.isIcann=(uo[Ti]&1)!==0,i.isPrivate=(uo[Ti]&2)!==0,i.publicSuffix=e.slice(ff);return}i.isIcann=!1,i.isPrivate=!1;const u=e.lastIndexOf(".");i.publicSuffix=u===-1?e:e.slice(u+1)}const pd=PD();function LD(e,n){return vS(pd),xS(e,0,jS,n,pd).hostname}function VD(e,n){return vS(pd),xS(e,5,jS,n,pd).domainWithoutSuffix}const UD={allowPrivateDomains:!0};new SD({fuzzyLink:!0,fuzzyEmail:!1}).tlds(yS);function IX(e,n){if(!e)return"";const i=e.trim();if(!i)return"";if(/^https?:\/\//i.test(i))return i;if(i.startsWith("//"))return`https:${i}`;const r=n.trim().replace(/^https?:\/\//i,"").replace(/\/+$/,"");return r?i.startsWith("/")?`https://${r}${i}`:`https://${r}/${i}`:i}function PX(e){const n=(e??"").trim();return n&&(n.startsWith("/")||/^https?:\/\//i.test(n)||/^mailto:/i.test(n))?n:"#"}function qX(e){const n=e??"",i=n.indexOf("?"),r=i===-1?n:n.slice(0,i),u=i===-1?"":n.slice(i+1),h=r||"/";if(!u)return{path:h,querySummary:null,raw:n};let g="";try{g=$D(new URLSearchParams(u))}catch{g="tracking params"}return{path:h,querySummary:g||null,raw:n}}function $D(e){const i=Array.from(e.keys()).length;if(i===0)return"";const r=i===1?"param":"params",u=GD(e);return u?`${u} · ${i} ${r}`:`${i} tracking ${r}`}function GD(e){if(e.has("fbclid"))return"Facebook Ad";if(e.has("gclid")||e.has("gbraid")||e.has("wbraid"))return"Google Ad";if(e.has("msclkid"))return"Microsoft Ad";if(e.has("ttclid"))return"TikTok Ad";if(e.has("li_fat_id"))return"LinkedIn Ad";if(e.has("twclid"))return"X / Twitter Ad";if(e.has("epik"))return"Pinterest Ad";for(const r of e.keys())if(r.startsWith("hsa_"))return"Search Ad";const n=e.get("utm_source"),i=e.get("utm_medium");return n&&i?`${n} / ${i}`:n?`Source: ${n}`:i?`Medium: ${i}`:null}function fc(e){if(e==null)return null;const n=e.trim();if(!n)return null;const i=LD(n);return i?i.replace(/^www\./i,"").toLowerCase():null}function AS(e){return e==null||e.trim()===""?"":VD(e,UD)?.toLowerCase()??""}const KD=new Intl.Segmenter("en",{granularity:"word"}),HD=/[^\p{L}\p{N}]+/gu,QD=/[\p{L}\p{N}]+/gu,FD=/[\p{Script=Latin}\p{Script=Greek}\p{Script=Cyrillic}]/u,ZD=new RegExp("\\P{ASCII}","u");function YD(e){if(!ZD.test(e))return e;let n="";for(const i of e){if(i.charCodeAt(0)<128){n+=i;continue}const r=i.normalize("NFD"),u=r[0];n+=r.length>1&&FD.test(u)?u:i}return n}function CS(e){return YD(e.normalize("NFKC")).toLocaleLowerCase("en")}function NS(e){const n=[];for(const i of KD.segment(e))if(i.isWordLike)for(const r of i.segment.match(QD)??[])n.push(r);return n}function XD(e){return NS(CS(e))}function Ua(e){return XD(e).join("")}const ix=new WeakMap;function WD(e){if(!e)return null;const n=CS(e);return{normalized:n,stripped:n.replace(HD,"")}}function JD(e){const n=ix.get(e);if(n)return n;const i=NS(e.normalized);return ix.set(e,i),i}function ez(e){const n=new Set;let i=0;for(const r of e){if(!r)continue;const u=Ua(r);u&&(n.add(u),u.length>i&&(i=u.length))}return{keys:n,longest:i}}function tz(e,n){if(!n||e.keys.size===0)return!1;const i=typeof n=="string"?WD(n):n;if(!i)return!1;let r=!1;for(const h of e.keys)if(i.stripped.includes(h)){r=!0;break}if(!r)return!1;const u=JD(i);for(let h=0;h<u.length;h++){let g="";for(let b=h;b<u.length;b++){if(g+=u[b],e.keys.has(g))return!0;if(g.length>=e.longest)break}}return!1}const nz=d({name:o(),accountName:o().nullable(),type:o().nullable(),role:o().nullable()});d({accounts:y(nz),total:m().int().nonnegative()});const az=d({id:o(),projectId:o(),accountName:o(),locationName:o(),displayName:o(),primaryCategoryDisplayName:o().nullable(),storefrontAddress:o().nullable(),websiteUri:o().nullable(),placeId:o().nullable(),mapsUri:o().nullable(),additionalCategories:y(o()),description:o().nullable(),serviceArea:Ge(o(),vn()).nullable(),regularHours:Ge(o(),vn()).nullable(),primaryPhone:o().nullable(),openStatus:o().nullable(),openingDate:o().nullable(),selected:C(),syncedAt:o().nullable(),createdAt:o(),updatedAt:o()});d({locations:y(az),totalDiscovered:m().int().nonnegative(),totalSelected:m().int().nonnegative()});d({selectAllNew:C().default(!0),accountName:o().optional(),switchAccount:C().default(!1)});d({selected:C()});d({locationNames:y(o()).optional(),daysOfMetrics:m().int().positive().max(540).optional(),monthsOfKeywords:m().int().positive().max(18).optional()});d({runId:o(),status:o()});const iz=d({locationName:o(),date:o(),metric:o(),value:m().int()});d({metrics:y(iz),total:m().int().nonnegative()});const sz=d({locationName:o(),periodStart:o(),periodEnd:o(),keyword:o(),valueCount:m().int().nullable(),valueThreshold:m().int().nullable()});d({keywords:y(sz),total:m().int().nonnegative(),thresholdedPct:Oe(m().min(0).max(100))});const oz=d({locationName:o(),placeActionLinkName:o(),placeActionType:o(),uri:o().nullable(),isPreferred:C(),providerType:o().nullable()});d({placeActions:y(oz),total:m().int().nonnegative()});const rz=d({locationName:o(),populatedGroupCount:m().int().nonnegative(),syncedAt:o(),attributes:Ge(o(),vn())});d({lodging:y(rz),total:m().int().nonnegative()});const lz=d({name:o(),valueType:o(),values:y(Fe([C(),o()])),unsetValues:y(o()),uris:y(o())}),cz=d({locationName:o(),attributeCount:m().int().nonnegative(),syncedAt:o(),attributes:y(lz)});d({attributes:y(cz),total:m().int().nonnegative()});const uz=d({locationName:o(),placeId:o(),tier:o(),amenities:y(o()),syncedAt:o(),place:Ge(o(),vn())});d({places:y(uz),total:m().int().nonnegative()});const _S=j(["gbp","places"]),g0=m().int().min(1).max(4),dz=j(["ok","unavailable","error"]),TS=j(["none","baseline","stale","pending","sent","skipped","suppressed"]);TS.enum;const mz=d({locationName:o(),origin:_S,reviewName:o(),starRating:m().int().min(1).max(5).nullable(),negative:C(),comment:o().nullable(),reviewerName:o().nullable(),createTime:o().nullable(),updateTime:o(),replied:C().nullable(),replyComment:o().nullable(),replyUpdateTime:o().nullable(),reviewUri:o().nullable(),firstSeenAt:o(),lastSeenAt:o(),alertState:TS,alertStateAt:o().nullable()}),pz=d({locationName:o(),displayName:o(),reviewsAccess:dz.nullable(),reviewsAccessReason:o().nullable(),reviewsCheckedAt:o().nullable(),rating:m().nullable(),reviewCount:m().int().nonnegative().nullable(),ratingOrigin:_S.nullable(),ratingObservedAt:o().nullable()});d({negativeMaxStars:m().int().min(1).max(4),locations:y(pz),reviews:y(mz),total:m().int().nonnegative()});d({scope:d({locationName:o().nullable(),locationCount:m().int().nonnegative()}),performance:d({totals:Ge(o(),m()),recent7d:Ge(o(),m()),prior7d:Ge(o(),m()),deltaPct:Ge(o(),Oe().nullable())}),freshness:d({dataThroughDate:o().nullable(),latestStoredDate:o().nullable(),pendingDays:m().int().nonnegative()}),timeseries:y(d({date:o(),pending:C(),metrics:Ge(o(),m())})),keywords:d({total:m().int().nonnegative(),thresholdedCount:m().int().nonnegative(),thresholdedPct:Oe(m().min(0).max(100))}),placeActions:d({total:m().int().nonnegative(),hasReservationCta:C(),hasBookingCta:C(),hasDirectMerchantCta:C()}),lodging:d({lodgingLocationCount:m().int().nonnegative(),populatedLodgingCount:m().int().nonnegative(),emptyLodgingCount:m().int().nonnegative()}),profileCompleteness:d({locationCount:m().int().nonnegative(),withSecondaryCategories:m().int().nonnegative(),secondaryCategoryTotal:m().int().nonnegative(),withDescription:m().int().nonnegative(),withServiceArea:m().int().nonnegative(),withHours:m().int().nonnegative(),withPrimaryPhone:m().int().nonnegative(),permanentlyClosed:m().int().nonnegative(),temporarilyClosed:m().int().nonnegative()})});const hz={BUSINESS_DIRECTION_REQUESTS:"Direction requests",WEBSITE_CLICKS:"Website clicks",CALL_CLICKS:"Call clicks",BUSINESS_BOOKINGS:"Bookings",BUSINESS_CONVERSATIONS:"Conversations",BUSINESS_FOOD_ORDERS:"Food orders",BUSINESS_FOOD_MENU_CLICKS:"Food menu clicks",BUSINESS_IMPRESSIONS_DESKTOP_SEARCH:"Search impressions (desktop)",BUSINESS_IMPRESSIONS_MOBILE_SEARCH:"Search impressions (mobile)",BUSINESS_IMPRESSIONS_DESKTOP_MAPS:"Maps impressions (desktop)",BUSINESS_IMPRESSIONS_MOBILE_MAPS:"Maps impressions (mobile)"};function fz(e){const n=e.replace(/^BUSINESS_/,"").split("_").filter(Boolean).map(r=>r.toLowerCase());if(n.length===0)return e;const i=n.join(" ");return i.charAt(0).toUpperCase()+i.slice(1)}function MX(e){return hz[e]??fz(e)}const gz=["BUSINESS_DIRECTION_REQUESTS","WEBSITE_CLICKS","CALL_CLICKS"],yz=["BUSINESS_IMPRESSIONS_DESKTOP_SEARCH","BUSINESS_IMPRESSIONS_MOBILE_SEARCH","BUSINESS_IMPRESSIONS_DESKTOP_MAPS","BUSINESS_IMPRESSIONS_MOBILE_MAPS"];function BX(e){return gz.includes(e)?"conversion":yz.includes(e)?"reach":"other"}new Set(yS.map(e=>e.toLowerCase()));const bz=4,RS=j(["cli","api","config-file"]);function vz(e){const n=new Set,i=new Set;for(const r of e){if(n.has(r.label)){i.add(r.label);continue}n.add(r.label)}return[...i]}function xz(e,n){return n?e.some(i=>i.label===n):!0}const wz=d({displayName:o().min(1),canonicalDomain:o().min(1),ownedDomains:y(o().min(1)).optional(),aliases:y(o()).optional(),country:o().length(2),language:o().min(2),tags:y(o()).optional(),labels:Ge(o(),o()).optional(),providers:y(bt).optional(),providerModels:c0.optional(),providerDispatchModes:h0.optional(),locations:y(dn).optional(),defaultLocation:o().nullable().optional(),measurement:p0.optional(),autoExtractBacklinks:C().optional(),negativeReviewMaxStars:g0.nullable().optional(),configSource:RS.optional()});wz.extend({name:o().trim().min(1).max(120)});const kz=d({id:o(),name:o(),displayName:o().optional(),canonicalDomain:o(),ownedDomains:y(o()).default([]),aliases:y(o()).default([]),country:o().length(2),language:o().min(2),tags:y(o()).default([]),labels:Ge(o(),o()).default({}),providers:y(o()).default([]),providerModels:c0.default({}),providerDispatchModes:h0.default({}),locations:y(dn).default([]),defaultLocation:o().nullable().optional(),measurement:p0.default(hS),autoExtractBacklinks:C().default(!1),negativeReviewMaxStars:g0.nullable().optional(),configSource:RS.default("cli"),configRevision:m().int().positive().default(1),createdAt:o().optional(),updatedAt:o().optional()});d({id:o(),query:o(),createdAt:o()});d({id:o(),keyword:o(),createdAt:o()});d({queries:y(o().trim().min(1)).min(1)});d({keywords:y(o().trim().min(1)).min(1)});d({provider:bt,count:m().int().min(1).max(20).optional()});d({id:o(),domain:o(),createdAt:o()});d({competitors:y(o().trim().min(1)).min(1)});function hd(e){return fc(e)??e.trim().toLowerCase().replace(/^www\./,"")}function ES(e){const n=[e.canonicalDomain,...e.ownedDomains??[]],i=new Set,r=[];for(const u of n){const h=u.trim();if(!h)continue;const g=hd(h);i.has(g)||(i.add(g),r.push(h))}return r}function Sz(e,n){if(!n||n.length===0)return[];const i=e?.trim().toLowerCase()??"",r=new Set,u=[];for(const h of n){const g=h.trim();if(!g)continue;const b=g.toLowerCase();b!==i&&(r.has(b)||(r.add(b),u.push(g)))}return u}function jz(e){const n=[],i=new Set,r=h=>{const g=Ua(h);!g||i.has(g)||(i.add(g),n.push(h))},u=e.displayName?.trim()??"";u&&r(u);for(const h of Sz(e.displayName,e.aliases))r(h);for(const h of ES({canonicalDomain:e.canonicalDomain??"",ownedDomains:e.ownedDomains??[]})){const g=AS(h);if(Ua(g).length>=bz)r(g);else{const b=hd(h);b.includes(".")&&r(b)}}return n}const Az=d({name:o().min(1).max(63).regex(/^[a-z0-9]([a-z0-9-]*[a-z0-9])?$/,{message:"Name must be a lowercase slug (letters, numbers, hyphens)"}),labels:Ge(o(),o()).optional().default({})}),Cz=d({preset:o().min(1).optional(),cron:o().min(1).optional(),recurrence:d0.optional(),timezone:o().optional().default("UTC"),providers:y(bt).optional().default([]),enabled:C().optional()}).refine(e=>[e.preset,e.cron,e.recurrence].filter(n=>n!==void 0).length===1,{message:'Exactly one of "preset", "cron", or "recurrence" must be provided'}).optional(),Nz=d({channel:D("webhook"),url:o().url(),events:y(m0).min(1)}),_z=d({gsc:d({propertyUrl:o()}).optional(),syncSchedule:d({preset:o().optional(),cron:o().optional()}).optional()}).optional(),sx=y(o().min(1)),Tz=d({displayName:o().min(1),canonicalDomain:o().min(1),ownedDomains:y(o().min(1)).optional().default([]),aliases:y(o().min(1)).optional().default([]),country:o().length(2),language:o().min(2),queries:sx.optional(),keywords:sx.optional(),competitors:y(o().min(1)).optional().default([]),providers:y(bt).optional().default([]),providerModels:c0.optional().default({}),providerDispatchModes:h0.optional(),locations:y(dn).optional().default([]),defaultLocation:o().optional(),measurement:p0.optional().default(hS),schedule:Cz,notifications:y(Nz).optional().default([]),google:_z,autoExtractBacklinks:C().optional().default(!1),negativeReviewMaxStars:g0.optional()}).superRefine((e,n)=>{e.queries!==void 0&&e.keywords!==void 0&&n.addIssue({code:"custom",message:"Use spec.queries; spec.keywords is accepted only as a legacy alias when spec.queries is omitted",path:["keywords"]});const i=vz(e.locations);i.length>0&&n.addIssue({code:"custom",message:`Duplicate location labels are not allowed: ${i.join(", ")}`,path:["locations"]}),xz(e.locations,e.defaultLocation)||n.addIssue({code:"custom",message:`defaultLocation "${e.defaultLocation}" must match a configured location label`,path:["defaultLocation"]})});d({apiVersion:D("canonry/v1"),kind:D("Project"),metadata:Az,spec:Tz});const Rz=["branded","non-brand"],Or=j(Rz),y0=j(["all","branded","non-brand"]);function Ez(e){const n=e.filter(r=>Ua(r).length>0);if(n.length===0)return null;const i=ez(n);return i.keys.size===0?null:{matcher:i,classify(r){return tz(i,r)?"branded":"non-brand"}}}const Dz=2,zz=o().regex(/^[a-f0-9]{64}$/),Md=o().trim().min(1).max(256),ox=j(["sensitive","insensitive"]),he=o().trim().min(1).max(128).regex(/^[a-z0-9][\w.~-]*$/i,"Must be a URL-safe stable key"),Oz=o().trim().min(1).refine(e=>fc(e)!==null,"A competitor domain must be a valid hostname"),Iz=Be("kind",[d({kind:D("exact"),url:o().min(1),pathCase:ox}).strict(),d({kind:D("prefix"),host:o().min(1),pathPrefix:o().min(1),pathCase:ox}).strict(),d({kind:D("host"),host:o().min(1)}).strict()]),Pz=d({canonicalHost:o().min(1),ownedHosts:y(o().min(1)),names:y(o().min(1))}).strict(),qz=d({projectBrand:Pz}).strict(),Mz=d({stableKey:he,label:o().trim().min(1),aliases:y(o().min(1)),identityAliases:y(o().trim().min(1)).optional(),urlMatchers:y(Iz),mentionNotApplicable:C(),discoveryIdentity:o().min(1).nullable()}).strict(),DS=d({stableKey:he,label:o().trim().min(1),domain:Oz,aliases:y(o().min(1))}).strict(),Bz=d({stableKey:he,label:o().trim().min(1),parentGroupKey:he.optional(),targetKeys:y(he),competitors:y(DS)}).strict(),Lz=j(["manual","query-set","template","discovery","research"]),Vz=d({templateId:o().trim().min(1).max(256),templateVersion:o().trim().min(1).max(256),template:o().trim().min(1).max(4e3),bindings:Ge(o().trim().min(1).max(128),o().trim().min(1).max(128)),output:o().trim().min(1).max(4e3)}).strict(),zS=d({source:Lz,sourceId:o().min(1).nullable(),capturedAt:o().datetime(),template:Vz.optional()}).strict(),Uz=d({queryId:Md,queryText:o().min(1),provenance:zS}).strict(),Bd=d({providers:y(bt).min(1),models:Ge(bt,o().min(1)),location:dn.nullable()}).strict(),$z=d({stableKey:o().min(1),queryId:Md,queryText:o().min(1),context:Bd,expectedSnapshots:m().int().nonnegative()}).strict(),b0=Or,Gz=d({targetKey:he,queryId:Md,queryClass:b0,classificationSource:j(["server","operator"]).optional(),executionNodeKey:o().min(1)}).strict(),v0=d({executionNodeKey:o().min(1),targetKey:he,queryId:Md}).strict(),OS=d({stableKey:he,label:o().trim().min(1),kind:D("market"),groupKey:he.optional(),usageEdges:y(v0)}).strict();function rx(e){return[e.executionNodeKey,e.targetKey,e.queryId].join("\0")}const Ld=d({schemaVersion:D(Dz),identities:qz,targets:y(Mz),groups:y(Bz),querySnapshots:y(Uz),assignments:y(Gz),executionNodes:y($z),usageEdges:y(v0),reportingScopes:y(OS).optional(),compiledChecksum:zz}).strict().superRefine((e,n)=>{const i=new Set;for(const b of e.executionNodes)i.has(b.stableKey)&&n.addIssue({code:ye.custom,path:["executionNodes"],message:`Duplicate execution node key "${b.stableKey}"`}),i.add(b.stableKey);const r=new Set(e.targets.map(b=>b.stableKey));e.usageEdges.forEach((b,v)=>{i.has(b.executionNodeKey)||n.addIssue({code:ye.custom,path:["usageEdges",v,"executionNodeKey"],message:`Usage edge references unknown execution node "${b.executionNodeKey}"`}),r.has(b.targetKey)||n.addIssue({code:ye.custom,path:["usageEdges",v,"targetKey"],message:`Usage edge references unknown Target "${b.targetKey}"`})});const u=new Set(e.usageEdges.map(rx)),h=new Set;e.reportingScopes?.forEach((b,v)=>{if(h.has(b.stableKey)&&n.addIssue({code:ye.custom,path:["reportingScopes",v,"stableKey"],message:`Duplicate reporting scope key "${b.stableKey}"`}),h.add(b.stableKey),b.groupKey!==void 0){const k=e.groups.find(A=>A.stableKey===b.groupKey);(!k||b.usageEdges.some(A=>!k.targetKeys.includes(A.targetKey)))&&n.addIssue({code:ye.custom,path:["reportingScopes",v,"groupKey"],message:"A market must link to an existing group containing all its assigned properties."})}const w=new Set;b.usageEdges.forEach((k,A)=>{const T=rx(k);u.has(T)||n.addIssue({code:ye.custom,path:["reportingScopes",v,"usageEdges",A],message:`Reporting scope "${b.stableKey}" references a usage edge that this revision does not contain.`}),w.has(T)&&n.addIssue({code:ye.custom,path:["reportingScopes",v,"usageEdges",A],message:`Reporting scope "${b.stableKey}" repeats a usage edge.`}),w.add(T)})}),e.assignments.forEach((b,v)=>{r.has(b.targetKey)||n.addIssue({code:ye.custom,path:["assignments",v,"targetKey"],message:`Assignment references unknown Target "${b.targetKey}"`})});const g=new Map;e.groups.forEach((b,v)=>{g.has(b.stableKey)&&n.addIssue({code:ye.custom,path:["groups",v,"stableKey"],message:"Duplicate group stable key "+b.stableKey}),g.set(b.stableKey,b)}),e.groups.forEach((b,v)=>{const w=b.parentGroupKey;if(w===void 0)return;if(w===b.stableKey){n.addIssue({code:ye.custom,path:["groups",v,"parentGroupKey"],message:"A group cannot be its own parent."});return}const k=g.get(w);if(!k){n.addIssue({code:ye.custom,path:["groups",v,"parentGroupKey"],message:"Group parent does not exist: "+w});return}const A=new Set(k.targetKeys);b.targetKeys.forEach((G,R)=>{A.has(G)||n.addIssue({code:ye.custom,path:["groups",v,"targetKeys",R],message:"Group target membership must be a subset of its parent."})});const T=new Set([b.stableKey]);let _=k;for(;_.parentGroupKey!==void 0;){if(T.has(_.stableKey)){n.addIssue({code:ye.custom,path:["groups",v,"parentGroupKey"],message:"Group parent relationships cannot contain a cycle."});break}T.add(_.stableKey);const G=g.get(_.parentGroupKey);if(!G)break;_=G}});for(const b of e.groups)for(const v of b.targetKeys)r.has(v)||n.addIssue({code:ye.custom,path:["groups"],message:`Group "${b.stableKey}" references unknown Target "${v}"`})}),x0=100;function Ar(e){return d({items:y(e),nextCursor:o().min(1).nullable(),totalEstimate:m().int().nonnegative().optional()}).strict()}const gc=j(["no_completed_run","plan_v1","no_population","evidence_incomplete","identity_ambiguous","not_applicable"]),fn=Be("state",[d({state:D("available"),value:xe(),numerator:m().int().nonnegative().optional(),denominator:m().int().positive().optional(),unattributed:m().int().positive().optional()}).strict(),d({state:D("unavailable"),reason:gc}).strict()]),rc=Be("state",[d({state:D("available"),value:m().int().nonnegative(),numerator:m().int().nonnegative().optional(),denominator:m().int().positive().optional()}).strict(),d({state:D("unavailable"),reason:gc}).strict()]),w0=j(["all","group","property"]),Da=y0,Kz=j(["label-asc","label-desc","citationCoverage-asc","citationCoverage-desc","mentionCoverage-asc","mentionCoverage-desc"]),k0=j(["not_measured","queued","running","complete","partial","failed"]),Hz=j(["run_measurement","review_flags","complete_setup","republish_setup","none"]);d({scope:w0,groupKey:he.optional(),targetKey:he.optional(),queryClass:Da.optional(),provider:bt.optional(),location:o().trim().min(1).optional(),from:o().trim().min(1).optional(),to:o().trim().min(1).optional(),runId:o().trim().min(1).optional(),search:o().optional(),sort:Kz.optional(),cursor:o().trim().min(1).optional(),limit:m().int().positive().max(x0).optional()}).strict();const Qz=d({provider:bt,mentionCoverage:fn,citationCoverage:fn}).strict(),Fz=d({bothSignals:m().int().nonnegative(),mentionedOnly:m().int().nonnegative(),citedOnly:m().int().nonnegative(),neither:m().int().nonnegative(),notMeasured:m().int().nonnegative(),total:m().int().nonnegative()}).strict(),yf=d({groupKey:he,label:o().trim().min(1)}).strict(),Zz=d({targetKey:he,label:o().min(1),metro:yf.nullable().optional(),otherMetros:y(yf).min(1).optional(),mentionCoverage:fn,citationCoverage:fn,providers:y(Qz),flags:m().int().nonnegative()}).strict(),Yz=d({kind:j(["project","competitor"]),stableKey:o().min(1),label:o().min(1),domain:o().min(1),credits:m().int().nonnegative(),share:xe(m().min(0).max(1))}).strict(),Xz=d({groupKey:he,queryClass:D("non-brand"),denominator:m().int().positive(),entries:y(Yz)}).strict();d({mode:j(["active-v1","active-v2"]),scope:d({kind:w0,key:o().min(1).optional(),label:o().min(1)}).strict(),queryClass:Da,measurement:d({state:k0,currentRunId:o().min(1).optional(),displayedRunId:o().min(1).optional(),completed:m().int().nonnegative(),expected:m().int().nonnegative(),completedAt:o().datetime().optional(),includesHistoricalData:C().optional()}).strict(),nextAction:d({kind:Hz,count:m().int().nonnegative().optional()}).strict(),metrics:d({propertiesMentioned:rc,mentionCoverage:fn,citationCoverage:fn,brandPresence:fn,sov:fn.describe("Deprecated alias of brandPresence carrying the identical value. Remove once the browser migrates.")}).strict(),properties:Ar(Zz),outcomes:Fz,flags:d({total:m().int().nonnegative()}).strict(),namedShareOfVoice:Xz.optional()}).strict();const IS=j(["sources","answers"]),Wz=IS.enum;Wz.sources;d({targetKey:he,queryClass:Da.optional(),provider:bt.optional(),location:o().trim().min(1).optional(),runId:o().trim().min(1).optional(),shape:IS.optional(),cursor:o().trim().min(1).optional(),limit:m().int().positive().max(x0).optional()}).strict();const PS=1,yc=m().int().positive(),un=o().trim().min(1).max(128).regex(/^[a-z0-9][\w.~-]*$/i,"Must be a URL-safe stable key"),bc=o().trim().min(1).max(256),lx=j(["sensitive","insensitive"]);function fd(e){const n=fc(e);if(!n)throw new Error(`Invalid measurement host: ${e}`);return n}function Jz(e){const n=[];let i=!1;for(let r=0;r<e.length;r++){const u=e[r];u==="/"?(i||n.push(u),i=!0):(n.push(u),i=!1)}for(;n.length>1&&n.at(-1)==="/";)n.pop();return n.length?n.join(""):"/"}function cx(e){try{return decodeURI(e).normalize("NFC").toLowerCase()}catch{return e.normalize("NFC").toLowerCase()}}function qS(e){const n=new URL(`https://measurement.invalid${e}`).pathname;return Jz(n.replace(/%[0-9a-f]{2}/gi,i=>i.toUpperCase()))}function bf(e){const n=e.trim();if(!n||n.includes("?")||n.includes("#")||n.includes("://")||n.includes("\\"))throw new Error(`Invalid measurement path prefix: ${e}`);const i=n.startsWith("/")?n:`/${n}`;for(const r of i.split("/")){let u;try{u=decodeURIComponent(r)}catch{throw new Error(`Invalid measurement path prefix: ${e}`)}if(u==="."||u==="..")throw new Error(`Invalid measurement path prefix: ${e}`)}try{return qS(i)}catch{throw new Error(`Invalid measurement path prefix: ${e}`)}}function e9(e){const n=/^[a-z][a-z0-9+.-]*:\/\/[^/?#]*/i.exec(e);if(!n)throw new Error(`Invalid exact measurement URL: ${e}`);return e.slice(n[0].length).split(/[?#]/,1)[0]||"/"}function ux(e){const n=e.trim();if(!n||n.includes("\\"))throw new Error(`Invalid exact measurement URL: ${e}`);let i;try{i=new URL(n)}catch{throw new Error(`Invalid exact measurement URL: ${e}`)}if(i.protocol!=="http:"&&i.protocol!=="https:"||i.username||i.password||i.port||i.search||i.hash)throw new Error(`Invalid exact measurement URL: ${e}`);const r=fd(i.hostname),u=bf(e9(n));return`https://${r}${u}`}const lc=o().trim().min(1).refine(e=>{try{return fd(e),!0}catch{return!1}},"A target URL matcher host must be a valid hostname").overwrite(e=>fd(e)),t9=o().trim().min(1).refine(e=>{try{return bf(e),!0}catch{return!1}},"A target URL matcher pathPrefix must be an absolute path without query or fragment").overwrite(e=>bf(e)),n9=o().trim().min(1).refine(e=>{try{return ux(e),!0}catch{return!1}},"A target exact matcher must be an HTTP(S) URL without credentials, port, query, or fragment").overwrite(e=>ux(e)),a9=Be("kind",[d({kind:D("exact"),url:n9,pathCase:lx}).strict(),d({kind:D("prefix"),host:lc,pathPrefix:t9,pathCase:lx}).strict(),d({kind:D("host"),host:lc}).strict()]),MS=o().trim().min(1).max(256).refine(e=>Ua(e).length>0,"A target alias must contain mention text"),i9=Ge(o().trim().min(1),o()),s9=lc,BS=d({stableKey:un,label:o().trim().min(1),urls:y(a9).min(1),aliases:y(MS),metadata:i9.optional()}).strict(),S0=d({stableKey:un,label:o().trim().min(1),targetKeys:y(un).min(1),competitors:y(s9).optional()}).strict(),LS=d({targetKey:un,queryIds:y(bc).min(1),context:dn.nullable().optional()}).strict();function o9(e,n){return e<n?-1:e>n?1:0}function r9(e,n=i=>i){const i=new Set,r=new Set;for(const u of e){const h=n(u);i.has(h)&&r.add(h),i.add(h)}return r}function Eh(e,n,i,r,u){for(const h of r9(n,u))e.addIssue({code:"custom",path:[...i],message:`Duplicate ${r}: ${h}`})}function dx(e){if(e.kind==="host")return{host:e.host,pathname:null};if(e.kind==="prefix")return{host:e.host,pathname:e.pathPrefix};const n=new URL(e.url);return{host:fd(n.hostname),pathname:qS(n.pathname||"/")}}function l9(e,n,i,r){return e===i||(n==="insensitive"||r==="insensitive")&&cx(e)===cx(i)}function c9(e,n){if(e.kind!==n.kind)return!1;const i=dx(e),r=dx(n);return i.host!==r.host?!1:e.kind==="host"||n.kind==="host"?!0:l9(i.pathname,e.pathCase,r.pathname,n.pathCase)}function u9(e){const n=new Set;return[...e].sort(o9).filter(i=>{const r=Ua(i);return n.has(r)?!1:(n.add(r),!0)})}const VS=d({schemaVersion:D(PS),targets:y(BS).min(1),groups:y(S0).optional(),targetQuerySelections:y(LS).optional()}).strict().superRefine((e,n)=>{const i=e.groups??[],r=e.targetQuerySelections??[];Eh(n,e.targets.map(v=>v.stableKey),["targets"],"target stable key"),Eh(n,i.map(v=>v.stableKey),["groups"],"group stable key");const u=new Set(e.targets.map(v=>v.stableKey)),h=new Set(i.map(v=>v.stableKey));for(const v of u)h.has(v)&&n.addIssue({code:"custom",path:["groups"],message:`Target and group stable keys must be globally unique: ${v}`});const g=new Map,b=[];e.targets.forEach((v,w)=>{for(const k of u9(v.aliases)){const A=Ua(k),T=g.get(A);T&&T!==v.stableKey&&n.addIssue({code:"custom",path:["targets",w,"aliases"],message:`Target alias is already assigned to target ${T}: ${k}`}),g.set(A,v.stableKey)}v.urls.forEach((k,A)=>{b.find(_=>_.targetKey!==v.stableKey&&c9(_.matcher,k))&&n.addIssue({code:"custom",path:["targets",w,"urls",A],message:"Target URL matcher has an equal-specificity cross-target tie"}),b.push({targetKey:v.stableKey,matcher:k})})}),i.forEach((v,w)=>{Eh(n,v.targetKeys,["groups",w,"targetKeys"],"group target key");for(let k=0;k<v.targetKeys.length;k++){const A=v.targetKeys[k];u.has(A)||n.addIssue({code:"custom",path:["groups",w,"targetKeys",k],message:`Unknown target: ${A}`})}}),r.forEach((v,w)=>{u.has(v.targetKey)||n.addIssue({code:"custom",path:["targetQuerySelections",w,"targetKey"],message:`Unknown target: ${v.targetKey}`})})});VS.transform(e=>({...e,groups:e.groups??[],targetQuerySelections:e.targetQuerySelections??[]}));d({expectedActiveRevision:yc.nullable(),plan:VS}).strict();const d9=d({queryId:bc,queryText:o().min(1)}).strict(),j0=d({stableKey:o().min(1),queryText:o().min(1),context:dn.nullable(),expectedSnapshots:m().int().nonnegative()}).strict(),m9=d({kind:D("baseline"),executionNodeKey:o().min(1),queryId:bc}).strict(),p9=d({kind:D("target"),executionNodeKey:o().min(1),queryId:bc,targetKey:un}).strict(),vf=Be("kind",[m9,p9]),US=d({code:D("target-alias-prefix-overlap"),message:o().min(1),targetKeys:y(un).min(1),aliases:y(o().min(1)).min(1)}).strict(),$S=BS.extend({mentionNotApplicable:C()}),GS=d({schemaVersion:D(PS),defaultContext:dn.nullable(),effectiveOwnedHosts:y(lc),projectCanonicalHost:lc,projectBrandNames:y(MS),targets:y($S),groups:y(S0),targetQuerySelections:y(LS),querySnapshots:y(d9),executionNodes:y(j0),usageEdges:y(vf),warnings:y(US)}).strict(),h9=GS,KS=Be("schemaVersion",[GS,Ld]),A0=o().regex(/^[a-f0-9]{64}$/),C0=o().datetime(),HS=d({schemaVersion:D(1),providers:y(o().min(1)).min(1),models:Ge(o().min(1),o().min(1)),checksum:o().regex(/^[a-f0-9]{64}$/)}).strict(),f9=d({groups:y(un).optional(),targets:y(un).optional()}).strict(),g9=d({groups:y(un),targets:y(un),queries:y(o().min(1)),resolvedTargets:y(un)}).strict().superRefine((e,n)=>{e.resolvedTargets.length===0&&e.queries.length===0&&n.addIssue({code:"custom",path:["resolvedTargets"],message:"A recorded scope must name something it measured"})});d({stableKey:un,retiredAt:o().datetime()});d({active:d({revision:yc,checksum:A0,createdAt:C0,plan:KS}).nullable()});d({versions:y(d({revision:yc,checksum:A0,createdAt:C0,active:C()}))});d({version:d({revision:yc,checksum:A0,createdAt:C0,active:C(),plan:KS})});const ad=d({targets:m().int(),groups:m().int(),queries:m().int(),executionNodes:m().int(),usageEdges:m().int(),baselineEdges:m().int(),targetEdges:m().int(),dedupSavings:m().int()}).strict(),y9=j(["invalid-authoring","duplicate-identity","unknown-target","unknown-query","invalid-project-context","unowned-target-url","owned-competitor","target-query-context-conflict","target-url-ownership-tie","target-alias-cross-target-collision","target-alias-project-brand-collision","target-alias-prefix-overlap"]),QS=d({id:y9,severity:j(["fail","warn"]),message:o().min(1),path:y(Fe([o(),m().int()]))}).strict(),b9=d({baseline:m().int().nonnegative(),target:m().int().nonnegative()}).strict(),FS=d({ok:D(!0),checks:y(QS),executionNodes:y(j0),dedupSaved:m().int().nonnegative(),usageEdges:b9,estCostUsd:ue(),plan:h9,warnings:y(US),counts:ad}).strict(),ZS=d({ok:D(!1),checks:y(QS).min(1),executionNodes:y(j0).length(0),dedupSaved:D(0),usageEdges:d({baseline:D(0),target:D(0)}).strict(),estCostUsd:ue()}).strict();Be("ok",[FS,ZS]);const Vu=d({targetKey:un,context:dn.nullable(),queryIds:y(bc)}).strict();function mx(e){return d({added:y(e),removed:y(e),changed:y(d({stableKey:un,before:e,after:e}).strict()),unchanged:y(un)}).strict()}const v9=FS.extend({diff:d({activeRevision:yc.nullable(),targets:mx($S),groups:mx(S0),querySelections:d({added:y(Vu),removed:y(Vu),changed:y(d({targetKey:un,before:Vu,after:Vu}).strict()),unchanged:y(d({targetKey:un,context:dn.nullable()}).strict())}).strict(),execution:d({addedNodeKeys:y(o().min(1)),removedNodeKeys:y(o().min(1)),addedUsageEdges:y(vf),removedUsageEdges:y(vf),counts:d({before:ad.nullable(),after:ad,delta:ad.nullable()}).strict()}).strict()}).strict()}).strict(),x9=ZS.extend({diff:ue()}).strict();Be("ok",[v9,x9]);const w9=1,k9=o().refine(e=>e.trim().length>0,{message:"Must not be blank"}),YS=d({displayName:o(),aliases:y(o()),canonicalDomain:o(),ownedDomains:y(o())}).strict(),XS=d({provider:bt.refine(e=>e.trim().length>0,{message:"Provider must not be blank"}),requestedModel:o().nullable()}).strict(),WS=d({domain:o(),label:o(),aliases:y(o())}).strict(),JS=d({queryId:k9,queryText:o(),provenance:o().nullable()}).strict(),S9=JS.extend({queryClass:Or.nullable()}).strict();function e2(e,n){const i=new Set;e.engines.forEach((h,g)=>{const b=h.provider.trim().toLocaleLowerCase("en");i.has(b)&&n.addIssue({code:ye.custom,path:["engines",g,"provider"],message:`Duplicate engine provider "${h.provider}"`}),i.add(b)});const r=new Set;e.queries.forEach((h,g)=>{r.has(h.queryId)&&n.addIssue({code:ye.custom,path:["queries",g,"queryId"],message:`Duplicate query id "${h.queryId}"`}),r.add(h.queryId)});const u=new Set;e.competitors?.forEach((h,g)=>{const b=h.domain;u.has(b)&&n.addIssue({code:ye.custom,path:["competitors",g,"domain"],message:`Duplicate competitor domain "${h.domain}"`}),u.add(b)})}d({capturedAt:o().datetime(),identity:YS,country:o(),language:o(),location:dn.nullable(),engines:y(XS).min(1),competitors:y(WS).optional(),queries:y(JS)}).strict().superRefine(e2);d({schemaVersion:D(w9),capturedAt:o().datetime(),identity:YS,country:o(),language:o(),location:dn.nullable(),engines:y(XS).min(1),competitors:y(WS).optional(),queries:y(S9)}).strict().superRefine(e2);const j9=j(["auto","simple","advanced"]),t2=j(["simple","advanced"]),n2=j(["branded","non-brand","unknown","all"]),A9=j(["branded","non-brand","unknown"]),N0=j(["project","group","market","property"]),a2=Be("kind",[d({kind:D("all")}).strict(),d({kind:D("none")}).strict(),d({kind:D("exact"),value:o().trim().min(1)}).strict()]);function C9(e){if(e===void 0||e==="")return{kind:"all"};const n=e.normalize("NFKC").trim();return n===""?{kind:"all"}:n.toLocaleLowerCase("en")==="none"?{kind:"none"}:{kind:"exact",value:n}}const xt=o().trim().min(1),Ei=o().datetime(),N9={mode:j9.default("auto"),queryClass:n2.default("non-brand"),scope:N0.default("project"),scopeKey:xt.optional(),marketKey:xt.optional(),provider:xt.optional(),model:xt.optional(),location:o().trim().min(1).optional(),from:Ei.optional(),to:Ei.optional(),revision:m().int().positive().optional(),runId:xt.optional(),queryKey:xt.optional(),queryId:xt.optional(),search:o().trim().min(1).optional(),cursor:xt.optional(),limit:m().int().min(1).max(100).default(50)},gd=d(N9).strict().superRefine((e,n)=>{e.scope!=="project"&&e.scopeKey===void 0&&n.addIssue({code:ye.custom,path:["scopeKey"],message:`scopeKey is required for ${e.scope} scope`}),e.scope==="project"&&e.scopeKey!==void 0&&n.addIssue({code:ye.custom,path:["scopeKey"],message:"scopeKey is not valid for project scope"}),e.scope==="market"&&e.marketKey!==void 0&&n.addIssue({code:ye.custom,path:["marketKey"],message:"marketKey is not valid for market scope"}),e.from!==void 0&&e.to!==void 0&&e.from>e.to&&n.addIssue({code:ye.custom,path:["to"],message:"to must be on or after from"}),e.queryKey!==void 0&&e.queryId!==void 0&&n.addIssue({code:ye.custom,path:["queryId"],message:"queryKey and queryId cannot both be supplied"})});gd.transform(e=>({...e,location:C9(e.location)}));const Ta=d({numerator:m().int().nonnegative().nullable(),denominator:m().int().nonnegative().nullable(),rate:xe(m().min(0).max(1)).nullable(),reason:j(["no-population","incomplete","evidence-incomplete","identity-ambiguous","not-applicable"]).optional(),unattributed:m().int().positive().optional()}).strict().superRefine((e,n)=>{if(e.numerator===null||e.denominator===null||e.rate===null){(e.numerator!==null||e.denominator!==null||e.rate!==null||e.reason===void 0)&&n.addIssue({code:ye.custom,message:"Unavailable rates require null values and a reason"}),e.unattributed!==void 0&&n.addIssue({code:ye.custom,path:["unattributed"],message:"Only an available rate can leave answers out"});return}e.reason!==void 0&&n.addIssue({code:ye.custom,message:"Available rates cannot carry a reason"});const{numerator:r,denominator:u}=e;u===null||r===null||(u===0&&n.addIssue({code:ye.custom,path:["denominator"],message:"Available rates require a positive denominator"}),r>u&&n.addIssue({code:ye.custom,path:["numerator"],message:"Numerator cannot exceed denominator"}))}),i2=Be("kind",[d({kind:D("frozen-simple"),definitionRevision:ue()}).strict(),d({kind:D("legacy-simple"),definitionRevision:ue()}).strict(),d({kind:D("frozen-advanced"),definitionRevision:m().int().positive()}).strict(),d({kind:D("unsupported-advanced-v1"),definitionRevision:m().int().positive()}).strict()]),yd=d({id:xt,label:o().trim().min(1),kind:N0,targetCount:m().int().nonnegative(),parentGroupIds:y(xt).optional(),marketKeys:y(xt).optional()}).strict(),_9=d({provider:xt,model:xt}).strict(),T9=d({providers:y(xt),models:y(_9),locations:y(a2)}).strict(),R9=d({queryCount:m().int().nonnegative(),answerCount:m().int().nonnegative(),mentionCoverage:Ta,citationCoverage:Ta,propertyReach:Ta,outcomes:d({bothSignals:m().int().nonnegative(),mentionedOnly:m().int().nonnegative(),citedOnly:m().int().nonnegative(),neither:m().int().nonnegative(),notMeasured:m().int().nonnegative(),total:m().int().nonnegative()}).strict().superRefine((e,n)=>{e.bothSignals+e.mentionedOnly+e.citedOnly+e.neither+e.notMeasured!==e.total&&n.addIssue({code:ye.custom,message:"Outcome partition must sum to total"})})}).strict(),E9=d({runId:xt,createdAt:Ei,revision:m().int().positive().nullable(),provenance:i2,queryCount:m().int().nonnegative(),answerCount:m().int().nonnegative(),mentionCoverage:Ta,citationCoverage:Ta,continuity:d({state:j(["first","comparable","definition-changed","model-changed","legacy-unknown"]),comparedRunId:o().nullable()}).strict()}).strict(),D9=d({queryKey:xt,queryId:o().nullable(),query:o(),provider:xt,model:o().nullable(),location:o().nullable(),targetKeys:y(xt),marketKeys:y(xt).optional(),answerCount:m().int().nonnegative(),mentionCoverage:Ta,citationCoverage:Ta}).strict(),z9=d({answerId:xt,runId:xt,queryKey:xt,query:o(),provider:xt,model:o().nullable(),location:o().nullable(),targetKeys:y(xt),mentioned:C().nullable(),mentionUnavailableReason:D("identity-ambiguous").optional(),cited:C().nullable(),answerText:o().nullable(),createdAt:Ei,sources:y(o()),observedCompetitors:y(xt)}).strict(),O9=d({domain:xt,answerCount:m().int().nonnegative(),mentionCoverage:Ta,citationCoverage:Ta}).strict(),I9=d({name:xt,answerCount:m().int().nonnegative()}).strict(),P9=Be("state",[d({state:D("available")}).strict(),d({state:D("unavailable"),reason:D("frozen-competitor-identity-missing")}).strict()]),px=d({id:xt,label:o().trim().min(1),queryCount:m().int().nonnegative(),mentionCoverage:Ta,citationCoverage:Ta}).strict();function hx(e){return d({items:y(e),nextCursor:o().nullable(),total:m().int().nonnegative()}).strict()}const s2=j(["current-unavailable","previous-unavailable","not-applicable"]),LX=s2.enum,Dh=Be("state",[d({state:D("available"),previous:Ta,delta:xe(m().min(-1).max(1))}).strict(),d({state:D("unavailable"),reason:s2}).strict()]),fx=d({id:xt,createdAt:Ei,completedAt:Ei.nullable()}).strict(),o2=j(["no-selected-run","no-previous-run","scoped-run","partial-run","definition-changed","model-changed","legacy-unknown"]),VX=o2.enum,q9=Be("state",[d({state:D("available"),previousRun:fx,mentionCoverage:Dh,citationCoverage:Dh,propertyReach:Dh}).strict(),d({state:D("unavailable"),reason:o2,previousRun:fx.nullable()}).strict()]),r2=d({queryClass:A9,summary:R9,trend:y(E9),comparison:q9.optional(),queries:hx(D9),evidence:hx(z9),competitorAvailability:P9,competitors:y(O9),observedCompetitors:y(I9),breakdown:d({properties:y(px),groups:y(px)}).strict()}).strict(),M9=j(["measured","not-measured","partial"]),B9=d({state:M9,activeRevision:m().int().positive().nullable(),measuredRevision:m().int().positive().nullable(),awaitingSweep:C(),pendingAssignmentCount:m().int().nonnegative(),completedAt:Ei.nullable()}).strict(),l2=d({mode:t2,queryClass:n2,scope:yd,market:yd.optional(),provider:o().nullable(),model:o().nullable(),location:a2,time:d({from:Ei.nullable(),to:Ei.nullable()}).strict(),revision:m().int().positive().nullable(),run:d({id:o().nullable(),explicit:C()}).strict(),provenance:i2,measurement:B9,availability:Be("state",[d({state:D("available")}).strict(),d({state:D("unsupported"),reason:D("advanced-v1")}).strict()])}).strict();d({selection:l2,scopeOptions:y(yd),filterOptions:T9,populations:y(r2).min(1)}).strict().superRefine((e,n)=>{const i=e.selection.queryClass==="all"?["branded","non-brand","unknown"]:[e.selection.queryClass],r=e.populations.map(u=>u.queryClass);(r.length!==i.length||r.some((u,h)=>u!==i[h]))&&n.addIssue({code:ye.custom,path:["populations"],message:"Populations must exactly match the selected query class order"});for(const[u,h]of e.populations.entries()){const g=h.comparison;if(g?.state==="available")for(const b of["mentionCoverage","citationCoverage","propertyReach"]){const v=g[b];if(v.state!=="available")continue;const w=["populations",u,"comparison",b],k=h.summary[b].rate,A=v.previous.rate;k===null&&n.addIssue({code:ye.custom,path:w,message:"Available changes require a current rate"}),A===null&&n.addIssue({code:ye.custom,path:[...w,"previous","rate"],message:"Available changes require a previous rate"}),k!==null&&A!==null&&Math.abs(v.delta-(k-A))>Number.EPSILON&&n.addIssue({code:ye.custom,path:[...w,"delta"],message:"Delta must equal current minus previous"}),e.selection.run.id===null&&n.addIssue({code:ye.custom,path:w,message:"Available changes require a selected run"})}}});const c2=j(["retired-scope","retired-market"]),L9=c2.enum,V9=d({reason:c2,kind:N0.exclude(["project"]),key:xt}).strict().superRefine((e,n)=>{e.reason===L9["retired-market"]&&e.kind!=="market"&&n.addIssue({code:ye.custom,path:["kind"],message:"retired-market details must name a market"})});function UX(e){const n=V9.safeParse(e);return n.success?n.data:void 0}function U9(e,n){let i=e;for(const[r,u]of Object.entries(n))i=i.split(`{${r}}`).join(u);return i.trim()}const _0=o().regex(/^[a-f0-9]{64}$/),ra=o().trim().min(1).max(256),$a=o().trim().min(1).max(4e3),T0=o().datetime(),Vd=o().regex(/^qtw_[a-f0-9]{64}$/),u2=o().regex(/^qtp_[a-f0-9]{64}$/),R0=j(["simple","advanced"]),d2=d({templateId:ra,templateVersion:o().trim().min(1).max(256),template:$a,bindings:Ge(o().trim().min(1).max(128),o().trim().min(1).max(128)),output:$a}).strict(),$9=d({source:j(["manual","query-set","template","research","discovery"]),sourceId:ra.nullable(),capturedAt:o().datetime(),template:d2.optional()}).strict().superRefine((e,n)=>{e.source==="template"&&e.template===void 0&&n.addIssue({code:ye.custom,path:["template"],message:"Template provenance is required for a template query."}),e.source!=="template"&&e.template!==void 0&&n.addIssue({code:ye.custom,path:["template"],message:"Only a template query may carry template provenance."})}),G9=Be("source",[d({source:D("manual"),text:$a}).strict(),d({source:D("template"),templateId:ra,templateVersion:o().trim().min(1).max(256),template:$a}).strict(),d({source:D("research"),researchRunQueryId:ra}).strict(),d({source:D("discovery"),discoveryProbeId:ra}).strict()]),E0=d({targetKeys:y(he).optional(),groupKeys:y(he).optional(),marketKeys:y(he).optional()}).strict(),K9=d({providers:y(bt).min(1),models:Ge(bt,o().trim().min(1)),location:o().trim().min(1).nullable()}).strict(),H9=d({input:G9,audience:E0.optional(),contexts:y(K9).min(1).optional(),queryClass:Or.optional()}).strict(),Q9=d({queryId:ra.optional(),queryText:$a.optional(),audience:E0.optional()}).strict().superRefine((e,n)=>{e.queryId===void 0==(e.queryText===void 0)&&n.addIssue({code:ye.custom,message:"Provide exactly one of queryId or queryText."})}),F9=d({queryId:ra,audience:E0.optional(),text:$a.optional(),queryClass:Fe([Or,ue()]).optional()}).strict().superRefine((e,n)=>{e.text===void 0&&e.queryClass===void 0&&n.addIssue({code:ye.custom,message:"Provide query text or a classification change."})}),Z9=d({additions:y(H9),removals:y(Q9),edits:y(F9).optional()}).strict(),Y9=Z9.extend({expectedWorkspaceVersion:Vd}).strict();Y9.extend({previewToken:u2,reviewedAt:T0}).strict();const X9=d({stableKey:he,label:o().trim().min(1)}).strict(),W9=d({stableKey:he,parentGroupKey:he.optional(),label:o().trim().min(1),targetKeys:y(he)}).strict(),J9=d({stableKey:he,groupKey:he.optional(),label:o().trim().min(1),usageEdges:y(v0)}).strict(),eO=d({targetKey:he,groupKeys:y(he),marketKeys:y(he),queryClass:Or.nullable(),classificationSource:j(["frozen","server","operator"]),contexts:y(Bd).min(1)}).strict(),m2=d({queryId:ra,queryText:$a,normalizedText:$a,provenance:$9.nullable(),state:j(["tracked","awaiting-sweep"]),lastMeasuredAt:o().datetime().nullable(),assignments:y(eO)}).strict(),tO=d({researchRunId:ra,researchRunQueryId:ra,queryText:$a,createdAt:o().datetime()}).strict(),nO=d({discoverySessionId:ra,discoveryProbeId:ra,queryText:$a,createdAt:o().datetime()}).strict();d({mode:R0,workspaceVersion:Vd,active:d({revision:m().int().positive(),compiledChecksum:_0}).strict().nullable(),defaultContexts:y(Bd),targets:y(X9),groups:y(W9),markets:y(J9),scopeOptions:y(yd).optional(),tracked:y(m2),savedSources:d({research:y(tO),discovery:y(nO)}).strict()}).strict();const Uu=d({queryId:ra,queryText:$a,assignmentCount:m().int().nonnegative()}).strict(),p2=d({added:y(Uu),removed:y(Uu),reused:y(Uu),unchanged:y(Uu),noOp:C()}).strict(),h2=d({existingNodes:m().int().nonnegative(),existingProviderCalls:m().int().nonnegative(),nextSweepNodes:m().int().nonnegative(),nextSweepProviderCalls:m().int().nonnegative(),addedNodes:m().int().nonnegative(),addedProviderCalls:m().int().nonnegative(),removedNodes:m().int().nonnegative(),removedProviderCalls:m().int().nonnegative()}).strict();d({mode:R0,workspaceVersion:Vd,previewToken:u2,reviewedAt:T0,active:d({revision:m().int().positive(),compiledChecksum:_0}).strict().nullable(),tracked:y(m2),diff:p2,workload:h2}).strict();d({committed:C(),mode:R0,workspaceVersion:Vd,reviewedAt:T0,active:d({revision:m().int().positive(),compiledChecksum:_0}).strict().nullable(),diff:p2,workload:h2}).strict();const Ud=j(["complete","partial","failed","unsupported"]);Ud.enum;j(["proposed","alias","shared","unmatched","excluded"]);j(["primary-match","exact-slug-match","excluded-slug","shared-path","unmatched-path","alias-without-primary","unsupported-slug"]);const aO=j(["invalid-url","unowned-host","duplicate-url","url-cap-reached"]),iO=d({kind:j(["exact","prefix","suffix","contains"]),value:o().trim().min(1)}).strict(),gx=d({host:o().trim().min(1),pathTemplate:o().trim().min(1)}).strict(),D0=d({primary:gx,aliases:y(gx).optional(),excludedSlugSuffixes:y(o().trim().min(1)).optional(),excludedSlugPatterns:y(iO).optional()}).strict();d({sitemapUrl:o().url().refine(e=>{try{const n=new URL(e).protocol;return n==="http:"||n==="https:"}catch{return!1}},"Sitemap URL must use http or https"),rule:D0,maxUrls:m().int().positive().max(1e4).optional()}).strict();const zh=d({url:o(),canonicalUrl:o().nullable(),classification:j(["shared","unmatched","excluded"]),reason:j(["excluded-slug","shared-path","unmatched-path","alias-without-primary","unsupported-slug"])}).strict().superRefine((e,n)=>{({shared:["shared-path"],unmatched:["unmatched-path","alias-without-primary","unsupported-slug"],excluded:["excluded-slug"]})[e.classification].includes(e.reason)||n.addIssue({code:"custom",message:"Discovery classification and reason do not match"})}),sO=d({classification:D("proposed"),reason:D("primary-match"),stableKey:un,slug:o().trim().min(1),label:o().trim().min(1),primaryUrl:o().url(),aliasCoverageUrls:y(o().url())}).strict(),oO=d({classification:D("alias"),reason:D("exact-slug-match"),slug:o().trim().min(1),url:o().url(),targetStableKey:un}).strict(),rO=d({kind:aO,url:o(),canonicalUrl:o().nullable(),duplicateOf:o().optional()}).strict();d({proposed:y(sO),aliases:y(oO),shared:y(zh),unmatched:y(zh),excluded:y(zh),diagnostics:y(rO)}).strict().superRefine((e,n)=>{const i=[["shared",["shared"]],["unmatched",["unmatched"]],["excluded",["excluded"]]];for(const[r,u]of i)for(const h of e[r])u.includes(h.classification)||n.addIssue({code:"custom",path:[r],message:"Discovery item is in the wrong result bucket"})});const z0=j(["assigned","sibling","ownedUnmapped","external","ambiguous","invalid"]),f2=j(["baseline","target"]),g2=j(["incomplete","evidence-incomplete","identity-ambiguous","no-population","aliasless","no-competitors","no-project-aliases"]),ho=Fe([d({numerator:m().int().nonnegative(),denominator:m().int().positive(),rate:xe(m().min(0).max(1)),unattributed:m().int().positive().optional()}).strict(),d({numerator:ue(),denominator:ue(),rate:ue(),reason:g2}).strict()]).superRefine((e,n)=>{e.numerator!==null&&e.numerator>e.denominator&&n.addIssue({code:"custom",path:["numerator"],message:"Rate numerator cannot exceed denominator"})}),lO=o().trim().min(1).overwrite(e=>e.toLocaleLowerCase("en")),cO=d({executionId:o().trim().min(1),queryText:o().trim().min(1),provider:lO,context:dn.nullable(),requestedModel:o().trim().min(1).optional()}).strict();d({schemaVersion:D(1),expectedSlots:y(cO)}).strict().superRefine((e,n)=>{const i=new Set;for(const[r,u]of e.expectedSlots.entries()){const h=[u.executionId,u.provider].join("\0");i.has(h)&&n.addIssue({code:"custom",path:["expectedSlots",r],message:"Duplicate expected provider slot"}),i.add(h)}});const $d=d({executed:m().int().nonnegative(),expected:m().int().nonnegative(),complete:C(),sourceComplete:C(),sourceCompleteObservations:m().int().nonnegative(),answerComplete:C()}).strict(),yx=Fe([d({domain:o().trim().min(1),own:C(),presentIn:m().int().nonnegative(),of:m().int().positive()}).strict(),d({domain:o().trim().min(1),own:C(),presentIn:ue(),of:ue(),reason:g2}).strict()]),uO=d({domains:y(yx),providers:y(d({provider:bt,domains:y(yx)}).strict())}).strict(),dO=d({provider:bt,completeness:$d,answerCoverage:ho}).strict(),mO=d({id:o().trim().min(1),label:o().trim().min(1),targetIds:y(o().trim().min(1)),completeness:$d,answerCoverage:ho,targetCoverage:ho,sov:uO,providers:y(dO)}).strict(),pO=d({provider:bt,completeness:$d,citationCoverage:ho,mentionCoverage:ho}).strict(),hO=d({id:o().trim().min(1),label:o().trim().min(1),completeness:$d,citationCoverage:ho,mentionCoverage:ho,providers:y(pO)}).strict(),y2=d({observationId:o().trim().min(1),expectedSlotId:o().trim().min(1),executionId:o().trim().min(1),usageEdgeId:o().trim().min(1),usageEdgeType:f2,provider:bt,queryText:o().trim().min(1),location:o().nullable(),sourceUrl:o(),bridged:C(),historical:C(),evidenceComplete:C(),classification:z0,normalizedUrl:o().nullable(),matchedTargetIds:y(o().trim().min(1)),matchedUrlIds:y(o().trim().min(1))}).strict(),fO=d({sourceUrl:o(),normalizedUrl:o().nullable(),classification:z0,matchedTargetIds:y(o().trim().min(1)),matchedUrlIds:y(o().trim().min(1))}).strict(),gO=d({observationId:o().trim().min(1),expectedSlotId:o().trim().min(1),executionId:o().trim().min(1),usageEdgeId:o().trim().min(1),usageEdgeType:f2,provider:bt,queryText:o().trim().min(1),location:o().nullable(),queryClass:Fe([j(["branded","non-brand"]),ue()]),mentioned:C().nullable(),cited:C().nullable(),sources:y(fO),sourceCount:m().int().nonnegative(),sourcesTruncated:C(),bridged:C(),historical:C(),evidenceComplete:C()}).strict(),yO=d({bridgedObservationIds:y(o()),historicalObservationIds:y(o()),evidenceIncompleteObservationIds:y(o()),ambiguousObservationIds:y(o()),unmatchedObservationIds:y(o())}).strict(),bO=d({id:o().trim().min(1),status:j(["completed","partial"]),createdAt:o().datetime(),startedAt:o().datetime().nullable(),finishedAt:o().datetime().nullable()}).strict();d({revision:m().int().positive(),run:bO.nullable(),groups:y(mO),targets:y(hO),evidence:y(y2),diagnostics:yO}).strict();d({property:d({targetKey:he,label:o().min(1)}).strict(),queryClass:Da,measurement:d({state:k0,displayedRunId:o().min(1).optional(),completedAt:o().datetime().optional()}).strict(),evidence:Ar(y2).optional(),answers:Ar(gO).optional()}).strict().refine(e=>e.evidence===void 0!=(e.answers===void 0),{message:"Exactly one of evidence or answers is present, naming the shape that was served."});const ua=j(["queued","running","completed","partial","failed","cancelled"]),Jt=ua.enum,O0=j(["answer-visibility","site-audit","gsc-sync","inspect-sitemap","ga-sync","bing-inspect","bing-inspect-sitemap","backlink-extract","traffic-sync","aeo-discover-seed","aeo-discover-probe","gbp-sync","ads-sync","google-ads-sync","gtm-sync"]),De=O0.enum;d({kind:O0.optional(),status:ua.optional()});const I0=j(["manual","scheduled","config-apply","backfill","probe"]),gs=I0.enum,Di=j(["cited","not-cited"]),bd=Di.enum,vd=j(["visible","not-visible"]);vd.enum;const cc=j(["mentioned","not-mentioned"]);cc.enum;const b2=j(["new","cited","lost","emerging","not-cited"]);b2.enum;const vO=j(["new","mentioned","lost","emerging","not-mentioned"]);vO.enum;const xO=j([gs.manual,gs.probe]);d({kind:D(De["answer-visibility"]).optional(),trigger:xO.optional(),providers:y(bt).optional(),queries:y(o().min(1)).min(1).optional(),measurementScope:f9.optional(),location:o().min(1).optional(),allLocations:C().optional(),noLocation:C().optional(),dispatchMode:hc.optional()}).refine(e=>+!!e.location+ +!!e.allLocations+ +!!e.noLocation<=1,{message:'Only one of "location", "allLocations", or "noLocation" may be provided'});const wO=d({message:o(),raw:vn().optional()}),kO=d({message:o().optional(),providers:Ge(o(),wO).optional()}),SO=Ge(o(),D(hc.enum.batch)),jO=d({id:o(),provider:o(),model:o(),status:fS,requestCount:m().int().nonnegative(),ingestedCount:m().int().nonnegative(),recordedCount:m().int().nonnegative(),submittedAt:o().nullable(),endedAt:o().nullable(),deadlineAt:o(),error:o().nullable()}),AO=d({provider:o(),pricingTier:f0,answers:m().int().nonnegative(),inputTokens:m().int().nonnegative(),cachedInputTokens:m().int().nonnegative(),cacheWriteTokens:m().int().nonnegative(),outputTokens:m().int().nonnegative(),searchCount:m().int().nonnegative(),estimatedCostMicros:m().int().nonnegative().nullable(),unpricedAnswers:m().int().nonnegative()}),CO=d({id:o(),projectId:o(),kind:O0,status:ua,trigger:I0.default("manual"),measurementPlanVersionId:o().nullable().optional(),measurementManifest:Ge(o(),vn()).nullable().optional(),measurementScope:g9.nullable().optional(),measurementExecutionIdentity:HS.nullable().optional(),location:o().nullable().optional(),queries:y(o()).nullable().optional(),startedAt:o().nullable().optional(),finishedAt:o().nullable().optional(),error:kO.nullable().optional(),queryBasketRevision:m().int().nullable().optional(),dispatchModes:SO.optional(),createdAt:o()});function P0(e){if(e.providers){const n=Object.entries(e.providers);if(n.length===1){const[i,r]=n[0];return`${i}: ${r.message}`}if(n.length>1)return n.map(([i,r])=>`${i}: ${r.message}`).join(" • ")}return e.message??"Run failed."}const Gd=d({uri:o(),title:o()}),NO=d({status:j(["applied","ignored","browser-implicit","unknown"]),resolved:dn.nullable().optional()}),v2=d({id:o(),runId:o(),queryId:o(),query:o().optional(),provider:bt,citationState:Di,answerMentioned:C().optional(),visibilityState:vd.optional(),mentionState:cc.optional(),transition:b2.optional(),answerText:o().nullable().optional(),citedDomains:y(o()).default([]),citedUrls:y(o()).nullable().default(null),captureStatus:Fe([Ud,ue()]).default(null),sourceCount:m().int().nonnegative().nullable().default(null),resolvedCount:m().int().nonnegative().nullable().default(null),captureVersion:m().int().positive().nullable().default(null),retrievalStatus:Fe([r0,ue()]).default(null),retrievalContract:Fe([l0,ue()]).default(null),competitorOverlap:y(o()).default([]),citedCompetitorDomains:y(o()).default([]),mentionedCompetitorDomains:y(o()).default([]),recommendedCompetitors:y(o()).default([]),matchedTerms:y(o()).default([]),groundingSources:y(Gd).default([]),searchQueries:y(o()).default([]),model:o().nullable().optional(),servedModel:o().nullable().optional(),location:o().nullable().optional(),requestedContext:dn.nullable().optional(),supportedContext:NO.nullable().optional(),dispatchMode:Fe([hc,ue()]).optional(),stopReason:o().nullable().optional(),usage:mD.nullable().optional(),createdAt:o()});d({snapshots:y(v2),total:m().int().nonnegative()});const _O=d({queryId:o().nullable(),query:o().nullable(),run1State:Di.nullable(),run2State:Di.nullable(),run1AnswerMentioned:C().nullable(),run2AnswerMentioned:C().nullable(),run1VisibilityState:vd.nullable(),run2VisibilityState:vd.nullable(),run1MentionState:cc.nullable().optional(),run2MentionState:cc.nullable().optional(),changed:C(),visibilityChanged:C()});d({run1:o(),run2:o(),diff:y(_O)});const TO=CO.extend({snapshots:y(v2).optional(),providerBatches:y(jO).optional(),usage:y(AO).optional()}),RO=d({totalRuns:m().int().nonnegative(),run:TO.nullable()});d({id:o(),projectId:o().nullable().optional(),actor:o(),action:o(),entityType:o(),entityId:o().nullable().optional(),diff:vn().optional(),userAgent:o().nullable().optional(),actorSession:o().nullable().optional(),requestId:o().nullable().optional(),credentialId:o().nullable().optional(),createdAt:o()});const q0=j(["queued","running","completed","partial","failed"]);q0.enum;const x2=j(["not_answer_visibility","not_plan_run","scoped_or_probe","status_not_partial","plan_revision_changed","manifest_unreadable","model_not_frozen","model_retired","provider_not_in_plan","provider_nothing_missing","provider_not_configured","too_old","superseded","quota_insufficient"]);x2.enum;d({providers:y(bt).min(1).optional(),dryRun:C().optional()}).strict();const w2=d({id:o(),runId:o(),projectId:o(),status:q0,providers:y(o()),expected:m().int().nonnegative(),filled:m().int().nonnegative(),error:o().nullable(),createdAt:o(),startedAt:o().nullable(),finishedAt:o().nullable()}),EO=d({runId:o(),status:ua,planned:C(),readable:C(),expected:m().int().nonnegative(),executed:m().int().nonnegative(),missing:m().int().nonnegative(),missingByProvider:Ge(o(),m().int().nonnegative()),fillable:C(),refusal:d({code:x2,message:o()}).nullable(),latestFill:w2.nullable()}),DO=j(["queued","already-complete","dry-run"]);d({outcome:DO,completeness:EO,fill:w2.nullable()});const Ga=o().trim().min(1),vo=o().trim().min(1),zO=o().trim().min(1),Ie=m().int().nonnegative(),vc=d({state:k0,displayedRunId:Ga.nullable(),planRevision:m().int().positive(),completedAt:o().datetime().nullable()}).strict(),xo=d({targetKey:he,label:vo}).strict(),la={runId:Ga.optional(),provider:bt.optional(),location:zO.optional()},Cr=o().trim().min(1),Oh=5,OO=10,IO=10,PO="tied Properties are ordered by name, not ranked";d({runId:la.runId,groupKey:he.optional(),queryClass:Da.default("non-brand"),provider:la.provider,location:la.location,limit:m().int().positive().max(50).optional(),includeNestedMarkets:C().optional()}).strict();const bx=yf,k2={metro:bx.nullable(),otherMetros:y(bx).min(1).optional(),submarkets:y(vo),queries:Ie},S2=d({name:Cr,answers:Ie}).strict(),qO=d({name:Cr,occurrences:Ie}).strict(),M0=d({domain:o().trim().min(1),answers:Ie}).strict(),MO=xo.extend({...k2,mentionCoverage:fn,citationCoverage:fn,flags:Ie,namedInsteadInAnswerText:y(S2).max(Oh),namedInsteadInAnswerTextTotal:Ie,citedDomains:y(M0).max(Oh),citedDomainsTotal:Ie,recommendedInstead:y(qO).max(Oh).meta({deprecated:!0,description:"Deprecated: read namedInsteadInAnswerText, which carries the same names in the same order. occurrences counts answers, exactly as answers does there."}),recommendedInsteadTotal:Ie.meta({deprecated:!0,description:"Deprecated: read namedInsteadInAnswerTextTotal, which it always equals."}),recommendedInsteadTruncated:C().meta({deprecated:!0,description:"Deprecated: true when namedInsteadInAnswerTextTotal exceeds the names returned in namedInsteadInAnswerText."})}).strict().superRefine((e,n)=>{e.namedInsteadInAnswerText.length>e.namedInsteadInAnswerTextTotal&&n.addIssue({code:ye.custom,path:["namedInsteadInAnswerTextTotal"],message:"Total cannot be smaller than the returned names"}),e.citedDomains.length>e.citedDomainsTotal&&n.addIssue({code:ye.custom,path:["citedDomainsTotal"],message:"Total cannot be smaller than the returned domains"}),e.recommendedInsteadTotal!==e.namedInsteadInAnswerTextTotal&&n.addIssue({code:ye.custom,path:["recommendedInsteadTotal"],message:"The deprecated total must equal namedInsteadInAnswerTextTotal"}),e.recommendedInstead.length>e.recommendedInsteadTotal&&n.addIssue({code:ye.custom,path:["recommendedInsteadTotal"],message:"Total cannot be smaller than the returned replacements"}),e.recommendedInsteadTruncated!==e.recommendedInstead.length<e.recommendedInsteadTotal&&n.addIssue({code:ye.custom,path:["recommendedInsteadTruncated"],message:"Truncation must agree with the replacement total"})}),BO=d({metro:vo.nullable(),count:m().int().positive()}).strict(),LO=d({count:m().int().min(2),mentionRate:xe(),citationRate:xe(),note:D(PO),byMetro:y(BO).optional(),namedInstead:y(S2).max(IO).optional(),namedInsteadTotal:Ie.optional()}).strict().superRefine((e,n)=>{e.namedInstead!==void 0&&(e.namedInsteadTotal===void 0||e.namedInstead.length>e.namedInsteadTotal)&&n.addIssue({code:ye.custom,path:["namedInsteadTotal"],message:"Total cannot be smaller than the returned names"})}),VO=d({properties:Ie,answers:Ie,domains:y(M0).max(OO),domainTotal:Ie}).strict().superRefine((e,n)=>{e.domains.length>e.domainTotal&&n.addIssue({code:ye.custom,path:["domainTotal"],message:"Total cannot be smaller than the returned domains"}),e.domains.some(i=>i.answers>e.answers)&&n.addIssue({code:ye.custom,path:["domains"],message:"A domain cannot be cited by more answers than the basis holds"})}),UO=d({groupKey:he,label:vo,parentGroupKey:he.nullable(),childMarketCount:Ie,propertyCount:Ie,propertiesMentioned:rc,mentionCoverage:fn,citationCoverage:fn}).strict(),vx=xo.extend({...k2,mentionCoverage:fn.options[0],citationCoverage:fn}).strict(),$O=d({eligiblePropertyCount:Ie,strongest:y(vx).max(50),weakest:y(vx).max(50),excluded:y(xo.extend({reason:gc}).strict()),truncated:C()}).strict();d({portfolio:d({groupKey:he.nullable(),label:vo.nullable(),measurementScope:Fe([j(["full","spot_check"]),ue()])}).strict(),measurement:vc,queryClass:Da,engines:y(bt),metrics:d({propertiesMentioned:rc,mentionCoverage:fn,citationCoverage:fn}).strict(),weakestProperties:y(MO),tiedAtWeakest:LO.nullable(),weakestAnswerSources:VO.nullable(),mentionRanking:$O,markets:y(UO),totalMarkets:Ie,marketsTruncated:C(),totalProperties:Ie,truncated:C()}).strict().superRefine((e,n)=>{e.marketsTruncated!==e.markets.length<e.totalMarkets&&n.addIssue({code:ye.custom,path:["marketsTruncated"],message:"Market truncation must agree with the market total"})});d({targetKey:he,runId:la.runId,provider:la.provider,location:la.location,queryClass:Da.optional(),offset:m().int().nonnegative().optional(),limit:m().int().positive().max(100).optional()}).strict();j(["answered","missing"]);const xf={queryId:Ga,text:vo,class:b0,provider:bt,requestedModel:o().nullable(),servedModel:o().nullable(),location:o().nullable()},GO=Be("status",[d({resultId:Ga,...xf,status:D("answered"),mentioned:C().nullable(),cited:C().nullable(),recommendedInstead:y(Cr),answerExcerpt:o().nullable()}).strict(),d({resultId:ue(),...xf,status:D("missing"),mentioned:ue(),cited:ue(),recommendedInstead:y(Cr).length(0),answerExcerpt:ue()}).strict()]);d({property:xo,measurement:vc,queryClass:Da,questions:y(GO),total:Ie,truncated:C()}).strict();d({targetKey:he,resultId:Ga}).strict();const KO=d({url:Ga,classification:z0,matchedTargetKeys:y(he),assigned:C(),historical:C(),evidenceComplete:C()}).strict().superRefine((e,n)=>{e.assigned!==(e.classification==="assigned")&&n.addIssue({code:ye.custom,path:["assigned"],message:"Assigned must agree with the source attribution classification"})});d({property:xo,measurement:vc,question:d({resultId:Ga,...xf,status:D("answered")}).strict(),mentioned:C().nullable(),cited:C().nullable(),recommendedInstead:y(Cr),answer:o().nullable(),sources:y(KO),captureStatus:Fe([Ud,ue()]),retrievalStatus:Fe([r0,ue()]),retrievalContract:Fe([l0,ue()])}).strict();d({targetKey:he,runId:la.runId,provider:la.provider,location:la.location,queryClass:Da.optional(),limit:m().int().positive().max(50).optional()}).strict();const HO=Be("state",[d({state:D("available"),answeredResults:Ie,targetMissResults:Ie,recommendationOccurrences:Ie}).strict(),d({state:D("unavailable"),reason:gc}).strict()]),QO=d({name:Cr,occurrences:Ie,providers:y(bt).max(5),providerTotal:Ie,providersTruncated:C(),questions:y(vo).max(5),questionTotal:Ie,questionsTruncated:C()}).strict().superRefine((e,n)=>{(e.providers.length>e.providerTotal||e.questions.length>e.questionTotal)&&n.addIssue({code:ye.custom,message:"Evidence totals cannot be smaller than returned evidence"}),e.providersTruncated!==e.providers.length<e.providerTotal&&n.addIssue({code:ye.custom,path:["providersTruncated"],message:"Provider truncation must agree with its total"}),e.questionsTruncated!==e.questions.length<e.questionTotal&&n.addIssue({code:ye.custom,path:["questionsTruncated"],message:"Question truncation must agree with its total"})}),FO=10;d({property:xo,measurement:vc,queryClass:Da,basis:HO,competitors:y(QO),total:Ie,truncated:C(),citedDomains:y(M0).max(FO).optional(),citedDomainsTotal:Ie.optional(),citedDomainsAnswers:Ie.optional()}).strict().superRefine((e,n)=>{const{citedDomains:i,citedDomainsTotal:r,citedDomainsAnswers:u}=e;if(i!==void 0){if(r===void 0||u===void 0){n.addIssue({code:ye.custom,path:["citedDomains"],message:"Cited domains require their total and answer basis"});return}i.length>r&&n.addIssue({code:ye.custom,path:["citedDomainsTotal"],message:"Total cannot be smaller than the returned domains"}),i.some(h=>h.answers>u)&&n.addIssue({code:ye.custom,path:["citedDomains"],message:"A domain cannot be cited by more answers than the basis holds"})}});const j2=j(["magnitude","label"]),ZO=2;d({runId:la.runId,scope:w0.default("all"),groupKey:he.optional(),targetKey:he.optional(),queryClass:Da.default("all"),provider:la.provider,location:la.location,limit:m().int().positive().max(50).optional(),sort:j2.optional()}).strict().superRefine((e,n)=>{e.scope==="all"&&(e.groupKey!==void 0||e.targetKey!==void 0)&&n.addIssue({code:ye.custom,path:["scope"],message:"All scope cannot name a group or Property"}),e.scope==="group"&&(e.groupKey===void 0||e.targetKey!==void 0)&&n.addIssue({code:ye.custom,path:["groupKey"],message:"Group scope requires groupKey only"}),e.scope==="property"&&(e.targetKey===void 0||e.groupKey!==void 0)&&n.addIssue({code:ye.custom,path:["targetKey"],message:"Property scope requires targetKey only"})});const A2=j(["no_previous_run","execution_identity_changed","incomplete","not_comparable"]),C2=vc.extend({executionIdentity:Ga.nullable(),measurementScope:Fe([j(["full","spot_check"]),ue()])}).strict();function N2(e,n){if(e.previous.state!=="available"||e.current.state!=="available"){n.addIssue({code:ye.custom,message:"Available deltas require two available metrics"});return}Math.abs(e.delta-(e.current.value-e.previous.value))>Number.EPSILON&&n.addIssue({code:ye.custom,path:["delta"],message:"Delta must equal current minus previous"})}const _2=d({state:D("unavailable"),reason:gc}).strict(),xd=Be("state",[d({state:D("available"),previous:fn,current:fn,delta:xe()}).strict().superRefine(N2),_2]),YO=Be("state",[d({state:D("available"),previous:rc,current:rc,delta:m().int()}).strict().superRefine(N2),_2]),Ih=d({propertiesMentioned:YO,mentionCoverage:xd,citationCoverage:xd}).strict(),XO=d({improved:Ie,declined:Ie,mixed:Ie,withinNoise:Ie,unchanged:Ie,notComparable:Ie,total:Ie,noiseAnswers:D(ZO)}).strict().superRefine((e,n)=>{e.improved+e.declined+e.mixed+e.withinNoise+e.unchanged+e.notComparable!==e.total&&n.addIssue({code:ye.custom,path:["total"],message:"Move buckets must sum to total"})}),WO=xo.extend({mentionCoverage:xd,citationCoverage:xd,flags:Ie,mentionAnswersDelta:m().int().nullable().optional(),citationAnswersDelta:m().int().nullable().optional(),denominatorChanged:C().optional(),withinNoise:C().optional()}).strict();d({current:C2,queryClass:Da.optional(),comparison:Be("state",[d({state:D("available"),previous:d({displayedRunId:Ga,planRevision:m().int().positive(),completedAt:o().datetime().nullable(),executionIdentity:Ga,measurementScope:j(["full","spot_check"])}).strict(),metrics:Ih,metricsByClass:d({branded:Ih,nonBrand:Ih}).strict().optional(),sort:j2.optional(),distribution:XO.optional(),changedProperties:y(WO),totalProperties:Ie,truncated:C()}).strict(),d({state:D("unavailable"),reason:A2}).strict()])}).strict().superRefine((e,n)=>{if(e.comparison.state!=="available")return;const{distribution:i}=e.comparison;if(i!==void 0&&i.total-i.unchanged!==e.comparison.totalProperties&&n.addIssue({code:ye.custom,path:["comparison","distribution"],message:"Changed Properties must equal the distribution total less unchanged"}),e.current.displayedRunId===null||e.current.executionIdentity===null){n.addIssue({code:ye.custom,path:["current"],message:"A comparison requires an identified current run"});return}e.comparison.previous.planRevision!==e.current.planRevision&&n.addIssue({code:ye.custom,path:["comparison","previous","planRevision"],message:"Comparisons cannot cross plan revisions"}),e.comparison.previous.executionIdentity!==e.current.executionIdentity&&n.addIssue({code:ye.custom,path:["comparison","previous","executionIdentity"],message:"Comparisons cannot cross execution identities"})});d({runId:la.runId}).strict();const JO=j(["no_completed_run","incomplete","evidence_incomplete","no_population","not_applicable"]),xc=d({state:D("unavailable"),reason:JO}).strict(),eI=d({state:D("available"),expected:Ie,executed:Ie,answered:Ie,missing:Ie}).strict(),tI=Be("state",[eI,xc]).superRefine((e,n)=>{e.state==="available"&&(e.executed+e.missing!==e.expected&&n.addIssue({code:ye.custom,message:"Expected must equal executed plus missing"}),e.answered>e.executed&&n.addIssue({code:ye.custom,path:["answered"],message:"Answered cannot exceed executed"}))}),nI=d({state:D("available"),complete:Ie,partial:Ie,failed:Ie,unsupported:Ie,notRecorded:Ie}).strict(),aI=Be("state",[nI,xc]),iI=d({state:D("available"),used:Ie,notUsed:Ie,unknown:Ie,notApplicable:Ie,notRecorded:Ie}).strict(),sI=Be("state",[iI,xc]),oI=d({state:D("available"),expectedQuestions:Ie,answeredQuestions:Ie,missingQuestions:Ie}).strict(),rI=Be("state",[oI,xc]).superRefine((e,n)=>{e.state==="available"&&e.answeredQuestions+e.missingQuestions!==e.expectedQuestions&&n.addIssue({code:ye.custom,message:"Expected questions must equal answered plus missing"})}),xx=Be("state",[d({state:D("available"),answered:Ie,unattributed:Ie}).strict(),xc]).superRefine((e,n)=>{e.state==="available"&&e.unattributed>e.answered&&n.addIssue({code:ye.custom,path:["unattributed"],message:"Unattributed answers cannot exceed answered"})}),lI=d({status:q0,providers:y(o()),expected:Ie,filled:Ie,createdAt:o(),finishedAt:o().nullable()}).strict();d({run:C2,completeness:tI,capture:aI,retrieval:sI,population:rI,comparison:Be("state",[d({state:D("available"),previousDisplayedRunId:Ga}).strict(),d({state:D("unavailable"),reason:A2}).strict()]),unattributedByClass:d({branded:xx,nonBrand:xx}).strict().optional(),latestFill:lI.nullable().optional()}).strict().superRefine((e,n)=>{if(e.completeness.state!=="available")return;const i=e.completeness.executed;e.capture.state==="available"&&e.capture.complete+e.capture.partial+e.capture.failed+e.capture.unsupported+e.capture.notRecorded!==i&&n.addIssue({code:ye.custom,path:["capture"],message:"Capture counts must total executed snapshots"}),e.retrieval.state==="available"&&e.retrieval.used+e.retrieval.notUsed+e.retrieval.unknown+e.retrieval.notApplicable+e.retrieval.notRecorded!==i&&n.addIssue({code:ye.custom,path:["retrieval"],message:"Retrieval counts must total executed snapshots"})});const Nr=o().regex(/^[a-f0-9]{64}$/),Ka=o().trim().min(1).max(256),ii=m().int().positive(),wx=d({kind:j(["user","api-key","system"]),id:o().trim().min(1),label:o().trim().min(1)}).strict(),cI=j(["proposed","included","excluded"]),uI=j(["manual","sitemap"]),B0=d({stableKey:he,label:o().trim().min(1),status:cI,aliases:y(o().trim().min(1)),identityAliases:y(o().trim().min(1)).optional(),urlMatchers:y(o().trim().min(1)),source:uI,discoveredUrl:o().trim().min(1).optional(),discoveryIdentity:o().trim().min(1).optional()}).strict(),Kd=d({providers:y(bt).optional(),models:Ge(bt,o().trim().min(1)).optional(),locations:y(o().trim().min(1)).optional()}).strict(),dI=j(["branded","non-brand","unclassified"]),mI=j(["rule","operator"]),T2=d({targetKey:he,queryId:Ka,contextOverride:Kd.optional(),executionContexts:y(Bd.extend({executionNodeKey:o().min(1).optional()})).min(1).optional(),queryProvenance:zS.optional(),queryClass:dI,classificationSource:mI}).strict().superRefine((e,n)=>{e.contextOverride!==void 0&&e.executionContexts!==void 0&&n.addIssue({code:"custom",path:["executionContexts"],message:"Use either frozen execution contexts or a context override, not both."})}),Hd=DS,R2=d({stableKey:he,label:o().trim().min(1),parentGroupKey:he.optional(),targetKeys:y(he),competitors:y(Hd)}).strict(),pI=d({sitemapUrl:o().url(),rule:D0,exclusions:y(o().trim().min(1)),inputChecksum:Nr,reviewedAt:o().datetime().optional()}).strict(),hI=d({providers:y(bt),models:Ge(bt,o().trim().min(1)).optional(),locations:y(o().trim().min(1))}).strict(),E2=OS,fI=d({defaultContext:hI,targets:y(B0),assignments:y(T2),groups:y(R2),reportingScopes:y(E2).optional(),discovery:pI.optional()}).strict(),gI=d({id:o().trim().min(1),projectId:o().trim().min(1),schemaVersion:D(2),baseActiveVersionId:o().trim().min(1).nullable(),baseActiveRevision:ii.nullable(),authoring:fI,createdBy:wx,updatedBy:wx,createdAt:o().datetime(),updatedAt:o().datetime()}).strict(),L0=d({targets:m().int().nonnegative(),includedTargets:m().int().nonnegative(),assignments:m().int().nonnegative(),unclassifiedAssignments:m().int().nonnegative(),groups:m().int().nonnegative(),competitors:m().int().nonnegative()}).strict(),yI=d({code:o().trim().min(1),message:o().trim().min(1),path:y(Fe([o(),m().int()]))}).strict(),D2=d({etag:o().trim().min(1),changed:C(),warnings:y(yI),counts:L0}).strict();d({draft:gI.nullable(),etag:o().trim().min(1).nullable()}).strict();Ar(B0);Ar(T2);Ar(R2);d({search:o().optional(),cursor:o().trim().min(1).optional(),limit:m().int().positive().max(x0).optional()}).strict();d({expectedActiveRevision:ii.nullable()}).strict();d({sitemapUrl:o().url(),rule:D0,exclusions:y(o().trim().min(1)).optional()}).strict();const bI=d({discoveryIdentity:o().trim().min(1),action:j(["create","rebind","ignore"]),targetKey:he.optional(),label:o().trim().min(1).optional()}).strict();d({selections:y(bI),selectedTargetKeys:y(he).optional()}).strict().superRefine((e,n)=>{e.selections.length===0&&e.selectedTargetKeys===void 0&&n.addIssue({code:"custom",message:"A proposal or reviewed Property selection is required."}),e.selectedTargetKeys&&new Set(e.selectedTargetKeys).size!==e.selectedTargetKeys.length&&n.addIssue({code:"custom",path:["selectedTargetKeys"],message:"Property keys must be unique."})});d({target:B0}).strict();d({targetKey:he,label:o().trim().min(1)}).strict();d({targetKey:he,mergedKeys:y(he).min(1)}).strict();d({targetKey:he,cleanup:D("assignments-and-group-memberships").optional()}).strict();d({targetKey:he,discoveryIdentity:o().trim().min(1),discoveredUrl:o().url()}).strict();const z2={targetKeys:y(he).optional(),groupKeys:y(he).optional()};function O2(e,n){(e.targetKeys?.length??0)===0&&(e.groupKeys?.length??0)===0&&n.addIssue({code:"custom",message:"At least one Target or group selector is required."})}d(z2).strict().superRefine(O2);const vI=d({...z2,queryIds:y(Ka).min(1),contextOverride:Kd.optional()}).strict().superRefine(O2);Fe([d({targetKey:he,queryIds:y(Ka).min(1),contextOverride:Kd.optional()}).strict(),vI]);const xI=d({groupKey:he,label:o().trim().min(1),memberCount:m().int().positive()}).strict();d({draftEtag:o().trim().min(1),groups:y(xI),resolvedTargetKeys:y(he),overlapCount:m().int().nonnegative(),assignments:d({requested:m().int().nonnegative(),added:m().int().nonnegative(),alreadyPresent:m().int().nonnegative()}).strict(),execution:d({addedNodes:m().int().nonnegative(),addedProviderCalls:m().int().nonnegative(),fullRunNodes:m().int().nonnegative(),fullRunProviderCalls:m().int().nonnegative()}).strict()}).strict();d({pairs:y(d({targetKey:he,queryId:Ka}).strict()).min(1),contextOverride:Kd.optional()}).strict();Fe([d({targetKey:he,queryId:Ka}).strict(),d({targetKeys:y(he).min(1),queryId:Ka}).strict()]);d({targetKey:he}).strict();d({queryClass:b0,assignments:y(d({targetKey:he,queryId:Ka}).strict()).min(1)}).strict();d({group:d({stableKey:he,label:o().trim().min(1),parentGroupKey:he.nullable().optional(),targetKeys:y(he),competitors:y(Hd).optional()}).strict()}).strict();d({market:E2}).strict();d({groupKey:he}).strict();d({groupKey:he,competitor:Hd}).strict();d({expectedActiveRevision:ii,groupKey:he,domain:o().trim().min(1).refine(e=>fc(e)!==null,"A competitor domain must be a valid hostname"),label:o().trim().min(1).optional(),aliases:y(o().trim().min(1)).optional()}).strict();D2.extend({groupKey:he,competitor:Hd,draftCreated:C(),published:d({revision:ii,competitorsChanged:D(!1)}).strict()}).strict();d({groupKey:he,competitorKey:he}).strict();const wd=d({ruleId:o().trim().min(1),severity:j(["fail","warn"]),message:o().trim().min(1),path:y(Fe([o(),m().int()]))}).strict();Be("ok",[d({ok:D(!0),compiledChecksum:Nr,checks:y(wd),counts:L0,plan:Ld}).strict(),d({ok:D(!1),compiledChecksum:ue(),checks:y(wd).min(1)}).strict()]);const kx=d({added:y(o().trim().min(1)),removed:y(o().trim().min(1)),changed:y(o().trim().min(1)),unchanged:y(o().trim().min(1))}).strict(),wI=d({activeRevision:ii.nullable(),targets:kx,groups:kx,assignments:d({added:m().int().nonnegative(),removed:m().int().nonnegative(),reclassified:m().int().nonnegative()}).strict(),execution:d({addedNodeKeys:y(o().trim().min(1)),removedNodeKeys:y(o().trim().min(1))}).strict()}).strict();Be("ok",[d({ok:D(!0),compiledChecksum:Nr,checks:y(wd),counts:L0,plan:Ld,diff:wI}).strict(),d({ok:D(!1),compiledChecksum:ue(),checks:y(wd).min(1),diff:ue()}).strict()]);d({expectedActiveRevision:ii.nullable(),expectedCompiledChecksum:Nr}).strict();d({published:C(),active:d({revision:ii,checksum:Nr,compiledChecksum:Nr,createdAt:o().datetime(),plan:Ld}).strict()}).strict();d({discarded:C()}).strict();d({expectedActiveRevision:ii}).strict();d({deactivated:C(),previousRevision:ii.nullable()}).strict();const kI=j(["republish_required","setup_in_progress","awaiting_first_run","operational","simple"]),SI=j(["republish_setup","continue_setup","run_measurement","view_measurement","start_setup"]),jI=j(["simple","draft-only","active-v1","active-v2"]);d({state:kI,nextAction:SI,mode:jI,answerVisibilityProviderReady:C(),activeRevision:ii.nullable(),activeSchemaVersion:Fe([D(1),D(2)]).nullable(),draft:d({etag:o().trim().min(1),updatedAt:o().datetime()}).strict().nullable()}).strict();const I2=d({id:o().trim().min(1),projectId:o().trim().min(1),name:o().trim().min(1),description:o().nullable(),itemCount:m().int().nonnegative(),createdAt:o().datetime(),updatedAt:o().datetime()}).strict(),AI=d({queryId:Ka,queryText:o().min(1),position:m().int().nonnegative()}).strict();I2.extend({items:y(AI)}).strict();d({querySets:y(I2)}).strict();d({name:o().trim().min(1),description:o().nullable().optional(),queryIds:y(Ka)}).strict();const CI=d({id:o().trim().min(1),projectId:o().trim().min(1),name:o().trim().min(1),description:o().nullable(),pattern:o().trim().min(1),variables:y(o().trim().min(1)),createdAt:o().datetime(),updatedAt:o().datetime()}).strict();d({templates:y(CI)}).strict();d({name:o().trim().min(1),description:o().nullable().optional(),pattern:o().trim().min(1),variables:y(o().trim().min(1))}).strict();d({bindings:y(Ge(o().trim().min(1),o().trim().min(1))).min(1),querySetId:o().trim().min(1).optional()}).strict();d({created:y(d({queryId:Ka,queryText:o().min(1)}).strict()),existing:y(d({queryId:Ka,queryText:o().min(1)}).strict())}).strict();const kd=o().regex(/^[a-f0-9]{64}$/),Qd=m().int().positive();d({stableKey:he,kind:j(["target","group"]),retiredAt:o().datetime().nullable()}).strict();d({csv:o()}).strict();j(["matched","ambiguous","unmatched","invalid","duplicate","proposed","excluded"]);const NI=j(["column-count","missing-property","missing-group","invalid-url","property-not-found","property-label-ambiguous","url-not-exact-match","target-proposed","target-excluded","group-label-ambiguous","group-key-conflict"]),wf=d({dataRow:Qd,property:o(),group:o(),url:o().nullable(),normalizedProperty:o(),normalizedGroupLabel:o()}).strict(),Gl=wf.extend({reason:NI}),_I=d({source:j(["draft-target","draft-group","persisted-segment","retired-segment","proposed-group"]),stableKey:he,kind:j(["target","group"]).optional(),retiredAt:o().datetime().nullable().optional(),normalizedGroupLabel:o().optional()}).strict(),TI=d({proposedGroupKey:he,evidence:y(_I).min(1)}).strict(),RI=Be("status",[wf.extend({status:D("matched"),targetKey:he,groupKey:he}).strict(),Gl.extend({status:D("ambiguous"),candidateTargetKeys:y(he).min(1).optional(),candidateGroupKeys:y(he).min(1).optional()}).strict(),Gl.extend({status:D("unmatched")}).strict(),Gl.extend({status:D("invalid"),groupKeyConflict:TI.optional()}).strict(),wf.extend({status:D("duplicate"),duplicateOfRow:Qd,targetKey:he,groupKey:he}).strict(),Gl.extend({status:D("proposed"),targetKey:he}).strict(),Gl.extend({status:D("excluded"),targetKey:he}).strict()]),EI=d({normalizedGroupLabel:o(),groupKey:he,label:o().trim().min(1),action:j(["create","extend"]),matchedRows:y(Qd),targetKeys:y(he),addedTargetKeys:y(he),unchangedTargetKeys:y(he)}).strict(),DI=d({dataRows:m().int().nonnegative(),matchedRows:m().int().nonnegative(),ambiguousRows:m().int().nonnegative(),unmatchedRows:m().int().nonnegative(),invalidRows:m().int().nonnegative(),duplicateRows:m().int().nonnegative(),proposedRows:m().int().nonnegative(),excludedRows:m().int().nonnegative(),needsAttention:m().int().nonnegative(),groupsReady:m().int().nonnegative(),groupsToCreate:m().int().nonnegative(),groupsToExtend:m().int().nonnegative(),membershipsReady:m().int().nonnegative(),addedMemberships:m().int().nonnegative(),unchangedMemberships:m().int().nonnegative()}).strict();d({draftEtag:o().trim().min(1),sourceChecksum:kd,previewChecksum:kd,rows:y(RI),groupChanges:y(EI),counts:DI}).strict();d({csv:o(),sourceChecksum:kd,previewChecksum:kd,acceptedRows:y(Qd).min(1)}).strict().superRefine((e,n)=>{new Set(e.acceptedRows).size!==e.acceptedRows.length&&n.addIssue({code:"custom",path:["acceptedRows"],message:"Accepted CSV data rows must be unique."})});D2.extend({appliedRows:m().int().nonnegative(),addedMemberships:m().int().nonnegative(),unchangedMemberships:m().int().nonnegative()}).strict();function P2(e,n){return Number((n===At.percent?e:e*100).toFixed(6))}function q2(e){return Math.round(Number((e*10).toFixed(4)))/10}function yn(e,n=At.fraction){if(e==null||!Number.isFinite(e))return"—";const i=P2(e,n);if(i===0)return"0%";const r=i<0?"-":"",u=Math.abs(i);if(u===100)return`${r}100%`;const h=q2(u);return h===0?`${r}<0.1%`:h===100&&u<100?`${r}>99.9%`:`${r}${h.toFixed(1)}%`}function Bn(e){return Number.isFinite(e)?Math.abs(e)>=1e6?`${(e/1e6).toFixed(1)}M`:Math.abs(e)>=1e3?`${(e/1e3).toFixed(1)}K`:e.toLocaleString("en-US"):"—"}function po(e){if(!e)return"—";try{const n=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e),i={month:"short",day:"numeric",year:"numeric"},r=n&&n[1]&&n[2]&&n[3]?new Date(Date.UTC(Number(n[1]),Number(n[2])-1,Number(n[3]))):new Date(e);return Number.isNaN(r.getTime())?e:r.toLocaleDateString("en-US",n?{...i,timeZone:"UTC"}:i)}catch{return e}}function $X(e,n,i=800){const r=[];if(!/^\d{4}-\d{2}-\d{2}$/.test(e)||!/^\d{4}-\d{2}-\d{2}$/.test(n))return r;for(let u=e;u<=n&&(r.push(u),!(r.length>=i));u=zI(u,1));return r}function zI(e,n){if(!Number.isFinite(n))return e;const i=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e);if(!i?.[1]||!i[2]||!i[3])return e;const r=new Date(Date.UTC(Number(i[1]),Number(i[2])-1,Number(i[3])+Math.trunc(n)));if(Number.isNaN(r.getTime()))return e;const u=r.getUTCFullYear(),h=String(r.getUTCMonth()+1).padStart(2,"0"),g=String(r.getUTCDate()).padStart(2,"0");return`${u}-${h}-${g}`}function OI(e,n){return!e&&!n?"":e&&n?`${po(e)} → ${po(n)}`:po(e||n)}function II(e,n){if(!Number.isFinite(e)||!Number.isFinite(n)||n<=0)return null;const i=(e-n)/n;return Number.isFinite(i)?i:null}function GX(e,n){const i=II(e,n);return i===null?null:eD(i*100,At.percent)}function V0(e,n=At.fraction){return`${e>0?"+":""}${yn(e,n)}`}function KX(e){return e===null||e===0?"neutral":e>0?"positive":"negative"}function HX(e,n,i="vs prior 7 days"){return e.deltaPct===null?e.prior===0?"First baseline week":"":e.deltaPct>0?`Up ${yn(e.deltaPct,At.percent)} ${i} (${Bn(e.prior)} ${n})`:e.deltaPct<0?`Down ${yn(Math.abs(e.deltaPct),At.percent)} ${i} (${Bn(e.prior)} ${n})`:`Flat ${i} (${Bn(e.prior)} ${n})`}const M2=30;function Sx(e){return Math.round(e*10)/10}function PI(e){return e.prior>=M2&&e.deltaPct!==null?`${V0(e.deltaPct,At.percent)} vs prior`:`${e.deltaAbs>0?"+":""}${Sx(e.deltaAbs)} vs ${Sx(e.prior)}`}function QX(e,n,i){return e.prior>=M2&&e.deltaPct!==null?`${V0(e.deltaPct,At.percent)} ${i}`:`${e.deltaAbs>0?"+":""}${Bn(Math.round(e.deltaAbs))} ${n} ${i}`}function B2(e,n=At.fraction){const i=P2(e,n);if(i===0)return{direction:"none",magnitude:"0"};const r=q2(Math.abs(i));return{direction:i>0?"up":"down",magnitude:r===0?"<0.1":r.toFixed(1)}}function qI(e,n=At.fraction){const{direction:i,magnitude:r}=B2(e,n);return`${i==="up"?"+":i==="down"?"-":""}${r} pts`}function FX(e,n="UTC"){const i=new Date(e);if(!Number.isFinite(i.getTime()))return null;const r={weekday:"short",year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"2-digit",timeZoneName:"short"};try{return i.toLocaleString("en-US",{...r,timeZone:n})}catch{return i.toLocaleString("en-US",{...r,timeZone:"UTC"})}}const L2=j(["introduced","repointed","retired"]),MI=L2.enum;d({modelId:o().trim().min(1),date:o().regex(/^\d{4}-\d{2}-\d{2}$/,"date must be YYYY-MM-DD"),kind:L2,confirmed:C(),sourceUrl:o().url(),note:o().min(1)});const BI=[{modelId:"chatgpt-4o-latest",date:"2024-08-15",kind:"introduced",confirmed:!0,sourceUrl:"https://developers.openai.com/api/docs/changelog",note:'Verbatim: "Released dynamic model for chatgpt-4o-latest—this model will point to the latest GPT-4o model used by ChatGPT." First moving id in the lineage.'},{modelId:"chatgpt-4o-latest",date:"2026-02-17",kind:"retired",confirmed:!0,sourceUrl:"https://developers.openai.com/api/docs/deprecations.md",note:'Shutdown 2026-02-17, replacement gpt-5.1-chat-latest. Announced under the heading "2025-11-18: chatgpt-4o-latest snapshot".'},{modelId:"gpt-5.1-chat-latest",date:"2025-11-13",kind:"introduced",confirmed:!0,sourceUrl:"https://developers.openai.com/api/docs/changelog",note:"Introduced inside the GPT-5.1 launch entry, not as a standalone entry."},{modelId:"gpt-5.2-chat-latest",date:"2025-12-11",kind:"introduced",confirmed:!0,sourceUrl:"https://developers.openai.com/api/docs/changelog",note:"Introduced inside the GPT-5.2 launch entry."},{modelId:"gpt-5.2-chat-latest",date:"2026-02-10",kind:"repointed",confirmed:!0,sourceUrl:"https://developers.openai.com/api/docs/changelog",note:'Verbatim: "Updated the gpt-5.2-chat-latest slug to point to the latest model currently used in ChatGPT." Target model NOT named.'},{modelId:"gpt-5.3-chat-latest",date:"2026-03-03",kind:"introduced",confirmed:!0,sourceUrl:"https://developers.openai.com/api/docs/changelog",note:'Verbatim: "Released gpt-5.3-chat-latest to the Chat Completions and Responses API. This model points to the GPT-5.3 Instant snapshot currently used in ChatGPT."'},{modelId:"gpt-5.3-chat-latest",date:"2026-03-16",kind:"repointed",confirmed:!0,sourceUrl:"https://developers.openai.com/api/docs/changelog",note:'Verbatim: "Updated the gpt-5.3-chat-latest slug to point to the latest model currently used in ChatGPT." Target model NOT named.'},{modelId:"chat-latest",date:"2026-05-05",kind:"introduced",confirmed:!0,sourceUrl:"https://developers.openai.com/api/docs/changelog",note:'Verbatim: "Released chat-latest snapshot which points to the latest Instant model currently used in ChatGPT... The underlying model snapshot will be regularly updated."'},{modelId:"chat-latest",date:"2026-05-28",kind:"repointed",confirmed:!1,sourceUrl:"https://developers.openai.com/api/docs/changelog",note:'UNCONFIRMED. The entry reads "Released chat-latest snapshot..." — the verb is "Released", the same boilerplate as the 2026-05-05 entry, not "Updated" as used on 2026-06-24. Only "the latest improvements" vs "our latest improvements" differs. Either a real change logged with copy-pasted text, or a duplicated entry; the record does not disambiguate.'},{modelId:"chat-latest",date:"2026-06-24",kind:"repointed",confirmed:!0,sourceUrl:"https://developers.openai.com/api/docs/changelog",note:'Verbatim (re-read at source 2026-07-20): "Updated the chat-latest snapshot, which points to the latest Instant model currently used in ChatGPT." The verb is "Updated", unlike the "Released" boilerplate of 2026-05-05 and 2026-05-28, which is the wording the changelog reserves for a real change. Target model NOT named. The only unambiguous chat-latest change on record.'}];MI.repointed;new Set(BI.map(e=>e.modelId.toLowerCase()));const LI=j(["not-exposed","no-known-change","known-change"]);LI.enum;const VI=d({modelId:o().trim().min(1),date:o().regex(/^\d{4}-\d{2}-\d{2}$/),confirmed:C(),sourceUrl:o().url()}),UI=d({status:j(["no-known-change","known-change"]),modelIds:y(o().trim().min(1)).min(1),changes:y(VI),changeCount:m().int().nonnegative(),unverifiedChangeCount:m().int().nonnegative(),firstChangeDate:o().optional(),lastChangeDate:o().optional(),knownGoodAsOf:o(),checkedThroughPeriodEnd:C()}),$I={openai:"ChatGPT",chatgpt:"ChatGPT",anthropic:"Claude",claude:"Claude",google:"Gemini",gemini:"Gemini",perplexity:"Perplexity"};function GI(e){const n=e.trim().toLowerCase();return $I[n]??e.charAt(0).toUpperCase()+e.slice(1)}function Ph(e){return typeof e=="number"&&Number.isFinite(e)&&e>0?Math.floor(e):0}function Kl(e){return typeof e=="string"&&e.trim().length>=10?e.trim().slice(0,10):null}function qh(e){return[...new Set(e.filter(n=>n!==null))].sort()}function KI(e,n){const i=GI(e),r=Array.isArray(n.changes)?n.changes:[],u=Ph(n.changeCount)||r.length,h=Math.min(u,Ph(n.unverifiedChangeCount)||Ph(n.unconfirmedChangeCount)||r.filter(k=>k.confirmed===!1).length),g=Kl(n.knownGoodAsOf),b=n.checkedThroughPeriodEnd!==!1,v={engine:i,confirmedCount:u-h,unconfirmedCount:h,knownGoodAsOf:g,checkedThroughPeriodEnd:b};if(r.length>0)return{...v,confirmedDates:qh(r.filter(k=>k.confirmed!==!1).map(k=>Kl(k.date))),unconfirmedDates:qh(r.filter(k=>k.confirmed===!1).map(k=>Kl(k.date)))};const w=qh([Kl(n.firstChangeDate),Kl(n.lastChangeDate)]);return u===0?{...v,confirmedDates:[],unconfirmedDates:[]}:h===0?{...v,confirmedDates:w,unconfirmedDates:[]}:v.confirmedCount===0?{...v,confirmedDates:[],unconfirmedDates:w}:{...v,confirmedDates:[],unconfirmedDates:[]}}function HI(e){return e.length===1?e[0]:e.length===2?`${e[0]} and ${e[1]}`:`${e.slice(0,-1).join(", ")}, and ${e[e.length-1]}`}function jx(e,n){return e.length===0?null:e.length===1&&n<=1?`on ${e[0]}`:`more than once between ${e[0]} and ${e[e.length-1]}`}function QI(e){const n=jx(e.confirmedDates,e.confirmedCount),i=jx(e.unconfirmedDates,e.unconfirmedCount),r=`The model behind ${e.engine}`;if(e.confirmedCount>0&&e.unconfirmedCount===0)return n?`${r} was updated ${n}, inside this period.`:`${r} was updated inside this period.`;if(e.confirmedCount===0)return i?`${r} may have been updated ${i}, inside this period, though that is not confirmed.`:`${r} may have been updated inside this period, though that is not confirmed.`;if(n&&i)return`${r} was updated ${n}, inside this period, and may also have been updated ${i}.`;const u=e.unconfirmedCount>1?"more times":"once more";return`${r} was updated inside this period, and may have been updated ${u}, though that is not confirmed.`}function Ax(e){const n=e.filter(r=>!r.checkedThroughPeriodEnd&&r.knownGoodAsOf!==null);return n.length===0?null:`We last checked for model updates on ${n.map(r=>r.knownGoodAsOf).sort()[0]}, and this period runs past that date, so there may be later updates we do not know about.`}function ZX(e){const n=Object.entries(e??{}).map(([v,w])=>KI(v,w??{})).sort((v,w)=>v.engine.localeCompare(w.engine));if(n.length===0)return null;const i=n.filter(v=>v.confirmedCount+v.unconfirmedCount>0);if(i.length===0){const v=[...new Set(n.map(_=>_.engine))],w=v.length>1,k=Ax(n),A=[...new Set(n.map(_=>_.knownGoodAsOf).filter(_=>_!==null))].sort(),T=k??(A.length>0?`We last checked for model updates on ${A[0]}.`:null);return{kind:"no-known-change",text:`No model updates are on record for ${HI(v)} in this period.`,detail:`${w?"These engines":"This engine"} can be moved onto a different underlying model without the data ever showing a different model name, so we check each period against a record of known updates. Nothing is listed inside this one.${T?` ${T}`:""}`}}const r=i.reduce((v,w)=>v+w.confirmedCount+w.unconfirmedCount,0),u=i.some(v=>v.confirmedCount>0),h=r===1?"this update":"these updates",g=u?`Some of the movement in these numbers may come from ${h} rather than from a real change in how AI answers about you, so compare periods carefully.`:`If so, some of the movement in these numbers may come from ${h} rather than from a real change in how AI answers about you, so compare periods carefully.`,b=Ax(n);return{kind:"change",text:`${i.map(QI).join(" ")} ${g}${b?` ${b}`:""}`}}const mo=d({slope:m(),intercept:m(),r2:m(),start:m(),end:m(),n:m(),startIndex:m(),endIndex:m()}),FI=j(["gsc","ga4","gbp"]);d({id:o(),domain:o(),connectionType:FI,propertyId:o().nullable().optional(),sitemapUrl:o().nullable().optional(),scopes:y(o()).default([]),createdAt:o(),updatedAt:o()});const ZI=d({date:o(),query:o(),page:o(),country:o().nullable().optional(),device:o().nullable().optional(),clicks:m(),impressions:m(),ctr:xe(),position:m()});j(["clicks","impressions","date"]);d({rows:y(ZI),totalMatching:m(),truncated:C(),latestAvailableDate:o().nullable()});const YI=d({date:o(),clicks:m(),impressions:m(),ctr:xe(),position:m().nullable()}),V2=d({startDate:o().nullable(),endDate:o().nullable(),latestDataDate:o().nullable(),daysSinceLatestData:m().nullable()}),XI=d({clicks:mo.nullable(),impressions:mo.nullable(),ctr:mo.nullable(),position:mo.nullable()}),Cx=d({startDate:o(),endDate:o(),clicks:m(),impressions:m(),ctr:xe().nullable(),position:m().nullable(),source:j(["property-daily","dimensioned","mixed","empty"])}),WI=d({days:m(),basis:j(["prior-window","split-window"]).optional(),prior:Cx,trailing:Cx,comparable:C(),change:d({clicks:xe().nullable(),impressions:xe().nullable(),ctr:xe().nullable(),position:xe().nullable()})});d({totals:d({clicks:m(),impressions:m(),ctr:xe(),position:m().nullable(),positionDays:m(),days:m()}),daily:y(YI),window:V2.optional(),trends:XI.optional(),periodComparison:WI.nullable().optional()});const JI=d({page:o(),clicks:m(),impressions:m(),ctr:xe()});d({rows:y(JI),totals:d({clicks:m(),impressions:m(),ctr:xe(),days:m(),coveredFrom:o().nullable(),coveredThrough:o().nullable(),complete:C()}).nullable(),totalsSource:D("property-daily"),rankedFrom:o().nullable(),rankedThrough:o().nullable()});const eP=j(["google","page-summed","mixed"]),tP=d({query:o(),clicks:m(),impressions:m(),ctr:xe(),position:m(),days:m(),source:eP});d({rows:y(tP),totalMatching:m(),truncated:C(),window:V2});const kf=d({id:o(),url:o(),indexingState:o().nullable().optional(),verdict:o().nullable().optional(),coverageState:o().nullable().optional(),pageFetchState:o().nullable().optional(),robotsTxtState:o().nullable().optional(),crawlTime:o().nullable().optional(),lastCrawlResult:o().nullable().optional(),isMobileFriendly:C().nullable().optional(),richResults:y(o()).default([]),referringUrls:y(o()).default([]),inspectedAt:o()});j(["stable","reindexed","deindexed","still-missing","new"]);const nP=d({url:o(),previousState:o().nullable(),currentState:o().nullable(),transitionDate:o()}),aP=d({reason:o(),count:m(),urls:y(kf).default([])});d({summary:d({total:m(),indexed:m(),notIndexed:m(),deindexed:m(),percentage:Oe(),indexedShare:xe(m().min(0).max(1)).nullable(),notIndexedShare:xe(m().min(0).max(1)).nullable()}),lastInspectedAt:o().nullable(),lastSyncedAt:o().nullable(),indexed:y(kf).default([]),notIndexed:y(kf).default([]),deindexed:y(nP).default([]),reasonGroups:y(aP).default([])});d({url:o(),type:j(["URL_UPDATED","URL_DELETED"]),notifiedAt:o()});const iP=d({url:o(),type:j(["URL_UPDATED","URL_DELETED"]),notifiedAt:o(),status:j(["success","error"]),error:o().optional()});d({summary:d({total:m().int().nonnegative(),succeeded:m().int().nonnegative(),failed:m().int().nonnegative()}),results:y(iP).default([])});d({date:o(),indexed:m(),notIndexed:m(),unknownPages:m().default(0),verifiedByInspection:m().default(0),derivedFromImpressions:m().default(0),reasonBreakdown:Ge(o(),m()).default({})});const sP=d({siteUrl:o(),permissionLevel:o()});d({sites:y(sP).default([])});const oP=d({type:o(),submitted:o(),indexed:o().optional().describe("Deprecated compatibility field.")}),U2=d({path:o(),parentSitemapUrl:o().optional(),lastSubmitted:o().optional(),isPending:C().optional(),isSitemapsIndex:C().optional(),type:o().optional(),lastDownloaded:o().optional(),warnings:o().optional(),errors:o().optional(),contents:y(oP).optional()});d({sitemaps:y(U2).default([]),summary:d({total:m().int().nonnegative(),indexes:m().int().nonnegative(),files:m().int().nonnegative()}),preferredSubmissionUrls:y(o()).default([])});d({sitemapUrls:y(o().url().refine(e=>{const n=new URL(e).protocol;return n==="http:"||n==="https:"},{message:"Sitemap URL must use http or https."})).min(1).max(50)});const rP=d({sitemapUrl:o(),status:j(["accepted","error"]),submittedAt:o().optional(),error:o().optional()});d({summary:d({total:m().int().nonnegative(),accepted:m().int().nonnegative(),failed:m().int().nonnegative()}),results:y(rP)});d({sitemaps:y(U2),primarySitemapUrl:o(),run:d({id:o(),projectId:o(),kind:o(),status:o(),trigger:o(),createdAt:o()}).nullable()});const mt=o().trim().min(1),Nx=o().regex(/^[a-f0-9]{64}$/i);function lP(e){if(!/^\d{4}-\d{2}-\d{2}$/.test(e))return!1;const n=new Date(`${e}T00:00:00.000Z`);return!Number.isNaN(n.getTime())&&n.toISOString().slice(0,10)===e}const Yn=o().refine(lP,{message:"Expected a calendar date as YYYY-MM-DD."});function cP(e,n){const i=Date.parse(`${e}T00:00:00.000Z`),r=Date.parse(`${n}T00:00:00.000Z`);return Math.floor((r-i)/864e5)+1}const uP=j(["not-connected","selection-required","connected","stale"]),$u=uP.enum,$2=j(["enabled","suspended","closed","canceled","unspecified","unknown"]);$2.enum;const U0=j(["enabled","paused","removed","unknown"]);U0.enum;const G2=j(["enabled","hidden","removed","unknown"]);G2.enum;const $0=j(["customer","campaign"]);$0.enum;const K2=j(["customer-goal","campaign-goal","custom-goal"]);K2.enum;const H2=d({loginCustomerId:mt.nullable(),customerId:mt.nullable(),selectedAt:o().nullable()}).strict(),Mh=d({id:mt,projectId:mt,scopes:y(o()).default([]),selection:H2,lastValidatedAt:o().nullable(),lastInventorySnapshotAt:o().nullable(),lastMetricsSnapshotAt:o().nullable(),createdAt:o(),updatedAt:o()}).strict(),Sf=d({resourceName:mt,customerId:mt,parentCustomerId:mt.nullable(),descriptiveName:o().nullable(),currencyCode:o().nullable(),timeZone:o().nullable(),manager:C(),hidden:C(),testAccount:C(),level:m().int().nonnegative(),status:$2}).strict(),dP=d({customers:y(Sf),totalAccessible:m().int().nonnegative(),truncated:C(),selection:H2,fetchedAt:o()}).strict();Be("status",[d({connected:D(!1),status:D($u["not-connected"]),connection:ue(),selectedCustomer:ue()}).strict(),d({connected:D(!0),status:D($u["selection-required"]),connection:Mh,selectedCustomer:ue()}).strict(),d({connected:D(!0),status:D($u.connected),connection:Mh,selectedCustomer:Sf}).strict(),d({connected:D(!0),status:D($u.stale),connection:Mh,selectedCustomer:Sf}).strict()]);const mP=d({id:mt,resourceName:mt,name:o(),status:U0,advertisingChannelType:o().nullable(),biddingStrategyType:o().nullable()}).strict(),pP=d({id:mt,resourceName:mt,name:o(),status:G2,category:o(),origin:o(),primaryForGoal:C(),includeInConversionsMetric:C()}).strict(),hP=d({category:o(),origin:o(),biddable:C()}).strict(),fP=d({campaignId:mt,category:o(),origin:o(),biddable:C()}).strict(),gP=d({id:mt,name:o(),conversionActionIds:y(mt)}).strict(),yP=d({campaignId:mt,goalConfigLevel:$0,customGoalId:mt.nullable()}).strict(),bP=d({customerId:mt,fetchedAt:o(),campaigns:y(mP),conversionActions:y(pP),customerConversionGoals:y(hP),campaignConversionGoals:y(fP),campaignConversionGoalsComplete:C().optional(),customConversionGoals:y(gP),campaignGoalConfigurations:y(yP)}).strict(),vP=d({source:K2,category:o().nullable(),origin:o().nullable(),customGoalId:mt.nullable(),biddable:C().nullable(),conversionActionIds:y(mt),primaryConversionActionIds:y(mt),secondaryConversionActionIds:y(mt),missingConversionActionIds:y(mt)}).strict(),xP=d({campaignId:mt,goalConfigLevel:$0,customGoalId:mt.nullable(),missingCustomGoalId:mt.nullable(),goals:y(vP)}).strict();d({customerId:mt,derivedAt:o(),campaigns:y(xP)}).strict();const Q2=50,jf=31,wP=Q2*jf,kP=d({campaignIds:y(mt).min(1).max(Q2),startDate:Yn,endDate:Yn}).strict().superRefine((e,n)=>{if(new Set(e.campaignIds).size!==e.campaignIds.length&&n.addIssue({code:ye.custom,path:["campaignIds"],message:"Campaign IDs must be unique."}),e.endDate<e.startDate){n.addIssue({code:ye.custom,path:["endDate"],message:"endDate must not precede startDate."});return}cP(e.startDate,e.endDate)>jf&&n.addIssue({code:ye.custom,path:["endDate"],message:`Campaign metrics may cover at most ${jf} calendar days.`})}),SP=d({campaignId:mt,date:Yn,impressions:m().int().nonnegative(),clicks:m().int().nonnegative(),costMicros:m().int().nonnegative(),conversions:m().nonnegative(),conversionValueMicros:m().int().nonnegative().nullable()}).strict(),jP=d({query:kP,rows:y(SP).max(wP),truncated:C(),fetchedAt:o()}).strict(),F2=j(["accessible-customers","inventory","campaign-metrics"]),Bh=F2.enum,G0=d({id:mt,projectId:mt,connectionId:mt,runId:mt,kind:F2,customerId:mt.nullable(),payloadChecksum:Nx,rawPayloadSha256:Nx.nullable(),rawPayloadBytes:m().int().nonnegative().nullable(),redactedFieldCount:m().int().nonnegative(),capturedAt:o(),createdAt:o()}).strict(),AP=Be("kind",[d({kind:D(Bh["accessible-customers"]),data:dP}).strict(),d({kind:D(Bh.inventory),data:bP}).strict(),d({kind:D(Bh["campaign-metrics"]),data:jP}).strict()]),CP=d({metadata:G0,payload:AP}).strict().superRefine((e,n)=>{e.metadata.kind!==e.payload.kind&&n.addIssue({code:ye.custom,path:["payload","kind"],message:"Snapshot metadata and payload kinds must match."})}),NP=j(["7d","14d","30d"]),K0=d({impressions:m().int().nonnegative(),clicks:m().int().nonnegative(),costMicros:m().int().nonnegative(),conversions:m().nonnegative(),conversionValueMicros:m().int().nonnegative().nullable(),ctr:xe().nullable(),cpcMicros:m().int().nonnegative().nullable(),conversionRate:xe().nullable(),costPerConversionMicros:m().int().nonnegative().nullable()}),_P=d({date:Yn,origin:j(["provider","filled"]),impressions:m().int().nonnegative(),clicks:m().int().nonnegative(),costMicros:m().int().nonnegative(),conversions:m().nonnegative(),ctr:xe().nullable()}),TP=d({campaignId:mt,name:o().nullable(),status:U0,totals:K0}),RP=d({snapshotId:mt,capturedAt:o(),customerId:mt,currencyCode:o().nullable(),timeZone:o().nullable(),asOfDate:Yn,openDate:Yn.nullable(),truncated:C(),campaignsQueried:m().int().nonnegative(),campaignsInInventory:m().int().nonnegative()}),EP=d({startDate:Yn,endDate:Yn,days:m().int().positive(),totals:K0}),DP=d({days:m().int().positive(),prior:EP,change:d({impressions:xe().nullable(),clicks:xe().nullable(),costMicros:xe().nullable(),conversions:xe().nullable(),ctr:xe().nullable(),conversionRate:xe().nullable()})});d({window:NP,startDate:Yn,endDate:Yn,days:m().int().positive(),totals:K0,daily:y(_P),campaigns:y(TP),comparison:DP.nullable(),comparisonUnavailableReason:j(["insufficient-history","no-snapshot"]).nullable(),source:RP.nullable()});const dt=o().trim().min(1),_x=o().regex(/^[a-f0-9]{64}$/i),zP=j(["not-connected","selection-required","connected","stale"]),Gu=zP.enum,OP=j(["live","draft"]),Z2=OP.enum,id=d({accountId:dt.nullable(),containerId:dt.nullable(),workspaceId:dt.nullable(),selectedAt:o().nullable()}).strict(),Lh=d({id:dt,projectId:dt,scopes:y(o()).default([]),selection:id,lastValidatedAt:o().nullable(),lastSnapshotAt:o().nullable(),createdAt:o(),updatedAt:o()}).strict(),Y2=d({id:dt,path:o(),name:o(),shareData:C().nullable()}).strict(),X2=d({accountId:dt,id:dt,path:o(),name:o(),publicId:o().nullable(),domainName:o().nullable(),usageContexts:y(o())}).strict(),H0=d({accountId:dt,containerId:dt,id:dt,path:o(),name:o(),description:o().nullable(),fingerprint:o().nullable()}).strict(),IP=d({accounts:y(Y2),totalAccessible:m().int().nonnegative(),truncated:C(),fetchedAt:o()}).strict();d({accountId:dt,containers:y(X2),totalAccessible:m().int().nonnegative(),truncated:C(),fetchedAt:o()}).strict();d({accountId:dt,containerId:dt,workspaces:y(H0),totalAccessible:m().int().nonnegative(),truncated:C(),fetchedAt:o()}).strict();const PP=d({id:dt,name:o(),type:o(),paused:C(),firingTriggerIds:y(dt),blockingTriggerIds:y(dt),referencedVariableIds:y(dt),parameterKeys:y(o()),fingerprint:o().nullable()}).strict(),qP=d({id:dt,name:o(),type:o(),customEventNames:y(o()),filterKeys:y(o()),autoEventFilterKeys:y(o()),fingerprint:o().nullable()}).strict(),MP=d({id:dt,name:o(),type:o(),dataLayerVariableName:o().nullable(),parameterKeys:y(o()),fingerprint:o().nullable()}).strict(),W2=j(["recognized","unknown"]),Tx=W2.enum,BP=j(["literal","variable-ref","absent","unknown"]),Fd=BP.enum,LP=o().trim().min(5).max(132).regex(/^\{\{\w[\w ./-]{0,127}\}\}$/),Ir=d({source:D(Fd.absent),literal:ue(),variableRef:ue()}).strict(),Pr=d({source:D(Fd.unknown),literal:ue(),variableRef:ue()}).strict(),qr=d({source:D(Fd["variable-ref"]),literal:ue(),variableRef:LP}).strict();function wc(e){return d({source:D(Fd.literal),literal:e,variableRef:ue()}).strict()}const VP=o().trim().max(23).regex(/^(?:AW-)?\d{1,20}$/i),UP=o().trim().min(1).max(128).regex(/^[\w-]+$/),$P=o().trim().min(1).max(20).regex(/^(?:0|[1-9]\d{0,11})(?:\.\d{1,6})?$/),GP=o().trim().length(3).regex(/^[a-z]{3}$/i);Be("source",[wc(o().trim().min(1).max(256)),qr,Ir,Pr]);const KP=Be("source",[wc(VP),qr,Ir,Pr]),HP=Be("source",[wc(UP),qr,Ir,Pr]),QP=Be("source",[wc($P),qr,Ir,Pr]),FP=Be("source",[qr,Ir,Pr]),ZP=Be("source",[wc(GP),qr,Ir,Pr]),J2=j(["all-pages","custom-event","filtered","unknown"]);J2.enum;const Rx=d({operator:o().trim().min(1).max(64),value:o().max(2048),negated:C(),ignoreCase:C()}).strict(),YP=d({triggerId:dt,triggerType:o(),eventPredicates:y(Rx),hostnamePredicates:y(Rx),unsupportedConditionCount:m().int().nonnegative()}).strict(),ej=j(["not-google-ads-tag","unsupported-tag-type","custom-html-opaque","conversion-id-unresolved","conversion-label-unresolved","value-mapping-missing","transaction-id-mapping-missing","currency-mapping-missing","trigger-unresolved","hostname-filter-unresolved"]);ej.enum;const XP=d({tagId:dt,tagType:o(),recognition:W2,recognitionReason:o().nullable(),conversionId:KP,conversionLabel:HP,value:QP,transactionId:FP,currency:ZP,triggerStrategy:J2,triggerIds:y(dt),triggerPredicates:y(YP),reviewReasons:y(ej)}).strict().superRefine((e,n)=>{e.recognition===Tx.recognized&&e.recognitionReason!==null&&n.addIssue({code:ye.custom,path:["recognitionReason"],message:"Recognized assessments cannot carry an unknown-recognition reason."}),e.recognition===Tx.unknown&&!e.recognitionReason&&n.addIssue({code:ye.custom,path:["recognitionReason"],message:"Unknown assessments require a recognition reason."})}),tj=d({accountId:dt,containerId:dt,workspaceId:dt.nullable(),tags:y(PP),triggers:y(qP),variables:y(MP),googleAdsTagAssessments:y(XP).default([])}).strict(),WP=d({accountId:dt,containerId:dt,id:dt,path:o(),name:o(),description:o().nullable(),fingerprint:o().nullable(),deleted:C()}).strict(),nj=d({source:D(Z2.live),version:WP,graph:tj,fetchedAt:o()}).strict(),aj=d({source:D(Z2.draft),workspace:H0,graph:tj,conflictCount:m().int().nonnegative(),fetchedAt:o()}).strict(),JP=d({account:Y2,container:X2,workspaces:y(H0),live:nj.nullable(),draft:aj.nullable(),fetchedAt:o()}).strict();Be("status",[d({connected:D(!1),status:D(Gu["not-connected"]),connection:ue(),selection:ue()}).strict(),d({connected:D(!0),status:D(Gu["selection-required"]),connection:Lh,selection:id}).strict(),d({connected:D(!0),status:D(Gu.connected),connection:Lh,selection:id}).strict(),d({connected:D(!0),status:D(Gu.stale),connection:Lh,selection:id}).strict()]);const ij=j(["accounts","container","live","draft"]),Ku=ij.enum,Q0=d({id:dt,projectId:dt,connectionId:dt,runId:dt,kind:ij,accountId:dt.nullable(),containerId:dt.nullable(),workspaceId:dt.nullable(),payloadChecksum:_x,rawPayloadSha256:_x.nullable(),rawPayloadBytes:m().int().nonnegative().nullable(),redactedFieldCount:m().int().nonnegative(),capturedAt:o(),createdAt:o()}).strict(),eq=Be("kind",[d({kind:D(Ku.accounts),data:IP}).strict(),d({kind:D(Ku.container),data:JP}).strict(),d({kind:D(Ku.live),data:nj}).strict(),d({kind:D(Ku.draft),data:aj}).strict()]),tq=d({metadata:Q0,payload:eq}).strict().superRefine((e,n)=>{e.metadata.kind!==e.payload.kind&&n.addIssue({code:ye.custom,path:["payload","kind"],message:"Snapshot metadata and payload kinds must match."})}),Zn=o().trim().min(1),nq=o().trim().min(1).refine(e=>fc(e)!==null,"Expected a hostname or http(s) URL."),F0=j(["configured","statically-consistent","runtime-unverified","observed"]);F0.enum;const sj=j(["pass","fail","unknown"]);sj.enum;const oj=j(["ads-connection-missing","ads-conversion-action-missing","ads-goal-missing","ads-goal-not-biddable","ads-action-not-primary","gtm-connection-missing","gtm-live-graph-missing","gtm-tag-missing","gtm-tag-unrecognized","gtm-tag-paused","gtm-trigger-missing","gtm-variable-missing","gtm-event-mismatch","gtm-hostname-mismatch","gtm-value-mapping-missing","gtm-transaction-id-mapping-missing","gtm-currency-mapping-missing","gtm-conversion-id-mismatch","gtm-conversion-label-mismatch","runtime-event-not-observed","runtime-gtm-not-observed","runtime-ads-not-observed"]);oj.enum;const rj=d({id:Zn,projectId:Zn,name:o().trim().min(1),eventName:o().trim().min(1),googleAds:d({customerId:Zn,conversionActionId:Zn,conversionId:o().trim().min(1).optional(),conversionLabel:o().trim().min(1).optional(),campaignIds:y(Zn).max(50).default([]),requireBiddableGoal:C().default(!0),requirePrimaryAction:C().default(!0)}).strict(),gtm:d({accountId:Zn,containerId:Zn,tagId:Zn,triggerIds:y(Zn).default([]),variableIds:y(Zn).default([])}).strict(),runtime:d({verificationRequired:C().default(!0),requireTransactionId:C().default(!0),requireValue:C().default(!0),requireCurrency:C().default(!0),productionHosts:y(nq).default([])}).strict(),createdAt:o(),updatedAt:o()}).strict();rj.omit({id:!0,projectId:!0,createdAt:!0,updatedAt:!0});const lj=j(["not-run","consistent","inconsistent"]);lj.enum;const cj=j(["not-run","not-observed","observed"]);cj.enum;d({staticCheck:lj,runtimeVerificationRequired:C(),runtimeObservation:cj}).strict();const aq=d({code:oj,subject:o().trim().min(1),outcome:sj,status:F0,evidenceIds:y(Zn).default([])}).strict(),iq=d({contract:rj,status:F0,findings:y(aq),evaluatedAt:o()}).strict(),Ex=d({id:Zn,name:o(),detail:o(),active:C()});d({googleAds:d({customerId:Zn.nullable(),syncedAt:o().nullable(),conversionActions:y(Ex)}),gtm:d({containerId:Zn.nullable(),syncedAt:o().nullable(),tags:y(Ex)})});const ec=o().trim().min(1);function Dx(e){const n=e.trim();return/^\d{10}$/.test(n)?n:/^\d{3}-\d{3}-\d{4}$/.test(n)?n.replaceAll("-",""):null}const sq=/^[\w-]+$/;function Z0(e){const n=e.trim();return sq.test(n)?n:null}function oq(e){const n=e.trim();return/^accounts\/([\w-]+)$/.exec(n)?.[1]??Z0(n)}function rq(e,n){const i=e.trim(),r=/^accounts\/([\w-]+)\/containers\/([\w-]+)$/.exec(i);return r?r[1]===n?r[2]:null:Z0(i)}function lq(e,n,i){const r=e.trim(),u=/^accounts\/([\w-]+)\/containers\/([\w-]+)\/workspaces\/([\w-]+)$/.exec(r);return u?u[1]===n&&u[2]===i?u[3]:null:Z0(r)}function cq(e){const n=Dx(e.customerId);if(!n)return null;if(e.loginCustomerId===null)return{loginCustomerId:null,customerId:n};if(e.loginCustomerId===void 0)return{customerId:n};const i=Dx(e.loginCustomerId);return i?{loginCustomerId:i,customerId:n}:null}function uq(e){const n=oq(e.accountId);if(!n)return null;const i=rq(e.containerId,n);if(!i)return null;if(e.workspaceId===void 0)return{accountId:n,containerId:i};const r=lq(e.workspaceId,n,i);return r?{accountId:n,containerId:i,workspaceId:r}:null}const Zd=j(["google-ads","gtm"]);Zd.enum;d({provider:Zd,publicUrl:o().url().optional(),developerToken:o().trim().min(1).max(512).optional()}).strict();d({provider:Zd,authorizationUrl:o().url(),redirectUri:o().url(),expiresAt:o().nullable()}).strict();d({loginCustomerId:ec.nullable().optional(),customerId:ec}).strict().superRefine((e,n)=>{cq(e)||n.addIssue({code:ye.custom,message:"Expected ten-digit Google Ads customer IDs, with optional 3-3-4 display hyphens."})});d({accountId:ec,containerId:ec,workspaceId:ec.optional()}).strict().superRefine((e,n)=>{uq(e)||n.addIssue({code:ye.custom,message:"GTM resource paths must match the selected account and container."})});d({provider:Zd,disconnected:C()}).strict();const uj=100;d({snapshots:y(G0).max(uj),nextCursor:o().nullable(),total:m().int().nonnegative()}).strict();d({snapshot:CP}).strict();d({snapshots:y(Q0).max(uj),nextCursor:o().nullable(),total:m().int().nonnegative()}).strict();d({snapshot:tq}).strict();d({assessment:iq,googleAdsSnapshot:G0.nullable(),gtmSnapshot:Q0.nullable()}).strict();d({id:o(),domain:o(),siteUrl:o().nullable().optional(),createdAt:o(),updatedAt:o()});const Vh=d({id:o(),url:o(),httpCode:m().nullable().optional(),inIndex:C().nullable().optional(),lastCrawledDate:o().nullable().optional(),inIndexDate:o().nullable().optional(),inspectedAt:o(),documentSize:m().nullable().optional(),anchorCount:m().nullable().optional(),discoveryDate:o().nullable().optional()});d({summary:d({total:m(),indexed:m(),notIndexed:m(),unknown:m().optional(),percentage:Oe()}),lastInspectedAt:o().nullable(),indexed:y(Vh).default([]),notIndexed:y(Vh).default([]),unknown:y(Vh).default([]).optional()});d({query:o(),impressions:m(),clicks:m(),ctr:xe(),averagePosition:m()});d({date:o(),indexed:m(),notIndexed:m(),unknown:m()});const dq=d({url:o(),status:j(["success","error"]),submittedAt:o(),error:o().optional()});d({summary:d({total:m().int().nonnegative(),succeeded:m().int().nonnegative(),failed:m().int().nonnegative()}),results:y(dq).default([])});const dj=d({url:o(),verified:C()});d({sites:y(dj).default([])});d({connected:C(),domain:o(),siteUrl:o().nullable(),createdAt:o().nullable(),updatedAt:o().nullable()});d({connected:C(),domain:o(),siteUrl:o().nullable(),availableSites:y(dj).default([])});d({siteUrl:o()});const mq=d({name:o(),alive:C(),lastUsed:o().nullable()});d({connected:C(),endpoint:o(),version:o().optional(),browserVersion:o().optional(),targets:y(mq).default([])});const Mr=j(["live","staging"]);d({projectName:o(),url:o(),stagingUrl:o().optional(),username:o(),defaultEnv:Mr,createdAt:o(),updatedAt:o()});const zx=d({url:o(),reachable:C(),pageCount:m().nullable().optional(),version:o().nullable().optional(),error:o().nullable().optional(),plugins:y(o()).optional(),authenticatedUser:d({id:m(),slug:o()}).nullable().optional()});d({connected:C(),projectName:o(),defaultEnv:Mr,live:zx.nullable(),staging:zx.nullable(),adminUrl:o().nullable().optional()});const pq=d({id:m(),slug:o(),title:o(),status:o(),modifiedAt:o().nullable().optional(),link:o().nullable().optional()}),mj=d({title:o().nullable(),description:o().nullable(),noindex:C().nullable(),writable:C().default(!1),writeTargets:y(o()).default([])}),hq=d({type:o(),json:Ge(o(),vn())}),fq=pq.extend({env:Mr,content:o(),seo:mj,schemaBlocks:y(hq).default([])}),Ox=fq.extend({contentHash:o(),contentSnippet:o()}),pj=d({manualRequired:D(!0),targetUrl:o(),adminUrl:o().nullable().optional(),content:o(),nextSteps:y(o()).default([])}),gq=d({slug:o(),severity:j(["high","medium","low"]),code:j(["noindex","missing-seo-title","missing-meta-description","missing-schema","thin-content"]),message:o()});d({slug:o(),title:o(),status:o(),wordCount:m(),seo:mj,schemaPresent:C(),issues:y(gq).default([])});const yq=d({slug:o(),status:j(["applied","skipped","manual"]),error:o().optional(),manualAssist:pj.optional()});d({env:Mr,strategy:j(["plugin","manual"]),results:y(yq)});const bq=d({slug:o(),status:j(["deployed","stripped","skipped","failed"]),schemasInjected:y(o()).optional(),manualAssist:pj.optional(),error:o().optional()});d({env:Mr,results:y(bq)});const vq=d({slug:o(),title:o(),canonrySchemas:y(o()),thirdPartySchemas:y(o()),hasCanonrySchema:C()});d({env:Mr,pages:y(vq)});const xq=d({name:o(),status:j(["completed","skipped","failed"]),summary:o().optional(),error:o().optional()});d({projectName:o(),steps:y(xq)});d({slug:o(),live:Ox,staging:Ox,hasDifferences:C(),differences:d({title:C(),slug:C(),content:C(),seoTitle:C(),seoDescription:C(),noindex:C(),schema:C()})});const wq=gS.shape.searchUnit.unwrap().enum;wq.query;const kq=d({name:o(),displayName:o().optional(),keyUrl:o().optional(),modelHint:o().optional(),model:o().optional(),defaultModel:o().optional(),configured:C(),quota:FE.optional(),vertexConfigured:C().optional()}),Sq=d({name:o(),displayName:o(),mode:j(["api","browser"]),modelConfigurable:C(),defaultModel:o(),knownModels:y(d({id:o(),displayName:o(),tier:j(["flagship","standard","fast","economy"])})).default([]),modelValidationPattern:d({source:o(),flags:o()}),modelValidationHint:o()}),Ix=d({configured:C()});d({providers:y(kq).default([]),providerCatalog:y(Sq).default([]),google:Ix,bing:Ix});const jq=j(["recorded","errored","expired","canceled","parse_failed","duplicate"]);jq.enum;const Aq=j(["not_plan_run","scoped_run","probe_run","batch_unavailable","model_not_frozen"]);Aq.enum;Fv.standard,Fv.batch;const hj=j(["all","api","browser"]);hj.enum;const Cq=j(["yes","no","unknown","not-mentioned"]),Px=y(o().min(1)),qx=d({companyName:o().min(1),domain:o().min(1),queries:Px.optional(),phrases:Px.optional(),competitors:y(o().min(1)).optional(),providers:y(o().trim().min(1)).min(1).optional().describe("Configured provider names to use for both answers and analysis. Omit to use all providers matching providerMode."),providerMode:hj.optional().describe("Filter providers by transport; defaults to all. Browser-only selection requires manual queries and uses no API provider for analysis.")}).superRefine((e,n)=>{e.queries!==void 0&&e.phrases!==void 0&&n.addIssue({code:"custom",message:"Use queries; phrases is accepted only as a legacy alias when queries is omitted",path:["phrases"]})});qx.safeExtend({competitors:qx.shape.competitors.default([])});const Nq=d({name:o(),count:m().int().nonnegative()}),_q=d({id:o(),name:o(),weight:m(),score:m(),findings:y(d({type:o(),message:o()})).default([]),recommendations:y(o()).default([])}),Tq=d({url:o(),finalUrl:o(),auditedAt:o(),overallScore:m(),summary:o(),factors:y(_q).default([])}),Rq=d({industry:o(),summary:o(),services:y(o()).default([]),categoryTerms:y(o()).default([])}),Eq=d({provider:o(),displayName:o(),model:o().nullable().optional(),mentioned:C(),cited:C(),describedAccurately:Cq,accuracyNotes:o().nullable().optional(),incorrectClaims:y(o()).default([]),recommendedCompetitors:y(o()).default([]),citedDomains:y(o()).default([]),groundingSources:y(Gd).default([]),searchQueries:y(o()).default([]),answerText:o(),error:o().nullable().optional()}),Dq=d({query:o(),providerResults:y(Eq).default([])}),zq=d({totalQueries:m().int().nonnegative(),totalProviders:m().int().nonnegative(),totalComparisons:m().int().nonnegative(),mentionCount:m().int().nonnegative(),citationCount:m().int().nonnegative(),topCompetitors:y(Nq).default([]),visibilityGap:o(),whatThisMeans:y(o()).default([]),recommendedActions:y(o()).default([])});d({companyName:o(),domain:o(),homepageUrl:o(),generatedAt:o(),queries:y(o()).default([]),competitors:y(o()).default([]),profile:Rq,audit:Tq,queryResults:y(Dq).default([]),summary:zq});const fj=Fe([ua,ue()]),Y0=j(["pass","partial","fail"]);Y0.enum;const gj=j(["up","down","flat"]);gj.enum;const Oq=d({id:o(),name:o(),weight:m(),sharePct:Oe(m().min(0).max(100)).nullable().default(null),avgScore:m(),status:Y0,pagesPassing:m().int().nonnegative(),pagesPartial:m().int().nonnegative(),pagesFailing:m().int().nonnegative()}),Iq=d({factorId:o(),factorName:o(),avgScore:m(),affectedPages:m().int().nonnegative(),totalPages:m().int().nonnegative(),affectedPct:Oe(m().nonnegative()),topRecommendations:y(o()).default([])});d({project:o(),hasData:C(),runId:o().nullable(),runStatus:fj,sitemapUrl:o().nullable(),auditedAt:o().nullable(),aggregateScore:m(),pagesDiscovered:m().int().nonnegative(),pagesAudited:m().int().nonnegative(),pagesSkipped:m().int().nonnegative(),pagesErrored:m().int().nonnegative(),deltaScore:m().nullable(),trend:Fe([gj,ue()]),previousScore:m().nullable(),previousAuditedAt:o().nullable(),factors:y(Oq).default([]),crossCuttingIssues:y(Iq).default([]),prioritizedFixes:y(o()).default([])});const yj=d({id:o(),name:o(),weight:m(),score:m(),sharePct:Oe(m().min(0).max(100)).nullable().default(null)}),Pq=d({url:o(),overallScore:m(),status:j(["success","error"]),error:o().nullable().optional(),factors:y(yj).default([])});d({project:o(),runId:o().nullable(),auditedAt:o().nullable(),total:m().int().nonnegative(),pages:y(Pq).default([])});const qq=d({runId:o(),auditedAt:o(),aggregateScore:m(),pagesAudited:m().int().nonnegative()});d({project:o(),points:y(qq).default([])});const Mq=j(["disabled","complete","partial","unavailable"]);Mq.enum;const Bq=d({pagesDiscovered:m().int().nonnegative(),pagesFetched:m().int().nonnegative(),pagesEligible:m().int().nonnegative(),edges:m().int().nonnegative(),findings:m().int().nonnegative()}),Lq=Be("state",[d({state:D("unavailable")}),d({state:D("disabled")}),d({state:D("complete"),checked:m().int().nonnegative(),found:m().int().nonnegative(),unverified:m().int().nonnegative()}),d({state:D("partial"),checked:m().int().nonnegative(),found:m().int().nonnegative(),unverified:m().int().nonnegative()})]);d({project:o(),hasCrawlData:C(),legacyAuditAvailable:C(),runId:o().nullable(),runStatus:fj,requestedRootUrl:o().nullable(),rootUrl:o().nullable(),crawlSchemaVersion:o().nullable().optional(),engineVersion:o().nullable().optional(),normalizationVersion:o().nullable().optional(),indexabilityVersion:o().nullable().optional(),linkScoreVersion:o().nullable().optional(),effectiveOptions:Ge(o(),vn()).default({}),complete:C(),termination:o().nullable(),detailsAvailable:C(),counts:Bq,deadLinks:Lq});j(["complete","unknown","max-pages","max-edges","max-fetches","max-duration","max-bytes","max-page-bytes","max-depth","max-links-per-page","max-query-variants","max-sitemap-fanout","max-sitemap-urls","root-host-redirect"]);const Yd=j(["eligible","hidden","resource","redirect","failed","unchecked"]),YX=Yd.enum,XX=Yd.options,mr={discovered:"discovered",robotsBlocked:"robots-blocked",html:"html",redirect:"redirect",nonHtml:"non-html",fetchError:"fetch-error"},Hu={indexable:"indexable",noindex:"noindex",blocked:"blocked",unknown:"unknown"},Vq={robotsDisallow:"robots-disallow",redirectTerminal:"redirect-terminal",metaRobotsNoindex:"meta-robots-noindex",xRobotsNoindex:"x-robots-noindex",canonicalToOther:"canonical-to-other",notHtmlOrUnavailable:"not-html-or-unavailable"};function Uq(e){return e.indexabilityReasons?.some(n=>n===Vq.canonicalToOther)===!0||e.nodeKey!==void 0&&e.canonicalNodeKey!==null&&e.canonicalNodeKey!==void 0&&e.canonicalNodeKey!==e.nodeKey}function WX(e){switch(e.fetchState){case mr.fetchError:return"failed";case mr.discovered:return"unchecked";case mr.nonHtml:return"resource";case mr.redirect:return"redirect";case mr.robotsBlocked:return"hidden";case mr.html:break;default:return"unchecked"}if(Uq(e))return"hidden";switch(e.indexabilityState){case Hu.indexable:return"eligible";case Hu.noindex:case Hu.blocked:return"hidden";case Hu.unknown:default:return"unchecked"}}const JX=15,$q=j(["navigation","content","unknown"]);$q.enum;const Gq=d({navigation:m().int().nonnegative(),content:m().int().nonnegative(),unknown:m().int().nonnegative()}),bj=j(["placement","ubiquity","unmeasured"]);bj.enum;const Xd=j(["applied","applied-placement","applied-placement-with-ubiquity","applied-placement-partial","unavailable-too-few-pages","unavailable-legacy-scan"]);Xd.enum;function eW(e){switch(e){case"applied":case"applied-placement":case"applied-placement-with-ubiquity":case"applied-placement-partial":return!0;case"unavailable-too-few-pages":case"unavailable-legacy-scan":return!1}}const Wd=j(["all","content","template"]);Wd.enum;const Kq=j(["anchor","redirect","canonical","link"]);Kq.enum;const uc=d({nodeKey:o(),url:o(),finalUrl:o().nullable(),path:o(),parentPath:o(),discoverySource:o(),fetchState:o(),httpStatus:m().int().nullable(),canonicalUrl:o().nullable(),indexabilityState:o(),indexabilityReasons:y(o()).default([]),auditState:o(),auditScore:m().nullable(),inventoryEligible:C(),depth:m().int().nullable(),inboundUniqueEdges:m().int().nonnegative(),outboundUniqueEdges:m().int().nonnegative(),inboundOccurrences:m().int().nonnegative(),outboundOccurrences:m().int().nonnegative(),linkScoreRaw:m().nullable(),linkScoreNormalized:Oe().nullable(),healthState:Yd}),Hq=d({type:j(["found","missing","info","timeout","unreachable"]),code:o().min(1),message:o().min(1)}),Mx=yj.extend({status:Y0,applicable:C().nullable(),findings:y(Hq).default([]),recommendations:y(o()).default([])}),Bx=d({id:o().min(1),severity:j(["critical","warning"]),detail:o().min(1),recommendation:o().min(1)}),Qu=d({project:o(),runId:o(),complete:C(),termination:o().nullable()}),Lx=d({nodeKey:o(),url:o(),auditState:o()});Be("state",[d({state:D("no-crawl"),project:o(),runId:ue()}),Qu.extend({state:D("details-unavailable")}),Qu.extend({state:D("not-found")}),Qu.merge(Lx).extend({state:D("not-audited"),auditScore:ue(),factors:y(Mx).length(0).default([]),criticalDefects:y(Bx).length(0).default([])}),Qu.merge(Lx).extend({state:D("ready"),auditScore:m(),evidenceState:j(["complete","scores-only"]),factors:y(Mx).default([]),criticalDefects:y(Bx).default([])})]);const Qq=j(["applied","unavailable-legacy-scan"]);d({project:o(),hasCrawlData:C(),runId:o().nullable(),total:m().int().nonnegative(),nextCursor:o().nullable(),healthStateFilter:Fe([Qq,ue()]).default(null),pages:y(uc).default([])});const Fq=d({path:o(),url:o().nullable(),hasPage:C(),pageCount:m().int().positive(),inventoryEligibleCount:m().int().nonnegative(),fetchedCount:m().int().nonnegative()});d({project:o(),hasCrawlData:C(),runId:o().nullable(),parentPath:o(),nextCursor:o().nullable(),children:y(Fq).default([])});const fo=d({edgeKey:o(),sourceNodeKey:o(),sourceUrl:o(),targetNodeKey:o().nullable(),targetUrl:o(),relation:o(),internal:C(),followable:C(),occurrences:m().int().positive(),followableOccurrences:m().int().nonnegative(),nofollowOccurrences:m().int().nonnegative(),anchors:y(o()).default([]),isTemplate:Fe([C(),ue()]),templateRatio:Fe([xe(),ue()]),templateSource:bj,placementOccurrences:Fe([Gq,ue()])}),Zq=d({nodeKey:o(),url:o(),path:o(),depth:m().int().nonnegative().nullable(),indexabilityState:o(),fetchState:o(),auditState:o(),auditScore:m().nullable(),inventoryEligible:C(),inboundUniqueEdges:m().int().nonnegative(),outboundUniqueEdges:m().int().nonnegative(),linkScoreNormalized:Oe().nullable(),healthState:Yd,x:m(),y:m()}),Yq=d({edgeKey:o(),sourceNodeKey:o(),targetNodeKey:o(),followable:C(),occurrences:m().int().positive(),isTemplate:C()}),Xq=j(["no-crawl","legacy-snapshot","details-unavailable","layout-failed","empty-crawl"]),Wq=Be("state",[d({state:D("ready"),version:o().min(1),computedAt:o().min(1),templateLinksExcluded:C()}),d({state:D("unavailable"),version:ue(),reason:Xq})]);d({project:o(),hasCrawlData:C(),runId:o().nullable(),rootNodeKey:o().nullable(),layout:Wq,templateDetection:Xd,linkKind:Wd,totalNodes:m().int().nonnegative(),totalEdges:m().int().nonnegative(),totalTemplateEdges:m().int().nonnegative(),totalContentEdges:m().int().nonnegative(),nodes:y(Zq).default([]),edges:y(Yq).default([]),omittedNodes:m().int().nonnegative(),omittedEdges:m().int().nonnegative(),sampled:C()});const tW=2e4,nW=5e4,Jq=j(["focus","inbound","outbound","both","transitive"]),eM=uc.extend({distance:m().int().nonnegative(),relationToFocus:Jq});d({project:o(),hasCrawlData:C(),runId:o().nullable(),complete:C(),termination:o().nullable(),state:j(["no-crawl","details-unavailable","ready"]),focusNodeKey:o().nullable(),focusUrl:o().nullable(),hops:m().int().min(0).max(3),totalNodes:m().int().nonnegative(),totalEdges:m().int().nonnegative(),nodes:y(eM).default([]),edges:y(fo).default([]),omittedNodes:m().int().nonnegative(),omittedEdges:m().int().nonnegative(),countAccuracy:j(["exact","lower-bound"]),truncated:C()});const Vx=d({nodeKey:o(),url:o(),path:o()});d({project:o(),runId:o().nullable(),complete:C(),termination:o().nullable(),state:j(["no-crawl","details-unavailable","found","unreachable","truncated"]),from:Vx.nullable(),to:Vx.nullable(),maxDepth:m().int().positive(),visitedNodes:m().int().nonnegative(),nodes:y(uc).default([]),edges:y(fo).default([])});const vj=j(["added","removed","changed"]),tM=d({entity:D("page"),change:vj,key:o(),changedFields:y(o()).default([]),before:uc.nullable(),after:uc.nullable()}),nM=d({entity:D("link"),change:vj,key:o(),changedFields:y(o()).default([]),before:fo.nullable(),after:fo.nullable()}),aM=Be("entity",[tM,nM]),Ux=d({added:m().int().nonnegative(),removed:m().int().nonnegative(),changed:m().int().nonnegative()}),iM=d({scope:j(["all","pages","links"]),change:j(["all","added","removed","changed"])});Be("state",[d({project:o(),state:D("unavailable"),reason:j(["no-crawl","insufficient-history","details-unavailable","partial-not-comparable"]),fromRunId:o().nullable(),toRunId:o().nullable()}),d({project:o(),state:D("incompatible"),reason:D("incompatible-versions"),fromRunId:o(),toRunId:o(),mismatchedVersions:y(o()).min(1)}),d({project:o(),state:D("ready"),fromRunId:o(),toRunId:o(),versions:d({crawlSchema:o(),normalization:o(),indexability:o(),linkScore:o()}),filters:iM,summaryState:j(["exact","omitted-on-continuation"]),summary:d({pages:Ux,links:Ux}).nullable(),total:m().int().nonnegative().nullable(),nextCursor:o().nullable(),changes:y(aM).default([])})]);d({project:o(),hasCrawlData:C(),runId:o().nullable(),total:m().int().nonnegative(),nextCursor:o().nullable(),templateDetection:Xd,linkKind:Wd,edges:y(fo).default([])});d({project:o(),hasCrawlData:C(),runId:o().nullable(),nodeKey:o().nullable(),url:o().nullable(),templateDetection:Xd,linkKind:Wd,inbound:y(fo).default([]),outbound:y(fo).default([]),inboundTruncated:C(),outboundTruncated:C()});const $x=d({findingKey:o(),severity:o(),sourceNodeKey:o().nullable(),sourceUrl:o().nullable(),targetNodeKey:o().nullable(),targetUrl:o().nullable(),evidence:Ge(o(),vn()).default({})});Be("state",[d({project:o(),runId:o().nullable(),state:D("unavailable"),legacyAuditAvailable:C()}),d({project:o(),runId:o(),state:D("disabled"),checkDeadLinks:D(!1)}),d({project:o(),runId:o(),state:D("complete"),checkDeadLinks:D(!0),checked:m().int().nonnegative(),found:m().int().nonnegative(),unverified:m().int().nonnegative(),total:m().int().nonnegative(),nextCursor:o().nullable(),deadLinks:y($x).default([])}),d({project:o(),runId:o(),state:D("partial"),checkDeadLinks:D(!0),checked:m().int().nonnegative(),found:m().int().nonnegative(),unverified:m().int().nonnegative(),total:m().int().nonnegative(),nextCursor:o().nullable(),deadLinks:y($x).default([])})]);const aW=1e3,iW=10,xj=100;d({sitemapUrl:o().url().optional(),limit:m().int().positive().max(2e3).optional(),maxPages:m().int().positive().max(5e4).optional(),maxEdges:m().int().positive().max(1e6).optional(),maxDepth:m().int().min(0).max(100).optional(),checkDeadLinks:C().default(!1)});d({runId:o(),status:ua});const sM=d({runId:o(),status:ua,createdAt:o(),startedAt:o().nullable(),finishedAt:o().nullable(),hasCrawlData:C()});d({project:o(),scans:y(sM).default([])});const oM=j(["queued","discovering","checking","arranging-map","completed","partial","failed","cancelled"]),rM=d({state:j(["pending","ready","unavailable"]),layoutVersion:o().nullable(),failureCode:o().nullable(),updatedAt:o().nullable()}),lM=d({id:o(),state:o(),pagesDiscovered:m().int().nonnegative(),pagesFetched:m().int().nonnegative(),pagesEligible:m().int().nonnegative(),pagesErrored:m().int().nonnegative(),edgesDiscovered:m().int().nonnegative(),lastUpdatedAt:o(),startedAt:o().nullable(),finishedAt:o().nullable(),error:o().nullable()});d({project:o(),runId:o(),status:ua,phase:oM,attempt:lM.nullable(),layout:rM,error:o().nullable()});const cM=j(["waiting","collecting","terminal"]),uM=d({nodeKey:o(),url:o(),auditScore:m(),checksNeedingAttention:m().int().nonnegative()});d({project:o(),runId:o(),status:ua,state:cM,attemptId:o().nullable(),pagesAudited:m().int().nonnegative(),updatedAt:o().nullable(),examples:y(uM).max(12).default([])});const dM=d({basis:j(["tracked","observed"]).nullable(),availability:j(["measured","not-measured","unavailable"]),reason:j(["select-query-class","no-competitors","insufficient-observed","no-answers","no-mentions","unavailable"]).nullable()}),X0=dM.partial().shape;function sW(e){switch(e){case"select-query-class":return"Select a query class.";case"no-competitors":return"No competitors configured.";case"insufficient-observed":return"Requires 3 observed competitors mentioned in at least 3 answers each.";case"no-answers":return"No answer text in scope.";case"no-mentions":return"No brands mentioned in scope.";case"unavailable":return"Competitor evidence is unavailable.";default:return""}}function mM(e,n){const i=n?.availability==="unavailable"?"Unavailable":n?.availability==="not-measured"||e===null?"Not measured":yn(e,At.percent);return n?.basis?`${i} · ${n.basis} competitors`:i}function oW(e,n,i){return`Share of voice · ${n} queries: ${mM(e,i)}${i?.measurementScope==="all-markets"?" · all markets":""}`}const W0=j(["competitor","directory","social","forum","news","reference","blog","ecommerce","video","academic","other"]),sd=W0.enum,J0=j(["cited","aspirational","wasted-surface"]),Gx=J0.enum;Gx.cited,Gx.aspirational;const Jd=j(["direct-competitor","ota-aggregator","editorial-media","other","unknown"]),pM=Jd.enum;pM["direct-competitor"];const em=j(["queued","seeding","probing","completed","failed"]);em.enum;const wj=d({domain:o().min(1),hits:m().int().positive(),competitorType:Jd.default("unknown")}),hM=d({id:o(),sessionId:o(),projectId:o(),query:o(),bucket:J0.nullable().default(null),citationState:Di,citedDomains:y(o()).default([]),answerMentioned:C().nullable().default(null),createdAt:o()}),fM=d({id:o(),projectId:o(),status:em,icpDescription:o().nullable().optional(),seedProvider:o().nullable().optional(),seedCountRaw:m().int().nullable().optional(),seedCount:m().int().nullable().optional(),seedFromAnswerCount:m().int().nullable().optional(),seedFromGroundingCount:m().int().nullable().optional(),seedBrandFilteredCount:m().int().nullable().optional(),buyerDescription:o().nullable().optional(),locations:y(dn).nullable().optional(),seedRawCandidates:y(o()).nullable().optional(),dedupClusterMinSims:y(m()).nullable().optional(),dedupBandPairFraction:xe().nullable().optional(),dedupPairsTotal:m().int().nullable().optional(),seedProviders:y(o()).nullable().optional(),seedProviderCounts:Ge(o(),m().int()).nullable().optional(),canonicalCount:m().int().nullable().optional(),dedupThreshold:m().nullable().optional(),probeCount:m().int().nullable().optional(),citedCount:m().int().nullable().default(null),aspirationalCount:m().int().nullable().default(null),wastedCount:m().int().nullable().default(null),competitorMap:y(wj).default([]),warning:o().nullable().optional(),error:o().nullable().optional(),startedAt:o().nullable().optional(),finishedAt:o().nullable().optional(),createdAt:o()});fM.extend({probes:y(hM).default([])});const gM=500,yM=8,bM=["gemini","openai"],vM=j(bM);d({icpDescription:o().min(1).optional(),buyerDescription:o().min(1).optional(),seedProviders:y(vM).min(1).transform(e=>[...new Set(e)].sort()).optional(),dedupThreshold:m().min(0).max(1).optional(),maxProbes:m().int().positive().max(gM).optional(),probeConcurrency:m().int().min(1).max(yM).optional(),locations:y(o().min(1)).optional()});d({buckets:y(J0).min(1).optional(),includeCompetitors:C().optional(),competitorTypes:y(Jd).min(1).optional()});d({sessionId:o(),projectId:o(),status:em,queriesByBucket:d({cited:y(o()),aspirational:y(o()),"wasted-surface":y(o())}),suggestedCompetitors:y(wj)});d({sessionId:o(),projectId:o(),promoted:d({queries:y(o()),competitors:y(o())}),skipped:d({queries:y(o()),competitors:y(o())})});Fe([D("cli"),o().regex(/^discovery:.+$/)]);const xM=d({query:o().min(1),probeHits:m().int().positive()}),wM=d({rawCandidates:m().int().nonnegative(),admitted:m().int().nonnegative(),rejected:d({belowFloor:m().int().nonnegative(),length:m().int().nonnegative(),navigational:m().int().nonnegative(),duplicate:m().int().nonnegative(),offAnchor:m().int().nonnegative(),semanticDuplicate:m().int().nonnegative()})});d({sessionId:o(),projectId:o(),provider:o(),status:em,minProbeHits:m().int().positive(),anchorApplied:C(),semanticNoveltyApplied:C(),candidates:y(xM),stats:wM});const eg=j(["own","direct-competitor","ota-aggregator","editorial-media","other"]);eg.enum;const tm=j(["7d","30d","90d","all"]),Kx=j(["improving","declining","stable"]),kM=j(["mentioned","cited"]);kM.enum;const Af=d({citationRate:xe(),cited:m().int(),total:m().int(),mentionRate:xe(),mentionedCount:m().int()}),Br=o().trim().min(1),SM=y(Br).min(1).superRefine((e,n)=>{for(let i=1;i<e.length;i+=1)e[i-1]>=e[i]&&n.addIssue({code:"custom",message:"mixed model IDs must be sorted and unique",path:[i]})}),go=Be("status",[d({status:D("known"),model:Br}),d({status:D("unknown")}),d({status:D("mixed"),models:SM,includesUnknown:C()})]),jM=d({observedAt:o(),bucketStartDate:o(),from:go,to:go,fromPreWindowAnchor:C().optional(),anchorObservedAt:o().optional()}),kj=d({latestObservation:d({observedAt:o(),state:go}),events:y(jM),eventTotal:m().int().nonnegative().optional(),anchorUnavailable:C().optional()}),AM=Ge(o(),kj),CM=kj.extend({latestServedModelIds:y(Br).default([])}),NM=Ge(o(),CM),_M=d({observedAt:o(),configured:go,served:go}),TM=d({scope:j(["non-brand","pooled"]),rate:xe().nullable(),projectMentionSnapshots:m().int().nonnegative(),competitorMentionSnapshots:m().int().nonnegative()}),RM=d({startDate:o(),endDate:o(),dataStartDate:o(),dataEndDate:o(),sweepCount:m().int().nonnegative(),citationRate:xe(),cited:m().int(),total:m().int(),queryCount:m().int(),mentionRate:xe(),mentionedCount:m().int(),mentionShare:TM,byProvider:Ge(o(),Af),modelEvidenceByProvider:Ge(o(),go).default({}),basketRevision:m().int().nullable().default(null)}),Uh=d({first:xe(m().min(0).max(1)),latest:xe(m().min(0).max(1)),delta:xe(m().min(-1).max(1))}),EM=d({citationRate:Uh.nullable(),mentionRate:Uh.nullable(),mentionShare:Uh.nullable()}),DM=d({revision:m().int(),at:o(),added:y(o()),removed:y(o())}),zM=d({date:o(),delta:m().int(),label:o()}),OM=d({at:o(),identity:HS});d({window:tm,mentionShareScope:j(["non-brand","pooled"]),buckets:y(RM),overall:Af,byProvider:Ge(o(),Af),trend:Kx,mentionTrend:Kx,windowChange:EM.default(()=>({citationRate:null,mentionRate:null,mentionShare:null})),queryChanges:y(zM),basketChanges:y(DM).default([]),executionIdentityChanges:y(OM).default([]),referenceBasketRevision:m().int().nullable().default(null),modelAttribution:AM.default({}),servedModelAttribution:NM.default({}),modelServiceMismatch:Ge(o(),_M).default({}),modelPointerChanges:Ge(o(),UI).default({})});const Hx=d({category:W0,label:o(),count:m().int(),percentage:xe(),topDomains:y(d({domain:o(),count:m().int()}))}),IM=d({domain:o(),count:m().int(),percentage:xe(),answerShare:xe().optional(),category:W0,label:o(),surfaceClass:eg}),PM=d({surfaceClass:eg,label:o(),count:m().int(),percentage:xe(),domainCount:m().int()}),Qx=d({totalCitedSlots:m().int(),answerTotal:m().int().optional(),answersWithSources:m().int().optional(),domainTotal:m().int(),entries:y(IM),truncatedDomainCount:m().int(),truncatedCitedSlots:m().int(),bySurfaceClass:y(PM)}),qM=d({answers:y(o()),distinctDomains:y(o()),answerDomainPairs:y(o()),runs:y(o())}),MM=j(["measurement-plan","query-text"]);d({runId:o().trim().min(1).optional(),queryClass:y0.optional(),includeByQuery:j(["true","false","1","0"]).optional()});d({ranked:Qx,byProvider:Ge(o(),Qx),providersWithoutSources:y(o()).optional(),answerTotal:m().int().optional(),runCount:m().int().optional(),pooledAcrossRuns:C().optional(),unclassifiedAnswers:m().int().optional(),filters:d({runId:o().nullable(),queryClass:y0,queryClassBasis:Fe([MM,ue()]),includeByQuery:C()}).optional(),runId:o(),runIds:y(o()).optional(),countUnits:qM.optional(),window:tm,limit:m().int().nullable(),overall:y(Hx),byQuery:Ge(o(),y(Hx)).optional()});const BM=j(["own","direct-competitor","ota-aggregator","editorial-media","other","unknown"]),LM=Be("kind",[d({kind:D("project")}).strict(),d({kind:D("group"),groupKey:o().trim().min(1)}).strict(),d({kind:D("all-markets")}).strict()]),Sj=j(["all","branded","non-brand"]),jj=j(["project","all-markets"]);d({window:tm.optional(),groupKey:o().trim().min(1).optional(),scope:jj.optional(),provider:o().trim().min(1).optional(),model:Br.optional(),groupBy:D("model").optional(),queryClass:Sj.optional(),location:o().trim().min(1).optional(),runId:o().trim().min(1).optional()}).strict().superRefine((e,n)=>{e.scope==="all-markets"&&e.groupKey!==void 0&&n.addIssue({code:"custom",path:["groupKey"],message:"groupKey cannot be combined with scope=all-markets"}),e.model!==void 0&&e.provider===void 0&&n.addIssue({code:"custom",path:["provider"],message:"provider is required when filtering by model"})});const fs=d({domain:o().trim().min(1),label:o().trim().min(1),surfaceClass:BM,pinned:C(),mentionCount:m().int().nonnegative(),shareOfVoice:Oe(m().min(0).max(100)).nullable(),citationCount:m().int().nonnegative(),answeredResults:m().int().nonnegative(),firstSeenAt:o().datetime().nullable(),lastSeenAt:o().datetime().nullable(),sampleUrls:y(o().url()).max(3)}).strict(),Aj=d({answeredResults:m().int().nonnegative(),sourceResults:m().int().nonnegative(),missingAnswerTextResults:m().int().nonnegative(),mentionCredits:m().int().nonnegative(),incompleteSourceResults:m().int().nonnegative(),excludedProbeResults:m().int().nonnegative(),excludedNonCompletedResults:m().int().nonnegative()}).strict(),VM=d({answers:y(o()),distinctNames:y(o()),runs:y(o())}).strict(),UM=50,$M=d({...X0,comparison:y(d({domain:o(),mentions:m().int().nonnegative()})).optional(),observedNames:y(d({name:o(),answerCount:m().int().nonnegative()})).optional(),observedNamesTotal:m().int().nonnegative().optional(),provider:o().trim().min(1),model:Br.nullable(),servedModels:go,snapshotCount:m().int().positive(),project:fs,pinned:y(fs),observed:y(fs),otherSources:y(fs),evidence:Aj,truncated:C()}).strict(),GM=d({basis:D("requested-model"),groups:y($M).max(UM),totalGroups:m().int().nonnegative(),truncated:C()}).strict();d({...X0,comparison:y(d({domain:o(),mentions:m().int().nonnegative()})).optional(),observedNames:y(d({name:o(),answerCount:m().int().nonnegative()})).optional(),observedNamesTotal:m().int().nonnegative().optional(),window:tm,scope:LM,project:fs,pinned:y(fs),observed:y(fs),otherSources:y(fs),evidence:Aj,modelComparison:GM.optional(),marketState:d({activeRevision:m().int().positive(),draft:d({etag:o().trim().min(1),pendingCompetitorDomains:y(o().trim().min(1))}).strict().nullable()}).strict().nullable(),filters:d({scope:jj,groupKey:o().nullable(),provider:o().nullable(),model:Br.optional(),groupBy:D("model").optional(),queryClass:Sj,location:o().nullable(),runId:o().nullable()}).strict(),truncated:C(),runCount:m().int().nonnegative().optional(),runIds:y(o()).optional(),countUnits:VM.optional()}).strict();const tg=d({total:m().int(),checked:m().int(),mentioned:m().int(),cited:m().int(),mentionRate:xe().nullable(),citedRate:xe().nullable()}),Cj=tg.extend({provider:o(),firstObserved:o(),lastObserved:o()}),KM=tg.extend({queryId:o().nullable(),query:o(),firstObserved:o(),lastObserved:o(),providers:y(Cj).optional()}),HM=d({since:o().nullable(),until:o().nullable(),lastRuns:m().int().nullable(),runCount:m().int()}),QM=j(["provider"]),Cf=d({domain:o(),mentions:m().int()}),Nj=d({...X0,measurementScope:j(["project","all-markets"]).optional(),queryClass:j(["branded","non-brand","pooled"]),percent:Oe().nullable(),competitorCount:m().int().nonnegative(),projectMentions:m().int(),competitorMentions:m().int(),snapshotsWithAnswerText:m().int(),perCompetitor:y(Cf)});d({project:o(),groupBy:QM.optional(),window:HM,totals:tg,byProvider:y(Cj).optional(),queries:y(KM),shareOfVoice:Nj.optional()});const FM=j(["within-noise","moved","insufficient-data","model-discontinuous","model-unknown"]),ZM=j(["up","down","flat"]),Fx=d({availability:j(["available","no-observations","no-competitive-frame","classification-unavailable"]),point:xe().nullable(),ciLow:xe().nullable(),ciHigh:xe().nullable(),numerator:m().int(),denominator:m().int(),excludedUnknown:m().int().nonnegative().optional()}),YM=j(["mention-share-of-voice","cited-share-of-voice","mention-rate","cited-rate","mention-rate-branded","cited-rate-branded","mention-rate-non-brand","cited-rate-non-brand"]),XM=d({key:YM,label:o(),queryClass:j(["all","branded","non-brand","pooled"]),driftRobust:C(),from:Fx,to:Fx,rateRatio:m().nullable(),direction:Fe([ZM,ue()]),verdict:FM}),Sd=d({month:o(),since:o(),until:o(),runCount:m().int(),lowRunCount:C()}),_j=d({queryCount:m().int(),excludedFromOnly:m().int(),excludedToOnly:m().int(),providers:y(o()),excludedProviders:y(o())}),Tj=d({provider:o(),fromModels:y(o()),toModels:y(o())}),WM=j(["included","model-discontinuous","model-unknown"]),JM=d({provider:o(),status:WM,fromModels:y(o()),toModels:y(o())}),eB=j(["comparable","model-discontinuous","model-unknown","insufficient-data"]),Rj=d({status:eB,comparedProviders:y(o()),providers:y(JM)}),tB=d({provider:o(),from:d({checked:m().int(),mentioned:m().int(),cited:m().int()}),to:d({checked:m().int(),mentioned:m().int(),cited:m().int()})}),nB=d({from:d({count:m().int(),of:m().int()}),to:d({count:m().int(),of:m().int()})}),aB=d({scope:j(["project","group","market","property"]).optional(),scopeKey:o().min(1).optional(),marketKey:o().min(1).optional(),provider:o().min(1).optional(),location:o().min(1).optional()}),iB=d({from:Sd,to:Sd,basket:_j,continuity:Rj,modelChanges:y(Tj)});d({project:o(),selection:aB.optional(),classComparison:iB.optional(),from:Sd,to:Sd,basket:_j,metrics:y(XM),queriesMentioned:nB,byProvider:y(tB),modelChanges:y(Tj),continuity:Rj,competitors:d({from:y(Cf),to:y(Cf)})});j(["json","csv"]);const sB=d({runId:o(),runKind:D("answer-visibility"),runStatus:ua,runTrigger:I0,runCreatedAt:o(),runStartedAt:o().nullable(),runFinishedAt:o().nullable(),snapshotId:o(),snapshotCreatedAt:o(),queryId:o().nullable(),query:o().nullable(),provider:o(),model:o().nullable(),location:o().nullable(),citationState:Di,cited:C(),answerMentioned:C().nullable(),mentionState:Fe([cc,ue()]),citedDomains:y(o()),citedUrls:y(o()).nullable(),captureStatus:Fe([Ud,ue()]),sourceCount:m().int().nonnegative().nullable(),resolvedCount:m().int().nonnegative().nullable(),captureVersion:m().int().positive().nullable(),competitorOverlap:y(o()),recommendedCompetitors:y(o()),answerText:o().nullable(),groundingSources:y(Gd),searchQueries:y(o())}),oB=d({since:o().nullable(),until:o().nullable(),includeProbes:C()});d({schemaVersion:D("canonry.results-export/v1"),generatedAt:o(),project:d({id:o(),name:o(),displayName:o(),canonicalDomain:o(),country:o(),language:o()}),filters:oB,recordCount:m().int().nonnegative(),records:y(sB)});d({runIds:y(o().trim().min(1)).max(100).default([]),researchRunIds:y(o().trim().min(1)).max(100).default([]),confirm:C().default(!1)}).strict().superRefine((e,n)=>{e.runIds.length+e.researchRunIds.length===0&&n.addIssue({code:"custom",message:"Select at least one saved run."}),(new Set(e.runIds).size!==e.runIds.length||new Set(e.researchRunIds).size!==e.researchRunIds.length)&&n.addIssue({code:"custom",message:"Run IDs must be unique."})});d({dryRun:C(),runIds:y(o()),researchRunIds:y(o()),querySnapshots:m().int().nonnegative(),researchQueries:m().int().nonnegative(),insights:m().int().nonnegative(),healthSnapshots:m().int().nonnegative()});const nm=j(["organic","paid"]);nm.enum;d({id:o(),projectId:o(),propertyId:o(),clientEmail:o(),connected:C(),createdAt:o(),updatedAt:o()});d({date:o(),landingPage:o(),sessions:m(),organicSessions:m(),users:m()});const ng=j(["session","first_user","manual_utm"]),rB=d({source:o(),medium:o(),trafficClass:nm,sessions:m(),users:m().optional(),sourceDimension:ng,share:xe()}),lB=d({source:o(),medium:o(),trafficClass:nm,sourceDimension:ng,landingPage:o(),sessions:m(),users:m().optional()}),cB=d({source:o(),medium:o(),sessions:m(),users:m().optional(),channelGroup:o(),share:xe()}),Hl=d({sessions:m(),sharePct:Oe(),sharePctDisplay:o()}),uB=d({organic:Hl,social:Hl,direct:Hl,ai:Hl,other:Hl}),dB=d({totalSessions:m(),totalOrganicSessions:m(),totalDirectSessions:m(),totalUsers:m().nullable(),topPages:y(d({landingPage:o(),sessions:m(),organicSessions:m(),directSessions:m(),users:m(),organicShare:xe().nullable()})),aiReferrals:y(rB),aiReferralLandingPages:y(lB),aiSessionsDeduped:m(),aiUsersDeduped:m().optional(),paidAiSessionsDeduped:m(),paidAiUsersDeduped:m().optional(),organicAiSessionsDeduped:m(),organicAiUsersDeduped:m().optional(),aiSessionsBySession:m(),aiUsersBySession:m().optional(),paidAiSessionsBySession:m(),paidAiUsersBySession:m().optional(),organicAiSessionsBySession:m(),organicAiUsersBySession:m().optional(),socialReferrals:y(cB),socialSessions:m(),socialUsers:m().optional(),channelBreakdown:uB,organicSharePct:Oe(),aiSharePct:Oe(),aiSharePctBySession:Oe(),paidAiSharePct:Oe(),paidAiSharePctBySession:Oe(),organicAiSharePct:Oe(),organicAiSharePctBySession:Oe(),directSharePct:Oe(),socialSharePct:Oe(),organicSharePctDisplay:o(),aiSharePctDisplay:o(),aiSharePctBySessionDisplay:o(),paidAiSharePctDisplay:o(),paidAiSharePctBySessionDisplay:o(),organicAiSharePctDisplay:o(),organicAiSharePctBySessionDisplay:o(),directSharePctDisplay:o(),socialSharePctDisplay:o(),otherSessions:m(),otherSharePct:Oe(),otherSharePctDisplay:o(),lastSyncedAt:o().nullable()});d({connected:C(),propertyId:o().nullable(),clientEmail:o().nullable(),authMethod:j(["service-account","oauth"]).nullable(),lastSyncedAt:o().nullable(),createdAt:o().nullable().optional(),updatedAt:o().nullable().optional()});const mB=d({propertyId:o(),displayName:o(),accountName:o()});d({properties:y(mB)});d({synced:C(),rowCount:m().int().nonnegative(),aiReferralCount:m().int().nonnegative(),socialReferralCount:m().int().nonnegative(),days:m().int().nonnegative(),requestedDays:m().int().nonnegative(),clamped:C(),syncedAt:o(),measurement:d({acquisition:d({days:m().int().nonnegative(),status:j(["ready","error"]),rowCount:m().int().nonnegative(),error:o().optional()}),leads:d({days:m().int().nonnegative(),status:j(["ready","error","not-configured"]),rowCount:m().int().nonnegative(),attributionScope:j(["landing-page","channel"]).optional(),error:o().optional()})}),syncedComponents:y(o()).optional()});const Ej=j(["new","small-base","percent"]);Ej.enum;const Nf=d({source:o(),sessions7d:m(),sessionsPrev7d:m(),changeSessions:m(),changePct:Oe().nullable(),changeBasis:Ej});d({socialSessions7d:m(),socialSessionsPrev7d:m(),trend7dPct:Oe().nullable(),socialSessions30d:m(),socialSessionsPrev30d:m(),trend30dPct:Oe().nullable(),biggestMover:Nf.nullable()});const Ql=d({sessions7d:m(),sessionsPrev7d:m(),trend7dPct:Oe().nullable(),sessions30d:m(),sessionsPrev30d:m(),trend30dPct:Oe().nullable()});d({organic:Ql,ai:Ql,social:Ql,direct:Ql,total:Ql,aiBiggestMover:Nf.nullable(),socialBiggestMover:Nf.nullable()});dB.extend({windowStart:o().nullable(),windowEnd:o().nullable(),windowDays:m().nullable(),periodStart:o().nullable(),periodEnd:o().nullable()});d({date:o(),source:o(),medium:o(),trafficClass:nm,landingPage:o(),sessions:m(),users:m(),sourceDimension:ng});const pB=d({source:o(),sessions:m(),paidSessions:m(),organicSessions:m()}),hB=d({date:o(),sessions:m(),paidSessions:m(),organicSessions:m(),bySource:y(pB)});d({days:y(hB),sources:y(o()),totalSessions:m(),totalPaidSessions:m(),totalOrganicSessions:m()});d({date:o(),source:o(),medium:o(),sessions:m(),users:m(),channelGroup:o()});d({date:o(),sessions:m(),organicSessions:m(),users:m(),usersSource:j(["deduplicated","landing-page-sum"])});d({id:o(),projectId:o(),runId:o().nullable(),overallCitedRate:xe(),overallMentionRate:xe(),totalPairs:m().int().nonnegative(),citedPairs:m().int().nonnegative(),mentionedPairs:m().int().nonnegative(),providerBreakdown:Ge(o(),d({citedRate:xe(),mentionRate:xe(),cited:m().int().nonnegative(),mentioned:m().int().nonnegative(),total:m().int().nonnegative()})),createdAt:o(),status:j(["ready","no-data"]),reason:D("no-runs-yet").optional()});const fB=d({view:j(["project","visibility","property","queries","site-health"]),unavailableReason:o().trim().min(1).max(512).optional(),selection:gd.optional(),page:d({runId:o().trim().min(1).max(256).optional(),nodeKey:o().trim().min(1).max(2048).optional()}).strict().optional()}).strict().superRefine((e,n)=>{e.page&&e.view!=="site-health"&&n.addIssue({code:"custom",message:"Page context requires Site Health."}),e.selection&&!["visibility","property","queries"].includes(e.view)&&n.addIssue({code:"custom",message:"Measurement selection requires a measurement view."})}),gB=d({maxToolCalls:m().int().min(1).max(100).default(30),timeoutMs:m().int().min(1e3).max(6e5).default(18e4)}).strict(),ag=j(["claude","openai","gemini","zai","deepinfra"]),yB=d({id:ag,label:o(),defaultModel:o(),configured:C(),keySource:j(["config","env"]).nullable()});d({providers:y(yB).default([]),defaultProvider:ag.nullable()});const bB=j(["aero","user","compaction"]);bB.enum;const Dj=128;d({key:o().min(1).max(Dj),value:o().min(1)});d({key:o().min(1).max(Dj)});d({prompt:o().trim().min(1),conversationId:o().min(1).nullable().optional(),provider:ag.optional(),modelId:o().trim().min(1).optional(),scope:j(["all","read-only"]).optional(),profile:j(["default","ads-operator"]).optional(),context:fB.optional(),limits:gB.optional()});const vB=AE({role:o(),content:vn().optional()}),zj=d({id:o(),title:o(),active:C(),modelProvider:o(),modelId:o(),createdAt:o(),updatedAt:o()});zj.extend({messages:y(vB),isStreaming:C()});d({conversations:y(zj),currentConversationId:o().nullable(),nextOffset:m().int().nullable()});d({id:tE()}).strict();d({id:o(),status:D("deleted")});const xB=["status","changes","gaps","insights"],wB=j(xB),kB=d({text:o().optional(),tool:d({name:o(),label:o(),arguments:Ge(o(),vn()),result:vn(),durationMs:m().int().nonnegative()})}),SB=d({id:wB,steps:y(kB),answer:o()});d({project:o(),seededAt:o(),starters:y(SB)});d({offset:oc().int().min(0).default(0),limit:oc().int().min(1).max(100).default(50)}).strict();const Lr=j(["commoncrawl","bing-webmaster"]);Lr.enum;const ig=j(["queued","downloading","querying","ready","failed"]);ig.enum;d({id:o(),release:o(),status:ig,phaseDetail:o().nullable().optional(),vertexPath:o().nullable().optional(),edgesPath:o().nullable().optional(),vertexSha256:o().nullable().optional(),edgesSha256:o().nullable().optional(),vertexBytes:m().int().nullable().optional(),edgesBytes:m().int().nullable().optional(),projectsProcessed:m().int().nullable().optional(),domainsDiscovered:m().int().nullable().optional(),downloadStartedAt:o().nullable().optional(),downloadFinishedAt:o().nullable().optional(),queryStartedAt:o().nullable().optional(),queryFinishedAt:o().nullable().optional(),error:o().nullable().optional(),createdAt:o(),updatedAt:o()});const jB=d({linkingDomain:o(),numHosts:m().int(),source:Lr}),AB=d({projectId:o(),release:o(),targetDomain:o(),totalLinkingDomains:m().int(),totalHosts:m().int(),top10HostsShare:o(),queriedAt:o(),source:Lr,excludedLinkingDomains:m().int().optional(),excludedHosts:m().int().optional()});d({source:Lr,summary:AB.nullable(),total:m().int(),rows:y(jB)});d({release:o(),totalLinkingDomains:m().int(),totalHosts:m().int(),top10HostsShare:o(),queriedAt:o(),source:Lr});const CB=d({source:Lr,connected:C(),hasData:C(),latestRelease:o().nullable(),totalLinkingDomains:m().int(),lastSyncedAt:o().nullable()});d({projectId:o(),targetDomain:o(),sources:y(CB),anyConnected:C(),anyData:C()});d({duckdbInstalled:C(),duckdbVersion:o().nullable().optional(),duckdbSpec:o(),pluginDir:o()});d({installed:C(),version:o(),path:o(),alreadyPresent:C()});d({release:o(),vertexUrl:o(),edgesUrl:o(),vertexBytes:m().int().nullable(),edgesBytes:m().int().nullable(),lastModified:o().nullable()});d({release:o(),syncStatus:ig.nullable(),bytes:m().int(),lastUsedAt:o().nullable()});const sg=j(["positive","caution","negative","neutral"]),hs=d({label:o(),value:o(),delta:o(),tone:sg,description:o(),tooltip:o().optional(),trend:y(Oe()),progress:Oe().optional(),providerCoverage:o().optional()}),Zx=d({projectMentionSnapshots:m().int().nonnegative(),competitorMentionSnapshots:m().int().nonnegative(),combinedMentionSnapshots:m().int().nonnegative(),perCompetitor:y(d({domain:o(),mentionSnapshots:m().int().nonnegative(),shareOfCompetitiveTotal:Oe()})),ranking:y(d({kind:j(["project","competitor"]),domain:o().nullable(),mentionSnapshots:m().int().nonnegative(),share:xe(m().min(0).max(1))})),snapshotsWithAnswerText:m().int().nonnegative(),snapshotsTotal:m().int().nonnegative(),score:Oe(m().min(0).max(100)).nullable()}),NB=hs.extend({breakdown:Zx,scope:j(["non-brand","pooled"]),branded:Zx}),$h=d({gained:m().int().nonnegative(),lost:m().int().nonnegative(),tone:sg,hasPreviousRun:C(),gainedQueries:y(o()).optional(),lostQueries:y(o()).optional()}),_B=d({hasPreviousRun:C(),comparable:C(),querySetChanged:C(),previousRunAt:o().nullable(),currentQueryCount:m().int().nonnegative(),previousQueryCount:m().int().nonnegative(),comparableQueryCount:m().int().nonnegative(),addedQueryCount:m().int().nonnegative(),removedQueryCount:m().int().nonnegative(),addedQueries:y(o()),removedQueries:y(o())}),TB=d({id:o(),projectId:o(),runId:o().nullable(),type:j(["regression","gain","opportunity","first-citation","provider-pickup","persistent-gap","competitor-gained","competitor-lost","gbp-lodging-gap","gbp-listing-discrepancy","gbp-cta-gap","gbp-description-missing","gbp-metric-drop","gbp-keyword-drop"]),severity:j(["critical","high","medium","low"]),title:o(),query:o(),provider:o(),recommendation:d({action:o(),target:o().optional(),reason:o()}).optional(),cause:d({cause:o(),competitorDomain:o().optional(),details:o().optional()}).optional(),dismissed:C(),createdAt:o()}),RB=d({id:o(),projectId:o(),runId:o().nullable(),overallCitedRate:xe(),overallMentionRate:xe(),totalPairs:m().int().nonnegative(),citedPairs:m().int().nonnegative(),mentionedPairs:m().int().nonnegative(),providerBreakdown:Ge(o(),d({citedRate:xe(),mentionRate:xe(),cited:m().int().nonnegative(),mentioned:m().int().nonnegative(),total:m().int().nonnegative()})),createdAt:o(),status:j(["ready","no-data"]),reason:D("no-runs-yet").optional()});d({project:kz,latestRun:RO,health:RB.nullable(),topInsights:y(TB),queryClassScope:d({queryClass:D("all"),figures:y(o()),note:o()}).optional(),queryCounts:d({totalQueries:m().int().nonnegative(),citedQueries:m().int().nonnegative(),notCitedQueries:m().int().nonnegative(),citedRate:xe(),mentionedQueries:m().int().nonnegative(),notMentionedQueries:m().int().nonnegative(),mentionRate:xe()}),providers:y(d({provider:o(),citedRate:xe(),cited:m().int().nonnegative(),total:m().int().nonnegative()})),transitions:d({since:o().nullable(),gained:m().int().nonnegative(),lost:m().int().nonnegative(),emerging:m().int().nonnegative()}),scores:d({mention:hs,visibility:hs,mentionShare:NB,gapQueries:hs,mentionGaps:hs,indexCoverage:hs,competitorPressure:hs,runStatus:hs}),movementSummary:$h,citationMovement:$h,mentionMovement:$h,movementComparison:_B,competitors:y(d({id:o(),domain:o(),citationCount:m().int().nonnegative(),totalQueries:m().int().nonnegative(),pressureLabel:j(["None","Low","Moderate","High"]),citedQueries:y(o())})),providerScores:y(d({provider:o(),model:o().nullable(),score:Oe(),cited:m().int().nonnegative(),total:m().int().nonnegative(),trend:y(Oe()).optional()})),attentionItems:y(d({id:o(),tone:sg,title:o(),detail:o(),actionLabel:o(),href:o()})),runHistory:y(d({runId:o(),createdAt:o(),citedCount:m().int().nonnegative(),totalCount:m().int().nonnegative(),citationRate:Oe(),mentionedCount:m().int().nonnegative(),mentionRate:Oe(),status:o()})),suggestedQueries:d({rows:y(d({query:o(),impressions:m(),clicks:m(),avgPosition:m(),reason:o()})),totalCandidates:m().int().nonnegative(),skippedAlreadyTracked:m().int().nonnegative()}),dateRangeLabel:o(),contextLabel:o()});j(["snapshot","insight"]);const EB=d({kind:D("snapshot"),id:o(),runId:o(),query:o(),provider:o(),model:o().nullable(),citationState:Di,matchedField:j(["answerText","citedDomains","citedUrls","searchQueries","query"]),snippet:o(),createdAt:o()}),DB=d({kind:D("insight"),id:o(),runId:o().nullable(),type:j(["regression","gain","opportunity","first-citation","provider-pickup","persistent-gap","competitor-gained","competitor-lost","gbp-lodging-gap","gbp-listing-discrepancy","gbp-cta-gap","gbp-description-missing","gbp-metric-drop","gbp-keyword-drop"]),severity:j(["critical","high","medium","low"]),title:o(),query:o(),provider:o(),matchedField:j(["title","query","recommendation","cause"]),snippet:o(),dismissed:C(),createdAt:o()}),zB=Be("kind",[EB,DB]);d({query:o(),totalHits:m().int().nonnegative(),truncated:C(),hits:y(zB)});const Oj=j(["create","expand","refresh","add-schema"]);Oj.enum;function OB(e){switch(e){case"create":return"Create";case"expand":return"Expand";case"refresh":return"Refresh";case"add-schema":return"Add schema"}}const Ij=j(["gsc","competitor-evidence","both"]);Ij.enum;const Pj=j(["high","medium","low"]);Pj.enum;function IB(e){switch(e){case"high":return"High";case"medium":return"Medium";case"low":return"Low"}}const PB=j(["blog-post","comparison","listicle","how-to","guide","glossary"]);PB.enum;const qj=j(["proposed","briefed","payload-generated","draft-created","published","validated","dismissed"]);qj.enum;const og=j(["ownable","ceded"]),rW=og.enum;function lW(e){switch(e){case"ownable":return"Ownable";case"ceded":return"Ceded"}}const qB=d({url:o(),gscImpressions:m().nonnegative(),gscClicks:m().nonnegative(),gscAvgPosition:m().nonnegative().nullable(),organicSessions:m().nonnegative()}),MB=d({domain:o(),url:o(),title:o(),citationCount:m().int().nonnegative()}),BB=d({demand:m(),competitor:m(),absence:m(),gapSeverity:m()}),LB=d({actionId:o(),state:qj,lastUpdated:o()}),Mj=d({targetRef:o(),query:o(),action:Oj,ourBestPage:qB.nullable(),winningCompetitor:MB.nullable(),score:m(),scoreBreakdown:BB,drivers:y(o()),demandSource:Ij,actionConfidence:Pj,existingAction:LB.nullable(),winnabilityClass:og,winnability:xe(m().min(0).max(1)).nullable()});d({targets:y(Mj),contextMetrics:d({totalAiReferralSessions:m().int().nonnegative(),latestRunId:o(),runTimestamp:o()})});const VB=d({targetRef:o(),addressedUrl:o().nullable(),note:o().nullable(),dismissedAt:o()});d({dismissals:y(VB)});d({targetRef:o().min(1),addressedUrl:o().url().optional(),note:o().max(500).optional()});d({targetRef:o(),promptVersion:o(),provider:o(),model:o(),responseText:o(),costMillicents:m().int().nonnegative(),generatedAt:o()});d({provider:o().optional(),model:o().optional(),forceRefresh:C().optional()});const UB=d({targetQuery:o().trim().min(1),winnabilityClass:og,angle:o().trim().min(1),whyWinnable:o().trim().min(1),schemaHookup:o().trim().min(1),controllableSurfaceRationale:o().trim().min(1)});d({targetRef:o(),promptVersion:o(),provider:o(),model:o(),brief:UB,costMillicents:m().int().nonnegative(),generatedAt:o()});const $B=d({domain:o(),competitorType:Jd,hits:m().int().nonnegative(),updatedAt:o()});d({classifications:y($B)});const GB=d({uri:o(),title:o(),domain:o(),isOurDomain:C(),isCompetitor:C(),citationCount:m().int().nonnegative(),providers:y(bt)}),Bj=d({query:o(),groundingSources:y(GB)});d({sources:y(Bj),latestRunId:o()});const Lj=d({query:o(),competitorDomains:y(o()),competitorCount:m().int().nonnegative(),missRate:xe(m().min(0).max(1)),lastSeenInRunId:o()});d({gaps:y(Lj),latestRunId:o()});const Vj=j(["ok","warn","fail","skipped"]);Vj.enum;const rg=j(["global","project"]);rg.enum;const Uj=j(["auth","config","providers","integrations","database","schedules","agent"]);Uj.enum;const $j=j(["health","silent"]);$j.enum;const KB=o().regex(/^[1-9]\d{3}-(0[1-9]|1[0-2])$/,"Expected YYYY-MM"),HB=d({id:o(),category:Uj,scope:rg,title:o(),status:Vj,notificationPolicy:$j.optional().describe("Health checks page by default. Silent report advisories remain visible but never affect health alert state."),code:o().describe('Stable machine-readable code (e.g. "google.token.refresh-failed"). Use this for filtering and remediation logic.'),summary:o(),remediation:o().nullable().optional().describe('Operator-facing next step. Null when status is "ok" or no specific remediation applies.'),details:Ge(o(),vn()).optional().describe("Structured context — principal email, redirect URI, missing scopes, etc. Stable per check id."),durationMs:m().int().nonnegative().describe("How long the check took to execute.")});d({scope:rg,project:o().nullable().describe('Project name when scope is "project", null otherwise.'),reportMonths:y(KB).optional().describe("Calendar months evaluated by project report readiness checks."),generatedAt:o().describe("ISO-8601 timestamp when this doctor run started."),durationMs:m().int().nonnegative(),summary:d({total:m().int().nonnegative(),ok:m().int().nonnegative(),warn:m().int().nonnegative(),fail:m().int().nonnegative(),skipped:m().int().nonnegative()}),checks:y(HB)});function QB(e){return e.trim().toLowerCase()}const FB=d({provider:o(),citationState:Di,cited:C(),mentioned:C(),runId:o(),runCreatedAt:o()}),ZB=d({queryId:o(),query:o(),providers:y(FB),citedCount:m().int().nonnegative(),mentionedCount:m().int().nonnegative(),totalProviders:m().int().nonnegative()}),YB=d({queryId:o(),query:o(),provider:o(),citingCompetitors:y(o()),runId:o(),runCreatedAt:o()}),XB=d({providersConfigured:m().int().nonnegative(),providersCiting:m().int().nonnegative(),providersMentioning:m().int().nonnegative(),totalQueries:m().int().nonnegative(),queriesCitedAndMentioned:m().int().nonnegative(),queriesCitedOnly:m().int().nonnegative(),queriesMentionedOnly:m().int().nonnegative(),queriesInvisible:m().int().nonnegative(),latestRunId:o().nullable(),latestRunAt:o().nullable()});d({summary:XB,byQuery:y(ZB),competitorGaps:y(YB),status:j(["ready","no-data"]),reason:j(["no-runs-yet","no-queries"]).optional()});const WB=d({selection:l2,historyWindow:d({from:o().datetime(),to:o().datetime()}).optional(),populations:y(r2.pick({queryClass:!0,summary:!0,trend:!0}))}),Nn={title:"AI visibility",description:"Each answer is counted once for its assigned properties. Branded and non-brand queries are measured separately.",simpleDescription:"Each saved answer is counted once. Branded and non-brand queries are measured separately.",queryType:"Query type",queries:"Queries measured",answers:"Answers measured",mentioned:"Mentioned",cited:"Cited",history:"Measurement history",latestMeasurement:"Latest measurement",allLocations:"All measured locations",noLocation:"No provider location",location:"Location",previousOutsideWindow:"Previous measurement outside this period",date:"Date",comparison:"Comparison",notMeasured:"Not measured",incomplete:"Evidence incomplete",ambiguous:"Property identity unverified",noPopulation:"No measured answers",notApplicable:"Not applicable",comparable:"Comparable",baseline:"Baseline",changed:"Measurement changed",unknownHistory:"Comparison unavailable"};function cW(e){return{branded:"Branded","non-brand":"Non-brand",unknown:"Unclassified"}[e]}function uW(e){return e.rate===null?Nn.notMeasured:yn(e.rate)}function dW(e){if(e.numerator!==null&&e.denominator!==null)return`${e.numerator} of ${e.denominator} answers`;switch(e.reason){case"no-population":return Nn.noPopulation;case"not-applicable":return Nn.notApplicable;case"identity-ambiguous":return Nn.ambiguous;default:return Nn.incomplete}}const mW="No answer could be tied to one property";function pW(e){return e.denominator===null||e.denominator===void 0||e.unattributed===void 0||e.unattributed<=0?null:`${e.unattributed} of ${e.denominator+e.unattributed} answers could not be tied to one property`}function hW(e,n=!1){const i=e==="first"?Nn.baseline:e==="comparable"?Nn.comparable:e==="legacy-unknown"?Nn.unknownHistory:Nn.changed;return n?`${i} · ${Nn.previousOutsideWindow}`:i}function fW(e){const n=e.selection.measurement.completedAt?.slice(0,10)??Nn.notMeasured;return`${Nn.latestMeasurement}: ${n}`}function gW(e){const n=e.historyWindow;return n===void 0?Nn.history:`${Nn.history} (${n.from.slice(0,10)} – ${n.to.slice(0,10)})`}function yW(e){const n=e.selection.location;return n.kind==="all"?Nn.allLocations:n.kind==="none"?Nn.noLocation:`${Nn.location}: ${n.value}`}const bW=[7,14,30,90],vW=30;Fe([D(7),D(14),D(30),D(90)]).describe("Report window in days (7, 14, 30, or 90). Defaults to 30 when omitted.");const JB=j(["prompt","request-param","browser-geo","ignored"]),eL=d({label:o(),city:o(),region:o(),country:o(),otherConfiguredLabels:y(o())}),tL=d({provider:o(),treatment:JB,description:o()}),nL=d({generatedAt:o(),project:d({id:o(),name:o(),displayName:o(),canonicalDomain:o(),country:o(),language:o()}),location:eL.nullable(),providerLocationHandling:y(tL),periodStart:o().nullable(),periodEnd:o().nullable(),periodDays:m().int().positive()}),aL=d({visibilityBasis:j(["legacy-project-queries","frozen-populations"]).optional(),citationRate:Oe().nullable(),citedQueryCount:m().nullable(),totalQueryCount:m().nullable(),mentionRate:Oe().nullable(),mentionedQueryCount:m().nullable(),trend:j(["up","down","flat","unknown"]),queryCount:m(),competitorCount:m(),providerCount:m(),gsc:d({clicks:m(),impressions:m(),ctr:xe(),avgPosition:m(),periodStart:o(),periodEnd:o()}).nullable(),ga:d({sessions:m(),users:m(),periodStart:o(),periodEnd:o()}).nullable(),findings:y(d({title:o(),detail:o(),tone:j(["positive","caution","negative","neutral"])}))}),iL=d({citationState:j(["cited","not-cited","pending"]),answerMentioned:C().nullable(),model:o().nullable()}),sL=d({queries:y(o()),providers:y(o()),matrix:y(y(iL.nullable())),providerRates:y(d({provider:o(),citedCount:m(),mentionedCount:m(),totalCount:m(),citationRate:Oe(),mentionRate:Oe()}))}),oL=d({domain:o(),citationCount:m(),totalCount:m(),pressureLabel:j(["High","Moderate","Low","None"]),citedQueries:y(o()),sharePct:Oe(),theirCitedPages:y(d({url:o(),citedFor:y(o())}))}),rL=d({projectCitationCount:m(),competitors:y(oL)}),lL=d({domain:o(),mentionCount:m(),totalCount:m(),pressureLabel:j(["High","Moderate","Low","None"]),mentionedQueries:y(o()),sharePct:Oe().nullable()}),Gh=d({shareOfVoice:Nj.optional(),projectMentionCount:m(),totalAnswerSnapshots:m(),competitors:y(lL)}),cL=Gh.extend({scope:j(["non-brand","pooled"]),nonBrand:Gh,branded:Gh}),uL=d({category:o(),label:o(),count:m(),sharePct:Oe()}),dL=d({categories:y(uL),topDomains:y(d({domain:o(),count:m(),isCompetitor:C()}))}),mL=d({query:o(),clicks:m(),impressions:m(),ctr:xe(),avgPosition:m(),category:j(["brand","lead-gen","industry","other"])}),pL=d({periodStart:o(),periodEnd:o(),totalClicks:m(),totalImpressions:m(),ctr:xe(),avgPosition:m(),topQueries:y(mL),categoryBreakdown:y(d({category:j(["brand","lead-gen","industry","other"]),clicks:m(),impressions:m(),sharePct:Oe()})),trend:y(d({date:o(),clicks:m(),impressions:m()})),trackedButNoGsc:y(o()),gscButNotTracked:y(o())}),hL=d({totalSessions:m(),totalUsers:m(),totalOrganicSessions:m(),periodStart:o(),periodEnd:o(),topLandingPages:y(d({page:o(),sessions:m(),users:m().optional(),organicSessions:m()})),channelBreakdown:y(d({channel:o(),sessions:m(),sharePct:Oe()}))}),fL=d({totalSessions:m(),organicSessions:m(),paidSessions:m(),channels:y(d({channelGroup:o(),sessions:m(),sharePct:Oe()})),topCampaigns:y(d({source:o(),medium:o(),sessions:m()}))}),gL=d({totalSessions:m(),paidSessions:m(),organicSessions:m(),totalUsers:m().optional(),paidUsers:m().optional(),organicUsers:m().optional(),bySource:y(d({source:o(),sessions:m(),users:m().optional(),paidSessions:m(),organicSessions:m(),sharePct:Oe()})),trend:y(d({date:o(),sessions:m()})),topLandingPages:y(d({page:o(),sessions:m(),users:m().optional()}))}),ao=d({current:m(),prior:m(),deltaPct:Oe().nullable()}),yL=d({windowStart:o(),windowEnd:o(),hasData:C(),verifiedCrawlerHits:ao,unverifiedCrawlerHits:ao,aiUserFetchHits:ao,referralArrivals:ao,referralRedirects:m().int().nonnegative(),referralArrivalsByClass:d({paid:ao,organic:ao,unclassified:ao}),referralArrivalsClassSummary:o(),byOperator:y(d({operator:o(),verifiedHits:m(),unverifiedHits:m(),userFetchHits:m(),referralArrivals:m(),deltaPct:Oe().nullable()})),topCrawledPaths:y(d({path:o(),verifiedHits:m(),unverifiedHits:m().default(0),distinctOperators:m()})),referralProducts:y(d({product:o(),arrivals:m(),distinctLandingPaths:m()})),dailyTrend:y(d({date:o(),verifiedCrawlerHits:m(),unverifiedCrawlerHits:m().default(0),userFetchHits:m(),referralArrivals:m()})),topReferralLandingPaths:y(d({path:o(),arrivals:m(),distinctProducts:m()}))}),bL=d({provider:j(["google","bing"]).nullable(),total:m(),indexed:m(),notIndexed:m(),deindexed:m(),unknown:m(),indexedPct:Oe()}),vL=d({runId:o(),date:o(),citationRate:Oe(),citedQueryCount:m(),totalQueryCount:m(),mentionRate:Oe(),mentionedQueryCount:m(),providerRates:y(d({provider:o(),citationRate:Oe(),mentionRate:Oe()}))}),Gj=j(["regression","gain","opportunity"]),xL=Gj.enum,_f=d({id:o(),type:Gj,severity:j(["critical","high","medium","low"]),title:o(),query:o(),provider:o(),recommendation:o().nullable(),createdAt:o(),instanceCount:m()}),wL=d({horizon:j(["immediate","short-term","medium-term"]),title:o(),rationale:o()}),pr=d({current:m(),prior:m(),deltaAbs:m(),deltaPct:Oe().nullable(),direction:j(["up","down","flat"]),window:m().optional()}),kL=d({provider:o(),current:Oe(),prior:Oe(),deltaAbs:Oe(),direction:j(["up","down","flat"])}),SL=d({enoughHistory:C(),headline:o(),citationRate:pr.nullable(),mentionRate:pr.nullable(),citedQueryCount:pr.nullable(),mentionedQueryCount:pr.nullable(),gscClicksDelta:pr.nullable(),aiReferralsDelta:pr.nullable(),comparisonWindowDays:m().int().positive(),providerMovements:y(kL),wins:y(_f),regressions:y(_f)}),jL=j(["agency","client"]),Kj=j(["agency","client","both"]),AL=j(["immediate","short-term","medium-term"]),CL=j(["high","medium","low"]);j(["positive","caution","negative","neutral"]);const NL=j(["content","competitors","provider","search-demand","indexing","location","monitoring"]),lg=d({audience:Kj,priority:m(),horizon:AL,category:NL,title:o(),action:o(),why:y(o()),evidence:y(o()),successMetric:o(),confidence:CL,targetRef:o().optional()}),_L=d({headline:o(),overview:o(),actionItems:y(lg),confidenceNotes:y(o())}),TL=d({title:o(),detail:o(),severity:j(["positive","caution","negative","neutral"]),evidence:y(o())}),RL=d({priorities:y(lg),diagnostics:y(TL)});function xW(e){return e.horizon==="immediate"?"negative":e.confidence==="high"?"caution":e.confidence==="low"?"neutral":"caution"}function wW(e){return e==="High"?"negative":e==="Moderate"?"caution":e==="Low"?"positive":"neutral"}function EL(e){switch(e){case"critical":return"negative";case"high":return"negative";case"medium":return"caution";case"low":return"neutral"}}function kW(e){return e.type===xL.gain?"positive":EL(e.severity)}function SW(e){switch(e){case sd.competitor:return"negative";case sd.directory:case sd.forum:return"caution";default:return"neutral"}}function jW(e){switch(e){case"critical":return"Critical";case"high":return"High";case"medium":return"Medium";case"low":return"Low"}}function DL(e){switch(e){case"immediate":return"Immediate";case"short-term":return"Short term";case"medium-term":return"Medium term"}}function AW(e){switch(e){case"content":return"Content";case"competitors":return"Competitors";case"provider":return"Provider";case"search-demand":return"Search demand";case"indexing":return"Indexing";case"location":return"Location";case"monitoring":return"Monitoring"}}function zL(e){switch(e){case"high":return"High";case"medium":return"Medium";case"low":return"Low"}}d({visibility:WB.optional(),meta:nL,executiveSummary:aL,citationScorecard:sL,competitorLandscape:rL,mentionLandscape:cL,aiSourceOrigin:dL,gsc:pL.nullable(),ga:hL.nullable(),socialReferrals:fL.nullable(),aiReferrals:gL.nullable(),serverActivity:yL.nullable(),indexingHealth:bL.nullable(),citationsTrend:y(vL),whatsChanged:SL,insights:y(_f),recommendedNextSteps:y(wL),actionPlan:y(lg),clientSummary:_L,agencyDiagnostics:RL,contentOpportunities:y(Mj),contentGaps:y(Lj),groundingSources:y(Bj)});const OL=Fe([D(60),D(90)]),IL=j(["earliest","middle","prior","latest"]),fr=d({clicks:m().int().nonnegative(),impressions:m().int().nonnegative()}),Hj=d({name:IL,startDate:o(),endDate:o()}),PL=Hj.extend({totals:fr}),qL=Hj.extend({organicSessions:m().int().nonnegative()}),Kh=d({startDate:o(),endDate:o(),observedDays:m().int().nonnegative()}),Fu=d({verified:m().int().nonnegative(),claimedUnverified:m().int().nonnegative(),unknownAiLike:m().int().nonnegative()}),Yx=d({total:m().int().nonnegative(),paid:m().int().nonnegative(),organic:m().int().nonnegative(),unknown:m().int().nonnegative()});d({contractVersion:D("organic-evidence/v1"),periodDays:OL,asOfDate:o().nullable(),coverage:d({gsc:C(),ga4:C(),server:C(),visibility:C()}),sourceCoverage:d({gsc:Kh.nullable(),ga4:Kh.nullable(),server:Kh.nullable(),visibility:d({completedAt:o(),ageDays:m().nonnegative()}).nullable()}),gsc:d({propertyTotals:fr,namedBrand:fr,namedNonBrand:fr,suppressedOrUnreportedResidual:fr,cohorts:y(PL)}).nullable(),ga4:d({organicSessions:m().int().nonnegative(),cohorts:y(qL)}).nullable(),gaAiReferrals:d({paidSessions:m().int().nonnegative(),organicSessions:m().int().nonnegative()}).nullable(),server:d({crawlerHits:Fu,userFetchHits:Fu,referralSessions:Yx}).nullable(),visibility:d({runId:o(),completedAt:o(),ageDays:m().nonnegative(),answerPairs:m().int().nonnegative(),mentionedPairs:m().int().nonnegative(),citedPairs:m().int().nonnegative()}).nullable(),measurement:uD,pages:y(d({path:o(),gsc:fr,ga4OrganicSessions:m().int().nonnegative(),server:d({crawlerHits:Fu,userFetchHits:Fu,referralSessions:Yx})})),findings:y(d({tone:j(["positive","caution","neutral"]),title:o(),detail:o()})),limitations:y(d({code:o(),detail:o()}))});const ML=new Set(["a","an","and","for","from","in","near","of","on","or","the","to"]);function Qj(e){return e.toLowerCase().match(/[a-z0-9]+/g)??[]}function Fj(e){return e.length>4&&e.endsWith("ies")?`${e.slice(0,-3)}y`:e.length>4&&e.endsWith("s")&&!e.endsWith("ss")?e.slice(0,-1):e}function Zj(e){const n=e.meta.location;return n?new Set([n.label,n.city,n.region,n.country].flatMap(Qj).map(Fj).filter(Boolean)):new Set}function Yj(e,n){const i=Qj(e).map(Fj).filter(Boolean).filter(r=>!ML.has(r)).filter(r=>!n.has(r));return[...new Set(i)].sort().join(" ")}function BL(e){return e.title.match(/"([^"]+)"/)?.[1]??e.successMetric.match(/"([^"]+)"/)?.[1]??e.title}function Xj(e,n){const i=Zj(e);if(n.length<=1||i.size===0)return[...n];const r=new Set,u=[];for(const h of n){if(h.category!=="content"){u.push(h);continue}const g=Yj(BL(h),i);!g||r.has(g)||(r.add(g),u.push(h))}return u}function LL(e){const n=Zj(e),i=e.contentOpportunities;if(i.length<=1||n.size===0)return i;const r=new Set;return i.filter(u=>{const h=Yj(u.query,n);return!h||r.has(h)?!1:(r.add(h),!0)})}const VL=j(["claude","codex"]);VL.enum;const UL=j(["claude","codex","all"]);UL.enum;const Wj=d({content:m().int().nonnegative(),sitemap:m().int().nonnegative(),robots:m().int().nonnegative(),asset:m().int().nonnegative(),other:m().int().nonnegative()}),$L=j(["content","sitemap","robots","asset","other"]),cg=j(["cloud-run","wordpress","cloudflare","vercel","generic-log"]);cg.enum;const GL=j(["raw-request-events","aggregate-request-metrics","request-url","status-code","user-agent","remote-ip","referer","cursor-pull"]);GL.enum;const KL=j(["raw-request","aggregate-bucket"]),HL=KL.enum,QL=j(["observed","provider-aggregated","inferred"]),FL=QL.enum,ZL=d({type:o().nullable(),labels:Ge(o(),o())}),YL=d({sourceType:cg,evidenceKind:D(HL["raw-request"]),confidence:D(FL.observed),eventId:o().min(1),observedAt:o().min(1),method:o().nullable(),requestUrl:o().nullable(),host:o().nullable(),path:o().min(1),queryString:o().nullable(),status:m().int().nullable(),userAgent:o().nullable(),remoteIp:o().nullable(),referer:o().nullable(),latencyMs:m().nullable(),requestSizeBytes:m().int().nullable(),responseSizeBytes:m().int().nullable(),providerResource:ZL,providerLabels:Ge(o(),o())});d({events:y(YL),rawEntryCount:m().int().nonnegative(),skippedEntryCount:m().int().nonnegative(),nextPageToken:o().optional(),filter:o()});const Jj=j(["connected","paused","error","archived"]),CW=Jj.enum,e3=j(["oauth","service-account"]);e3.enum;const XL=j(["verified","claimed_unverified","unknown_ai_like"]),NW=XL.enum,WL=d({id:o().min(1),source:o().min(1),version:o().min(1)}),t3=d({manifestId:o().min(1),manifest:WL.nullable(),hits:m().int().nonnegative()});d({gcpProjectId:o().min(1),serviceName:o().nullable().optional(),location:o().nullable().optional(),authMode:e3});d({baseUrl:o().url(),username:o().min(1)});const ug=j(["production","preview"]);ug.enum;d({projectId:o().min(1),teamId:o().min(1),environment:ug});const n3=d({id:o(),projectId:o(),sourceType:cg,displayName:o(),status:Jj,lastSyncedAt:o().nullable(),lastCursor:o().nullable(),lastError:o().nullable(),skippedThroughAt:o().nullable(),queueBacklogCount:m().int().nonnegative().nullable(),queueBacklogObservedAt:o().nullable(),archivedAt:o().nullable(),config:Ge(o(),vn()),createdAt:o(),updatedAt:o()});d({gcpProjectId:o().min(1),serviceName:o().min(1).optional(),location:o().min(1).optional(),displayName:o().min(1).optional(),keyJson:o().optional()});d({baseUrl:o().url(),username:o().min(1),applicationPassword:o().min(1),displayName:o().min(1).optional()});d({projectId:o().min(1),teamId:o().min(1),token:o().min(1),environment:ug.optional(),displayName:o().min(1).optional()});const JL=j(["direct-push","queue-pull"]),Vr=JL.enum,dg=o().regex(/^(?=.{1,63}$)[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,"Cloudflare Queue name must be 1-63 characters, use only letters, numbers, or dashes, and start and end with a letter or number"),a3=d({schemaVersion:D(1),workerVersion:o().min(1),expectedBotListVersion:o().min(1),zoneId:o().nullable()}),eV=a3.extend({deliveryMode:D(Vr["direct-push"]),accountId:o().nullable()}),tV=a3.extend({deliveryMode:D(Vr["queue-pull"]),accountId:o().min(1),queueId:o().min(1),queueName:dg,retentionSeconds:m().int().min(60).max(1209600)});function i3(e){if(typeof e!="object"||e===null||Array.isArray(e))return e;const n=e;return"deliveryMode"in n?e:{...n,deliveryMode:"direct-push"}}o0(i3,Be("deliveryMode",[eV,tV]));const s3=d({displayName:o().min(1).optional(),zoneId:o().min(1).optional()}),nV=s3.extend({deliveryMode:D(Vr["direct-push"]),accountId:o().min(1).optional()}),aV=s3.extend({deliveryMode:D(Vr["queue-pull"]),accountId:o().min(1),queueId:o().min(1),queueName:dg,retentionSeconds:m().int().min(60).max(1209600),apiToken:o().min(1)});o0(i3,Be("deliveryMode",[nV,aV]));const o3=d({sourceId:o().min(1),workerScript:o().min(1),wranglerToml:o().min(1),workerVersion:o().min(1),instructions:o().min(1)}),iV=o3.extend({deliveryMode:D(Vr["direct-push"]),activationRequired:C().default(!1)}),sV=o3.extend({deliveryMode:D(Vr["queue-pull"]),activationRequired:C().default(!1),accountId:o().min(1),queueId:o().min(1),queueName:dg,retentionSeconds:m().int().min(60).max(1209600)});Be("deliveryMode",[iV,sV]);const oV=d({eventId:o().min(1),observedAt:o().datetime(),method:o().nullable(),host:o().nullable(),path:o().min(1),queryString:o().nullable(),status:m().int().nullable(),userAgent:o().nullable(),remoteIp:o().nullable(),referer:o().nullable(),cf:d({verifiedBot:C().nullable(),botScore:m().int().nullable(),country:o().nullable(),asn:m().int().nullable(),asOrganization:o().nullable()}).nullable()});d({schemaVersion:D(1),workerVersion:o().min(1),events:y(oV).min(1).max(100)});d({acceptedEvents:m().int(),droppedEvents:m().int(),workerVersionAck:o(),crawlerBucketRows:m().int(),aiUserFetchBucketRows:m().int(),aiReferralBucketRows:m().int(),sampleRows:m().int()});d({sourceId:o(),runId:o(),syncedAt:o(),pulledEvents:m().int().nonnegative(),selfTrafficExcluded:m().int().nonnegative(),crawlerHits:m().int().nonnegative(),aiUserFetchHits:m().int().nonnegative(),aiReferralHits:m().int().nonnegative(),unknownHits:m().int().nonnegative(),crawlerBucketRows:m().int().nonnegative(),aiUserFetchBucketRows:m().int().nonnegative(),aiReferralBucketRows:m().int().nonnegative(),sampleRows:m().int().nonnegative(),remainingBacklogCount:m().int().nonnegative().optional(),windowStart:o(),windowEnd:o()});d({days:m().int().positive().optional()});d({advanceToNow:D(!0)});d({sourceId:o(),runId:o(),status:ua,windowStart:o(),windowEnd:o(),daysRequested:m().int().positive(),daysApplied:m().int().positive()});const rV=d({crawlerHits:m().int().nonnegative(),crawlerContentHits:m().int().nonnegative(),crawlerInfraHits:m().int().nonnegative(),crawlerSegments:Wj,aiUserFetchHits:m().int().nonnegative(),aiReferralHits:m().int().nonnegative(),aiReferralLandedHits:m().int().nonnegative(),aiReferralRedirectedHits:m().int().nonnegative(),sampleCount:m().int().nonnegative()});d({sources:y(n3)});const lV=n3.extend({totals24h:rV,latestRun:d({runId:o(),status:ua,startedAt:o().nullable(),finishedAt:o().nullable(),error:o().nullable()}).nullable()});d({sources:y(lV)});const cV=j(["crawler","ai-user-fetch","ai-referral"]),mg=cV.enum,r3=j(["hour","day"]);r3.enum;const uV=d({bucket:o(),crawlerHits:m().int().nonnegative(),aiUserFetchHits:m().int().nonnegative(),aiReferralHits:m().int().nonnegative(),aiReferralLandedHits:m().int().nonnegative(),crawlerContentHits:m().int().nonnegative(),measured:C()}),dV=d({kind:D(mg.crawler),sourceId:o(),tsHour:o(),botId:o(),operator:o(),verificationStatus:o(),verificationManifests:y(t3).optional(),verificationUnattributedHits:m().int().nonnegative().optional(),pathNormalized:o(),pathClass:$L,status:m().int(),hits:m().int().nonnegative()}),mV=d({kind:D(mg["ai-user-fetch"]),sourceId:o(),tsHour:o(),botId:o(),operator:o(),verificationStatus:o(),verificationManifests:y(t3).optional(),verificationUnattributedHits:m().int().nonnegative().optional(),pathNormalized:o(),status:m().int(),hits:m().int().nonnegative()}),pV=d({kind:D(mg["ai-referral"]),sourceId:o(),tsHour:o(),product:o(),operator:o(),sourceDomain:o(),evidenceType:o(),landingPathNormalized:o(),status:m().int(),hits:m().int().nonnegative(),paidHits:m().int().nonnegative(),organicHits:m().int().nonnegative(),unknownHits:m().int().nonnegative()}),hV=Be("kind",[dV,mV,pV]);d({windowStart:o(),windowEnd:o(),series:d({granularity:r3,points:y(uV),coverageStart:o().nullable(),trends:d({crawlerContentHits:mo.nullable(),aiUserFetchHits:mo.nullable(),aiReferralLandedHits:mo.nullable()})}),totals:d({crawlerHits:m().int().nonnegative(),crawlerContentHits:m().int().nonnegative(),crawlerInfraHits:m().int().nonnegative(),crawlerSegments:Wj,aiUserFetchHits:m().int().nonnegative(),aiReferralHits:m().int().nonnegative(),aiReferralLandedHits:m().int().nonnegative(),aiReferralRedirectedHits:m().int().nonnegative(),aiReferralPaidHits:m().int().nonnegative(),aiReferralOrganicHits:m().int().nonnegative(),aiReferralUnknownHits:m().int().nonnegative()}),eventRows:d({total:m().int().nonnegative(),returned:m().int().nonnegative(),truncated:C()}),events:y(hV)});const pg=j(["admin","viewer"]),fV=/^[a-z\d][\w.-]{0,63}$/i,gV=o().regex(fV,"A name may use letters, digits, dots, dashes and underscores, and must start with a letter or digit."),Xx=12,yV=o().min(Xx,`A password must be at least ${Xx} characters.`),l3=d({id:o(),name:o(),role:pg,createdAt:o(),lastLoginAt:o().nullable()});d({users:y(l3)});d({name:gV,password:yV,role:pg});d({name:o().min(1),password:o().min(1)});d({authRequired:C(),user:l3.pick({name:!0,role:!0}).nullable()});const c3=j(["queued","running","completed","partial","failed"]),_W=c3.enum,u3=j(["queued","running","completed","failed"]),TW=u3.enum,bV=20,vV=20,Tf=50,d3=d({kind:j(["market","property"]),key:he,expectedPlanRevision:m().int().positive().optional()}).strict(),xV=d({kind:j(["market","property"]),key:he,label:o().trim().min(1),planRevision:m().int().positive()}).strict(),m3=o().min(1).max(4e3).refine(e=>e.trim().length>0,"Research queries cannot be blank.");function RW(e){const n=new Set;return e.filter(i=>{const r=QB(i);return!r||n.has(r)?!1:(n.add(r),!0)})}function wV(e,n){const i=e?e.kind==="market"?{market:e.label,submarket:e.label}:{property:e.label,propertyBrand:e.label}:{};return n?{...i,location:n.label}:i}function EW(e,n,i){const r=new Set(e.variables),u=[...e.pattern.matchAll(/\{([^{}]+)\}/g)].map(w=>w[1]),h=[...new Set(u.filter(w=>!r.has(w)))];if(h.length)throw Uv("The selected research template contains undeclared placeholders: "+h.join(", "));const g=wV(n,i),b=e.variables.filter(w=>g[w]===void 0);if(b.length)throw Uv("The selected research template requires unavailable bindings: "+b.join(", "));const v=Object.fromEntries(e.variables.map(w=>[w,g[w]]));return{bindings:v,output:U9(e.pattern,v)}}const p3=d({templateId:o().trim().min(1).max(256),templateVersion:o().trim().min(1).max(256),bindingLocation:dn.nullable().optional()}).strict();d({queries:y(m3).min(1).max(50),provider:o().trim().min(1).optional(),model:o().trim().min(1).max(200).optional(),location:dn.nullable().optional(),scope:d3.optional(),template:p3.optional(),idempotencyKey:o().trim().min(1).max(128).optional()}).superRefine((e,n)=>{e.model&&!e.provider&&n.addIssue({code:ye.custom,path:["provider"],message:"provider is required when model is supplied"})});const kV=d3.extend({expectedPlanRevision:m().int().positive()}).strict(),SV=d({queries:y(m3).min(1).max(Tf),provider:o().trim().min(1),model:o().trim().min(1).max(200),location:dn.nullable(),scope:kV.optional(),template:p3.optional()}).strict();d({idempotencyKey:o().trim().min(1).max(128),runs:y(SV).min(1).max(vV)}).strict().superRefine((e,n)=>{e.runs.reduce((r,u)=>r+u.queries.length,0)>Tf&&n.addIssue({code:ye.custom,path:["runs"],message:`A research batch may contain at most ${Tf} concrete queries across all destinations`})});const jV=d({kind:j(["api-key","user"]),id:o(),name:o(),role:pg.nullable(),limited:C().optional()}),h3=d({id:o(),projectId:o(),status:c3,provider:o(),requestedModel:o().nullable(),resolvedModel:o(),location:dn.nullable(),scope:xV.nullable().optional(),template:d2.nullable().optional(),totalQueries:m().int(),completedQueries:m().int(),failedQueries:m().int(),error:o().nullable(),initiatedBy:jV.nullable(),startedAt:o().nullable(),finishedAt:o().nullable(),createdAt:o()}),AV=d({id:o(),position:m().int(),query:o(),queryClass:Or.nullable().optional(),status:u3,requestedModel:o().nullable(),resolvedModel:o(),servedModel:o().nullable(),answerText:o().nullable(),groundingSources:y(Gd),citedDomains:y(o()),searchQueries:y(o()),namedCompetitors:y(o()).default([]),citedCompetitorDomains:y(o()).default([]),answerMentioned:C().nullable(),citationState:Di.nullable(),error:o().nullable(),startedAt:o().nullable(),finishedAt:o().nullable(),createdAt:o()}),CV=h3.extend({queries:y(AV)});d({runs:y(CV)});const NV=d({name:o(),displayName:o(),modelConfigurable:C(),defaultModel:o(),knownModels:y(d({id:o(),displayName:o()}))});d({runs:y(h3),nextCursor:o().nullable().optional(),providers:y(NV).optional(),access:d({canRun:C(),dailyRunLimit:m().int().positive().nullable()}).optional()});d({apiKey:o().min(1)});d({id:o(),name:o(),status:o(),currencyCode:o().nullable(),timezone:o().nullable(),url:o().nullable(),reviewStatus:o().nullable(),integrityReviewStatus:o().nullable(),integrityDecision:o().nullable()});d({q:o().trim().min(1).max(200),limit:m().int().min(1).max(100).default(20)});const _V=d({id:o(),type:o(),canonicalName:o(),countryCode:o(),name:o(),regionCode:o().nullable()});d({count:m().int().nonnegative(),query:o(),results:y(_V)});const TV=d({id:o(),clientType:o().optional(),name:o().optional(),pixelId:o().optional()});d({pixels:y(TV)});const RV=d({id:o(),name:o().optional()}),EV=d({id:o(),name:o().optional(),eventType:o().optional(),customEventName:o().nullable().optional(),attributionWindowDays:m().int().positive().optional(),adAccountId:o().optional(),sourceIds:y(o()).optional(),sources:y(RV).optional(),archived:C().optional(),version:m().int().nonnegative().optional()});d({eventSettings:y(EV)});d({connected:C(),adAccountId:o().nullable().optional(),displayName:o().nullable().optional(),currencyCode:o().nullable().optional(),timezone:o().nullable().optional(),status:o().nullable().optional(),reviewStatus:o().nullable().optional(),integrityReviewStatus:o().nullable().optional(),integrityDecision:o().nullable().optional(),lastSyncedAt:o().nullable().optional(),conversionTrackingConfigured:C().optional()});d({disconnected:C()});d({runId:o(),status:o()});const DV=["campaign_id","ad_group_id","ad_id","ad_account_id","oppref"],zV=/^[\w.-]+=[^&#\s]*$/,OV=/\{([^}]*)\}/g,wo=o().min(1).max(1e3).superRefine((e,n)=>{const i=u=>n.addIssue({code:"custom",message:u});if(e.startsWith("?")||e.startsWith("&")){i("Tracking template must not start with ? or &");return}const r=new Set;for(const u of e.split("&")){if(!zV.test(u)){i(`Tracking template pair '${u}' must be key=value without whitespace, # or &`);return}const h=u.slice(0,u.indexOf("="));if(r.has(h)){i(`Tracking template repeats the parameter '${h}'`);return}r.add(h)}for(const u of e.matchAll(OV)){const h=u[1];if(!DV.includes(h)){i(`Tracking template macro '{${h}}' is not supported`);return}}}),IV=d({type:o().nullable().optional(),title:o().nullable().optional(),body:o().nullable().optional(),targetUrl:o().nullable().optional(),fileId:o().nullable().optional()}),kc=j(["impressions","clicks"]);kc.enum;const Sc=j(["impression","click"]);Sc.enum;const PV=d({id:o(),adGroupId:o(),name:o(),status:o(),reviewStatus:o().nullable().optional(),creative:IV.nullable().optional(),landingPageQueryStringTemplate:o().nullable().optional(),upstreamUpdatedAt:m().int().nullable().optional(),syncedAt:o().optional()}),qV=d({id:o(),campaignId:o(),name:o(),description:o().nullable().optional(),status:o(),billingEventType:Fe([Sc,ue()]).optional(),maxBidMicros:m().int().nullable().optional(),contextHints:y(o()).default([]),ads:y(PV).default([]),landingPageQueryStringTemplate:o().nullable().optional(),upstreamUpdatedAt:m().int().nullable().optional(),syncedAt:o().optional()}),MV=d({id:o(),name:o(),description:o().nullable().optional(),status:o(),startTime:m().int().nullable().optional(),endTime:m().int().nullable().optional(),biddingType:Fe([kc,ue()]).optional(),dailySpendLimitMicros:m().int().nullable().optional(),lifetimeSpendLimitMicros:m().int().nullable().optional(),conversionEventSettingIds:y(o()).default([]),locationIds:y(o()).optional(),adGroups:y(qV).default([]),landingPageQueryStringTemplate:o().nullable().optional(),upstreamUpdatedAt:m().int().nullable().optional(),syncedAt:o().optional()});d({campaigns:y(MV)});const f3=j(["campaign","ad_group"]);f3.enum;const BV=d({level:f3,entityId:o(),date:o(),impressions:m().int(),clicks:m().int(),spendMicros:m().int(),conversions:m().int(),ctr:xe().nullable(),cpcMicros:m().int().nullable(),inProgress:C()});d({rows:y(BV),currencyCode:o().nullable().optional()});const g3=d({from:o().nullable(),to:o().nullable(),inProgressDate:o().nullable()}),y3=d({impressions:m().int(),clicks:m().int(),spendMicros:m().int(),conversions:m().int(),ctr:xe().nullable(),cpcMicros:m().int().nullable()});d({connected:C(),displayName:o().nullable().optional(),currencyCode:o().nullable().optional(),lastSyncedAt:o().nullable().optional(),campaignCount:m().int(),adGroupCount:m().int(),adCount:m().int(),window:g3,totals:y3});const b3=j(["unavailable","partial","complete"]);b3.enum;const v3=j(["no_ads_connection","connection_not_synced","no_ads_sync","entity_rows_missing_sync_run_id","entity_rows_span_multiple_sync_runs","source_sync_missing","source_sync_not_ads_sync","source_sync_not_completed"]);v3.enum;const x3=j(["unavailable","reported"]);x3.enum;const LV={storedSnapshot:"stored_ads_snapshot"},w3=j(["unavailable","partial_snapshot","metrics_unavailable","observed_activity","no_observed_activity"]);w3.enum;const VV=d({id:o(),name:o(),status:o(),reviewStatus:o().nullable()}),UV=d({id:o(),name:o(),status:o(),billingEventType:Fe([Sc,ue()]),maxBidMicros:m().int().nullable(),contextHints:y(o()),ads:y(VV)}),$V=d({id:o(),name:o(),status:o(),biddingType:Fe([kc,ue()]),dailySpendLimitMicros:m().int().nullable(),lifetimeSpendLimitMicros:m().int().nullable(),conversionEventSettingIds:y(o()),adGroups:y(UV)});d({snapshot:d({status:b3,issue:Fe([v3,ue()]),lastSyncedAt:o().nullable(),campaignCount:m().int().nonnegative(),adGroupCount:m().int().nonnegative(),adCount:m().int().nonnegative(),sourceSync:d({runId:o(),status:ua}).nullable()}),historicalCampaignRollups:d({status:x3,window:g3,totals:y3.nullable()}),storedConfiguration:d({basis:D(LV.storedSnapshot),connection:d({status:o().nullable(),reviewStatus:o().nullable(),integrityReviewStatus:o().nullable(),integrityDecision:o().nullable(),conversionTrackingConfigured:C()}).nullable(),campaigns:y($V)}),assessment:d({state:w3})});const si=o().min(8).max(128).regex(/^[\w.:-]+$/,"operationKey may contain letters, numbers, dot, underscore, colon, and hyphen"),Mt=o().min(1).max(200),ko=o().min(3).max(1e3).refine(e=>e.trim().length>0),_r=m().int().min(946684800).max(4102444800),Tr=m().int().positive().max(Number.MAX_SAFE_INTEGER),hg=o().regex(/^[a-f0-9]{64}$/),k3=y(Mt).max(100).refine(e=>new Set(e).size===e.length,"conversionEventSettingIds must be unique"),S3=o().url().refine(e=>new URL(e).protocol==="https:",{message:"URL must use https"}),j3=j(["image_upload","campaign_create","campaign_update","campaign_pause","campaign_archive","campaign_tree_activate","ad_group_create","ad_group_update","ad_group_pause","ad_group_archive","ad_create","ad_update","ad_pause","ad_archive"]);j3.enum;const A3=j(["pending","reconciling","succeeded","failed","unknown"]),xr=A3.enum,C3=j(["known_entity","create_fingerprint","manual_only"]);C3.enum;const N3=j([xr.pending,xr.unknown,xr.reconciling]);N3.enum;const _3=j(["active","paused","archived"]);_3.enum;const T3=j(["file","campaign","ad_group","ad"]);T3.enum;const R3=j(["campaign","ad_group","ad"]);R3.enum;const fg=d({id:Mt,expectedUpdatedAt:m().int().nonnegative()}).strict(),GV=fg,jd=1e3;function KV(e){return 1+e.campaign.adGroups.reduce((n,i)=>n+1+i.ads.length,0)}const HV=fg.extend({ads:y(GV).min(1).max(jd-1)}).strict(),QV=fg.extend({adGroups:y(HV).min(1).max(jd-1)}).strict();function FV(e,n){return e<n?-1:e>n?1:0}function Wx(e,n,i){for(let r=1;r<e.length;r+=1)if(FV(e[r-1].id,e[r].id)>=0){i.addIssue({code:"custom",path:n,message:"Activation manifest entities must be uniquely sorted by id"});return}}const E3=d({campaign:QV}).strict().superRefine((e,n)=>{KV(e)>jd&&n.addIssue({code:"custom",path:["campaign"],message:`Activation manifests may contain at most ${jd} entities`}),Wx(e.campaign.adGroups,["campaign","adGroups"],n);const r=new Set;for(let u=0;u<e.campaign.adGroups.length;u+=1){const h=e.campaign.adGroups[u];Wx(h.ads,["campaign","adGroups",u,"ads"],n);for(let g=0;g<h.ads.length;g+=1){const b=h.ads[g];r.has(b.id)&&n.addIssue({code:"custom",path:["campaign","adGroups",u,"ads",g,"id"],message:"An ad may appear only once in an activation manifest"}),r.add(b.id)}}}),D3=hg,ZV=j(["approved","executing","consumed","revoked","expired","unknown"]),Ri=ZV.enum,YV=j(["pending","executing","active","failed","rollback_executing","rolled_back","rollback_failed","unknown"]),As=YV.enum,XV=d({name:ko.optional(),description:o().max(4e3).nullable().optional(),status:_3.optional(),startTime:_r.nullable().optional(),endTime:_r.nullable().optional(),lifetimeSpendLimitMicros:Tr.min(1e6).optional(),locationIds:y(Mt).max(100).optional(),biddingType:kc.optional(),conversionEventSettingIds:k3.optional(),campaignId:Mt.optional(),contextHints:y(o().min(1).max(1e3)).max(100).optional(),maxBidMicros:Tr.max(1e8).optional(),billingEventType:Sc.optional(),adGroupId:Mt.optional(),creativeFingerprint:hg.optional(),landingPageQueryStringTemplate:wo.nullable().optional()}).strict();d({operationKey:si,imageUrl:S3});d({operationKey:si,name:ko,description:o().max(4e3).optional(),startTime:_r.optional(),endTime:_r.optional(),lifetimeSpendLimitMicros:Tr.min(1e6),locationIds:y(Mt).min(1).max(100),biddingType:kc.optional(),conversionEventSettingIds:k3.optional(),landingPageQueryStringTemplate:wo.optional()}).superRefine((e,n)=>{e.startTime!==void 0&&e.endTime!==void 0&&e.endTime<=e.startTime&&n.addIssue({code:"custom",path:["endTime"],message:"endTime must be after startTime"})});d({operationKey:si,campaignId:Mt,name:ko,description:o().max(4e3).optional(),contextHints:y(o().min(1).max(1e3)).min(1).max(100),maxBidMicros:Tr.max(1e8),billingEventType:Sc.optional(),landingPageQueryStringTemplate:wo.optional()});const z3=d({title:o().min(3).max(50),body:o().min(1).max(100),targetUrl:S3,fileId:Mt});d({operationKey:si,adGroupId:Mt,name:ko,creative:z3,landingPageQueryStringTemplate:wo.optional()});function gg(e){return Object.keys(e).some(n=>n!=="operationKey"&&n!=="expectedUpdatedAt")}d({operationKey:si,expectedUpdatedAt:m().int().nonnegative(),name:ko.optional(),description:o().max(4e3).nullable().optional(),startTime:_r.nullable().optional(),endTime:_r.nullable().optional(),lifetimeSpendLimitMicros:Tr.min(1e6).optional(),locationIds:y(Mt).min(1).max(100).optional(),landingPageQueryStringTemplate:wo.nullable().optional()}).refine(gg,{message:"At least one campaign field must be updated"});d({operationKey:si,expectedUpdatedAt:m().int().nonnegative(),name:ko.optional(),description:o().max(4e3).nullable().optional(),contextHints:y(o().min(1).max(1e3)).min(1).max(100).optional(),maxBidMicros:Tr.max(1e8).optional(),landingPageQueryStringTemplate:wo.nullable().optional()}).refine(gg,{message:"At least one ad group field must be updated"});d({operationKey:si,expectedUpdatedAt:m().int().nonnegative(),name:ko.optional(),creative:z3.optional(),landingPageQueryStringTemplate:wo.nullable().optional()}).refine(gg,{message:"At least one ad field must be updated"});d({operationKey:si});d({operationKey:si,expectedUpdatedAt:m().int().nonnegative()});const am=d({id:o(),adAccountId:o().nullable(),operationKey:o(),kind:j3,state:A3,entityType:Fe([T3,ue()]),entityId:o().nullable(),upstreamUpdatedAt:m().int().nullable(),errorCode:o().nullable(),errorMessage:o().nullable(),reconcileStrategy:Fe([C3,ue()]),reconcileParentId:Mt.nullable(),reconcileFingerprint:hg.nullable(),reconcileFields:XV.nullable(),reconcileAttempts:m().int().nonnegative(),lastReconciledAt:o().nullable(),createdAt:o(),updatedAt:o()});d({operation:am,replayed:C()});const Dt=iS({offset:!0}),Ur={id:Mt,projectId:Mt,adAccountId:Mt,manifestHash:D3,manifest:E3,executorApiKeyId:Mt,approverApiKeyId:Mt,expiresAt:Dt,approvedAt:Dt,createdAt:Dt,updatedAt:Dt,revocationRequestedAt:Dt.nullable()},WV=d({...Ur,state:D(Ri.approved),operationId:ue(),executionStartedAt:ue(),consumedAt:ue(),revokedAt:ue(),expiredAt:ue()}).strict(),JV=d({...Ur,state:D(Ri.executing),operationId:Mt,executionStartedAt:Dt,consumedAt:ue(),revokedAt:ue(),expiredAt:ue()}).strict(),eU=d({...Ur,state:D(Ri.consumed),operationId:Mt,executionStartedAt:Dt,consumedAt:Dt,revokedAt:ue(),expiredAt:ue()}).strict(),tU=d({...Ur,state:D(Ri.revoked),operationId:ue(),executionStartedAt:ue(),consumedAt:ue(),revokedAt:Dt,expiredAt:ue()}).strict(),nU=d({...Ur,state:D(Ri.expired),operationId:ue(),executionStartedAt:ue(),consumedAt:ue(),revokedAt:ue(),expiredAt:Dt}).strict(),aU=d({...Ur,state:D(Ri.unknown),operationId:Mt,executionStartedAt:Dt,consumedAt:ue(),revokedAt:ue(),expiredAt:ue()}).strict(),O3=Be("state",[WV,JV,eU,tU,nU,aU]).superRefine((e,n)=>{e.executorApiKeyId===e.approverApiKeyId&&n.addIssue({code:"custom",path:["executorApiKeyId"],message:"The activation executor must use a different API key from the approver"}),e.revocationRequestedAt!==null&&e.state!==Ri.executing&&e.state!==Ri.unknown&&e.state!==Ri.consumed&&n.addIssue({code:"custom",path:["revocationRequestedAt"],message:"Only an executing, cancelled, or unresolved activation can carry a cancellation request"})}),Cs={id:Mt,operationId:Mt,ordinal:m().int().nonnegative(),entityType:R3,entityId:Mt,expectedUpdatedAt:m().int().nonnegative(),createdAt:Dt,updatedAt:Dt},jc={errorCode:ue(),errorMessage:ue()},yg={errorCode:o().min(1).max(100),errorMessage:o().min(1).max(500),remediation:o().min(1).max(500)},iU=d({...Cs,...jc,state:D(As.pending),providerUpdatedAt:ue(),remediation:ue(),startedAt:ue(),finishedAt:ue()}).strict(),sU=d({...Cs,...jc,state:D(As.executing),providerUpdatedAt:ue(),remediation:ue(),startedAt:Dt,finishedAt:ue()}).strict(),oU=d({...Cs,...jc,state:D(As.active),providerUpdatedAt:m().int().nonnegative(),remediation:ue(),startedAt:Dt,finishedAt:Dt}).strict(),rU=d({...Cs,...yg,state:D(As.failed),providerUpdatedAt:Fe([m().int().nonnegative(),ue()]),startedAt:Dt,finishedAt:Dt}).strict(),lU=d({...Cs,...jc,state:D(As.rollback_executing),providerUpdatedAt:m().int().nonnegative(),remediation:o().min(1).max(500),startedAt:Dt,finishedAt:ue()}).strict(),cU=d({...Cs,...jc,state:D(As.rolled_back),providerUpdatedAt:m().int().nonnegative(),remediation:o().min(1).max(500),startedAt:Dt,finishedAt:Dt}).strict(),uU=d({...Cs,...yg,state:D(As.rollback_failed),providerUpdatedAt:m().int().nonnegative(),startedAt:Dt,finishedAt:Dt}).strict(),dU=d({...Cs,...yg,state:D(As.unknown),providerUpdatedAt:Fe([m().int().nonnegative(),ue()]),startedAt:Dt,finishedAt:Dt}).strict(),mU=Be("state",[iU,sU,oU,rU,lU,cU,uU,dU]),Rf={exact:"exact",refreshSemanticallyUnchanged:"refresh_semantically_unchanged"},pU=j([Rf.exact,Rf.refreshSemanticallyUnchanged]);d({manifest:E3,executorApiKeyId:Mt,expiresAt:Dt,versionPolicy:pU.default(Rf.exact)}).strict();d({grant:O3}).strict();d({}).strict();d({operationKey:si,grantId:Mt,manifestHash:D3}).strict();d({grant:O3,operation:am,steps:y(mU)}).strict();const hU=[xr.pending,xr.unknown,xr.reconciling];function fU(e){if(e===void 0||e==="")return hU;if(Array.isArray(e)){const n=[];for(const i of e)typeof i=="string"?n.push(...i.split(",")):n.push(i);return n}return typeof e=="string"?e.split(",").filter(Boolean):e}d({state:o0(fU,y(N3).min(1).max(3).refine(e=>new Set(e).size===e.length,"state values must be unique")),limit:oc().int().min(1).max(200).default(100),cursor:o().min(1).max(1e3).optional()});d({operations:y(am),count:m().int().nonnegative(),nextCursor:o().nullable()});d({}).strict();d({operation:am,resolved:C()});d({campaignId:o().min(1).max(200).optional(),lookbackDays:oc().int().min(1).max(30).default(7)});const I3=j(["campaign","ad_group","ad"]);I3.enum;const P3=j(["both","live-only","stored-only"]);P3.enum;const gU=D("live-provider-read"),yU=d({date:o().nullable(),startTime:m().nullable(),endTime:m().nullable(),impressions:m().nullable(),clicks:m().nullable(),spend:m().nullable(),conversions:m().nullable(),ctr:xe().nullable(),cpc:m().nullable(),cpm:m().nullable()}),Jx=d({impressions:m().int(),clicks:m().int(),spendMicros:m().int(),conversions:m().int()}),bU=d({date:o(),live:Jx.nullable(),stored:Jx.nullable(),drifted:C()}),vU=d({field:o(),live:o().nullable(),stored:o().nullable()}),xU=d({name:o().nullable(),status:o(),reviewStatus:o().nullable(),mode:o().nullable(),updatedAt:m().nullable()}),wU=d({name:o(),status:o(),reviewStatus:o().nullable(),upstreamUpdatedAt:m().nullable(),syncedAt:o()}),kU=d({entityType:I3,id:o(),parentId:o().nullable(),presence:P3,live:xU.nullable(),stored:wU.nullable(),fieldDeltas:y(vU),liveMetrics:y(yU).nullable(),metricDeltas:y(bU).nullable(),drifted:C()}),SU=d({surface:o(),entityId:o().nullable(),upstreamStatus:m().int().nullable()});d({basis:gU,fetchedAt:o(),adAccountId:o(),storedSnapshotSyncedAt:o().nullable(),metricsWindow:d({lookbackDays:m().int().positive()}),bounds:d({maxCampaigns:m().int().positive(),maxAdGroupsPerCampaign:m().int().positive(),maxAdsPerAdGroup:m().int().positive(),maxReaderCalls:m().int().positive(),readerCalls:m().int().nonnegative(),maxPagesPerReaderCall:m().int().positive(),maxUpstreamHttpRequests:m().int().positive(),truncated:C()}),entities:y(kU),drift:d({entitiesCompared:m().int().nonnegative(),driftedEntities:m().int().nonnegative(),statusDrifted:m().int().nonnegative(),metricsDrifted:m().int().nonnegative()}),errors:y(SU)});const jU=d({status:j(["available","unavailable","not-supported"])}),ew="*",AU=j(["enabled","configured_disabled","CANONRY_TELEMETRY_DISABLED","DO_NOT_TRACK","CI","NO_CONFIG","CONFIG_UNAVAILABLE"]),CU=j(["server","local"]);d({enabled:C(),configuredEnabled:C(),reason:AU,anonymousId:o().regex(/^[0-9a-f]{8}\.\.\.$/i).optional(),target:CU.optional()}).strict();const ht=1,Hh=j(["system","project","queries","competitors","run","finish"]),NU=j(["copy_agent_command","connect_server_traffic","connect_search_console","connect_analytics","connect_business_profile","set_schedule","add_notification","open_project","review_page_health"]),Qh=j(["0","1","2-3","4-5","6-10","11+"]);function ai(e){return!Number.isFinite(e)||e<=0?"0":e<2?"1":e<4?"2-3":e<6?"4-5":e<11?"6-10":"11+"}const tw=j(["api_unavailable","database_unavailable","worker_unavailable","no_provider","no_queries","provider_save_failed","project_create_failed","query_save_failed","run_rejected","run_failed","run_cancelled","rate_limited","provider_auth","network","unknown"]),_U=j(["wizard","platform","site_health"]),Zu=d({eventId:o().uuid(),flowVersion:D(ht),onboardingSessionId:o().uuid(),surface:_U.optional()});Be("event",[Zu.extend({event:D("onboarding.started"),step:Hh,resumed:C()}).strict(),Zu.extend({event:D("onboarding.step_completed"),step:Hh,method:j(["existing","inline","manual","generated","skipped","automatic"]),countBucket:Qh.optional(),nextAction:NU.optional()}).strict(),Zu.extend({event:D("onboarding.blocked"),step:Hh,action:j(["continue","configure_provider","generate_queries","save","launch_run","retry_run"]),reasonCode:tw}).strict(),Zu.extend({event:D("run.requested"),origin:D("dashboard_setup"),result:j(["queued","rejected"]),kind:j(["answer_visibility","site_health"]).optional(),providerCountBucket:Qh,queryCountBucket:Qh,reasonCode:tw.optional()}).strict()]);d({accepted:C()});j(["cli","mcp-stdio","mcp-http","aero","api","dashboard"]);const q3=4;function TU(e){return e.length<q3}const Ac=jL.enum.client,RU=Kj.enum.both,EU=t2.enum.advanced;function Ra(e,n,i=`${n}s`){return e===1?n:i}const DU=j(["client-summary","executive-summary","share-of-voice","whats-changed","client-action-plan","agency-action-plan","agency-diagnostics","citation-scorecard","competitor-landscape","ai-source-origin","gsc","ga","social-referrals","ai-referrals","server-activity","indexing-health","citations-trend","insights","content-opportunities","content-gaps","recommended-next-steps","client-evidence-summary"]),Rt=DU.enum;function DW(e,n){const i=e.visibility,r=i?.selection.mode===EU;return(n===Ac?[Rt["client-summary"],r?null:Rt["share-of-voice"],i?null:Rt["whats-changed"],e.serverActivity?Rt["server-activity"]:null,Rt["client-action-plan"],Rt["client-evidence-summary"]]:[i?Rt["client-summary"]:Rt["executive-summary"],r?null:Rt["share-of-voice"],i?null:Rt["whats-changed"],Rt["agency-action-plan"],r?null:Rt["agency-diagnostics"],r?null:Rt["citation-scorecard"],r?null:Rt["competitor-landscape"],Rt["ai-source-origin"],Rt.gsc,Rt.ga,Rt["social-referrals"],Rt["ai-referrals"],Rt["server-activity"],Rt["indexing-health"],r?null:Rt["citations-trend"],Rt.insights,LL(e).length>0?Rt["content-opportunities"]:null,e.contentGaps.length>0?Rt["content-gaps"]:null,Rt["recommended-next-steps"]]).filter(h=>h!==null)}const zU={gemini:"Gemini",openai:"ChatGPT",claude:"Claude",perplexity:"Perplexity",muse:"Muse",local:"Local model","cdp:chatgpt":"ChatGPT (browser)"};function OU(e){return zU[e]??e.charAt(0).toUpperCase()+e.slice(1)}function IU(e){switch(e){case"immediate":return"Do now";case"short-term":return"This month";case"medium-term":return"Next quarter"}}function PU(e){switch(e){case"high":return"Strong evidence";case"medium":return"Some evidence";case"low":return"Worth trying"}}function M3(e){if(!e)return"";const n=[e.city,e.region,e.country].filter(Boolean).join(", ");return n?`${e.label} (${n})`:e.label}const Ef={eyebrow:"AI Visibility Report",market:"Market",noMarket:"No market set",generated:"Generated"};function zW(e){return e?`${Ef.market}: ${M3(e)}`:Ef.noMarket}function OW(e){return`Last ${e} days`}function nw(e,n=3){const i=e.slice(0,n),r=e.length-i.length;return`${i.join(", ")}${r>0?`, +${r} more`:""}`}function IW(e,n){return`${e.slice(0,n).join(", ")}${e.length>n?"…":""}`}function PW(e){return`+${e} more`}function qW(e){return`× ${e}`}function MW(e){return`${e} bar chart`}function BW(e){return`${e} line chart`}function B3(e){return e==="up"?"↑":e==="down"?"↓":"→"}function LW(e){return e==="up"?"positive":e==="down"?"negative":"neutral"}function aw(e){return B2(e,At.percent).magnitude}function L3(e){return qI(e,At.percent)}function VW(e,n){return n==="%"?yn(e.current,At.percent):String(e.current)}function UW(e,n){return n==="%"?`${L3(e.deltaAbs)} vs ${yn(e.prior,At.percent)}`:PI(e)}function $W(e){return`${L3(e.deltaAbs)} ${B3(e.direction)}`}function GW(e){return`vs prior ${e} days`}function KW(e){if(!e)return null;const n=e.window??1,i=yn(e.prior,At.percent),r=n>=2?`vs prior ${n} checks (avg ${i})`:`since last check (was ${i})`,u=B3(e.direction);return e.direction==="up"?{text:`Up ${aw(e.deltaAbs)} points ${r}`,tone:"positive",arrow:u}:e.direction==="down"?{text:`Down ${aw(e.deltaAbs)} points ${r}`,tone:"negative",arrow:u}:{text:`Holding steady ${r}`,tone:"neutral",arrow:u}}const im={"client-summary":{heroEyebrow:"Overview",heroEmpty:"No AI check has been run yet. Run a check to see how AI tools answer customer queries about your business.",tiles:{mentioned:"AI mentions your name",cited:"AI links to your website",providers:"AI tools tested"},noData:"No data yet",explainer:{lead:"Mentions and links are different.",mention:{article:"A",term:"mention",definition:"is when AI says your name out loud in its answer."},link:{article:"A",term:"link",definition:"is when AI lists your website as a source it used."},closing:"AI can do either, both, or neither — that's why we track both."},queriesHeading:"Customer queries we tested",providerBarsHeading:"How often each AI tool mentions you",providerBarsSubtitle:"Higher is better. Each bar shows the share of customer queries where the AI named you in the answer."},"whats-changed":{client:{eyebrow:"Since last check",title:"What's different since last check",empty:"No comparison yet — trends will appear after a few more checks.",tiles:{mentionRate:"AI mentions your name",citationRate:"AI links to your website",mentionedQueryCount:"Queries AI mentioned you in",gscClicks:"Visitors from Google",aiReferrals:"Visitors from AI tools"},gscCountLabel:"visits",aiReferralsCountLabel:"visits",movementsHeading:"How each AI tool changed",movementHeaders:["AI tool","Was","Now","Change"],winsHeading:"What got better",winsEmpty:"No new wins this period.",regressionsHeading:"What got worse",regressionsEmpty:"Nothing got worse this period.",insightHeaders:["What changed","Customer query","AI tool"]},agency:{eyebrow:"Section 2",title:"What's Changed",empty:"Trends will appear after a few more checks.",tiles:{citationRate:"Citation rate",mentionRate:"Mention rate",citedQueryCount:"Cited queries",gscClicks:"GSC clicks",aiReferrals:"AI referral sessions"},gscCountLabel:"clicks",aiReferralsCountLabel:"sessions",movementsHeading:"AI engine movements",movementHeaders:["Engine","Prior","Current","Change"],winsHeading:"Wins",winsEmpty:"No new gains in the latest check.",regressionsHeading:"Regressions",regressionsEmpty:"No new regressions in the latest check.",insightHeaders:["Severity","Title","Query","Provider"]},rateTileEmpty:"No prior data",trafficTileEmpty:"Not enough trend data"},"client-action-plan":{eyebrow:"Action plan",title:"What to do next",intro:"Approve these in order. They are sorted by what will move the needle fastest.",empty:"No recommendations yet — run an AI check to populate this.",rankTitle:"Priority — 1 will move the needle fastest",detailsSummary:"See the data behind this",whyLabel:"Why this matters",evidenceLabel:"What we saw",successLabel:"What success looks like:"},"agency-action-plan":{eyebrow:"Agency actions",title:"Agency Action Plan",intro:"The highest-leverage work, sorted by urgency and evidence strength.",empty:"No prioritized actions yet.",rankTitle:"Impact rank — 1 is the highest-leverage action",detailsSummary:"Evidence details",whyLabel:"Why",evidenceLabel:"Evidence",successLabel:"Win condition:"},"client-evidence-summary":{eyebrow:"What we based this on",title:"The signals behind this plan",intro:"The data behind the recommendations above. Switch to Agency for the full breakdowns.",empty:"No supporting evidence yet — this fills in after the first AI check.",sources:{heading:"Where AI gets its answers",subtitle:"The websites AI tools cited most often when answering customer queries about your industry.",competitorTag:"(competitor)"},indexing:{heading:"Pages Google can find on your site",subtitle:"Google indexing your site increases the chances of it appearing in AI search (especially Gemini)."},search:{heading:"What people search Google for",subtitleLead:"You appeared in",subtitleMiddle:"Google searches and got",subtitleTail:"this period."},opportunities:{heading:"Topics where you could improve",subtitle:"Customer queries where better content on your site would help AI cite you.",cededTag:"Ceded surface"}}};function HW(e,n){return e>0?`When customers asked AI ${e} ${Ra(e,"query","queries")} about your industry, AI mentioned you in ${n} of ${e===1?"them":"those queries"}.`:im["client-summary"].heroEmpty}function QW(e,n){return n>0?`Says your name in ${e} of ${n} ${Ra(n,"query","queries")}`:im["client-summary"].noData}function FW(e,n){return n>0?`Cites your site as a source in ${e} of ${n} ${Ra(n,"query","queries")}`:im["client-summary"].noData}function ZW(e,n){return e.length>0?e.map(i=>OU(i)).join(", "):`${Bn(n)} ${Ra(n,"query","queries")} tested`}function YW(e){return`These are the ${e} ${Ra(e,"query we asked","queries we asked")} every AI tool. The numbers above measure how often you came up.`}function XW(e,n){const i=n===Ac?e.clientSummary.actionItems:e.agencyDiagnostics.priorities.length>0?e.agencyDiagnostics.priorities:e.actionPlan.filter(r=>r.audience===RU||r.audience===n);return Xj(e,i)}function WW(e,n){return e===Ac?IU(n):DL(n)}function JW(e,n){return e===Ac?PU(n):`${zL(n)} confidence`}function eJ(e){return`${Bn(e)}×`}function tJ(e,n){return`${Bn(e)} of ${Bn(n)} pages indexed`}function nJ(e){return`${Ra(e,"page is","pages are")} not indexed yet.`}function aJ(e){return Ra(e,"click")}function iJ(e){return`${Bn(e)} ${Ra(e,"search","searches")}`}function sJ(e){return e>=90?"positive":e>=70?"caution":"negative"}const bg={"executive-summary":{eyebrow:"Section 1",title:"Executive Summary",intro:"Citation = source list. Mention = answer text. They are independent signals.",heroKicker:"Latest AI visibility check",emptyTitle:"No AI citation data yet",emptySubtitle:"Run a check to populate the first citation and mention baseline.",noQueries:"no queries",proofTiles:{citationTrend:"Citation trend",mentionCoverage:"Mention coverage",prioritizedActions:"Prioritized actions"},prioritizedActionsCopy:"Sorted for agency follow-up.",tiles:{citationRate:"Citation rate",mentionRate:"Mention rate",queriesTracked:"Queries tracked",gscClicks:"GSC clicks",gaSessions:"GA sessions"},trendLabels:{up:"↑ Up",down:"↓ Down",flat:"→ Flat",unknown:"—"},marketScope:{heading:"Market Scope",currentLabel:"Current check",currentCopy:"All findings below are scoped to this run.",notIncludedLabel:"Not included",providerLabel:"Provider context",noOtherMarkets:"None",noProviders:"—",singleMarketCopy:"Single-market report; findings can be read as the current market view.",noMarketCopy:"No geographic hint was attached to this check; read findings as default-market or national results.",noProviderMetadataCopy:"No provider-level location metadata is available for this report.",warningTitle:"Location handling needs review",warningDetail:"used weak or indirect market handling. Treat provider-level differences cautiously."}},"agency-diagnostics":{eyebrow:"Agency diagnostics",title:"Technical Diagnostics",intro:"Fast-read operator flags behind the action plan.",empty:"No agency diagnostics available yet.",hiddenTitle:"Location caveat"},"recommended-next-steps":{eyebrow:"Section 16",title:"Recommended Next Steps",intro:"Action items bucketed by timing.",empty:"No outstanding actions."}};function oJ(e){const n=bg["executive-summary"],i=e.executiveSummary,r=i.trend,u=r==="up"?n.trendLabels.up:r==="down"?n.trendLabels.down:r==="flat"?n.trendLabels.flat:n.trendLabels.unknown,h=r==="up"?"positive":r==="down"?"negative":"neutral",g=(i.totalQueryCount??0)>0,b=i.totalQueryCount===1?"query":"queries",v=e.agencyDiagnostics.priorities.length>0?e.agencyDiagnostics.priorities:e.actionPlan,w=i.gsc?V3(e):"";return{trendLabel:u,trendTone:h,title:g?`${i.citedQueryCount} of ${i.totalQueryCount} tracked ${b} cite ${e.meta.project.displayName}`:n.emptyTitle,subtitle:g?`${yn(i.citationRate,At.percent)} citation coverage and ${yn(i.mentionRate,At.percent)} mention coverage across ${i.providerCount} ${Ra(i.providerCount,"provider")}.`:n.emptySubtitle,citedFragment:g?`${i.citedQueryCount}/${i.totalQueryCount} ${b} cited`:n.noQueries,mentionedFragment:g?`${i.mentionedQueryCount}/${i.totalQueryCount} ${b} mentioned`:n.noQueries,prioritizedActionCount:Xj(e,v).length,providerCountLabel:`${i.providerCount} provider${i.providerCount===1?"":"s"}`,competitorCountLabel:`${i.competitorCount} competitor${i.competitorCount===1?"":"s"} tracked`,gscDelta:i.gsc?`${Bn(i.gsc.impressions)} imp · ${yn(i.gsc.ctr)} CTR${w?` · ${w}`:""}`:null,gaDelta:i.ga?`${Bn(i.ga.users)} users · ${po(i.ga.periodStart)} → ${po(i.ga.periodEnd)}`:null}}function rJ(e){const n=bg["executive-summary"].marketScope,i=e.meta.location,r=e.meta.providerLocationHandling;if(!i&&r.length===0)return null;const u=i?.otherConfiguredLabels??[],h=r.filter(g=>g.treatment==="ignored"||g.treatment==="browser-geo").map(g=>g.provider);return{currentValue:i?M3(i):Ef.noMarket,notIncludedValue:u.length>0?nw(u,4):n.noOtherMarkets,notIncludedCopy:i?u.length>0?`${u.length} configured ${Ra(u.length,"market")} still ${u.length===1?"needs":"need"} a matching check before cross-market recommendations.`:n.singleMarketCopy:n.noMarketCopy,providerValue:r.length>0?Bn(r.length):n.noProviders,providerCopy:r.length>0?h.length>0?`${h.length} ${Ra(h.length,"provider")} need a closer location check.`:`${r.length} ${Ra(r.length,"provider")} received the market context.`:n.noProviderMetadataCopy,weakProviders:h.length>0?nw(h,4):null}}const qU={"citation-scorecard":{eyebrow:"Section 3",title:"Citation Scorecard",intro:"Per-engine citation and mention coverage from the latest check.",providerChartTitle:"Provider citation rate",empty:"Run a check to populate the citation matrix.",queryHeader:"Query",glyphs:{cited:"C",notCited:"c",mentioned:"M",notMentioned:"m",pending:"–",missingCell:"— —"},legend:{lead:"Legend:",citedMeaning:"= cited/not,",mentionedMeaning:"= mentioned/not,",pendingMeaning:"= no data."}},"competitor-landscape":{eyebrow:"Section 4",title:"Competitor Landscape",intro:"Who AI engines cite and mention instead of the client.",empty:"No competitor data yet. Add competitors and run a check.",noCompetitors:"No competitors configured.",citationsChartTitle:"Citations per domain",brandedChartTitle:"Mentions per domain · branded queries",headers:{domain:"Domain",pressure:"Pressure",citations:"Citations",citationShare:"Citation share",citedQueries:"Cited queries"},citationShareTooltip:"Citation share — % of cited-source slots that went to this competitor across tracked queries. Distinct from Mention Share."},"ai-source-origin":{eyebrow:"Section 5",title:"AI Citation Sources",intro:"External domains AI engines cited most in the latest check.",empty:"No source data yet. Run a check first.",topSourcesHeading:"Top sources",topSourceHeaders:["Domain","Citations","Tag"],trackedCompetitorTag:"Tracked competitor",externalTag:"External",categoriesHeading:"By source type"}};function lJ(e){return`${yn(e.citationRate,At.percent)} (${e.citedCount}/${e.totalCount})`}const MU={"non-brand":"non-brand queries",pooled:"pooled queries · classification unavailable"};function BU(e){return MU[e]??"pooled queries · classification unavailable"}function cJ(e){const n=BU(e.scope),i=e.branded;return{scopeLabel:n,mentionsHeader:`Mentions (${n})`,mentionsTooltip:e.scope==="non-brand"?`Mentions on ${n}. Branded queries are counted separately — the client is named on nearly all of them and a competitor cannot be, so pooling the two would rank the client on its own brand recall.`:`Mentions on ${n}. The project has no usable brand identity for a branded/non-brand split, so all tracked queries remain pooled and this is not a competitive category read.`,mentionsChartTitle:`Mentions per domain · ${n}`,mentionShareUnavailable:`Mention share unavailable for ${n}: no tracked brand was named, so the denominator is 0.`,brandedNote:`Branded queries contain the client's own name. The client is named on nearly all of them and a competitor structurally cannot be, so these are kept out of the competitive figure above. Read them as brand recall: ${i?.projectMentionCount??0} of ${i?.totalAnswerSnapshots??0} branded answers named the client.`}}function uJ(e){return`${e} cited URL${e>1?"s":""}`}function dJ(e){const n=e.find(r=>r.category===sd.competitor);if(!n)return null;const i=e.reduce((r,u)=>r+u.count,0);return{share:yn(n.sharePct,At.percent),detail:`of citations went to tracked competitors (${n.count} of ${i}).`}}function mJ(e){return`(${yn(e,At.percent)})`}const LU={gsc:{eyebrow:"Section 6",title:"GSC Performance",empty:"Connect Google Search Console to populate this section.",tiles:{clicks:"Total clicks",impressions:"Total impressions",ctr:"Avg CTR",position:"Avg position"},trendTitle:"Clicks over time",topQueriesHeading:"Top queries",topQueryHeaders:["Query","Clicks","Imp.","CTR","Pos.","Category"],intentHeading:"Search demand by intent",intentCountLabel:"clicks",untrackedDemand:{heading:"AEO queries without search demand",subtitle:"Review whether these still belong in the tracking set."},suggestedQueries:{heading:"Search queries you should track",subtitle:"High-impression candidates to add to AEO tracking."}},ga:{eyebrow:"Section 7",title:"GA4 Traffic",empty:"Connect Google Analytics 4 to populate this section.",tiles:{sessions:"Total sessions",users:"Total users",organicSessions:"Organic sessions"},topPagesHeading:"Top landing pages",topPageHeaders:["Page","Sessions","Organic"],channelsHeading:"Channel mix",channelsCountLabel:"sessions"},"social-referrals":{eyebrow:"Section 8",title:"Social Referrals",intro:"Social traffic split by channel and campaign.",empty:"No social referral data yet.",tiles:{sessions:"Total sessions",organic:"Organic social",paid:"Paid social"},channelsHeading:"Social channel mix",channelsCountLabel:"sessions",campaignsHeading:"Top campaigns",campaignHeaders:["Source","Medium","Sessions"]},"ai-referrals":{eyebrow:"Section 9",title:"AI Referral Traffic",intro:"Traffic arriving from AI answer engines.",empty:"No AI referral traffic detected yet.",tiles:{sessions:"Total sessions"},trendTitle:"AI referral sessions over time",sourcesHeading:"AI sessions by source",sourcesCountLabel:"sessions",topPagesHeading:"Top AI landing pages",topPageHeaders:["Page","Sessions"]}};function V3(e){const n=e.executiveSummary.gsc,i=e.gsc,r=n?.periodStart||i?.periodStart||i?.trend.at(0)?.date||"",u=n?.periodEnd||i?.periodEnd||i?.trend.at(-1)?.date||"";return OI(r,u)}function pJ(e){const n=V3(e);return`Search demand signals to compare against AI visibility${n?` for ${n}`:""}.`}function hJ(e){return`Site traffic from ${po(e.periodStart)} to ${po(e.periodEnd)}.`}function fJ(e,n){return`${e} · ${yn(n,At.percent)}`}const vg={"server-activity":{title:"AI Visibility — Server-Side",client:{eyebrow:"AI engine attention",introNoData:"Live telemetry from your server logs.",empty:"Your server-side traffic source is connected. Numbers will appear after the next sync.",tiles:{botRequests:"AI bot requests observed",userFetches:"AI user-fetch requests",referralSessions:"AI referral sessions"},userFetchFallback:"ChatGPT-User, Perplexity-User, MistralAI-User",operatorsHeading:"By AI tool",operatorsFootnote:"Bot requests are bulk crawl (GPTBot, PerplexityBot, …). User fetches are on-demand reads triggered by real users inside an AI surface (ChatGPT-User, Perplexity-User, …). Verified means the request came from an IP the operator publishes as its own; unverified means the user-agent matched but the IP is not in a published range. User-fetch totals count both, since many genuine user fetches come from outside any published range."},agency:{eyebrow:"Section 10",intro:"What AI engines actually do in your server logs — direct evidence, complementary to citations (which measure what they say).",emptyNotConnected:"Connect a server-side traffic source to surface what AI engines do directly in your server logs — distinct from GA4 click-throughs.",empty:"Source connected — collecting your first data. Numbers will appear after the next sync.",operatorsHeading:"Per AI operator",operatorsNote:"Verified means the request's source IP falls inside the operator's published range. Unverified bots claim the user-agent but the IP is not in a published range, so it could be the real bot or an imitator. User fetches are on-demand reads from an AI surface on behalf of a real user (ChatGPT-User, Perplexity-User, …), disjoint from bulk crawl and counted whether or not the IP can be verified.",noDelta:"—",crawledPathsHeading:"Top crawled paths",crawledPathHeaders:["Path","Hits","Verified","Distinct operators"],referralProductsHeading:"AI-referral sessions by product",referralProductsNote:"Where humans landed coming from each AI product (chatgpt.com, claude.ai, …).",referralProductHeaders:["Product","Sessions","Distinct landing paths"],referralLandingHeading:"Top AI-referral landing paths",referralLandingHeaders:["Path","Sessions","Distinct products"]},countNouns:{requests:"requests",hits:"hits",sessions:"sessions"}},"indexing-health":{eyebrow:"Section 11",title:"Indexing Health",empty:"Connect Google Search Console or Bing Webmaster Tools and run a sitemap inspection.",tiles:{indexed:"Indexed",total:"Total inspected",share:"Indexed share"},coverageHeading:"Coverage breakdown",coverageLabel:"Coverage stacked bar",segments:{indexed:"Indexed",notIndexed:"Not indexed",deindexed:"Deindexed",unknown:"Unknown"}},"citations-trend":{eyebrow:"Section 12",title:"Citations Over Time",intro:"Citation coverage across recent checks.",empty:"Run multiple checks to see a trend.",chartTitle:"Overall citation rate",breakdownHeading:"Check-by-check breakdown",breakdownHeaders:["Check","Cited queries","Per-engine rates"]}};function gJ(e,n,i){const r=vg["server-activity"],u=e===Ac;return{id:Rt["server-activity"],eyebrow:u?r.client.eyebrow:r.agency.eyebrow,title:r.title,intro:u?n?`What AI engines actually do in your server logs over the last ${i} days — the other half of citations.`:r.client.introNoData:r.agency.intro}}function sm(e){return`${e}d`}function yJ(e){const n=sm(e);return["AI tool",`Bot requests (${n})`,`User fetches (${n})`,"Referral sessions"]}function bJ(e){const n=sm(e);return{verified:`Verified crawler hits (${n})`,unverified:`Unverified crawler hits (${n})`,userFetches:`AI user-fetch hits (${n})`,referralSessions:`AI-referral sessions (${n})`}}function vJ(e){return["Operator","Verified hits","Unverified","User fetches","Referral sessions",`${sm(e)} delta`]}function xJ(e){return`Verified crawler hits over time (last ${e} days)`}function wJ(e){return`Pages AI bots fetched most often (verified only, last ${sm(e)}).`}function kJ(e){return e===null?vg["server-activity"].agency.noDelta:V0(e,At.percent)}function SJ(e){return e.verifiedHits+e.unverifiedHits}function jJ(e,n){return`${Bn(e)} verified · ${Bn(n)} unverified`}function AJ(e){return e>0?`${Bn(e)} blocked by redirects`:""}function CJ(e){return`Pages absent from ${e==="google"?"Google":"Bing"} are harder for AI engines to retrieve.`}function NJ(e,n){return`${e}: ${n}`}function _J(e){return`Building baseline (${e} of ${q3} checks completed). Trend will appear once more checks are recorded.`}function TJ(e){return e.map(n=>`${n.provider}: ${yn(n.citationRate,At.percent)}`).join(" · ")}const VU={insights:{eyebrow:"Section 13",title:"Insights & Alerts",intro:"Regressions, gains, and recurring alerts ordered by severity.",empty:"No insights yet — run a check to generate alerts.",headers:["Severity","Title","Query","Provider","Recommendation"],noRecommendation:"—"},"content-opportunities":{eyebrow:"Section 14",title:"Content Opportunities",intro:"Queries where content work has the clearest path to more AI citations. Opportunity score is 0–100, higher = stronger. Winnability flags whether the cited surface is ownable or ceded to aggregators/editorial.",headers:["Query","Action","Winnability","Score","Why","Our page","Winning competitor","Confidence"],scoreSuffix:"/100",scoreCardTooltip:"Opportunity score (0–100, higher = stronger)",scoreHeaderTooltip:"Opportunity score (0–100)",noDriverSignal:"No driver signal yet",noPage:"No page yet",noWinningCompetitor:"—"},"content-gaps":{eyebrow:"Section 15",title:"Content Gaps",intro:"Tracked queries where competitors are cited and the client is missing.",headers:["Query","Competitors cited","Domains","Miss rate"]}};function RJ(e){return`${OB(e.action)} · ${IB(e.actionConfidence)} confidence`}function EJ(e){return yn(e)}const DJ={...im,...bg,...qU,...LU,...vg,...VU},U3=j(["trace","debug","info","warn","error","fatal"]),$3=d({runId:o().min(1).max(256).optional(),projectId:o().min(1).max(256).optional(),requestId:o().min(1).max(256).optional(),actor:o().min(1).max(512).optional(),credentialId:o().min(1).max(512).optional(),userAgent:o().min(1).max(512).optional(),actorSession:o().min(1).max(512).optional(),method:o().min(1).max(16).optional(),route:o().min(1).max(256).optional(),operationId:o().min(1).max(256).optional(),jobId:o().min(1).max(256).optional(),taskId:o().min(1).max(256).optional(),traceId:o().min(1).max(256).optional(),provider:o().min(1).max(256).optional(),errorCode:o().min(1).max(128).optional(),attempt:m().finite().optional(),count:m().finite().optional(),total:m().finite().optional(),progress:m().finite().optional(),httpStatus:m().finite().optional(),statusCode:m().finite().optional(),durationMs:m().finite().optional(),bytes:m().finite().optional(),retryAfterMs:m().finite().optional(),retriable:C().optional(),retrying:C().optional(),cancelled:C().optional(),success:C().optional()}).strict(),G3=d({cursor:o().min(1).max(512),ts:o().datetime(),level:U3,module:o().min(1).max(256),action:o().min(1).max(256),message:o().max(4096).optional(),runId:o().min(1).max(256).optional(),projectId:o().min(1).max(256).optional(),context:$3}).strict();d({level:U3.optional(),module:o().trim().min(1).max(256).optional(),runId:o().trim().min(1).max(256).optional(),projectId:o().trim().min(1).max(256).optional(),actor:o().trim().min(1).max(512).optional(),requestId:o().trim().min(1).max(256).optional(),since:o().datetime().optional(),until:o().datetime().optional(),limit:oc().int().min(1).max(200).default(100),cursor:o().trim().min(1).max(512).optional()}).strict().superRefine((e,n)=>{e.since&&e.until&&Date.parse(e.since)>Date.parse(e.until)&&n.addIssue({code:ye.custom,path:["until"],message:'"until" must be on or after "since".'})});const K3=d({maxEntries:m().int().positive(),maxAgeSeconds:m().int().positive()}).strict(),UU=d({entries:y(G3),nextCursor:o().min(1).max(512).nullable(),truncated:m().int().nonnegative(),dropped:m().int().nonnegative(),retention:j(["process","durable"]),retentionPolicy:K3.optional(),captureErrors:m().int().nonnegative().optional(),observedAt:o().datetime()}).strict(),$U=d($3.shape),GU=d({...G3.shape,context:$U});d({...UU.shape,entries:y(GU),retentionPolicy:d(K3.shape).optional()});function Fh(e){return e!==""&&/^[\w./:@%+=,-]+$/.test(e)?e:`'${e.replace(/'/g,"'\\''")}'`}d({startDate:Yn,endDate:Yn,sourceId:o().trim().min(1).optional(),burstThreshold:m().int().min(1).max(1e6).optional(),ratioThreshold:m().min(1).max(1e3).optional(),limit:m().int().min(1).max(500).optional()}).strict();const io=d({total:m().int().nonnegative(),paid:m().int().nonnegative(),organic:m().int().nonnegative(),unknown:m().int().nonnegative()});d({scope:d({project:o(),sourceId:o().nullable(),attribution:D("project-source-only"),unavailableDimensions:y(j(["property","target","market"]))}),window:d({startDate:Yn,endDate:Yn,timeZone:D("UTC")}),rule:d({version:D("hourly-normalized-path-v1"),burstThreshold:m().int().positive(),ratioThreshold:m().positive(),calibration:j(["uncalibrated-default","request-override"]),grouping:y(o()),confirmsAutomation:D(!1)}),totals:d({raw:io,redirects:io,subresources:io,countable:io,suspected:io,adjustedEstimate:io}),bursts:y(d({sourceId:o(),product:o(),landingPathNormalized:o(),tsHour:o(),counts:io})),evidence:d({total:m().int().nonnegative(),returned:m().int().nonnegative(),truncated:C()}),comparison:d({status:D("unavailable"),serverCountable:m().int().nonnegative(),serverObservation:j(["missing","observed-zero","observed-positive"]),gaSessions:m().int().nonnegative().nullable(),gaObservation:j(["missing","observed-zero","observed-positive"]),observedRatio:m().nonnegative().nullable(),observedRatioAboveThreshold:C().nullable(),ratio:ue(),reasons:y(o()),gaScope:D("project")}),caveats:y(o())});class gn extends Error{code;statusCode;details;constructor(n,i,r,u){super(n),this.name="ApiError",this.code=r??"UNKNOWN",this.statusCode=i,this.details=u}}function zJ(e){if(e instanceof gn)return e.details;if(typeof e!="object"||e===null)return;const n=e.error,i=typeof n=="object"&&n!==null?n.details:e.details;return typeof i=="object"&&i!==null&&!Array.isArray(i)?i:void 0}function wr(){if(typeof window>"u")return!1;const e=window.__CANONRY_CONFIG__?.demo;return e?.enabled===!0&&e.readOnly===!0&&e.sampleData===!0}function KU(){if(typeof window>"u")return"legacy";const e=window.__CANONRY_CONFIG__?.dashboard?.onboardingMode??window.__CANONRY_CONFIG__?.onboardingMode;return e==="platform"||e==="auto"||e==="legacy"?e:"auto"}function HU(){if(typeof window>"u")return;const e=window.__CANONRY_CONFIG__?.embed?.renderToken;return typeof e=="string"&&e.length>0?e:void 0}function xg(e){const n=HU();if(!n)return e;let i;const r=typeof window<"u"&&window.location?window.location.href:"http://localhost/";try{i=new URL(e,r)}catch{return e}const u=new URL(r).origin;if(i.origin!==u)return e;const g=`${om().replace(/\/$/,"")}/api/v1`;return i.pathname!==g&&!i.pathname.startsWith(`${g}/`)?e:(i.searchParams.set("token",n),/^[a-z][a-z\d+.-]*:/i.test(e)?i.toString():`${i.pathname}${i.search}${i.hash}`)}function QU(e,n){const i={method:e.method,headers:e.headers,cache:e.cache,credentials:e.credentials,integrity:e.integrity,keepalive:e.keepalive,mode:e.mode,redirect:e.redirect,referrer:e.referrer,referrerPolicy:e.referrerPolicy,signal:e.signal};return e.body&&(i.body=e.body,i.duplex="half"),new Request(n,i)}function H3(){if(typeof window>"u")return null;const e=window.__CANONRY_CONFIG__?.embed;return e?.enabled?e:null}function FU(){return typeof window>"u"?!0:window.__CANONRY_CONFIG__?.dashboard?.showResourceLinks!==!1}function ZU(){return typeof window>"u"?!0:window.__CANONRY_CONFIG__?.dashboard?.showAgentBar!==!1}function YU(){return typeof window>"u"?!1:window.__CANONRY_CONFIG__?.agent?.allowViewers===!0}function wg(){return wr()}function XU(){return typeof window>"u"?!0:window.__CANONRY_CONFIG__?.dashboard?.showUpdateNotification!==!1}function oo(){return WU(De["answer-visibility"])}function WU(e){if(typeof window>"u")return!1;const n=window.__CANONRY_CONFIG__?.dashboard;return n?.managedRunKinds!==void 0?n.managedRunKinds.includes(e):e===De["answer-visibility"]&&n?.managedSweeps===!0}function JU(){if(typeof window>"u")return null;const e=window.__CANONRY_CONFIG__?.research;if(e?.allowViewers!==!0)return null;const n=e.viewerDailyRunLimit;return{allowViewers:!0,viewerDailyRunLimit:Number.isInteger(n)&&(n??0)>0?n:bV}}function iw(){return JU()?"Analyst":"View only"}function e$(){return H3()!==null}function t$(){return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?window.__CANONRY_CONFIG__.basePath.replace(/\/$/,"")+"/api/v1":"/api/v1"}const kg=t$();function n$(){const e=typeof window<"u"&&window.location?window.location.origin:"";return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?e+window.__CANONRY_CONFIG__.basePath.replace(/\/$/,""):e}function om(){return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?window.__CANONRY_CONFIG__.basePath.replace(/\/$/,""):""}function a$(e){const n=e.trim().toLowerCase().replace(/^\[|\]$/g,"");return n==="localhost"||n==="::1"?!0:/^127\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(n)}function i$(e,n){if(e.protocol!=="http:"&&e.protocol!=="https:"||!a$(e.hostname))return;const i=e.port?`:${e.port}`:"",r=n?n.replace(/\/$/,""):"";return`${e.protocol}//localhost${i}${r}`}function OJ(e){return`${e.replace(/\/$/,"")}/api/v1/google/callback`}function IJ(e){return`${e.replace(/\/$/,"")}/api/v1/google-marketing/callback`}function s$(){if(!(typeof window>"u"))return i$(window.location,om())}function o$(e){return`${om()}${e}`}function r$(e,n){if(n===404)return"Health endpoint returned 404. Check basePath or reverse-proxy configuration and make sure the dashboard reaches /health instead of an API-prefixed route."}function l$(){return""}function c$(){return!!l$()}let Q3=null;function sw(e){Q3=e}function Sg(){Q3?.()}const ne=c8({baseUrl:n$()});ne.interceptors.response.use((e,n)=>(e.status===401&&!n.url.includes("/api/v1/session")&&Sg(),e));ne.interceptors.request.use(e=>{const n=xg(e.url);return n===e.url?e:QU(e,n)});async function ve(e){const n=await e();if(n.error!==void 0&&n.error!==null){const i=n.response.status;let r=`API ${i}: ${n.response.statusText}`,u,h;if(typeof n.error=="object"&&n.error!==null){const g=n.error.error;if(typeof g=="string")r=g;else if(g&&typeof g=="object"){const b=g;b.message&&(r=b.message),b.code&&(u=b.code),b.details&&(h=b.details)}else{const b=n.error;b.message&&(r=b.message),b.code&&(u=b.code),b.details&&(h=b.details)}}else typeof n.error=="string"&&(r=n.error);throw new gn(r,i,u,h)}if(n.response.status!==204)return n.data}async function Ns(e,n){const i=n?.body!=null,r=await fetch(xg(`${kg}${e}`),{...n,credentials:n?.credentials??"same-origin",headers:{...i?{"Content-Type":"application/json"}:{},...n?.headers}});if(!r.ok){const u=await r.text();let h=`API ${r.status}: ${r.statusText}`,g,b;if(u)try{const v=JSON.parse(u);typeof v.error=="string"?h=v.error:v.error?.message?(h=v.error.message,g=v.error.code,b=v.error.details):v.message&&(h=v.message)}catch{h=u}throw r.status===401&&!e.startsWith("/session")&&!e.startsWith("/auth/")&&Sg(),new gn(h,r.status,g,b)}if(r.status!==204)return r.json()}function u$(e){return ve(()=>kk({client:ne,path:{name:e}}))}function PJ(e){return ve(()=>Ak({client:ne,path:{name:e}}))}function Df(e){return ve(()=>Ck({client:ne,path:{id:e}}))}function F3(e){return ve(()=>jk({client:ne,path:{name:e}}))}function d$(e,n,i){return ve(()=>B5({client:ne,path:{name:e},query:{location:n,limit:i}}))}function Z3(e,n){return ve(()=>x_({client:ne,path:{name:e},query:{location:n?.location,since:n?.since}}))}function Y3(e,n){return ve(()=>s5({client:ne,path:{name:e},body:n}))}function m$(e){return ve(()=>a5({client:ne,body:e}))}function p$(e,n){return ve(()=>N5({client:ne,path:{name:e},body:{queries:n}}))}function h$(e,n){return ve(()=>C5({client:ne,path:{name:e},body:{queries:n}}))}function qJ(e,n){return ve(()=>A5({client:ne,path:{name:e},body:{queries:n}}))}function f$(e,n){return ve(()=>v_({client:ne,path:{name:e},body:n}))}function g$(e,n){return ve(()=>R5({client:ne,path:{name:e},body:{competitors:n}}))}function MJ(e,n){return ve(()=>T5({client:ne,path:{name:e},body:{competitors:n}}))}function BJ(e,n){return ve(()=>E5({client:ne,path:{name:e,id:n}}))}async function LJ(e,n){const i=await u$(e);return Y3(e,{displayName:n.displayName??i.displayName??i.name,canonicalDomain:n.canonicalDomain??i.canonicalDomain,ownedDomains:n.ownedDomains??i.ownedDomains,aliases:n.aliases??i.aliases,country:n.country??i.country,language:n.language??i.language,tags:i.tags,labels:i.labels,providers:n.providers??i.providers,providerModels:n.providerModels??i.providerModels??{},locations:n.locations??i.locations,defaultLocation:n.defaultLocation!==void 0?n.defaultLocation:i.defaultLocation,autoExtractBacklinks:i.autoExtractBacklinks})}function y$(e,n){const i={};return n?.location&&(i.location=n.location),n?.allLocations&&(i.allLocations=!0),n?.noLocation&&(i.noLocation=!0),ve(()=>z5({client:ne,path:{name:e},body:i}))}function VJ(e,n){return ve(()=>k5({client:ne,path:{name:e},body:n}))}async function UJ(e,n){await ve(()=>S5({client:ne,path:{name:e,label:n}}))}function $J(e,n){return ve(()=>j5({client:ne,path:{name:e},body:{label:n}}))}async function GJ(e){await ve(()=>i5({client:ne,path:{name:e}}))}function KJ(){return ve(()=>Nk({client:ne}))}function ow(){return Ns("/session")}function b$(e){return Ns("/session/setup",{method:"POST",body:JSON.stringify({password:e})})}function v$(e){return Ns("/session",{method:"POST",body:JSON.stringify({password:e})})}function x$(e){return Ns("/session",{method:"POST",body:JSON.stringify({apiKey:e})})}function w$(){return Ns("/session",{method:"DELETE"})}function Zh(){return ve(()=>G5({client:ne}))}function rw(){return Ns("/auth/session")}function k$(e,n){return Ns("/auth/login",{method:"POST",body:JSON.stringify({name:e,password:n})})}function lw(){return Ns("/auth/logout",{method:"POST"})}function X3(e,n){return ve(()=>U5({client:ne,path:{name:e},body:n}))}async function jg(e){for(let n=0;n<2;n+=1)try{await ve(()=>a6({client:ne,body:e}));return}catch(i){if(!(!(i instanceof gn)||i.statusCode>=500)||n===1)return}}function HJ(e){return ve(()=>$5({client:ne,body:e}))}function QJ(e,n){return ve(()=>Z5({client:ne,path:{name:e},body:n}))}async function FJ(e,n){await ve(()=>Q5({client:ne,path:{name:e},query:n===void 0?void 0:{expectedUpdatedAt:n}}))}function ZJ(e){return ve(()=>X5({client:ne,path:{name:e}}))}function YJ(e,n){return ve(()=>W5({client:ne,path:{name:e},body:n}))}async function XJ(e,n){await ve(()=>J5({client:ne,path:{name:e,id:n}}))}function WJ(e,n){return ve(()=>e6({client:ne,path:{name:e,id:n}}))}function S$(e,n,i){return ve(()=>_5({client:ne,path:{name:e},body:{provider:n,count:i}}))}function j$(e){return ve(()=>P5({client:ne,body:e}))}function A$(e){return ve(()=>I5({client:ne,body:e??{}}))}function JJ(e,n){const i=s$();return ve(()=>C6({client:ne,path:{name:e},body:{type:n,...i?{publicUrl:i}:{}}}))}function eee(e,n){return ve(()=>N6({client:ne,path:{name:e,type:n}}))}function tee(e,n,i){return ve(()=>T6({client:ne,path:{name:e,type:n},body:{propertyId:i}}))}function nee(e,n,i){return ve(()=>R6({client:ne,path:{name:e,type:n},body:{sitemapUrl:i}}))}function C$(e,n){return ve(()=>E6({client:ne,path:{name:e},body:n??{}}))}function aee(e,n){const i={};return n&&n!=="all"&&(i.window=n),ve(()=>L5({client:ne,path:{name:e},query:i}))}function iee(e,n){return ve(()=>O6({client:ne,path:{name:e},body:{url:n}}))}function N$(e,n){return ve(()=>L6({client:ne,path:{name:e},body:n??{}}))}function see(e,n){return ve(()=>B6({client:ne,path:{name:e},query:n?{sitemapIndex:n}:void 0}))}function oee(e,n){return ve(()=>t5({client:ne,path:{name:e},body:{sitemapUrls:n}}))}function _$(e,n){return ve(()=>t8({client:ne,path:{name:e},body:n??{}}))}function ree(e,n){return ve(()=>U_({client:ne,path:{name:e},body:n??{}}))}function lee(){return ve(()=>_k({client:ne}))}function cee(e,n){return ve(()=>H5({client:ne,body:{host:e,port:n}}))}function uee(e,n){return ve(()=>V6({client:ne,path:{name:e},body:n}))}function dee(e,n){return ve(()=>Y6({client:ne,path:{name:e},body:{apiKey:n}}))}function mee(e){return ve(()=>X6({client:ne,path:{name:e}}))}function pee(e,n){return ve(()=>e_({client:ne,path:{name:e},body:{siteUrl:n}}))}function hee(e,n){return ve(()=>a_({client:ne,path:{name:e},body:{url:n}}))}function fee(e,n){return ve(()=>i_({client:ne,path:{name:e},body:{}}))}function gee(e,n){return ve(()=>s_({client:ne,path:{name:e},body:n}))}function yee(e){return ve(()=>K5({client:ne,body:{apiKey:e}}))}function W3(e){return e?/filename\s*=\s*"?([^";]+)"?/i.exec(e)?.[1]??null:null}async function bee(e,n="agency",i){const r=new URLSearchParams({audience:n});i!==void 0&&r.set("period",String(i));const u=await fetch(xg(`${kg}/projects/${encodeURIComponent(e)}/report.html?${r.toString()}`),{credentials:"same-origin",headers:{}});if(!u.ok)throw new gn(`Failed to download report: ${u.status}`,u.status);const h=await u.blob(),g=URL.createObjectURL(h),b=W3(u.headers.get("Content-Disposition"))??`canonry-report-${e}.html`,v=document.createElement("a");v.href=g,v.download=b,document.body.appendChild(v),v.click(),document.body.removeChild(v),URL.revokeObjectURL(g)}async function vee(e,n){const i=await fetch(`${kg}/projects/${encodeURIComponent(e)}/results/export?format=${n}`,{credentials:"same-origin",headers:{}});if(!i.ok)throw new gn(`Failed to download results: ${i.status}`,i.status);const r=await i.blob(),u=URL.createObjectURL(r),h=W3(i.headers.get("Content-Disposition"))??`canonry-results-${e}.${n}`,g=document.createElement("a");g.href=u,g.download=h,document.body.appendChild(g),g.click(),document.body.removeChild(g),URL.revokeObjectURL(u)}function xee(e,n){return ve(()=>u_({client:ne,path:{name:e},body:{}}))}function wee(e,n){return ve(()=>r_({client:ne,path:{name:e},body:n}))}function kee(e){return ve(()=>l_({client:ne,path:{name:e}}))}function See(e,n){return ve(()=>z_({client:ne,path:{name:e},body:n}))}function jee(e,n){return ve(()=>O_({client:ne,path:{name:e},body:n}))}function Aee(e,n){return ve(()=>I_({client:ne,path:{name:e},body:n}))}function Cee(e,n,i){return ve(()=>P_({client:ne,path:{name:e,id:n},body:i??{}}))}function Nee(e,n,i){return ve(()=>q_({client:ne,path:{name:e,id:n},body:{}}))}function _ee(e,n){return ve(()=>f_({client:ne,path:{name:e},query:{runId:n}}))}function T$(e){if(!e||typeof e!="object")return;const n=e;if(!(typeof n.current!="string"||typeof n.latest!="string"||typeof n.url!="string"||typeof n.upgradeCommand!="string"))return{current:n.current,latest:n.latest,url:n.url,upgradeCommand:n.upgradeCommand}}async function R$(e,n){const i=o$(e);try{const r=await fetch(i,{credentials:"same-origin"});if(!r.ok)return{label:n,state:"error",detail:`${n} ${r.status}: ${r.statusText}`,statusCode:r.status,hint:r$(e,r.status)};const u=await r.json(),h=typeof u.version=="string"?u.version:"unknown",g=typeof u.databaseUrlConfigured=="boolean"?u.databaseUrlConfigured:void 0,b=typeof u.lastHeartbeatAt=="string"?u.lastHeartbeatAt:void 0,v=T$(u.updateAvailable),w=jU.safeParse(u.mcp),k=[h,g===!1?"database not configured":"database configured",b?`heartbeat ${b}`:void 0].filter(Boolean).join(" · ");return{label:n,state:"ok",detail:k,version:h,databaseConfigured:g,lastHeartbeatAt:b,...v?{updateAvailable:v}:{},...w.success?{mcp:w.data}:{}}}catch(r){return{label:n,state:"error",detail:r instanceof Error?r.message:"unreachable",hint:e==="/health"?`Request failed while checking ${i}. If this instance is served behind a sub-path, verify the dashboard basePath and reverse-proxy rewrites.`:void 0}}}function Tee(){return ve(()=>w_({client:ne}))}function Ree(){return ve(()=>k_({client:ne}))}function Eee(){return ve(()=>A_({client:ne}))}function Dee(){return ve(()=>S_({client:ne}))}function zee(e){return ve(()=>j_({client:ne,body:e?{release:e}:{}}))}function Oee(){return ve(()=>C_({client:ne}))}function Iee(){return ve(()=>N_({client:ne}))}function Pee(e){return ve(()=>__({client:ne,path:{release:e}}))}function qee(e,n={}){return ve(()=>R_({client:ne,path:{name:e},query:{release:n.release,excludeCrawlers:n.excludeCrawlers?"1":void 0,source:n.source}}))}function Mee(e,n={}){return ve(()=>E_({client:ne,path:{name:e},query:{limit:n.limit!==void 0?String(n.limit):void 0,offset:n.offset!==void 0?String(n.offset):void 0,release:n.release,excludeCrawlers:n.excludeCrawlers?"1":void 0,source:n.source}}))}function Bee(e,n={}){return ve(()=>D_({client:ne,path:{name:e},query:{source:n.source}}))}function Lee(e,n){return ve(()=>T_({client:ne,path:{name:e},body:{release:void 0}}))}async function cw(e,n){return ve(()=>i8({client:ne,path:{name:e},query:n}))}async function E$(e,n){return ve(()=>s8({client:ne,path:{name:e},body:{id:n}}))}async function D$(e,n){return ve(()=>r8({client:ne,path:{name:e,id:n}}))}async function z$(e,n){return ve(()=>o8({client:ne,path:{name:e,id:n}}))}const J3={account:null,canWrite:!0,isAdmin:!0},O$={account:null,canWrite:!1,isAdmin:!1};function I$(e){const n=e.scopes.includes(ew);return{account:null,canWrite:!e.readOnly&&n,isAdmin:e.projectId===null&&e.scopes.includes(ew)}}const eA=N.createContext(J3);function P$({account:e,apiKey:n,apiKeyPending:i=!1,children:r}){const u=i?O$:n?I$(n):e?{account:e,canWrite:e.role==="admin",isAdmin:e.role==="admin"}:J3;return c.jsx(eA.Provider,{value:u,children:r})}function da(){return N.useContext(eA)}const tA="View only — your account cannot change this.";function cn(e){return(...n)=>{e(...n)}}const q$=6e3,M$=5,B$=180;let In=[],L$=0;const zf=new Set,Of=new Map,If=new Map;function Ad(){const e=[...In];for(const n of zf)n(e)}function Ag(e){const n=Of.get(e);n&&(clearTimeout(n),Of.delete(e));const i=If.get(e);i&&(clearTimeout(i),If.delete(e))}function nA(e){Ag(e);const n=In.length;In=In.filter(i=>i.id!==e),In.length!==n&&Ad()}function uw(e){Ag(e.id),Of.set(e.id,setTimeout(()=>{Pf(e.id)},e.durationMs))}function V$(e,n,i){return typeof e=="string"?{title:e,tone:n,durationMs:i}:e}function bn(e,n="negative",i=q$){const r=V$(e,n,i),u={id:String(++L$),title:r.title,detail:r.detail,tone:r.tone??n,durationMs:r.durationMs??i,dedupeKey:r.dedupeKey,cta:r.cta,state:"open"};if(r.dedupeKey){const h=In.find(g=>g.dedupeKey===r.dedupeKey);if(h){if((r.dedupeMode??"drop")==="drop")return h.id;const g={...h,title:u.title,detail:u.detail,tone:u.tone,durationMs:u.durationMs,cta:u.cta,state:"open"};return In=In.map(b=>b.id===h.id?g:b),Ad(),uw(g),h.id}}return In.length>=M$&&nA(In[0].id),In=[...In,u],Ad(),uw(u),u.id}function Pf(e){const n=In.find(i=>i.id===e);!n||n.state==="closing"||(Ag(e),In=In.map(i=>i.id===e?{...i,state:"closing"}:i),Ad(),If.set(e,setTimeout(()=>{nA(e)},B$)))}function U$(e){return zf.add(e),()=>{zf.delete(e)}}function dw(){return In}const $$=5*6e4,od=30*6e4,Vee=3e4,Uee=6e4,Rr=3e4,G$=2e3,K$=3e4;function H$(){return new eN({defaultOptions:{queries:{staleTime:$$,retry:1,refetchOnWindowFocus:!1}},mutationCache:new tN({onError:(n,i,r,u)=>{u.meta?.skipGlobalErrorToast||bn({title:n instanceof Error?n.message:"An unexpected error occurred",tone:"negative"})}})})}const Q$="modulepreload",F$=function(e,n){return new URL(e,n).href},mw={},Oi=function(n,i,r){let u=Promise.resolve();if(i&&i.length>0){let w=function(k){return Promise.all(k.map(A=>Promise.resolve(A).then(T=>({status:"fulfilled",value:T}),T=>({status:"rejected",reason:T}))))};const g=document.getElementsByTagName("link"),b=document.querySelector("meta[property=csp-nonce]"),v=b?.nonce||b?.getAttribute("nonce");u=w(i.map(k=>{if(k=F$(k,r),k in mw)return;mw[k]=!0;const A=k.endsWith(".css"),T=A?'[rel="stylesheet"]':"";if(r)for(let G=g.length-1;G>=0;G--){const R=g[G];if(R.href===k&&(!A||R.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${k}"]${T}`))return;const _=document.createElement("link");if(_.rel=A?"stylesheet":Q$,A||(_.as="script"),_.crossOrigin="",_.href=k,v&&_.setAttribute("nonce",v),document.head.appendChild(_),A)return new Promise((G,R)=>{_.addEventListener("load",G),_.addEventListener("error",()=>R(new Error(`Unable to preload CSS for ${k}`)))})}))}function h(g){const b=new Event("vite:preloadError",{cancelable:!0});if(b.payload=g,window.dispatchEvent(b),!b.defaultPrevented)throw g}return u.then(g=>{for(const b of g||[])b.status==="rejected"&&h(b.reason);return n().catch(h)})},Cg=N.createContext({view:null,publish:()=>()=>{}});function Z$({children:e}){const[n,i]=N.useState(null),r=N.useCallback(u=>(i(u),()=>i(h=>h===u?null:h)),[]);return c.jsx(Cg.Provider,{value:N.useMemo(()=>({view:n,publish:r}),[n,r]),children:e})}function $ee(e,n){const{publish:i}=N.useContext(Cg),r=JSON.stringify(n);N.useEffect(()=>i({project:e,context:JSON.parse(r)}),[i,e,r])}function Y$(e,n){const{view:i}=N.useContext(Cg);return i?.project===e&&i.context.view===n.view?i.context:n}var X$=(e=>(e.Clicks="clicks",e.Impressions="impressions",e.CTR="ctr",e.Position="position",e))(X$||{});const Gee={clicks:"Clicks",impressions:"Impressions",ctr:"CTR",position:"Position"},Kee={clicks:"Clicks",impressions:"Impr",ctr:"CTR",position:"Pos"},W$=P0;function Hee(e){return e.endsWith("%")?{figure:e.slice(0,-1),sign:"%"}:{figure:e,sign:""}}function J$(e){const n=[];if(e.message&&n.push(e.message),e.providers)for(const[i,r]of Object.entries(e.providers)){const u=`[${i}] ${r.message}`;r.raw!==void 0?n.push(`${u}
53
-
54
- ${JSON.stringify(r.raw,null,2)}`):n.push(u)}return n.length>0?n.join(`
55
-
56
- `):"Run failed."}function eG(e){return e.split("-").map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function Qee(e){if(!e)return"—";try{return new Date(e).toLocaleString()}catch{return e}}function Fee(e){return e===null?"Unknown":e?"Pass":"Fail"}function pw(e){return e===0?"12:00 AM":e<12?`${e}:00 AM`:e===12?"12:00 PM":`${e-12}:00 PM`}function Zee(e,n){return e==="twice-daily"?"twice-daily":e.startsWith("weekly@")?`${e}@${n}`:`daily@${n}`}function Yee(e,n){if(!e)return{freq:"custom",hour:6,customCron:n};if(e==="twice-daily")return{freq:"twice-daily",hour:6,customCron:""};const i=e.match(/^daily(?:@(\d+))?$/);if(i)return{freq:"daily",hour:i[1]?parseInt(i[1]):6,customCron:""};const r=e.match(/^(weekly@(?:mon|tue|wed|thu|fri|sat|sun))(?:@(\d+))?$/);return r?{freq:r[1],hour:r[2]?parseInt(r[2]):6,customCron:""}:{freq:"custom",hour:6,customCron:n}}function Xee(e,n,i){const r=i==="UTC"?"UTC":i.split("/").pop()?.replace(/_/g," ")??i;if(!e)return`Custom: ${n} · ${r}`;if(e==="twice-daily")return`Twice a day (6am & 6pm) · ${r}`;const u=e.match(/^daily(?:@(\d+))?$/);if(u){const g=u[1]?parseInt(u[1]):6;return`Every day at ${pw(g)} · ${r}`}const h=e.match(/^weekly@(mon|tue|wed|thu|fri|sat|sun)(?:@(\d+))?$/);if(h){const g={mon:"Monday",tue:"Tuesday",wed:"Wednesday",thu:"Thursday",fri:"Friday",sat:"Saturday",sun:"Sunday"},b=h[2]?parseInt(h[2]):6;return`Every ${g[h[1]]} at ${pw(b)} · ${r}`}return`${e} · ${r}`}function tG(e,n){return n&&n!==e?`${e} · ${n}`:e}function Wee(){const e=Intl.DateTimeFormat().resolvedOptions().timeZone,n=new Intl.DateTimeFormat("en-US",{timeZoneName:"short"}).formatToParts().find(i=>i.type==="timeZoneName")?.value;return tG(e,n)}function nG(e){const n=e.replace(/\/+$/,"")||"/";return n==="/"?"overview":n==="/projects"?"projects":n.startsWith("/projects/")?"project":n==="/runs"?"runs":n==="/traffic"||n.startsWith("/traffic/")?"traffic":n==="/backlinks"?"backlinks":n==="/settings"?"settings":n==="/setup"?"setup":"other"}function aG(e,n){return!n||n.includes(e)}const aA=["overview","search-console","local","report","activity","backlinks","technical-aeo","history","settings"],iG=new Set(aA);function sG(e){const n=e??aA,i=[...new Set(n.filter(r=>iG.has(r)))];return i.length>0?i:["overview"]}function Jee(e){return e?sG(e.projectTabs):void 0}function ete(e,n){return aG(e,n)||!n?e:n.includes("overview")?"overview":n[0]??"overview"}const hw={bg:"--canonry-embed-bg",fg:"--canonry-embed-fg",accent:"--color-link"},oG=/^(?:#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})|rgba?\([0-9.,%\s/]+\)|hsla?\([0-9.,%\s/a-z]+\))$/i;function rG(e){const n=e?.mode?.trim();return n==="light"||n==="dark"?n:void 0}function lG(e){if(!e)return{};const n={};for(const[i,r]of Object.entries(e)){const u=Object.hasOwn(hw,i)?hw[i]:void 0;if(!u||typeof r!="string")continue;const h=r.trim();oG.test(h)&&(n[u]=h)}return n}const pe=(e,n,i,r)=>{const u={_id:e,baseUrl:n?.baseUrl||(n?.client??O).getConfig().baseUrl};return i&&(u._infinite=i),n?.body&&(u.body=n.body),n?.headers&&(u.headers=n.headers),n?.path&&(u.path=n.path),n?.query&&(u.query=n.query),[u]},vs=e=>pe("getApiV1Projects",e),So=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await n5({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:vs(e)}),cG=e=>pe("getApiV1ProjectsByName",e),uG=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await kk({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:cG(e)}),dG=e=>pe("getApiV1ProjectsByNameMeasurementPlan",e),tte=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await o5({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:dG(e)}),mG=e=>pe("getApiV1ProjectsByNameMeasurementReport",e),nte=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await r5({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:mG(e)}),pG=e=>pe("getApiV1ProjectsByNameMeasurementSetup",e),hG=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await l5({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:pG(e)}),Cc=(e,n)=>{const i={...e[0]};return n.body&&(i.body={...e[0].body,...n.body}),n.headers&&(i.headers={...e[0].headers,...n.headers}),n.path&&(i.path={...e[0].path,...n.path}),n.query&&(i.query={...e[0].query,...n.query}),i},ate=e=>({mutationFn:async i=>{const{data:r}=await c5({...e,...i,throwOnError:!0});return r}}),fG=e=>pe("getApiV1ProjectsByNameMeasurementOverview",e),ite=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await Sk({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:fG(e)}),gG=e=>pe("getApiV1ProjectsByNameMeasurementOverview",e,!0),ste=e=>mc({queryFn:async({pageParam:n,queryKey:i,signal:r})=>{const h=Cc(i,typeof n=="object"?n:{query:{cursor:n}}),{data:g}=await Sk({...e,...h,signal:r,throwOnError:!0});return g},queryKey:gG(e)}),yG=e=>pe("getApiV1ProjectsByNameVisibilityReport",e),ote=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await u5({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:yG(e)}),bG=e=>pe("getApiV1ProjectsByNameMeasurementPropertyEvidence",e,!0),rte=e=>mc({queryFn:async({pageParam:n,queryKey:i,signal:r})=>{const h=Cc(i,typeof n=="object"?n:{query:{cursor:n}}),{data:g}=await d5({...e,...h,signal:r,throwOnError:!0});return g},queryKey:bG(e)}),vG=e=>pe("getApiV1ProjectsByNameMeasurementQuestionResult",e),lte=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await m5({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:vG(e)}),xG=e=>pe("getApiV1ProjectsByNameMeasurementPropertyCompetitors",e),cte=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await p5({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:xG(e)}),wG=e=>pe("getApiV1ProjectsByNameMeasurementQueryTemplates",e),ute=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await h5({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:wG(e)}),dte=e=>({mutationFn:async i=>{const{data:r}=await f5({...e,...i,throwOnError:!0});return r}}),kG=e=>pe("getApiV1ProjectsByNameResearchRuns",e,!0),mte=e=>mc({queryFn:async({pageParam:n,queryKey:i,signal:r})=>{const h=Cc(i,typeof n=="object"?n:{query:{cursor:n}}),{data:g}=await g5({...e,...h,signal:r,throwOnError:!0});return g},queryKey:kG(e)}),pte=e=>({mutationFn:async i=>{const{data:r}=await y5({...e,...i,throwOnError:!0});return r}}),SG=e=>pe("getApiV1ProjectsByNameQueryTracking",e),hte=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await b5({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:SG(e)}),fte=e=>({mutationFn:async i=>{const{data:r}=await v5({...e,...i,throwOnError:!0});return r}}),gte=e=>({mutationFn:async i=>{const{data:r}=await x5({...e,...i,throwOnError:!0});return r}}),jG=e=>pe("getApiV1ProjectsByNameResearchRunsByRunId",e),yte=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await w5({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:jG(e)}),iA=e=>pe("getApiV1ProjectsByNameQueries",e),bte=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await jk({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:iA(e)}),AG=e=>pe("getApiV1ProjectsByNameAnalyticsCompetitors",e),vte=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await D5({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:AG(e)}),CG=e=>pe("getApiV1ProjectsByNameRuns",e),sA=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await Ak({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:CG(e)}),Ng=e=>pe("getApiV1Runs",e),rm=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await O5({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:Ng(e)}),NG=e=>pe("getApiV1RunsById",e),_g=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await Ck({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:NG(e)}),_G=e=>pe("getApiV1ProjectsByNameHistory",e),xte=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await q5({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:_G(e)}),TG=e=>pe("getApiV1History",e),wte=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await M5({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:TG(e)}),RG=e=>pe("getApiV1ProjectsByNameSnapshotsDiff",e),kte=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await V5({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:RG(e)}),EG=e=>pe("getApiV1Settings",e),DG=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await Nk({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:EG(e)}),zG=e=>pe("getApiV1ProjectsByNameSchedule",e),OG=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await F5({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:zG(e)}),IG=e=>pe("getApiV1ProjectsByNameSchedules",e),Ste=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await Y5({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:IG(e)}),oA=e=>pe("getApiV1Telemetry",e),PG=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await t6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:oA(e)}),qG=e=>({mutationFn:async i=>{const{data:r}=await n6({...e,...i,throwOnError:!0});return r}}),MG=e=>pe("getApiV1CdpStatus",e),BG=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await _k({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:MG(e)}),LG=e=>pe("getApiV1ProjectsByNameGoogleAdsStatus",e),jte=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await i6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:LG(e)}),Ate=e=>({mutationFn:async i=>{const{data:r}=await s6({...e,...i,throwOnError:!0});return r}}),VG=e=>pe("getApiV1ProjectsByNameGoogleAdsCustomers",e),Cte=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await o6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:VG(e)}),Nte=e=>({mutationFn:async i=>{const{data:r}=await r6({...e,...i,throwOnError:!0});return r}}),_te=e=>({mutationFn:async i=>{const{data:r}=await l6({...e,...i,throwOnError:!0});return r}}),UG=e=>pe("getApiV1ProjectsByNameGoogleAdsPerformance",e),Tte=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await c6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:UG(e)}),$G=e=>pe("getApiV1ProjectsByNameGoogleAdsSnapshots",e),Rte=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await u6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:$G(e)}),Ete=e=>({mutationFn:async i=>{const{data:r}=await d6({...e,...i,throwOnError:!0});return r}}),GG=e=>pe("getApiV1ProjectsByNameGtmStatus",e),Dte=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await m6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:GG(e)}),zte=e=>({mutationFn:async i=>{const{data:r}=await p6({...e,...i,throwOnError:!0});return r}}),KG=e=>pe("getApiV1ProjectsByNameGtmAccounts",e),Ote=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await h6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:KG(e)}),HG=e=>pe("getApiV1ProjectsByNameGtmAccountsByAccountIdContainers",e),Ite=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await f6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:HG(e)}),QG=e=>pe("getApiV1ProjectsByNameGtmAccountsByAccountIdContainersByContainerIdWorkspaces",e),Pte=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await g6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:QG(e)}),qte=e=>({mutationFn:async i=>{const{data:r}=await y6({...e,...i,throwOnError:!0});return r}}),Mte=e=>({mutationFn:async i=>{const{data:r}=await b6({...e,...i,throwOnError:!0});return r}}),FG=e=>pe("getApiV1ProjectsByNameGtmSnapshots",e),Bte=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await v6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:FG(e)}),Lte=e=>({mutationFn:async i=>{const{data:r}=await x6({...e,...i,throwOnError:!0});return r}}),ZG=e=>pe("getApiV1ProjectsByNameConversionTrackingOptions",e),Vte=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await w6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:ZG(e)}),YG=e=>pe("getApiV1ProjectsByNameConversionTrackingContracts",e),Ute=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await k6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:YG(e)}),$te=e=>({mutationFn:async i=>{const{data:r}=await S6({...e,...i,throwOnError:!0});return r}}),XG=e=>pe("getApiV1ProjectsByNameConversionTrackingContractsByContractIdIntegrity",e),Gte=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await j6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:XG(e)}),WG=e=>pe("getApiV1ProjectsByNameGoogleConnections",e),Kte=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await A6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:WG(e)}),JG=e=>pe("getApiV1ProjectsByNameGoogleProperties",e),Hte=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await _6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:JG(e)}),eK=e=>pe("getApiV1ProjectsByNameGoogleGscPerformance",e),Qte=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await D6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:eK(e)}),tK=e=>pe("getApiV1ProjectsByNameGoogleGscPerformanceDaily",e),Fte=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await z6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:tK(e)}),nK=e=>pe("getApiV1ProjectsByNameGoogleGscInspections",e),Zte=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await I6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:nK(e)}),aK=e=>pe("getApiV1ProjectsByNameGoogleGscDeindexed",e),Yte=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await P6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:aK(e)}),iK=e=>pe("getApiV1ProjectsByNameGoogleGscCoverage",e),Xte=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await q6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:iK(e)}),sK=e=>pe("getApiV1ProjectsByNameGoogleGscCoverageHistory",e),Wte=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await M6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:sK(e)}),Jte=e=>pe("getApiV1ProjectsByNameGoogleGscSitemaps",e),oK=e=>pe("getApiV1ProjectsByNameGbpLocations",e),ene=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await U6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:oK(e)}),tne=e=>({mutationFn:async i=>{const{data:r}=await $6({...e,...i,throwOnError:!0});return r}}),nne=e=>({mutationFn:async i=>{const{data:r}=await G6({...e,...i,throwOnError:!0});return r}}),rK=e=>pe("getApiV1ProjectsByNameGbpKeywords",e),ane=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await K6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:rK(e)}),lK=e=>pe("getApiV1ProjectsByNameGbpPlaceActions",e),ine=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await H6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:lK(e)}),cK=e=>pe("getApiV1ProjectsByNameGbpLodging",e),sne=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await Q6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:cK(e)}),uK=e=>pe("getApiV1ProjectsByNameGbpPlaces",e),one=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await F6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:uK(e)}),dK=e=>pe("getApiV1ProjectsByNameGbpSummary",e),rne=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await Z6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:dK(e)}),mK=e=>pe("getApiV1ProjectsByNameBingStatus",e),lne=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await W6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:mK(e)}),pK=e=>pe("getApiV1ProjectsByNameBingSites",e),cne=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await J6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:pK(e)}),hK=e=>pe("getApiV1ProjectsByNameBingCoverage",e),une=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await t_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:hK(e)}),fK=e=>pe("getApiV1ProjectsByNameBingInspections",e),dne=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await n_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:fK(e)}),gK=e=>pe("getApiV1ProjectsByNameBingPerformance",e),mne=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await o_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:gK(e)}),yK=e=>pe("getApiV1ProjectsByNameGaStatus",e),pne=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await c_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:yK(e)}),bK=e=>pe("getApiV1ProjectsByNameGaTraffic",e),hne=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await d_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:bK(e)}),vK=e=>pe("getApiV1ProjectsByNameGaAiReferralDaily",e),fne=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await m_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:vK(e)}),xK=e=>pe("getApiV1ProjectsByNameGaSocialReferralHistory",e),gne=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await p_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:xK(e)}),wK=e=>pe("getApiV1ProjectsByNameGaSessionHistory",e),yne=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await h_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:wK(e)}),kK=e=>pe("getApiV1ProjectsByNameReport",e),bne=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await g_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:kK(e)}),SK=e=>pe("getApiV1ProjectsByNameHealthHistory",e),vne=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await y_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:SK(e)}),jK=e=>pe("getApiV1ProjectsByNameCitationsVisibility",e),xne=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await b_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:jK(e)}),AK=e=>pe("getApiV1ProjectsByNameTrafficSources",e),wne=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await M_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:AK(e)}),CK=e=>pe("getApiV1ProjectsByNameTrafficStatus",e),kne=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await B_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:CK(e)}),NK=e=>pe("getApiV1ProjectsByNameTrafficSourcesById",e),Sne=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await L_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:NK(e)}),_K=e=>pe("getApiV1ProjectsByNameTrafficEvents",e),jne=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await V_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:_K(e)}),TK=e=>pe("getApiV1ProjectsByNameDiscoverSessions",e),Ane=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await $_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:TK(e)}),RK=e=>pe("getApiV1ProjectsByNameDiscoverSessionsById",e),Cne=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await G_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:RK(e)}),EK=e=>pe("getApiV1ProjectsByNameTechnicalAeo",e),DK=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await K_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:EK(e)}),zK=e=>pe("getApiV1ProjectsByNameTechnicalAeoPages",e),Nne=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await H_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:zK(e)}),OK=e=>pe("getApiV1ProjectsByNameTechnicalAeoTrend",e),_ne=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await Q_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:OK(e)}),IK=e=>pe("getApiV1ProjectsByNameTechnicalAeoCrawl",e),Tne=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await F_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:IK(e)}),PK=e=>pe("getApiV1ProjectsByNameTechnicalAeoGraph",e),Rne=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await Z_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:PK(e)}),qK=e=>pe("getApiV1ProjectsByNameTechnicalAeoCrawlPagesAudit",e),Ene=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await Y_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:qK(e)}),MK=e=>pe("getApiV1ProjectsByNameTechnicalAeoCrawlPages",e),Dne=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await Tk({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:MK(e)}),BK=e=>pe("getApiV1ProjectsByNameTechnicalAeoCrawlPages",e,!0),zne=e=>mc({queryFn:async({pageParam:n,queryKey:i,signal:r})=>{const h=Cc(i,typeof n=="object"?n:{query:{cursor:n}}),{data:g}=await Tk({...e,...h,signal:r,throwOnError:!0});return g},queryKey:BK(e)}),LK=e=>pe("getApiV1ProjectsByNameTechnicalAeoStructure",e,!0),One=e=>mc({queryFn:async({pageParam:n,queryKey:i,signal:r})=>{const h=Cc(i,typeof n=="object"?n:{query:{cursor:n}}),{data:g}=await X_({...e,...h,signal:r,throwOnError:!0});return g},queryKey:LK(e)}),VK=e=>pe("getApiV1ProjectsByNameTechnicalAeoInternalLinksNeighbors",e),Ine=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await W_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:VK(e)}),UK=e=>pe("getApiV1ProjectsByNameTechnicalAeoDeadLinks",e),Pne=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await J_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:UK(e)}),$K=e=>pe("getApiV1ProjectsByNameTechnicalAeoRuns",e),qne=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await e8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:$K(e)}),GK=e=>pe("getApiV1ProjectsByNameTechnicalAeoRunsByRunIdProgress",e),Mne=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await n8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:GK(e)}),KK=e=>pe("getApiV1ProjectsByNameTechnicalAeoRunsByRunIdPageHealthPreview",e),Bne=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await a8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:KK(e)}),HK=e=>pe("getApiV1ProjectsByNameAgentProviders",e),QK=e=>ge({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await l8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:HK(e)});function fw(e){return e.state==="ok"?"positive":e.state==="checking"||e.state==="disabled"?"neutral":"negative"}function rA(e){switch(e){case"completed":return"positive";case"partial":return"caution";case"failed":return"negative";case"cancelled":return"caution";case"queued":case"running":return"neutral";default:return"neutral"}}function Lne(e){switch(e){case"cited":return"positive";case"emerging":return"caution";case"not-cited":return"caution";case"lost":return"negative";case"pending":return"neutral";default:return"neutral"}}const Vne={positive:"text-positive-400",caution:"text-caution-400",negative:"text-negative-400",neutral:"text-secondary"};function FK(e){return e.displayName??e.name.charAt(0).toUpperCase()+e.name.slice(1)}function Er(e){const n=[e.detail,e.hint].filter(Boolean);return n.length>0?n.join(`
57
- `):void 0}function ZK(e,n,i){const r=e.filter(g=>g.id!=="mcp").map(g=>{if(g.id==="api")return{...g,tone:fw(n.apiStatus),detail:n.apiStatus.state==="ok"?"Healthy":"Needs attention",meta:n.apiStatus.detail};if(g.id==="worker")return{...g,tone:fw(n.workerStatus),detail:n.workerStatus.state==="ok"?"Healthy":n.workerStatus.state==="disabled"?"Disabled":"Needs attention",meta:n.workerStatus.detail};const b=i.providerStatuses.filter(A=>A.state==="ready").length,v=i.providerStatuses.length,w=b>0,k=i.providerStatuses.filter(A=>A.state==="ready").map(A=>FK(A)).join(" · ");return{...g,label:"Providers",tone:w?"positive":"caution",detail:`${b} of ${v} configured`,meta:k||"None configured"}}),u=n.apiStatus.mcp,h={id:"mcp",label:"MCP",tone:"neutral",detail:"Unknown",meta:"MCP status is not available from this server."};return n.apiStatus.state==="checking"?(h.detail="Checking",h.meta="Checking MCP availability."):n.apiStatus.state==="ok"&&u&&(u.status==="available"?(h.tone="positive",h.detail="Available",h.meta="MCP is available for agent connections. This checks the server transport, not an individual client connection."):u.status==="unavailable"?(h.tone="negative",h.detail="Unavailable",h.meta="The MCP transport is not fully available. Contact your Canonry team."):(h.detail="Not enabled",h.meta="This server does not provide an MCP endpoint.")),r.splice(Math.max(0,r.findIndex(g=>g.id==="api")+1),0,h),r}function YK(e,n){if(e.apiStatus.state!=="ok")return"Launch is blocked until the API responds cleanly.";if(e.apiStatus.databaseConfigured===!1)return"Launch is blocked until the API has a database connection configured.";if(e.workerStatus.state!=="ok")return"Launch is blocked until the worker is healthy and heartbeats are current.";if(!n.providerStatuses.some(i=>i.state==="ready"))return"Launch is blocked until at least one provider is configured."}function XK(e,n,i){const r=YK(n,i),u=structuredClone(e);return u.healthChecks=u.healthChecks.map(h=>{if(h.id==="api")return{...h,detail:n.apiStatus.detail,state:n.apiStatus.state==="ok"?"ready":"attention"};if(h.id==="worker")return{...h,detail:n.workerStatus.detail,state:n.workerStatus.state==="ok"?"ready":"attention"};const g=i.providerStatuses.some(b=>b.state==="ready");return{...h,detail:g?"At least one provider configured.":"No providers configured.",state:g?"ready":"attention"}}),u.launchState.enabled=r===void 0,u.launchState.blockedReason=r,u.launchState.summary=r??"Queue a visibility sweep first, then follow with a site audit to explain movement.",u}const lA="canonry.run-tracker",qf=new Set;let gw=!1,WK=0,lm={runs:{},batches:{}};function JK(){const e=zi();for(const n of qf)n(e)}function eH(e){if(!e)return{runs:{},batches:{}};try{const n=JSON.parse(e);return{runs:n.runs??{},batches:n.batches??{}}}catch{return{runs:{},batches:{}}}}function tH(){typeof window>"u"||window.sessionStorage.setItem(lA,JSON.stringify(lm))}function cA(){gw||(gw=!0,!(typeof window>"u")&&(lm=eH(window.sessionStorage.getItem(lA))))}function cm(e){lm=e,tH(),JK()}function zi(){return cA(),lm}function uA(e){return cA(),qf.add(e),()=>{qf.delete(e)}}function Tg(e){const n=zi();cm({...n,runs:{...n.runs,[e.id]:{runId:e.id,projectId:e.projectId,projectLabel:e.projectLabel,kind:e.kind,sourceAction:e.sourceAction,lastAnnouncedStatus:e.lastAnnouncedStatus??"queued",trackedAt:e.trackedAt??Date.now()}}})}function Yh(e){const n=zi();if(!n.runs[e])return;const{[e]:i,...r}=n.runs;cm({...n,runs:r})}function nH(e){const n=zi(),i=`batch_${Date.now()}_${++WK}`;return cm({...n,batches:{...n.batches,[i]:{batchId:i,runIds:e.runIds,queuedCount:e.queuedCount,skippedCount:e.skippedCount}}}),i}function aH(e){const n=zi();if(!n.batches[e])return;const{[e]:i,...r}=n.batches;cm({...n,batches:r})}function iH(e){return e==="completed"||e==="partial"||e==="failed"||e==="cancelled"}const sH=10*6e4;function oH(e,n,i,r){return e.filter(u=>!n.has(u.runId)&&i-(u.trackedAt??0)>=r)}function rH(e,n){let i=0,r=0,u=0,h=0,g=0;for(const b of e){const v=n[b]?.status;v==="completed"?i+=1:v==="partial"?r+=1:v==="failed"?u+=1:v==="cancelled"?h+=1:g+=1}return{completed:i,partial:r,failed:u,cancelled:h,pending:g,finished:g===0}}const yw=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,bw=rk,dA=(e,n)=>i=>{var r;if(n?.variants==null)return bw(e,i?.class,i?.className);const{variants:u,defaultVariants:h}=n,g=Object.keys(u).map(w=>{const k=i?.[w],A=h?.[w];if(k===null)return null;const T=yw(k)||yw(A);return u[w][T]}),b=i&&Object.entries(i).reduce((w,k)=>{let[A,T]=k;return T===void 0||(w[A]=T),w},{}),v=n==null||(r=n.compoundVariants)===null||r===void 0?void 0:r.reduce((w,k)=>{let{class:A,className:T,..._}=k;return Object.entries(_).every(G=>{let[R,q]=G;return Array.isArray(q)?q.includes({...h,...b}[R]):{...h,...b}[R]===q})?[...w,A,T]:w},[]);return bw(e,g,v,i?.class,i?.className)},lH=(e,n)=>{const i=new Array(e.length+n.length);for(let r=0;r<e.length;r++)i[r]=e[r];for(let r=0;r<n.length;r++)i[e.length+r]=n[r];return i},cH=(e,n)=>({classGroupId:e,validator:n}),mA=(e=new Map,n=null,i)=>({nextPart:e,validators:n,classGroupId:i}),Cd="-",vw=[],uH="arbitrary..",dH=e=>{const n=pH(e),{conflictingClassGroups:i,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:g=>{if(g.startsWith("[")&&g.endsWith("]"))return mH(g);const b=g.split(Cd),v=b[0]===""&&b.length>1?1:0;return pA(b,v,n)},getConflictingClassGroupIds:(g,b)=>{if(b){const v=r[g],w=i[g];return v?w?lH(w,v):v:w||vw}return i[g]||vw}}},pA=(e,n,i)=>{if(e.length-n===0)return i.classGroupId;const u=e[n],h=i.nextPart.get(u);if(h){const w=pA(e,n+1,h);if(w)return w}const g=i.validators;if(g===null)return;const b=n===0?e.join(Cd):e.slice(n).join(Cd),v=g.length;for(let w=0;w<v;w++){const k=g[w];if(k.validator(b))return k.classGroupId}},mH=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const n=e.slice(1,-1),i=n.indexOf(":"),r=n.slice(0,i);return r?uH+r:void 0})(),pH=e=>{const{theme:n,classGroups:i}=e;return hH(i,n)},hH=(e,n)=>{const i=mA();for(const r in e){const u=e[r];Rg(u,i,r,n)}return i},Rg=(e,n,i,r)=>{const u=e.length;for(let h=0;h<u;h++){const g=e[h];fH(g,n,i,r)}},fH=(e,n,i,r)=>{if(typeof e=="string"){gH(e,n,i);return}if(typeof e=="function"){yH(e,n,i,r);return}bH(e,n,i,r)},gH=(e,n,i)=>{const r=e===""?n:hA(n,e);r.classGroupId=i},yH=(e,n,i,r)=>{if(vH(e)){Rg(e(r),n,i,r);return}n.validators===null&&(n.validators=[]),n.validators.push(cH(i,e))},bH=(e,n,i,r)=>{const u=Object.entries(e),h=u.length;for(let g=0;g<h;g++){const[b,v]=u[g];Rg(v,hA(n,b),i,r)}},hA=(e,n)=>{let i=e;const r=n.split(Cd),u=r.length;for(let h=0;h<u;h++){const g=r[h];let b=i.nextPart.get(g);b||(b=mA(),i.nextPart.set(g,b)),i=b}return i},vH=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,xH=e=>{if(e<1)return{get:()=>{},set:()=>{}};let n=0,i=Object.create(null),r=Object.create(null);const u=(h,g)=>{i[h]=g,n++,n>e&&(n=0,r=i,i=Object.create(null))};return{get(h){let g=i[h];if(g!==void 0)return g;if((g=r[h])!==void 0)return u(h,g),g},set(h,g){h in i?i[h]=g:u(h,g)}}},Mf="!",xw=":",wH=[],ww=(e,n,i,r,u)=>({modifiers:e,hasImportantModifier:n,baseClassName:i,maybePostfixModifierPosition:r,isExternal:u}),kH=e=>{const{prefix:n,experimentalParseClassName:i}=e;let r=u=>{const h=[];let g=0,b=0,v=0,w;const k=u.length;for(let R=0;R<k;R++){const q=u[R];if(g===0&&b===0){if(q===xw){h.push(u.slice(v,R)),v=R+1;continue}if(q==="/"){w=R;continue}}q==="["?g++:q==="]"?g--:q==="("?b++:q===")"&&b--}const A=h.length===0?u:u.slice(v);let T=A,_=!1;A.endsWith(Mf)?(T=A.slice(0,-1),_=!0):A.startsWith(Mf)&&(T=A.slice(1),_=!0);const G=w&&w>v?w-v:void 0;return ww(h,_,T,G)};if(n){const u=n+xw,h=r;r=g=>g.startsWith(u)?h(g.slice(u.length)):ww(wH,!1,g,void 0,!0)}if(i){const u=r;r=h=>i({className:h,parseClassName:u})}return r},SH=e=>{const n=new Map;return e.orderSensitiveModifiers.forEach((i,r)=>{n.set(i,1e6+r)}),i=>{const r=[];let u=[];for(let h=0;h<i.length;h++){const g=i[h],b=g[0]==="[",v=n.has(g);b||v?(u.length>0&&(u.sort(),r.push(...u),u=[]),r.push(g)):u.push(g)}return u.length>0&&(u.sort(),r.push(...u)),r}},jH=e=>({cache:xH(e.cacheSize),parseClassName:kH(e),sortModifiers:SH(e),...dH(e)}),AH=/\s+/,CH=(e,n)=>{const{parseClassName:i,getClassGroupId:r,getConflictingClassGroupIds:u,sortModifiers:h}=n,g=[],b=e.trim().split(AH);let v="";for(let w=b.length-1;w>=0;w-=1){const k=b[w],{isExternal:A,modifiers:T,hasImportantModifier:_,baseClassName:G,maybePostfixModifierPosition:R}=i(k);if(A){v=k+(v.length>0?" "+v:v);continue}let q=!!R,F=r(q?G.substring(0,R):G);if(!F){if(!q){v=k+(v.length>0?" "+v:v);continue}if(F=r(G),!F){v=k+(v.length>0?" "+v:v);continue}q=!1}const ae=T.length===0?"":T.length===1?T[0]:h(T).join(":"),L=_?ae+Mf:ae,W=L+F;if(g.indexOf(W)>-1)continue;g.push(W);const J=u(F,q);for(let se=0;se<J.length;++se){const V=J[se];g.push(L+V)}v=k+(v.length>0?" "+v:v)}return v},NH=(...e)=>{let n=0,i,r,u="";for(;n<e.length;)(i=e[n++])&&(r=fA(i))&&(u&&(u+=" "),u+=r);return u},fA=e=>{if(typeof e=="string")return e;let n,i="";for(let r=0;r<e.length;r++)e[r]&&(n=fA(e[r]))&&(i&&(i+=" "),i+=n);return i},_H=(e,...n)=>{let i,r,u,h;const g=v=>{const w=n.reduce((k,A)=>A(k),e());return i=jH(w),r=i.cache.get,u=i.cache.set,h=b,b(v)},b=v=>{const w=r(v);if(w)return w;const k=CH(v,i);return u(v,k),k};return h=g,(...v)=>h(NH(...v))},TH=[],ln=e=>{const n=i=>i[e]||TH;return n.isThemeGetter=!0,n},gA=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,yA=/^\((?:(\w[\w-]*):)?(.+)\)$/i,RH=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,EH=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,DH=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,zH=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,OH=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,IH=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,ms=e=>RH.test(e),tt=e=>!!e&&!Number.isNaN(Number(e)),ps=e=>!!e&&Number.isInteger(Number(e)),Xh=e=>e.endsWith("%")&&tt(e.slice(0,-1)),_i=e=>EH.test(e),bA=()=>!0,PH=e=>DH.test(e)&&!zH.test(e),Eg=()=>!1,qH=e=>OH.test(e),MH=e=>IH.test(e),BH=e=>!Ae(e)&&!Ce(e),LH=e=>_s(e,wA,Eg),Ae=e=>gA.test(e),so=e=>_s(e,kA,PH),kw=e=>_s(e,FH,tt),VH=e=>_s(e,jA,bA),UH=e=>_s(e,SA,Eg),Sw=e=>_s(e,vA,Eg),$H=e=>_s(e,xA,MH),Yu=e=>_s(e,AA,qH),Ce=e=>yA.test(e),Fl=e=>jo(e,kA),GH=e=>jo(e,SA),jw=e=>jo(e,vA),KH=e=>jo(e,wA),HH=e=>jo(e,xA),Xu=e=>jo(e,AA,!0),QH=e=>jo(e,jA,!0),_s=(e,n,i)=>{const r=gA.exec(e);return r?r[1]?n(r[1]):i(r[2]):!1},jo=(e,n,i=!1)=>{const r=yA.exec(e);return r?r[1]?n(r[1]):i:!1},vA=e=>e==="position"||e==="percentage",xA=e=>e==="image"||e==="url",wA=e=>e==="length"||e==="size"||e==="bg-size",kA=e=>e==="length",FH=e=>e==="number",SA=e=>e==="family-name",jA=e=>e==="number"||e==="weight",AA=e=>e==="shadow",ZH=()=>{const e=ln("color"),n=ln("font"),i=ln("text"),r=ln("font-weight"),u=ln("tracking"),h=ln("leading"),g=ln("breakpoint"),b=ln("container"),v=ln("spacing"),w=ln("radius"),k=ln("shadow"),A=ln("inset-shadow"),T=ln("text-shadow"),_=ln("drop-shadow"),G=ln("blur"),R=ln("perspective"),q=ln("aspect"),F=ln("ease"),ae=ln("animate"),L=()=>["auto","avoid","all","avoid-page","page","left","right","column"],W=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],J=()=>[...W(),Ce,Ae],se=()=>["auto","hidden","clip","visible","scroll"],V=()=>["auto","contain","none"],H=()=>[Ce,Ae,v],ke=()=>[ms,"full","auto",...H()],et=()=>[ps,"none","subgrid",Ce,Ae],it=()=>["auto",{span:["full",ps,Ce,Ae]},ps,Ce,Ae],Ke=()=>[ps,"auto",Ce,Ae],Ze=()=>["auto","min","max","fr",Ce,Ae],Ne=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],Le=()=>["start","end","center","stretch","center-safe","end-safe"],I=()=>["auto",...H()],Y=()=>[ms,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...H()],fe=()=>[ms,"screen","full","dvw","lvw","svw","min","max","fit",...H()],we=()=>[ms,"screen","full","lh","dvh","lvh","svh","min","max","fit",...H()],ee=()=>[e,Ce,Ae],_e=()=>[...W(),jw,Sw,{position:[Ce,Ae]}],Pe=()=>["no-repeat",{repeat:["","x","y","space","round"]}],be=()=>["auto","cover","contain",KH,LH,{size:[Ce,Ae]}],le=()=>[Xh,Fl,so],ce=()=>["","none","full",w,Ce,Ae],K=()=>["",tt,Fl,so],de=()=>["solid","dashed","dotted","double"],Ee=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],Se=()=>[tt,Xh,jw,Sw],nt=()=>["","none",G,Ce,Ae],Ve=()=>["none",tt,Ce,Ae],vt=()=>["none",tt,Ce,Ae],$e=()=>[tt,Ce,Ae],re=()=>[ms,"full",...H()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[_i],breakpoint:[_i],color:[bA],container:[_i],"drop-shadow":[_i],ease:["in","out","in-out"],font:[BH],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[_i],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[_i],shadow:[_i],spacing:["px",tt],text:[_i],"text-shadow":[_i],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",ms,Ae,Ce,q]}],container:["container"],columns:[{columns:[tt,Ae,Ce,b]}],"break-after":[{"break-after":L()}],"break-before":[{"break-before":L()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:J()}],overflow:[{overflow:se()}],"overflow-x":[{"overflow-x":se()}],"overflow-y":[{"overflow-y":se()}],overscroll:[{overscroll:V()}],"overscroll-x":[{"overscroll-x":V()}],"overscroll-y":[{"overscroll-y":V()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:ke()}],"inset-x":[{"inset-x":ke()}],"inset-y":[{"inset-y":ke()}],start:[{"inset-s":ke(),start:ke()}],end:[{"inset-e":ke(),end:ke()}],"inset-bs":[{"inset-bs":ke()}],"inset-be":[{"inset-be":ke()}],top:[{top:ke()}],right:[{right:ke()}],bottom:[{bottom:ke()}],left:[{left:ke()}],visibility:["visible","invisible","collapse"],z:[{z:[ps,"auto",Ce,Ae]}],basis:[{basis:[ms,"full","auto",b,...H()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[tt,ms,"auto","initial","none",Ae]}],grow:[{grow:["",tt,Ce,Ae]}],shrink:[{shrink:["",tt,Ce,Ae]}],order:[{order:[ps,"first","last","none",Ce,Ae]}],"grid-cols":[{"grid-cols":et()}],"col-start-end":[{col:it()}],"col-start":[{"col-start":Ke()}],"col-end":[{"col-end":Ke()}],"grid-rows":[{"grid-rows":et()}],"row-start-end":[{row:it()}],"row-start":[{"row-start":Ke()}],"row-end":[{"row-end":Ke()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":Ze()}],"auto-rows":[{"auto-rows":Ze()}],gap:[{gap:H()}],"gap-x":[{"gap-x":H()}],"gap-y":[{"gap-y":H()}],"justify-content":[{justify:[...Ne(),"normal"]}],"justify-items":[{"justify-items":[...Le(),"normal"]}],"justify-self":[{"justify-self":["auto",...Le()]}],"align-content":[{content:["normal",...Ne()]}],"align-items":[{items:[...Le(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...Le(),{baseline:["","last"]}]}],"place-content":[{"place-content":Ne()}],"place-items":[{"place-items":[...Le(),"baseline"]}],"place-self":[{"place-self":["auto",...Le()]}],p:[{p:H()}],px:[{px:H()}],py:[{py:H()}],ps:[{ps:H()}],pe:[{pe:H()}],pbs:[{pbs:H()}],pbe:[{pbe:H()}],pt:[{pt:H()}],pr:[{pr:H()}],pb:[{pb:H()}],pl:[{pl:H()}],m:[{m:I()}],mx:[{mx:I()}],my:[{my:I()}],ms:[{ms:I()}],me:[{me:I()}],mbs:[{mbs:I()}],mbe:[{mbe:I()}],mt:[{mt:I()}],mr:[{mr:I()}],mb:[{mb:I()}],ml:[{ml:I()}],"space-x":[{"space-x":H()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":H()}],"space-y-reverse":["space-y-reverse"],size:[{size:Y()}],"inline-size":[{inline:["auto",...fe()]}],"min-inline-size":[{"min-inline":["auto",...fe()]}],"max-inline-size":[{"max-inline":["none",...fe()]}],"block-size":[{block:["auto",...we()]}],"min-block-size":[{"min-block":["auto",...we()]}],"max-block-size":[{"max-block":["none",...we()]}],w:[{w:[b,"screen",...Y()]}],"min-w":[{"min-w":[b,"screen","none",...Y()]}],"max-w":[{"max-w":[b,"screen","none","prose",{screen:[g]},...Y()]}],h:[{h:["screen","lh",...Y()]}],"min-h":[{"min-h":["screen","lh","none",...Y()]}],"max-h":[{"max-h":["screen","lh",...Y()]}],"font-size":[{text:["base",i,Fl,so]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,QH,VH]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Xh,Ae]}],"font-family":[{font:[GH,UH,n]}],"font-features":[{"font-features":[Ae]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[u,Ce,Ae]}],"line-clamp":[{"line-clamp":[tt,"none",Ce,kw]}],leading:[{leading:[h,...H()]}],"list-image":[{"list-image":["none",Ce,Ae]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Ce,Ae]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:ee()}],"text-color":[{text:ee()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...de(),"wavy"]}],"text-decoration-thickness":[{decoration:[tt,"from-font","auto",Ce,so]}],"text-decoration-color":[{decoration:ee()}],"underline-offset":[{"underline-offset":[tt,"auto",Ce,Ae]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:H()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Ce,Ae]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Ce,Ae]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:_e()}],"bg-repeat":[{bg:Pe()}],"bg-size":[{bg:be()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},ps,Ce,Ae],radial:["",Ce,Ae],conic:[ps,Ce,Ae]},HH,$H]}],"bg-color":[{bg:ee()}],"gradient-from-pos":[{from:le()}],"gradient-via-pos":[{via:le()}],"gradient-to-pos":[{to:le()}],"gradient-from":[{from:ee()}],"gradient-via":[{via:ee()}],"gradient-to":[{to:ee()}],rounded:[{rounded:ce()}],"rounded-s":[{"rounded-s":ce()}],"rounded-e":[{"rounded-e":ce()}],"rounded-t":[{"rounded-t":ce()}],"rounded-r":[{"rounded-r":ce()}],"rounded-b":[{"rounded-b":ce()}],"rounded-l":[{"rounded-l":ce()}],"rounded-ss":[{"rounded-ss":ce()}],"rounded-se":[{"rounded-se":ce()}],"rounded-ee":[{"rounded-ee":ce()}],"rounded-es":[{"rounded-es":ce()}],"rounded-tl":[{"rounded-tl":ce()}],"rounded-tr":[{"rounded-tr":ce()}],"rounded-br":[{"rounded-br":ce()}],"rounded-bl":[{"rounded-bl":ce()}],"border-w":[{border:K()}],"border-w-x":[{"border-x":K()}],"border-w-y":[{"border-y":K()}],"border-w-s":[{"border-s":K()}],"border-w-e":[{"border-e":K()}],"border-w-bs":[{"border-bs":K()}],"border-w-be":[{"border-be":K()}],"border-w-t":[{"border-t":K()}],"border-w-r":[{"border-r":K()}],"border-w-b":[{"border-b":K()}],"border-w-l":[{"border-l":K()}],"divide-x":[{"divide-x":K()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":K()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...de(),"hidden","none"]}],"divide-style":[{divide:[...de(),"hidden","none"]}],"border-color":[{border:ee()}],"border-color-x":[{"border-x":ee()}],"border-color-y":[{"border-y":ee()}],"border-color-s":[{"border-s":ee()}],"border-color-e":[{"border-e":ee()}],"border-color-bs":[{"border-bs":ee()}],"border-color-be":[{"border-be":ee()}],"border-color-t":[{"border-t":ee()}],"border-color-r":[{"border-r":ee()}],"border-color-b":[{"border-b":ee()}],"border-color-l":[{"border-l":ee()}],"divide-color":[{divide:ee()}],"outline-style":[{outline:[...de(),"none","hidden"]}],"outline-offset":[{"outline-offset":[tt,Ce,Ae]}],"outline-w":[{outline:["",tt,Fl,so]}],"outline-color":[{outline:ee()}],shadow:[{shadow:["","none",k,Xu,Yu]}],"shadow-color":[{shadow:ee()}],"inset-shadow":[{"inset-shadow":["none",A,Xu,Yu]}],"inset-shadow-color":[{"inset-shadow":ee()}],"ring-w":[{ring:K()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:ee()}],"ring-offset-w":[{"ring-offset":[tt,so]}],"ring-offset-color":[{"ring-offset":ee()}],"inset-ring-w":[{"inset-ring":K()}],"inset-ring-color":[{"inset-ring":ee()}],"text-shadow":[{"text-shadow":["none",T,Xu,Yu]}],"text-shadow-color":[{"text-shadow":ee()}],opacity:[{opacity:[tt,Ce,Ae]}],"mix-blend":[{"mix-blend":[...Ee(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":Ee()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[tt]}],"mask-image-linear-from-pos":[{"mask-linear-from":Se()}],"mask-image-linear-to-pos":[{"mask-linear-to":Se()}],"mask-image-linear-from-color":[{"mask-linear-from":ee()}],"mask-image-linear-to-color":[{"mask-linear-to":ee()}],"mask-image-t-from-pos":[{"mask-t-from":Se()}],"mask-image-t-to-pos":[{"mask-t-to":Se()}],"mask-image-t-from-color":[{"mask-t-from":ee()}],"mask-image-t-to-color":[{"mask-t-to":ee()}],"mask-image-r-from-pos":[{"mask-r-from":Se()}],"mask-image-r-to-pos":[{"mask-r-to":Se()}],"mask-image-r-from-color":[{"mask-r-from":ee()}],"mask-image-r-to-color":[{"mask-r-to":ee()}],"mask-image-b-from-pos":[{"mask-b-from":Se()}],"mask-image-b-to-pos":[{"mask-b-to":Se()}],"mask-image-b-from-color":[{"mask-b-from":ee()}],"mask-image-b-to-color":[{"mask-b-to":ee()}],"mask-image-l-from-pos":[{"mask-l-from":Se()}],"mask-image-l-to-pos":[{"mask-l-to":Se()}],"mask-image-l-from-color":[{"mask-l-from":ee()}],"mask-image-l-to-color":[{"mask-l-to":ee()}],"mask-image-x-from-pos":[{"mask-x-from":Se()}],"mask-image-x-to-pos":[{"mask-x-to":Se()}],"mask-image-x-from-color":[{"mask-x-from":ee()}],"mask-image-x-to-color":[{"mask-x-to":ee()}],"mask-image-y-from-pos":[{"mask-y-from":Se()}],"mask-image-y-to-pos":[{"mask-y-to":Se()}],"mask-image-y-from-color":[{"mask-y-from":ee()}],"mask-image-y-to-color":[{"mask-y-to":ee()}],"mask-image-radial":[{"mask-radial":[Ce,Ae]}],"mask-image-radial-from-pos":[{"mask-radial-from":Se()}],"mask-image-radial-to-pos":[{"mask-radial-to":Se()}],"mask-image-radial-from-color":[{"mask-radial-from":ee()}],"mask-image-radial-to-color":[{"mask-radial-to":ee()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":W()}],"mask-image-conic-pos":[{"mask-conic":[tt]}],"mask-image-conic-from-pos":[{"mask-conic-from":Se()}],"mask-image-conic-to-pos":[{"mask-conic-to":Se()}],"mask-image-conic-from-color":[{"mask-conic-from":ee()}],"mask-image-conic-to-color":[{"mask-conic-to":ee()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:_e()}],"mask-repeat":[{mask:Pe()}],"mask-size":[{mask:be()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Ce,Ae]}],filter:[{filter:["","none",Ce,Ae]}],blur:[{blur:nt()}],brightness:[{brightness:[tt,Ce,Ae]}],contrast:[{contrast:[tt,Ce,Ae]}],"drop-shadow":[{"drop-shadow":["","none",_,Xu,Yu]}],"drop-shadow-color":[{"drop-shadow":ee()}],grayscale:[{grayscale:["",tt,Ce,Ae]}],"hue-rotate":[{"hue-rotate":[tt,Ce,Ae]}],invert:[{invert:["",tt,Ce,Ae]}],saturate:[{saturate:[tt,Ce,Ae]}],sepia:[{sepia:["",tt,Ce,Ae]}],"backdrop-filter":[{"backdrop-filter":["","none",Ce,Ae]}],"backdrop-blur":[{"backdrop-blur":nt()}],"backdrop-brightness":[{"backdrop-brightness":[tt,Ce,Ae]}],"backdrop-contrast":[{"backdrop-contrast":[tt,Ce,Ae]}],"backdrop-grayscale":[{"backdrop-grayscale":["",tt,Ce,Ae]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[tt,Ce,Ae]}],"backdrop-invert":[{"backdrop-invert":["",tt,Ce,Ae]}],"backdrop-opacity":[{"backdrop-opacity":[tt,Ce,Ae]}],"backdrop-saturate":[{"backdrop-saturate":[tt,Ce,Ae]}],"backdrop-sepia":[{"backdrop-sepia":["",tt,Ce,Ae]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":H()}],"border-spacing-x":[{"border-spacing-x":H()}],"border-spacing-y":[{"border-spacing-y":H()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Ce,Ae]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[tt,"initial",Ce,Ae]}],ease:[{ease:["linear","initial",F,Ce,Ae]}],delay:[{delay:[tt,Ce,Ae]}],animate:[{animate:["none",ae,Ce,Ae]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[R,Ce,Ae]}],"perspective-origin":[{"perspective-origin":J()}],rotate:[{rotate:Ve()}],"rotate-x":[{"rotate-x":Ve()}],"rotate-y":[{"rotate-y":Ve()}],"rotate-z":[{"rotate-z":Ve()}],scale:[{scale:vt()}],"scale-x":[{"scale-x":vt()}],"scale-y":[{"scale-y":vt()}],"scale-z":[{"scale-z":vt()}],"scale-3d":["scale-3d"],skew:[{skew:$e()}],"skew-x":[{"skew-x":$e()}],"skew-y":[{"skew-y":$e()}],transform:[{transform:[Ce,Ae,"","none","gpu","cpu"]}],"transform-origin":[{origin:J()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:re()}],"translate-x":[{"translate-x":re()}],"translate-y":[{"translate-y":re()}],"translate-z":[{"translate-z":re()}],"translate-none":["translate-none"],accent:[{accent:ee()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:ee()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Ce,Ae]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":H()}],"scroll-mx":[{"scroll-mx":H()}],"scroll-my":[{"scroll-my":H()}],"scroll-ms":[{"scroll-ms":H()}],"scroll-me":[{"scroll-me":H()}],"scroll-mbs":[{"scroll-mbs":H()}],"scroll-mbe":[{"scroll-mbe":H()}],"scroll-mt":[{"scroll-mt":H()}],"scroll-mr":[{"scroll-mr":H()}],"scroll-mb":[{"scroll-mb":H()}],"scroll-ml":[{"scroll-ml":H()}],"scroll-p":[{"scroll-p":H()}],"scroll-px":[{"scroll-px":H()}],"scroll-py":[{"scroll-py":H()}],"scroll-ps":[{"scroll-ps":H()}],"scroll-pe":[{"scroll-pe":H()}],"scroll-pbs":[{"scroll-pbs":H()}],"scroll-pbe":[{"scroll-pbe":H()}],"scroll-pt":[{"scroll-pt":H()}],"scroll-pr":[{"scroll-pr":H()}],"scroll-pb":[{"scroll-pb":H()}],"scroll-pl":[{"scroll-pl":H()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Ce,Ae]}],fill:[{fill:["none",...ee()]}],"stroke-w":[{stroke:[tt,Fl,so,kw]}],stroke:[{stroke:["none",...ee()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},YH=_H(ZH);function za(...e){return YH(rk(e))}const XH=dA("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-mono-400 focus-visible:ring-offset-2 focus-visible:ring-offset-overlay-scrim disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-accent text-on-inverse hover:bg-mono-200",secondary:"border border-base bg-bg text-heading hover:bg-bg-elevated",ghost:"text-secondary hover:bg-bg-elevated hover:text-primary",outline:"border border-base bg-transparent text-heading hover:bg-bg-elevated",destructive:"bg-negative-600 text-on-emphasis hover:bg-negative-700"},size:{default:"h-10 px-4 md:h-9",sm:"h-9 px-3 text-xs md:h-8",icon:"size-10 md:size-9"}},defaultVariants:{variant:"default",size:"default"}}),me=N.forwardRef(({className:e,variant:n,size:i,asChild:r=!1,...u},h)=>{const g=r?cN:"button";return c.jsx(g,{ref:h,className:za(XH({variant:n,size:i,className:e})),...u})});me.displayName="Button";const WH=dA("inline-flex items-center rounded-md border px-2 py-0.5 text-[11px] font-medium tracking-wide",{variants:{variant:{neutral:"border-base bg-bg text-neutral",success:"border-positive bg-positive-soft text-positive",warning:"border-caution-500/25 bg-caution-soft text-caution",destructive:"border-negative bg-negative-soft text-negative"}},defaultVariants:{variant:"neutral"}});function CA({className:e,variant:n,...i}){return c.jsx("div",{className:za(WH({variant:n}),e),...i})}const JH=220;function Aw({compact:e=!1,version:n,updateAvailable:i,onDismissUpdate:r}){const u=!e&&n&&n!=="unknown",[h,g]=N.useState(!1),b=!e&&i&&r,v=()=>{g(!0),window.setTimeout(()=>{r?.(),g(!1)},JH)};return e?c.jsxs(Xe,{to:"/",className:"brand-lockup brand-lockup-compact","aria-label":"Canonry home",children:[c.jsx("img",{className:"brand-icon",src:"./favicon.svg",alt:"","aria-hidden":"true"}),c.jsx("span",{className:"brand-copy",children:c.jsx("span",{className:"brand-mark",children:"Canonry"})})]}):c.jsxs("div",{className:"brand-lockup brand-lockup-wrapper",children:[c.jsx(Xe,{to:"/",className:"brand-icon-link","aria-label":"Canonry home",tabIndex:-1,children:c.jsx("img",{className:"brand-icon",src:"./favicon.svg",alt:"","aria-hidden":"true"})}),c.jsxs("div",{className:"brand-copy",children:[c.jsx(Xe,{to:"/",className:"brand-mark",children:"Canonry"}),!b&&u?c.jsxs("span",{className:"brand-version",children:["v",n]}):null]}),b?c.jsxs("span",{className:`brand-update-bubble ${h?"brand-update-bubble-closing":""}`,role:"status","aria-live":"polite",children:[c.jsxs("a",{className:"brand-update-bubble-link",href:i.url,target:"_blank",rel:"noopener noreferrer",title:`Open release: ${i.upgradeCommand}`,"aria-label":`New version v${i.latest} available — open release page`,children:[c.jsxs("span",{className:"brand-update-bubble-from",children:["v",i.current]}),c.jsx(ac,{className:"brand-update-bubble-arrow size-3","aria-hidden":"true"}),c.jsxs("span",{className:"brand-update-bubble-to",children:["v",i.latest]})]}),c.jsx("button",{type:"button",className:"brand-update-bubble-dismiss",onClick:v,"aria-label":`Dismiss update notification for v${i.latest}`,children:c.jsx(Dr,{className:"size-3","aria-hidden":"true"})})]}):null]})}function eQ({provider:e}){const n={gemini:"border-blue-800/50 bg-blue-950/40 text-blue-300",openai:"border-green-800/50 bg-green-950/40 text-green-300",claude:"border-amber-800/50 bg-amber-950/40 text-amber-300",perplexity:"border-teal-800/50 bg-teal-950/40 text-teal-300",muse:"border-indigo-800/50 bg-indigo-950/40 text-indigo-300",local:"border-purple-800/50 bg-purple-950/40 text-purple-300"},r=Object.hasOwn(n,e)?`provider-badge--${e} ${n[e]}`:"border-zinc-700 bg-zinc-800 text-zinc-300";return c.jsx("span",{className:`inline-flex items-center rounded-full border px-2 py-0.5 text-[10px] font-medium uppercase tracking-wide ${r}`,children:e})}function On({tone:e,children:n,...i}){const r=e==="positive"?"success":e==="caution"?"warning":e==="negative"?"destructive":"neutral";return c.jsx(CA,{variant:r,...i,children:n})}function Dg({status:e}){return c.jsx(On,{tone:rA(e),children:eG(e)})}const tQ=ok,nQ=ak,NA=N.forwardRef(({className:e,...n},i)=>c.jsx(Qf,{ref:i,className:za("fixed inset-0 z-50 bg-overlay-scrim/70 backdrop-blur-sm",e),...n}));NA.displayName=Qf.displayName;const aQ=400,iQ=1200,sQ=720,_A=N.forwardRef(({className:e,children:n,...i},r)=>{const[u,h]=N.useState(sQ),g=N.useRef(!1),b=N.useRef(0),v=N.useRef(0),w=N.useCallback(T=>{g.current=!0,b.current=T.clientX,v.current=u,T.target.setPointerCapture(T.pointerId),T.preventDefault()},[u]),k=N.useCallback(T=>{if(!g.current)return;const _=b.current-T.clientX,G=Math.min(iQ,Math.max(aQ,v.current+_));h(G)},[]),A=N.useCallback(()=>{g.current=!1},[]);return c.jsxs(nQ,{children:[c.jsx(NA,{}),c.jsxs(Ff,{ref:r,className:za("fixed z-50 flex flex-col bg-bg px-5 py-4 shadow-2xl overflow-hidden","max-md:inset-x-0 max-md:bottom-0 max-md:top-auto max-md:max-h-[88vh] max-md:rounded-t-2xl max-md:border-t","md:inset-y-0 md:right-0 md:h-full md:border-l","border-base",e),style:{width:`min(${u}px, 100vw)`},...i,children:[c.jsx("div",{className:"absolute inset-y-0 left-0 w-1.5 cursor-col-resize hover:bg-mono-700/50 active:bg-mono-600/50 transition-colors max-md:hidden",onPointerDown:w,onPointerMove:k,onPointerUp:A}),n,c.jsxs(ik,{className:"absolute right-4 top-4 inline-flex size-8 items-center justify-center rounded-md text-muted transition hover:bg-bg-elevated hover:text-heading focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-mono-400",children:[c.jsx(Dr,{className:"size-4"}),c.jsx("span",{className:"sr-only",children:"Close"})]})]})]})});_A.displayName=Ff.displayName;const oQ=({className:e,...n})=>c.jsx("div",{className:za("flex flex-col gap-1.5 pr-10",e),...n}),TA=N.forwardRef(({className:e,...n},i)=>c.jsx(Zf,{ref:i,className:za("text-lg font-medium text-primary",e),...n}));TA.displayName=Zf.displayName;const RA=N.forwardRef(({className:e,...n},i)=>c.jsx(sk,{ref:i,className:za("text-sm text-muted",e),...n}));RA.displayName=sk.displayName;function Wu({title:e,subtitle:n,children:i,open:r,onClose:u}){return c.jsx(tQ,{open:r,onOpenChange:h=>h?void 0:u(),children:c.jsxs(_A,{children:[c.jsxs(oQ,{className:"drawer-head",children:[c.jsx("p",{className:"eyebrow eyebrow-soft",children:n}),c.jsx(TA,{id:"drawer-title",children:e}),c.jsx(RA,{className:"sr-only",children:n})]}),c.jsx("div",{className:"drawer-body",children:i})]})})}function ro({text:e}){const[n,i]=N.useState(null),r=N.useRef(null),u=N.useCallback(()=>{if(!r.current)return;const b=r.current.getBoundingClientRect();i({top:b.top,left:b.left+b.width/2})},[]),h=N.useCallback(()=>i(null),[]),g=N.useCallback(()=>{n===null?u():h()},[n,u,h]);return c.jsxs("span",{className:"info-tooltip-wrapper",onMouseEnter:u,onMouseLeave:h,children:[c.jsx("button",{ref:r,type:"button",className:"info-tooltip-trigger","aria-label":e,"aria-expanded":n!==null,onFocus:u,onBlur:h,onClick:g,onKeyDown:b=>{b.key==="Escape"&&h()},children:c.jsxs("svg",{className:"info-tooltip-icon",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[c.jsx("circle",{cx:"8",cy:"8",r:"7",stroke:"currentColor",strokeWidth:"1.5"}),c.jsx("path",{d:"M8 7v4M8 5.5v0",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}),n!==null&&nN.createPortal(c.jsx("span",{"aria-hidden":"true",style:{position:"fixed",top:n.top,left:n.left,transform:"translateX(-50%) translateY(calc(-100% - 8px))",zIndex:9999,pointerEvents:"none",width:"14rem",padding:"0.5rem 0.75rem",fontSize:"11px",fontWeight:400,textTransform:"none",letterSpacing:"normal",lineHeight:"1rem",color:"var(--color-neutral-text)",backgroundColor:"var(--color-bg-elevated)",border:"1px solid color-mix(in oklab, var(--color-border-strong) 60%, transparent)",borderRadius:"0.5rem",boxShadow:"0 10px 15px -3px var(--color-shadow-tooltip), 0 4px 6px -4px var(--color-shadow-tooltip)"},children:e}),document.body)]})}const rQ=/[\s\-_]+/;function lQ(e){const n=e.split(rQ).filter(Boolean);return n.length===0?null:n.map(i=>i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("[\\s\\-_]*")}function Cw(e,n){const i=cQ(n),r=e.split(/(\*\*[^*]+\*\*)/).filter(Boolean).map(w=>w.startsWith("**")&&w.endsWith("**")?{type:"bold",value:w.slice(2,-2)}:{type:"text",value:w}),u=i.flatMap(w=>w.terms).filter(w=>w.trim().length>1);if(u.length===0)return r.map((w,k)=>w.type==="bold"?dr.createElement("strong",{key:`b-${k}`,className:"text-strong font-semibold"},w.value):w.value).filter(Boolean);const g=[...u].sort((w,k)=>k.length-w.length).map(lQ).filter(w=>!!w);if(g.length===0)return r.map((w,k)=>w.type==="bold"?dr.createElement("strong",{key:`b-${k}`,className:"text-strong font-semibold"},w.value):w.value).filter(Boolean);const b=new RegExp(`(${g.join("|")})`,"gi"),v=new Map;for(const w of i)for(const k of w.terms){const A=Ua(k);A&&!v.has(A)&&v.set(A,w.className)}return r.flatMap((w,k)=>w.value.split(b).map((T,_)=>{if(!T)return null;if(_%2===1){const R=v.get(Ua(T))??"answer-highlight";return w.type==="bold"?dr.createElement("mark",{key:`hl-${k}-${_}`,className:R},dr.createElement("strong",{className:"text-strong font-semibold"},T)):dr.createElement("mark",{key:`hl-${k}-${_}`,className:R},T)}return w.type==="bold"?dr.createElement("strong",{key:`b-${k}-${_}`,className:"text-strong font-semibold"},T):T})).filter(Boolean)}function cQ(e){return e.length===0?[]:typeof e[0]=="string"?[{terms:e,className:"answer-highlight"}]:e}function Bf(e){const n=(e??"").trim();return n&&(n.startsWith("/")||/^https?:\/\//i.test(n)||/^mailto:/i.test(n))?n:null}function Wh(e,n){return{citedCompetitorDomains:[...e.citedCompetitorDomains??n?.citedCompetitorDomains??[]],mentionedCompetitorDomains:[...e.mentionedCompetitorDomains??n?.mentionedCompetitorDomains??[]]}}function Jh(e,n){switch(e){case"new":return"First observation";case"emerging":return"First mention";case"lost":return"Lost since last run";default:return n==="mentioned"||n==="visible"?"Mentioned in latest run":n==="pending"?"Awaiting first run":"Not mentioned in latest run"}}function uQ({evidence:e,project:n,onClose:i}){const[r,u]=N.useState(!1),[h,g]=N.useState("mentions"),[b,v]=N.useState(-1),[w,k]=N.useState(null),[A,T]=N.useState(!1),[_,G]=N.useState({}),R=ES(n.project),q=new Set(R.map(hd)),F=e.runHistory,ae=F.length>1,[L,W]=N.useState(null),J=N.useRef(!1);N.useEffect(()=>{if(J.current||e.answerSnippet&&(e.visibilityState!=null||e.answerMentioned!=null))return;const le=F.at(-1);le&&(J.current=!0,Df(le.runId).then(ce=>{const K=ce.snapshots?.find(de=>de.query===e.query&&de.provider===e.provider);K&&W({citationState:K.citationState,answerMentioned:K.answerMentioned,visibilityState:K.visibilityState,visibilityTransition:le.visibilityTransition,provider:K.provider,model:K.model??e.model,answerSnippet:K.answerText??e.answerSnippet,citedDomains:K.citedDomains??e.citedDomains,...Wh(K,e),recommendedCompetitors:K.recommendedCompetitors??e.recommendedCompetitors??[],matchedTerms:K.matchedTerms??e.matchedTerms??[],groundingSources:K.groundingSources??e.groundingSources,searchQueries:K.searchQueries,evidenceUrls:[],changeLabel:e.visibilityChangeLabel??e.changeLabel,summary:e.summary})}).catch(()=>{}))},[e,F]);const se=b>=0&&w!==null,V=se?w:L||{citationState:e.citationState,answerMentioned:e.answerMentioned,visibilityState:e.visibilityState,visibilityTransition:F.at(-1)?.visibilityTransition,provider:e.provider,model:e.model,answerSnippet:e.answerSnippet,citedDomains:e.citedDomains,...Wh(e),recommendedCompetitors:e.recommendedCompetitors??[],matchedTerms:e.matchedTerms??[],groundingSources:e.groundingSources,searchQueries:e.searchQueries??[],evidenceUrls:e.evidenceUrls,changeLabel:e.visibilityChangeLabel??e.changeLabel,summary:e.summary},H=V.visibilityState==="pending"||V.citationState==="pending",ke=H?!1:V.visibilityState!=null?V.visibilityState==="visible":V.answerMentioned!=null?V.answerMentioned:V.citationState===bd.cited||V.citationState==="emerging",et=V.answerMentioned!=null||V.visibilityState!=null||V.mentionedCompetitorDomains.length>0||V.recommendedCompetitors.length>0,it=V.citedDomains.length>0||V.citedCompetitorDomains.length>0||V.groundingSources.length>0||V.evidenceUrls.length>0,Ke=n.project.displayName||n.project.name,Ze=[...R.map(hd),Ke,Ke.split(" ").slice(0,2).join(" "),...V.matchedTerms].filter(le=>le.trim().length>2),Ne=[...V.mentionedCompetitorDomains.flatMap(le=>{const ce=AS(le);return ce.length>=4?[ce]:[]}),...V.recommendedCompetitors].filter(le=>le.trim().length>2),Le=[{terms:Ze,className:"answer-highlight-brand"},...Ne.length>0?[{terms:Ne,className:"answer-highlight-competitor"}]:[]],I=H?"pending":V.visibilityTransition==="lost"?"lost":ke?"mentioned":"not-mentioned",Y=N.useRef(0),fe=N.useCallback(async le=>{const ce=++Y.current;if(le===-1||le===F.length-1){v(-1),k(null),u(!1);return}v(le),u(!1);const K=F[le],de=`${K.runId}::${e.query}::${e.provider}`;if(_[de]){k(_[de]);return}T(!0);try{const Ee=await Df(K.runId);if(ce!==Y.current)return;const Se=Ee.snapshots?.find(Ve=>Ve.query===e.query&&Ve.provider===e.provider)??Ee.snapshots?.find(Ve=>Ve.query===e.query),nt=Se?{citationState:Se.citationState,answerMentioned:Se.answerMentioned,visibilityState:Se.visibilityState,visibilityTransition:K.visibilityTransition,provider:Se.provider,model:Se.model??null,answerSnippet:Se.answerText??"",citedDomains:Se.citedDomains,...Wh(Se),recommendedCompetitors:Se.recommendedCompetitors??[],matchedTerms:Se.matchedTerms??[],groundingSources:Se.groundingSources,searchQueries:Se.searchQueries,evidenceUrls:[],changeLabel:Jh(K.mentionTransition??K.visibilityTransition,K.mentionState??K.visibilityState),summary:""}:{citationState:K.citationState,answerMentioned:K.answerMentioned,visibilityState:K.visibilityState,visibilityTransition:K.visibilityTransition,provider:e.provider,model:K.model??null,answerSnippet:"",citedDomains:[],citedCompetitorDomains:[],mentionedCompetitorDomains:[],recommendedCompetitors:[],matchedTerms:[],groundingSources:[],searchQueries:[],evidenceUrls:[],changeLabel:Jh(K.mentionTransition??K.visibilityTransition,K.mentionState??K.visibilityState),summary:"Snapshot data not available for this run."};G(Ve=>({...Ve,[de]:nt})),k(nt)}catch{if(ce!==Y.current)return;k({citationState:K.citationState,answerMentioned:K.answerMentioned,visibilityState:K.visibilityState,visibilityTransition:K.visibilityTransition,provider:e.provider,model:K.model??null,answerSnippet:"",citedDomains:[],citedCompetitorDomains:[],mentionedCompetitorDomains:[],recommendedCompetitors:[],matchedTerms:[],groundingSources:[],searchQueries:[],evidenceUrls:[],changeLabel:Jh(K.mentionTransition??K.visibilityTransition,K.mentionState??K.visibilityState),summary:"Failed to load historical run data."})}finally{ce===Y.current&&T(!1)}},[F,e.query,e.provider,_]),ee=(se||e.historyScope!=="provider")&&V.model?`${V.provider} (${V.model}) · ${V.changeLabel.toLowerCase()}`:`${V.provider} · ${V.changeLabel.toLowerCase()}`,_e=!se&&e.historyScope==="provider"?[e.model?`Current model: ${e.model}`:null,e.modelsSeen&&e.modelsSeen.length>1?`History spans ${e.modelsSeen.length} models`:null].filter(Boolean).join(" · "):"",Pe=ke?{label:"Mentioned in answer",title:"Your brand or domain is mentioned in this answer",meta:ee}:V.visibilityTransition==="lost"?{label:"Mention lost",title:"Your brand no longer appears in this answer",meta:ee}:H?{label:"Pending",title:"Awaiting first run",meta:"No provider data yet"}:{label:"Not mentioned in answer",title:"Your brand or domain was not mentioned in this answer",meta:ee},be=()=>{if(!V.answerSnippet)return null;const le=V.answerSnippet.split(`
58
- `),ce=[];let K=[],de=0;const Ee=()=>{if(K.length===0)return;const Se=K.join(" ").trim();Se&&ce.push(c.jsx("p",{className:ce.length>0?"mt-2.5":"",children:Cw(Se,Le)},de++)),K=[]};for(const Se of le){const nt=Se.trim();if(/^[-\u2013\u2014]{3,}$/.test(nt)){Ee(),ce.push(c.jsx("hr",{className:"border-default my-3"},de++));continue}const Ve=nt.match(/^(#{1,3})\s+(\S.*)$/);if(Ve){Ee();const vt=Ve[1].length,$e=Ve[2].replace(/^[\p{Emoji}\p{Emoji_Component}\s]+/u,"").trim()||Ve[2],re=vt===1?"text-[13px] font-semibold text-heading mt-4 mb-1":vt===2?"text-xs font-semibold text-strong mt-3 mb-0.5":"text-xs font-medium text-neutral mt-2";ce.push(c.jsx("p",{className:re,children:Cw($e,Le)},de++));continue}if(nt===""){Ee();continue}K.push(nt)}return Ee(),ce};return c.jsx(ok,{open:!0,onOpenChange:le=>{le||i()},children:c.jsxs(ak,{children:[c.jsx(Qf,{className:"fixed inset-0 z-50 bg-overlay-scrim/80 backdrop-blur-sm"}),c.jsxs(Ff,{className:"evidence-modal","aria-describedby":void 0,children:[c.jsxs("div",{className:"evidence-modal-header",children:[c.jsxs("div",{className:"min-w-0 flex-1",children:[c.jsxs("p",{className:"eyebrow eyebrow-soft",children:[n.project.name," ","·"," ",V.provider||"All providers"]}),c.jsx(Zf,{className:"text-lg font-semibold text-primary truncate",children:e.query})]}),c.jsxs(ik,{className:"inline-flex size-8 items-center justify-center rounded-md text-muted transition hover:bg-mono-800 hover:text-heading focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-mono-400 shrink-0",children:[c.jsx(Dr,{className:"size-4"}),c.jsx("span",{className:"sr-only",children:"Close"})]})]}),ae&&c.jsxs("div",{className:"evidence-modal-timeline",children:[c.jsx("p",{className:"drawer-section-label mb-1.5",children:"Run history"}),c.jsx("div",{className:"flex items-center gap-1 overflow-x-auto pb-1",children:F.map((le,ce)=>{const K=b===-1&&ce===F.length-1||b===ce,de=le.visibilityState??(le.answerMentioned?"visible":"not-visible"),Ee=le.visibilityTransition??de,Se=de==="visible"?"bg-positive-400":Ee==="emerging"?"bg-caution-400":Ee==="lost"?"bg-negative-400":"bg-mono-600",Ve=new Date(le.createdAt).toLocaleDateString(void 0,{month:"short",day:"numeric"}),vt=!!(le.model&&ce>0&&F[ce-1]?.model&&F[ce-1].model!==le.model);return c.jsxs("button",{type:"button",className:`evidence-run-dot ${K?"evidence-run-dot--selected":""}`,onClick:()=>{fe(ce===F.length-1?-1:ce)},"aria-label":[`Run ${Ve}: ${de}`,le.model?`model ${le.model}`:null,vt?"model changed":null].filter(Boolean).join(" — "),"aria-pressed":K,children:[c.jsx("span",{className:`size-2 rounded-full ${Se} ${vt?"ring-1 ring-caution-300/80 ring-offset-2 ring-offset-bg":""}`,"aria-hidden":"true"}),c.jsx("span",{className:"text-[10px] text-muted",children:Ve})]},ce)})}),b>=0&&b<F.length&&c.jsxs("p",{className:"text-[11px] text-muted mt-1",children:["Viewing run from ",new Date(F[b].createdAt).toLocaleString()," ","—"," ",c.jsx("span",{className:"capitalize",children:F[b].visibilityState??(F[b].answerMentioned?"visible":"not-visible")}),c.jsxs("button",{type:"button",className:"text-secondary hover:text-strong ml-2",onClick:()=>{fe(-1)},children:["←"," Back to latest"]})]}),!se&&(e.modelTransitions?.length??0)>0&&c.jsx("div",{className:"mt-2 flex flex-wrap gap-2",children:e.modelTransitions.map(le=>c.jsx("span",{className:"inline-flex items-center rounded-full border border-caution-400/30 bg-caution-400/10 px-2 py-1 text-[10px] text-caution-100",children:`${le.fromModel??"unknown"} -> ${le.toModel??"unknown"} on ${new Date(le.createdAt).toLocaleDateString()}`},`${le.runId}:${le.toModel??"unknown"}`))})]}),c.jsxs("div",{className:"evidence-modal-body",children:[A&&c.jsxs("div",{className:"md:col-span-2 flex items-center justify-center py-12 text-muted text-sm",children:["Loading historical run data","…"]}),!A&&c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"evidence-modal-main",children:[c.jsxs("div",{className:`evidence-position-hero evidence-position-hero--${I}`,children:[c.jsx("p",{className:`evidence-position-label evidence-position-label--${I}`,children:Pe.label}),c.jsx("p",{className:`evidence-position-title evidence-position-title--${I}`,children:Pe.title}),c.jsx("p",{className:"evidence-position-meta",children:Pe.meta}),_e&&c.jsx("p",{className:"mt-1 text-[11px] text-muted",children:_e})]}),V.answerSnippet&&c.jsxs("div",{children:[c.jsx("p",{className:"drawer-section-label",children:"What the AI said"}),c.jsx("div",{className:`answer-snippet-block ${r?"evidence-answer-expanded":"evidence-answer-collapsed"}`,children:be()}),V.answerSnippet.length>280&&c.jsx("button",{type:"button",className:"mt-1.5 text-xs text-muted hover:text-neutral transition-colors",onClick:()=>u(!r),children:r?"↑ Collapse":"↓ Show full answer"})]}),!V.answerSnippet&&!A&&c.jsx("div",{className:"rounded-lg border border-subtle bg-surface-subtle px-4 py-8 text-center text-faint text-sm",children:"No answer text recorded for this run"}),V.searchQueries.length>0&&c.jsxs("div",{children:[c.jsxs("div",{className:"drawer-section-label flex items-center",children:[c.jsx("span",{children:"Web searches the model ran"}),c.jsx(ro,{text:"The search queries this AI model issued while researching your prompt. They reveal how the model reformulated your query — the phrasings worth optimizing your content for. Distinct from grounding sources (what it found) and citations (what it linked)."})]}),c.jsx("ul",{className:"grid gap-1",children:V.searchQueries.map((le,ce)=>c.jsxs("li",{className:"flex items-start gap-2 text-sm text-neutral",children:[c.jsx(Yf,{className:"size-3.5 mt-0.5 shrink-0 text-faint","aria-hidden":"true"}),c.jsx("span",{className:"break-words",children:le})]},`${ce}-${le}`))})]}),!se&&e.relatedTechnicalSignals.length>0&&c.jsxs("div",{children:[c.jsx("p",{className:"drawer-section-label",children:ke?"Why you're visible":"What to fix"}),c.jsx("div",{className:"action-items-list",children:e.relatedTechnicalSignals.map((le,ce)=>c.jsxs("div",{className:"action-item",children:[c.jsx("svg",{className:`action-item-icon ${ke?"text-positive-400":"text-caution-400"}`,viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:ke?c.jsx("path",{d:"M3 8l3.5 3.5L13 4.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}):c.jsxs(c.Fragment,{children:[c.jsx("circle",{cx:"8",cy:"8",r:"7",stroke:"currentColor",strokeWidth:"1.5"}),c.jsx("path",{d:"M8 5v3.5M8 10.5v0",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}),c.jsx("span",{className:"action-item-text",children:le})]},ce))})]}),V.summary&&c.jsx("p",{className:"text-xs text-faint border-t border-subtle pt-3 mt-1",children:V.summary})]}),c.jsxs("div",{className:"evidence-modal-sidebar",children:[(et||it)&&c.jsxs("div",{className:"sidebar-tabs",children:[c.jsx("button",{className:`sidebar-tab ${h==="mentions"?"sidebar-tab--active":""}`,onClick:()=>g("mentions"),type:"button",title:"Canonry's answer-level visibility assessment and any company names extracted from the answer text.",children:"Mentions"}),c.jsx("button",{className:`sidebar-tab ${h==="sources"?"sidebar-tab--active":""}`,onClick:()=>g("sources"),type:"button",title:"Grounding links the model used to build the answer. These are supporting sources, not the primary visibility signal.",children:"Sources"})]}),h==="mentions"&&c.jsxs(c.Fragment,{children:[c.jsxs("div",{children:[c.jsxs("div",{className:"drawer-section-label flex items-center",children:[c.jsx("span",{children:"Mention in answer"}),c.jsx(ro,{text:"Canonry scans the AI answer for your owned domains and project name. This is independent from grounding or citation sources."})]}),c.jsxs("div",{className:`mention-status mention-status--${ke?"mentioned":"not-mentioned"}`,children:[c.jsx("span",{className:"mention-status-icon",children:H?"…":ke?"✓":"—"}),c.jsx("span",{className:"mention-status-label",children:H?"Pending":ke?"Mentioned":"Not mentioned"})]}),V.matchedTerms.length>0&&c.jsxs("div",{className:"mt-2",children:[c.jsx("p",{className:"text-[10px] uppercase tracking-wide text-muted mb-1.5",children:"Matched in answer"}),c.jsx("div",{className:"flex flex-wrap gap-1.5",children:V.matchedTerms.map(le=>c.jsx("span",{className:"mention-chip mention-chip--brand",children:le},le))})]}),!H&&!ke&&V.matchedTerms.length===0&&c.jsxs("div",{className:"mt-2",children:[c.jsx("p",{className:"text-[10px] uppercase tracking-wide text-muted mb-1.5",children:"Searched for"}),c.jsx("div",{className:"flex flex-wrap gap-1.5",children:Ze.map(le=>c.jsx("span",{className:"mention-chip mention-chip--muted",children:le},le))}),c.jsx("p",{className:"text-[11px] text-faint mt-1.5",children:"None of these appear in the answer text."})]})]}),(V.recommendedCompetitors.length>0||V.mentionedCompetitorDomains.length>0)&&c.jsxs("div",{children:[c.jsxs("div",{className:"drawer-section-label flex items-center",children:[c.jsx("span",{children:"Competitors in answer"}),c.jsx(ro,{text:"Competitors detected in the answer text. Includes tracked competitor brands and names extracted by Canonry; source-link competitors stay in the Sources tab."})]}),c.jsx("div",{className:"flex flex-wrap gap-1.5",children:(()=>{const le=V.mentionedCompetitorDomains.map(de=>de.replace(/^www\./,"")),ce=new Set(le.map(de=>Ua(de.replace(/\.[^.]+$/,""))));return[...V.recommendedCompetitors.filter(de=>!ce.has(Ua(de))),...le].map(de=>c.jsx("span",{className:"mention-chip mention-chip--competitor",children:de},de))})()})]})]}),h==="sources"&&c.jsxs(c.Fragment,{children:[V.citedDomains.length>0&&c.jsxs("div",{children:[c.jsxs("div",{className:"drawer-section-label flex items-center",children:[c.jsx("span",{children:"Domains from source links"}),c.jsx(ro,{text:"These domains were extracted from grounding or citation URLs. They are supporting-source metadata, not proof that the answer text mentioned them."})]}),c.jsx("div",{className:"citation-leaderboard",children:V.citedDomains.map((le,ce)=>{const K=le.toLowerCase().replace(/^www\./,""),de=q.has(K),Ee=!de&&V.citedCompetitorDomains.some(nt=>nt.toLowerCase().replace(/^www\./,"")===K),Se=de?"you":Ee?"competitor":"other";return c.jsxs("div",{className:`citation-leaderboard-item citation-leaderboard-item--${Se}`,children:[c.jsxs("span",{className:"citation-leaderboard-rank",children:["#",ce+1]}),c.jsx("span",{className:"citation-leaderboard-domain",children:le}),de&&c.jsx("span",{className:"citation-leaderboard-tag",children:"You"}),Ee&&c.jsx("span",{className:"citation-leaderboard-tag",children:"Competitor"})]},le)})})]}),V.groundingSources.length>0&&c.jsxs("div",{children:[c.jsxs("div",{className:"drawer-section-label flex items-center",children:[c.jsxs("span",{children:["Grounding source links (",V.groundingSources.length,")"]}),c.jsx(ro,{text:"Links the model used as grounding or supporting context while producing the answer. These are not the same thing as answer visibility."})]}),c.jsx("ul",{className:"grid gap-0.5",children:V.groundingSources.map((le,ce)=>{const K=Bf(le.uri),de=le.title||le.uri;return c.jsx("li",{className:"truncate text-sm",children:K?c.jsx("a",{href:K,target:"_blank",rel:"noopener noreferrer",className:"text-secondary hover:text-strong transition-colors",children:de}):c.jsx("span",{className:"text-secondary",children:de})},ce)})})]}),V.evidenceUrls.length>0&&c.jsxs("div",{children:[c.jsx("p",{className:"drawer-section-label",children:"Evidence URLs"}),c.jsx("ul",{className:"grid gap-1",children:V.evidenceUrls.map(le=>{const ce=Bf(le);return c.jsx("li",{className:"truncate text-sm",children:ce?c.jsx("a",{href:ce,target:"_blank",rel:"noopener noreferrer",className:"text-secondary hover:text-strong transition-colors",children:le}):c.jsx("span",{className:"text-secondary",children:le})},le)})})]}),V.citedDomains.length===0&&V.groundingSources.length===0&&V.evidenceUrls.length===0&&c.jsxs("div",{className:"flex items-center justify-center h-24 text-faint text-sm",children:["No source data ",se?"for this run":"yet"]})]}),!et&&!it&&c.jsxs("div",{className:"flex items-center justify-center h-24 text-faint text-sm",children:["No answer visibility data ",se?"for this run":"yet"]})]})]})]})]})]})})}function dQ(e){const n=e.match(/^\/projects\/([^/]+)/);if(!n)return null;try{return decodeURIComponent(n[1])}catch{return n[1]}}function mQ(e,n){return e?n?.projects.find(r=>r.project.name===e||r.project.id===e)?.project.name??e:null}function pQ(e,n){return mQ(dQ(e),n)}function Va(e){const n=new Date("2026-02-20");return e.map((i,r)=>({runId:`run_mock_${r+1}`,citationState:i,createdAt:new Date(n.getTime()+r*2*24*60*60*1e3).toISOString()}))}const ef=[{id:"project_citypoint",name:"Citypoint Dental NYC",canonicalDomain:"citypointdental.com",ownedDomains:[],aliases:[],country:"US",language:"en",tags:["local intent","priority"],labels:{},providers:[],providerModels:{},providerDispatchModes:{},measurement:Nh,locations:[],defaultLocation:null,autoExtractBacklinks:!1,configSource:"cli",configRevision:1},{id:"project_harbor",name:"Harbor Legal Group",canonicalDomain:"harborlegal.com",ownedDomains:[],aliases:[],country:"US",language:"en",tags:["lead gen"],labels:{},providers:[],providerModels:{},providerDispatchModes:{},measurement:Nh,locations:[],defaultLocation:null,autoExtractBacklinks:!1,configSource:"cli",configRevision:1},{id:"project_northstar",name:"Northstar Orthopedics",canonicalDomain:"northstarortho.com",ownedDomains:[],aliases:[],country:"US",language:"en",tags:["multi-location"],labels:{},providers:[],providerModels:{},providerDispatchModes:{},measurement:Nh,locations:[],defaultLocation:null,autoExtractBacklinks:!1,configSource:"cli",configRevision:1}];function um(e){return{id:e.id,projectId:e.projectId,projectName:e.projectName,kind:e.kind,kindLabel:e.kindLabel,status:e.status,trigger:e.trigger??"manual",createdAt:e.createdAt,startedAt:e.startedAt,duration:e.duration,statusDetail:e.statusDetail,summary:e.summary,triggerLabel:e.triggerLabel}}const hQ=um({id:"run_citypoint_visibility_20260308",projectId:"project_citypoint",projectName:"Citypoint Dental NYC",kind:"answer-visibility",kindLabel:"Answer visibility sweep",status:"completed",createdAt:"2026-03-08T12:15:00.000Z",startedAt:"Mar 8, 12:15 PM",duration:"6m 12s",statusDetail:"18 tracked queries checked; 3 citation losses detected on emergency-intent prompts.",summary:"Citation losses on emergency-intent prompts",triggerLabel:"Scheduled"}),fQ=um({id:"run_citypoint_queued_20260309",projectId:"project_citypoint",projectName:"Citypoint Dental NYC",kind:"answer-visibility",kindLabel:"Answer visibility sweep",status:"queued",createdAt:"2026-03-09T08:05:00.000Z",startedAt:"Mar 9, 8:05 AM",duration:"Waiting for slot",statusDetail:"Ready to enqueue after the next provider rate window clears.",summary:"Queued follow-up after local ranking movement",triggerLabel:"Manual"}),gQ=um({id:"run_harbor_visibility_20260308",projectId:"project_harbor",projectName:"Harbor Legal Group",kind:"answer-visibility",kindLabel:"Answer visibility sweep",status:"completed",createdAt:"2026-03-08T11:05:00.000Z",startedAt:"Mar 8, 11:05 AM",duration:"5m 07s",statusDetail:"12 tracked queries checked; local-intent visibility held steady across branded prompts.",summary:"Branded prompts remain stable",triggerLabel:"Scheduled"}),yQ=um({id:"run_northstar_visibility_20260308",projectId:"project_northstar",projectName:"Northstar Orthopedics",kind:"answer-visibility",kindLabel:"Answer visibility sweep",status:"running",createdAt:"2026-03-08T13:40:00.000Z",startedAt:"Mar 8, 1:40 PM",duration:"3m 10s",statusDetail:"Provider responses still in flight for 9 multi-location prompts.",summary:"Mid-run on treatment-location prompts",triggerLabel:"Manual"}),bQ=[{id:"evidence_citypoint_emergency_gemini",query:"emergency dentist brooklyn",provider:"gemini",model:"gemini-2.5-flash",location:null,citationState:"lost",changeLabel:"Lost since Mar 5",answerSnippet:"For urgent dental care in Brooklyn, Downtown Smiles and Harbor Dental are now cited first for emergency availability and same-day booking.",citedDomains:["downtownsmiles.com","harbordental.com"],evidenceUrls:["https://downtownsmiles.com/emergency-dentist-brooklyn","https://harbordental.com/same-day-emergency-care"],competitorDomains:["downtownsmiles.com","harbordental.com"],groundingSources:[],relatedTechnicalSignals:["FAQ schema missing on the emergency service page","llms.txt not found during latest site audit","Location pages link weakly into the emergency care hub"],summary:"AI answers now cite two competitors while your emergency page is no longer grounded.",runHistory:Va(["cited","cited","cited","cited","cited","cited","cited","not-cited","not-cited"])},{id:"evidence_citypoint_emergency_openai",query:"emergency dentist brooklyn",provider:"openai",model:"gpt-5.4",location:null,citationState:"cited",changeLabel:"Cited for 6 runs",answerSnippet:"Citypoint Dental is listed as a top emergency dentist in Brooklyn for same-day appointments and walk-in availability.",citedDomains:["citypointdental.com","downtownsmiles.com"],evidenceUrls:["https://citypointdental.com/emergency-dentist-brooklyn"],competitorDomains:["downtownsmiles.com"],groundingSources:[],relatedTechnicalSignals:["Emergency page indexed with structured data"],summary:"OpenAI cites your emergency page consistently alongside one competitor.",runHistory:Va(["not-cited","cited","cited","cited","cited","cited","cited"])},{id:"evidence_citypoint_emergency_claude",query:"emergency dentist brooklyn",provider:"claude",model:"claude-sonnet-4-6",location:null,citationState:"not-cited",changeLabel:"No citation across 12 runs",answerSnippet:"Based on the search results, top-rated emergency dental practices in Brooklyn include Downtown Smiles and Harbor Dental.",citedDomains:["downtownsmiles.com","harbordental.com"],evidenceUrls:[],competitorDomains:["downtownsmiles.com","harbordental.com"],groundingSources:[],relatedTechnicalSignals:["FAQ schema missing","llms.txt not found"],summary:"Claude does not cite your domain for this emergency query.",runHistory:Va(["not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited"])},{id:"evidence_citypoint_invisalign_openai",query:"best invisalign dentist downtown brooklyn",provider:"openai",model:"gpt-5.4",location:null,citationState:"emerging",changeLabel:"First citation in 7 days",answerSnippet:"Citypoint Dental appears as an emerging recommendation for Invisalign in Downtown Brooklyn, supported by recent before-and-after case pages.",citedDomains:["citypointdental.com","clearlineortho.com"],evidenceUrls:["https://citypointdental.com/invisalign-downtown-brooklyn","https://citypointdental.com/case-studies/invisalign-open-bite"],competitorDomains:["clearlineortho.com"],groundingSources:[],relatedTechnicalSignals:["Structured data now present on two case-study pages","Internal links from service pages to case studies improved crawl depth"],summary:"Fresh case-study content is starting to earn citations on Invisalign prompts.",runHistory:Va(["not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","cited"])},{id:"evidence_citypoint_invisalign_gemini",query:"best invisalign dentist downtown brooklyn",provider:"gemini",model:"gemini-2.5-flash",location:null,citationState:"cited",changeLabel:"Cited for 8 runs",answerSnippet:"Citypoint Dental in Downtown Brooklyn is highlighted for its Invisalign expertise and patient outcomes.",citedDomains:["citypointdental.com"],evidenceUrls:["https://citypointdental.com/invisalign-downtown-brooklyn"],competitorDomains:[],groundingSources:[],relatedTechnicalSignals:["Case study pages well-indexed"],summary:"Gemini consistently cites your Invisalign page with no competitor overlap.",runHistory:Va(["cited","cited","cited","cited","cited","cited","cited","cited"])},{id:"evidence_citypoint_invisalign_claude",query:"best invisalign dentist downtown brooklyn",provider:"claude",model:"claude-sonnet-4-6",location:null,citationState:"not-cited",changeLabel:"No citation across 12 runs",answerSnippet:"For Invisalign in Downtown Brooklyn, Clear Line Ortho and Brooklyn Smiles are frequently recommended for their experienced orthodontists.",citedDomains:["clearlineortho.com","brooklynsmiles.com"],evidenceUrls:[],competitorDomains:["clearlineortho.com"],groundingSources:[],relatedTechnicalSignals:["No before/after schema on case study pages"],summary:"Claude does not surface your Invisalign content despite strong page quality.",runHistory:Va(["not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited"])},{id:"evidence_citypoint_children_claude",query:"pediatric dentist brooklyn heights",provider:"claude",model:"claude-sonnet-4-6",location:null,citationState:"not-cited",changeLabel:"No citation across 4 runs",answerSnippet:"Answers cite neighborhood-specific pediatric practices with stronger family-focused FAQ content and clearer insurance details.",citedDomains:["brightkidsdental.com","parkpediatricdental.com"],evidenceUrls:["https://brightkidsdental.com/pediatric-dentist-brooklyn-heights","https://parkpediatricdental.com/insurance"],competitorDomains:["brightkidsdental.com","parkpediatricdental.com"],groundingSources:[],relatedTechnicalSignals:["No dedicated pediatric service page exists for Brooklyn Heights","Insurance content is buried three clicks deep"],summary:"Coverage gap is content-driven, not purely technical.",runHistory:Va(["not-cited","not-cited","not-cited","not-cited"])},{id:"evidence_citypoint_children_gemini",query:"pediatric dentist brooklyn heights",provider:"gemini",model:"gemini-2.5-flash",location:null,citationState:"not-cited",changeLabel:"No citation across 12 runs",answerSnippet:"For pediatric dentistry in Brooklyn Heights, Bright Kids Dental and Park Pediatric Dental are cited for family-friendly care.",citedDomains:["brightkidsdental.com","parkpediatricdental.com"],evidenceUrls:[],competitorDomains:["brightkidsdental.com","parkpediatricdental.com"],groundingSources:[],relatedTechnicalSignals:["No dedicated pediatric page for Brooklyn Heights"],summary:"Gemini does not surface your domain for pediatric queries in this area.",runHistory:Va(["not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited","not-cited"])},{id:"evidence_citypoint_children_openai",query:"pediatric dentist brooklyn heights",provider:"openai",model:"gpt-5.4",location:null,citationState:"cited",changeLabel:"First citation this month",answerSnippet:"Citypoint Dental is mentioned as offering pediatric services in Brooklyn, though specialized pediatric-only practices are also highlighted.",citedDomains:["citypointdental.com","brightkidsdental.com"],evidenceUrls:["https://citypointdental.com/family-dentistry"],competitorDomains:["brightkidsdental.com"],groundingSources:[],relatedTechnicalSignals:["Family dentistry page recently updated"],summary:"OpenAI recently started citing your family dentistry page for this query.",runHistory:Va(["not-cited","not-cited","not-cited","not-cited","not-cited","cited"])}];ef[0],9/21,8/21,4/21,ef[1],11/17,6/17,Va(["cited","cited","cited","cited","cited"]),ef[2],15/19,4/19,Va(["not-cited","not-cited","not-cited","cited"]);function vQ(e,n){return e.runs.find(i=>i.id===n)}function xQ(e,n){for(const i of e.projects){const r=i.visibilityEvidence.find(u=>u.id===n);if(r)return{project:i,evidence:r}}}function wQ(e,n,i){if(e){const r=e.visibilityEvidence.find(u=>u.id===i);if(r)return{project:e,evidence:r}}if(n)return xQ(n,i)}const kQ={regression:"negative",gain:"positive",opportunity:"caution","first-citation":"positive","provider-pickup":"positive","persistent-gap":"caution","competitor-gained":"negative","competitor-lost":"neutral","gbp-lodging-gap":"negative","gbp-listing-discrepancy":"negative","gbp-cta-gap":"caution","gbp-description-missing":"caution","gbp-metric-drop":"negative","gbp-keyword-drop":"negative"},SQ={opportunity:"write","persistent-gap":"write","competitor-gained":"write","competitor-lost":"write",regression:"investigate",gain:"monitor","first-citation":"monitor","provider-pickup":"monitor","gbp-lodging-gap":"write","gbp-listing-discrepancy":"write","gbp-cta-gap":"write","gbp-description-missing":"write","gbp-metric-drop":"investigate","gbp-keyword-drop":"investigate"},jQ={regression:"lost",gain:"emerging",opportunity:"not-cited","first-citation":"emerging","provider-pickup":"emerging","persistent-gap":"not-cited","competitor-gained":"cited","competitor-lost":"not-cited","gbp-lodging-gap":"not-cited","gbp-listing-discrepancy":"not-cited","gbp-cta-gap":"not-cited","gbp-description-missing":"not-cited","gbp-metric-drop":"lost","gbp-keyword-drop":"lost"},AQ={regression:"Regression",gain:"Gain",opportunity:"Opportunity","first-citation":"First citation","provider-pickup":"Pickup","persistent-gap":"Gap","competitor-gained":"Competitor","competitor-lost":"Competitor","gbp-lodging-gap":"Lodging gap","gbp-listing-discrepancy":"Listing gap","gbp-cta-gap":"Booking CTA","gbp-description-missing":"Description gap","gbp-metric-drop":"Metric drop","gbp-keyword-drop":"Keyword drop"};function CQ(e){return{id:e.id,tone:kQ[e.type],title:e.title,detail:e.cause?.details??e.cause?.cause??"",actionLabel:e.recommendation?.action??AQ[e.type],actionGroup:SQ[e.type],affectedPhrases:[{query:e.query,evidenceId:"",provider:e.provider,citationState:jQ[e.type]}]}}function NQ(e){return e.filter(n=>!n.dismissed).map(CQ)}function EA(e){return{id:e.id,name:e.name,displayName:e.displayName,canonicalDomain:e.canonicalDomain,ownedDomains:e.ownedDomains??[],aliases:e.aliases??[],country:e.country,language:e.language,tags:e.tags,labels:e.labels,providers:e.providers??[],providerModels:e.providerModels??{},providerDispatchModes:e.providerDispatchModes??{},measurement:e.measurement,locations:e.locations??[],defaultLocation:e.defaultLocation??null,autoExtractBacklinks:e.autoExtractBacklinks??!1,configSource:e.configSource,configRevision:e.configRevision,createdAt:e.createdAt,updatedAt:e.updatedAt}}function Nw(e){try{return new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"})}catch{return e}}function _Q(e,n){if(!e)return"Waiting";if(!n)return"Running";const i=new Date(n).getTime()-new Date(e).getTime();if(i<1e3)return"<1s";const r=Math.floor(i/1e3);if(r<60)return`${r}s`;const u=Math.floor(r/60),h=r%60;return`${u}m ${h}s`}function DA(e){switch(e){case De["answer-visibility"]:return"Answer visibility sweep";case De["gsc-sync"]:return"GSC sync";case De["inspect-sitemap"]:return"Sitemap inspection";case De["ga-sync"]:return"GA sync";case De["traffic-sync"]:return"Traffic sync";case De["bing-inspect"]:return"Bing URL inspection";case De["bing-inspect-sitemap"]:return"Bing sitemap inspection";case De["site-audit"]:return"Site audit";case De["backlink-extract"]:return"Backlink extract";case De["aeo-discover-seed"]:return"Discovery (seed phase)";case De["aeo-discover-probe"]:return"Discovery (probe phase)";case De["gbp-sync"]:return"Business Profile sync";case De["ads-sync"]:return"ChatGPT ads sync";case De["google-ads-sync"]:return"Google Ads sync";case De["gtm-sync"]:return"Tag Manager sync"}}function TQ(e){return e===gs.manual?"Manual":e===gs.scheduled?"Scheduled":e===gs["config-apply"]?"Config apply":e}function dm(e,n){return{id:e.id,projectId:e.projectId,projectName:n,kind:e.kind,kindLabel:DA(e.kind),status:e.status,trigger:e.trigger??"manual",location:e.location??null,createdAt:e.createdAt,startedAt:e.startedAt?Nw(e.startedAt):Nw(e.createdAt),duration:_Q(e.startedAt??null,e.finishedAt??null),statusDetail:e.error?zA(e.error):RQ(e),summary:EQ(e),triggerLabel:TQ(e.trigger)}}function zA(e){const n=P0(e);return n.length>200?n.slice(0,200)+"…":n}function RQ(e){switch(e.status){case Jt.queued:return"Waiting for execution slot.";case Jt.running:return"Provider queries in progress.";case Jt.completed:return"All queries checked.";case Jt.partial:return"Run completed with some queries skipped.";case Jt.failed:return e.error?zA(e.error):"Run failed.";case Jt.cancelled:return"Run was cancelled.";default:return""}}function EQ(e){const n=DA(e.kind);switch(e.status){case Jt.queued:return`${n} queued`;case Jt.running:return`${n} in progress`;case Jt.completed:return`${n} completed`;case Jt.partial:return`${n} partially completed`;case Jt.failed:return`${n} failed`;case Jt.cancelled:return`${n} cancelled`;default:return e.status}}function DQ(e,n,i,r,u){const h=[];let g=0;const b=new Set;if(i.length>0){const v=i.flatMap(R=>R.snapshots??[]),w=new Map;for(const R of v)if(R.query){const q=`${R.query}::${R.provider}::${R.location??""}`;w.set(q,R)}const k=new Set(v.map(R=>R.location??null));k.size===0&&k.add(null);const A=new Set(v.map(R=>R.provider)),T=new Set(n.flatMap(R=>Object.keys(R.providerRuns??{}))),_=[...new Set([...A,...T])].sort(),G=_.length>0?_:["gemini"];for(const R of n){if(R.runs.length===0)continue;b.add(R.query);const q=R.runs.at(-1),F=q?.transition??"not-cited";for(const ae of G){const L=[...k].filter(se=>w.has(`${R.query}::${ae}::${se??""}`)),W=(R.providerRuns?.[ae]?.length??0)>0,J=L.length>0?L:W?[null]:[];for(const se of J){const V=se??"",H=w.get(`${R.query}::${ae}::${V}`),ke=H?.model??null,et=ke?`${ae}:${ke}`:null,it=R.providerRuns?.[ae],Ke=et?R.modelRuns?.[et]:void 0,Ze=re=>re?.filter(st=>(st.location??null)===se),Ne=L.length>0?Ze(it):it,Le=L.length>0?Ze(Ke):Ke,I=(Ne?.length?Ne:null)??(Le?.length?Le:null),Y=Ne?.length?"provider":Le?.length?"model":"query",fe=I?I.at(-1).transition:F,we=I?I.at(-1).visibilityTransition??(I.at(-1).visibilityState==="visible"?"visible":"not-visible"):q?.visibilityTransition??(q?.visibilityState==="visible"?"visible":"not-visible"),ee=I?.at(-1)?.citationState,_e=I?.at(-1)?.visibilityState,Pe=H?fe==="lost"?"lost":fe==="emerging"?"emerging":H.citationState===bd.cited?"cited":"not-cited":ee===bd.cited?"cited":"not-cited",be=H?.visibilityState??(_e==="visible"?"visible":_e==="pending"?"pending":"not-visible"),le=_w(I||R.runs),ce=Tw(I||R.runs),K=zQ(R,ae),de=(I??R.runs).map(re=>({runId:re.runId,citationState:re.citationState,createdAt:re.createdAt,model:K.get(re.runId)??null,answerMentioned:re.answerMentioned,visibilityState:re.visibilityState,visibilityTransition:re.visibilityTransition,mentionState:re.mentionState,mentionTransition:re.mentionTransition})),Ee=OQ(de),Se=Y==="provider"&&Ee.length<=1?"model":Y,nt=IQ(de),Ve=H?.citedCompetitorDomains??[],vt=H?.mentionedCompetitorDomains??[],$e=[...new Set([...Ve,...vt,...H?.competitorOverlap??[]])];h.push({id:`evidence_${e}_${g++}`,query:R.query,queryClass:u?.classify(R.query)??null,provider:H?.provider??ae,model:H?.model??null,location:H?.location??se,citationState:Pe,answerMentioned:H?.answerMentioned,visibilityState:be,visibilityChangeLabel:Rw(we,ce,{positive:"visible",negative:"not visible",first:"first visibility"}),changeLabel:Rw(fe,le),answerSnippet:H?.answerText??"",citedDomains:H?.citedDomains??[],evidenceUrls:[],citedCompetitorDomains:Ve,mentionedCompetitorDomains:vt,competitorDomains:$e,recommendedCompetitors:H?.recommendedCompetitors??[],matchedTerms:H?.matchedTerms??[],relatedTechnicalSignals:[],groundingSources:H?.groundingSources??[],searchQueries:H?.searchQueries??[],summary:PQ(be,we,R.query),runHistory:de,historyScope:Se,modelsSeen:Ee,modelTransitions:nt})}}}}for(const v of r)b.has(v.query)||h.push({id:`evidence_${e}_${g++}`,query:v.query,queryClass:u?.classify(v.query)??null,provider:"",model:null,location:null,citationState:"pending",visibilityState:"pending",visibilityChangeLabel:"Awaiting first run",changeLabel:"Awaiting first run",answerSnippet:"",citedDomains:[],evidenceUrls:[],citedCompetitorDomains:[],mentionedCompetitorDomains:[],competitorDomains:[],recommendedCompetitors:[],matchedTerms:[],relatedTechnicalSignals:[],groundingSources:[],searchQueries:[],summary:`"${v.query}" has been added but no visibility run has been triggered yet.`,runHistory:[],historyScope:"query",modelsSeen:[],modelTransitions:[]});return h}function zQ(e,n){const i=new Map,r=`${n}:`;for(const[u,h]of Object.entries(e.modelRuns??{})){if(!u.startsWith(r))continue;const g=u.slice(r.length),b=g==="unknown"?null:g;for(const v of h)i.set(v.runId,b)}return i}function OQ(e){const n=new Set;for(const i of e)i.model&&n.add(i.model);return[...n]}function IQ(e){const n=[];let i=null;for(const r of e){const u=r.model??null;u!==i&&i!==null&&n.push({runId:r.runId,createdAt:r.createdAt,fromModel:i,toModel:u}),i=u}return n}function _w(e){if(e.length===0)return 0;const n=e[e.length-1].citationState;let i=0;for(let r=e.length-1;r>=0&&e[r].citationState===n;r--)i++;return i}function Tw(e){if(e.length===0)return 0;const n=e[e.length-1].visibilityState??"not-visible";let i=0;for(let r=e.length-1;r>=0&&(e[r].visibilityState??"not-visible")===n;r--)i++;return i}function Rw(e,n,i){const r={positive:i?.positive??"cited",negative:i?.negative??"not cited",first:i?.first??"first citation"};switch(e){case"new":return"First observation";case"cited":case"visible":return n<=1?`${Zl(r.positive)} in latest run`:`${Zl(r.positive)} for ${n} runs`;case"lost":return"Lost since last run";case"emerging":return Zl(r.first);case"not-cited":case"not-visible":return n<=1?`${Zl(r.negative)} in latest run`:`${Zl(r.negative)} across ${n} runs`;default:return e}}function Zl(e){return e.charAt(0).toUpperCase()+e.slice(1)}function PQ(e,n,i){switch(n){case"lost":return`Mention was lost for "${i}". Your brand no longer appeared in the latest answer.`;case"emerging":return`Your brand started appearing in AI answers for "${i}".`}switch(e){case"visible":return`Your brand or domain is mentioned in AI answers for "${i}".`;case"pending":return`"${i}" has been added but no run has been triggered yet.`;default:return`Your brand or domain was not mentioned in AI answers for "${i}".`}}function OA(e){const n=EA(e.project),i=Ez(jz(e.project)),r=DQ(n.name,e.timeline,e.latestRunDetails,e.queries,i),h=[...e.runs].sort((g,b)=>b.createdAt.localeCompare(g.createdAt)).map(g=>dm(g,e.project.displayName||e.project.name));return e.overview?qQ(n,e.overview,r,h):MQ(n,r,h)}function qQ(e,n,i,r){const u=NQ(n.topInsights);for(const h of n.attentionItems)h.id.startsWith("insight_")||u.push({id:h.id,tone:h.tone,title:h.title,detail:h.detail,actionLabel:h.actionLabel,actionGroup:"investigate",affectedPhrases:[]});return{project:e,dateRangeLabel:n.dateRangeLabel,contextLabel:n.contextLabel,mentionSummary:n.scores.mention,visibilitySummary:n.scores.visibility,mentionShareSummary:n.scores.mentionShare,queryCounts:{cited:n.queryCounts.citedQueries,total:n.queryCounts.totalQueries},gapQueries:n.scores.gapQueries,mentionGaps:n.scores.mentionGaps,indexCoverage:n.scores.indexCoverage,providerScores:n.providerScores,competitorPressure:n.scores.competitorPressure,runStatus:n.scores.runStatus,citationMovement:n.citationMovement,mentionMovement:n.mentionMovement,movementComparison:n.movementComparison,insights:u,visibilityEvidence:i,competitors:n.competitors.map(h=>({id:h.id,domain:h.domain,citationCount:h.citationCount,totalQueries:h.totalQueries,pressureLabel:h.pressureLabel,citedQueries:h.citedQueries,movement:"",notes:""})),recentRuns:r.slice(0,5),suggestedQueries:n.suggestedQueries}}function Ew(){return{projectMentionSnapshots:0,competitorMentionSnapshots:0,combinedMentionSnapshots:0,perCompetitor:[],ranking:[],snapshotsWithAnswerText:0,snapshotsTotal:0,score:null}}function MQ(e,n,i){const r={label:"",value:"No data",delta:"Loading…",tone:"neutral",description:"",tooltip:"",trend:[]};return{project:e,dateRangeLabel:"All time",contextLabel:`${e.country} / ${e.language.toUpperCase()}`,mentionSummary:{...r,label:"Mention Coverage"},visibilitySummary:{...r,label:"Citation Coverage"},mentionShareSummary:{...r,label:"Mention Share",scope:"non-brand",unavailable:!0,breakdown:Ew(),branded:Ew()},queryCounts:{cited:0,total:0},gapQueries:{...r,label:"Citation Gaps"},mentionGaps:{...r,label:"Mention Gaps"},indexCoverage:{...r,label:"Index Coverage"},providerScores:[],competitorPressure:{...r,label:"Competitor Pressure"},runStatus:{...r,label:"Run Status"},citationMovement:{gained:0,lost:0,tone:"neutral",hasPreviousRun:!1},mentionMovement:{gained:0,lost:0,tone:"neutral",hasPreviousRun:!1},movementComparison:{hasPreviousRun:!1,comparable:!1,querySetChanged:!1,previousRunAt:null,currentQueryCount:0,previousQueryCount:0,comparableQueryCount:0,addedQueryCount:0,removedQueryCount:0,addedQueries:[],removedQueries:[]},insights:[],visibilityEvidence:n,competitors:[],recentRuns:i.slice(0,5),suggestedQueries:{rows:[],totalCandidates:0,skippedAlreadyTracked:0}}}function BQ(e){const n=EA(e.project),i=[...e.runs].sort((T,_)=>_.createdAt.localeCompare(T.createdAt)),r=i.find(T=>T.kind===De["answer-visibility"])??i[0]??e.overview?.latestRun?.run??void 0,u=e.project.displayName||e.project.name,h=r?dm(r,u):LQ(e.project.id,u),g=e.overview;if(!g)return{project:n,hasMeasurement:!1,mentionScore:0,mentionDelta:"No data",mentionTone:"neutral",lastRun:h,insight:"No runs completed yet.",trend:[],competitorPressureLabel:"None"};const b=g.scores.mention,v=b.progress??0,w=g.queryCounts.mentionedQueries,k=g.queryCounts.totalQueries,A=g.providers.length;return{project:n,hasMeasurement:k>0&&b.progress!=null,mentionScore:v,mentionDelta:k>0?`${w} of ${k} queries`:"No data",mentionTone:b.tone,providerCoverage:b.providerCoverage,lastRun:h,insight:k>0?`${w} of ${k} queries mentioned across ${A} provider${A===1?"":"s"}.`:"No runs completed yet.",trend:b.trend??[],competitorPressureLabel:g.scores.competitorPressure.value}}function LQ(e,n){return{id:"none",projectId:e,projectName:n,kind:De["answer-visibility"],kindLabel:"No runs yet",status:Jt.queued,trigger:gs.manual,createdAt:"",startedAt:"",duration:"",statusDetail:"",summary:"No runs yet",triggerLabel:""}}function VQ(e,n){const i=[],r=[],u=[];for(const g of e){r.push(OA(g)),u.push(BQ(g));const b=[...g.runs].sort((v,w)=>w.createdAt.localeCompare(v.createdAt));for(const v of b)i.push(dm(v,g.project.displayName||g.project.name))}i.sort((g,b)=>b.createdAt.localeCompare(g.createdAt));const h=e.length>0;return{portfolioOverview:{projects:u,attentionItems:h?UQ(r):[{id:"attention_setup",tone:"neutral",title:"No projects yet",detail:"Create your first project using the setup wizard, CLI, or API.",actionLabel:"Open setup",href:"/setup"}],recentRuns:i.slice(0,5),systemHealth:[{id:"api",label:"API",tone:"positive",detail:"Connected",meta:"Real-time data"},{id:"provider",label:"Gemini",tone:"positive",detail:"Configured",meta:"Provider active"}],...h?{}:{emptyState:{title:"No projects yet",detail:"Canonry becomes useful after one project, a small query set, and one competitor list are in place.",ctaLabel:"Launch setup",ctaHref:"/setup"}}},projects:r,runs:i,setup:{healthChecks:[{id:"api",label:"API reachable",detail:"API is responding.",state:"ready",guidance:"Required for project creation and run history."},{id:"provider",label:"Provider configured",detail:"Gemini key is configured.",state:"ready",guidance:"Required for answer-visibility sweeps."}],projectDraft:{name:"",canonicalDomain:"",country:"US",language:"en"},queryImportState:{mode:"paste",queryCount:0,preview:[]},competitorDraft:{domains:[],notes:"Use the CLI to add competitors."},launchState:{enabled:h,ctaLabel:h?"Trigger run":"Create a project first",summary:h?"Ready to run.":"Create a project first to launch a run."}},settings:{providerStatuses:(n?.providers??[]).map(g=>({name:g.name,displayName:g.displayName,keyUrl:g.keyUrl,modelHint:g.modelHint,model:g.model,defaultModel:g.defaultModel,state:g.configured?"ready":"needs-config",detail:g.configured?"Provider is configured.":g.name.toLowerCase()==="local"?"Base URL is missing.":"API key is missing.",quota:g.quota})),google:{state:n?.google?.configured?"ready":"needs-config",detail:n?.google?.configured?"Google OAuth app credentials are configured. Project-level GSC connections can be created from the dashboard.":"Google OAuth client ID and client secret are not configured yet."},bing:{state:n?.bing?.configured?"ready":"needs-config",detail:n?.bing?.configured?"Bing Webmaster Tools API key is configured. Project-level Bing connections can be created from the dashboard.":"Bing Webmaster Tools API key is not configured yet."},selfHostNotes:["Configuration is stored in ~/.canonry/config.yaml.","The local config file is the source of truth for authentication credentials.","Google OAuth app credentials and per-domain Google tokens are stored in local config, not the database.","Database is SQLite at ~/.canonry/data.db.","API key was auto-generated during canonry init."],bootstrapNote:"Use the UI, CLI, or ~/.canonry/config.yaml to manage settings. Authentication credentials persist to local config."}}}function UQ(e){const n=[];for(const i of e){const r=i.visibilityEvidence.filter(h=>h.citationState==="lost");r.length>0&&n.push({id:`attention_${i.project.id}_lost`,tone:"negative",title:`${i.project.displayName||i.project.name} lost citations`,detail:`${r.length} quer${r.length>1?"ies":"y"} lost citation.`,actionLabel:"Open project",href:`/projects/${encodeURIComponent(i.project.name)}`});const u=i.recentRuns.filter(h=>h.status===Jt.running||h.status===Jt.queued);u.length>0&&n.push({id:`attention_${i.project.id}_active`,tone:"neutral",title:`${i.project.displayName||i.project.name} has active runs`,detail:`${u.length} run${u.length>1?"s":""} in progress.`,actionLabel:"View runs",href:"/runs"})}return n.length===0&&n.push({id:"attention_stable",tone:"positive",title:"All projects stable",detail:"No citation losses or active runs to flag."}),n}const IA=N.createContext(null);IA.Provider;function Nc(){return N.useContext(IA)}function mm(e,n={}){const r=Nc()?.dashboard??null,u=n.includeSettings??!0,h=n.includeOverviews??!0,g=n.pauseProjectPolling??!1,{isAdmin:b}=da(),v=Et({...rm({client:ne,query:{kind:"answer-visibility"}}),enabled:!r,staleTime:Rr,refetchInterval:L=>L.state.data?.some(se=>se.status==="running"||se.status==="queued")?3e3:Rr}),w=Et({...So({client:ne}),enabled:!r,refetchInterval:g?!1:L=>{const W=L.state.data,J=v.data?.some(V=>V.status==="running"||V.status==="queued");return(W?.length??0)===0||!!J?G$:K$}}),k=Et({...DG({client:ne}),enabled:!r&&u&&b}),A=w.data??[],T=v.data??[],_=aN({queries:A.map(L=>{const W=T.filter(V=>V.projectId===L.id),J=W.filter(V=>(V.status==="completed"||V.status==="partial")&&V.kind==="answer-visibility"&&V.trigger!=="probe").sort((V,H)=>H.createdAt.localeCompare(V.createdAt)),se=J.length>0?J[0].id:"no-run";return{queryKey:["project-overview-slim",L.id,se],queryFn:async()=>{const V=await Z3(L.name).catch(()=>null);return{project:L,runs:W,queries:[],competitors:[],timeline:[],latestRunDetails:[],previousRunDetails:[],gscCoverage:null,bingCoverage:null,dbInsights:null,overview:V}},enabled:!r&&h&&w.isSuccess&&v.isSuccess,staleTime:od}})}),G=!h||_.every(L=>L.isSuccess),R=N.useMemo(()=>{if(r)return r;if(!w.data||!v.data||A.length>0&&!G)return null;const L=h?_.map(W=>W.data?{...W.data,runs:T.filter(J=>J.projectId===W.data.project.id)}:null).filter(W=>W!=null):A.map((W,J)=>{const se=_[J]?.data;return{project:W,runs:T.filter(V=>V.projectId===W.id),queries:[],competitors:[],timeline:[],latestRunDetails:[],previousRunDetails:[],gscCoverage:null,bingCoverage:null,dbInsights:null,overview:se?.overview??null}});return VQ(L,k.data??null)},[r,w.data,v.data,k.data,h,G,_,A,T]),q=!r&&(w.isError||v.isError),F=!r&&!R&&!q,ae=N.useCallback(async()=>{const L=[w.refetch(),v.refetch(),...h?_.map(W=>W.refetch()):[]];u&&L.push(k.refetch()),await Promise.all(L)},[u,h,_,w.refetch,v.refetch,k.refetch]);return{dashboard:R,isLoading:F,isError:q,refetch:ae}}function $Q(e){return JSON.stringify(e.filter(n=>n.kind==="answer-visibility"&&n.trigger!=="probe"&&(n.status==="completed"||n.status==="partial")).map(n=>[n.id,n.status]).sort(([n],[i])=>n.localeCompare(i)))}async function Lf(e,n,i="active"){const r=u=>{const h=u.queryKey[0];return h?._id==="getApiV1ProjectsByNameAnalyticsCompetitors"&&h.path?.name===n};return i==="active"&&await e.cancelQueries({predicate:r}),e.invalidateQueries({predicate:r,refetchType:i})}function Une(e,n,i){const r=ca(),u=N.useRef({projectName:e,revision:n,enabled:i});N.useEffect(()=>{const h=u.current;u.current={projectName:e,revision:n,enabled:i},!(!i||!h.enabled||h.projectName!==e||h.revision===n)&&Lf(r,e)},[i,e,r,n])}const GQ=20;function KQ(e,n={}){const i=ca(),r=Nc(),u=N.useMemo(()=>!r||!e?null:r.dashboard.projects.find(J=>J.project.name===e)??null,[r,e]),h=Et({...uG({client:ne,path:{name:e??""}}),enabled:!!e&&!u,staleTime:od,refetchOnWindowFocus:"always"}),g=Et({...sA({client:ne,path:{name:e??""},query:{kind:"answer-visibility"}}),enabled:!!e,staleTime:Rr,refetchOnWindowFocus:"always",refetchInterval:J=>J.state.data?.some(H=>H.projectId===h.data?.id&&(H.status==="running"||H.status==="queued"))?3e3:Rr}),b=h.data??null,v=N.useMemo(()=>b?(g.data??[]).filter(J=>J.projectId===b.id):[],[b,g.data]),{latestRunIds:w,latestRunIdsKey:k,latestVisibilityRevision:A}=N.useMemo(()=>{const J=v.filter(H=>(H.status==="completed"||H.status==="partial")&&H.kind==="answer-visibility"&&H.trigger!=="probe").sort((H,ke)=>ke.createdAt.localeCompare(H.createdAt)),se=J[0]?.createdAt??null,V=se?J.filter(H=>H.createdAt===se).map(H=>H.id):[];return{latestRunIds:V,latestRunIdsKey:[...V].sort().join(","),latestVisibilityRevision:se?`${se}:${[...V].sort().join(",")}`:"none"}},[v]),T=!!b&&!!e&&g.isSuccess,_=Et({queryKey:["project-dashboard-full",b?.id??null,k||"none","overview"],queryFn:async()=>({project:b,overview:await Z3(e)}),enabled:T&&n.overview===!0,staleTime:od,refetchOnWindowFocus:"always"}),G=Et({queryKey:["project-dashboard-full",b?.id??null,k||"none","evidence"],queryFn:async()=>{const[J,se,V]=await Promise.all([F3(e),d$(e,void 0,GQ),Promise.all(w.map(H=>Df(H)))]);return{project:b,queries:J,timeline:se,latestRunDetails:V}},enabled:T&&n.evidence===!0,staleTime:od,refetchOnWindowFocus:"always"}),R=N.useMemo(()=>{if(!b||!g.data)return u;const J=n.evidence?G.data:void 0,se={project:b,runs:v,queries:J?.queries??[],timeline:J?.timeline??[],latestRunDetails:J?.latestRunDetails??[],overview:n.overview?_.data?.overview??null:null},V=OA(se);return u&&!(n.overview&&_.data)?{...u,project:V.project,recentRuns:g.data?V.recentRuns:u.recentRuns,visibilityEvidence:J?V.visibilityEvidence:u.visibilityEvidence}:V},[b,v,G.data,_.data,u,n.evidence,n.overview,g.data]),q=N.useCallback(async()=>{await Promise.all([h.refetch(),g.refetch(),i.invalidateQueries({queryKey:["project-dashboard-full",b?.id??null]})])},[h.refetch,g.refetch,i,b?.id]),F=h.isError||g.isError,ae=!u&&(h.isLoading||g.isLoading),L=!!e&&n.overview===!0&&!u&&!F&&_.isPending,W=!!e&&n.evidence===!0&&!u&&!F&&G.isPending;return{commandCenter:R,project:b,isLoading:ae,isError:F,overviewLoading:L,overviewError:n.overview===!0&&_.isError&&!_.data,evidenceLoading:W,evidenceError:n.evidence===!0&&G.isError&&!G.data,latestVisibilityRevision:A,competitorHistoryRevision:$Q(v),refetch:q}}const HQ=["health"];async function QQ(){const e=await R$("/health","API"),n=wr()&&e.state==="ok"?{label:"Worker",state:"disabled",detail:"Background execution is disabled in this public demo."}:e.state==="ok"?{label:"Worker",state:"ok",detail:"In-process job runner"}:{label:"Worker",state:e.state,detail:`Depends on API health check · ${e.detail}`,statusCode:e.statusCode,hint:e.hint?`Worker status is inferred from API health in this deployment mode. ${e.hint}`:"Worker status is inferred from API health in this deployment mode."};return{apiStatus:e,workerStatus:n}}function zg(e,n){return Et({queryKey:HQ,queryFn:QQ,enabled:e,refetchInterval:15e3,initialData:n})}function FQ(e){return Et({..._g({client:ne,path:{id:e??""}}),enabled:!!e,refetchInterval:n=>{const i=n.state.data?.status;return i==="running"||i==="queued"?3e3:!1}})}function Og(){const e=xs(),n=ek({strict:!1}),i=iN({select:v=>v.location.pathname}),r=n.runId??null,u=n.evidenceId??null;return{runId:r,evidenceId:u,openRun:v=>{e({to:i,from:Ln.to,search:w=>({...w,runId:v,evidenceId:void 0})})},openEvidence:v=>{e({to:i,from:Ln.to,search:w=>({...w,evidenceId:v,runId:void 0})})},closeDrawer:()=>{e({to:i,from:Ln.to,search:v=>({...v,runId:void 0,evidenceId:void 0})})}}}const ZQ={negative:"toast-card-negative",caution:"toast-card-caution",positive:"toast-card-positive",neutral:"toast-card-neutral"};function YQ(e){if(e.cta)return`${e.cta.label}: ${e.title}`}function XQ(){const e=N.useSyncExternalStore(U$,dw,dw),n=xs(),{openRun:i}=Og(),r=N.useCallback(h=>{Pf(h)},[]),u=N.useCallback(h=>{h.cta&&(h.cta.intent==="open-run-drawer"?i(h.cta.runId):n({to:"/runs"}),Pf(h.id))},[n,i]);return e.length===0?null:c.jsx("div",{className:"toast-viewport","aria-label":"Notifications",children:e.map(h=>c.jsxs("section",{role:h.tone==="negative"?"alert":"status","aria-live":h.tone==="negative"?"assertive":"polite","data-state":h.state,className:`toast-card ${ZQ[h.tone]}`,children:[c.jsxs("div",{className:"toast-copy",children:[c.jsx("p",{className:"toast-title",children:h.title}),h.detail?c.jsx("p",{className:"toast-detail",children:h.detail}):null,h.cta?c.jsx("button",{type:"button",className:"toast-action",onClick:()=>u(h),"aria-label":YQ(h),children:h.cta.label}):null]}),c.jsx("button",{type:"button",onClick:()=>r(h.id),className:"toast-dismiss","aria-label":"Dismiss",children:c.jsx(Dr,{className:"size-3.5"})})]},h.id))})}const WQ="https://github.com/Canonry/canonry",JQ="https://canonry.ai",Dw="Run it from your agent with the MCP server, API, CLI, and plugins for Claude Code and Codex.",eF=[{title:"Visibility",links:[["AI visibility","/projects/summit-roofing"],["Search engines","/projects/summit-roofing/search-console"],["Traffic & conversions","/projects/summit-roofing/conversions"],["Reports","/projects/harbor-resorts/report"]]},{title:"Portfolio",links:[["Properties & markets","/projects/harbor-resorts"],["Queries & research","/projects/harbor-resorts/queries"],["Activity","/projects/harbor-resorts/activity"]]},{title:"Website",links:[["Site health","/projects/summit-roofing/technical-aeo"],["Local presence","/projects/summit-roofing/local"],["Backlinks","/projects/summit-roofing/backlinks"]]}];function tF(){const e=N.useId();if(!wr())return null;const n=om(),i=`${e}-new-tab`,r={target:"_blank",rel:"noopener noreferrer","aria-describedby":i};return c.jsxs("aside",{className:"demo-banner","aria-label":"Public demo",children:[c.jsx("p",{className:"demo-banner-name",children:"Canonry demo"}),c.jsx("p",{className:"demo-banner-facts",children:"View only. Fictional data."}),c.jsx("p",{className:"demo-banner-agent",children:Dw}),c.jsxs("div",{className:"demo-banner-actions",children:[c.jsxs("a",{className:"demo-banner-primary",href:JQ,...r,children:["canonry.ai",c.jsx(lk,{"aria-hidden":"true",size:14})]}),c.jsxs("a",{className:"demo-banner-secondary",href:WQ,...r,children:[c.jsx(ck,{"aria-hidden":"true",size:15}),"GitHub"]}),c.jsxs("details",{onKeyDown:u=>{u.key==="Escape"&&(u.currentTarget.open=!1,u.currentTarget.querySelector("summary")?.focus())},children:[c.jsxs("summary",{children:["Explore ",c.jsx(Ed,{"aria-hidden":"true",size:14})]}),c.jsxs("div",{className:"demo-banner-panel",children:[c.jsx("p",{className:"demo-banner-panel-agent",children:Dw}),c.jsxs("nav",{className:"demo-banner-examples","aria-label":"Demo examples",children:[c.jsx("a",{href:`${n}/projects/summit-roofing`,children:"Standard business"}),c.jsx("a",{href:`${n}/projects/harbor-resorts`,children:"Property portfolio"})]}),c.jsx("nav",{className:"demo-banner-features","aria-label":"Demo feature directory",children:eF.map(({title:u,links:h})=>c.jsxs("section",{"aria-label":u,children:[c.jsx("h2",{children:u}),c.jsx("ul",{children:h.map(([g,b])=>c.jsx("li",{children:c.jsx("a",{href:`${n}${b}`,children:g})},b))})]},u))})]})]})]}),c.jsx("span",{id:i,hidden:!0,children:"Opens in a new tab"})]})}function tc(e){switch(e){case De["answer-visibility"]:return"Visibility sweep";case De["gsc-sync"]:return"GSC sync";case De["inspect-sitemap"]:return"Sitemap inspection";case De["ga-sync"]:return"GA sync";case De["traffic-sync"]:return"Traffic sync";case De["bing-inspect"]:return"Bing URL inspection";case De["bing-inspect-sitemap"]:return"Bing sitemap inspection";case De["site-audit"]:return"Technical audit";case De["backlink-extract"]:return"Backlink extract";case De["aeo-discover-seed"]:return"Discovery (seed phase)";case De["aeo-discover-probe"]:return"Discovery (probe phase)";case De["gbp-sync"]:return"Business Profile sync";case De["ads-sync"]:return"ChatGPT ads sync";case De["google-ads-sync"]:return"Google Ads sync";case De["gtm-sync"]:return"Tag Manager sync"}}function zw(e){return e==="running"?"Running":e==="queued"?"Queued":e==="partial"?"Partial":e==="completed"?"Completed":e==="failed"?"Failed":e==="cancelled"?"Cancelled":"Starting"}function nF(){const e=N.useSyncExternalStore(uA,zi,zi),n=N.useMemo(()=>Object.values(e.runs),[e.runs]),i=n.length>0,r=Et({...rm({client:ne}),enabled:i,staleTime:Rr}),u=N.useMemo(()=>new Map((r.data??[]).map(b=>[b.id,b.status])),[r.data]);if(!i)return null;const h=n.map(b=>({...b,status:u.get(b.runId)??b.lastAnnouncedStatus})),g=h.length===1?tc(h[0].kind):`${h.length} active tasks`;return c.jsxs("div",{className:"task-center",children:[c.jsxs("p",{className:"sr-only",role:"status","aria-live":"polite",children:[h.length," active ",h.length===1?"task":"tasks","."," ",h.map(b=>`${tc(b.kind)} ${zw(b.status)}`).join(". "),"."]}),c.jsxs("details",{className:"task-center-details",children:[c.jsxs("summary",{className:"task-center-trigger",children:[c.jsx(kr,{className:"size-3.5 shrink-0 motion-safe:animate-spin","aria-hidden":"true"}),c.jsx("span",{className:"task-center-summary",children:g}),c.jsx("span",{className:"task-center-count","aria-hidden":"true",children:h.length}),c.jsx(Ed,{className:"task-center-chevron size-3.5 shrink-0","aria-hidden":"true"})]}),c.jsxs("div",{className:"task-center-panel",children:[c.jsxs("div",{className:"task-center-heading",children:[c.jsx("span",{children:"Active tasks"}),c.jsx("span",{className:"tabular-nums text-faint",children:h.length})]}),c.jsx("ul",{className:"task-center-list",children:h.map(b=>c.jsxs("li",{className:"task-center-item",children:[c.jsxs("div",{className:"min-w-0",children:[c.jsx("p",{className:"truncate text-[13px] font-medium text-strong",children:tc(b.kind)}),c.jsx("p",{className:"mt-0.5 truncate text-xs text-muted",children:b.projectLabel??b.projectId})]}),c.jsx(On,{tone:b.status==="failed"?"negative":b.status==="partial"?"caution":"neutral",children:zw(b.status)})]},b.runId))}),c.jsx(Xe,{to:"/runs",className:"task-center-footer-link",children:"View all runs"})]})]})]})}const Ig={queryClass:"all"},aF=["all","non-brand","branded"];function PA(e){return typeof e=="string"&&aF.includes(e)}function iF(e){const n=PA(e.class)?e.class:Ig.queryClass,i=e.scope;if(typeof i!="string"||i==="all"||i.length===0)return{scope:"all",queryClass:n};const r=i.startsWith("group:")?i.slice(6):"";return r?{scope:"group",groupKey:r,queryClass:n}:{scope:"all",queryClass:n}}function $ne(e,n){return n===null||e===null?!1:e!==n}function Gne(e){return{scope:e.scope==="group"&&e.groupKey?`group:${e.groupKey}`:void 0,class:e.queryClass===Ig.queryClass?void 0:e.queryClass}}function sF(e,n){if(!(typeof e!="string"||e.length>16384||!n))try{const i=JSON.parse(e);if(typeof i!="object"||i===null||Array.isArray(i))return;const r=i,u=g=>typeof g=="string"&&g.trim().length>0,h=g=>g===null||u(g);return r.queryKey!==n||!u(r.provider)||r.queryClass!=="branded"&&r.queryClass!=="non-brand"&&r.queryClass!=="unknown"||!h(r.model)||!h(r.location)||!h(r.runId)||r.revision!==null&&(typeof r.revision!="number"||!Number.isSafeInteger(r.revision)||r.revision<=0)?void 0:{queryKey:n,queryClass:r.queryClass,provider:r.provider,model:r.model,location:r.location,runId:r.runId,revision:r.revision}}catch{return}}function oF(e){const n=w=>typeof e[w]=="string"&&e[w]!==""?e[w]:void 0,i=iF({scope:n("scope"),class:n("class")}),r=n("measurementScope")??(i.scope==="group"?"group":"project"),u=n("measurementScopeKey")??(n("measurementScope")?void 0:i.groupKey),h=n("queryClass")??n("class"),g={measurementScope:u&&(r==="group"||r==="market"||r==="property")?r:"project",queryClass:h==="unknown"||PA(h)?h:Ig.queryClass};g.measurementScope!=="project"&&(g.measurementScopeKey=u);for(const[w,k]of[["measurementMarketKey","marketKey"],["measurementProvider","provider"],["measurementModel","model"],["measurementLocation","location"],["measurementFrom","from"],["measurementTo","to"],["measurementRunId","measurementRunId"],["measurementQueryKey","queryKey"]]){const A=n(w);A!==void 0&&(g[k]=A)}const b=Number(e.measurementRevision);Number.isSafeInteger(b)&&b>0&&(g.revision=b);const v=sF(e.measurementAnswer,g.queryKey);return v&&(g.answer=v),g}function rF(e){return{scope:e.measurementScope,scopeKey:e.measurementScopeKey,marketKey:e.marketKey,queryClass:e.queryClass,provider:e.provider,model:e.model,location:e.location,from:e.from,to:e.to,revision:e.revision,runId:e.measurementRunId,limit:25}}function Kne(e,n){const i={...e,...n};return["measurementScope","measurementScopeKey","measurementMarketKey","queryClass","measurementProvider","measurementModel","measurementLocation","measurementFrom","measurementTo","measurementRevision","measurementRunId"].some(r=>r in n)?(i.measurementQueryKey=n.measurementQueryKey,i.measurementAnswer=n.measurementAnswer):"measurementQueryKey"in n&&!("measurementAnswer"in n)&&(i.measurementAnswer=void 0),"measurementScope"in n&&(i.scope=void 0,"measurementMarketKey"in n||(i.measurementMarketKey=void 0),i.measurementQueryKey=void 0,n.measurementScope==="project"&&(i.measurementScopeKey=void 0)),"queryClass"in n&&(i.class=void 0),i}function Hne(e){return{...e,onboarding:void 0,manageQueries:void 0,siteHealthRunId:void 0,siteScan:void 0,setupProject:void 0}}function lF(e,n){const i=/\/properties\/([^/]+)/.exec(e),r=oF(n);if(i)return{view:"property",selection:gd.parse({scope:"property",scopeKey:decodeURIComponent(i[1]),queryClass:r.queryClass,limit:10})};if(e.endsWith("/technical-aeo"))return{view:"site-health"};if(e.endsWith("/queries")&&n.queryWorkspace==="research")return{view:"project"};const u=/^\/projects\/[^/]+\/?$/.test(e);if(u||e.endsWith("/queries")){const h=gd.safeParse(rF(e.endsWith("/queries")?{measurementScope:r.measurementScope,measurementScopeKey:r.measurementScopeKey,queryClass:r.queryClass}:r));return{view:u?"visibility":"queries",...h.success?{selection:h.data}:{unavailableReason:"The current measurement filters are invalid. Correct them before asking Aero about this view."}}}return{view:"project"}}function cF(e,n={}){const{threshold:i=80}=n,r=N.useRef(null),u=N.useRef({scrollHeight:0,wasAtEnd:!0});function h(v){return v.scrollHeight-v.scrollTop-v.clientHeight}function g(){const v=r.current;return v?h(v)<=i:!0}function b(){const v=r.current;v&&(v.scrollTop=v.scrollHeight,u.current.wasAtEnd=!0,u.current.scrollHeight=v.scrollHeight)}return N.useEffect(()=>{const v=r.current;if(!v)return;const w=()=>{u.current.wasAtEnd=h(v)<=i};return v.addEventListener("scroll",w,{passive:!0}),()=>v.removeEventListener("scroll",w)},[i]),N.useLayoutEffect(()=>{const v=r.current;if(!v)return;const w=v.scrollHeight;w>u.current.scrollHeight&&u.current.wasAtEnd&&(v.scrollTop=w),u.current.scrollHeight=w},e),N.useEffect(()=>{const v=r.current;if(!v||typeof ResizeObserver>"u")return;const w=new ResizeObserver(()=>{const k=v.scrollHeight;k>u.current.scrollHeight&&u.current.wasAtEnd&&(v.scrollTop=k),u.current.scrollHeight=k});return w.observe(v),v.firstElementChild&&w.observe(v.firstElementChild),()=>w.disconnect()},[]),{ref:r,scrollToEnd:b,isAtEnd:g}}const Vf="Sweeps are run by your Canonry team",uF="Scans are run by your Canonry team",Ow="Next sweep unavailable",dF="Sweep running…",mF="Next sweep:";function pF(e,n){try{return new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",timeZone:n??"UTC"}).format(new Date(e))}catch{return null}}function hF({projectName:e,kind:n=De["answer-visibility"],running:i=!1,loadSchedule:r=!0}){const u=n===De["site-audit"],h=Et({...OG({client:ne,path:{name:e},query:{kind:n}}),enabled:r&&!!e,retry:!1,refetchInterval:6e4}),g=h.isError?void 0:h.data,b=g?.enabled&&g.nextRunAt?new Date(g.nextRunAt):null,v=b&&Number.isFinite(b.getTime())?u?b.toLocaleString("en-GB",{weekday:"long",day:"numeric",month:"short",hour:"2-digit",minute:"2-digit",timeZone:"UTC",hourCycle:"h23"}):pF(b.toISOString(),g?.timezone):null,k=(h.error instanceof gn?h.error.code:h.error?.error?.code)==="NOT_FOUND",A=!v||k||!g?.enabled;return c.jsx("p",{className:"text-sm text-secondary",role:"status",children:u?c.jsxs(c.Fragment,{children:[i&&c.jsx("span",{className:"text-neutral",children:"Scan running… · "}),v&&b?c.jsxs(c.Fragment,{children:["Next scan ",c.jsxs("time",{dateTime:b.toISOString(),children:[v," UTC"]})," · managed by your Canonry team"]}):uF]}):i?dF:A?Ow:v&&b?c.jsxs(c.Fragment,{children:[mF," ",c.jsx("time",{dateTime:b.toISOString(),children:v})]}):Ow})}const fF=300,gF=400,yF=900,bF=32,Iw=28;let vF=0;function xF(){return typeof window>"u"||typeof window.matchMedia!="function"?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches}function Uf(){return new DOMException("Preview stopped","AbortError")}function wF(e,n){return n?.aborted?Promise.reject(Uf()):new Promise((i,r)=>{const u=()=>{clearTimeout(h),r(Uf())},h=setTimeout(()=>{n?.removeEventListener("abort",u),i()},e);n?.addEventListener("abort",u,{once:!0})})}function kF(e){const n=e.match(/\S+\s*|\s+/g)??[];if(n.length<2)return[];const i=Math.ceil(n.length/bF),r=[];for(let u=i;u<n.length;u+=i)r.push(n.slice(0,u).join(""));return r}function SF(e){return typeof e=="string"?e:JSON.stringify(e??null)}async function jF({starter:e,signal:n,onEvent:i,reducedMotion:r=!1}){const u=async b=>{if(n?.aborted)throw Uf();r||await wF(b,n)},h=Date.now(),g=++vF;await u(fF);for(const[b,v]of e.steps.entries()){const{name:w,label:k,arguments:A,result:T,durationMs:_}=v.tool,G=`preview-${e.id}-${g}-${b}`,R={role:"assistant",timestamp:Date.now(),stopReason:"toolUse",content:[...v.text?[{type:"text",text:v.text}]:[],{type:"toolCall",id:G,name:w,arguments:A}]};i({type:"message_end",message:R}),i({type:"tool_execution_start",toolCallId:G,toolName:w,label:k,args:A}),await u(Math.min(yF,Math.max(gF,_))),i({type:"tool_execution_end",toolCallId:G,toolName:w,result:T,isError:!1});const q={role:"toolResult",toolCallId:G,timestamp:Date.now(),isError:!1,aeroToolLabel:k,aeroDurationMs:_,content:[{type:"text",text:SF(T)}]};i({type:"message_end",message:q})}if(!r){for(const b of kF(e.answer))await u(Iw),i({type:"message_update",message:{role:"assistant",content:[{type:"text",text:b}]},assistantMessageEvent:{}});await u(Iw)}i({type:"message_end",message:{role:"assistant",timestamp:Date.now(),stopReason:"stop",content:[{type:"text",text:e.answer}]}}),i({type:"aero_turn_status",status:{reason:"completed",toolCalls:e.steps.length,modelCalls:e.steps.length+1,durationMs:Date.now()-h}})}async function pm(e){try{return await e.json()}catch{return{}}}function AF(){return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?window.__CANONRY_CONFIG__.basePath.replace(/\/$/,"")+"/api/v1":"/api/v1"}const hm=AF();function fm(e){e===401&&Sg()}async function tf(e){const n=await fetch(`${hm}/projects/${encodeURIComponent(e)}/agent/transcript`,{credentials:"include"});if(!n.ok){fm(n.status);const i=await pm(n);throw new gn(i.error?.message??`transcript fetch failed: ${n.status}`,n.status,i.error?.code)}return await n.json()}async function CF(e){const n=await fetch(`${hm}/projects/${encodeURIComponent(e)}/agent/preview`,{credentials:"include"});if(!n.ok){fm(n.status);const i=await pm(n);throw new gn(i.error?.message??`preview fetch failed: ${n.status}`,n.status,i.error?.code)}return await n.json()}async function NF(e){const n=await fetch(`${hm}/projects/${encodeURIComponent(e)}/agent/transcript`,{method:"DELETE",credentials:"include"});if(!n.ok){fm(n.status);const i=await pm(n);throw new gn(i.error?.message??`reset failed: ${n.status}`,n.status,i.error?.code)}}async function _F({project:e,prompt:n,conversationId:i,provider:r,modelId:u,scope:h,profile:g,context:b,limits:v,signal:w,onEvent:k}){const A={prompt:n};i!==void 0&&(A.conversationId=i),r&&(A.provider=r),u&&(A.modelId=u),h&&(A.scope=h),g&&(A.profile=g),b&&(A.context=b),v&&(A.limits=v);const T=await fetch(`${hm}/projects/${encodeURIComponent(e)}/agent/prompt`,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify(A),signal:w});if(!T.ok||!T.body){fm(T.status);const ae=await pm(T);throw new gn(ae.error?.message??`prompt failed: ${T.status}`,T.status,ae.error?.code)}let _=!1;const G=T.body.getReader(),R=new TextDecoder;let q="";const F=()=>{G.cancel().catch(()=>{})};w?.addEventListener("abort",F,{once:!0}),w?.aborted&&F();try{for(;;){const{value:ae,done:L}=await G.read();if(L)break;q+=R.decode(ae,{stream:!0});let W=q.indexOf(`
59
-
60
- `);for(;W!==-1;){const J=q.slice(0,W);q=q.slice(W+2);for(const se of J.split(`
61
- `)){if(!se.startsWith("data:"))continue;const V=se.slice(5).trim();if(!V)continue;let H;try{H=JSON.parse(V)}catch{continue}H.type==="stream_close"&&(_=!0),k(H)}W=q.indexOf(`
62
-
63
- `)}}if(w?.aborted)throw new DOMException("Turn stopped","AbortError");if(!_)throw new Error("Connection ended before Aero finished. Review the partial answer before retrying.")}finally{w?.removeEventListener("abort",F);try{G.releaseLock()}catch{}}}function rd(e){return!e||e.role!=="assistant"?"":e.content.filter(n=>n.type==="text").map(n=>n.text).join("")}const $f=[{id:"status",label:"Status",prompt:"Give me a quick status: the latest sweep, which engines answered, and anything that needs attention."},{id:"changes",label:"What changed",prompt:"Compare the latest complete sweep with the one before it. Lead with mentions, then citations. Keep branded and non-brand queries separate if the project splits them, and say which changes are bigger than normal run-to-run noise."},{id:"gaps",label:"Biggest gaps",prompt:"Which tracked queries does no engine mention us on, and who gets named instead? Group them by topic or market."},{id:"insights",label:"Top insights",prompt:"Walk me through the 3 most severe active insights and what to do about each."}],TF="https://canonry.ai",RF="This demo plays sample answers only. Pick a starting point, or type / to choose one.",EF="Stopped. The sample answer so far is kept.";function Pw(e){return{queryKey:["aero-preview",e],queryFn:()=>CF(e),staleTime:1/0,gcTime:1/0}}const qw=[{command:"/status",label:"Status",prompt:"Give me a quick status: the latest sweep, which engines answered, and anything that needs attention."},{command:"/changes",label:"What changed",prompt:"Compare the latest complete sweep with the one before it. Lead with mentions, then citations. Keep branded and non-brand queries separate if the project splits them, and say which changes are bigger than normal run-to-run noise."},{command:"/gaps",label:"Biggest gaps",prompt:"Which tracked queries does no engine mention us on, and who gets named instead? Group them by topic or market."},{command:"/insights",label:"Top insights",prompt:"Walk me through the 3 most severe active insights and what to do about each."},{command:"/last-run",label:"Last run",prompt:"Summarize the latest run for this project: which engines answered, what moved in mentions and citations, and anything that failed."},{command:"/run-sweep",label:"Run sweep now",prompt:"Run a new answer-visibility sweep for this project now and tell me when it lands."},{command:"/queries",label:"Queries",prompt:"List the tracked queries for this project and flag any that are obvious duplicates or underperformers."},{command:"/competitors",label:"Competitors",prompt:"Which competitors do engines name most often on queries where we are not named, and on which engines?"},{command:"/new",label:"New conversation (save current)",action:"new"}],Ju=e=>`canonry:aero:provider:${e}`,DF=e=>`canonry:aero:scope:${e}`;function Mw(e){if(typeof window>"u")return null;try{return window.localStorage.getItem(e)}catch{return null}}function zF(e,n){if(!(typeof window>"u"))try{window.localStorage.setItem(e,n)}catch{}}function Bw(e){if(!(typeof window>"u"))try{window.localStorage.removeItem(e)}catch{}}function OF({projectName:e,context:n,preview:i=wg()}){const r=oo(),{canWrite:u,account:h}=da(),g=ca(),b=h?.role==="viewer",[v,w]=N.useState(!1),[k,A]=N.useState(!1),[T,_]=N.useState([]),[G,R]=N.useState(void 0),q=N.useRef(!1),[F,ae]=N.useState(!1),[L,W]=N.useState(!1),[J,se]=N.useState(null),[V,H]=N.useState(!1),[ke,et]=N.useState(!1),[it,Ke]=N.useState(null),Ze=N.useRef(!1),[Ne,Le]=N.useState(""),[I,Y]=N.useState(!1),[fe,we]=N.useState([]),[ee,_e]=N.useState(""),[Pe,be]=N.useState(null),[le,ce]=N.useState(null),[K,de]=N.useState(null),Ee=N.useRef(!0),[Se,nt]=N.useState(()=>Mw(Ju(e))??null),Ve=r||b||i?null:Se,[vt]=N.useState(()=>Mw(DF(e))==="all"?"all":"read-only"),$e=r||b||i?"read-only":vt,re=N.useRef(null),st=N.useRef(null),Ut=N.useRef(null),_n=N.useRef(null),{ref:pa}=cF([T,ee,fe]),qe=N.useRef(null);N.useLayoutEffect(()=>{const oe=qe.current;if(!oe)return;oe.style.height="auto";const ze=k?qF:PF;oe.scrollHeight>0&&(oe.style.height=`${Math.min(oe.scrollHeight,ze)}px`)},[Ne,k,v]);const[lt,$t]=N.useState(0),Gt=N.useMemo(()=>{const oe=Ne.trimStart();if(!oe.startsWith("/"))return[];if(/\s/.test(oe))return[];const ze=oe.toLowerCase();return qw.filter(Qe=>(!(r||b)||Qe.command!=="/run-sweep")&&(!b||Qe.action!=="new")&&(!i||$f.some(Kt=>Kt.prompt===Qe.prompt))&&(Qe.command.startsWith(ze)||Qe.label.toLowerCase().includes(ze.slice(1))))},[Ne,r,b,i]);N.useEffect(()=>{$t(oe=>Gt.length===0?0:Math.min(oe,Gt.length-1))},[Gt.length]);const Tn=Et({...QK({client:ne,path:{name:e}}),enabled:!b&&!i,staleTime:6e4}),Pt=N.useMemo(()=>{const oe=Tn.data?.providers??[];if(Ve){const Qe=oe.find(Kt=>Kt.id===Ve&&Kt.configured);if(Qe)return Qe}const ze=Tn.data?.defaultProvider;return ze?oe.find(Qe=>Qe.id===ze)??null:null},[Ve,Tn.data]),oi=b||i||Pt!==null;Et({...Pw(e),enabled:i&&v}),N.useEffect(()=>{if(!Tn.data||!Ve)return;Tn.data.providers.find(ze=>ze.id===Ve&&ze.configured)||(nt(null),Bw(Ju(e)))},[Tn.data,Ve,e]);const Ts=N.useCallback(oe=>{nt(oe),oe?zF(Ju(e),oe):Bw(Ju(e))},[e]);N.useEffect(()=>{if(!v)return;const oe=ze=>{ze.key==="Escape"&&(L?W(!1):k?A(!1):w(!1))};return window.addEventListener("keydown",oe),()=>window.removeEventListener("keydown",oe)},[v,k,L]),N.useEffect(()=>{if(!v||!oi||i)return;let oe=!1;be(null);const ze=()=>{oe||I||Ze.current||tf(e).then(at=>{oe||Ze.current||(et(at.isStreaming??!1),R(at.conversationId??null),!oe&&!at.isStreaming&&(st.current===null||at.updatedAt&&at.updatedAt!==st.current.previous)&&(_(at.messages),re.current=at.updatedAt,st.current=null))}).catch(at=>{oe||be(hr(at))})};ze();const Kt=window.setInterval(ze,15e3);return()=>{oe=!0,window.clearInterval(Kt)}},[v,e,I,oi,V,i]),N.useEffect(()=>(Ee.current=!0,()=>{Ee.current=!1,_n.current?.abort()}),[e]);async function Un(oe,ze=n){const Qe=oe.trim();if(!Qe||L||I||V||Ze.current||ke||!oi)return;if(i){await ri(Qe);return}if(r&&/^\/run-sweep(?:\s|$)/i.test(Qe)){be(Vf);return}be(null),ce(null),de({prompt:Qe,context:ze}),Le(""),Y(!0),_e(""),Ut.current=null,we([]),st.current={previous:re.current};const Kt={role:"user",content:Qe,timestamp:Date.now(),aeroContext:ze};_(We=>[...We,Kt]);const at=new AbortController;_n.current=at;try{await _F({project:e,prompt:Qe,conversationId:G,provider:Ve??void 0,scope:$e,context:ze,signal:at.signal,onEvent:Rs});const We=await tf(e);Ee.current&&!We.isStreaming&&(R(We.conversationId??null),_(We.messages),re.current=We.updatedAt,st.current=null)}catch(We){if(!Ee.current)return;b&&(st.current=null);const Zt=Ut.current;Zt&&rd(Zt).trim()&&_(Ha=>[...Ha,Zt]),at.signal.aborted?ce("Stopped. Partial response preserved. An action already dispatched may still finish."):be(hr(We))}finally{Ee.current&&(Y(!1),_e(""),we(We=>We.map(Zt=>Zt.endedAt===void 0?{...Zt,interrupted:!0}:Zt))),_n.current=null}}async function ri(oe){const ze=qw.find(at=>at.command===oe.toLowerCase())?.prompt??oe,Qe=$f.find(at=>at.prompt===ze)?.id;if(!Qe){be(null),de(null),ce(RF);return}be(null),ce(null),de({prompt:ze}),Le(""),Y(!0),_e(""),Ut.current=null,we([]),_(at=>[...at,{role:"user",content:ze,timestamp:Date.now()}]);const Kt=new AbortController;_n.current=Kt;try{const at=await g.ensureQueryData(Pw(e));if(Kt.signal.aborted)throw new DOMException("Preview stopped","AbortError");const We=at.starters.find(Zt=>Zt.id===Qe);if(!We)throw new Error("This demo has no sample answer for that starting point.");await jF({starter:We,signal:Kt.signal,onEvent:Rs,reducedMotion:xF()})}catch(at){if(!Ee.current)return;const We=Ut.current;We&&rd(We).trim()&&_(Zt=>[...Zt,We]),Kt.signal.aborted?ce(EF):be(hr(at))}finally{Ee.current&&(Y(!1),_e(""),we(at=>at.map(We=>We.endedAt===void 0?{...We,interrupted:!0}:We))),_n.current=null}}function Rs(oe){if(Ee.current)switch(oe.type){case"message_update":oe.message.role==="assistant"&&(Ut.current=oe.message),_e(rd(oe.message));break;case"message_end":if(oe.message.role!=="user"){const ze=oe.message;_(Qe=>[...Qe,ze])}oe.message.role==="assistant"&&(Ut.current=null,_e(""),oe.message.errorMessage&&be(oe.message.errorMessage));break;case"aero_turn_status":oe.status?.reason==="tool-limit"?ce("Tool-call limit reached. Partial response preserved."):oe.status?.reason==="time-limit"?ce("Time limit reached. Partial response preserved."):oe.status?.reason==="completed"&&de(null);break;case"tool_execution_start":we(ze=>[...ze,{id:oe.toolCallId,name:oe.toolName,label:oe.label,args:oe.args,startedAt:Date.now()}]);break;case"tool_execution_end":we(ze=>ze.map(Qe=>Qe.id===oe.toolCallId?{...Qe,endedAt:Date.now(),isError:oe.isError,result:oe.result}:Qe));break;case"error":be(oe.message);break}}async function Ii(oe,ze=!1){if(!(I||ke||Ze.current)){Ze.current=!0,H(!0),be(null);try{await oe();const Qe=await tf(e);if(!Ee.current)return;st.current=null,re.current=Qe.updatedAt,R(Qe.conversationId??null),_(Qe.messages),we([]),_e(""),ce(null),de(null),Ke(null),W(ze),se(ze?await cw(e):null),qe.current?.focus()}catch(Qe){Ee.current&&be(hr(Qe))}finally{Ze.current=!1,Ee.current&&H(!1)}}}async function Pi(){if(i){if(I)return;_([]),we([]),_e(""),be(null),ce(null),de(null),qe.current?.focus();return}await Ii(()=>b?NF(e):E$(e,crypto.randomUUID()))}async function Es(oe=!1){if(!(Ze.current||q.current)){q.current=!0,ae(!0),W(!0),be(null);try{const ze=await cw(e,{offset:oe?J?.nextOffset??0:0});Ee.current&&se(Qe=>oe&&Qe?{...ze,conversations:[...Qe.conversations,...ze.conversations]}:ze)}catch(ze){Ee.current&&be(hr(ze))}finally{q.current=!1,Ee.current&&ae(!1)}}}const mn=T.length===0,kt=!(b||i);if(kt&&Tn.isPending)return null;if(kt&&Tn.isError)return c.jsx("div",{className:"pointer-events-none fixed inset-x-0 bottom-0 z-40 flex justify-center p-3",children:c.jsxs("div",{role:"status",className:"flex w-full max-w-3xl flex-wrap items-center gap-x-2 gap-y-1 rounded-lg border border-base bg-bg/95 px-4 py-2 text-sm shadow-lg",children:[c.jsx(Mu,{className:"h-4 w-4 text-muted","aria-hidden":"true"}),c.jsx("span",{className:"font-medium text-strong",children:"Aero could not check provider availability."}),c.jsx(me,{variant:"outline",size:"sm",className:"pointer-events-auto ml-auto",onClick:()=>{Tn.refetch()},children:"Try again"})]})});const pn=Pt&&!Pt.configured?Pt:null;if(kt&&(!Pt||pn))return c.jsx("div",{className:"pointer-events-none fixed inset-x-0 bottom-0 z-40 flex justify-center p-3",children:c.jsxs("div",{role:"status",className:"flex w-full max-w-3xl flex-wrap items-center gap-x-2 gap-y-1 rounded-lg border border-base bg-bg/95 px-4 py-2 text-sm shadow-lg",children:[c.jsx(Mu,{className:"h-4 w-4 text-muted","aria-hidden":"true"}),c.jsxs("span",{className:"flex items-center gap-1.5 font-medium text-strong",children:[pn?`Aero is set to ${pn.label.replace(/\s+\(.+\)$/,"")}, which has no API key.`:"Aero needs an answer-engine provider.",c.jsx(ro,{text:pn?`Set ${qA(pn.id)} on the server, or providers.${pn.id}.apiKey in its config.yaml.`:"Aero is the built-in AEO analyst. It reads your Canonry data with you once a provider is connected."})]}),pn?null:u?c.jsx(me,{asChild:!0,variant:"outline",size:"sm",className:"pointer-events-auto ml-auto",children:c.jsx(Xe,{to:"/settings",children:"Open Settings"})}):c.jsx("span",{className:"ml-auto text-secondary",children:"Ask an administrator to configure one."})]})});const xn=v&&k?"pointer-events-auto fixed inset-0 z-40 flex items-stretch justify-center bg-bg/70 p-4 sm:p-8 backdrop-blur-sm":"pointer-events-none fixed inset-x-0 bottom-0 z-40 flex justify-center p-3",Ds=k?"pointer-events-auto flex h-full w-full max-w-5xl flex-col overflow-hidden rounded-2xl border border-mono-800/80 bg-bg/95 shadow-2xl":"pointer-events-auto w-full max-w-3xl",ha=k?"flex-1 overflow-y-auto px-6 py-5 text-sm text-strong":"max-h-[40vh] min-h-[120px] overflow-y-auto px-4 py-3 text-sm text-strong";return c.jsx("div",{className:xn,onClick:oe=>{k&&oe.target===oe.currentTarget&&A(!1)},children:c.jsx("div",{className:Ds,children:v?c.jsxs("div",{"data-aero-panel":!0,className:k?"flex h-full flex-col":"flex flex-col overflow-hidden rounded-2xl border border-mono-800/80 bg-bg/95 shadow-xl backdrop-blur",children:[c.jsxs("div",{className:"flex items-center justify-between gap-2 border-b border-mono-800/70 px-4 py-2.5",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx(Mu,{className:"h-4 w-4 text-positive-400","aria-hidden":"true"}),c.jsx("span",{className:"text-sm font-medium text-heading",children:"Aero"}),c.jsx("span",{className:"text-[10px] uppercase tracking-wider text-muted",children:I||ke?"working…":e})]}),c.jsxs("div",{className:"flex items-center gap-1",children:[!r&&!b&&!i&&c.jsx(IF,{providers:Tn.data?.providers??[],active:Pt,override:Ve,onPick:Ts,disabled:I}),c.jsx("button",{type:"button",onClick:()=>A(oe=>!oe),className:"rounded-md p-1.5 text-muted transition hover:bg-surface-inset hover:text-strong","aria-label":k?"Collapse":"Expand",title:k?"Collapse":"Expand",children:k?c.jsx(uN,{className:"h-3.5 w-3.5","aria-hidden":"true"}):c.jsx(dN,{className:"h-3.5 w-3.5","aria-hidden":"true"})}),c.jsx("button",{type:"button",onClick:()=>{A(!1),w(!1)},className:"rounded-md p-1.5 text-muted transition hover:bg-surface-inset hover:text-strong","aria-label":"Close Aero",children:c.jsx(Dr,{className:"h-4 w-4","aria-hidden":"true"})})]})]}),c.jsxs("div",{className:"flex flex-wrap items-center gap-2 border-b border-subtle px-4 py-2",children:[c.jsxs(me,{variant:"outline",size:"sm",disabled:I||ke||V,onClick:cn(Pi),title:b||i?"Clear this conversation and start fresh.":"Save this conversation and start fresh. Shared project notes are kept.",children:[c.jsx(of,{className:"h-3.5 w-3.5","aria-hidden":"true"})," New conversation"]}),!b&&!i&&c.jsxs(me,{variant:"ghost",size:"sm","aria-expanded":L,"aria-controls":"aero-history",disabled:V,onClick:()=>{L?W(!1):Es()},children:[c.jsx(uk,{className:"h-3.5 w-3.5","aria-hidden":"true"})," History"]})]}),L?c.jsxs("div",{id:"aero-history",className:ha,"aria-label":"Conversation history",children:[c.jsxs("h3",{className:"mb-2 text-sm font-medium text-heading",children:["Conversations in ",e]}),J?J.conversations.length===0?c.jsx("p",{className:"text-sm text-secondary",children:"No saved conversations yet. Your conversations will appear here."}):c.jsx("ul",{className:"divide-y divide-default",children:J.conversations.map(oe=>c.jsxs("li",{className:"py-2",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsxs("button",{className:"min-w-0 flex-1 rounded-md px-2 py-1 text-left hover:bg-surface-hover focus-visible:ring-2 focus-visible:ring-positive-500",disabled:I||ke||V,onClick:()=>{oe.active?W(!1):Ii(()=>D$(e,oe.id))},children:[c.jsx("span",{className:"block truncate text-sm text-heading",children:oe.title}),c.jsxs("span",{className:"text-xs text-secondary",children:[oe.active?"Current · ":"",new Date(oe.updatedAt).toLocaleString()]})]}),c.jsx(me,{variant:"ghost",size:"sm",disabled:I||ke||V,"aria-label":`Delete conversation: ${oe.title}`,onClick:()=>Ke(oe.id),children:"Delete"})]}),it===oe.id&&c.jsxs("div",{role:"group","aria-label":"Confirm conversation deletion",className:"mt-2 rounded-md border border-default p-3 text-sm text-secondary",children:[c.jsx("p",{children:"Delete this conversation permanently? Shared project notes will be kept."}),c.jsxs("div",{className:"mt-2 flex gap-2",children:[c.jsx(me,{variant:"destructive",size:"sm",disabled:V,onClick:()=>{Ii(async()=>{await z$(e,oe.id)},!0)},children:"Delete conversation"}),c.jsx(me,{variant:"ghost",size:"sm",disabled:V,onClick:()=>Ke(null),children:"Cancel"})]})]})]},oe.id))}):c.jsx("p",{className:"text-sm text-secondary",children:F?"Loading history…":"History could not be loaded. Close and reopen History to retry."}),J?.nextOffset!=null&&c.jsx(me,{variant:"ghost",size:"sm",disabled:F,onClick:()=>{Es(!0)},children:F?"Loading…":"Load more"})]}):c.jsxs("div",{ref:pa,className:ha,children:[mn&&!I&&c.jsxs("div",{className:"flex flex-col gap-3 py-2",children:[c.jsx("p",{className:"text-sm text-secondary",children:i?c.jsxs(c.Fragment,{children:["See how Aero answers about ",c.jsx("span",{className:"text-strong",children:e}),". Choose a starting point."]}):c.jsxs(c.Fragment,{children:["Ask about ",c.jsx("span",{className:"text-strong",children:e})," or choose a starting point."]})}),c.jsx(Lw,{onPick:oe=>{Un(oe)}})]}),VF(T,e,Ve,$e,fe,I,!b&&!i),I&&ee&&c.jsxs("div",{className:"mt-3",children:[c.jsx("div",{className:"mb-0.5 text-[10px] uppercase tracking-wider text-positive-400",children:"Aero"}),c.jsx(MA,{content:ee})]}),I&&!ee&&fe.every(oe=>oe.endedAt!==void 0)&&c.jsx(HF,{}),i&&!mn&&!I&&c.jsxs("div",{className:"mt-4 flex flex-col gap-2 border-t border-subtle pt-3",children:[c.jsx("p",{className:"text-xs text-secondary",children:"Try another starting point."}),c.jsx(Lw,{onPick:oe=>{Un(oe)}})]})]}),(Pe||le)&&c.jsxs("div",{role:Pe?"alert":"status",className:"mx-3 my-2 flex flex-wrap items-center gap-2 rounded-md border border-base bg-surface px-3 py-2 text-sm text-secondary",children:[c.jsx("span",{className:"flex-1",children:Pe??le}),K&&!I&&c.jsx(me,{variant:"outline",size:"sm",onClick:()=>{$e==="all"?(Le(K.prompt),qe.current?.focus()):Un(K.prompt,K.context)},children:$e==="all"?"Review prompt":"Retry"})]}),i&&c.jsxs("p",{className:"border-t border-subtle px-4 py-2 text-xs text-secondary",children:["Sample answers on demo data."," ",c.jsxs("a",{href:TF,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-0.5 text-positive-400 underline decoration-positive-700 hover:decoration-positive-400",children:["Aero answers from your own Canonry data.",c.jsx(lk,{className:"h-3 w-3","aria-hidden":"true"}),c.jsx("span",{className:"sr-only",children:" (opens in a new tab)"})]})]}),c.jsxs("div",{className:"relative",children:[!L&&Gt.length>0&&c.jsx(BF,{title:i?"Starting points":"Commands",matches:Gt,selectedIndex:lt,onHover:$t,onPick:oe=>{Le(""),qe.current?.focus(),oe.action==="new"?Pi():Un(oe.prompt)}}),c.jsxs("form",{className:"flex items-end gap-2 border-t border-mono-800/70 bg-bg/80 px-3 py-2.5",onSubmit:oe=>{if(oe.preventDefault(),Gt.length>0){const ze=Gt[lt];Le(""),ze.action==="new"?Pi():Un(ze.prompt);return}Un(Ne)},children:[c.jsx("textarea",{ref:qe,value:Ne,onChange:oe=>Le(oe.target.value),onKeyDown:oe=>{if(Gt.length>0){if(oe.key==="ArrowDown"){oe.preventDefault(),$t(ze=>(ze+1)%Gt.length);return}if(oe.key==="ArrowUp"){oe.preventDefault(),$t(ze=>(ze-1+Gt.length)%Gt.length);return}if(oe.key==="Tab"){oe.preventDefault();const ze=Gt[lt];Le(`${ze.command} `);return}if(oe.key==="Escape"){oe.preventDefault(),Le("");return}}if(oe.key==="Enter"&&!oe.shiftKey)if(oe.preventDefault(),Gt.length>0){const ze=Gt[lt];Le(""),ze.action==="new"?Pi():Un(ze.prompt)}else Un(Ne)},disabled:L||V,placeholder:L?"Open a conversation to continue…":i?"Type / for a starting point":"Ask Aero, or / for commands…","aria-label":"Message Aero",rows:k?3:1,className:"flex-1 resize-none overflow-y-auto bg-transparent text-sm text-heading placeholder:text-mono-600 focus:outline-none disabled:opacity-60"}),I?c.jsxs(me,{type:"button",variant:"outline",size:"sm",onClick:()=>_n.current?.abort(),"aria-label":"Stop Aero",children:[c.jsx(mN,{className:"h-3.5 w-3.5","aria-hidden":"true"})," Stop"]}):c.jsx(me,{type:"submit",size:"sm",disabled:!Ne.trim()||L||V||ke,"aria-label":"Send",children:c.jsx(pN,{className:"h-4 w-4","aria-hidden":"true"})})]})]})]}):c.jsx("button",{type:"button",onClick:()=>w(!0),className:"flex w-full items-center justify-between rounded-lg border border-mono-800/80 bg-bg/95 px-4 py-2 text-left text-sm text-secondary shadow-lg transition hover:border-strong hover:bg-bg-elevated/90 hover:text-strong",children:c.jsxs("span",{className:"flex items-center gap-2",children:[c.jsx(Mu,{className:"h-4 w-4 text-positive-400","aria-hidden":"true"}),"Ask Aero about ",e,"…"]})})})})}function IF({providers:e,active:n,override:i,onPick:r,disabled:u}){const[h,g]=N.useState(!1),b=N.useRef(null);if(N.useEffect(()=>{if(!h)return;const w=A=>{b.current?.contains(A.target)||g(!1)},k=A=>{A.key==="Escape"&&g(!1)};return window.addEventListener("mousedown",w),window.addEventListener("keydown",k),()=>{window.removeEventListener("mousedown",w),window.removeEventListener("keydown",k)}},[h]),e.length===0)return null;const v=n?.label.replace(/\s+\(.+\)$/,"")??"No provider";return c.jsxs("div",{ref:b,className:"relative",children:[c.jsxs("button",{type:"button",onClick:()=>g(w=>!w),disabled:u,className:"flex items-center gap-1 rounded-md px-2 py-1 text-sm text-secondary transition hover:bg-surface-inset hover:text-strong disabled:opacity-50","aria-label":"Switch agent model","aria-haspopup":"listbox","aria-expanded":h,title:n?`${n.label} · ${n.defaultModel}`:"Pick a provider",children:[c.jsx("span",{className:"font-medium text-strong",children:v}),c.jsx(Ed,{className:"h-3 w-3","aria-hidden":"true"})]}),h&&c.jsxs("div",{role:"listbox",className:"absolute right-0 top-full z-50 mt-1 w-64 overflow-hidden rounded-lg border border-base bg-bg shadow-xl",children:[c.jsx("div",{className:"border-b border-default px-3 py-2 text-sm font-medium text-secondary",children:"Answer engine"}),c.jsx("ul",{className:"max-h-72 overflow-y-auto py-1",children:e.map(w=>{const k=n?.id===w.id,A=i===w.id;return c.jsx("li",{children:c.jsxs("button",{type:"button",role:"option","aria-selected":k,disabled:!w.configured,onClick:()=>{w.configured&&(r(A?null:w.id),g(!1))},className:"flex w-full items-center gap-2 px-3 py-2.5 text-left text-sm transition enabled:hover:bg-bg-elevated disabled:cursor-not-allowed disabled:opacity-60",title:w.configured?w.defaultModel:`Add ${qA(w.id)} in Settings or your environment`,children:[c.jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center",children:k?c.jsx(Dd,{className:"h-3 w-3 text-positive-400","aria-hidden":"true"}):null}),c.jsx("span",{className:"min-w-0 flex-1 truncate font-medium text-heading",children:w.label.replace(/\s+\(.+\)$/,"")}),A&&c.jsx("span",{className:"rounded-md border border-positive-800/60 bg-positive-950/60 px-2 py-0.5 text-[11px] text-positive",children:"Selected"}),!w.configured&&c.jsx("span",{className:"rounded-md border border-base px-2 py-0.5 text-[11px] text-secondary",children:"Needs setup"})]})},w.id)})}),i&&c.jsx("button",{type:"button",onClick:()=>{r(null),g(!1)},className:"w-full border-t border-default px-3 py-2 text-left text-[11px] text-secondary transition hover:bg-bg-elevated hover:text-heading",children:"Reset to default"})]})]})}const PF=144,qF=288,nf=288,MF=8;function BF({title:e,matches:n,selectedIndex:i,onHover:r,onPick:u}){const h=N.useRef(null),g=N.useRef(null),b=N.useRef(null),[v,w]=N.useState(nf);return N.useLayoutEffect(()=>{const k=h.current,A=k?.closest("[data-aero-panel]"),T=k?.parentElement;if(!k||!A||!T)return;const _=T.getBoundingClientRect().top-A.getBoundingClientRect().top-MF*2-(g.current?.getBoundingClientRect().height??0);w(_>0?Math.min(nf,Math.floor(_)):nf)},[n.length]),N.useEffect(()=>{b.current?.querySelector('[aria-selected="true"]')?.scrollIntoView?.({block:"nearest"})},[i]),c.jsxs("div",{ref:h,className:"absolute inset-x-3 bottom-full mb-2 overflow-hidden rounded-lg border border-base bg-bg/98 shadow-2xl",children:[c.jsx("div",{ref:g,className:"border-b border-default px-3 py-1.5 text-[10px] uppercase tracking-wider text-muted",children:e}),c.jsx("ul",{ref:b,role:"listbox",className:"overflow-y-auto py-1",style:{maxHeight:v},children:n.map((k,A)=>{const T=A===i;return c.jsx("li",{children:c.jsxs("button",{type:"button",role:"option","aria-selected":T,onMouseEnter:()=>r(A),onClick:()=>u(k),className:`flex w-full items-center gap-3 px-3 py-2 text-left text-sm transition ${T?"bg-bg-elevated text-heading":"text-neutral hover:bg-bg-elevated/60"}`,children:[c.jsx("span",{className:"font-medium",children:k.label}),c.jsx("span",{className:"ml-auto font-mono text-[11px] text-secondary",children:k.command})]})},k.command)})})]})}function Lw({onPick:e}){return c.jsx("div",{className:"flex flex-wrap gap-1.5",children:$f.map(n=>c.jsx("button",{type:"button",onClick:()=>e(n.prompt),className:"rounded-md border border-base bg-bg-elevated/70 px-3 py-1.5 text-sm text-neutral transition hover:border-strong hover:bg-mono-800/70 hover:text-heading",children:n.label},n.label))})}function qA(e){switch(e){case"claude":return"ANTHROPIC_API_KEY";case"openai":return"OPENAI_API_KEY";case"gemini":return"GOOGLE_API_KEY";case"zai":return"ZAI_API_KEY";case"deepinfra":return"DEEPINFRA_TOKEN"}}function LF(e,n){const i=e.timestamp??0;return`${e.role}:${i}:${n}`}function VF(e,n,i,r,u,h,g=!0){const b=[];for(let v=0;v<e.length;v++){const w=e[v],k=LF(w,v);if(w.role==="user"){const A=typeof w.content=="string"?w.content:JSON.stringify(w.content);if(A.startsWith("[system]"))continue;b.push(c.jsx(UF,{text:A,projectName:n,providerOverride:i,scope:r,context:w.aeroContext,cliCopy:g},k));continue}if(w.role==="assistant"){const A=new Map;let T=v+1;for(;T<e.length&&e[T].role==="toolResult";){const R=e[T];A.set(R.toolCallId,R),T++}const _=GF(w,A).map(R=>{const q=u.find(ae=>ae.id===R.id),F={...R,...q};return{...F,interrupted:F.endedAt===void 0&&(!h||F.interrupted)}}),G=rd(w);b.push(c.jsxs(N.Fragment,{children:[G.trim()&&c.jsxs("div",{className:"mt-3",children:[c.jsx("div",{className:"mb-0.5 text-[10px] uppercase tracking-wider text-positive-400",children:"Aero"}),c.jsx(MA,{content:G})]}),_.length>0&&c.jsx("div",{className:"mt-3 space-y-1.5",children:_.map(R=>c.jsx(KF,{trail:R},R.id))})]},k)),v=T-1;continue}}return b}function UF({text:e,projectName:n,providerOverride:i,scope:r,context:u,cliCopy:h=!0}){const[g,b]=N.useState(!1),v=N.useMemo(()=>$F(n,e,i,r,u),[n,e,i,r,u]);async function w(){try{await navigator.clipboard.writeText(v),b(!0),window.setTimeout(()=>b(!1),1500)}catch{}}return c.jsxs("div",{className:"group relative mt-3 rounded-md bg-bg-elevated/60 px-3 py-2 text-strong",children:[c.jsxs("div",{className:"flex items-center justify-between gap-2",children:[c.jsx("div",{className:"text-[10px] uppercase tracking-wider text-muted",children:"You"}),h&&c.jsx("button",{type:"button",onClick:cn(w),className:"inline-flex items-center gap-1 rounded border border-mono-800/70 bg-bg/60 px-1.5 py-0.5 text-[10px] text-secondary opacity-0 transition hover:border-strong hover:text-heading group-hover:opacity-100 focus:opacity-100","aria-label":"Copy as CLI command",title:v,children:g?c.jsxs(c.Fragment,{children:[c.jsx(Dd,{className:"h-2.5 w-2.5 text-positive-400","aria-hidden":"true"}),"Copied"]}):c.jsxs(c.Fragment,{children:[c.jsx(Xf,{className:"h-2.5 w-2.5","aria-hidden":"true"}),"Copy as CLI"]})})]}),c.jsx("div",{className:"whitespace-pre-wrap",children:e})]})}function $F(e,n,i,r,u){const h=["canonry","agent","ask",Fh(e),Fh(n)];return i&&h.push("--provider",i),r==="read-only"&&h.push("--scope","read-only"),u&&h.push("--context",Fh(JSON.stringify(u))),h.join(" ")}function GF(e,n){const i=[];for(const r of e.content){if(r.type!=="toolCall")continue;const u=r,h=n.get(u.id);i.push({id:u.id,name:u.name,args:u.arguments,label:h?.aeroToolLabel,durationMs:h?.aeroDurationMs,endedAt:h?.timestamp,isError:h?.isError,result:h?.content})}return i}function KF({trail:e}){const[n,i]=N.useState(!1),r=e.endedAt===void 0&&!e.interrupted,u=!r&&e.isError===!0,h=e.durationMs??(e.endedAt!=null&&e.startedAt!=null?e.endedAt-e.startedAt:null),g=h==null||h<0?null:h<1e3?`${h}ms`:`${(h/1e3).toFixed(1)}s`,b=u?"border-negative-800/50":r?"border-positive-800/50":"border-mono-800/70",v=u?"bg-negative-950/20":r?"bg-positive-950/20":"bg-surface-hover";return c.jsxs("div",{className:`rounded-md border ${b} ${v}`,children:[c.jsxs("button",{type:"button",onClick:()=>i(w=>!w),className:"flex w-full items-center gap-2 px-2.5 py-1.5 text-left","aria-expanded":n,children:[c.jsx("span",{className:"flex h-3.5 w-3.5 shrink-0 items-center justify-center",children:r?c.jsx(kr,{className:"h-3 w-3 animate-spin text-positive-400","aria-hidden":"true"}):u?c.jsx(dk,{className:"h-3 w-3 text-negative-400","aria-hidden":"true"}):c.jsx(hN,{className:"h-3 w-3 text-muted","aria-hidden":"true"})}),c.jsx("span",{className:"text-sm font-medium text-heading",children:e.label??e.name.replace(/^(?:canonry|aero)_/,"").replace(/_/g," ")}),c.jsxs("span",{className:"ml-auto flex items-center gap-2 text-[10px] text-muted",children:[r?c.jsx("span",{className:"text-positive-400",children:"running…"}):c.jsxs(c.Fragment,{children:[c.jsx("span",{children:e.interrupted?"interrupted":u?"failed":"done"}),g&&c.jsx("span",{children:g})]}),c.jsx(Wf,{className:`h-3 w-3 transition-transform ${n?"rotate-90":""}`,"aria-hidden":"true"})]})]}),n&&c.jsxs("div",{className:"border-t border-default px-2.5 py-2 text-[11px] text-secondary",children:[c.jsx("div",{className:"mb-2 text-xs text-secondary",children:e.name}),c.jsx("div",{className:"mb-1 text-xs text-secondary",children:"Inputs"}),c.jsx("pre",{className:"mb-2 overflow-x-auto whitespace-pre-wrap break-all text-xs text-neutral",children:Vw(e.args)}),!r&&e.result!==void 0&&c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"mb-1 text-[9px] uppercase tracking-wider text-faint",children:u?"Error":"Result"}),c.jsx("pre",{className:"overflow-x-auto whitespace-pre-wrap break-all text-xs text-neutral",children:Vw(e.result)})]})]})]})}function Vw(e){try{const n=typeof e=="string"?e:JSON.stringify(e,null,2);return n.length>2e3?`${n.slice(0,2e3)}
64
- … (${n.length-2e3} more chars)`:n}catch{return String(e)}}function MA({content:e}){return c.jsx("div",{className:"text-heading",children:c.jsx(RN,{remarkPlugins:[EN],components:{h1:n=>c.jsx("h1",{...n,className:"mt-3 mb-2 text-base font-semibold text-primary"}),h2:n=>c.jsx("h2",{...n,className:"mt-3 mb-2 text-sm font-semibold text-primary"}),h3:n=>c.jsx("h3",{...n,className:"mt-3 mb-1.5 text-sm font-semibold text-heading"}),h4:n=>c.jsx("h4",{...n,className:"mt-2 mb-1 text-xs font-semibold uppercase tracking-wide text-neutral"}),p:n=>c.jsx("p",{...n,className:"mb-2 leading-relaxed"}),ul:n=>c.jsx("ul",{...n,className:"mb-2 ml-4 list-disc space-y-1"}),ol:n=>c.jsx("ol",{...n,className:"mb-2 ml-4 list-decimal space-y-1"}),li:n=>c.jsx("li",{...n,className:"marker:text-mono-600"}),strong:n=>c.jsx("strong",{...n,className:"font-semibold text-primary"}),em:n=>c.jsx("em",{...n,className:"text-strong"}),code:({children:n,...i})=>c.jsx("code",{...i,className:"rounded bg-mono-800/70 px-1 py-0.5 font-mono text-[12px] text-positive-200",children:n}),pre:n=>c.jsx("pre",{...n,className:"mb-2 overflow-x-auto rounded-md border border-base bg-bg-elevated/70 p-3 font-mono text-xs text-strong"}),a:n=>c.jsx("a",{...n,className:"text-positive-400 underline decoration-positive-700 hover:decoration-positive-400",target:"_blank",rel:"noopener noreferrer"}),table:n=>c.jsx("div",{className:"mb-2 overflow-x-auto",children:c.jsx("table",{...n,className:"w-full border-collapse text-xs"})}),thead:n=>c.jsx("thead",{...n,className:"border-b border-base"}),th:n=>c.jsx("th",{...n,className:"px-2 py-1 text-left font-semibold text-neutral"}),tr:n=>c.jsx("tr",{...n,className:"border-b border-mono-900"}),td:n=>c.jsx("td",{...n,className:"px-2 py-1 text-strong"}),blockquote:n=>c.jsx("blockquote",{...n,className:"mb-2 border-l-2 border-strong pl-3 italic text-secondary"}),hr:()=>c.jsx("hr",{className:"my-3 border-base"})},children:e})})}function HF(){return c.jsxs("div",{className:"mt-3 flex items-center gap-2",children:[c.jsx("div",{className:"text-[10px] uppercase tracking-wider text-positive-400",children:"Aero"}),c.jsxs("div",{className:"flex items-center gap-1","aria-label":"Aero is thinking",children:[c.jsx("span",{className:"aero-dot h-1.5 w-1.5 rounded-full bg-positive-400/80"}),c.jsx("span",{className:"aero-dot aero-dot-2 h-1.5 w-1.5 rounded-full bg-positive-400/60"}),c.jsx("span",{className:"aero-dot aero-dot-3 h-1.5 w-1.5 rounded-full bg-positive-400/40"})]})]})}function BA({isAdmin:e,account:n}){return e||n?.role==="viewer"&&YU()}function QF(){const{isAdmin:e,account:n}=da(),i=tk(),r=/^\/projects\/([^/]+)/.exec(i.pathname),u=r?decodeURIComponent(r[1]):null,h=Et({...So({client:ne}),enabled:u!==null,staleTime:6e4}),g=lF(i.pathname,i.search),b=h.data??[],v=b.find(T=>T.id===u)??b.find(T=>T.name===u),w=Y$(v?.name??u??"",g),k=wg(),A=k||BA({isAdmin:e,account:n});return!u||!A||!v?null:c.jsx(OF,{projectName:v.name,context:w,preview:k},v.name)}const Gf={project:"getApiV1ProjectsByName",google:"getApiV1ProjectsByNameGoogle",gsc:"getApiV1ProjectsByNameGoogleGsc",bing:"getApiV1ProjectsByNameBing",ga:"getApiV1ProjectsByNameGa",gbp:"getApiV1ProjectsByNameGbp",ads:"getApiV1ProjectsByNameAds",googleAds:"getApiV1ProjectsByNameGoogleAds",gtm:"getApiV1ProjectsByNameGtm",conversionTracking:"getApiV1ProjectsByNameConversionTracking",traffic:"getApiV1ProjectsByNameTraffic",discovery:"getApiV1ProjectsByNameDiscover",researchRuns:"getApiV1ProjectsByNameResearchRuns",visibilityReport:"getApiV1ProjectsByNameVisibilityReport",queryTracking:"getApiV1ProjectsByNameQueryTracking",technicalAeo:"getApiV1ProjectsByNameTechnicalAeo",runs:"getApiV1ProjectsByNameRuns"};function zn(e,n){const i=Gf[n];return e.invalidateQueries({predicate:r=>{const u=r.queryKey[0];return typeof u?._id=="string"&&u._id.startsWith(i)}})}function Qne(e,n){return e.invalidateQueries({predicate:i=>{const r=i.queryKey[0];return r?.path?.name!==n||typeof r._id!="string"?!1:r._id.startsWith("getApiV1ProjectsByNameMeasurement")||r._id===Gf.queryTracking||r._id===Gf.visibilityReport||r._id==="getApiV1ProjectsByNameQueries"||r._id==="getApiV1ProjectsByName"}})}function dc(e,n,i){switch(e.invalidateQueries({queryKey:Ng({client:ne})}),e.invalidateQueries({queryKey:vs({client:ne})}),zn(e,"runs"),n){case De["answer-visibility"]:Lf(e,i,"none"),zn(e,"visibilityReport"),zn(e,"queryTracking");return;case De["backlink-extract"]:return;case De["site-audit"]:zn(e,"technicalAeo");return;case De["gsc-sync"]:case De["inspect-sitemap"]:zn(e,"gsc");return;case De["ga-sync"]:zn(e,"ga");return;case De["traffic-sync"]:zn(e,"ga"),zn(e,"traffic");return;case De["bing-inspect"]:case De["bing-inspect-sitemap"]:zn(e,"bing");return;case De["aeo-discover-seed"]:case De["aeo-discover-probe"]:Lf(e,i);return;case De["gbp-sync"]:zn(e,"gbp");return;case De["ads-sync"]:zn(e,"ads");return;case De["google-ads-sync"]:zn(e,"googleAds"),zn(e,"conversionTracking");return;case De["gtm-sync"]:zn(e,"gtm"),zn(e,"conversionTracking");return;default:return n}}const Uw=[{label:"GitHub",href:"https://github.com/Canonry/canonry",Icon:ck},{label:"Docs",href:"https://github.com/Canonry/canonry/tree/main/docs",Icon:kN},{label:"Changelog",href:"https://github.com/Canonry/canonry/releases",Icon:SN}],$w=e=>({label:e,state:"checking",detail:"Checking service health"}),FF={apiStatus:$w("API"),workerStatus:$w("Worker")};function ZF(e){return e==="completed"?"positive":e==="partial"?"caution":"negative"}function YF(e){const n=tc(e.kind);return e.status==="completed"?`${n} completed`:e.status==="partial"?`${n} completed with partial results`:e.status==="cancelled"?`${n} cancelled`:`${n} failed`}function XF(e,n){return e.error?`${n}: ${P0(e.error)}`:e.location?`${n} · ${e.location}`:n}function Gw(e,n,i){if(n)return n;const r=i.find(u=>u.id===e);return r?.displayName||r?.name||e}function WF(e,n){return[e.completed>0?`${e.completed} completed`:null,e.partial>0?`${e.partial} partial`:null,e.failed>0?`${e.failed} failed`:null,e.cancelled>0?`${e.cancelled} cancelled`:null,n>0?`${n} skipped at queue time`:null].filter(Boolean).join(", ")}function JF(e){return e.failed>0||e.cancelled>0?"negative":e.partial>0?"caution":"positive"}function eZ(){const e=ca(),n=N.useSyncExternalStore(uA,zi,zi),i=Object.keys(n.runs).length>0||Object.keys(n.batches).length>0,r=Et({...rm({client:ne}),enabled:i,staleTime:Rr,refetchInterval:3e3}),u=Et({...So({client:ne}),enabled:i}),h=N.useRef({}),g=N.useCallback(()=>{r.refetch()},[r.refetch]);return N.useEffect(()=>{i&&g()},[i,g]),N.useEffect(()=>{if(!i||typeof window>"u")return;const b=()=>{document.visibilityState==="visible"&&g()};return window.addEventListener("focus",g),document.addEventListener("visibilitychange",b),()=>{window.removeEventListener("focus",g),document.removeEventListener("visibilitychange",b)}},[i,g]),N.useEffect(()=>{const b=r.data??[],v=u.data??[],w=Object.fromEntries(b.map(A=>[A.id,A])),k=Object.fromEntries(b.map(A=>[A.id,A.status]));for(const A of Object.values(n.runs)){const T=w[A.runId];if(!T||!iH(T.status)||(h.current[T.id]??A.lastAnnouncedStatus)===T.status)continue;const G=v.find(q=>q.id===T.projectId);if(G&&dc(e,T.kind,G.name),A.sourceAction==="run-all"){Yh(T.id);continue}const R=Gw(T.projectId,A.projectLabel,v);bn({title:YF(T),detail:XF(T,R),tone:ZF(T.status),dedupeKey:`run:${T.id}`,dedupeMode:"replace",cta:{label:"View run",intent:"open-run-drawer",runId:T.id}}),Yh(T.id)}if(r.data!==void 0){const A=new Set(b.map(_=>_.id)),T=oH(Object.values(n.runs),A,Date.now(),sH);for(const _ of T){const G=v.find(R=>R.id===_.projectId);G&&dc(e,_.kind,G.name),_.sourceAction!=="run-all"&&bn({title:`${tc(_.kind)} status unavailable`,detail:Gw(_.projectId,_.projectLabel,v),tone:"neutral",dedupeKey:`run-stale:${_.runId}`,dedupeMode:"replace"}),Yh(_.runId)}}for(const A of Object.values(n.batches)){const T=rH(A.runIds,w);T.finished&&(bn({title:"Run-all batch finished",detail:WF(T,A.skippedCount),tone:JF(T),dedupeKey:`batch:${A.batchId}`,dedupeMode:"replace",cta:{label:"View runs",intent:"go-to-runs"}}),aH(A.batchId))}h.current=k},[u.data,r.data,n,e]),null}function tZ(){const{account:e,isAdmin:n}=da(),i=Nc(),r=N.useMemo(()=>H3(),[]),u=N.useMemo(FU,[]),h=N.useMemo(ZU,[]),g=wg()||h&&BA({isAdmin:n,account:e}),b=N.useMemo(XU,[]),v=tk(),{dashboard:w,isLoading:k,refetch:A}=mm(void 0,{includeSettings:!r,includeOverviews:!1,pauseProjectPolling:v.pathname==="/setup"}),G=zg(!i,i?.health).data??i?.health??FF,{runId:R,evidenceId:q,closeDrawer:F}=Og(),[ae,L]=N.useState(!1),[W,J]=N.useState(()=>{if(typeof window>"u")return!1;try{return window.localStorage.getItem("canonry:sidebarHidden")==="true"}catch{return!1}}),[se,V]=N.useState(()=>{if(typeof window>"u")return null;try{return window.localStorage.getItem("canonry:dismissedUpdateVersion")}catch{return null}}),[H]=N.useState(()=>typeof window>"u"?null:new URLSearchParams(window.location.search).get("force-update")),ke=H?{current:G.apiStatus.version??"0.0.0",latest:H,url:"https://www.npmjs.com/package/@canonry/canonry",upgradeCommand:"npm install -g @canonry/canonry"}:G.apiStatus.updateAvailable,et=b&&ke&&ke.latest!==se,it=()=>{if(ke){try{window.localStorage.setItem("canonry:dismissedUpdateVersion",ke.latest)}catch{}V(ke.latest)}},Ke=()=>{const re=!W;try{re?window.localStorage.setItem("canonry:sidebarHidden","true"):window.localStorage.removeItem("canonry:sidebarHidden")}catch{}J(re)},Ze=FQ(R),Ne=Ze.data??null,Le=Ze.isLoading;N.useEffect(()=>{Ne&&Ne.status!=="running"&&Ne.status!=="queued"&&A()},[Ne?.status,A]),N.useEffect(()=>{L(!1)},[v.pathname]),N.useEffect(()=>{if(typeof window>"u"||!R&&!q)return;const re=st=>{st.key==="Escape"&&F()};return window.addEventListener("keydown",re),()=>{window.removeEventListener("keydown",re)}},[R,q,F]);const I=w??i?.dashboard??null,Y=v.pathname==="/setup",fe=Y&&I!==null&&I.portfolioOverview.projects.length===0,we=Y&&(v.search.onboarding==="site-health"||v.search.onboarding==="first-run"||v.search.onboarding==="complete"),[ee,_e]=N.useState(fe);N.useEffect(()=>{Y?fe&&_e(!0):_e(!1)},[fe,Y]);const be=Y&&(we||fe||ee||Y&&I===null),le=be?"app-shell-focus":W?"app-shell-sidebar-hidden":"",ce=R?(I?vQ(I,R):void 0)??(Ne?dm(Ne,I?.projects.find(re=>re.project.id===Ne.projectId)?.project.displayName??I?.projects.find(re=>re.project.id===Ne.projectId)?.project.name??"Unknown project"):void 0):void 0,K=N.useMemo(()=>pQ(v.pathname,I),[v.pathname,I]),{commandCenter:de,evidenceLoading:Ee,evidenceError:Se,isError:nt,refetch:Ve}=KQ(q?K:null,{evidence:!0}),vt=N.useMemo(()=>{if(q)return wQ(de,I,q)},[q,de,I]),$e=(()=>{const re=v.pathname;if(re==="/")return"Portfolio";if(re==="/projects")return"Projects";if(re==="/runs")return"Runs";if(re==="/history")return"History";if(re==="/settings")return"Settings";if(re==="/setup")return"Setup";if(re==="/backlinks")return"Backlink data";if(re==="/traffic"||re.startsWith("/traffic/"))return"Traffic sources";if(re.startsWith("/projects/")){const st=I?.projects.find(Ut=>Ut.project.name===K);return st?.project.displayName||st?.project.name||K||"Projects"}return"Not found"})();if(r){const re=!r.views||r.views.includes(nG(v.pathname));return c.jsxs("div",{className:"app-shell app-shell-embed","data-theme":rG(r.theme),style:lG(r.theme),children:[c.jsx("a",{className:"skip-link",href:"#content",children:"Skip to content"}),c.jsx("main",{id:"content",className:"page-shell",children:re?c.jsx(sf,{}):c.jsx("div",{className:"embed-view-unavailable",role:"status",children:"This view is not available in embed mode."})})]})}return c.jsxs(c.Fragment,{children:[c.jsx("a",{className:"skip-link",href:"#content",children:"Skip to content"}),c.jsx(tF,{}),c.jsxs("div",{className:`app-shell ${le}${wr()?" app-shell-demo":""}`,children:[!be&&!W&&c.jsxs("aside",{id:"desktop-sidebar",className:"sidebar","aria-label":"Primary navigation",children:[c.jsx("div",{className:"sidebar-brand",children:c.jsx(Aw,{version:G.apiStatus.version,updateAvailable:et?ke:null,onDismissUpdate:it})}),c.jsxs("nav",{className:"sidebar-nav",children:[c.jsxs(Xe,{to:"/",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[c.jsx(fN,{className:"sidebar-icon"}),c.jsx("span",{children:"Portfolio"})]}),c.jsxs(Xe,{to:"/projects",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!1},children:[c.jsx(gN,{className:"sidebar-icon"}),c.jsx("span",{children:"Projects"})]}),c.jsxs(Xe,{to:"/runs",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[c.jsx(yN,{className:"sidebar-icon"}),c.jsx("span",{children:"Runs"})]}),c.jsxs(Xe,{to:"/history",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[c.jsx(uk,{className:"sidebar-icon"}),c.jsx("span",{children:"History"})]}),c.jsxs(Xe,{to:"/traffic",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!1},children:[c.jsx(bN,{className:"sidebar-icon"}),c.jsx("span",{children:"Traffic sources"})]}),!wr()&&c.jsxs(Xe,{to:"/backlinks",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[c.jsx(vN,{className:"sidebar-icon"}),c.jsx("span",{children:"Backlink data"})]}),n&&c.jsxs(Xe,{to:"/settings",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[c.jsx(xN,{className:"sidebar-icon"}),c.jsx("span",{children:"Settings"})]}),k?c.jsxs(c.Fragment,{children:[c.jsx("p",{className:"sidebar-section-title",children:"Tracked projects"}),[1,2,3].map(re=>c.jsxs("div",{className:"sidebar-skeleton-item",children:[c.jsx("span",{className:"skeleton-circle size-2"}),c.jsx("span",{className:"skeleton-text flex-1",style:{width:`${50+re*15}%`}})]},re))]}):I&&I.projects.length>0?c.jsxs(c.Fragment,{children:[c.jsx("p",{className:"sidebar-section-title",children:"Tracked projects"}),I.projects.map(re=>{const st=re.visibilitySummary.tone;return c.jsxs(Xe,{to:"/projects/$projectName",params:{projectName:re.project.name},className:"sidebar-project",activeProps:{className:"sidebar-project sidebar-project-active"},children:[c.jsx("span",{className:`sidebar-dot sidebar-dot-${st}`}),c.jsx("span",{children:re.project.displayName||re.project.name})]},re.project.id)})]}):k?null:c.jsxs(c.Fragment,{children:[c.jsx("p",{className:"sidebar-section-title",children:"Resources"}),n&&c.jsxs(Xe,{to:"/setup",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[c.jsx(wN,{className:"sidebar-icon"}),c.jsx("span",{children:"Setup"})]})]})]}),e&&c.jsxs("div",{className:"sidebar-account",children:[c.jsxs("div",{className:"sidebar-account-identity",children:[c.jsx("span",{className:"sidebar-account-name",children:e.name}),e.role==="viewer"?c.jsx("span",{className:"sidebar-account-role",children:iw()}):null]}),c.jsx(me,{type:"button",variant:"ghost",size:"sm",onClick:cn(async()=>{await lw(),window.location.reload()}),children:"Sign out"})]}),u?c.jsx("div",{className:"sidebar-footer",children:Uw.map(({label:re,href:st,Icon:Ut})=>c.jsx("a",{className:"sidebar-footer-icon",href:st,target:"_blank",rel:"noopener noreferrer",title:re,"aria-label":re,children:c.jsx(Ut,{className:"size-4"})},st))}):null]}),c.jsxs("div",{className:"main-area",children:[c.jsxs("header",{className:"topbar",children:[c.jsxs("div",{className:"topbar-left",children:[!be&&c.jsx(me,{className:"sidebar-privacy-toggle",variant:"ghost",size:"icon",type:"button","aria-label":W?"Show sidebar":"Hide sidebar","aria-controls":W?void 0:"desktop-sidebar","aria-expanded":!W,title:W?"Show sidebar":"Hide sidebar",onClick:Ke,children:W?c.jsx(jN,{className:"size-4"}):c.jsx(AN,{className:"size-4"})}),c.jsx("div",{className:"topbar-brand-mobile",children:c.jsx(Aw,{compact:!0})}),c.jsxs("nav",{className:"breadcrumb","aria-label":"Breadcrumb",children:[c.jsx(Xe,{to:"/",children:"Home"}),c.jsx(Wf,{className:"breadcrumb-sep size-3"}),c.jsx("span",{className:"breadcrumb-current",children:$e})]})]}),c.jsxs("div",{className:"topbar-actions",children:[c.jsx(nF,{}),c.jsxs("div",{className:"health-pill-row",children:[c.jsxs("span",{className:`health-pill health-pill-${G.apiStatus.state}`,title:Er(G.apiStatus),children:["API ",G.apiStatus.state==="ok"?"ok":G.apiStatus.state]}),c.jsx("span",{className:`health-pill health-pill-${G.workerStatus.state}`,title:Er(G.workerStatus),children:`Worker ${G.workerStatus.state==="ok"?"ok":G.workerStatus.state}`})]}),be?null:c.jsxs(me,{className:"nav-toggle",variant:"secondary",size:"icon",type:"button","aria-expanded":ae,"aria-controls":"mobile-nav",onClick:()=>L(re=>!re),children:[c.jsx(CN,{className:"size-4"}),c.jsx("span",{className:"sr-only",children:"Open navigation"})]})]})]}),be?null:c.jsxs("div",{id:"mobile-nav",className:`mobile-nav ${ae?"mobile-nav-open":""}`,children:[c.jsxs(me,{className:"mobile-nav-close",variant:"ghost",size:"icon",type:"button",onClick:()=>L(!1),children:[c.jsx(Dr,{className:"size-5"}),c.jsx("span",{className:"sr-only",children:"Close navigation"})]}),c.jsx(Xe,{to:"/",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!0},children:"Portfolio"}),c.jsx(Xe,{to:"/projects",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!1},children:"Projects"}),c.jsx(Xe,{to:"/runs",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!0},children:"Runs"}),c.jsx(Xe,{to:"/history",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!0},children:"History"}),c.jsx(Xe,{to:"/traffic",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!1},children:"Traffic sources"}),!wr()&&c.jsx(Xe,{to:"/backlinks",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!0},children:"Backlink data"}),n&&c.jsx(Xe,{to:"/settings",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!0},children:"Settings"}),I&&I.projects.length>0?c.jsxs("div",{className:"mobile-nav-section",children:[c.jsx("p",{className:"mobile-nav-section-title",children:"Tracked projects"}),I.projects.map(re=>c.jsx(Xe,{to:"/projects/$projectName",params:{projectName:re.project.name},className:"mobile-nav-link",children:re.project.name},re.project.id))]}):null,e&&c.jsxs("div",{className:"mobile-nav-section",children:[c.jsx("p",{className:"mobile-nav-section-title",children:"Signed in"}),c.jsxs("div",{className:"sidebar-account",children:[c.jsxs("div",{className:"sidebar-account-identity",children:[c.jsx("span",{className:"sidebar-account-name",children:e.name}),e.role==="viewer"?c.jsx("span",{className:"sidebar-account-role",children:iw()}):null]}),c.jsx(me,{type:"button",variant:"ghost",size:"sm","data-testid":"mobile-sign-out",onClick:cn(async()=>{await lw(),window.location.reload()}),children:"Sign out"})]})]})]}),c.jsx("main",{id:"content",className:`page-shell ${g&&K?"pb-20":""}`.trim(),children:k&&!i?c.jsxs("div",{className:"page-skeleton",children:[c.jsxs("div",{className:"page-skeleton-header",children:[c.jsx("div",{className:"skeleton-text h-6 w-40"}),c.jsx("div",{className:"skeleton-text-sm w-72"})]}),c.jsx("div",{className:"page-skeleton-grid",children:[1,2,3].map(re=>c.jsxs("div",{className:"page-skeleton-card",children:[c.jsx("div",{className:"skeleton-text w-24"}),c.jsx("div",{className:"skeleton-text w-full"}),c.jsx("div",{className:"skeleton-text-sm w-3/4"})]},re))}),c.jsx("div",{className:"page-skeleton-grid",style:{gridTemplateColumns:"1fr 1fr"},children:[1,2].map(re=>c.jsxs("div",{className:"page-skeleton-card",children:[c.jsx("div",{className:"skeleton-text w-20"}),c.jsx("div",{className:"space-y-2",children:[1,2,3].map(st=>c.jsx("div",{className:"skeleton-text-sm w-full"},st))})]},re))})]}):c.jsx(sf,{})}),c.jsxs("footer",{className:"footer",children:[c.jsxs("span",{className:"footer-brand",children:[c.jsx("span",{children:c.jsx("a",{href:"https://canonry.ai",children:"Canonry"})}),G.apiStatus.version&&G.apiStatus.version!=="unknown"?c.jsxs("span",{className:"footer-version",children:["v",G.apiStatus.version]}):null]}),u?c.jsx("div",{className:"footer-links",children:Uw.map(({label:re,href:st,Icon:Ut})=>c.jsx("a",{href:st,target:"_blank",rel:"noopener noreferrer",title:re,"aria-label":re,className:"footer-icon",children:c.jsx(Ut,{className:"size-3.5"})},st))}):null]})]}),R&&!ce&&Le?c.jsx(Wu,{open:!0,title:"Loading run details",subtitle:"Fetching the durable run record",onClose:F,children:c.jsx("p",{className:"text-sm text-muted",role:"status",children:"Loading run details…"})}):null,R&&!ce&&Ze.isError?c.jsx(Wu,{open:!0,title:"Run unavailable",subtitle:"The run could not be loaded",onClose:F,children:c.jsx("p",{className:"text-sm text-negative",children:Ze.error instanceof Error?Ze.error.message:"Run details are unavailable."})}):null,ce?c.jsxs(Wu,{open:!0,title:ce.summary,subtitle:`${ce.projectName} · ${ce.kindLabel}`,onClose:F,children:[c.jsxs("div",{className:"flex flex-wrap items-center gap-x-5 gap-y-1 text-sm",children:[c.jsx(Dg,{status:ce.status}),c.jsx("span",{className:"text-secondary",children:ce.startedAt}),c.jsx("span",{className:"text-muted",children:ce.duration}),c.jsx("span",{className:"text-faint",children:ce.triggerLabel})]}),ce.status==="failed"&&ce.statusDetail&&c.jsx("p",{className:"mt-2 text-sm text-negative",children:ce.statusDetail}),c.jsxs("div",{className:"mt-4",children:[c.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-wider text-muted mb-2",children:"Activity Log"}),Le?c.jsx("p",{className:"text-sm text-muted",children:"Loading run details..."}):Ne?.snapshots&&Ne.snapshots.length>0?c.jsxs("div",{className:"space-y-2",children:[Ne.snapshots.map(re=>c.jsxs("div",{className:"rounded-lg border border-default bg-surface p-3",children:[c.jsxs("div",{className:"flex items-center justify-between gap-2 mb-1",children:[c.jsx("p",{className:"text-sm font-medium text-strong truncate",children:re.query??"Unknown query"}),c.jsxs("div",{className:"flex items-center gap-1.5",children:[c.jsx(eQ,{provider:re.provider}),c.jsx(CA,{variant:re.citationState===bd.cited?"success":"neutral",children:re.citationState})]})]}),re.model&&c.jsx("p",{className:"text-[11px] text-muted font-mono",children:re.model}),re.citedDomains.length>0&&c.jsxs("p",{className:"text-xs text-muted mt-1",children:[c.jsx("span",{className:"text-secondary",children:"Sources:"})," ",re.citedDomains.join(", ")]}),re.citedCompetitorDomains.length>0&&c.jsxs("p",{className:"text-xs text-negative-400/80 mt-0.5",children:["Competitor cited: ",re.citedCompetitorDomains.join(", ")]}),re.mentionedCompetitorDomains.length>0&&c.jsxs("p",{className:"text-xs text-negative-400/80 mt-0.5",children:["Competitor mentioned: ",re.mentionedCompetitorDomains.join(", ")]}),re.groundingSources&&re.groundingSources.length>0&&c.jsxs("details",{className:"mt-2",children:[c.jsxs("summary",{className:"text-xs text-muted cursor-pointer hover:text-secondary",children:[re.groundingSources.length," grounding source",re.groundingSources.length!==1?"s":""]}),c.jsx("ul",{className:"mt-1 space-y-0.5",children:re.groundingSources.map((st,Ut)=>{const _n=Bf(st.uri),pa=st.title||st.uri;return c.jsx("li",{className:"text-xs text-muted truncate",children:_n?c.jsx("a",{href:_n,target:"_blank",rel:"noopener noreferrer",className:"hover:text-neutral",children:pa}):c.jsx("span",{children:pa})},Ut)})})]}),re.answerText&&c.jsxs("details",{className:"mt-1",children:[c.jsx("summary",{className:"text-xs text-muted cursor-pointer hover:text-secondary",children:"Answer preview"}),c.jsx("p",{className:"mt-1 text-xs text-secondary leading-relaxed whitespace-pre-wrap",children:re.answerText})]})]},re.id)),Ne.status==="running"&&c.jsxs("div",{className:"flex items-center gap-2 p-3 text-sm text-muted",children:[c.jsx("span",{className:"inline-block h-2 w-2 rounded-full bg-caution-500 animate-pulse"}),"Running remaining queries..."]})]}):Ne&&Ne.status==="running"?c.jsxs("div",{className:"flex items-center gap-2 p-3 text-sm text-muted",children:[c.jsx("span",{className:"inline-block h-2 w-2 rounded-full bg-caution-500 animate-pulse"}),"Waiting for first query result..."]}):Ne&&Ne.status==="queued"?c.jsxs("div",{className:"flex items-center gap-2 p-3 text-sm text-muted",children:[c.jsx("span",{className:"inline-block h-2 w-2 rounded-full bg-mono-500 animate-pulse"}),"Run queued, waiting for execution slot..."]}):Ne&&Ne.error?c.jsxs("div",{className:"rounded-lg border border-negative-800/40 bg-negative-950/20 p-3",children:[c.jsx("p",{className:"text-sm font-medium text-negative mb-2",children:"Run failed"}),c.jsx("pre",{className:"max-h-48 overflow-y-auto whitespace-pre-wrap break-words font-mono text-xs leading-5 text-negative",children:J$(Ne.error)})]}):c.jsx("p",{className:"text-sm text-muted",children:"No snapshot data available."})]})]}):null,q&&!vt?c.jsx(Wu,{open:!0,title:Ee?"Loading answer":"Answer unavailable",subtitle:"Query evidence",onClose:F,children:Ee?c.jsx("p",{role:"status",className:"text-sm text-secondary",children:"Loading answer…"}):c.jsxs(c.Fragment,{children:[c.jsx("p",{role:"alert",className:"text-sm text-secondary",children:Se||nt?"Could not load this answer.":"This answer is not in the available query evidence."}),c.jsx(me,{type:"button",variant:"outline",onClick:()=>{Ve()},children:"Retry"})]})}):null,vt?c.jsx(uQ,{evidence:vt.evidence,project:vt.project,onClose:F}):null,c.jsx(eZ,{}),c.jsx(XQ,{}),g?c.jsx(QF,{}):null]})]})}class nZ extends N.Component{state={error:null};static getDerivedStateFromError(n){return{error:n}}componentDidCatch(n,i){console.error("[ErrorBoundary]",n,i.componentStack)}handleReset=()=>{this.setState({error:null})};render(){return this.state.error?c.jsx("div",{className:"page-container",children:c.jsxs("div",{className:"flex flex-col items-center justify-center gap-4 py-20 text-center",children:[c.jsx("div",{className:"rounded-full bg-negative-950/40 p-3",children:c.jsx(dk,{className:"size-6 text-negative-400"})}),c.jsx("h2",{className:"text-lg font-semibold text-heading",children:"Something went wrong"}),c.jsx("p",{className:"text-sm text-secondary max-w-md",children:this.state.error.message||"An unexpected error occurred while rendering this page."}),c.jsxs("div",{className:"flex gap-3 mt-2",children:[c.jsxs(me,{variant:"secondary",size:"sm",onClick:this.handleReset,children:[c.jsx(NN,{className:"size-3.5 mr-1.5"}),"Try again"]}),c.jsx(me,{variant:"secondary",size:"sm",onClick:()=>{const n=window.__CANONRY_CONFIG__?.basePath?.replace(/\/$/,"")??"";window.location.href=n||"/"},children:"Go home"})]})]})}):this.props.children}}const Na=N.forwardRef(({className:e,...n},i)=>c.jsx("div",{ref:i,className:za("rounded-xl border border-base bg-bg/75 shadow-[0_0_0_1px_var(--color-shadow-hairline)]",e),...n}));Na.displayName="Card";const br=N.forwardRef(({className:e,...n},i)=>c.jsx("div",{ref:i,className:za("flex flex-col gap-1.5 p-5",e),...n}));br.displayName="CardHeader";const LA=N.forwardRef(({className:e,...n},i)=>c.jsx("h3",{ref:i,className:za("font-medium tracking-tight text-primary",e),...n}));LA.displayName="CardTitle";const Nd=N.forwardRef(({className:e,...n},i)=>c.jsx("p",{ref:i,className:za("text-sm text-muted",e),...n}));Nd.displayName="CardDescription";const lo=N.forwardRef(({className:e,...n},i)=>c.jsx("div",{ref:i,className:za("p-5 pt-0",e),...n}));lo.displayName="CardContent";const aZ=20,iZ=6;function sZ({points:e,tone:n}){const i=N.useId();if(e.length===0)return null;const r=42,u=132,h=5,g=u-h*2,b=r-h*2,v=b-iZ,w=q=>h+q/Math.max(e.length-1,1)*g,k=TU(e),A=Math.min(...e),T=Math.max(...e),_=Math.max(T-A,aZ),G=(T+A)/2-_/2,R=e.map((q,F)=>({x:w(F),y:h+(1-(q-G)/_)*v}));return c.jsxs("svg",{className:`sparkline sparkline-${n}${k?" sparkline-provisional":""}`,viewBox:`0 0 ${u} ${r}`,"aria-hidden":"true",children:[c.jsx("defs",{children:c.jsx("clipPath",{id:i,children:c.jsx("rect",{x:h,y:h,width:g,height:b,rx:"8"})})}),c.jsx("line",{className:"sparkline-guide",x1:h,x2:u-h,y1:r-h,y2:r-h}),R.length===1?c.jsx("circle",{className:"sparkline-point",cx:R[0].x,cy:R[0].y,r:"3"}):c.jsx("polyline",{clipPath:`url(#${i})`,points:R.map(q=>`${q.x},${q.y}`).join(" "),vectorEffect:"non-scaling-stroke"})]})}function oZ({project:e}){return c.jsxs(Xe,{to:"/projects/$projectName",params:{projectName:e.project.name},className:"project-row cursor-pointer",children:[c.jsx("div",{className:"project-row-chart",children:c.jsx(sZ,{points:e.trend,tone:rA(e.lastRun.status)})}),c.jsxs("div",{className:"project-row-primary",children:[c.jsxs("div",{children:[c.jsx("p",{className:"project-name",children:e.project.name}),c.jsx("p",{className:"project-domain",children:e.project.canonicalDomain})]}),c.jsx("p",{className:"project-insight",children:e.insight})]}),c.jsx("div",{className:"project-row-stat",children:c.jsxs("div",{className:"metric-inline-block",children:[c.jsx("p",{className:"metric-inline-label",children:"Mentioned"}),c.jsx("p",{className:`metric-inline-value ${e.mentionTone==="caution"?"text-caution-400":""}`,children:e.hasMeasurement===!1?"Not measured":yn(e.mentionScore,At.percent)}),c.jsx("p",{className:`metric-inline-caption${e.providerCoverage?" text-caution":""}`,title:e.providerCoverage,children:e.providerCoverage?c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"sr-only",children:"Partial sweep: "}),e.providerCoverage]}):e.mentionDelta})]})}),c.jsx("div",{className:"project-row-stat",children:c.jsxs("div",{className:"metric-inline-block",children:[c.jsxs("p",{className:"metric-inline-label",children:[c.jsx("span",{"aria-hidden":"true",children:"Pressure"}),c.jsx("span",{className:"sr-only",children:"Competitor pressure"})]}),c.jsx("p",{className:"metric-inline-value",children:e.hasMeasurement===!1?"Not measured":e.competitorPressureLabel}),c.jsx("p",{className:"metric-inline-caption","aria-hidden":"true"})]})}),c.jsx("span",{className:"project-row-link",children:c.jsx(Wf,{className:"h-4 w-4 text-muted"})})]})}function rZ(){const{isAdmin:e}=da(),n=Nc(),{dashboard:i,isLoading:r,isError:u,refetch:h}=mm(),g=i??n?.dashboard,v=zg(!n,n?.health),{openRun:w}=Og();if(u&&!g)return c.jsxs("div",{className:"page-container",children:[c.jsx("div",{className:"page-header",children:c.jsxs("div",{className:"page-header-left",children:[c.jsx("h1",{className:"page-title",children:"Portfolio unavailable"}),c.jsx("p",{className:"page-subtitle",children:"Canonry could not load the project list."})]})}),c.jsxs("div",{className:"max-w-xl rounded-lg border border-negative bg-negative-soft p-4",role:"alert",children:[c.jsx("p",{className:"text-sm font-medium text-heading",children:"Your projects have not been changed."}),c.jsx("p",{className:"mt-1 text-sm text-secondary",children:"Check the connection or sign in again, then retry."}),c.jsx(me,{type:"button",variant:"secondary",className:"mt-4",onClick:()=>{h()},children:"Retry loading portfolio"})]})]});if(!g||r)return c.jsxs("div",{className:"page-skeleton",children:[c.jsxs("div",{className:"page-skeleton-header",children:[c.jsx("div",{className:"skeleton-text h-6 w-32"}),c.jsx("div",{className:"skeleton-text-sm w-64"})]}),c.jsx("div",{className:"space-y-3",children:[1,2,3].map(R=>c.jsxs("div",{className:"rounded-xl border border-default bg-surface p-4 flex items-center gap-4",children:[c.jsxs("div",{className:"flex-1 space-y-2",children:[c.jsx("div",{className:"skeleton-text w-36"}),c.jsx("div",{className:"skeleton-text-sm w-48"})]}),c.jsx("div",{className:"skeleton-text w-16"}),c.jsx("div",{className:"skeleton-text w-16"}),c.jsx("div",{className:"skeleton h-8 w-20 rounded"})]},R))})]});const k=g.portfolioOverview,A=k.projects.length>0&&k.projects.every(R=>R.hasMeasurement===!1),T=k.attentionItems.map(R=>A&&R.id==="attention_stable"?{...R,tone:"neutral",title:"Awaiting first measurement",detail:"Visibility results will appear after the first sweep."}:R),_=v.data??n?.health??{apiStatus:{label:"API",state:"checking",detail:"Checking service health"},workerStatus:{label:"Worker",state:"checking",detail:"Checking service health"}},G=ZK(k.systemHealth.filter(R=>e||R.id==="api"||R.id==="worker"),_,g.settings);return c.jsxs("div",{className:"page-container",children:[c.jsx("div",{className:"page-header",children:c.jsxs("div",{className:"page-header-left",children:[c.jsx("h1",{className:"page-title",children:"Portfolio"}),c.jsx("p",{className:"page-subtitle",children:"Visibility across all projects."})]})}),k.projects.length>0?c.jsx("div",{className:"project-list project-list-scrollable",children:k.projects.map(R=>c.jsx(oZ,{project:R},R.project.id))}):c.jsxs(Na,{className:"surface-card empty-card",children:[c.jsx("h3",{children:k.emptyState?.title??"No projects yet"}),c.jsx("p",{className:"supporting-copy",children:k.emptyState?.detail}),c.jsx(me,{size:"sm",asChild:!0,children:c.jsx(Xe,{to:k.emptyState?.ctaHref==="/setup"||!k.emptyState?.ctaHref?"/setup":"/",children:k.emptyState?.ctaLabel??"Launch setup"})})]}),c.jsxs("div",{className:"overview-secondary-grid",children:[T.length>0&&c.jsxs("section",{className:"overview-secondary-section",children:[c.jsx("div",{className:"section-head section-head-inline",children:c.jsxs("div",{children:[c.jsx("p",{className:"eyebrow eyebrow-soft",children:"Needs attention"}),c.jsx("h2",{className:"section-title-sm",children:"What changed"})]})}),c.jsx("div",{className:"attention-list attention-list-scrollable",children:T.map(R=>R.href?c.jsxs(Xe,{to:R.href,className:`attention-item attention-item-${R.tone}`,children:[c.jsxs("div",{children:[c.jsx("p",{className:"attention-title",children:R.title}),c.jsx("p",{className:"attention-detail",children:R.detail})]}),R.actionLabel&&c.jsx("span",{className:"attention-action",children:R.actionLabel})]},R.id):c.jsxs("div",{className:`attention-item attention-item-static attention-item-${R.tone}`,children:[c.jsxs("div",{children:[c.jsx("p",{className:"attention-title",children:R.title}),c.jsx("p",{className:"attention-detail",children:R.detail})]}),R.actionLabel&&c.jsx("span",{className:"attention-action",children:R.actionLabel})]},R.id))})]}),c.jsxs("section",{className:"overview-secondary-section",children:[c.jsx("div",{className:"section-head section-head-inline",children:c.jsxs("div",{children:[c.jsx("p",{className:"eyebrow eyebrow-soft",children:"Recent runs"}),c.jsx("h2",{className:"section-title-sm",children:"Activity"})]})}),c.jsx("div",{className:"compact-stack compact-stack-scrollable",children:k.recentRuns.length>0?k.recentRuns.map(R=>c.jsxs("button",{className:"compact-run",type:"button",onClick:()=>w(R.id),children:[c.jsxs("div",{children:[c.jsx("p",{className:"compact-run-title",children:R.projectName}),c.jsx("p",{className:"compact-run-detail",children:R.summary})]}),c.jsx(Dg,{status:R.status})]},R.id)):c.jsx("p",{className:"supporting-copy",children:"Run history appears here after the first launch."})})]})]}),c.jsxs("section",{className:"page-section",children:[c.jsx("div",{className:"section-head section-head-inline",children:c.jsxs("div",{children:[c.jsx("p",{className:"eyebrow eyebrow-soft",children:"System health"}),c.jsx("h2",{className:"section-title-sm",children:"Infrastructure"})]})}),c.jsx("div",{className:"divide-y divide-default border-y border-default",children:G.map(R=>{const q=R.id==="api"?_.apiStatus:R.id==="worker"?_.workerStatus:void 0,F=q?q.state==="ok"?void 0:Er(q):R.tone==="positive"?void 0:R.meta;return c.jsxs("div",{className:"flex items-start justify-between gap-4 py-3",children:[c.jsxs("div",{children:[c.jsx("p",{className:"text-sm font-medium text-heading",children:R.label}),F&&c.jsx("p",{className:"mt-1 text-sm text-secondary",children:F})]}),c.jsx(On,{tone:R.tone,title:q?Er(q):R.meta,children:R.detail})]},R.id)})})]})]})}const lZ='a, button, input, select, textarea, label, [role="button"], [role="link"], [role="checkbox"], [role="menuitem"]';function cZ(e){if(e.defaultPrevented||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return!1;const n=e.target;if(n&&typeof n.closest=="function"&&n.closest(lZ))return!1;const i=typeof window<"u"?window.getSelection():null;return!(i&&!i.isCollapsed&&i.toString().trim()!=="")}function uZ({onApplied:e}){const{canWrite:n}=da(),[i,r]=N.useState(""),[u,h]=N.useState(!1),[g,b]=N.useState([]),[v,w]=N.useState([]);if(e$()||!n)return null;const k=async()=>{if(!i.trim())return;h(!0),b([]),w([]);const A=DN(i),T=[],_=[];for(let G=0;G<A.length;G++){const R=A[G];if(R.errors.length>0){T.push(`Document ${G+1}: ${R.errors[0]?.message}`);continue}const q=R.toJSON();if(!(!q||typeof q!="object"))try{const F=await j$(q);_.push(`Applied "${F.displayName||F.name}" (revision ${F.configRevision})`)}catch(F){T.push(`Document ${G+1}: ${hr(F)}`)}}b(_),w(T),h(!1),_.length>0&&(bn({title:"YAML applied",detail:`Applied ${_.length} document${_.length===1?"":"s"} successfully.`,tone:T.length>0?"caution":"positive",dedupeKey:"yaml:apply",dedupeMode:"replace"}),e())};return c.jsxs("section",{className:"mt-8",children:[c.jsx("div",{className:"page-section-divider"}),c.jsx("div",{className:"section-head mt-6",children:c.jsxs("div",{children:[c.jsx("p",{className:"eyebrow eyebrow-soft",children:"Config as code"}),c.jsx("h2",{className:"text-sm font-medium text-strong",children:"Apply YAML"})]})}),c.jsxs("p",{className:"text-muted text-sm mb-3",children:["Paste a ",c.jsx("code",{className:"text-secondary",children:"canonry.yaml"})," config (multi-document YAML with ",c.jsx("code",{className:"text-secondary",children:"---"})," separators supported)."]}),c.jsx("textarea",{className:"setup-input w-full font-mono text-xs",rows:10,placeholder:`apiVersion: canonry/v1
65
- kind: Project
66
- metadata:
67
- name: my-project
68
- spec:
69
- canonicalDomain: example.com
70
- country: US
71
- language: en
72
- queries: []`,value:i,onChange:A=>r(A.target.value)}),g.length>0&&c.jsx("ul",{className:"mt-2 space-y-1",children:g.map((A,T)=>c.jsx("li",{className:"text-positive-400 text-sm",children:A},T))}),v.length>0&&c.jsx("ul",{className:"mt-2 space-y-1",children:v.map((A,T)=>c.jsx("li",{className:"text-negative-400 text-sm",children:A},T))}),c.jsx("div",{className:"mt-3",children:c.jsx(me,{type:"button",disabled:!i.trim()||u,onClick:cn(k),children:u?"Applying...":"Apply"})})]})}function dZ(){const{dashboard:e,isLoading:n,refetch:i}=mm(),{canWrite:r,isAdmin:u}=da(),h=xs();if(!e||n)return c.jsxs("div",{className:"page-skeleton",children:[c.jsxs("div",{className:"page-skeleton-header",children:[c.jsx("div",{className:"skeleton-text h-6 w-28"}),c.jsx("div",{className:"skeleton-text-sm w-40"})]}),c.jsxs("div",{className:"rounded-xl border border-default bg-surface overflow-hidden",children:[c.jsx("div",{className:"p-3 border-b border-default flex gap-8",children:["Name","Domain","Mentions","Last run","Country"].map(b=>c.jsx("div",{className:"skeleton-text-sm w-16"},b))}),[1,2,3].map(b=>c.jsxs("div",{className:"p-3 border-b border-subtle flex gap-8 items-center",children:[c.jsxs("div",{className:"flex-1 space-y-1",children:[c.jsx("div",{className:"skeleton-text w-28"}),c.jsx("div",{className:"skeleton-text-sm w-16"})]}),c.jsx("div",{className:"skeleton-text w-24"}),c.jsx("div",{className:"skeleton h-5 w-14 rounded-full"}),c.jsx("div",{className:"skeleton h-5 w-16 rounded-full"}),c.jsx("div",{className:"skeleton-text-sm w-8"})]},b))]})]});const g=e.projects;return c.jsxs("div",{className:"page-container",children:[c.jsxs("div",{className:"page-header",children:[c.jsxs("div",{className:"page-header-left",children:[c.jsx("h1",{className:"page-title",children:"Projects"}),c.jsxs("p",{className:"page-subtitle",children:[g.length," project",g.length!==1?"s":""," tracked"]})]}),u?c.jsx("div",{className:"page-header-right",children:c.jsxs(me,{type:"button",onClick:()=>{h({to:"/setup",search:{experience:"platform"}})},children:[c.jsx(of,{className:"size-4 mr-1.5"}),g.length===0?"Map a site":"Add project"]})}):null]}),g.length>0?c.jsx("div",{className:"data-table-wrapper",children:c.jsxs("table",{className:"data-table",children:[c.jsx("thead",{children:c.jsxs("tr",{children:[c.jsx("th",{children:"Name"}),c.jsx("th",{children:"Domain"}),c.jsx("th",{children:"Mentions"}),c.jsx("th",{children:"Last run"}),c.jsx("th",{className:"text-right",children:"Country"})]})}),c.jsx("tbody",{children:g.map(b=>{const v=b.recentRuns[0];return c.jsxs("tr",{className:"cursor-pointer",onClick:w=>{cZ(w)&&h({to:"/projects/$projectName",params:{projectName:b.project.name}})},children:[c.jsxs("td",{children:[c.jsx(Xe,{to:"/projects/$projectName",params:{projectName:b.project.name},className:"text-heading font-medium hover:underline",children:b.project.displayName||b.project.name}),c.jsx("p",{className:"text-[11px] text-muted",children:b.project.name})]}),c.jsx("td",{className:"text-secondary",children:b.project.canonicalDomain}),c.jsx("td",{children:c.jsx(On,{tone:b.mentionSummary.tone,children:b.mentionSummary.value})}),c.jsx("td",{className:"text-muted text-sm",children:v?c.jsx(Dg,{status:v.status}):c.jsx("span",{className:"text-faint",children:"No runs"})}),c.jsx("td",{className:"text-right text-muted",children:b.project.country})]},b.project.id)})})]})}):c.jsxs(Na,{className:"surface-card empty-card",children:[c.jsx("h3",{children:"No projects yet"}),c.jsx("p",{className:"supporting-copy",children:"Map a public site to capture its Page Health baseline and exact fixes."}),u?c.jsxs(me,{type:"button",onClick:()=>{h({to:"/setup",search:{experience:"platform"}})},children:[c.jsx(of,{className:"size-4 mr-1.5"}),"Map a site"]}):null]}),r?c.jsx(uZ,{onApplied:()=>{i()}}):null]})}const Kw="canonry.onboarding-session.v1",_d="canonry.onboarding-launched-run.v1",Pg="canonry.onboarding-handoff.v1",mZ=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,pZ=["system","project","queries","competitors","run"];function hZ(e){return pZ[e]??"system"}function fZ(e){if(!e.apiReady)return"api_unavailable";if(e.databaseConfigured===!1)return"database_unavailable";if(!e.workerReady)return"worker_unavailable";if(!e.providerReady)return"no_provider"}function gZ(e){return e.apiStatus.state!=="checking"&&e.workerStatus.state!=="checking"}const yZ={NO_PROVIDER:"no_provider",NO_QUERIES:"no_queries",RATE_LIMITED:"rate_limited",QUOTA_EXCEEDED:"rate_limited",PROVIDER_AUTH:"provider_auth",AUTH_INVALID:"provider_auth",FORBIDDEN:"provider_auth",NETWORK:"network",CONNECTION_ERROR:"network",RUN_IN_PROGRESS:"run_rejected",RUN_CANCELLED:"run_cancelled"};function nc(e,n){const i=e&&typeof e=="object"&&"code"in e?String(e.code):"";return yZ[i]??n}function qg(){try{const e=typeof window<"u"?window.sessionStorage.getItem(Kw):null;if(e&&mZ.test(e))return e;const n=Kf();return typeof window<"u"&&window.sessionStorage.setItem(Kw,n),n}catch{return Kf()}}function Mg(){return Kf()}function VA(e){if(!e||typeof e!="object")return!1;const n=e;return typeof n.projectName=="string"&&n.projectName.length>0&&typeof n.runId=="string"&&n.runId.length>0&&typeof n.handled=="boolean"}function UA(e,n){try{typeof window<"u"&&window.sessionStorage.setItem(_d,JSON.stringify({projectName:e,runId:n,handled:!1}))}catch{}}function $A(e){if(!e)return null;try{if(typeof window>"u")return null;const n=window.sessionStorage.getItem(_d);if(!n)return null;const i=JSON.parse(n);return!VA(i)||i.projectName!==e||i.handled?null:i}catch{return null}}function Td(e){try{if(typeof window>"u")return;const n=window.sessionStorage.getItem(_d);if(!n)return;const i=JSON.parse(n);if(!VA(i)||i.runId!==e)return;window.sessionStorage.setItem(_d,JSON.stringify({...i,handled:!0}))}catch{}}function bZ(e){try{typeof window<"u"&&window.sessionStorage.setItem(Pg,e)}catch{}}function vZ(e){if(!e)return!1;try{return typeof window<"u"&&window.sessionStorage.getItem(Pg)===e}catch{return!1}}function xZ(){try{typeof window<"u"&&window.sessionStorage.removeItem(Pg)}catch{}}function Kf(){const e=globalThis.crypto;if(e.randomUUID)return e.randomUUID();const n=new Uint8Array(16);if(e.getRandomValues)e.getRandomValues(n);else for(let r=0;r<n.length;r+=1)n[r]=Math.floor(Math.random()*256);n[6]=n[6]&15|64,n[8]=n[8]&63|128;const i=[...n].map(r=>r.toString(16).padStart(2,"0")).join("");return`${i.slice(0,8)}-${i.slice(8,12)}-${i.slice(12,16)}-${i.slice(16,20)}-${i.slice(20)}`}class wZ extends Error{constructor(){super(tA),this.name="ViewOnlyError"}}function kZ(e){if(!e.canWrite)throw new wZ}function GA(e){e.invalidateQueries({queryKey:Ng({client:ne})}),e.invalidateQueries({queryKey:vs({client:ne})})}function Ao(){const e=da();return()=>{kZ(e)}}function SZ(e){return e==="gsc-sync"?"GSC sync queued":e==="inspect-sitemap"?"Sitemap inspection queued":"Visibility sweep queued"}function jZ(e,n){const i=e??"Project";return n==="gsc-sync"?`${i} will refresh after the sync completes.`:n==="inspect-sitemap"?`${i} will notify you when sitemap inspection finishes.`:`${i} will notify you when the run finishes.`}function Bg(e,n){Tg({id:e.id,projectId:e.projectId,kind:e.kind,projectLabel:n.projectLabel,sourceAction:n.sourceAction,lastAnnouncedStatus:"queued"}),bn({title:SZ(e.kind),detail:jZ(n.projectLabel,e.kind),tone:"neutral",dedupeKey:`run:${e.id}`,dedupeMode:"replace"})}function AZ(e){const n=e.filter(g=>g.status!=="conflict"&&g.status!=="error"),i=e.filter(g=>g.status==="conflict"),r=e.filter(g=>g.status==="error"),u=i.length+r.length;if(n.length===0){const g=[r.length>0?`${r.length} need provider or query setup`:null,i.length>0?`${i.length} already have an active run`:null].filter(b=>b!==null);bn({title:"No runs queued",detail:g.length>0?`${g.join("; ")}.`:"No projects were available to queue.",tone:"caution",durationMs:8e3,dedupeKey:"run-all:conflict",dedupeMode:"replace"});return}for(const g of n)Tg({id:g.id,projectId:g.projectId,kind:g.kind,projectLabel:g.projectName,sourceAction:"run-all",lastAnnouncedStatus:"queued"});const h=nH({runIds:n.map(g=>g.id),queuedCount:n.length,skippedCount:u});bn({title:"Run-all batch queued",detail:u>0?`${n.length} project${n.length===1?"":"s"} queued; ${u} need attention or already have an active run.`:`${n.length} project${n.length===1?"":"s"} queued.`,tone:u>0?"caution":"neutral",dedupeKey:`batch:${h}`,dedupeMode:"replace"})}function gm(e,n){if(e instanceof gn&&e.code==="RUN_IN_PROGRESS"){bn({title:"Run already in progress",detail:n?.projectLabel?`${n.projectLabel} already has an active run. Wait for it to finish, then retry.`:"This project already has an active run. Wait for it to finish, then retry.",tone:"caution",durationMs:8e3,dedupeKey:`run-in-progress:${n?.projectKey??"project"}:${n?.sourceAction??"run"}`,dedupeMode:"replace"});return}bn({title:e instanceof Error?e.message:"Failed to queue run",tone:"negative"})}function CZ(){const e=Ao(),n=ca();return ws({onMutate:e,meta:{skipGlobalErrorToast:!0},mutationFn:({projectName:i,opts:r})=>y$(i,r),onSuccess:(i,r)=>{GA(n),Bg(i,{projectLabel:r.projectLabel??r.projectName,sourceAction:r.sourceAction})},onError:(i,r)=>{r.sourceAction!=="setup-launch"&&gm(i,{projectKey:r.projectName,projectLabel:r.projectLabel??r.projectName,sourceAction:r.sourceAction})}})}function Fne(){const e=Ao(),n=ca();return ws({onMutate:e,meta:{skipGlobalErrorToast:!0},mutationFn:i=>A$(i),onSuccess:i=>{GA(n),AZ(i)},onError:i=>{bn({title:i instanceof Error?i.message:"Failed to queue runs",tone:"negative"})}})}function NZ(){const e=Ao(),n=ca();return ws({onMutate:e,meta:{skipGlobalErrorToast:!0},mutationFn:({projectName:i,body:r})=>_$(i,r),onSuccess:(i,r)=>{dc(n,De["site-audit"],r.projectName),Tg({id:i.runId,projectId:r.projectId,kind:De["site-audit"],projectLabel:r.projectLabel??r.projectName,sourceAction:"site-audit",lastAnnouncedStatus:i.status}),bn({title:i.status==="running"?"Site Health scan already running":"Site Health scan queued",detail:`${r.projectLabel??r.projectName} will refresh automatically when the scan finishes.`,tone:"neutral",dedupeKey:`run:${i.runId}`,dedupeMode:"replace"})},onError:(i,r)=>{r.suppressErrorToast||gm(i,{projectKey:r.projectName,projectLabel:r.projectLabel??r.projectName,sourceAction:"site-audit"})}})}function Zne(){const e=Ao(),n=ca();return ws({onMutate:e,meta:{skipGlobalErrorToast:!0},mutationFn:({projectName:i,opts:r})=>C$(i,r),onSuccess:(i,r)=>{dc(n,De["gsc-sync"],r.projectName),Bg(i,{projectLabel:r.projectLabel??r.projectName,sourceAction:"gsc-sync"})},onError:(i,r)=>{gm(i,{projectKey:r.projectName,projectLabel:r.projectLabel??r.projectName,sourceAction:"gsc-sync"})}})}function Yne(){const e=Ao(),n=ca();return ws({onMutate:e,meta:{skipGlobalErrorToast:!0},mutationFn:({projectName:i,opts:r})=>N$(i,r),onSuccess:(i,r)=>{dc(n,De["inspect-sitemap"],r.projectName),Bg(i,{projectLabel:r.projectLabel??r.projectName,sourceAction:"inspect-sitemap"})},onError:(i,r)=>{gm(i,{projectKey:r.projectName,projectLabel:r.projectLabel??r.projectName,sourceAction:"inspect-sitemap"})}})}function Lg(e){if(!Array.isArray(e.queryKey)||e.queryKey.length<=1)return!1;const n=e.queryKey[0];return n==="projects"||n==="project-dashboard-full"}function Xne(){const e=Ao(),n=ca();return ws({onMutate:e,mutationFn:({projectName:i,queries:r})=>h$(i,r),onSuccess:()=>{n.invalidateQueries({queryKey:vs({client:ne})}),n.invalidateQueries({predicate:Lg})}})}function Wne(){const e=Ao(),n=ca();return ws({onMutate:e,mutationFn:({projectName:i,body:r})=>f$(i,r),onSuccess:()=>{zn(n,"project"),n.invalidateQueries({predicate:Lg})}})}function Jne({disabled:e,title:n,...i}){const{canWrite:r}=da();return r?c.jsx(me,{disabled:e,title:n,...i}):c.jsx(me,{...i,disabled:!0,title:tA})}function Vg({title:e,children:n}){const{isAdmin:i}=da();return i?c.jsx(c.Fragment,{children:n}):c.jsxs(Na,{className:"surface-card mx-auto mt-8 max-w-lg",children:[c.jsxs(br,{children:[c.jsxs(LA,{children:[e," is for administrators"]}),c.jsx(Nd,{children:"Your account has view-only access. You can read everything this install has measured; changing how it is set up needs an administrator account."})]}),c.jsx(lo,{children:c.jsx("p",{className:"supporting-copy",children:"If you need to make a change here, ask an administrator on this install."})})]})}const Hw=[{id:"site",label:"Scan site",optional:!1},{id:"fixes",label:"Page health",optional:!1},{id:"visibility",label:"AI Visibility",optional:!0},{id:"done",label:"Next steps",optional:!1}],_Z={skipped:"Skipped",pending:"In progress",incomplete:"Didn’t finish",unknown:null};function yo({current:e,outcomes:n={}}){const i=Hw.findIndex(r=>r.id===e);return c.jsx("ol",{"aria-label":"Onboarding progress",className:"grid border-y border-default sm:grid-cols-4 sm:divide-x sm:divide-default",children:Hw.map((r,u)=>{const h=u<i?n[r.id]:void 0,g=u<i&&h===void 0,b=u===i,v=h?_Z[h]:null;return c.jsxs("li",{"aria-current":b?"step":void 0,className:"flex min-h-12 items-center gap-3 py-2 sm:px-3 sm:first:pl-0 sm:last:pr-0",children:[c.jsx("span",{"aria-hidden":"true",className:`flex size-6 shrink-0 items-center justify-center rounded-full border text-xs font-semibold tabular-nums ${b?"border-accent bg-accent text-on-inverse":g?"border-positive bg-positive-soft text-positive":"border-default bg-surface-subtle text-muted"}`,children:g?"✓":h==="skipped"||h==="incomplete"?"–":u+1}),c.jsxs("span",{className:"flex min-w-0 flex-wrap items-baseline gap-x-2",children:[c.jsx("span",{className:`text-sm font-medium ${b||g?"text-heading":"text-secondary"}`,children:r.label}),v?c.jsx("span",{className:"text-[13px] text-secondary",children:v}):r.optional&&!h?c.jsx("span",{className:"text-[13px] text-secondary",children:"Optional"}):null,g?c.jsx("span",{className:"sr-only",children:"Complete"}):null]})]},r.id)})})}function TZ(){return[{id:"search-console",icon:Yf,label:"Search Console",detail:"Compare answer engines with the queries you already rank for.",action:"Connect",to:"/projects/$projectName/search-console"},{id:"analytics",icon:mk,label:"Google Analytics",detail:"See the traffic answer engines actually send you.",action:"Connect",to:"/projects/$projectName/activity"},{id:"schedule",icon:pk,label:"Scheduled sweeps",detail:"Re-measure on a schedule instead of by hand.",action:"Set up",to:"/projects/$projectName/settings"},{id:"notifications",icon:rf,label:"Notifications",detail:"Send a webhook when a sweep finishes or a score moves.",action:"Set up",to:"/projects/$projectName/settings"},{id:"local",icon:hk,label:"Local presence",detail:"Track the Google Business Profile behind local answers.",action:"Open",to:"/projects/$projectName/local"},{id:"agent",icon:_N,label:"Your agent",detail:"Read this project from Claude Code, Codex, or any MCP client.",action:"Docs",href:"https://github.com/Canonry/canonry/blob/main/docs/mcp.md"}]}function RZ({projectName:e}){const n=TZ();return c.jsxs("section",{"aria-labelledby":"next-steps-heading",className:"mt-6 border-t border-default pt-5",children:[c.jsx("h2",{id:"next-steps-heading",className:"text-sm font-medium text-heading",children:"What else this project can do"}),c.jsx("ul",{className:"mt-3 divide-y divide-default",children:n.map(({id:i,icon:r,label:u,detail:h,action:g,to:b,href:v})=>c.jsxs("li",{className:"flex flex-wrap items-center gap-x-4 gap-y-1 py-3",children:[c.jsx(r,{className:"size-4 shrink-0 text-muted","aria-hidden":"true"}),c.jsx("span",{className:"min-w-36 text-sm font-medium text-heading",children:u}),c.jsx("span",{className:"min-w-0 flex-1 text-sm text-secondary",children:h}),b?c.jsxs(Xe,{to:b,params:{projectName:e},className:"text-sm font-medium text-link underline-offset-4 hover:underline",children:[g,c.jsxs("span",{className:"sr-only",children:[" ",u]})]}):c.jsxs("a",{href:v,target:"_blank",rel:"noreferrer",className:"text-sm font-medium text-link underline-offset-4 hover:underline",children:[g,c.jsxs("span",{className:"sr-only",children:[" ",u]})]})]},i))})]})}function EZ({providerName:e,keyUrl:n,modelHint:i,compact:r=!1,leadingField:u,secondaryActions:h,onSaved:g}){const b=e.toLowerCase()==="local",v=r&&e.toLowerCase()==="gemini"&&!!n,[w,k]=N.useState(""),[A,T]=N.useState(""),[_,G]=N.useState(""),[R,q]=N.useState(""),[F,ae]=N.useState(""),[L,W]=N.useState(""),[J,se]=N.useState(!1),[V,H]=N.useState(null),[ke,et]=N.useState(!1),it=b?A.trim().length>0:w.trim().length>0;async function Ke(){if(it){se(!0),H(null),et(!1);try{const ee=ce=>{const K=parseInt(ce.trim(),10);return Number.isFinite(K)&&K>0?K:void 0},_e={},Pe=ee(R);Pe!==void 0&&(_e.maxConcurrency=Pe);const be=ee(F);be!==void 0&&(_e.maxRequestsPerMinute=be);const le=ee(L);le!==void 0&&(_e.maxRequestsPerDay=le),await X3(e.toLowerCase(),{...w.trim()?{apiKey:w.trim()}:{},...A.trim()?{baseUrl:A.trim()}:{},..._.trim()?{model:_.trim()}:{},...Object.keys(_e).length>0?{quota:_e}:{}}),k(""),T(""),G(""),q(""),ae(""),W(""),et(!0),bn({title:"Provider updated",detail:`${e} configuration saved.`,tone:"positive",dedupeKey:`settings:provider:${e}`,dedupeMode:"replace"}),g()}catch(ee){H(ee instanceof Error?ee.message:"Failed to update provider")}finally{se(!1)}}}const Ze=i??"Use default model",Ne=r?"block text-sm font-medium text-secondary":"text-sm text-secondary",Le=r?"setup-input min-h-11 w-full":"mt-0.5 w-full rounded border border-strong bg-transparent px-2 py-1.5 text-sm text-strong placeholder-mono-600 focus:border-mono-500 focus:outline-none",I=c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:r?"space-y-1.5":void 0,children:[c.jsx("label",{className:Ne,htmlFor:`model-${e}`,children:"Model (optional)"}),c.jsx("input",{id:`model-${e}`,type:"text",className:Le,placeholder:Ze,value:_,onChange:ee=>G(ee.target.value)})]}),c.jsxs("div",{children:[c.jsx("label",{className:Ne,children:"Quota (optional)"}),c.jsxs("div",{className:"mt-0.5 grid grid-cols-3 gap-1.5",children:[c.jsxs("div",{children:[c.jsx("input",{type:"number",min:"1",className:r?"setup-input min-h-11 w-full":"w-full rounded border border-strong bg-transparent px-2 py-1.5 text-sm text-strong placeholder-mono-600 focus:border-mono-500 focus:outline-none",placeholder:"Concurrent",value:R,onChange:ee=>q(ee.target.value)}),c.jsx("p",{className:"mt-1 text-sm text-secondary",children:"Max concurrent"})]}),c.jsxs("div",{children:[c.jsx("input",{type:"number",min:"1",className:r?"setup-input min-h-11 w-full":"w-full rounded border border-strong bg-transparent px-2 py-1.5 text-sm text-strong placeholder-mono-600 focus:border-mono-500 focus:outline-none",placeholder:"/min",value:F,onChange:ee=>ae(ee.target.value)}),c.jsx("p",{className:"mt-1 text-sm text-secondary",children:"Per minute"})]}),c.jsxs("div",{children:[c.jsx("input",{type:"number",min:"1",className:r?"setup-input min-h-11 w-full":"w-full rounded border border-strong bg-transparent px-2 py-1.5 text-sm text-strong placeholder-mono-600 focus:border-mono-500 focus:outline-none",placeholder:"/day",value:L,onChange:ee=>W(ee.target.value)}),c.jsx("p",{className:"mt-1 text-sm text-secondary",children:"Per day"})]})]})]})]}),Y=b?c.jsxs("div",{className:r?"space-y-1.5":void 0,children:[c.jsx("label",{className:Ne,htmlFor:`base-url-${e}`,children:"Base URL"}),c.jsx("input",{id:`base-url-${e}`,type:"text",className:Le,placeholder:"http://localhost:11434/v1",value:A,onChange:ee=>T(ee.target.value)}),c.jsx("p",{className:"mt-1 text-sm text-secondary",children:"Use any OpenAI-compatible endpoint, such as Ollama or vLLM."})]}):null,fe=c.jsxs("div",{className:r?"min-w-0 space-y-1.5":void 0,children:[c.jsxs("div",{className:r?"flex items-center justify-between gap-3":"flex items-center justify-between",children:[c.jsxs("label",{className:Ne,htmlFor:`api-key-${e}`,children:["API key",b?" (optional)":""]}),n&&!v&&c.jsxs("a",{href:n,target:"_blank",rel:"noopener noreferrer",className:"text-sm text-secondary hover:text-neutral underline underline-offset-2",children:["Get API key ","↗"]})]}),c.jsx("input",{id:`api-key-${e}`,type:"password",autoComplete:"new-password",autoCapitalize:"none",spellCheck:!1,className:Le,placeholder:b?"Optional. Most local servers do not need one.":`Enter ${e} API key`,value:w,onChange:ee=>k(ee.target.value)})]}),we=c.jsx(me,{type:"button",size:r?"default":"sm",className:r?"min-h-11":void 0,disabled:!it||J,onClick:cn(Ke),children:J?"Saving...":r?"Save connection":"Save"});return c.jsxs("div",{className:r?"space-y-3":"mt-3 rounded-lg border border-base bg-bg-elevated/40 p-3 space-y-2",children:[v&&c.jsxs("div",{className:"flex flex-wrap items-start gap-x-6 gap-y-3 pb-2",children:[c.jsxs("div",{className:"min-w-0 flex-1 basis-72 space-y-1",children:[c.jsx("h3",{className:"text-base font-semibold text-heading",children:"Start with Gemini’s free tier"}),c.jsxs("p",{className:"max-w-prose text-sm text-secondary",children:["Get a key in Google AI Studio, then paste it below. Free usage has model and rate limits; paid usage is billed by Google."," ",c.jsx("a",{href:"https://ai.google.dev/gemini-api/docs/pricing",target:"_blank",rel:"noopener noreferrer",className:"text-link underline underline-offset-2 focus-visible:outline-2 focus-visible:outline-offset-2",children:"Pricing and limits"})]})]}),c.jsx(me,{variant:"outline",className:"min-h-11",asChild:!0,children:c.jsxs("a",{href:n,target:"_blank",rel:"noopener noreferrer",children:["Get a free Gemini API key ","↗"]})})]}),r?c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:u?"grid items-start gap-3 sm:grid-cols-[minmax(0,0.7fr)_minmax(0,1.3fr)]":void 0,children:[u,fe]}),Y]}):c.jsxs(c.Fragment,{children:[Y,fe]}),r?c.jsxs("details",{children:[c.jsx("summary",{className:"min-h-11 cursor-pointer text-sm text-secondary py-3",children:"Advanced provider settings"}),c.jsx("div",{className:"space-y-3 pt-2",children:I})]}):I,V&&c.jsx("p",{role:"alert",className:"text-sm text-negative-400",children:V}),ke&&c.jsx("p",{className:"text-sm text-positive-400",children:"Provider updated."}),r?c.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[we,h]}):we]})}const Rd="cdp:chatgpt";function co(e){return e.trim().toLowerCase()}function DZ({projectProviders:e,configuredApiProviders:n,cdpConfigured:i}){const r=e.map(co),u=new Set(r),h=r.length===0||r.some(w=>w!==Rd),g=r.length===0||u.has(Rd);if(h&&n!==void 0&&n.map(co).some(k=>r.length===0||u.has(k))||g&&i===!0)return!0;if(!(h&&n===void 0||g&&i===void 0))return!1}const zZ=[{label:"System check",description:"Verify your instance is ready"},{label:"Create project",description:"Name, domain, and locale"},{label:"Queries",description:"Add queries to track"},{label:"Competitors",description:"Add competitor domains"},{label:"Launch",description:"Start your first visibility sweep"}],OZ=[{label:"Queries"},{label:"First sweep"}];function Qw(e,n){return(e==="completed"||e==="partial")&&n>0}function Fw(e){return e.launchReady?e.hasProject?e.queryCount===0?2:e.competitorCount===0&&!e.hasRunAttempt?3:4:1:0}function KA(e){return e.queryCounts.total>0}function IZ(e,n){return n?e.find(i=>i.project.name===n)??null:e.find(i=>!KA(i))??e.at(0)??null}function PZ({current:e,labels:n}){return c.jsx("div",{className:"setup-steps",role:"list","aria-label":"Setup progress",children:n.map((i,r)=>{const u=r<e,h=r===e;return c.jsxs("div",{className:`setup-step ${u?"setup-step-done":""} ${h?"setup-step-active":""}`,role:"listitem","aria-current":h?"step":void 0,children:[c.jsx("span",{className:"setup-step-number",children:u?"✓":r+1}),c.jsx("span",{children:i.label})]},i.label)})})}function qZ({visibilityProjectName:e,siteHealthOnboarding:n=!1,onboardingFinish:i=n}={}){const{canWrite:r}=da();return e&&r?c.jsx(Zw,{visibilityProjectName:e,siteHealthOnboarding:n,onboardingFinish:i}):c.jsx(Vg,{title:e?"Set up AI Visibility":"Setup",children:c.jsx(Zw,{visibilityProjectName:e,siteHealthOnboarding:n,onboardingFinish:i})})}function Zw({visibilityProjectName:e,siteHealthOnboarding:n,onboardingFinish:i}){const r=Nc(),{isAdmin:u}=da(),{dashboard:h,isLoading:g,refetch:b}=mm(void 0,{pauseProjectPolling:!0,includeSettings:u}),v=h??r?.dashboard,w=xs(),k=N.useCallback(T=>{T&&e&&T.focus()},[e]),A=()=>{if(!e){w({to:"/",replace:!0});return}if(i){w({to:"/setup",search:{onboarding:"complete",setupProject:e,skipped:"visibility"},replace:!0});return}w({to:"/projects/$projectName",params:{projectName:e},replace:!0})};return!v||g?c.jsxs("div",{className:"page-skeleton",children:[c.jsxs("div",{className:"page-skeleton-header",children:[c.jsx("div",{className:"skeleton-text h-6 w-24"}),c.jsx("div",{className:"skeleton-text-sm w-80"})]}),c.jsxs("div",{className:"page-skeleton-card",children:[c.jsx("div",{className:"skeleton-text w-32"}),c.jsx("div",{className:"space-y-3 mt-3",children:[1,2,3].map(T=>c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsxs("div",{className:"space-y-1 flex-1",children:[c.jsx("div",{className:"skeleton-text w-24"}),c.jsx("div",{className:"skeleton-text-sm w-48"})]}),c.jsx("div",{className:"skeleton h-6 w-16 rounded-full"})]},T))})]})]}):e&&!v.projects.some(T=>T.project.name===e)?c.jsxs("div",{className:"page-container",children:[n?c.jsx(yo,{current:"visibility"}):null,c.jsxs("div",{className:"page-header",children:[c.jsxs("div",{className:"page-header-left",children:[c.jsx("h1",{ref:k,tabIndex:-1,className:"page-title",children:"Set up AI Visibility"}),c.jsx("p",{className:"page-subtitle",children:"Choose what to track, then run your first visibility sweep."})]}),n?c.jsx("div",{className:"page-header-right",children:c.jsx(me,{type:"button",variant:"outline",onClick:A,children:"Skip AI Visibility"})}):null]}),c.jsxs(Na,{role:"alert",className:"compact-stack",children:[c.jsx("h2",{children:"Project not found"}),c.jsx("p",{className:"text-secondary",children:"Canonry could not find the project handed off from Site Health. Refresh the project list or choose a project to continue."}),c.jsxs("div",{className:"flex flex-wrap gap-2",children:[c.jsx(me,{type:"button",variant:"outline",onClick:()=>{b()},children:"Retry"}),c.jsx(me,{type:"button",asChild:!0,children:c.jsx(Xe,{to:"/projects",children:"View projects"})})]})]})]}):c.jsx(MZ,{dashboard:v,initialHealth:r?.health,enableLiveStatus:!r,refetch:b,visibilityProjectName:e,visibilityHeadingRef:k,siteHealthOnboarding:n,onboardingFinish:i})}function MZ({dashboard:e,initialHealth:n,enableLiveStatus:i,refetch:r,visibilityProjectName:u,visibilityHeadingRef:h,siteHealthOnboarding:g,onboardingFinish:b}){const v=e.settings,{isAdmin:w}=da(),A=zg(i,n).data??n??{apiStatus:{label:"API",state:"checking",detail:"Checking service health"},workerStatus:{label:"Worker",state:"checking",detail:"Checking service health"}},T=XK(e.setup,A,v),_=!!u,G=xs(),R=ca(),q=N.useRef(qg()).current,F=N.useRef(new Set),ae=N.useCallback((U,He)=>{if(He){if(F.current.has(He))return;F.current.add(He)}jg({surface:"wizard",...U,eventId:Mg()})},[]),L=IZ(e.projects,u),W=L?e.runs.filter(U=>U.projectId===L.project.id).sort((U,He)=>He.createdAt.localeCompare(U.createdAt)):[],J=L?.queryCounts.total??0,se=L?.project.name,V=Et({queryKey:["setup","resume-queries",se],queryFn:()=>se?F3(se):Promise.resolve([]),enabled:!!se}),H=V.data??[],ke=V.data?.length??J,et=L?.competitors.map(U=>U.domain)??[],it=W.at(0)??null,Ke=!!L&&KA(L),Ze=!!L&&V.isPending,Ne=_?2:Fw({launchReady:T.launchState.enabled,hasProject:!!L,queryCount:ke,competitorCount:et.length,hasRunAttempt:W.length>0||Ke}),Le=Fw({launchReady:!0,hasProject:!!L,queryCount:ke,competitorCount:et.length,hasRunAttempt:W.length>0||Ke}),[I,Y]=N.useState(Ne),[fe,we]=N.useState(!Ze),ee=_&&(Ze||!fe),[_e,Pe]=N.useState(L?.project.name??""),[be,le]=N.useState(L?.project.displayName??""),[ce,K]=N.useState(L?.project.canonicalDomain??""),[de,Ee]=N.useState(L?.project.country??"US"),[Se,nt]=N.useState(L?.project.language??"en"),[Ve,vt]=N.useState(L?.project.autoExtractBacklinks??!1),[$e,re]=N.useState(L?.project.name??null),[st,Ut]=N.useState(null),[_n,pa]=N.useState(!1),qe=()=>{if(!$e){G({to:"/",replace:!!u});return}G({to:g?"/projects/$projectName/technical-aeo":"/projects/$projectName",params:{projectName:$e},replace:!!u})},lt=(U=!1)=>{if(!b||!$e){qe();return}G({to:"/setup",search:{onboarding:"complete",setupProject:$e,...U?{skipped:"visibility"}:{}},replace:!0})},$t=()=>lt(!0),[Gt,Tn]=N.useState(H.map(U=>U.query).join(`
73
- `)),[Pt,oi]=N.useState(ke>0),[Ts,Un]=N.useState(null),[ri,Rs]=N.useState(!1),[Ii,Pi]=N.useState(!1),Es=v.providerStatuses.filter(U=>U.state==="ready"),mn=L?.project.providers.map(co)??[],kt=Es.filter(U=>mn.length===0||mn.includes(co(U.name))),pn=Es.map(U=>co(U.name)),xn=kt.length>0,Ds=mn.length===0||mn.includes(Rd),ha=_&&!w,oe=Et({...hG({client:ne,path:{name:se??""}}),enabled:ha&&!!se,staleTime:0,refetchOnMount:"always",refetchOnWindowFocus:"always",retry:!1}),ze=oe.data?.answerVisibilityProviderReady,Qe=ha&&(oe.isError||oe.isSuccess&&typeof ze!="boolean"),Kt=Et({...BG({client:ne}),enabled:!ha&&Ds&&!xn,staleTime:6e4,retry:!1}),at=Ds?Kt.isSuccess?typeof Kt.data.browserVersion=="string":Kt.isError?!1:void 0:!1,We=ha?oe.isSuccess&&oe.isFetchedAfterMount&&!oe.isFetching?ze:void 0:DZ({projectProviders:mn,configuredApiProviders:pn,cdpConfigured:at}),Zt=kt.length+(at===!0?1:0),[Ha,zs]=N.useState(kt[0]?.name??""),[Co,Os]=N.useState(5),[_c,$r]=N.useState(!1),[Gr,Kr]=N.useState(null),[Hr,Qr]=N.useState(""),No=N.useRef(!1),Tc=N.useCallback(U=>{!U||!No.current||(No.current=!1,U.focus({preventScroll:!0}))},[]),[fa,en]=N.useState(!1),[Rn,qi]=N.useState(!1),[_o,Rc]=N.useState(!1),To=v.providerStatuses.filter(U=>co(U.name)!==Rd&&(mn.length===0||mn.includes(co(U.name)))),Wn=To.find(U=>U.name===Hr)??To.find(U=>U.state!=="ready")??To.at(0),Mi=`Help me choose AI Visibility queries for Canonry project ${JSON.stringify($e??_e)} (${ce}).
74
- 1. Read the project, its existing tracked queries, and Site Health findings. Ask about my customers, services, and locations if needed, then propose relevant customer queries.
75
- 2. Check the configured connection's capabilities, then use Canonry's Research flow to test a small approved batch. Retrieve saved answers and any available sources. Compare brand mentions separately from site citations; unavailable citation evidence is not a "not cited" result. Text-only routes can inform query research but cannot establish an AI Visibility baseline. Research does not add queries to tracking. If more candidates are needed, propose ICP Discovery separately.
76
- 3. Recommend a short list with reasons. Ask before provider usage. Once I approve, preserve existing queries and return the combined list, one query per line, for me to paste into setup. Do not change tracked queries or launch a visibility sweep.`,Fr=async()=>{Rc(!1);try{await navigator.clipboard.writeText(Mi),qi(!0)}catch{Rc(!0)}},[li,Bi]=N.useState(et.join(`
77
- `)),[Li,Vi]=N.useState(et.length>0),[Yt,Zr]=N.useState(null),[Yr,Qa]=N.useState(!1),Xr=N.useRef($A(se)).current?.runId??null,Wr=N.useRef(Xr),[Fa,vm]=N.useState(!!Xr||!!it&&!Ke),[ci,Ps]=N.useState(!1),[wn,En]=N.useState(null),[Ui,xm]=N.useState(Xr??(Ke?null:it?.id??null)),Jr=CZ(),Za=Et({..._g({client:ne,path:{id:Ui??""}}),enabled:!!Ui,refetchInterval:({state:U})=>{const He=U.data?.status;return He==="completed"||He==="partial"||He==="failed"||He==="cancelled"?!1:2e3},refetchIntervalInBackground:!0}),[$i,Ec]=N.useState(""),[Dn,Ro]=N.useState(!1),[el,Eo]=N.useState(null),$n=_e.toLowerCase().replace(/[^a-z0-9-]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,""),Jn=Gt.split(`
78
- `).map(U=>U.trim()).filter(Boolean),ui=li.split(`
79
- `).map(U=>U.trim()).filter(Boolean),ga=Math.max(ke,Pt?Jn.length:0),ya=fZ({apiReady:A.apiStatus.state==="ok",databaseConfigured:A.apiStatus.databaseConfigured,workerReady:A.workerStatus.state==="ok",providerReady:We!==!1}),Ya=(ya&&ya!=="no_provider"?T.launchState.blockedReason:Qe?"Provider readiness could not be checked. Try again.":We===void 0?"Checking provider readiness before launch.":ya==="no_provider"?"Launch is blocked until a provider allowed by this project is configured.":void 0)??($e?ga===0?"Add at least one query before launching the first sweep.":void 0:"Create a project before launching the first sweep.");N.useEffect(()=>{fe||Ze||(_||Y(Ne),H.length>0&&(Tn(H.map(U=>U.query).join(`
80
- `)),oi(!0)),we(!0))},[H,Ne,_,fe,Ze]),N.useEffect(()=>{if(kt.length===0){zs("");return}kt.some(U=>U.name===Ha)||zs(kt[0].name)},[kt,Ha]),N.useEffect(()=>{fe&&(ae({flowVersion:ht,onboardingSessionId:q,event:"onboarding.started",step:hZ(Ne),resumed:!!L},"onboarding.started"),!L&&Ne>0&&ae({flowVersion:ht,onboardingSessionId:q,event:"onboarding.step_completed",step:"system",method:"automatic"},"onboarding.step_completed:system"))},[ae,Ne,q,fe,L]),N.useEffect(()=>{_||!gZ(A)||!ya||ae({flowVersion:ht,onboardingSessionId:q,event:"onboarding.blocked",step:"system",action:ya==="no_provider"?"configure_provider":"continue",reasonCode:ya},`onboarding.blocked:system:${ya}`)},[ae,A,_,q,ya]);const Oa=Za.data?.status,Do=Za.data?.snapshots?.length??0;N.useEffect(()=>{if(!Fa||!Oa)return;const U=Wr.current;if(!U||U!==Ui)return;if(Qw(Oa,Do)){ae({flowVersion:ht,onboardingSessionId:q,event:"onboarding.step_completed",step:"run",method:"automatic",countBucket:ai(Do)},"onboarding.step_completed:run"),Td(U);return}const He=Oa==="cancelled"?"run_cancelled":Oa==="failed"||(Oa==="completed"||Oa==="partial")&&Do===0?"run_failed":void 0;He&&(ae({flowVersion:ht,onboardingSessionId:q,event:"onboarding.blocked",step:"run",action:"retry_run",reasonCode:He},`onboarding.blocked:run:${He}`),Td(U))},[ae,Ui,q,Oa,Do,Fa]);const km=async()=>{if(!(!$n||!ce)){pa(!0),Ut(null);try{const U=await Y3($n,{displayName:be||_e,canonicalDomain:ce,country:de,language:Se,autoExtractBacklinks:Ve});re($n),bn({title:"Project created",detail:`${U.displayName||U.name} is ready for setup.`,tone:"positive",dedupeKey:`project:create:${U.name}`,dedupeMode:"drop"}),await r(),ae({flowVersion:ht,onboardingSessionId:q,event:"onboarding.step_completed",step:"project",method:"manual"},"onboarding.step_completed:project"),Y(2)}catch(U){Ut(U instanceof Error?U.message:"Failed to create project"),ae({flowVersion:ht,onboardingSessionId:q,event:"onboarding.blocked",step:"project",action:"save",reasonCode:"project_create_failed"},"onboarding.blocked:project:project_create_failed")}finally{pa(!1)}}},zo=async()=>{if(!$e)return;const U=Jn;if(U.length!==0){Rs(!0),Un(null);try{await p$($e,U),oi(!0),_?await Promise.all([R.invalidateQueries({queryKey:iA({client:ne,path:{name:$e}})}),R.invalidateQueries({predicate:Lg}),R.invalidateQueries({queryKey:["setup","resume-queries",$e]})]):await r(),ae({flowVersion:ht,onboardingSessionId:q,event:"onboarding.step_completed",step:"queries",method:Ii?"generated":"manual",countBucket:ai(U.length)},"onboarding.step_completed:queries"),Y(_?4:3)}catch(He){Un(He instanceof Error?He.message:"Failed to save queries"),ae({flowVersion:ht,onboardingSessionId:q,event:"onboarding.blocked",step:"queries",action:"save",reasonCode:"query_save_failed"},"onboarding.blocked:queries:query_save_failed")}finally{Rs(!1)}}},Ia=async()=>{if(!(!$e||!Ha)){$r(!0),Kr(null);try{const U=await S$($e,Ha,Co);if(U.queries.length>0){const He=Gt?Gt.trimEnd()+`
81
- `+U.queries.join(`
82
- `):U.queries.join(`
83
- `);Tn(He),Pi(!0)}}catch(U){Kr(U instanceof Error?U.message:"Failed to generate queries"),ae({flowVersion:ht,onboardingSessionId:q,event:"onboarding.blocked",step:"queries",action:"generate_queries",reasonCode:nc(U,"unknown")},"onboarding.blocked:queries:generate")}finally{$r(!1)}}},tl=async()=>{if(!$e)return;const U=ui;if(U.length!==0){Qa(!0),Zr(null);try{await g$($e,U),Vi(!0),await r(),ae({flowVersion:ht,onboardingSessionId:q,event:"onboarding.step_completed",step:"competitors",method:"manual",countBucket:ai(U.length)},"onboarding.step_completed:competitors"),Y(4)}catch(He){Zr(He instanceof Error?He.message:"Failed to save competitors"),ae({flowVersion:ht,onboardingSessionId:q,event:"onboarding.blocked",step:"competitors",action:"save",reasonCode:"unknown"},"onboarding.blocked:competitors:save")}finally{Qa(!1)}}},nl=async()=>{const U=$i.trim();if(U){Ro(!0),Eo(null);try{await X3("gemini",{apiKey:U}),bn({title:"Gemini configured",detail:"Provider is ready — continuing setup.",tone:"positive",dedupeKey:"setup:gemini:configured",dedupeMode:"drop"}),Ec(""),await r(),zs(v.providerStatuses.find(He=>He.name.toLowerCase()==="gemini")?.name??"gemini"),ae({flowVersion:ht,onboardingSessionId:q,event:"onboarding.step_completed",step:"system",method:"inline"},"onboarding.step_completed:system")}catch(He){Eo(He instanceof Error?He.message:"Failed to save Gemini key"),ae({flowVersion:ht,onboardingSessionId:q,event:"onboarding.blocked",step:"system",action:"configure_provider",reasonCode:"provider_save_failed"},"onboarding.blocked:system:provider_save_failed")}finally{Ro(!1)}}},di=async()=>{if(!oo()){if(!$e||Ya){En(Ya??"Complete setup before launching the first sweep.");const U=ya??($e?ga===0?"no_queries":"run_rejected":"unknown");ha||ae({flowVersion:ht,onboardingSessionId:q,event:"run.requested",origin:"dashboard_setup",result:"rejected",providerCountBucket:ai(Zt),queryCountBucket:ai(ga),reasonCode:U});return}Ps(!0),En(null);try{const U=await Jr.mutateAsync({projectName:$e,projectLabel:be||_e||$e,sourceAction:"setup-launch"});xm(U.id),vm(!0),UA($e,U.id),Wr.current=U.id,ha||ae({flowVersion:ht,onboardingSessionId:q,event:"run.requested",origin:"dashboard_setup",result:"queued",providerCountBucket:ai(Zt),queryCountBucket:ai(ga)}),await r()}catch(U){En(U instanceof Error?U.message:"Failed to queue the visibility sweep. Retry when the instance is ready."),ha||ae({flowVersion:ht,onboardingSessionId:q,event:"run.requested",origin:"dashboard_setup",result:"rejected",providerCountBucket:ai(Zt),queryCountBucket:ai(ga),reasonCode:nc(U,"run_rejected")})}finally{Ps(!1)}}},Pn=()=>Y(U=>_?2:Math.max(0,U-1)),Oo=(U,He,mi)=>{ae({flowVersion:ht,onboardingSessionId:q,event:"onboarding.step_completed",step:U,method:"existing",...mi===void 0?{}:{countBucket:ai(mi)}},`onboarding.step_completed:${U}`),Y(He)},al=()=>{if(ae({flowVersion:ht,onboardingSessionId:q,event:"onboarding.step_completed",step:"queries",method:"skipped",countBucket:"0"},"onboarding.step_completed:queries"),_){$t();return}Y(3)},Dc=()=>{ae({flowVersion:ht,onboardingSessionId:q,event:"onboarding.step_completed",step:"competitors",method:"skipped",countBucket:"0"},"onboarding.step_completed:competitors"),Y(4)},qs=_?"section":Na,ba=We!==!0||at===!0?c.jsx(me,{type:"button",variant:"ghost",size:"sm",className:"min-h-11",onClick:()=>{r(),Ds&&Kt.refetch()},children:"Check again"}):null,il=(We===!1||fa)&&!!Wn,Ms=_&&(I===2||I===4)?w?c.jsxs("section",{"aria-labelledby":"setup-provider-heading",className:"space-y-3 border-b border-default pb-6 mb-6",children:[c.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[c.jsx("h2",{id:"setup-provider-heading",className:"text-lg font-semibold text-heading",children:We===!1?"Connect a provider":"Answer engine provider"}),c.jsx(On,{tone:We===!0?"positive":"neutral",children:We===!0?"Configured":We===!1?"Not connected":"Checking"})]}),c.jsx("p",{className:"max-w-prose text-sm text-secondary",children:We===!0?kt.length>0?`${kt.map(U=>U.displayName??U.name).join(", ")} available for this project. Research and sweeps use your provider account.`:"ChatGPT in Chrome is configured for sweeps. Query Research needs an API provider.":We===!1?"An answer engine is required for visibility sweeps. You can save queries now and connect later.":"Checking available providers. You can choose queries while this finishes."}),We===!1||fa?Wn?c.jsx("div",{children:c.jsx(EZ,{compact:!0,leadingField:c.jsxs("div",{className:"min-w-0 space-y-1.5",children:[c.jsx("label",{className:"block text-sm font-medium text-secondary",htmlFor:"setup-provider",children:"Provider to connect"}),c.jsx("select",{ref:Tc,id:"setup-provider",className:"setup-input",value:Wn.name,onChange:U=>{U.target.value!==Wn.name&&(No.current=document.activeElement===U.currentTarget,Qr(U.target.value))},children:To.map(U=>c.jsx("option",{value:U.name,children:U.displayName??U.name},U.name))})]}),secondaryActions:ba,providerName:Wn.name,keyUrl:Wn.keyUrl,modelHint:Wn.modelHint,onSaved:()=>{en(!1),r()}},Wn.name)}):c.jsx("p",{className:"max-w-prose text-sm text-secondary",children:mn.length>0?`This project's provider selection is ${mn.join(", ")}. Configure an allowed provider in Settings, or change the selection in project Settings.`:"Provider configuration is unavailable here. Open Settings to connect an answer engine, then check again."}):null,c.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[We===!0&&!fa&&Wn?c.jsx(me,{type:"button",variant:"outline",size:"sm",onClick:()=>en(!0),children:"Configure a provider"}):null,!Wn||at===!0?c.jsx(me,{type:"button",variant:"outline",size:"sm",asChild:!0,children:c.jsx(Xe,{to:"/settings",target:"_blank",rel:"noopener noreferrer",children:"Open provider settings"})}):null,il?null:ba]})]}):c.jsxs("section",{"aria-labelledby":"setup-provider-heading",className:"space-y-2 border-b border-default pb-6 mb-6",children:[c.jsx("h2",{id:"setup-provider-heading",className:"text-lg font-semibold text-heading",children:"Answer engine provider"}),c.jsx("p",{className:"max-w-prose text-sm text-secondary",children:"Provider settings are managed by an administrator."}),Qe?c.jsx("p",{role:"alert",className:"text-sm text-negative",children:"Provider readiness could not be checked. Try again."}):c.jsx("p",{className:"max-w-prose text-sm text-secondary",role:"status",children:We===!0?"An answer engine is available for this project.":We===!1?"Ask an administrator to connect an answer engine for this project. You can save queries now.":"Checking provider readiness. You can save queries now."}),c.jsx(me,{type:"button",variant:"ghost",size:"sm",className:"min-h-11",disabled:oe.isFetching,onClick:()=>{oe.refetch()},children:Qe?"Retry provider check":"Check again"})]}):null,Xa=(()=>{switch(I){case 0:return c.jsxs(Na,{className:"surface-card step-card",children:[c.jsx("div",{className:"section-head",children:c.jsxs("div",{children:[c.jsx("p",{className:"eyebrow eyebrow-soft",children:"Step 1 of 5"}),c.jsx("h2",{children:"System check"})]})}),c.jsx("p",{className:"supporting-copy",children:"Checking that your Canonry instance is configured and reachable."}),c.jsx("div",{className:"compact-stack",children:T.healthChecks.map(U=>c.jsxs("div",{className:"health-check-row",children:[c.jsxs("div",{children:[c.jsx("p",{className:"run-row-title",children:U.label}),c.jsx("p",{className:"supporting-copy",children:U.detail}),U.id==="provider"&&U.state!=="ready"&&c.jsxs("div",{className:"mt-3 rounded-md border border-default bg-bg-elevated/40 p-3 space-y-2",children:[c.jsxs("p",{className:"text-xs text-secondary",children:["Paste a Gemini key to enable visibility checks (free at"," ",c.jsx("a",{href:"https://aistudio.google.com/apikey",target:"_blank",rel:"noreferrer",className:"text-positive-400 hover:text-positive underline underline-offset-2",children:"aistudio.google.com"}),")."]}),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("input",{type:"password",value:$i,onChange:He=>Ec(He.target.value),placeholder:"AI... (paste here)",className:"flex-1 rounded-md border border-base bg-bg px-2.5 py-1.5 text-sm text-heading placeholder:text-faint focus:border-mono-600 focus:outline-none font-mono",disabled:Dn}),c.jsx(me,{type:"button",size:"sm",disabled:Dn||!$i.trim(),onClick:cn(nl),children:Dn?"Saving...":"Save"})]}),el&&c.jsxs("div",{role:"alert",className:"space-y-1 text-xs text-negative",children:[c.jsx("p",{children:el}),c.jsx("p",{children:"Check that the key is complete, then retry Save."})]}),c.jsxs("p",{className:"text-sm text-secondary",children:["Connect more answer engines later in"," ",c.jsx(Xe,{to:"/settings",className:"text-link hover:underline",children:"Settings"}),"."]})]})]}),c.jsx(On,{tone:U.state==="ready"?"positive":"caution",title:U.id==="api"?Er(A.apiStatus):U.id==="worker"?Er(A.workerStatus):U.detail,children:U.state==="ready"?"Ready":"Attention"})]},U.id))}),c.jsxs("div",{className:"setup-nav",children:[T.launchState.blockedReason?c.jsx("p",{role:"status",className:"supporting-copy text-negative",children:T.launchState.blockedReason}):c.jsx("span",{}),c.jsx(me,{type:"button",disabled:!T.launchState.enabled,title:T.launchState.blockedReason,onClick:()=>{ae({flowVersion:ht,onboardingSessionId:q,event:"onboarding.step_completed",step:"system",method:"automatic"},"onboarding.step_completed:system"),Y(Le)},children:"Continue"})]})]});case 1:return c.jsxs(Na,{className:"surface-card step-card",children:[c.jsxs("div",{className:"section-head",children:[c.jsxs("div",{children:[c.jsx("p",{className:"eyebrow eyebrow-soft",children:"Step 2 of 5"}),c.jsx("h2",{children:"Create project"})]}),$e?c.jsx(On,{tone:"positive",children:"Created"}):null]}),$e?c.jsxs("div",{className:"compact-stack",children:[c.jsxs("p",{className:"text-neutral",children:["Project ",c.jsx("span",{className:"text-heading font-medium",children:$e})," created successfully."]}),c.jsxs("div",{className:"setup-nav",children:[c.jsx(me,{type:"button",variant:"outline",onClick:Pn,children:"Back"}),c.jsx(me,{type:"button",onClick:()=>Oo("project",2),children:"Continue"})]})]}):c.jsxs("div",{className:"compact-stack",children:[c.jsxs("div",{className:"setup-field",children:[c.jsx("label",{className:"setup-label",htmlFor:"project-name",children:"Project name"}),c.jsx("input",{id:"project-name",className:"setup-input",type:"text",placeholder:"my-website",value:_e,onChange:U=>Pe(U.target.value)}),$n&&$n!==_e?c.jsxs("p",{className:"supporting-copy",children:["Slug: ",$n]}):null]}),c.jsxs("div",{className:"setup-field",children:[c.jsx("label",{className:"setup-label",htmlFor:"display-name",children:"Display name (optional)"}),c.jsx("input",{id:"display-name",className:"setup-input",type:"text",placeholder:"My Website",value:be,onChange:U=>le(U.target.value)})]}),c.jsxs("div",{className:"setup-field",children:[c.jsx("label",{className:"setup-label",htmlFor:"domain",children:"Canonical domain"}),c.jsx("input",{id:"domain",className:"setup-input",type:"text",placeholder:"example.com",value:ce,onChange:U=>K(U.target.value)})]}),c.jsxs("div",{className:"setup-field-row",children:[c.jsxs("div",{className:"setup-field",children:[c.jsx("label",{className:"setup-label",htmlFor:"country",children:"Country"}),c.jsx("input",{id:"country",className:"setup-input",type:"text",placeholder:"US",maxLength:2,value:de,onChange:U=>Ee(U.target.value.toUpperCase())})]}),c.jsxs("div",{className:"setup-field",children:[c.jsx("label",{className:"setup-label",htmlFor:"language",children:"Language"}),c.jsx("input",{id:"language",className:"setup-input",type:"text",placeholder:"en",maxLength:5,value:Se,onChange:U=>nt(U.target.value.toLowerCase())})]})]}),c.jsxs("label",{className:"flex items-start gap-3 rounded-md border border-default bg-surface p-3 cursor-pointer hover:border-strong",children:[c.jsx("input",{type:"checkbox",className:"mt-0.5 h-4 w-4 rounded border-strong bg-bg",checked:Ve,onChange:U=>vt(U.target.checked)}),c.jsxs("span",{className:"flex-1",children:[c.jsx("span",{className:"block text-sm text-heading",children:"Auto-extract backlinks"}),c.jsxs("span",{className:"block text-xs text-muted mt-0.5",children:["When a new Common Crawl release syncs, automatically extract backlinks for this project."," ",c.jsx(Xe,{to:"/backlinks",className:"text-positive-400 hover:text-positive underline underline-offset-2",children:"Manage backlinks"})]})]})]}),st?c.jsx("p",{className:"text-negative-400 text-sm",children:st}):null,c.jsxs("div",{className:"setup-nav",children:[c.jsx(me,{type:"button",variant:"outline",onClick:Pn,children:"Back"}),c.jsx(me,{type:"button",disabled:!$n||!ce||_n,onClick:cn(km),children:_n?"Creating...":"Create project"})]})]})]});case 2:return c.jsxs(qs,{className:_?"visibility-setup-section step-card":"surface-card step-card","aria-labelledby":"setup-queries-heading",children:[c.jsxs("div",{className:"section-head",children:[c.jsxs("div",{children:[c.jsx("p",{className:"eyebrow eyebrow-soft",children:_?"Step 1 of 2":"Step 3 of 5"}),c.jsx("h2",{id:"setup-queries-heading",children:"Add queries"})]}),ee?c.jsx(On,{tone:"neutral",children:"Loading"}):V.isError?c.jsx(On,{tone:"negative",children:"Load failed"}):Pt?c.jsxs(On,{tone:"positive",children:[Jn.length," saved"]}):c.jsxs(On,{tone:"neutral",children:[Jn.length," quer",Jn.length!==1?"ies":"y"]})]}),c.jsx("p",{className:"supporting-copy",children:"Add the queries your customers use, one per line. You can refine your list later."}),c.jsxs("div",{className:"space-y-2 border-b border-default pb-4",children:[c.jsxs("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[c.jsxs("div",{className:"min-w-0 space-y-1",children:[c.jsx("h3",{className:"text-sm font-semibold text-heading",children:"Research queries with your agent"}),c.jsx("p",{className:"max-w-prose text-sm text-secondary",children:"Ask your agent to compare answers and available sources with Canonry Research, then recommend queries. Research does not change your tracked queries."})]}),c.jsx(me,{type:"button",variant:"outline",size:"sm",className:"min-h-11 shrink-0 self-start",onClick:cn(Fr),children:Rn?"Research prompt copied":"Copy research prompt"})]}),c.jsxs("details",{open:_o||void 0,className:"text-sm text-secondary",children:[c.jsx("summary",{className:"min-h-11 cursor-pointer py-3 text-link",children:"View agent prompt"}),c.jsx("textarea",{"aria-label":"Agent query research prompt",readOnly:!0,className:"setup-textarea mt-2 w-full",rows:8,value:Mi})]}),_o?c.jsx("p",{role:"alert",className:"text-sm text-negative",children:"Could not copy. Select and copy the prompt above."}):null]}),ee?c.jsx("div",{className:"rounded-md border border-default bg-bg-elevated/40 p-4 text-sm text-secondary",role:"status",children:"Loading saved queries…"}):V.isError?c.jsxs("div",{className:"compact-stack",children:[c.jsx("div",{role:"alert",className:"rounded-md border border-negative bg-negative-soft p-3 text-sm text-negative",children:"Saved queries could not be loaded. Retry before changing the query basket."}),c.jsxs("div",{className:"setup-nav",children:[c.jsx(me,{type:"button",variant:"outline",onClick:_?qe:Pn,children:"Back"}),c.jsx(me,{type:"button",onClick:()=>{V.refetch()},children:"Retry loading queries"})]})]}):Pt?c.jsxs("div",{className:"compact-stack",children:[c.jsx("ul",{className:"detail-list",children:Jn.map(U=>c.jsx("li",{children:U},U))}),c.jsxs("div",{className:"setup-nav",children:[c.jsx(me,{type:"button",variant:"outline",onClick:_?qe:Pn,children:"Back"}),c.jsx(me,{type:"button",variant:"outline",onClick:()=>oi(!1),children:"Edit queries"}),c.jsx(me,{type:"button",onClick:()=>Oo("queries",_?4:3,Jn.length),children:"Continue"})]})]}):c.jsxs("div",{className:"compact-stack",children:[kt.length>0?c.jsxs("div",{className:"compact-stack",children:[c.jsxs("div",{className:"flex items-center gap-2 text-muted text-xs uppercase tracking-wide",children:[c.jsx("span",{className:"flex-1 border-t border-base"}),"auto-generate",c.jsx("span",{className:"flex-1 border-t border-base"})]}),c.jsxs("div",{className:"flex items-end gap-2",children:[c.jsxs("div",{className:"setup-field flex-1",children:[c.jsx("label",{className:"setup-label",htmlFor:"gen-provider",children:"Provider"}),c.jsx("select",{id:"gen-provider",className:"setup-input",value:Ha,onChange:U=>zs(U.target.value),children:kt.map(U=>c.jsxs("option",{value:U.name,children:[U.displayName??U.name,U.model?` (${U.model})`:""]},U.name))})]}),c.jsxs("div",{className:"setup-field",children:[c.jsx("label",{className:"setup-label",htmlFor:"gen-count",children:"Count"}),c.jsx("select",{id:"gen-count",className:"setup-input",value:Co,onChange:U=>Os(Number(U.target.value)),children:[3,5,10,15,20].map(U=>c.jsx("option",{value:U,children:U},U))})]}),c.jsx(me,{type:"button",variant:"outline",disabled:_c||!Ha,onClick:cn(Ia),children:_c?"Analyzing site...":"Generate"})]}),Gr?c.jsx("p",{className:"text-negative-400 text-sm",children:Gr}):null]}):null,_?null:c.jsxs("div",{className:"flex items-center gap-2 text-muted text-xs uppercase tracking-wide",children:[c.jsx("span",{className:"flex-1 border-t border-base"}),"or type manually",c.jsx("span",{className:"flex-1 border-t border-base"})]}),c.jsxs("div",{className:"setup-field",children:[c.jsx("label",{className:"setup-label",htmlFor:"queries",children:"Queries (one per line)"}),c.jsx("textarea",{id:"queries",className:"setup-textarea",rows:6,placeholder:`emergency dentist brooklyn
84
- best invisalign downtown brooklyn
85
- pediatric dentist brooklyn heights`,value:Gt,onChange:U=>Tn(U.target.value)})]}),Ts?c.jsx("p",{className:"text-negative-400 text-sm",children:Ts}):null,c.jsxs("div",{className:"setup-nav",children:[c.jsx(me,{type:"button",variant:"outline",onClick:_?qe:Pn,children:"Back"}),c.jsx(me,{type:"button",variant:"ghost",onClick:al,children:_?"Finish without AI Visibility":"Skip for now"}),c.jsx(me,{type:"button",disabled:Jn.length===0||ri,onClick:cn(zo),children:ri?"Saving...":`Save ${Jn.length} quer${Jn.length!==1?"ies":"y"}`})]})]})]});case 3:return c.jsxs(Na,{className:"surface-card step-card",children:[c.jsxs("div",{className:"section-head",children:[c.jsxs("div",{children:[c.jsx("p",{className:"eyebrow eyebrow-soft",children:"Step 4 of 5"}),c.jsx("h2",{children:"Add competitors"})]}),Li?c.jsx(On,{tone:"positive",children:"Saved"}):null]}),c.jsx("p",{className:"supporting-copy",children:"Domains that compete for the same queries. One per line."}),Li?c.jsxs("div",{className:"compact-stack",children:[c.jsx("ul",{className:"detail-list",children:ui.map(U=>c.jsx("li",{children:U},U))}),c.jsxs("div",{className:"setup-nav",children:[c.jsx(me,{type:"button",variant:"outline",onClick:Pn,children:"Back"}),c.jsx(me,{type:"button",onClick:()=>Oo("competitors",4,ui.length),children:"Continue"})]})]}):c.jsxs("div",{className:"compact-stack",children:[c.jsxs("div",{className:"setup-field",children:[c.jsx("label",{className:"setup-label",htmlFor:"competitors",children:"Competitor domains (one per line)"}),c.jsx("textarea",{id:"competitors",className:"setup-textarea",rows:4,placeholder:`competitor1.com
86
- competitor2.com`,value:li,onChange:U=>Bi(U.target.value)})]}),Yt?c.jsx("p",{className:"text-negative-400 text-sm",children:Yt}):null,c.jsxs("div",{className:"setup-nav",children:[c.jsx(me,{type:"button",variant:"outline",onClick:Pn,children:"Back"}),c.jsxs("div",{className:"flex gap-2",children:[c.jsx(me,{type:"button",variant:"outline",onClick:Dc,children:"Skip"}),c.jsx(me,{type:"button",disabled:ui.length===0||Yr,onClick:cn(tl),children:Yr?"Saving...":`Save ${ui.length} competitor${ui.length!==1?"s":""}`})]})]})]})]});case 4:{const U=Za.data,He=U?.status??(Ui===it?.id?it.status:void 0),mi=He==="completed"||He==="partial"||He==="failed"||He==="cancelled",Pa=U?.snapshots??[],Io=Pa.filter(qa=>qa.citationState==="cited").length,zc=Pa.filter(qa=>qa.answerMentioned===!0).length,kn=new Set(Pa.map(qa=>qa.query).filter(qa=>!!qa)).size,Wa=He?Qw(He,Pa.length):!1,Bs=Ke&&!Fa,Ls=wn??(U?.error?W$(U.error):He==="cancelled"?"The sweep was cancelled before it produced a baseline.":(He==="completed"||He==="partial")&&Pa.length===0?"The sweep finished without producing any snapshots.":it?.statusDetail||"The sweep did not produce a baseline.");let Vs=null;return Bs||Wa?Vs=c.jsx(On,{tone:"positive",children:"Complete"}):wn&&!Fa?Vs=c.jsx(On,{tone:"negative",children:"Failed"}):mi?Vs=c.jsx(On,{tone:"negative",children:He==="cancelled"?"Cancelled":"Failed"}):Fa&&(Vs=c.jsx(On,{tone:"caution",children:"Running"})),c.jsxs(Na,{className:"surface-card step-card",children:[c.jsxs("div",{className:"section-head",children:[c.jsxs("div",{children:[c.jsx("p",{className:"eyebrow eyebrow-soft",children:_?"Step 2 of 2":"Step 5 of 5"}),c.jsx("h2",{children:oo()?"AI Visibility":"Launch first run"})]}),Vs]}),Bs?c.jsxs("div",{className:"compact-stack",children:[c.jsxs("p",{className:"text-secondary",children:["Setup is complete. ",c.jsx("span",{className:"text-strong font-medium",children:$e})," already has a successful answer-visibility baseline."]}),c.jsxs("div",{className:"setup-nav",children:[c.jsx("span",{}),c.jsx(me,{type:"button",onClick:()=>lt(),children:g?"Finish setup":"Open project dashboard →"})]})]}):!Fa&&oo()?c.jsxs("div",{className:"compact-stack",children:[$e?c.jsx(hF,{projectName:$e}):c.jsx("p",{className:"text-sm text-secondary",children:Vf}),wn&&c.jsx("p",{role:"alert",className:"text-sm text-negative",children:wn}),c.jsxs("div",{className:"setup-nav",children:[c.jsx("span",{}),c.jsx(me,{type:"button",onClick:qe,children:"Open project dashboard →"})]})]}):Fa?mi?Wa?c.jsxs("div",{className:"compact-stack",children:[c.jsxs("p",{className:"text-neutral",children:["Sweep complete. Your first answer-visibility snapshot for"," ",c.jsx("span",{className:"text-heading font-medium",children:$e}),":"]}),c.jsxs("div",{className:"grid grid-cols-3 gap-2 mt-1",children:[c.jsxs("div",{className:"rounded-md border border-default bg-surface p-3",children:[c.jsx("p",{className:"text-xs font-medium text-secondary",children:"Mentioned"}),c.jsxs("p",{className:"text-2xl font-bold tabular-nums text-primary mt-1",children:[zc,c.jsxs("span",{className:"text-faint text-lg",children:[" / ",kn]})]}),c.jsx("p",{className:"mt-0.5 text-sm text-secondary",children:"queries naming your brand"})]}),c.jsxs("div",{className:"rounded-md border border-default bg-surface p-3",children:[c.jsx("p",{className:"text-xs font-medium text-secondary",children:"Cited"}),c.jsxs("p",{className:"text-2xl font-bold tabular-nums text-primary mt-1",children:[Io,c.jsxs("span",{className:"text-faint text-lg",children:[" / ",kn]})]}),c.jsx("p",{className:"mt-0.5 text-sm text-secondary",children:"queries citing your site"})]}),c.jsxs("div",{className:"rounded-md border border-default bg-surface p-3",children:[c.jsx("p",{className:"text-xs font-medium text-secondary",children:"Results"}),c.jsx("p",{className:"text-2xl font-bold tabular-nums text-primary mt-1",children:Pa.length}),c.jsx("p",{className:"mt-0.5 text-sm text-secondary",children:"completed engine checks"})]})]}),!b&&$e?c.jsx(RZ,{projectName:$e}):null,c.jsxs("div",{className:"setup-nav",children:[c.jsx("span",{}),c.jsx(me,{type:"button",onClick:()=>lt(),children:g?"Finish setup":"Open project dashboard →"})]})]}):c.jsxs("div",{className:"compact-stack",children:[c.jsxs("div",{role:"alert",className:"rounded-md border border-negative bg-negative-soft p-3 text-sm text-negative",children:[c.jsx("p",{children:Ls}),c.jsx("p",{className:"mt-1 text-xs text-secondary",children:oo()?Vf:w?"Fix provider or query configuration if needed, then retry without leaving setup.":"Ask an administrator to review the provider and query configuration."})]}),c.jsxs("div",{className:"setup-nav",children:[w&&!oo()?c.jsx(me,{type:"button",variant:"outline",asChild:!0,children:c.jsx(Xe,{to:"/settings",children:"Configure providers"})}):c.jsx("span",{}),oo()||!w?c.jsx(me,{type:"button",onClick:qe,children:"Open project dashboard →"}):c.jsx(me,{type:"button",disabled:ci||!!Ya,onClick:cn(di),children:ci?"Retrying...":"Retry visibility sweep"})]})]}):c.jsxs("div",{className:"compact-stack",children:[c.jsx("p",{className:"text-neutral",children:"Sweep running. This usually takes 30 to 60 seconds."}),c.jsx("div",{className:"rounded-md border border-default bg-surface p-3 text-xs text-muted",children:c.jsxs("p",{children:["Status: ",c.jsx("span",{className:"text-neutral",children:He??"queued"})]})}),Za.isError&&c.jsxs("div",{role:"alert",className:"rounded-md border border-negative bg-negative-soft p-3 text-sm text-negative",children:[c.jsx("p",{children:Za.error instanceof Error?Za.error.message:"Could not refresh the sweep status."}),c.jsx(me,{type:"button",variant:"outline",size:"sm",className:"mt-2",onClick:()=>{Za.refetch()},children:"Retry status check"})]}),c.jsxs("div",{className:"setup-nav",children:[c.jsx("span",{}),c.jsx(me,{type:"button",variant:"outline",onClick:g?()=>lt():qe,children:g?"Finish setup":"Watch on project page"})]})]}):c.jsxs("div",{className:"compact-stack",children:[c.jsxs("p",{className:"supporting-copy",children:["Your queries are saved. Run a first sweep to get a baseline for"," ",c.jsx("span",{className:"text-heading font-medium",children:$e}),", or finish and run it later from the project. A sweep calls the answer engines, so it costs provider usage."]}),(Ya||wn)&&c.jsxs("div",{role:"alert",className:"rounded-md border border-negative bg-negative-soft p-3 text-sm text-negative",children:[c.jsx("p",{children:wn??Ya}),c.jsx("p",{className:"mt-1 text-xs text-secondary",children:"Resolve the blocker above, then retry the sweep here."})]}),c.jsxs("div",{className:"setup-nav",children:[c.jsx(me,{type:"button",variant:"outline",onClick:Pn,children:"Back"}),c.jsx(me,{type:"button",variant:"ghost",onClick:$t,children:"Finish without running"}),ya==="no_provider"&&!_?c.jsx(me,{type:"button",asChild:!0,children:c.jsx(Xe,{to:"/settings",children:"Configure a provider"})}):c.jsx(me,{type:"button",disabled:ci||!!Ya,title:Ya,onClick:cn(di),children:ci?"Launching...":wn?"Retry visibility sweep":"Launch visibility sweep"})]})]})]})}default:return null}})();return c.jsxs("div",{className:_?"page-container visibility-setup":"page-container",children:[g?c.jsx(yo,{current:"visibility"}):null,c.jsxs("div",{className:"page-header",children:[c.jsxs("div",{className:"page-header-left",children:[c.jsx("h1",{ref:u?h:void 0,tabIndex:u?-1:void 0,className:"page-title",children:u?"Set up AI Visibility":"Setup"}),c.jsx("p",{className:"page-subtitle",children:u?"Connect an answer engine, then choose queries for your first sweep.":"Create a project and run its first visibility check."})]}),g?c.jsx("div",{className:"page-header-right",children:c.jsx(me,{type:"button",variant:"outline",className:"min-h-11",onClick:$t,children:"Skip AI Visibility"})}):null]}),g?null:c.jsx(PZ,{current:_?I===4?1:0:I,labels:_?OZ:zZ}),c.jsxs("section",{className:"setup-wizard",children:[Ms,Xa]})]})}const af="canonry mcp install --client claude-code",BZ="https://github.com/Canonry/canonry/blob/main/docs/mcp.md";function LZ(){const e=N.useRef(qg()).current,n=N.useRef(new Set),i=N.useCallback((r,u)=>{n.current.has(r)||(n.current.add(r),jg({...u,flowVersion:ht,onboardingSessionId:e,surface:"platform",eventId:Mg()}))},[e]);return N.useEffect(()=>{i("started",{event:"onboarding.started",step:"finish",resumed:!1})},[i]),N.useCallback(r=>{i(`action:${r}`,{event:"onboarding.step_completed",step:"finish",method:"manual",nextAction:r})},[i])}const ym=N.createContext(()=>{});function VZ({projectName:e,skippedVisibility:n=!1}){const i=Et({...DK({client:ne,path:{name:e}}),retry:!1}),r=i.data?.hasData?i.data:null,u=LZ(),h=Yw(e,De["site-audit"]),g=Yw(e,De["answer-visibility"]),b={...h?{site:h,fixes:h}:{},...UZ(g,n)};return c.jsx(ym.Provider,{value:u,children:c.jsxs("div",{className:"page-container max-w-6xl py-8 md:py-10",children:[c.jsx(yo,{current:"done",outcomes:b}),c.jsxs("header",{className:"relative mx-auto mt-12 max-w-2xl text-center md:mt-16",children:[c.jsx($Z,{}),c.jsx("p",{className:"onb-reveal mt-6 text-sm font-medium text-positive",style:_a(250),children:"Setup complete"}),c.jsx("h1",{className:"onb-reveal mt-2 text-5xl font-semibold tracking-tight text-heading md:text-6xl",style:_a(350),children:"You’re set."}),c.jsxs("p",{className:"onb-reveal mx-auto mt-4 max-w-xl text-lg text-secondary",style:_a(450),children:["Canonry is tracking ",c.jsx("span",{className:"font-medium text-heading",children:e}),". Here’s how to get the most out of it from here."]})]}),c.jsxs("div",{className:"mt-14 grid gap-4 md:grid-cols-6",children:[c.jsx(ed,{className:"md:col-span-4 md:row-span-2",delayMs:600,labelledBy:"onb-agent-heading",children:c.jsx(HZ,{projectName:e})}),c.jsx(ed,{className:"md:col-span-2 md:row-span-2",delayMs:700,labelledBy:"onb-data-heading",children:c.jsx(ZZ,{projectName:e})}),c.jsx(ed,{className:"md:col-span-3",delayMs:800,labelledBy:"onb-schedule-heading",children:c.jsx(WZ,{projectName:e})}),c.jsx(ed,{className:"md:col-span-3",delayMs:900,labelledBy:"onb-alerts-heading",children:c.jsx(JZ,{projectName:e,score:r?.aggregateScore??null})})]}),c.jsxs("div",{className:"onb-reveal mt-12 flex flex-col items-center gap-3 sm:flex-row sm:justify-center",style:_a(1e3),children:[c.jsx(me,{asChild:!0,className:"h-11 rounded-full px-6 text-base md:h-11",children:c.jsxs(Xe,{to:"/projects/$projectName",params:{projectName:e},replace:!0,onClick:()=>u("open_project"),children:["Open ",e,c.jsx(ac,{className:"size-4","aria-hidden":"true"})]})}),c.jsx(me,{asChild:!0,variant:"ghost",className:"h-11 rounded-full px-5 md:h-11",children:c.jsx(Xe,{to:"/projects/$projectName/technical-aeo",params:{projectName:e},replace:!0,onClick:()=>u("review_page_health"),children:"Review page health"})})]})]})})}function Yw(e,n){const i=Et({...sA({client:ne,path:{name:e},query:{kind:n,limit:20}}),retry:!1,refetchInterval:r=>Xw(r.state.status==="success"?{isSuccess:!0,data:r.state.data}:{isSuccess:!1})==="pending"?5e3:!1});return Xw(i)}function UZ(e,n){return e===void 0?{}:n?{visibility:"skipped"}:{visibility:e}}function Xw(e){if(!e.isSuccess||!e.data)return"unknown";const n=e.data.filter(i=>i.trigger!==gs.probe);if(!n.some(i=>i.status===Jt.completed||i.status===Jt.partial))return n.some(i=>i.status===Jt.queued||i.status===Jt.running)?"pending":n.length>0?"incomplete":"skipped"}function _a(e){return{"--onb-delay":`${e}ms`}}function $Z(){return c.jsx("div",{className:"onb-check relative mx-auto size-20","aria-hidden":"true",children:c.jsxs("svg",{viewBox:"0 0 80 80",className:"relative size-20",children:[c.jsx("circle",{className:"onb-check-ring",cx:"40",cy:"40",r:"36",fill:"none",strokeWidth:"3",pathLength:"1"}),c.jsx("path",{className:"onb-check-mark",d:"M25 41 L35 51 L56 30",fill:"none",strokeWidth:"4",strokeLinecap:"round",strokeLinejoin:"round",pathLength:"1"})]})})}function ed({className:e="",delayMs:n,labelledBy:i,children:r}){return c.jsx("section",{"aria-labelledby":i,className:`onb-reveal onb-tile flex flex-col overflow-hidden rounded-2xl border border-default bg-surface p-6 md:p-7 ${e}`,style:_a(n),children:r})}function bm({id:e,eyebrow:n,title:i,children:r}){return c.jsxs("div",{children:[c.jsx("p",{className:"text-xs font-medium uppercase tracking-wide text-muted",children:n}),c.jsx("h2",{id:e,className:"mt-1.5 text-2xl font-semibold tracking-tight text-heading",children:i}),c.jsx("p",{className:"mt-2 text-sm text-secondary",children:r})]})}const td=[{id:"diagnose",label:"Diagnose",prompt:"Why did we lose citations this week?",calls:["canonry_insights_list","canonry_competitor_landscape"],reply:"Two engines started citing a competitor’s comparison page instead of yours. Want me to draft one that answers the same query?"},{id:"fix",label:"Fix",prompt:"Fix the weakest pages on the site.",calls:["canonry_technical_aeo_pages","canonry_site_health_page_audit"],reply:"The lowest-scoring pages are missing structured data and answer-first intros. I’ve written the changes for you to review."},{id:"automate",label:"Automate",prompt:"Re-check everything every Monday and tell me in Slack.",calls:["canonry_schedule_set","canonry_agent_webhook_attach"],reply:"Done. A sweep runs every Monday, and I’ll post what changed to Slack."}],GZ=9e3;function KZ(){return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}function HZ({projectName:e}){const n=N.useContext(ym),[i,r]=N.useState(0),[u,h]=N.useState(!1),[g,b]=N.useState(!1);N.useEffect(()=>{if(u||KZ())return;const k=window.setTimeout(()=>r(A=>(A+1)%td.length),GZ);return()=>window.clearTimeout(k)},[i,u]);const v=async()=>{try{await navigator.clipboard.writeText(af),n("copy_agent_command"),b(!0),window.setTimeout(()=>b(!1),1800)}catch{bn({tone:"negative",title:"Could not copy the command",detail:`Run ${af} in your terminal.`})}},w=td[i]??td[0];return c.jsxs(c.Fragment,{children:[c.jsxs(bm,{id:"onb-agent-heading",eyebrow:"Your agent",title:"Let your agent run it.",children:["Your agent can do everything in Canonry: diagnose a drop, fix pages, run sweeps and scans, and write the client report. Use Claude Code, Codex, Cursor, or Aero, the analyst built into"," ",c.jsx("span",{className:"text-heading",children:e})," that reviews every sweep on its own."]}),c.jsxs("div",{className:"mt-6 flex flex-1 flex-col rounded-xl border border-default bg-bg",onMouseEnter:()=>h(!0),onMouseLeave:()=>h(!1),onFocus:()=>h(!0),children:[c.jsxs("div",{className:"flex items-center gap-1 border-b border-default px-3 py-2",role:"tablist","aria-label":"Example agent sessions",children:[td.map((k,A)=>c.jsx("button",{type:"button",role:"tab","aria-selected":A===i,onClick:()=>{r(A),h(!0)},className:`rounded-md px-2.5 py-1 text-xs font-medium transition-colors ${A===i?"bg-surface-inset text-heading":"text-muted hover:text-secondary"}`,children:k.label},k.id)),c.jsx("span",{className:"ml-auto text-xs text-faint",children:"Example"})]}),c.jsxs("div",{role:"tabpanel","aria-label":`${w.label} example`,className:"flex-1 p-4 font-mono text-[13px] leading-relaxed",children:[c.jsxs("p",{className:"onb-type text-heading",style:_a(150),children:[c.jsx("span",{className:"text-muted",children:"> "}),w.prompt]}),w.calls.map((k,A)=>c.jsxs("p",{className:"onb-line mt-1 text-muted first:mt-3",style:_a(1300+A*450),children:[c.jsx("span",{className:"text-positive",children:"●"})," ",k]},k)),c.jsx("p",{className:"onb-line mt-3 text-secondary",style:_a(1500+w.calls.length*450),children:w.reply}),c.jsx("span",{className:"onb-caret mt-2 inline-block h-4 w-2 bg-current align-middle text-secondary",style:_a(1900+w.calls.length*450),"aria-hidden":"true"})]},w.id)]}),c.jsxs("div",{className:"mt-4 flex flex-wrap items-center gap-2",children:[c.jsx("code",{className:"min-w-0 flex-1 truncate rounded-lg border border-default bg-surface-inset px-3 py-2 font-mono text-[13px] text-heading",children:af}),c.jsxs(me,{type:"button",variant:"secondary",size:"sm",className:"h-9 md:h-9",onClick:()=>{v()},children:[g?c.jsx(Dd,{className:"size-4","aria-hidden":"true"}):c.jsx(Xf,{className:"size-4","aria-hidden":"true"}),g?"Copied":"Copy"]}),c.jsx("a",{href:BZ,target:"_blank",rel:"noreferrer",className:"text-sm font-medium text-link underline-offset-4 hover:underline",children:"Other clients"})]})]})}const QZ=[{icon:Yf,label:"Search Console",action:"connect_search_console",to:"/projects/$projectName/search-console"},{icon:mk,label:"Google Analytics",action:"connect_analytics",to:"/projects/$projectName/activity"},{icon:hk,label:"Business Profile",action:"connect_business_profile",to:"/projects/$projectName/local"}],FZ=["GPTBot","ClaudeBot","PerplexityBot"];function ZZ({projectName:e}){const n=N.useContext(ym);return c.jsxs(c.Fragment,{children:[c.jsx(bm,{id:"onb-data-heading",eyebrow:"Server-side traffic",title:"See the AI bots.",children:"AI crawlers and answer-engine fetches never run JavaScript, so Google Analytics never sees them. Canonry reads them straight from your server."}),c.jsx(YZ,{}),c.jsxs(Xe,{to:"/traffic",onClick:()=>n("connect_server_traffic"),"aria-label":"Connect server-side traffic",className:"group flex items-center gap-3 rounded-xl border border-strong bg-surface-inset px-4 py-3 text-sm font-medium text-heading transition-colors hover:bg-surface-inset-hover",children:[c.jsx(fk,{className:"size-4 text-positive","aria-hidden":"true"}),c.jsxs("span",{className:"flex-1",children:["Connect your server",c.jsx("span",{className:"block text-xs font-normal text-secondary",children:"Cloudflare, Vercel, WordPress, or Cloud Run"})]}),c.jsx(ac,{className:"size-4 text-link transition-transform group-hover:translate-x-0.5","aria-hidden":"true"})]}),c.jsx("p",{className:"mt-5 text-xs font-medium uppercase tracking-wide text-muted",children:"Also connect"}),c.jsx("ul",{className:"mt-1 divide-y divide-default",children:QZ.map(({icon:i,label:r,action:u,to:h})=>c.jsx("li",{children:c.jsxs(Xe,{to:h,params:{projectName:e},"aria-label":`Connect ${r}`,onClick:()=>n(u),className:"group flex items-center gap-3 py-2.5 text-sm text-heading",children:[c.jsx(i,{className:"size-4 text-muted","aria-hidden":"true"}),c.jsx("span",{className:"flex-1",children:r}),c.jsx(ac,{className:"size-3.5 text-link transition-transform group-hover:translate-x-0.5","aria-hidden":"true"})]})},r))})]})}function YZ(){const e=[22,70,118];return c.jsxs("div",{className:"relative my-6 h-36","aria-hidden":"true",children:[c.jsx("svg",{viewBox:"0 0 200 140",preserveAspectRatio:"none",className:"absolute inset-0 size-full",children:e.map((n,i)=>c.jsx("path",{className:"onb-flow",style:_a(i*400),d:`M20 ${n} C 100 ${n}, 118 70, 170 70`,fill:"none",strokeWidth:"1.5"},n))}),FZ.map((n,i)=>c.jsx("span",{className:"onb-bot absolute left-0 -translate-y-1/2 rounded-md border border-default bg-bg-elevated px-2 py-1 font-mono text-[11px] text-secondary",style:{top:`${(e[i]??70)/140*100}%`,..._a(i*600)},children:n},n)),c.jsx("span",{className:"onb-hub absolute right-0 top-1/2 flex size-11 -translate-y-1/2 items-center justify-center rounded-2xl bg-accent text-on-inverse",children:c.jsx(fk,{className:"size-5"})})]})}const XZ=["M","T","W","T","F","S","S"];function WZ({projectName:e}){return c.jsxs(c.Fragment,{children:[c.jsx(bm,{id:"onb-schedule-heading",eyebrow:"Scheduled sweeps",title:"Runs on its own.",children:"Re-measure every week without lifting a finger, so a drop shows up before a customer notices."}),c.jsx("ol",{className:"mt-6 grid grid-cols-7 gap-2","aria-hidden":"true",children:XZ.map((n,i)=>c.jsxs("li",{className:"flex flex-col items-center gap-2",children:[c.jsx("span",{className:"onb-day size-3 rounded-full bg-surface-inset",style:_a(i*500)}),c.jsx("span",{className:"text-xs text-muted",children:n})]},i))}),c.jsx(HA,{projectName:e,to:"/projects/$projectName/settings",icon:pk,label:"Set a schedule",action:"set_schedule"})]})}function JZ({projectName:e,score:n}){return c.jsxs(c.Fragment,{children:[c.jsx(bm,{id:"onb-alerts-heading",eyebrow:"Notifications",title:"Hear about changes.",children:"Get a webhook in Slack or anywhere else when a sweep finishes or a score moves."}),c.jsxs("div",{className:"relative mt-6 flex h-14 items-center","aria-hidden":"true",children:[c.jsx("span",{className:"onb-bell flex size-10 items-center justify-center rounded-full border border-default bg-bg-elevated",children:c.jsx(rf,{className:"size-4 text-secondary"})}),c.jsxs("span",{className:"onb-toast ml-3 flex items-center gap-2 rounded-xl border border-default bg-bg-elevated px-3 py-2 text-sm shadow-[0_8px_24px_var(--color-shadow-panel)]",children:[c.jsx("span",{className:"size-2 rounded-full bg-positive-400"}),c.jsx("span",{className:"text-heading",children:e}),c.jsx("span",{className:"text-secondary",children:n===null?"sweep finished":`page health ${n}`})]})]}),c.jsx(HA,{projectName:e,to:"/projects/$projectName/settings",icon:rf,label:"Add a notification",action:"add_notification"})]})}function HA({projectName:e,to:n,icon:i,label:r,action:u}){const h=N.useContext(ym);return c.jsxs(Xe,{to:n,params:{projectName:e},onClick:()=>h(u),className:"group mt-6 inline-flex items-center gap-2 self-start text-sm font-medium text-link",children:[c.jsx(i,{className:"size-4","aria-hidden":"true"}),r,c.jsx(ac,{className:"size-3.5 transition-transform group-hover:translate-x-0.5","aria-hidden":"true"})]})}const eY=N.lazy(async()=>({default:(await Oi(()=>import("./SiteHealthSection-lcZA1XpM.js").then(n=>n.d),__vite__mapDeps([0,1,2,3,4]),import.meta.url)).SiteHealthSection})),tY=`Public pages only, crawled from this computer and stored locally. The first scan reads up to ${xj} pages, then stops.`,nY=1800,aY="https://github.com/Canonry/canonry#or-use-any-shell-capable-coding-agent",iY="Help me set up Canonry for my public site.\n\nUse the official Canonry docs:\n- Agent quickstart: https://github.com/Canonry/canonry#or-use-any-shell-capable-coding-agent\n- CLI reference: https://github.com/Canonry/canonry/blob/main/skills/canonry/references/canonry-cli.md\n- Plugin setup: https://github.com/Canonry/canonry/blob/main/docs/plugins.md\n- MCP setup: https://github.com/Canonry/canonry/blob/main/docs/mcp.md\n\nPick one path and stay on it. Use connected Canonry tools (plugin or MCP) only if you have them and I have not pointed you at a specific install. A connected tool runs in its own process and never sees `CANONRY_CONFIG_DIR`, `CANONRY_PORT`, or anything else you export in a shell, so it always acts on my default install. If I named a config directory, a port, or a sandbox, that is the shell path: use `cnry` and tell me which path you chose. Never mix the two in one run, and never create a duplicate project. The `cnry` and `canonry` commands are interchangeable.\n\n1. Ask for my public domain, country, and language. Do not create or scan anything yet. Country and language are only applied when a project is created, so if you reuse an existing project, report its country and language instead of changing them.\n2. Shell path only: confirm `cnry` is on PATH, then run `cnry --version`. If Canonry is missing, propose `npm install -g @canonry/canonry` and wait for approval. Then run `cnry doctor --format json`, which is the command that says whether config, database, and server are in place. `cnry --version` does not read config and succeeds on a completely unconfigured install, so it cannot answer this. If config is missing, run `cnry bootstrap` yourself: it is not interactive, takes about a second, and is safe to rerun. Do not hand it to me and wait. The interactive command is `cnry init`, which is optional provider and OAuth setup that Page Health does not need. Bootstrap prints an API key, so do not repeat its output back to me, and never ask me to paste passwords, API keys, OAuth credentials, or command output.\n3. Confirm the API is reachable. `cnry doctor --format json` reports it, and any project read exits non-zero with `CONNECTION_ERROR` when it is not. If it is unreachable, propose `cnry start` and wait for approval. Use `cnry start`, which is the background daemon, and not `cnry serve`, which runs in the foreground and will block you until I stop it, even though some error messages suggest it. Stop anything you started with `cnry stop`.\n4. List projects with the connected project tool or `cnry project list --format json`, and reuse one whose domain matches. Confirm the proposed name is not already assigned to a different domain. To find out whether a project has already been scanned, run `cnry technical-aeo score <project> --format json` with no `--run-id`, which reports the latest run. Read the `hasData` field, not the score: this command exits 0 and reports `aggregateScore: 0` for a project that has never been scanned, so reading the score alone would have you tell me my site scored zero. If `hasData` is true and `runStatus` is `completed` or `partial`, read that scan instead of starting a new one. If no project matches, show the exact create operation and wait for approval.\n5. Propose a bounded Site Health scan: `--max-pages 100` for a first look, plus whether dead-link checking is on (it is off unless you pass `--check-dead-links`). Show the connected operation or the exact `cnry technical-aeo run <project> --max-pages 100 --wait --format json` command with the project name filled in, and wait for separate approval before scanning. `--wait` polls for up to 15 minutes and returns only the run id and status. If the status it returns is still `queued` or `running`, the scan has not finished: do not rerun it or report results, poll `cnry technical-aeo progress <project> --run-id <run-id> --format json` until it is terminal. If `--wait` outruns your own tool timeout first, recover the run id with `cnry technical-aeo score <project> --format json` and poll the same way.\n6. When the run is `completed` or `partial`, read `cnry technical-aeo crawl <project> --run-id <run-id> --format json` first. It is the only one of these commands that carries `termination` and `complete`; the score and pages commands do not. Then read `cnry technical-aeo score <project> --run-id <run-id> --format json` and `cnry technical-aeo pages <project> --run-id <run-id> --sort score-asc --limit 10 --format jsonl`. Tell me the termination reason in plain words and whether the scan covered the whole site or stopped at a page, link, depth, or time limit. A `partial` run scored the pages it reached and not my site, so never present it as a full-site result. If it stopped early, the fix depends on the reason, so say which: a page or depth limit needs a larger budget, a time limit needs a smaller scan (a lower `--max-pages` or `--max-depth`). If the run failed or was cancelled, inspect the run error and stop.\n7. Summarize only completed evidence, then propose AI Visibility setup. Ask before you add queries, connect providers, start a provider-backed or quota-consuming run, edit files, or publish.";function sY(e,n){return e==="legacy"?"legacy":e==="platform"?"platform":n.state==="success"?n.projectCount===0?"platform":"legacy":n.state==="error"?"retry":"loading"}const oY="2000-01-01T00:00:00.000Z",rY=5e3;function lY(e,n){const i=new Set,r=new Map;for(const g of n)g.trigger!==gs.probe&&(r.has(g.projectId)||r.set(g.projectId,g.id),(g.status===Jt.completed||g.status===Jt.partial)&&i.add(g.projectId));const h=(e.every(g=>g.createdAt)?[...e].sort((g,b)=>(g.createdAt??"").localeCompare(b.createdAt??"")||g.name.localeCompare(b.name)):e).find(g=>!i.has(g.id));return h?{projectName:h.name,runId:r.get(h.id)}:null}const QA=[{value:"US",label:"United States"},{value:"CA",label:"Canada"},{value:"GB",label:"United Kingdom"},{value:"AU",label:"Australia"},{value:"NZ",label:"New Zealand"},{value:"IE",label:"Ireland"},{value:"DE",label:"Germany"},{value:"FR",label:"France"},{value:"ES",label:"Spain"},{value:"IT",label:"Italy"},{value:"NL",label:"Netherlands"},{value:"BR",label:"Brazil"},{value:"MX",label:"Mexico"},{value:"IN",label:"India"},{value:"SG",label:"Singapore"},{value:"JP",label:"Japan"}],FA=[{value:"en",label:"English"},{value:"es",label:"Spanish"},{value:"fr",label:"French"},{value:"de",label:"German"},{value:"it",label:"Italian"},{value:"pt",label:"Portuguese"},{value:"nl",label:"Dutch"},{value:"ja",label:"Japanese"}];function cY(e,n){try{const i=new Intl.DisplayNames(["en"],{type:"region"}),r=new Intl.DisplayNames(["en"],{type:"language"}),u=e.length===2?i.of(e.toUpperCase()):void 0,h=n?r.of(n.toLowerCase()):void 0;return`${u??(e||"Country")} · ${h??(n||"Language")}`}catch{return`${e||"Country"} · ${n||"Language"}`}}function uY(e,n){const i=e.trim().toUpperCase(),r=n.trim().toLowerCase();return{countryValid:QA.some(u=>u.value===i),languageValid:FA.some(u=>u.value===r)}}function dY(e){const n=e.replace(/^\[|\]$/g,"");return/^(?:\d{1,3}\.){3}\d{1,3}$/.test(n)||n.includes(":")}function mY(e){const n=e.trim();if(!n)return null;const i=/^[a-z][a-z\d+.-]*:\/\//i.test(n)?n:`https://${n}`;let r;try{r=new URL(i)}catch{return null}if(r.protocol!=="http:"&&r.protocol!=="https:")return null;const u=r.hostname.toLowerCase().replace(/^www\./,"");if(!u||u==="localhost"||dY(u)||!u.includes("."))return null;const h=u.replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"");return h?{canonicalDomain:u,projectName:h,displayName:u}:null}async function pY(e,n=nY){let i;const r=new Promise(h=>{i=setTimeout(()=>h({state:"timed-out"}),n)}),u=await Promise.race([e.then(h=>({state:"queued",run:h})),r]);return i&&clearTimeout(i),u}function hY(e,n){e.catch(()=>{bn({title:"Site Health scan did not start",detail:"The project is safe. Choose Run scan in Site Health to retry.",tone:"negative",dedupeKey:`site-health-dispatch:${n}`})})}function ZA(e){const n=N.useRef(qg()).current,i=N.useRef(new Set),r=N.useCallback((u,h)=>{if(h){if(i.current.has(h))return;i.current.add(h)}jg({...u,surface:e,eventId:Mg()})},[e]);return{onboardingSessionId:n,emit:r}}function Ww(e,n){return e instanceof gn&&e.statusCode===409?"A project with this name already exists. Change the project name, or open the existing project.":e instanceof Error&&e.message?e.message:n}function Hf(){return c.jsxs("div",{className:"page-container max-w-3xl","aria-busy":"true","aria-live":"polite",children:[c.jsx("div",{className:"page-header",children:c.jsxs("div",{className:"page-header-left",children:[c.jsx("h1",{className:"page-title",children:"Preparing setup"}),c.jsx("p",{className:"page-subtitle",children:"Checking the projects already on this install."})]})}),c.jsxs("div",{className:"flex items-center gap-3 rounded-lg border border-default bg-surface p-4 text-sm text-secondary",role:"status",children:[c.jsx(kr,{className:"size-4 motion-safe:animate-spin","aria-hidden":"true"}),"Loading projects…"]})]})}function fY({onRetry:e}){return c.jsxs("div",{className:"page-container max-w-3xl",children:[c.jsx("div",{className:"page-header",children:c.jsxs("div",{className:"page-header-left",children:[c.jsx("h1",{className:"page-title",children:"Can’t load projects"}),c.jsx("p",{className:"page-subtitle",children:"Canonry could not confirm whether this install already has a project."})]})}),c.jsxs("div",{className:"rounded-lg border border-negative bg-negative-soft p-4",role:"alert",tabIndex:-1,children:[c.jsx("p",{className:"text-sm font-medium text-heading",children:"Setup is paused to protect existing projects."}),c.jsx("p",{className:"mt-1 text-sm text-secondary",children:"Check the connection or sign in again, then retry."}),c.jsx(me,{type:"button",className:"mt-4",variant:"secondary",onClick:e,children:"Retry project check"})]})]})}function gY({projectName:e,initialRunId:n}){return c.jsx(Vg,{title:"Site Health setup",children:c.jsx(yY,{projectName:e,initialRunId:n})})}function yY({projectName:e,initialRunId:n}){const i=xs(),r=Et({...So({client:ne}),enabled:!!e,retry:!1,refetchOnMount:"always"}),{onboardingSessionId:u,emit:h}=ZA("site_health"),[g]=N.useState(()=>vZ(n));N.useEffect(()=>{g&&xZ()},[g]),N.useEffect(()=>{e&&h({flowVersion:ht,onboardingSessionId:u,event:"onboarding.started",step:"run",resumed:!!n&&!g},"onboarding.started")},[h,g,n,u,e]),N.useEffect(()=>{!e||!n||$A(e)?.runId!==n&&UA(e,n)},[n,e]);const v=Et({..._g({client:ne,path:{id:n??""}}),enabled:!!n,refetchInterval:({state:_})=>{const G=_.data?.status;return G==="completed"||G==="partial"||G==="failed"||G==="cancelled"?!1:2e3},refetchIntervalInBackground:!0}).data?.status;if(N.useEffect(()=>{if(!e||!n||!v)return;if(v==="completed"||v==="partial"){h({flowVersion:ht,onboardingSessionId:u,event:"onboarding.step_completed",step:"run",method:"automatic"},"onboarding.step_completed:run"),Td(n);return}if(v!=="failed"&&v!=="cancelled")return;const _=v==="cancelled"?"run_cancelled":"run_failed";h({flowVersion:ht,onboardingSessionId:u,event:"onboarding.blocked",step:"run",action:"retry_run",reasonCode:_},`onboarding.blocked:run:${_}`),Td(n)},[h,n,u,e,v]),!e)return c.jsxs("div",{className:"page-container max-w-3xl",children:[c.jsx("div",{className:"page-header",children:c.jsxs("div",{className:"page-header-left",children:[c.jsx("h1",{className:"page-title",children:"Project not found"}),c.jsx("p",{className:"page-subtitle",children:"This setup link does not identify a project."})]})}),c.jsx(me,{type:"button",variant:"secondary",onClick:()=>{i({to:"/projects"})},children:"View projects"})]});if(r.isPending)return c.jsxs("div",{className:"page-container max-w-3xl","aria-busy":"true","aria-live":"polite",children:[c.jsx(yo,{current:"site"}),c.jsxs("div",{className:"mt-8 flex items-center gap-3 text-sm text-secondary",role:"status",children:[c.jsx(kr,{className:"size-4 motion-safe:animate-spin","aria-hidden":"true"}),"Loading Site Health setup…"]})]});if(r.isError)return c.jsxs("div",{className:"page-container max-w-3xl",children:[c.jsx("div",{className:"page-header",children:c.jsxs("div",{className:"page-header-left",children:[c.jsx("h1",{className:"page-title",children:"Can’t resume setup"}),c.jsx("p",{className:"page-subtitle",children:"Canonry could not load the project for this Site Health scan."})]})}),c.jsxs("div",{className:"rounded-lg border border-negative bg-negative-soft p-4",role:"alert",children:[c.jsx("p",{className:"text-sm text-secondary",children:"Check the connection or sign in again, then retry."}),c.jsx(me,{type:"button",className:"mt-4",variant:"secondary",onClick:()=>{r.refetch()},children:"Retry project check"})]})]});const w=r.data.find(_=>_.name===e);if(!w)return c.jsxs("div",{className:"page-container max-w-3xl",children:[c.jsx("div",{className:"page-header",children:c.jsxs("div",{className:"page-header-left",children:[c.jsx("h1",{className:"page-title",children:"Project not found"}),c.jsxs("p",{className:"page-subtitle",children:["Canonry could not find ",e,". It will not open a different project."]})]})}),c.jsx(me,{type:"button",variant:"secondary",onClick:()=>{i({to:"/projects"})},children:"View projects"})]});const k=()=>{i({to:"/setup",search:{onboarding:"site-health",setupProject:w.name},replace:!0})},A=()=>{i({to:"/setup",search:{experience:"legacy",onboarding:"site-health",setupProject:w.name},replace:!0})},T=()=>{h({flowVersion:ht,onboardingSessionId:u,event:"onboarding.step_completed",step:"run",method:"skipped"},"onboarding.step_completed:run"),i({to:"/setup",search:{onboarding:"complete",setupProject:w.name,skipped:"visibility"},replace:!0})};return c.jsxs("div",{className:"page-container max-w-7xl py-8 md:py-10",children:[c.jsx("h1",{className:"sr-only",children:"Set up Canonry"}),c.jsx(N.Suspense,{fallback:c.jsxs("div",{className:"space-y-5",children:[c.jsx(yo,{current:"site"}),c.jsxs("div",{className:"flex min-h-72 items-center justify-center gap-3 text-sm text-secondary",role:"status",children:[c.jsx(kr,{className:"size-4 motion-safe:animate-spin","aria-hidden":"true"}),"Loading Site Health…"]})]}),children:c.jsx(eY,{projectName:w.name,projectId:w.id,initialRunId:n,onReleaseInitialRun:k,showOnboardingActions:!0,onContinueOnboarding:A,onSkipOnboarding:T})})]})}function bY(){const e=ek({from:"/setup"}),n=e.onboarding==="site-health"&&!e.setupProject,i=e.onboarding==="site-health"&&e.experience!=="legacy",r=KU(),u=e.experience==="legacy"?"legacy":e.experience==="platform"?"platform":r,[h,g]=N.useState(!1),[b,v]=N.useState(void 0),w=Et({...So({client:ne}),enabled:u==="auto",retry:!1,refetchOnMount:"always"}),k=Et({...rm({client:ne,query:{kind:De["site-audit"],since:oY,limit:rY}}),enabled:u==="auto",retry:!1,refetchOnMount:"always"}),A=u==="auto"&&w.isSuccess&&w.isFetchedAfterMount&&w.data.length===0;N.useEffect(()=>{A&&g(!0)},[A]);const T=u!=="auto"?{state:"idle"}:w.isSuccess&&w.isFetchedAfterMount?{state:"success",projectCount:w.data.length}:w.isError?{state:"error"}:{state:"loading"},_=u==="legacy"?"legacy":h||A?"platform":sY(u,T);if(e.onboarding==="complete"&&e.setupProject)return c.jsx(VZ,{projectName:e.setupProject,skippedVisibility:e.skipped==="visibility"});if(n||i)return c.jsx(gY,{projectName:e.setupProject,initialRunId:e.siteHealthRunId});const G=u==="auto"&&_==="legacy"&&!e.setupProject&&w.isSuccess;if(G&&b===void 0)return k.isError?v(null):k.isSuccess&&k.isFetchedAfterMount&&v(lY(w.data,k.data)),c.jsx(Hf,{});const R=G?b:null;return R?c.jsx(vY,{projectName:R.projectName,runId:R.runId}):_==="legacy"?c.jsx(qZ,{visibilityProjectName:e.setupProject,siteHealthOnboarding:e.onboarding==="site-health",onboardingFinish:e.onboarding==="site-health"||e.onboarding==="first-run"}):_==="loading"?c.jsx(Hf,{}):_==="retry"?c.jsx(fY,{onRetry:()=>{w.refetch()}}):c.jsx(xY,{onActivationStarted:()=>g(!0),skipSiteScan:e.siteScan==="skip"})}function vY({projectName:e,runId:n}){const i=xs();return N.useEffect(()=>{i({to:"/setup",search:{onboarding:"site-health",setupProject:e,...n?{siteHealthRunId:n}:{}},replace:!0})},[i,e,n]),c.jsx(Hf,{})}function xY({onActivationStarted:e,skipSiteScan:n}){return c.jsx(Vg,{title:"Site Health setup",children:c.jsx(wY,{onActivationStarted:e,skipSiteScan:n})})}function wY({onActivationStarted:e,skipSiteScan:n}){const i=xs(),r=ca(),u=NZ(),h=Et({...PG({client:ne}),retry:!1}),g=ws(qG()),[b,v]=N.useState(""),[w,k]=N.useState(""),[A,T]=N.useState(""),[_,G]=N.useState("US"),[R,q]=N.useState("en"),[F,ae]=N.useState(!1),[L,W]=N.useState("idle"),[J,se]=N.useState(null),[V,H]=N.useState(null),[ke,et]=N.useState(!1),[it,Ke]=N.useState(null),[Ze,Ne]=N.useState(!1),Le=h.isError?void 0:h.data,I=typeof Le?.enabled=="boolean"?Le.enabled:null,Y=g.isPending?g.variables.body.enabled:I,[fe,we]=N.useState(null),ee=N.useRef(null),{onboardingSessionId:_e,emit:Pe}=ZA("platform");N.useEffect(()=>{Pe({flowVersion:ht,onboardingSessionId:_e,event:"onboarding.started",step:"project",resumed:!1},"onboarding.started")},[Pe,_e]);const be=mY(b),le=w||be?.projectName||"",ce=A||be?.displayName||"",K=L==="creating"||L==="dispatching",de=V??it,Ee=cY(_,R),{countryValid:Se,languageValid:nt}=uY(_,R),Ve=Se&&nt;N.useEffect(()=>{de&&ee.current?.focus()},[de]);const vt=(qe,lt)=>i({to:"/setup",search:{...lt?{siteHealthRunId:lt}:{},onboarding:"site-health",setupProject:qe.name},replace:!0}),$e=async qe=>{W("dispatching"),Ke(null);try{const lt=u.mutateAsync({projectName:qe.name,projectId:qe.id,projectLabel:qe.displayName||qe.name,suppressErrorToast:!0,body:{checkDeadLinks:!0,maxPages:xj}}),$t=await pY(lt);if($t.state==="queued"){Pe({flowVersion:ht,onboardingSessionId:_e,event:"run.requested",origin:"dashboard_setup",result:"queued",kind:"site_health",providerCountBucket:"0",queryCountBucket:"0"}),bZ($t.run.runId),await vt(qe,$t.run.runId);return}lt.then(()=>{Pe({flowVersion:ht,onboardingSessionId:_e,event:"run.requested",origin:"dashboard_setup",result:"queued",kind:"site_health",providerCountBucket:"0",queryCountBucket:"0"})},Gt=>{Pe({flowVersion:ht,onboardingSessionId:_e,event:"run.requested",origin:"dashboard_setup",result:"rejected",kind:"site_health",providerCountBucket:"0",queryCountBucket:"0",reasonCode:nc(Gt,"run_rejected")})}),hY(lt,qe.id),await vt(qe)}catch(lt){W("recovery"),Ke(Ww(lt,"The project was created, but the Site Health scan could not be started."));const $t=nc(lt,"run_rejected");Pe({flowVersion:ht,onboardingSessionId:_e,event:"run.requested",origin:"dashboard_setup",result:"rejected",kind:"site_health",providerCountBucket:"0",queryCountBucket:"0",reasonCode:$t}),Pe({flowVersion:ht,onboardingSessionId:_e,event:"onboarding.blocked",step:"run",action:"retry_run",reasonCode:$t},`onboarding.blocked:run:${$t}`)}},re=async qe=>{if(qe.preventDefault(),!(!be||!n&&!F||!Ve||K)){W("creating"),H(null),et(!1),Ke(null);try{const lt=await m$({name:le,displayName:ce,canonicalDomain:be.canonicalDomain,country:_,language:R});if(e(),se(lt),Pe({flowVersion:ht,onboardingSessionId:_e,event:"onboarding.step_completed",step:"project",method:"manual"},"onboarding.step_completed:project"),await r.invalidateQueries({queryKey:vs({client:ne})}),n){await i({to:"/setup",search:{experience:"legacy",onboarding:"first-run",setupProject:lt.name},replace:!0});return}await $e(lt)}catch(lt){W("idle");const $t=lt instanceof gn&&lt.statusCode===409;et($t),H(Ww(lt,"Could not create the project. Try again.")),Pe({flowVersion:ht,onboardingSessionId:_e,event:"onboarding.blocked",step:"project",action:"save",reasonCode:nc(lt,"project_create_failed")},"onboarding.blocked:project"),$t&&(e(),r.invalidateQueries({queryKey:vs({client:ne})}))}}},st=()=>{J&&!K&&$e(J)},Ut=()=>{K||i({to:"/projects"})},_n=async()=>{try{await navigator.clipboard.writeText(iY),Ne(!0)}catch{bn({tone:"negative",title:"Could not copy setup request",detail:"Open the agent quickstart to continue with the CLI instead."})}},pa=async qe=>{we(null);try{const lt=await g.mutateAsync({client:ne,body:{enabled:qe}});r.setQueryData(oA({client:ne}),lt),lt.enabled!==qe&&we(`The server kept telemetry ${lt.enabled?"on":"off"}. Check its telemetry settings.`)}catch{we("Could not update telemetry. Try again.")}};return J&&L==="recovery"?c.jsxs("div",{className:"page-container max-w-3xl",children:[c.jsx(yo,{current:"site"}),c.jsx("div",{className:"page-header mt-8",children:c.jsxs("div",{className:"page-header-left",children:[c.jsx("h1",{className:"page-title",children:"Project created"}),c.jsxs("p",{className:"page-subtitle",children:[J.displayName||J.name," is ready. The Site Health scan needs another try."]})]})}),c.jsxs("div",{ref:ee,className:"rounded-lg border border-negative bg-negative-soft p-4",role:"alert",tabIndex:-1,children:[c.jsx("p",{className:"text-sm font-medium text-heading",children:it}),c.jsx("p",{className:"mt-1 text-sm text-secondary",children:"You can retry the scan or continue setup and retry from Site Health."}),c.jsxs("div",{className:"mt-4 flex flex-wrap gap-3",children:[c.jsx(me,{type:"button",onClick:st,children:"Retry Site Health scan"}),c.jsx(me,{type:"button",variant:"secondary",onClick:()=>{vt(J)},children:"Continue setup"})]})]})]}):c.jsxs("div",{className:"page-container max-w-xl py-8 md:py-12",children:[n?null:c.jsx(yo,{current:"site"}),c.jsxs("header",{className:`mb-8 ${n?"":"mt-8"}`,children:[c.jsx("h1",{id:"site-map-setup-title",className:"text-2xl font-semibold tracking-[-0.025em] text-heading",children:n?"Create a project":"Scan your site"}),c.jsx("p",{className:"mt-2 max-w-lg text-sm leading-6 text-secondary",children:n?"Add a public domain, then choose the queries you want to track. No site scan will run.":"Enter your public website to see its pages, structure, internal links, and technical SEO scores."})]}),c.jsxs("form",{"aria-labelledby":"site-map-setup-title",className:"space-y-6",onSubmit:cn(re),noValidate:!0,children:[c.jsxs("div",{className:"grid gap-2",children:[c.jsx("label",{className:"text-sm font-medium text-heading",htmlFor:"launchpad-domain",children:"Website URL"}),c.jsx("input",{id:"launchpad-domain",className:"h-11 w-full rounded-md border border-strong bg-bg-elevated/50 px-3 text-base text-heading outline-none transition placeholder:text-muted focus:border-mono-500 focus:ring-1 focus:ring-mono-500",type:"text",inputMode:"url",autoComplete:"url",autoCapitalize:"none",spellCheck:!1,required:!0,"aria-invalid":!!(b&&!be),"aria-describedby":b&&!be?"launchpad-domain-hint launchpad-domain-error":"launchpad-domain-hint",placeholder:"https://example.com",value:b,onChange:qe=>{v(qe.target.value),H(null),et(!1)}}),c.jsx("p",{id:"launchpad-domain-hint",className:"text-sm text-secondary",children:n?c.jsxs(c.Fragment,{children:["A public domain is still required."," ",c.jsx(Xe,{to:"/setup",search:{experience:"platform"},className:"font-medium text-link underline-offset-4 hover:underline",children:"Map with Site Health instead"})]}):c.jsxs(c.Fragment,{children:["Only public pages are scanned."," ",c.jsx(Xe,{to:"/setup",search:{experience:"platform",onboarding:"first-run",siteScan:"skip"},className:"font-medium text-link underline-offset-4 hover:underline",children:"Set up without a site scan"})]})}),b&&!be?c.jsx("p",{id:"launchpad-domain-error",className:"text-sm text-negative",role:"alert",children:"Enter a public domain, such as example.com."}):null]}),c.jsxs("details",{className:"group border-y border-default",children:[c.jsxs("summary",{className:"flex min-h-11 cursor-pointer list-none items-center justify-between gap-4 py-3 text-sm [&::-webkit-details-marker]:hidden",children:[c.jsx("span",{className:"font-medium text-heading",children:"Project name and locale"}),c.jsxs("span",{className:"flex items-center gap-2 text-secondary",children:[Ee,c.jsx(Ed,{className:"size-4 transition-transform group-open:rotate-180 motion-reduce:transition-none","aria-hidden":"true"})]})]}),c.jsxs("div",{className:"space-y-5 border-t border-default py-4",children:[be?c.jsxs("div",{children:[c.jsx("p",{className:"mb-3 text-sm font-medium text-heading",children:"Project"}),c.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[c.jsxs("div",{className:"grid gap-2",children:[c.jsx("label",{className:"text-sm text-secondary",htmlFor:"launchpad-project-name",children:"Project name"}),c.jsx("input",{id:"launchpad-project-name",className:"setup-input h-10",type:"text",value:le,onChange:qe=>k(qe.target.value)})]}),c.jsxs("div",{className:"grid gap-2",children:[c.jsx("label",{className:"text-sm text-secondary",htmlFor:"launchpad-display-name",children:"Display name"}),c.jsx("input",{id:"launchpad-display-name",className:"setup-input h-10",type:"text",value:ce,onChange:qe=>T(qe.target.value)})]})]})]}):null,c.jsxs("div",{children:[c.jsx("p",{className:"mb-3 text-sm font-medium text-heading",children:"Locale"}),c.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[c.jsxs("div",{className:"grid gap-2",children:[c.jsx("label",{className:"text-sm text-secondary",htmlFor:"launchpad-country",children:"Country"}),c.jsx("select",{id:"launchpad-country",className:"setup-input h-10",value:_,onChange:qe=>G(qe.target.value),children:QA.map(qe=>c.jsx("option",{value:qe.value,children:qe.label},qe.value))})]}),c.jsxs("div",{className:"grid gap-2",children:[c.jsx("label",{className:"text-sm text-secondary",htmlFor:"launchpad-language",children:"Language"}),c.jsx("select",{id:"launchpad-language",className:"setup-input h-10",value:R,onChange:qe=>q(qe.target.value),children:FA.map(qe=>c.jsx("option",{value:qe.value,children:qe.label},qe.value))})]})]})]})]})]}),n?null:c.jsxs("label",{className:"flex min-h-11 cursor-pointer items-start gap-3 py-2",children:[c.jsx("input",{className:"mt-0.5 size-4 shrink-0 rounded border-strong bg-bg",type:"checkbox",checked:F,onChange:qe=>ae(qe.target.checked),"aria-label":"Allow Canonry to scan this public site."}),c.jsxs("span",{className:"flex items-center gap-1.5",children:[c.jsx("span",{className:"text-sm leading-5 text-heading",children:"Allow Canonry to scan this public site."}),c.jsx(ro,{text:tY})]})]}),de?c.jsxs("div",{ref:ee,className:"rounded-md border border-negative bg-negative-soft p-3",role:"alert",tabIndex:-1,children:[c.jsx("p",{className:"text-sm font-medium text-heading",children:de}),ke?c.jsx(me,{type:"button",variant:"secondary",size:"sm",className:"mt-3",onClick:Ut,children:"View projects"}):null]}):null,c.jsxs("div",{className:"grid gap-2",children:[c.jsx(me,{className:"h-11 w-full",type:"submit",disabled:!be||!n&&!F||!Ve||K,children:L==="creating"||L==="dispatching"?c.jsxs(c.Fragment,{children:[c.jsx(kr,{className:"size-4 motion-safe:animate-spin","aria-hidden":"true"})," ",n?"Creating project…":"Mapping site…"]}):n?"Create project":"Scan site"}),L==="dispatching"?c.jsx("span",{className:"text-center text-sm text-secondary",role:"status",children:"Opening Site Health when the scan is ready."}):null]})]}),c.jsxs("section",{className:"mt-8 border-t border-default pt-6","aria-labelledby":"agent-setup-title",children:[c.jsx("p",{id:"agent-setup-title",className:"text-sm font-medium text-heading",children:"Use your agent instead"}),c.jsx("p",{className:"mt-1 text-sm leading-5 text-secondary",children:"Copy a complete CLI setup request into any agent."}),c.jsxs("div",{className:"mt-3 flex flex-wrap items-center gap-1",children:[c.jsxs(me,{type:"button",variant:"ghost",size:"sm",className:"-ml-3",onClick:cn(_n),children:[Ze?c.jsx(Dd,{className:"size-3.5","aria-hidden":"true"}):c.jsx(Xf,{className:"size-3.5","aria-hidden":"true"}),c.jsx("span",{"aria-live":"polite",children:Ze?"Copied setup request":"Copy setup request"})]}),c.jsx(me,{asChild:!0,variant:"ghost",size:"sm",children:c.jsxs("a",{href:aY,target:"_blank",rel:"noopener noreferrer",children:["Agent quickstart",c.jsx(TN,{className:"size-3.5","aria-hidden":"true"}),c.jsx("span",{className:"sr-only",children:" (opens in a new tab)"})]})})]})]}),I!==null?c.jsxs("section",{className:"mt-6 border-t border-default pt-5","aria-labelledby":"telemetry-title",children:[c.jsxs("label",{className:`flex min-h-11 items-start gap-3 py-2 ${g.isPending?"cursor-wait":"cursor-pointer"}`,children:[c.jsx("input",{className:"mt-0.5 size-4 shrink-0 rounded border-strong bg-bg accent-accent focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-mono-500 disabled:cursor-wait",type:"checkbox",checked:Y??!1,disabled:g.isPending,onChange:qe=>{pa(qe.target.checked)},"aria-describedby":"telemetry-detail"}),c.jsxs("span",{className:"grid gap-0.5",children:[c.jsx("span",{id:"telemetry-title",className:"text-sm leading-5 text-heading",children:"Share anonymous product telemetry"}),c.jsx("span",{id:"telemetry-detail",className:"max-w-[70ch] text-sm leading-5 text-secondary",children:"Helps prioritize improvements. Canonry does not send raw domains, URLs, queries, answer content, or credentials."})]})]}),g.isPending?c.jsx("p",{className:"mt-1 text-sm text-secondary",role:"status",children:"Saving preference…"}):null,fe?c.jsx("p",{className:"mt-1 text-sm text-negative",role:"alert",children:fe}):null]}):null]})}function kY(){return c.jsx("div",{className:"page-container",children:c.jsx("section",{className:"page-section",children:c.jsxs(Na,{className:"surface-card empty-card",children:[c.jsx("h1",{children:"Route not found"}),c.jsx("p",{children:"The current path does not map to a dashboard view."}),c.jsx(me,{asChild:!0,children:c.jsx(Xe,{to:"/",children:"Return to overview"})})]})})})}const ma=ks(()=>Oi(()=>import("./ProjectPage-eNVzxsZW.js"),__vite__mapDeps([5,1,2,6,0,3,4,7,8,9,10,11,12]),import.meta.url),"ProjectPage"),SY=ks(()=>Oi(()=>import("./RunsPage-BOM_RkNi.js"),__vite__mapDeps([13,1,6,11,4,2,9,12]),import.meta.url),"RunsPage"),jY=ks(()=>Oi(()=>import("./HistoryPage-CWPETgrG.js"),__vite__mapDeps([14,1,10,11,4,2,9,12]),import.meta.url),"HistoryPage"),AY=ks(()=>Oi(()=>import("./SettingsPage-BDnT6wtM.js"),__vite__mapDeps([15,1,11,4,2,9,12]),import.meta.url),"SettingsPage"),CY=ks(()=>Oi(()=>import("./BacklinksPage-rhms6z2S.js"),__vite__mapDeps([16,1,2,11,4,9,12]),import.meta.url),"BacklinksPage"),NY=ks(()=>Oi(()=>import("./TrafficPage-D4nGSfXx.js"),__vite__mapDeps([17,1,7,2,11,4,9,12]),import.meta.url),"TrafficPage"),_Y=ks(()=>Oi(()=>import("./TrafficSourceDetailPage-CvZcCbic.js"),__vite__mapDeps([18,1,7,3,4,2,11,9,12]),import.meta.url),"TrafficSourceDetailPage"),TY=ks(()=>Oi(()=>import("./MeasurementPropertyPage-D9-54Je9.js"),__vite__mapDeps([19,1,3,4,8,9,2,11,12]),import.meta.url),"MeasurementPropertyPage");function RY(){return c.jsx(nZ,{children:c.jsx(Z$,{children:c.jsx(tZ,{})})})}const Ln=sN()({component:RY,validateSearch:e=>({manageQueries:e.manageQueries===!0||e.manageQueries==="true"?!0:void 0,runId:typeof e.runId=="string"?e.runId:void 0,siteHealthRunId:typeof e.siteHealthRunId=="string"?e.siteHealthRunId:void 0,evidenceId:typeof e.evidenceId=="string"?e.evidenceId:void 0,runStatus:typeof e.runStatus=="string"?e.runStatus:void 0,runKind:typeof e.runKind=="string"?e.runKind:void 0,runProject:typeof e.runProject=="string"?e.runProject:void 0,runWindow:typeof e.runWindow=="string"?e.runWindow:void 0,runQuery:typeof e.runQuery=="string"?e.runQuery:void 0,onboarding:e.onboarding==="site-health"||e.onboarding==="first-run"||e.onboarding==="complete"?e.onboarding:void 0,experience:e.experience==="legacy"||e.experience==="platform"?e.experience:void 0,siteScan:e.siteScan==="skip"?"skip":void 0,skipped:e.skipped==="visibility"?"visibility":void 0,setupProject:typeof e.setupProject=="string"?e.setupProject:void 0,scope:typeof e.scope=="string"?e.scope:void 0,class:typeof e.class=="string"?e.class:void 0,...Object.fromEntries(["queryWorkspace","researchMode","trackingQueryId","measurementScope","measurementScopeKey","measurementMarketKey","queryClass","measurementProvider","measurementModel","measurementLocation","measurementFrom","measurementTo","measurementRevision","measurementRunId","measurementQueryKey","measurementAnswer"].map(n=>[n,typeof e[n]=="string"?e[n]:void 0]))})}),EY=It({getParentRoute:()=>Ln,path:"/",component:rZ,beforeLoad:async({context:e})=>{let n=e.queryClient.getQueryData(vs({client:ne}));if(n===void 0)try{n=await e.queryClient.ensureQueryData(So({client:ne}))}catch{return}if(n.length===0)throw nk({to:"/setup"})}}),DY=It({getParentRoute:()=>Ln,path:"/projects",component:dZ}),zY=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,Vn=It({getParentRoute:()=>Ln,path:"/projects/$projectName",component:()=>c.jsx(sf,{}),beforeLoad:async({context:e,params:n,location:i})=>{const r=n.projectName;if(!zY.test(r))return;let u=e.queryClient.getQueryData(vs({client:ne}));if(!u)try{u=await e.queryClient.ensureQueryData(So({client:ne}))}catch{return}const h=u.find(g=>g.id===r);if(h)throw nk({to:i.pathname.replace(`/projects/${r}`,`/projects/${encodeURIComponent(h.name)}`),replace:!0})}}),OY=It({getParentRoute:()=>Vn,path:"/",component:()=>c.jsx(ma,{tab:"overview"})}),IY=It({getParentRoute:()=>Vn,path:"/portfolio",component:()=>c.jsx(ma,{tab:"portfolio"})}),PY=It({getParentRoute:()=>Vn,path:"/search-console",component:()=>c.jsx(ma,{tab:"search-console"})}),qY=It({getParentRoute:()=>Vn,path:"/conversions",component:()=>c.jsx(ma,{tab:"conversions"})}),MY=It({getParentRoute:()=>Vn,path:"/local",component:()=>c.jsx(ma,{tab:"local"})}),BY=It({getParentRoute:()=>Vn,path:"/discovery",component:()=>c.jsx(ma,{tab:"discovery"})}),LY=It({getParentRoute:()=>Vn,path:"/queries",component:()=>c.jsx(ma,{tab:"queries"})}),VY=It({getParentRoute:()=>Vn,path:"/properties/$targetKey",component:()=>c.jsx(TY,{})}),UY=It({getParentRoute:()=>Vn,path:"/report",component:()=>c.jsx(ma,{tab:"report"})}),$Y=It({getParentRoute:()=>Vn,path:"/activity",component:()=>c.jsx(ma,{tab:"activity"})}),GY=It({getParentRoute:()=>Vn,path:"/backlinks",component:()=>c.jsx(ma,{tab:"backlinks"})}),KY=It({getParentRoute:()=>Vn,path:"/technical-aeo",component:()=>c.jsx(ma,{tab:"technical-aeo"})}),HY=It({getParentRoute:()=>Vn,path:"/history",component:()=>c.jsx(ma,{tab:"history"})}),QY=It({getParentRoute:()=>Vn,path:"/settings",component:()=>c.jsx(ma,{tab:"settings"})}),FY=It({getParentRoute:()=>Ln,path:"/runs",component:SY}),ZY=It({getParentRoute:()=>Ln,path:"/history",component:jY}),YY=It({getParentRoute:()=>Ln,path:"/settings",component:AY,beforeLoad:({context:e})=>{}}),XY=It({getParentRoute:()=>Ln,path:"/setup",component:bY}),WY=It({getParentRoute:()=>Ln,path:"/backlinks",component:CY}),JY=It({getParentRoute:()=>Ln,path:"/traffic",component:NY}),eX=It({getParentRoute:()=>Ln,path:"/traffic/$projectName/$sourceId",component:_Y}),tX=It({getParentRoute:()=>Ln,path:"*",component:kY}),nX=Ln.addChildren([EY,DY,Vn.addChildren([OY,IY,PY,qY,MY,BY,LY,VY,UY,$Y,GY,KY,HY,QY]),FY,ZY,YY,XY,WY,JY,eX,tX]);function aX(){return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?window.__CANONRY_CONFIG__.basePath:"/"}const Jw=aX(),iX=Jw==="/"?"":Jw.replace(/\/$/,"");function sX(e,n){return oN({routeTree:nX,basepath:iX||"/",context:{queryClient:e},...n?.initialEntries})}const oX=6e4;function rX(){const e=N.useRef(c$()).current,[n,i]=N.useState(e?"ready":"checking"),[r,u]=N.useState(null),[h,g]=N.useState(null),[b,v]=N.useState(e),[w,k]=N.useState(!1),[A,T]=N.useState(""),[_,G]=N.useState(""),[R,q]=N.useState(""),[F,ae]=N.useState(!1),[L,W]=N.useState("password"),[J,se]=N.useState(null),[V,H]=N.useState(!1),[ke,et]=N.useState(!1),it=N.useRef(null),Ke=N.useRef(null),Ze=N.useRef(null),Ne=()=>{const K=r?`${r.name}:${r.role}`:e?"api-key:explicit":h?`api-key:${h.id}`:"no-accounts";if(!it.current||Ze.current!==K){Ke.current?.clear();const de=H$();Ke.current=de,it.current=sX(de),Ze.current=K}return{queryClient:Ke.current,router:it.current}},Le=K=>K.authRequired?(k(!0),u(K.user),g(null),v(!1),i(K.user?"ready":"account-login"),!0):!1;N.useEffect(()=>{let K=!1;const de=async(Ee,Se=!1)=>{try{const nt=await Zh();if(K)return;g(nt),v(!1),i("ready")}catch(nt){if(K)return;if(Se&&nt instanceof gn&&nt.statusCode===401)return w$().then(()=>{K||(se(null),g(null),v(!1),et(!0),i("login"))}).catch(Ve=>{K||(se(Ve instanceof Error?Ve.message:"Could not clear the invalid session"),i(Ee))});se(nt instanceof Error?nt.message:"Could not verify API key access"),i(Ee)}};return e?(de("api-key-error"),()=>{K=!0}):(Promise.allSettled([rw(),ow()]).then(([Ee,Se])=>{if(K||Ee.status==="fulfilled"&&Le(Ee.value))return;if(Se.status==="rejected"){const Ve=Se.reason;se(Ve instanceof Error?Ve.message:"Failed to reach the Canonry API"),i("login");return}const nt=Se.value;nt.authenticated?(v(!0),de("api-key-error",!0)):(g(null),v(!1),i(nt.setupRequired?"setup":"login"))}),()=>{K=!0})},[]),N.useEffect(()=>{if(n!=="ready"||e)return;const K=setInterval(()=>{if(w){rw().then(de=>{de.authRequired&&!de.user&&(et(!0),u(null),g(null),i("account-login"))}).catch(()=>{});return}ow().then(de=>{de.authenticated||(et(!0),g(null),i(de.setupRequired?"setup":"login"))}).catch(()=>{})},oX);return sw(()=>{et(!0),u(null),g(null),v(!1),i(w?"account-login":"login")}),()=>{clearInterval(K),sw(null)}},[n,w,e]);const I=async K=>{if(K.preventDefault(),!_.trim()||_.trim().length<8){se("Password must be at least 8 characters");return}if(_!==R){se("Passwords do not match");return}H(!0),se(null);try{if(!(await b$(_.trim())).authenticated){se("Setup failed");return}G(""),q(""),ae(!1),et(!1),g(null),v(!0),i("checking");try{const Ee=await Zh();g(Ee),v(!1),i("ready")}catch(Ee){se(Ee instanceof Error?Ee.message:"Could not verify API key access"),i("api-key-error")}}catch(de){se(de instanceof gn||de instanceof Error?de.message:"Setup failed")}finally{H(!1)}},Y=K=>{G(K),se(null)},fe=K=>{q(K),se(null)},we=async K=>{if(K.preventDefault(),!!_.trim()){H(!0),se(null);try{if(!(L==="api-key"?await x$(_.trim()):await v$(_.trim())).authenticated){se(L==="api-key"?"Invalid API key":"Incorrect password");return}const Ee=await Zh();g(Ee),v(!1),G(""),ae(!1),et(!1),i("ready")}catch(de){se(de instanceof gn||de instanceof Error?de.message:"Authentication failed")}finally{H(!1)}}},ee=K=>{W(K),G(""),ae(!1),se(null)},_e=async K=>{if(K.preventDefault(),!(!A.trim()||!_)){H(!0),se(null);try{const de=await k$(A.trim(),_);if(!de.user){se("Incorrect name or password.");return}G(""),et(!1),u(de.user),g(null),v(!1),i("ready")}catch(de){se(de instanceof gn?de.message:"Incorrect name or password.")}finally{H(!1)}}};if(n==="ready"){const{queryClient:K,router:de}=Ne();return c.jsx(P$,{account:r,apiKey:h,apiKeyPending:b,children:c.jsx(rN,{client:K,children:c.jsx(lN,{router:de})})})}const Pe=_.trim(),be=_.length>0&&Pe.length<8,le=R.length>0&&_!==R,ce=Pe.length>=8&&_===R;return c.jsx("div",{className:"min-h-screen bg-bg px-4 py-8",children:c.jsxs("div",{className:"mx-auto flex min-h-[calc(100vh-4rem)] max-w-md flex-col items-center justify-center gap-5",children:[c.jsxs("div",{"data-testid":"auth-brand",className:"flex items-center gap-2.5",children:[c.jsx("img",{className:"size-7",src:"./favicon.svg",alt:"","aria-hidden":"true"}),c.jsx("span",{className:"text-lg font-semibold tracking-tight text-heading",children:"Canonry"})]}),c.jsx(Na,{className:"surface-card w-full",children:n==="checking"?c.jsx(lo,{className:"py-8",children:c.jsx("p",{className:"supporting-copy text-center",children:"Connecting to Canonry…"})}):n==="api-key-error"?c.jsxs(c.Fragment,{children:[c.jsxs(br,{children:[c.jsx("p",{className:"eyebrow eyebrow-soft",children:"Dashboard access"}),c.jsx("h1",{className:"font-medium tracking-tight text-primary",children:"Could not verify API key access"})]}),c.jsxs(lo,{className:"space-y-4",children:[c.jsx("p",{className:"supporting-copy",children:J??"Canonry could not verify this session’s access, so the dashboard stayed locked."}),c.jsx(me,{type:"button",className:"w-full",onClick:()=>{window.location.reload()},children:"Try again"})]})]}):n==="account-login"?c.jsxs(c.Fragment,{children:[c.jsxs(br,{children:[c.jsx("p",{className:"eyebrow eyebrow-soft",children:"Dashboard access"}),c.jsx("h1",{className:"font-medium tracking-tight text-primary",children:"Sign in to Canonry"})]}),c.jsxs(lo,{children:[ke?c.jsx("p",{className:"mb-4 rounded-md border border-caution bg-caution-soft px-3 py-2 text-sm text-caution",children:"You were signed out — please sign in again."}):null,c.jsxs("form",{className:"space-y-4",onSubmit:cn(_e),children:[c.jsxs("label",{className:"block space-y-1.5",htmlFor:"account-name",children:[c.jsx("span",{className:"text-xs font-medium text-secondary",children:"Name"}),c.jsx("input",{autoFocus:!0,id:"account-name",className:"w-full rounded-md border border-base bg-bg px-3 py-2 text-sm text-heading outline-none transition focus:border-mono-600",type:"text",name:"username",autoComplete:"username",value:A,onChange:K=>{T(K.target.value),se(null)},"aria-invalid":!!J,"aria-describedby":J?"account-login-error":void 0})]}),c.jsxs("label",{className:"block space-y-1.5",htmlFor:"account-password",children:[c.jsx("span",{className:"text-xs font-medium text-secondary",children:"Password"}),c.jsx("input",{id:"account-password",className:"w-full rounded-md border border-base bg-bg px-3 py-2 text-sm text-heading outline-none transition focus:border-mono-600",type:"password",name:"password",autoComplete:"current-password",value:_,onChange:K=>Y(K.target.value),"aria-invalid":!!J,"aria-describedby":J?"account-login-error":void 0})]}),J?c.jsx("p",{id:"account-login-error",role:"alert",className:"text-sm text-negative-400",children:J}):null,c.jsx(me,{type:"submit",disabled:V||!A.trim()||!_,children:V?"Signing in…":"Sign in"})]})]})]}):n==="setup"?c.jsxs(c.Fragment,{children:[c.jsxs(br,{children:[c.jsx("p",{className:"eyebrow eyebrow-soft",children:"First-time setup"}),c.jsx("h1",{className:"font-medium tracking-tight text-primary",children:"Create a dashboard password"}),c.jsx(Nd,{children:"This password protects the dashboard on this computer."})]}),c.jsx(lo,{children:c.jsxs("form",{className:"space-y-4",onSubmit:cn(I),children:[c.jsxs("div",{className:"space-y-1.5",children:[c.jsx("label",{className:"block text-xs font-medium text-secondary",htmlFor:"dashboard-password-new",children:"Password"}),c.jsx("input",{autoFocus:!0,id:"dashboard-password-new",className:"w-full rounded-md border border-base bg-bg px-3 py-2 text-sm text-heading outline-none transition focus:border-mono-600",type:F?"text":"password",name:"new-password",autoComplete:"new-password",minLength:8,required:!0,value:_,onChange:K=>Y(K.target.value),"aria-invalid":be,"aria-describedby":"dashboard-password-new-help"}),c.jsx("span",{id:"dashboard-password-new-help","aria-live":"polite",className:be?"block text-sm text-negative-400":"block text-sm text-secondary",children:be?"Enter at least 8 characters.":"Use at least 8 characters."})]}),c.jsxs("div",{className:"space-y-1.5",children:[c.jsx("label",{className:"block text-xs font-medium text-secondary",htmlFor:"dashboard-password-confirm",children:"Confirm password"}),c.jsx("input",{id:"dashboard-password-confirm",className:"w-full rounded-md border border-base bg-bg px-3 py-2 text-sm text-heading outline-none transition focus:border-mono-600",type:F?"text":"password",name:"confirm-password",autoComplete:"new-password",minLength:8,required:!0,value:R,onChange:K=>fe(K.target.value),"aria-invalid":le,"aria-describedby":"dashboard-password-confirm-help"}),c.jsx("span",{id:"dashboard-password-confirm-help","aria-live":"polite",className:le?"block text-sm text-negative-400":"block text-sm text-secondary",children:le?"Passwords do not match.":"Enter the same password again."})]}),c.jsxs("label",{className:"flex min-h-10 cursor-pointer items-center gap-2 text-sm text-secondary",htmlFor:"dashboard-password-show",children:[c.jsx("input",{id:"dashboard-password-show",type:"checkbox",checked:F,onChange:K=>ae(K.target.checked)}),"Show passwords"]}),J?c.jsx("p",{id:"dashboard-password-setup-error",role:"alert",className:"text-sm text-negative-400",children:J}):null,c.jsx(me,{type:"submit",disabled:V||!ce,children:V?"Creating password…":"Create password and continue"})]})})]}):c.jsxs(c.Fragment,{children:[c.jsxs(br,{children:[c.jsx("p",{className:"eyebrow eyebrow-soft",children:"Dashboard access"}),c.jsx("h1",{className:"font-medium tracking-tight text-primary",children:"Sign in to Canonry"}),c.jsx(Nd,{children:L==="api-key"?"Enter an API key from this Canonry install. This opens the dashboard with that key’s access and does not change the password.":"Enter your dashboard password to continue."})]}),c.jsxs(lo,{children:[ke?c.jsx("p",{className:"mb-4 rounded-md border border-caution bg-caution-soft px-3 py-2 text-sm text-caution",children:"Your session expired — please sign in again."}):null,c.jsxs("form",{className:"space-y-4",onSubmit:cn(we),children:[c.jsxs("label",{className:"block space-y-1.5",htmlFor:"dashboard-password-current",children:[c.jsx("span",{className:"text-xs font-medium text-secondary",children:L==="api-key"?"Canonry API key":"Password"}),c.jsx("input",{autoFocus:!0,id:"dashboard-password-current",className:"w-full rounded-md border border-base bg-bg px-3 py-2 text-sm text-heading outline-none transition focus:border-mono-600",type:F?"text":"password",name:L==="api-key"?"apiKey":"password",autoComplete:L==="api-key"?"off":"current-password",spellCheck:!1,required:!0,value:_,onChange:K=>Y(K.target.value),"aria-invalid":!!J,"aria-describedby":J?"dashboard-password-login-error":void 0})]}),c.jsxs("label",{className:"flex min-h-10 cursor-pointer items-center gap-2 text-sm text-secondary",htmlFor:"dashboard-login-password-show",children:[c.jsx("input",{id:"dashboard-login-password-show",type:"checkbox",checked:F,onChange:K=>ae(K.target.checked)}),L==="api-key"?"Show API key":"Show password"]}),J?c.jsx("p",{id:"dashboard-password-login-error",role:"alert",className:"text-sm text-negative-400",children:J}):null,c.jsx(me,{type:"submit",disabled:V||!_.trim(),children:V?"Signing in…":"Open dashboard"}),c.jsx(me,{type:"button",variant:"ghost",onClick:()=>ee(L==="api-key"?"password":"api-key"),children:L==="api-key"?"Use dashboard password instead":"Forgot password? Use API key"})]})]})]})})]})})}const YA=document.getElementById("root");if(!YA)throw new Error("Expected #root element for web app bootstrap.");qN.createRoot(YA).render(c.jsx(N.StrictMode,{children:c.jsx(rX,{})}));export{Jte as $,Zne as A,me as B,bd as C,Yne as D,Bf as E,Qee as F,$X as G,Gee as H,ro as I,Fee as J,KJ as K,Uee as L,Vne as M,Kte as N,Fte as O,eQ as P,Qte as Q,At as R,X$ as S,On as T,eee as U,JJ as V,uee as W,bn as X,Xte as Y,Wte as Z,see as _,Lne as a,wG as a$,oee as a0,nee as a1,iee as a2,Zte as a3,Yte as a4,Hte as a5,tee as a6,ene as a7,rne as a8,ane as a9,xne as aA,hr as aB,Vf as aC,oo as aD,$$ as aE,ote as aF,rF as aG,aee as aH,ZX as aI,B2 as aJ,qI as aK,UX as aL,zJ as aM,L9 as aN,Nn as aO,VX as aP,pW as aQ,LX as aR,uG as aS,DG as aT,mte as aU,yte as aV,pte as aW,_W as aX,RW as aY,vV as aZ,EW as a_,sne as aa,ine as ab,one as ac,_ee as ad,Tg as ae,De as af,nne as ag,uA as ah,zi as ai,tne as aj,Jne as ak,gz as al,yz as am,BX as an,MX as ao,Eee as ap,qee as aq,Mee as ar,gn as as,Bee as at,PJ as au,W$ as av,iH as aw,Df as ax,Lee as ay,od as az,sW as b,mW as b$,dte as b0,wV as b1,Tf as b2,TW as b3,JU as b4,hte as b5,ute as b6,SG as b7,fte as b8,Qne as b9,Lte as bA,$te as bB,kZ as bC,Tte as bD,ve as bE,OX as bF,zX as bG,DX as bH,EX as bI,_X as bJ,NX as bK,RX as bL,TX as bM,CX as bN,AX as bO,bX as bP,vX as bQ,jX as bR,SX as bS,kX as bT,xX as bU,wX as bV,yX as bW,gX as bX,fX as bY,hX as bZ,l5 as b_,gte as ba,Ane as bb,Cne as bc,ree as bd,Ng as be,vne as bf,sA as bg,kte as bh,jte as bi,Dte as bj,Ute as bk,Vte as bl,Rte as bm,Bte as bn,Gte as bo,Cte as bp,Ote as bq,Ite as br,Pte as bs,Ate as bt,zte as bu,Nte as bv,qte as bw,_te as bx,Mte as by,Ete as bz,mM as c,QW as c$,fW as c0,cW as c1,gW as c2,hW as c3,uW as c4,dW as c5,vW as c6,Wne as c7,bne as c8,Ef as c9,NJ as cA,CJ as cB,hJ as cC,pJ as cD,dJ as cE,mJ as cF,SW as cG,cJ as cH,lJ as cI,XW as cJ,WW as cK,xW as cL,AW as cM,JW as cN,gJ as cO,GX as cP,jJ as cQ,AJ as cR,xJ as cS,kJ as cT,KX as cU,SJ as cV,wJ as cW,oW as cX,oJ as cY,KW as cZ,HW as c_,yW as ca,zW as cb,OW as cc,po as cd,DW as ce,bW as cf,bee as cg,Rt as ch,LL as ci,sJ as cj,DJ as ck,eJ as cl,tJ as cm,nJ as cn,aJ as co,iJ as cp,OB as cq,rW as cr,nw as cs,EJ as ct,jW as cu,kW as cv,qW as cw,TU as cx,_J as cy,TJ as cz,AS as d,DZ as d$,FW as d0,ZW as d1,YW as d2,OU as d3,RJ as d4,lW as d5,IX as d6,IB as d7,BW as d8,fJ as d9,Xee as dA,FX as dB,pw as dC,QJ as dD,FJ as dE,Zee as dF,Yee as dG,ZJ as dH,YJ as dI,WJ as dJ,XJ as dK,Nc as dL,So as dM,H3 as dN,ete as dO,Jee as dP,KQ as dQ,tQ as dR,_A as dS,oQ as dT,TA as dU,RA as dV,oF as dW,hG as dX,co as dY,Rd as dZ,BG as d_,qX as da,wW as db,IW as dc,MW as dd,PW as de,HX as df,yJ as dg,bJ as dh,vJ as di,VW as dj,B3 as dk,LW as dl,UW as dm,QX as dn,$W as dp,rJ as dq,PX as dr,uJ as ds,GW as dt,$J as du,UJ as dv,VJ as dw,vee as dx,IG as dy,Ste as dz,Vee as e,Dee as e$,Xne as e0,Kne as e1,iF as e2,Gne as e3,CZ as e4,bte as e5,tte as e6,$ne as e7,ste as e8,nte as e9,Kee as eA,dee as eB,mee as eC,pee as eD,gee as eE,hee as eF,Rr as eG,rm as eH,Fne as eI,dm as eJ,Dg as eK,xte as eL,wte as eM,i$ as eN,OJ as eO,IJ as eP,HJ as eQ,lee as eR,cee as eS,Vg as eT,mm as eU,zg as eV,EZ as eW,yee as eX,Er as eY,fw as eZ,Tee as e_,vte as ea,Une as eb,ate as ec,Jt as ed,qne as ee,pF as ef,d$ as eg,aG as eh,hF as ei,Hne as ej,qJ as ek,h$ as el,MJ as em,BJ as en,LJ as eo,vs as ep,cG as eq,pG as er,GJ as es,lne as et,C$ as eu,fee as ev,une as ew,dne as ex,mne as ey,cne as ez,yn as f,Oee as f0,Iee as f1,Ree as f2,zee as f3,Pee as f4,Fh as f5,Nee as f6,Sne as f7,cZ as f8,NW as f9,uF as fA,iW as fB,JX as fC,Mne as fD,Bne as fE,Tne as fF,Rne as fG,YX as fH,zne as fI,Pne as fJ,Dne as fK,Ine as fL,yo as fM,xj as fN,eW as fO,aW as fP,One as fQ,Vq as fR,nW as fS,tW as fT,mg as fa,Wee as fb,wne as fc,jne as fd,Cee as fe,CW as ff,jee as fg,Aee as fh,See as fi,kne as fj,$ee as fk,Wz as fl,rte as fm,ite as fn,cte as fo,lte as fp,WX as fq,Oi as fr,za as fs,XX as ft,WU as fu,DK as fv,_ne as fw,Nne as fx,NZ as fy,Ene as fz,pne as g,Cw as h,fne as i,Na as j,Bn as k,ne as l,e$ as m,wr as n,zn as o,cn as p,hne as q,yne as r,Hee as s,eG as t,Og as u,gne as v,xee as w,kee as x,wee as y,da as z};