@canonry/canonry 6.3.1 → 7.0.0

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 (42) hide show
  1. package/README.md +3 -3
  2. package/assets/agent-workspace/skills/aero/SKILL.md +2 -2
  3. package/assets/agent-workspace/skills/aero/references/reporting.md +26 -23
  4. package/assets/agent-workspace/skills/canonry/references/canonry-cli.md +52 -21
  5. package/assets/agent-workspace/skills/canonry/references/server-side-traffic.md +17 -6
  6. package/assets/assets/{AuditHistoryPanel-BUYWIjlG.js → AuditHistoryPanel-DBYsgVsn.js} +1 -1
  7. package/assets/assets/{BacklinksPage-aBcxpN_9.js → BacklinksPage-HIM0fmV7.js} +1 -1
  8. package/assets/assets/ChartPrimitives-CYlrwLJs.js +1 -0
  9. package/assets/assets/{HistoryPage-PoBuxiY_.js → HistoryPage-BjEVp-fk.js} +1 -1
  10. package/assets/assets/MeasurementPropertyPage-BnVDR2y_.js +1 -0
  11. package/assets/assets/ProjectPage-BhCM47KA.js +8 -0
  12. package/assets/assets/{RunsPage-CHHxOpzo.js → RunsPage-fJQe2qJc.js} +1 -1
  13. package/assets/assets/{SettingsPage-CNKnrLXC.js → SettingsPage-1yam5tl6.js} +1 -1
  14. package/assets/assets/{SiteHealthSection-C9RivT7G.js → SiteHealthSection-DysU2M6C.js} +3 -3
  15. package/assets/assets/{TrafficPage-CY-ibXnb.js → TrafficPage-BdNEscz8.js} +2 -2
  16. package/assets/assets/{TrafficSourceDetailPage-BgiPXubs.js → TrafficSourceDetailPage-CMEgr4Aw.js} +1 -1
  17. package/assets/assets/{extract-error-message-H1dzzfBP.js → extract-error-message-D2dhaJaW.js} +1 -1
  18. package/assets/assets/index-CgT2Btdn.css +1 -0
  19. package/assets/assets/index-D9ODLKpH.js +86 -0
  20. package/assets/assets/{react-sigma_core.esm.min-uiYtR_DU.js → react-sigma_core.esm.min-oP23IWpt.js} +1 -1
  21. package/assets/assets/v2-overview-adapter-DYatWs7N.js +1 -0
  22. package/assets/assets/{vendor-recharts-llkUFBGR.js → vendor-recharts-D-cUuLZo.js} +1 -1
  23. package/assets/index.html +3 -3
  24. package/dist/{chunk-4WZUR7XX.js → chunk-A5PALGQD.js} +14 -9
  25. package/dist/{chunk-7CVTTQRV.js → chunk-EZ54X4XH.js} +4372 -8276
  26. package/dist/{chunk-ZZEPF3A5.js → chunk-HQJ25LI7.js} +83 -19
  27. package/dist/{chunk-5GY5WBAF.js → chunk-LXWY4NKP.js} +3 -3
  28. package/dist/{chunk-EV5G5QRR.js → chunk-OOUDIVIU.js} +1224 -3003
  29. package/dist/{chunk-5FYTFE5T.js → chunk-RRIZ5AKI.js} +2 -2
  30. package/dist/{chunk-DERWXLHX.js → chunk-TUHQ5BBQ.js} +65 -16
  31. package/dist/cli.js +240 -178
  32. package/dist/{demo-server-AIFR77TP.js → demo-server-LHHDVXQW.js} +5 -14
  33. package/dist/index.js +6 -6
  34. package/dist/{intelligence-service-SYISPW25.js → intelligence-service-ZVKZLLKL.js} +2 -2
  35. package/dist/mcp.js +4 -4
  36. package/package.json +14 -14
  37. package/assets/assets/ChartPrimitives-B5okB5g-.js +0 -1
  38. package/assets/assets/MeasurementPropertyPage-DyjyqHac.js +0 -1
  39. package/assets/assets/ProjectPage-Mmv5YW-K.js +0 -8
  40. package/assets/assets/index-C17E5ZcA.css +0 -1
  41. package/assets/assets/index-DSCun3I9.js +0 -86
  42. package/assets/assets/v2-overview-adapter-BQokN2eb.js +0 -1
@@ -0,0 +1,86 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./SiteHealthSection-DysU2M6C.js","./vendor-tanstack-ZXXkndVj.js","./vendor-lucide-N6vOpZmh.js","./ChartPrimitives-CYlrwLJs.js","./vendor-recharts-D-cUuLZo.js","./ProjectPage-BhCM47KA.js","./v2-overview-adapter-DYatWs7N.js","./vendor-markdown-B4giJcws.js","./extract-error-message-D2dhaJaW.js","./AuditHistoryPanel-DBYsgVsn.js","./vendor-radix-twS1M3FF.js","./vendor-yaml-GWJz5H2G.js","./RunsPage-fJQe2qJc.js","./HistoryPage-BjEVp-fk.js","./SettingsPage-1yam5tl6.js","./BacklinksPage-HIM0fmV7.js","./TrafficPage-BdNEscz8.js","./TrafficSourceDetailPage-CMEgr4Aw.js","./MeasurementPropertyPage-BnVDR2y_.js"])))=>i.map(i=>d[i]);
2
+ import{c as vN,d as xN,r as C,j as l,Q as wN,M as kN,q as ve,e as Ac,L as Je,a as SN,t as yr,u as yt,f as jN,h as la,k as js,l as Ck,m as AN,n as Nk,O as jf,o as ii,p as CN,s as qt,v as h0,x as As,y as NN,z as _N,A as TN}from"./vendor-tanstack-ZXXkndVj.js";import{S as EN,O as f0,P as _k,C as g0,a as Tk,T as y0,D as Ek,R as Rk}from"./vendor-radix-twS1M3FF.js";import{c as zk}from"./vendor-recharts-D-cUuLZo.js";import{A as gc,X as Mr,S as b0,a as Dk,G as Ik,C as Cc,L as Cr,R as Ju,M as RN,b as zN,P as Af,H as Ok,c as DN,d as IN,e as Jd,f as v0,T as qk,W as ON,g as x0,h as qN,i as PN,j as MN,k as BN,l as LN,m as VN,n as UN,B as $N,F as KN,o as GN,p as HN,q as QN,r as FN,s as Pk,t as Mk,u as Cf,v as Bk,w as ZN,x as Lk,E as YN}from"./vendor-lucide-N6vOpZmh.js";import{M as XN,r as JN}from"./vendor-markdown-B4giJcws.js";import{p as WN}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 f of h.addedNodes)f.tagName==="LINK"&&f.rel==="modulepreload"&&r(f)}).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 Mh={exports:{}},Jl={},Bh={exports:{}},Lh={};var Lv;function e5(){return Lv||(Lv=1,(function(e){function n(q,X){var be=q.length;q.push(X);e:for(;0<be;){var Se=be-1>>>1,J=q[Se];if(0<u(J,X))q[Se]=X,q[be]=J,be=Se;else break e}}function i(q){return q.length===0?null:q[0]}function r(q){if(q.length===0)return null;var X=q[0],be=q.pop();if(be!==X){q[0]=be;e:for(var Se=0,J=q.length,Ne=J>>>1;Se<Ne;){var Pe=2*(Se+1)-1,xe=q[Pe],ce=Pe+1,re=q[ce];if(0>u(xe,be))ce<J&&0>u(re,xe)?(q[Se]=re,q[ce]=be,Se=ce):(q[Se]=xe,q[Pe]=be,Se=Pe);else if(ce<J&&0>u(re,be))q[Se]=re,q[ce]=be,Se=ce;else break e}}return X}function u(q,X){var be=q.sortIndex-X.sortIndex;return be!==0?be:q.id-X.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 f=Date,b=f.now();e.unstable_now=function(){return f.now()-b}}var v=[],w=[],k=1,S=null,T=3,N=!1,I=!1,P=!1,E=!1,V=typeof setTimeout=="function"?setTimeout:null,W=typeof clearTimeout=="function"?clearTimeout:null,L=typeof setImmediate<"u"?setImmediate:null;function F(q){for(var X=i(w);X!==null;){if(X.callback===null)r(w);else if(X.startTime<=q)r(w),X.sortIndex=X.expirationTime,n(v,X);else break;X=i(w)}}function Z(q){if(P=!1,F(q),!I)if(i(v)!==null)I=!0,ae||(ae=!0,$e());else{var X=i(w);X!==null&&Ve(Z,X.startTime-q)}}var ae=!1,M=-1,Y=5,ue=-1;function Ye(){return E?!0:!(e.unstable_now()-ue<Y)}function tt(){if(E=!1,ae){var q=e.unstable_now();ue=q;var X=!0;try{e:{I=!1,P&&(P=!1,W(M),M=-1),N=!0;var be=T;try{t:{for(F(q),S=i(v);S!==null&&!(S.expirationTime>q&&Ye());){var Se=S.callback;if(typeof Se=="function"){S.callback=null,T=S.priorityLevel;var J=Se(S.expirationTime<=q);if(q=e.unstable_now(),typeof J=="function"){S.callback=J,F(q),X=!0;break t}S===i(v)&&r(v),F(q)}else r(v);S=i(v)}if(S!==null)X=!0;else{var Ne=i(w);Ne!==null&&Ve(Z,Ne.startTime-q),X=!1}}break e}finally{S=null,T=be,N=!1}X=void 0}}finally{X?$e():ae=!1}}}var $e;if(typeof L=="function")$e=function(){L(tt)};else if(typeof MessageChannel<"u"){var qe=new MessageChannel,ke=qe.port2;qe.port1.onmessage=tt,$e=function(){ke.postMessage(null)}}else $e=function(){V(tt,0)};function Ve(q,X){M=V(function(){q(e.unstable_now())},X)}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(q){q.callback=null},e.unstable_forceFrameRate=function(q){0>q||125<q?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):Y=0<q?Math.floor(1e3/q):5},e.unstable_getCurrentPriorityLevel=function(){return T},e.unstable_next=function(q){switch(T){case 1:case 2:case 3:var X=3;break;default:X=T}var be=T;T=X;try{return q()}finally{T=be}},e.unstable_requestPaint=function(){E=!0},e.unstable_runWithPriority=function(q,X){switch(q){case 1:case 2:case 3:case 4:case 5:break;default:q=3}var be=T;T=q;try{return X()}finally{T=be}},e.unstable_scheduleCallback=function(q,X,be){var Se=e.unstable_now();switch(typeof be=="object"&&be!==null?(be=be.delay,be=typeof be=="number"&&0<be?Se+be:Se):be=Se,q){case 1:var J=-1;break;case 2:J=250;break;case 5:J=1073741823;break;case 4:J=1e4;break;default:J=5e3}return J=be+J,q={id:k++,callback:X,priorityLevel:q,startTime:be,expirationTime:J,sortIndex:-1},be>Se?(q.sortIndex=be,n(w,q),i(v)===null&&q===i(w)&&(P?(W(M),M=-1):P=!0,Ve(Z,be-Se))):(q.sortIndex=J,n(v,q),I||N||(I=!0,ae||(ae=!0,$e()))),q},e.unstable_shouldYield=Ye,e.unstable_wrapCallback=function(q){var X=T;return function(){var be=T;T=X;try{return q.apply(this,arguments)}finally{T=be}}}})(Lh)),Lh}var Vv;function t5(){return Vv||(Vv=1,Bh.exports=e5()),Bh.exports}var Uv;function n5(){if(Uv)return Jl;Uv=1;var e=t5(),n=vN(),i=xN();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 f(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,c=a;;){var p=s.return;if(p===null)break;var g=p.alternate;if(g===null){if(c=p.return,c!==null){s=c;continue}break}if(p.child===g.child){for(g=p.child;g;){if(g===s)return v(p),t;if(g===c)return v(p),a;g=g.sibling}throw Error(r(188))}if(s.return!==c.return)s=p,c=g;else{for(var x=!1,j=p.child;j;){if(j===s){x=!0,s=p,c=g;break}if(j===c){x=!0,c=p,s=g;break}j=j.sibling}if(!x){for(j=g.child;j;){if(j===s){x=!0,s=g,c=p;break}if(j===c){x=!0,c=g,s=p;break}j=j.sibling}if(!x)throw Error(r(189))}}if(s.alternate!==c)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 S=Object.assign,T=Symbol.for("react.element"),N=Symbol.for("react.transitional.element"),I=Symbol.for("react.portal"),P=Symbol.for("react.fragment"),E=Symbol.for("react.strict_mode"),V=Symbol.for("react.profiler"),W=Symbol.for("react.consumer"),L=Symbol.for("react.context"),F=Symbol.for("react.forward_ref"),Z=Symbol.for("react.suspense"),ae=Symbol.for("react.suspense_list"),M=Symbol.for("react.memo"),Y=Symbol.for("react.lazy"),ue=Symbol.for("react.activity"),Ye=Symbol.for("react.memo_cache_sentinel"),tt=Symbol.iterator;function $e(t){return t===null||typeof t!="object"?null:(t=tt&&t[tt]||t["@@iterator"],typeof t=="function"?t:null)}var qe=Symbol.for("react.client.reference");function ke(t){if(t==null)return null;if(typeof t=="function")return t.$$typeof===qe?null:t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case P:return"Fragment";case V:return"Profiler";case E:return"StrictMode";case Z:return"Suspense";case ae:return"SuspenseList";case ue:return"Activity"}if(typeof t=="object")switch(t.$$typeof){case I:return"Portal";case L:return t.displayName||"Context";case W:return(t._context.displayName||"Context")+".Consumer";case F:var a=t.render;return t=t.displayName,t||(t=a.displayName||a.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case M:return a=t.displayName||null,a!==null?a:ke(t.type)||"Memo";case Y:a=t._payload,t=t._init;try{return ke(t(a))}catch{}}return null}var Ve=Array.isArray,q=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,X=i.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,be={pending:!1,data:null,method:null,action:null},Se=[],J=-1;function Ne(t){return{current:t}}function Pe(t){0>J||(t.current=Se[J],Se[J]=null,J--)}function xe(t,a){J++,Se[J]=t.current,t.current=a}var ce=Ne(null),re=Ne(null),H=Ne(null),pe=Ne(null);function De(t,a){switch(xe(H,a),xe(re,t),xe(ce,null),a.nodeType){case 9:case 11:t=(t=a.documentElement)&&(t=t.namespaceURI)?cv(t):0;break;default:if(t=a.tagName,a=a.namespaceURI)a=cv(a),t=uv(a,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}Pe(ce),xe(ce,t)}function je(){Pe(ce),Pe(re),Pe(H)}function it(t){t.memoizedState!==null&&xe(pe,t);var a=ce.current,s=uv(a,t.type);a!==s&&(xe(re,t),xe(ce,s))}function Ue(t){re.current===t&&(Pe(ce),Pe(re)),pe.current===t&&(Pe(pe),Fl._currentValue=be)}var St,Ge;function me(t){if(St===void 0)try{throw Error()}catch(s){var a=s.stack.trim().match(/\n( *(at )?)/);St=a&&a[1]||"",Ge=-1<s.stack.indexOf(`
3
+ at`)?" (<anonymous>)":-1<s.stack.indexOf("@")?"@unknown:0:0":""}return`
4
+ `+St+t+Ge}var nt=!1;function zt(t,a){if(!t||nt)return"";nt=!0;var s=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var c={DetermineComponentFrameRoot:function(){try{if(a){var se=function(){throw Error()};if(Object.defineProperty(se.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(se,[])}catch(Q){var G=Q}Reflect.construct(t,[],se)}else{try{se.call()}catch(Q){G=Q}t.call(se.prototype)}}else{try{throw Error()}catch(Q){G=Q}(se=t())&&typeof se.catch=="function"&&se.catch(function(){})}}catch(Q){if(Q&&G&&typeof Q.stack=="string")return[Q.stack,G.stack]}return[null,null]}};c.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var p=Object.getOwnPropertyDescriptor(c.DetermineComponentFrameRoot,"name");p&&p.configurable&&Object.defineProperty(c.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var g=c.DetermineComponentFrameRoot(),x=g[0],j=g[1];if(x&&j){var z=x.split(`
5
+ `),$=j.split(`
6
+ `);for(p=c=0;c<z.length&&!z[c].includes("DetermineComponentFrameRoot");)c++;for(;p<$.length&&!$[p].includes("DetermineComponentFrameRoot");)p++;if(c===z.length||p===$.length)for(c=z.length-1,p=$.length-1;1<=c&&0<=p&&z[c]!==$[p];)p--;for(;1<=c&&0<=p;c--,p--)if(z[c]!==$[p]){if(c!==1||p!==1)do if(c--,p--,0>p||z[c]!==$[p]){var ee=`
7
+ `+z[c].replace(" at new "," at ");return t.displayName&&ee.includes("<anonymous>")&&(ee=ee.replace("<anonymous>",t.displayName)),ee}while(1<=c&&0<=p);break}}}finally{nt=!1,Error.prepareStackTrace=s}return(s=t?t.displayName||t.name:"")?me(s):""}function In(t,a){switch(t.tag){case 26:case 27:case 5:return me(t.type);case 16:return me("Lazy");case 13:return t.child!==a&&a!==null?me("Suspense Fallback"):me("Suspense");case 19:return me("SuspenseList");case 0:case 15:return zt(t.type,!1);case 11:return zt(t.type.render,!1);case 1:return zt(t.type,!0);case 31:return me("Activity");default:return""}}function $t(t){try{var a="",s=null;do a+=In(t,s),s=t,t=t.return;while(t);return a}catch(c){return`
8
+ Error generating stack: `+c.message+`
9
+ `+c.stack}}var Me=Object.prototype.hasOwnProperty,ct=e.unstable_scheduleCallback,Kt=e.unstable_cancelCallback,Gt=e.unstable_shouldYield,Tn=e.unstable_requestPaint,Bt=e.unstable_now,ri=e.unstable_getCurrentPriorityLevel,Is=e.unstable_ImmediatePriority,Vn=e.unstable_UserBlockingPriority,li=e.unstable_NormalPriority,Os=e.unstable_LowPriority,Li=e.unstable_IdlePriority,Vi=e.log,qs=e.unstable_setDisableYieldValue,hn=null,jt=null;function fn(t){if(typeof Vi=="function"&&qs(t),jt&&typeof jt.setStrictMode=="function")try{jt.setStrictMode(hn,t)}catch{}}var wn=Math.clz32?Math.clz32:oe,Ps=Math.log,da=Math.LN2;function oe(t){return t>>>=0,t===0?32:31-(Ps(t)/da|0)|0}var Ie=256,Ze=262144,Ht=4194304;function st(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 c=t.pendingLanes;if(c===0)return 0;var p=0,g=t.suspendedLanes,x=t.pingedLanes;t=t.warmLanes;var j=c&134217727;return j!==0?(c=j&~g,c!==0?p=st(c):(x&=j,x!==0?p=st(x):s||(s=j&~t,s!==0&&(p=st(s))))):(j=c&~g,j!==0?p=st(j):x!==0?p=st(x):s||(s=c&~t,s!==0&&(p=st(s)))),p===0?0:a!==0&&a!==p&&(a&g)===0&&(g=p&-p,s=a&-a,g>=s||g===32&&(s&4194048)!==0)?a:p}function Xt(t,a){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&a)===0}function Ga(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 Ms(){var t=Ht;return Ht<<=1,(Ht&62914560)===0&&(Ht=4194304),t}function zo(t){for(var a=[],s=0;31>s;s++)a.push(t);return a}function Bs(t,a){t.pendingLanes|=a,a!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function $c(t,a,s,c,p,g){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 j=t.entanglements,z=t.expirationTimes,$=t.hiddenUpdates;for(s=x&~s;0<s;){var ee=31-wn(s),se=1<<ee;j[ee]=0,z[ee]=-1;var G=$[ee];if(G!==null)for($[ee]=null,ee=0;ee<G.length;ee++){var Q=G[ee];Q!==null&&(Q.lane&=-536870913)}s&=~se}c!==0&&Xr(t,c,0),g!==0&&p===0&&t.tag!==0&&(t.suspendedLanes|=g&~(x&~a))}function Xr(t,a,s){t.pendingLanes|=a,t.suspendedLanes&=~a;var c=31-wn(a);t.entangledLanes|=a,t.entanglements[c]=t.entanglements[c]|1073741824|s&261930}function Jr(t,a){var s=t.entangledLanes|=a;for(t=t.entanglements;s;){var c=31-wn(s),p=1<<c;p&a|t[c]&a&&(t[c]|=a),s&=~p}}function Wr(t,a){var s=a&-a;return s=(s&42)!==0?1:el(s),(s&(t.suspendedLanes|a))!==0?0:s}function el(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 tl(t){return t&=-t,2<t?8<t?(t&134217727)!==0?32:268435456:8:2}function Do(){var t=X.p;return t!==0?t:(t=window.event,t===void 0?32:Dv(t.type))}function Kc(t,a){var s=X.p;try{return X.p=t,a()}finally{X.p=s}}var ma=Math.random().toString(36).slice(2),nn="__reactFiber$"+ma,En="__reactProps$"+ma,Ui="__reactContainer$"+ma,Io="__reactEvents$"+ma,Gc="__reactListeners$"+ma,Oo="__reactHandles$"+ma,Xn="__reactResources$"+ma,$i="__reactMarker$"+ma;function nl(t){delete t[nn],delete t[En],delete t[Io],delete t[Gc],delete t[Oo]}function ci(t){var a=t[nn];if(a)return a;for(var s=t.parentNode;s;){if(a=s[Ui]||s[nn]){if(s=a.alternate,a.child!==null||s!==null&&s.child!==null)for(t=yv(t);t!==null;){if(s=t[nn])return s;t=yv(t)}return a}t=s,s=t.parentNode}return null}function Ki(t){if(t=t[nn]||t[Ui]){var a=t.tag;if(a===5||a===6||a===13||a===31||a===26||a===27||a===3)return t}return null}function Gi(t){var a=t.tag;if(a===5||a===26||a===27||a===6)return t.stateNode;throw Error(r(33))}function Hi(t){var a=t[Xn];return a||(a=t[Xn]={hoistableStyles:new Map,hoistableScripts:new Map}),a}function Jt(t){t[$i]=!0}var al=new Set,il={};function Ha(t,a){Ls(t,a),Ls(t+"Capture",a)}function Ls(t,a){for(il[t]=a,t=0;t<a.length;t++)al.add(a[t])}var sl=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]*$"),ol={},Qa={};function Pm(t){return Me.call(Qa,t)?!0:Me.call(ol,t)?!1:sl.test(t)?Qa[t]=!0:(ol[t]=!0,!1)}function ui(t,a,s){if(Pm(a))if(s===null)t.removeAttribute(a);else{switch(typeof s){case"undefined":case"function":case"symbol":t.removeAttribute(a);return;case"boolean":var c=a.toLowerCase().slice(0,5);if(c!=="data-"&&c!=="aria-"){t.removeAttribute(a);return}}t.setAttribute(a,""+s)}}function Vs(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 kn(t,a,s,c){if(c===null)t.removeAttribute(s);else{switch(typeof c){case"undefined":case"function":case"symbol":case"boolean":t.removeAttribute(s);return}t.setAttributeNS(a,s,""+c)}}function Rn(t){switch(typeof t){case"bigint":case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function Qi(t){var a=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(a==="checkbox"||a==="radio")}function Mm(t,a,s){var c=Object.getOwnPropertyDescriptor(t.constructor.prototype,a);if(!t.hasOwnProperty(a)&&typeof c<"u"&&typeof c.get=="function"&&typeof c.set=="function"){var p=c.get,g=c.set;return Object.defineProperty(t,a,{configurable:!0,get:function(){return p.call(this)},set:function(x){s=""+x,g.call(this,x)}}),Object.defineProperty(t,a,{enumerable:c.enumerable}),{getValue:function(){return s},setValue:function(x){s=""+x},stopTracking:function(){t._valueTracker=null,delete t[a]}}}}function rl(t){if(!t._valueTracker){var a=Qi(t)?"checked":"value";t._valueTracker=Mm(t,a,""+t[a])}}function Fa(t){if(!t)return!1;var a=t._valueTracker;if(!a)return!0;var s=a.getValue(),c="";return t&&(c=Qi(t)?t.checked?"true":"false":t.value),t=c,t!==s?(a.setValue(t),!0):!1}function Fi(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 Hc=/[\n"\\]/g;function zn(t){return t.replace(Hc,function(a){return"\\"+a.charCodeAt(0).toString(16)+" "})}function qo(t,a,s,c,p,g,x,j){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=""+Rn(a)):t.value!==""+Rn(a)&&(t.value=""+Rn(a)):x!=="submit"&&x!=="reset"||t.removeAttribute("value"),a!=null?Po(t,x,Rn(a)):s!=null?Po(t,x,Rn(s)):c!=null&&t.removeAttribute("value"),p==null&&g!=null&&(t.defaultChecked=!!g),p!=null&&(t.checked=p&&typeof p!="function"&&typeof p!="symbol"),j!=null&&typeof j!="function"&&typeof j!="symbol"&&typeof j!="boolean"?t.name=""+Rn(j):t.removeAttribute("name")}function ll(t,a,s,c,p,g,x,j){if(g!=null&&typeof g!="function"&&typeof g!="symbol"&&typeof g!="boolean"&&(t.type=g),a!=null||s!=null){if(!(g!=="submit"&&g!=="reset"||a!=null)){rl(t);return}s=s!=null?""+Rn(s):"",a=a!=null?""+Rn(a):s,j||a===t.value||(t.value=a),t.defaultValue=a}c=c??p,c=typeof c!="function"&&typeof c!="symbol"&&!!c,t.checked=j?t.checked:!!c,t.defaultChecked=!!c,x!=null&&typeof x!="function"&&typeof x!="symbol"&&typeof x!="boolean"&&(t.name=x),rl(t)}function Po(t,a,s){a==="number"&&Fi(t.ownerDocument)===t||t.defaultValue===""+s||(t.defaultValue=""+s)}function Un(t,a,s,c){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&&c&&(t[s].defaultSelected=!0)}else{for(s=""+Rn(s),a=null,p=0;p<t.length;p++){if(t[p].value===s){t[p].selected=!0,c&&(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=""+Rn(a),a!==t.value&&(t.value=a),s==null)){t.defaultValue!==a&&(t.defaultValue=a);return}t.defaultValue=s!=null?""+Rn(s):""}function di(t,a,s,c){if(a==null){if(c!=null){if(s!=null)throw Error(r(92));if(Ve(c)){if(1<c.length)throw Error(r(93));c=c[0]}s=c}s==null&&(s=""),a=s}s=Rn(a),t.defaultValue=s,c=t.textContent,c===s&&c!==""&&c!==null&&(t.value=c),rl(t)}function pa(t,a){if(a){var s=t.firstChild;if(s&&s===t.lastChild&&s.nodeType===3){s.nodeValue=a;return}}t.textContent=a}var ha=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 Bm(t,a,s){var c=a.indexOf("--")===0;s==null||typeof s=="boolean"||s===""?c?t.setProperty(a,""):a==="float"?t.cssFloat="":t[a]="":c?t.setProperty(a,s):typeof s!="number"||s===0||ha.has(a)?a==="float"?t.cssFloat=s:t[a]=(""+s).trim():t[a]=s+"px"}function Za(t,a,s){if(a!=null&&typeof a!="object")throw Error(r(62));if(t=t.style,s!=null){for(var c in s)!s.hasOwnProperty(c)||a!=null&&a.hasOwnProperty(c)||(c.indexOf("--")===0?t.setProperty(c,""):c==="float"?t.cssFloat="":t[c]="");for(var p in a)c=a[p],a.hasOwnProperty(p)&&s[p]!==c&&Bm(t,p,c)}else for(var g in a)a.hasOwnProperty(g)&&Bm(t,g,a[g])}function za(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 Mo=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"]]),Lm=/^[\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 Bo(t){return Lm.test(""+t)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":t}function Da(){}var cl=null;function ul(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var mi=null,On=null;function Lo(t){var a=Ki(t);if(a&&(t=a.stateNode)){var s=t[En]||null;e:switch(t=a.stateNode,a.type){case"input":if(qo(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="'+zn(""+a)+'"][type="radio"]'),a=0;a<s.length;a++){var c=s[a];if(c!==t&&c.form===t.form){var p=c[En]||null;if(!p)throw Error(r(90));qo(c,p.value,p.defaultValue,p.defaultValue,p.checked,p.defaultChecked,p.type,p.name)}}for(a=0;a<s.length;a++)c=s[a],c.form===t.form&&Fa(c)}break e;case"textarea":Jn(t,s.value,s.defaultValue);break e;case"select":a=s.value,a!=null&&Un(t,!!s.multiple,a,!1)}}}var dl=!1;function ml(t,a,s){if(dl)return t(a,s);dl=!0;try{var c=t(a);return c}finally{if(dl=!1,(mi!==null||On!==null)&&(Eu(),mi&&(a=mi,t=On,On=mi=null,Lo(a),t)))for(a=0;a<t.length;a++)Lo(t[a])}}function Us(t,a){var s=t.stateNode;if(s===null)return null;var c=s[En]||null;if(c===null)return null;s=c[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":(c=!c.disabled)||(t=t.type,c=!(t==="button"||t==="input"||t==="select"||t==="textarea")),t=!c;break e;default:t=!1}if(t)return null;if(s&&typeof s!="function")throw Error(r(231,a,typeof s));return s}var fa=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),pl=!1;if(fa)try{var $s={};Object.defineProperty($s,"passive",{get:function(){pl=!0}}),window.addEventListener("test",$s,$s),window.removeEventListener("test",$s,$s)}catch{pl=!1}var Ya=null,K=null,Qe=null;function pi(){if(Qe)return Qe;var t,a=K,s=a.length,c,p="value"in Ya?Ya.value:Ya.textContent,g=p.length;for(t=0;t<s&&a[t]===p[t];t++);var x=s-t;for(c=1;c<=x&&a[s-c]===p[g-c];c++);return Qe=p.slice(t,1<c?1-c:void 0)}function Ia(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 Vo(){return!0}function Qc(){return!1}function Sn(t){function a(s,c,p,g,x){this._reactName=s,this._targetInst=p,this.type=c,this.nativeEvent=g,this.target=x,this.currentTarget=null;for(var j in t)t.hasOwnProperty(j)&&(s=t[j],this[j]=s?s(g):g[j]);return this.isDefaultPrevented=(g.defaultPrevented!=null?g.defaultPrevented:g.returnValue===!1)?Vo:Qc,this.isPropagationStopped=Qc,this}return S(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=Vo)},stopPropagation:function(){var s=this.nativeEvent;s&&(s.stopPropagation?s.stopPropagation():typeof s.cancelBubble!="unknown"&&(s.cancelBubble=!0),this.isPropagationStopped=Vo)},persist:function(){},isPersistent:Vo}),a}var Xa={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(t){return t.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Ks=Sn(Xa),Gs=S({},Xa,{view:0,detail:0}),Hs=Sn(Gs),Oa,Vm,hl,Fc=S({},Gs,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:$m,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!==hl&&(hl&&t.type==="mousemove"?(Oa=t.screenX-hl.screenX,Vm=t.screenY-hl.screenY):Vm=Oa=0,hl=t),Oa)},movementY:function(t){return"movementY"in t?t.movementY:Vm}}),m1=Sn(Fc),b4=S({},Fc,{dataTransfer:0}),v4=Sn(b4),x4=S({},Gs,{relatedTarget:0}),Um=Sn(x4),w4=S({},Xa,{animationName:0,elapsedTime:0,pseudoElement:0}),k4=Sn(w4),S4=S({},Xa,{clipboardData:function(t){return"clipboardData"in t?t.clipboardData:window.clipboardData}}),j4=Sn(S4),A4=S({},Xa,{data:0}),p1=Sn(A4),C4={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},N4={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"},_4={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function T4(t){var a=this.nativeEvent;return a.getModifierState?a.getModifierState(t):(t=_4[t])?!!a[t]:!1}function $m(){return T4}var E4=S({},Gs,{key:function(t){if(t.key){var a=C4[t.key]||t.key;if(a!=="Unidentified")return a}return t.type==="keypress"?(t=Ia(t),t===13?"Enter":String.fromCharCode(t)):t.type==="keydown"||t.type==="keyup"?N4[t.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:$m,charCode:function(t){return t.type==="keypress"?Ia(t):0},keyCode:function(t){return t.type==="keydown"||t.type==="keyup"?t.keyCode:0},which:function(t){return t.type==="keypress"?Ia(t):t.type==="keydown"||t.type==="keyup"?t.keyCode:0}}),R4=Sn(E4),z4=S({},Fc,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),h1=Sn(z4),D4=S({},Gs,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:$m}),I4=Sn(D4),O4=S({},Xa,{propertyName:0,elapsedTime:0,pseudoElement:0}),q4=Sn(O4),P4=S({},Fc,{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}),M4=Sn(P4),B4=S({},Xa,{newState:0,oldState:0}),L4=Sn(B4),V4=[9,13,27,32],Km=fa&&"CompositionEvent"in window,fl=null;fa&&"documentMode"in document&&(fl=document.documentMode);var U4=fa&&"TextEvent"in window&&!fl,f1=fa&&(!Km||fl&&8<fl&&11>=fl),g1=" ",y1=!1;function b1(t,a){switch(t){case"keyup":return V4.indexOf(a.keyCode)!==-1;case"keydown":return a.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function v1(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Uo=!1;function $4(t,a){switch(t){case"compositionend":return v1(a);case"keypress":return a.which!==32?null:(y1=!0,g1);case"textInput":return t=a.data,t===g1&&y1?null:t;default:return null}}function K4(t,a){if(Uo)return t==="compositionend"||!Km&&b1(t,a)?(t=pi(),Qe=K=Ya=null,Uo=!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 f1&&a.locale!=="ko"?null:a.data;default:return null}}var G4={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 x1(t){var a=t&&t.nodeName&&t.nodeName.toLowerCase();return a==="input"?!!G4[t.type]:a==="textarea"}function w1(t,a,s,c){mi?On?On.push(c):On=[c]:mi=c,a=Pu(a,"onChange"),0<a.length&&(s=new Ks("onChange","change",null,s,c),t.push({event:s,listeners:a}))}var gl=null,yl=null;function H4(t){av(t,0)}function Zc(t){var a=Gi(t);if(Fa(a))return t}function k1(t,a){if(t==="change")return a}var S1=!1;if(fa){var Gm;if(fa){var Hm="oninput"in document;if(!Hm){var j1=document.createElement("div");j1.setAttribute("oninput","return;"),Hm=typeof j1.oninput=="function"}Gm=Hm}else Gm=!1;S1=Gm&&(!document.documentMode||9<document.documentMode)}function A1(){gl&&(gl.detachEvent("onpropertychange",C1),yl=gl=null)}function C1(t){if(t.propertyName==="value"&&Zc(yl)){var a=[];w1(a,yl,t,ul(t)),ml(H4,a)}}function Q4(t,a,s){t==="focusin"?(A1(),gl=a,yl=s,gl.attachEvent("onpropertychange",C1)):t==="focusout"&&A1()}function F4(t){if(t==="selectionchange"||t==="keyup"||t==="keydown")return Zc(yl)}function Z4(t,a){if(t==="click")return Zc(a)}function Y4(t,a){if(t==="input"||t==="change")return Zc(a)}function X4(t,a){return t===a&&(t!==0||1/t===1/a)||t!==t&&a!==a}var Wn=typeof Object.is=="function"?Object.is:X4;function bl(t,a){if(Wn(t,a))return!0;if(typeof t!="object"||t===null||typeof a!="object"||a===null)return!1;var s=Object.keys(t),c=Object.keys(a);if(s.length!==c.length)return!1;for(c=0;c<s.length;c++){var p=s[c];if(!Me.call(a,p)||!Wn(t[p],a[p]))return!1}return!0}function N1(t){for(;t&&t.firstChild;)t=t.firstChild;return t}function _1(t,a){var s=N1(t);t=0;for(var c;s;){if(s.nodeType===3){if(c=t+s.textContent.length,t<=a&&c>=a)return{node:s,offset:a-t};t=c}e:{for(;s;){if(s.nextSibling){s=s.nextSibling;break e}s=s.parentNode}s=void 0}s=N1(s)}}function T1(t,a){return t&&a?t===a?!0:t&&t.nodeType===3?!1:a&&a.nodeType===3?T1(t,a.parentNode):"contains"in t?t.contains(a):t.compareDocumentPosition?!!(t.compareDocumentPosition(a)&16):!1:!1}function E1(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var a=Fi(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=Fi(t.document)}return a}function Qm(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 J4=fa&&"documentMode"in document&&11>=document.documentMode,$o=null,Fm=null,vl=null,Zm=!1;function R1(t,a,s){var c=s.window===s?s.document:s.nodeType===9?s:s.ownerDocument;Zm||$o==null||$o!==Fi(c)||(c=$o,"selectionStart"in c&&Qm(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset}),vl&&bl(vl,c)||(vl=c,c=Pu(Fm,"onSelect"),0<c.length&&(a=new Ks("onSelect","select",null,a,s),t.push({event:a,listeners:c}),a.target=$o)))}function Qs(t,a){var s={};return s[t.toLowerCase()]=a.toLowerCase(),s["Webkit"+t]="webkit"+a,s["Moz"+t]="moz"+a,s}var Ko={animationend:Qs("Animation","AnimationEnd"),animationiteration:Qs("Animation","AnimationIteration"),animationstart:Qs("Animation","AnimationStart"),transitionrun:Qs("Transition","TransitionRun"),transitionstart:Qs("Transition","TransitionStart"),transitioncancel:Qs("Transition","TransitionCancel"),transitionend:Qs("Transition","TransitionEnd")},Ym={},z1={};fa&&(z1=document.createElement("div").style,"AnimationEvent"in window||(delete Ko.animationend.animation,delete Ko.animationiteration.animation,delete Ko.animationstart.animation),"TransitionEvent"in window||delete Ko.transitionend.transition);function Fs(t){if(Ym[t])return Ym[t];if(!Ko[t])return t;var a=Ko[t],s;for(s in a)if(a.hasOwnProperty(s)&&s in z1)return Ym[t]=a[s];return t}var D1=Fs("animationend"),I1=Fs("animationiteration"),O1=Fs("animationstart"),W4=Fs("transitionrun"),eC=Fs("transitionstart"),tC=Fs("transitioncancel"),q1=Fs("transitionend"),P1=new Map,Xm="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(" ");Xm.push("scrollEnd");function qa(t,a){P1.set(t,a),Ha(a,[t])}var Yc=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)},ga=[],Go=0,Jm=0;function Xc(){for(var t=Go,a=Jm=Go=0;a<t;){var s=ga[a];ga[a++]=null;var c=ga[a];ga[a++]=null;var p=ga[a];ga[a++]=null;var g=ga[a];if(ga[a++]=null,c!==null&&p!==null){var x=c.pending;x===null?p.next=p:(p.next=x.next,x.next=p),c.pending=p}g!==0&&M1(s,p,g)}}function Jc(t,a,s,c){ga[Go++]=t,ga[Go++]=a,ga[Go++]=s,ga[Go++]=c,Jm|=c,t.lanes|=c,t=t.alternate,t!==null&&(t.lanes|=c)}function Wm(t,a,s,c){return Jc(t,a,s,c),Wc(t)}function Zs(t,a){return Jc(t,null,null,a),Wc(t)}function M1(t,a,s){t.lanes|=s;var c=t.alternate;c!==null&&(c.lanes|=s);for(var p=!1,g=t.return;g!==null;)g.childLanes|=s,c=g.alternate,c!==null&&(c.childLanes|=s),g.tag===22&&(t=g.stateNode,t===null||t._visibility&1||(p=!0)),t=g,g=g.return;return t.tag===3?(g=t.stateNode,p&&a!==null&&(p=31-wn(s),t=g.hiddenUpdates,c=t[p],c===null?t[p]=[a]:c.push(a),a.lane=s|536870912),g):null}function Wc(t){if(50<Vl)throw Vl=0,lh=null,Error(r(185));for(var a=t.return;a!==null;)t=a,a=t.return;return t.tag===3?t.stateNode:null}var Ho={};function nC(t,a,s,c){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=c,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function ea(t,a,s,c){return new nC(t,a,s,c)}function ep(t){return t=t.prototype,!(!t||!t.isReactComponent)}function hi(t,a){var s=t.alternate;return s===null?(s=ea(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 B1(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 eu(t,a,s,c,p,g){var x=0;if(c=t,typeof t=="function")ep(t)&&(x=1);else if(typeof t=="string")x=rN(t,s,ce.current)?26:t==="html"||t==="head"||t==="body"?27:5;else e:switch(t){case ue:return t=ea(31,s,a,p),t.elementType=ue,t.lanes=g,t;case P:return Ys(s.children,p,g,a);case E:x=8,p|=24;break;case V:return t=ea(12,s,a,p|2),t.elementType=V,t.lanes=g,t;case Z:return t=ea(13,s,a,p),t.elementType=Z,t.lanes=g,t;case ae:return t=ea(19,s,a,p),t.elementType=ae,t.lanes=g,t;default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case L:x=10;break e;case W:x=9;break e;case F:x=11;break e;case M:x=14;break e;case Y:x=16,c=null;break e}x=29,s=Error(r(130,t===null?"null":typeof t,"")),c=null}return a=ea(x,s,a,p),a.elementType=t,a.type=c,a.lanes=g,a}function Ys(t,a,s,c){return t=ea(7,t,c,a),t.lanes=s,t}function tp(t,a,s){return t=ea(6,t,null,a),t.lanes=s,t}function L1(t){var a=ea(18,null,null,0);return a.stateNode=t,a}function np(t,a,s){return a=ea(4,t.children!==null?t.children:[],t.key,a),a.lanes=s,a.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},a}var V1=new WeakMap;function ya(t,a){if(typeof t=="object"&&t!==null){var s=V1.get(t);return s!==void 0?s:(a={value:t,source:a,stack:$t(a)},V1.set(t,a),a)}return{value:t,source:a,stack:$t(a)}}var Qo=[],Fo=0,tu=null,xl=0,ba=[],va=0,Zi=null,Ja=1,Wa="";function fi(t,a){Qo[Fo++]=xl,Qo[Fo++]=tu,tu=t,xl=a}function U1(t,a,s){ba[va++]=Ja,ba[va++]=Wa,ba[va++]=Zi,Zi=t;var c=Ja;t=Wa;var p=32-wn(c)-1;c&=~(1<<p),s+=1;var g=32-wn(a)+p;if(30<g){var x=p-p%5;g=(c&(1<<x)-1).toString(32),c>>=x,p-=x,Ja=1<<32-wn(a)+p|s<<p|c,Wa=g+t}else Ja=1<<g|s<<p|c,Wa=t}function ap(t){t.return!==null&&(fi(t,1),U1(t,1,0))}function ip(t){for(;t===tu;)tu=Qo[--Fo],Qo[Fo]=null,xl=Qo[--Fo],Qo[Fo]=null;for(;t===Zi;)Zi=ba[--va],ba[va]=null,Wa=ba[--va],ba[va]=null,Ja=ba[--va],ba[va]=null}function $1(t,a){ba[va++]=Ja,ba[va++]=Wa,ba[va++]=Zi,Ja=a.id,Wa=a.overflow,Zi=t}var jn=null,It=null,ht=!1,Yi=null,xa=!1,sp=Error(r(519));function Xi(t){var a=Error(r(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw wl(ya(a,t)),sp}function K1(t){var a=t.stateNode,s=t.type,c=t.memoizedProps;switch(a[nn]=t,a[En]=c,s){case"dialog":lt("cancel",a),lt("close",a);break;case"iframe":case"object":case"embed":lt("load",a);break;case"video":case"audio":for(s=0;s<$l.length;s++)lt($l[s],a);break;case"source":lt("error",a);break;case"img":case"image":case"link":lt("error",a),lt("load",a);break;case"details":lt("toggle",a);break;case"input":lt("invalid",a),ll(a,c.value,c.defaultValue,c.checked,c.defaultChecked,c.type,c.name,!0);break;case"select":lt("invalid",a);break;case"textarea":lt("invalid",a),di(a,c.value,c.defaultValue,c.children)}s=c.children,typeof s!="string"&&typeof s!="number"&&typeof s!="bigint"||a.textContent===""+s||c.suppressHydrationWarning===!0||rv(a.textContent,s)?(c.popover!=null&&(lt("beforetoggle",a),lt("toggle",a)),c.onScroll!=null&&lt("scroll",a),c.onScrollEnd!=null&&lt("scrollend",a),c.onClick!=null&&(a.onclick=Da),a=!0):a=!1,a||Xi(t,!0)}function G1(t){for(jn=t.return;jn;)switch(jn.tag){case 5:case 31:case 13:xa=!1;return;case 27:case 3:xa=!0;return;default:jn=jn.return}}function Zo(t){if(t!==jn)return!1;if(!ht)return G1(t),ht=!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&&It&&Xi(t),G1(t),a===13){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(r(317));It=gv(t)}else if(a===31){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(r(317));It=gv(t)}else a===27?(a=It,ds(t.type)?(t=_h,_h=null,It=t):It=a):It=jn?ka(t.stateNode.nextSibling):null;return!0}function Xs(){It=jn=null,ht=!1}function op(){var t=Yi;return t!==null&&(Hn===null?Hn=t:Hn.push.apply(Hn,t),Yi=null),t}function wl(t){Yi===null?Yi=[t]:Yi.push(t)}var rp=Ne(null),Js=null,gi=null;function Ji(t,a,s){xe(rp,a._currentValue),a._currentValue=s}function yi(t){t._currentValue=rp.current,Pe(rp)}function lp(t,a,s){for(;t!==null;){var c=t.alternate;if((t.childLanes&a)!==a?(t.childLanes|=a,c!==null&&(c.childLanes|=a)):c!==null&&(c.childLanes&a)!==a&&(c.childLanes|=a),t===s)break;t=t.return}}function cp(t,a,s,c){var p=t.child;for(p!==null&&(p.return=t);p!==null;){var g=p.dependencies;if(g!==null){var x=p.child;g=g.firstContext;e:for(;g!==null;){var j=g;g=p;for(var z=0;z<a.length;z++)if(j.context===a[z]){g.lanes|=s,j=g.alternate,j!==null&&(j.lanes|=s),lp(g.return,s,t),c||(x=null);break e}g=j.next}}else if(p.tag===18){if(x=p.return,x===null)throw Error(r(341));x.lanes|=s,g=x.alternate,g!==null&&(g.lanes|=s),lp(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 Yo(t,a,s,c){t=null;for(var p=a,g=!1;p!==null;){if(!g){if((p.flags&524288)!==0)g=!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 j=p.type;Wn(p.pendingProps.value,x.value)||(t!==null?t.push(j):t=[j])}}else if(p===pe.current){if(x=p.alternate,x===null)throw Error(r(387));x.memoizedState.memoizedState!==p.memoizedState.memoizedState&&(t!==null?t.push(Fl):t=[Fl])}p=p.return}t!==null&&cp(a,t,s,c),a.flags|=262144}function nu(t){for(t=t.firstContext;t!==null;){if(!Wn(t.context._currentValue,t.memoizedValue))return!0;t=t.next}return!1}function Ws(t){Js=t,gi=null,t=t.dependencies,t!==null&&(t.firstContext=null)}function An(t){return H1(Js,t)}function au(t,a){return Js===null&&Ws(t),H1(t,a)}function H1(t,a){var s=a._currentValue;if(a={context:a,memoizedValue:s,next:null},gi===null){if(t===null)throw Error(r(308));gi=a,t.dependencies={lanes:0,firstContext:a},t.flags|=524288}else gi=gi.next=a;return s}var aC=typeof AbortController<"u"?AbortController:function(){var t=[],a=this.signal={aborted:!1,addEventListener:function(s,c){t.push(c)}};this.abort=function(){a.aborted=!0,t.forEach(function(s){return s()})}},iC=e.unstable_scheduleCallback,sC=e.unstable_NormalPriority,an={$$typeof:L,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function up(){return{controller:new aC,data:new Map,refCount:0}}function kl(t){t.refCount--,t.refCount===0&&iC(sC,function(){t.controller.abort()})}var Sl=null,dp=0,Xo=0,Jo=null;function oC(t,a){if(Sl===null){var s=Sl=[];dp=0,Xo=hh(),Jo={status:"pending",value:void 0,then:function(c){s.push(c)}}}return dp++,a.then(Q1,Q1),a}function Q1(){if(--dp===0&&Sl!==null){Jo!==null&&(Jo.status="fulfilled");var t=Sl;Sl=null,Xo=0,Jo=null;for(var a=0;a<t.length;a++)(0,t[a])()}}function rC(t,a){var s=[],c={status:"pending",value:null,reason:null,then:function(p){s.push(p)}};return t.then(function(){c.status="fulfilled",c.value=a;for(var p=0;p<s.length;p++)(0,s[p])(a)},function(p){for(c.status="rejected",c.reason=p,p=0;p<s.length;p++)(0,s[p])(void 0)}),c}var F1=q.S;q.S=function(t,a){Rb=Bt(),typeof a=="object"&&a!==null&&typeof a.then=="function"&&oC(t,a),F1!==null&&F1(t,a)};var eo=Ne(null);function mp(){var t=eo.current;return t!==null?t:Rt.pooledCache}function iu(t,a){a===null?xe(eo,eo.current):xe(eo,a.pool)}function Z1(){var t=mp();return t===null?null:{parent:an._currentValue,pool:t}}var Wo=Error(r(460)),pp=Error(r(474)),su=Error(r(542)),ou={then:function(){}};function Y1(t){return t=t.status,t==="fulfilled"||t==="rejected"}function X1(t,a,s){switch(s=t[s],s===void 0?t.push(a):s!==a&&(a.then(Da,Da),a=s),a.status){case"fulfilled":return a.value;case"rejected":throw t=a.reason,W1(t),t;default:if(typeof a.status=="string")a.then(Da,Da);else{if(t=Rt,t!==null&&100<t.shellSuspendCounter)throw Error(r(482));t=a,t.status="pending",t.then(function(c){if(a.status==="pending"){var p=a;p.status="fulfilled",p.value=c}},function(c){if(a.status==="pending"){var p=a;p.status="rejected",p.reason=c}})}switch(a.status){case"fulfilled":return a.value;case"rejected":throw t=a.reason,W1(t),t}throw no=a,Wo}}function to(t){try{var a=t._init;return a(t._payload)}catch(s){throw s!==null&&typeof s=="object"&&typeof s.then=="function"?(no=s,Wo):s}}var no=null;function J1(){if(no===null)throw Error(r(459));var t=no;return no=null,t}function W1(t){if(t===Wo||t===su)throw Error(r(483))}var er=null,jl=0;function ru(t){var a=jl;return jl+=1,er===null&&(er=[]),X1(er,t,a)}function Al(t,a){a=a.props.ref,t.ref=a!==void 0?a:null}function lu(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 ey(t){function a(B,O){if(t){var U=B.deletions;U===null?(B.deletions=[O],B.flags|=16):U.push(O)}}function s(B,O){if(!t)return null;for(;O!==null;)a(B,O),O=O.sibling;return null}function c(B){for(var O=new Map;B!==null;)B.key!==null?O.set(B.key,B):O.set(B.index,B),B=B.sibling;return O}function p(B,O){return B=hi(B,O),B.index=0,B.sibling=null,B}function g(B,O,U){return B.index=U,t?(U=B.alternate,U!==null?(U=U.index,U<O?(B.flags|=67108866,O):U):(B.flags|=67108866,O)):(B.flags|=1048576,O)}function x(B){return t&&B.alternate===null&&(B.flags|=67108866),B}function j(B,O,U,ie){return O===null||O.tag!==6?(O=tp(U,B.mode,ie),O.return=B,O):(O=p(O,U),O.return=B,O)}function z(B,O,U,ie){var Le=U.type;return Le===P?ee(B,O,U.props.children,ie,U.key):O!==null&&(O.elementType===Le||typeof Le=="object"&&Le!==null&&Le.$$typeof===Y&&to(Le)===O.type)?(O=p(O,U.props),Al(O,U),O.return=B,O):(O=eu(U.type,U.key,U.props,null,B.mode,ie),Al(O,U),O.return=B,O)}function $(B,O,U,ie){return O===null||O.tag!==4||O.stateNode.containerInfo!==U.containerInfo||O.stateNode.implementation!==U.implementation?(O=np(U,B.mode,ie),O.return=B,O):(O=p(O,U.children||[]),O.return=B,O)}function ee(B,O,U,ie,Le){return O===null||O.tag!==7?(O=Ys(U,B.mode,ie,Le),O.return=B,O):(O=p(O,U),O.return=B,O)}function se(B,O,U){if(typeof O=="string"&&O!==""||typeof O=="number"||typeof O=="bigint")return O=tp(""+O,B.mode,U),O.return=B,O;if(typeof O=="object"&&O!==null){switch(O.$$typeof){case N:return U=eu(O.type,O.key,O.props,null,B.mode,U),Al(U,O),U.return=B,U;case I:return O=np(O,B.mode,U),O.return=B,O;case Y:return O=to(O),se(B,O,U)}if(Ve(O)||$e(O))return O=Ys(O,B.mode,U,null),O.return=B,O;if(typeof O.then=="function")return se(B,ru(O),U);if(O.$$typeof===L)return se(B,au(B,O),U);lu(B,O)}return null}function G(B,O,U,ie){var Le=O!==null?O.key:null;if(typeof U=="string"&&U!==""||typeof U=="number"||typeof U=="bigint")return Le!==null?null:j(B,O,""+U,ie);if(typeof U=="object"&&U!==null){switch(U.$$typeof){case N:return U.key===Le?z(B,O,U,ie):null;case I:return U.key===Le?$(B,O,U,ie):null;case Y:return U=to(U),G(B,O,U,ie)}if(Ve(U)||$e(U))return Le!==null?null:ee(B,O,U,ie,null);if(typeof U.then=="function")return G(B,O,ru(U),ie);if(U.$$typeof===L)return G(B,O,au(B,U),ie);lu(B,U)}return null}function Q(B,O,U,ie,Le){if(typeof ie=="string"&&ie!==""||typeof ie=="number"||typeof ie=="bigint")return B=B.get(U)||null,j(O,B,""+ie,Le);if(typeof ie=="object"&&ie!==null){switch(ie.$$typeof){case N:return B=B.get(ie.key===null?U:ie.key)||null,z(O,B,ie,Le);case I:return B=B.get(ie.key===null?U:ie.key)||null,$(O,B,ie,Le);case Y:return ie=to(ie),Q(B,O,U,ie,Le)}if(Ve(ie)||$e(ie))return B=B.get(U)||null,ee(O,B,ie,Le,null);if(typeof ie.then=="function")return Q(B,O,U,ru(ie),Le);if(ie.$$typeof===L)return Q(B,O,U,au(O,ie),Le);lu(O,ie)}return null}function Ae(B,O,U,ie){for(var Le=null,bt=null,Te=O,et=O=0,dt=null;Te!==null&&et<U.length;et++){Te.index>et?(dt=Te,Te=null):dt=Te.sibling;var vt=G(B,Te,U[et],ie);if(vt===null){Te===null&&(Te=dt);break}t&&Te&&vt.alternate===null&&a(B,Te),O=g(vt,O,et),bt===null?Le=vt:bt.sibling=vt,bt=vt,Te=dt}if(et===U.length)return s(B,Te),ht&&fi(B,et),Le;if(Te===null){for(;et<U.length;et++)Te=se(B,U[et],ie),Te!==null&&(O=g(Te,O,et),bt===null?Le=Te:bt.sibling=Te,bt=Te);return ht&&fi(B,et),Le}for(Te=c(Te);et<U.length;et++)dt=Q(Te,B,et,U[et],ie),dt!==null&&(t&&dt.alternate!==null&&Te.delete(dt.key===null?et:dt.key),O=g(dt,O,et),bt===null?Le=dt:bt.sibling=dt,bt=dt);return t&&Te.forEach(function(gs){return a(B,gs)}),ht&&fi(B,et),Le}function Ke(B,O,U,ie){if(U==null)throw Error(r(151));for(var Le=null,bt=null,Te=O,et=O=0,dt=null,vt=U.next();Te!==null&&!vt.done;et++,vt=U.next()){Te.index>et?(dt=Te,Te=null):dt=Te.sibling;var gs=G(B,Te,vt.value,ie);if(gs===null){Te===null&&(Te=dt);break}t&&Te&&gs.alternate===null&&a(B,Te),O=g(gs,O,et),bt===null?Le=gs:bt.sibling=gs,bt=gs,Te=dt}if(vt.done)return s(B,Te),ht&&fi(B,et),Le;if(Te===null){for(;!vt.done;et++,vt=U.next())vt=se(B,vt.value,ie),vt!==null&&(O=g(vt,O,et),bt===null?Le=vt:bt.sibling=vt,bt=vt);return ht&&fi(B,et),Le}for(Te=c(Te);!vt.done;et++,vt=U.next())vt=Q(Te,B,et,vt.value,ie),vt!==null&&(t&&vt.alternate!==null&&Te.delete(vt.key===null?et:vt.key),O=g(vt,O,et),bt===null?Le=vt:bt.sibling=vt,bt=vt);return t&&Te.forEach(function(bN){return a(B,bN)}),ht&&fi(B,et),Le}function Et(B,O,U,ie){if(typeof U=="object"&&U!==null&&U.type===P&&U.key===null&&(U=U.props.children),typeof U=="object"&&U!==null){switch(U.$$typeof){case N:e:{for(var Le=U.key;O!==null;){if(O.key===Le){if(Le=U.type,Le===P){if(O.tag===7){s(B,O.sibling),ie=p(O,U.props.children),ie.return=B,B=ie;break e}}else if(O.elementType===Le||typeof Le=="object"&&Le!==null&&Le.$$typeof===Y&&to(Le)===O.type){s(B,O.sibling),ie=p(O,U.props),Al(ie,U),ie.return=B,B=ie;break e}s(B,O);break}else a(B,O);O=O.sibling}U.type===P?(ie=Ys(U.props.children,B.mode,ie,U.key),ie.return=B,B=ie):(ie=eu(U.type,U.key,U.props,null,B.mode,ie),Al(ie,U),ie.return=B,B=ie)}return x(B);case I:e:{for(Le=U.key;O!==null;){if(O.key===Le)if(O.tag===4&&O.stateNode.containerInfo===U.containerInfo&&O.stateNode.implementation===U.implementation){s(B,O.sibling),ie=p(O,U.children||[]),ie.return=B,B=ie;break e}else{s(B,O);break}else a(B,O);O=O.sibling}ie=np(U,B.mode,ie),ie.return=B,B=ie}return x(B);case Y:return U=to(U),Et(B,O,U,ie)}if(Ve(U))return Ae(B,O,U,ie);if($e(U)){if(Le=$e(U),typeof Le!="function")throw Error(r(150));return U=Le.call(U),Ke(B,O,U,ie)}if(typeof U.then=="function")return Et(B,O,ru(U),ie);if(U.$$typeof===L)return Et(B,O,au(B,U),ie);lu(B,U)}return typeof U=="string"&&U!==""||typeof U=="number"||typeof U=="bigint"?(U=""+U,O!==null&&O.tag===6?(s(B,O.sibling),ie=p(O,U),ie.return=B,B=ie):(s(B,O),ie=tp(U,B.mode,ie),ie.return=B,B=ie),x(B)):s(B,O)}return function(B,O,U,ie){try{jl=0;var Le=Et(B,O,U,ie);return er=null,Le}catch(Te){if(Te===Wo||Te===su)throw Te;var bt=ea(29,Te,null,B.mode);return bt.lanes=ie,bt.return=B,bt}}}var ao=ey(!0),ty=ey(!1),Wi=!1;function hp(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function fp(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 es(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function ts(t,a,s){var c=t.updateQueue;if(c===null)return null;if(c=c.shared,(xt&2)!==0){var p=c.pending;return p===null?a.next=a:(a.next=p.next,p.next=a),c.pending=a,a=Wc(t),M1(t,null,s),a}return Jc(t,c,a,s),Wc(t)}function Cl(t,a,s){if(a=a.updateQueue,a!==null&&(a=a.shared,(s&4194048)!==0)){var c=a.lanes;c&=t.pendingLanes,s|=c,a.lanes=s,Jr(t,s)}}function gp(t,a){var s=t.updateQueue,c=t.alternate;if(c!==null&&(c=c.updateQueue,s===c)){var p=null,g=null;if(s=s.firstBaseUpdate,s!==null){do{var x={lane:s.lane,tag:s.tag,payload:s.payload,callback:null,next:null};g===null?p=g=x:g=g.next=x,s=s.next}while(s!==null);g===null?p=g=a:g=g.next=a}else p=g=a;s={baseState:c.baseState,firstBaseUpdate:p,lastBaseUpdate:g,shared:c.shared,callbacks:c.callbacks},t.updateQueue=s;return}t=s.lastBaseUpdate,t===null?s.firstBaseUpdate=a:t.next=a,s.lastBaseUpdate=a}var yp=!1;function Nl(){if(yp){var t=Jo;if(t!==null)throw t}}function _l(t,a,s,c){yp=!1;var p=t.updateQueue;Wi=!1;var g=p.firstBaseUpdate,x=p.lastBaseUpdate,j=p.shared.pending;if(j!==null){p.shared.pending=null;var z=j,$=z.next;z.next=null,x===null?g=$:x.next=$,x=z;var ee=t.alternate;ee!==null&&(ee=ee.updateQueue,j=ee.lastBaseUpdate,j!==x&&(j===null?ee.firstBaseUpdate=$:j.next=$,ee.lastBaseUpdate=z))}if(g!==null){var se=p.baseState;x=0,ee=$=z=null,j=g;do{var G=j.lane&-536870913,Q=G!==j.lane;if(Q?(ut&G)===G:(c&G)===G){G!==0&&G===Xo&&(yp=!0),ee!==null&&(ee=ee.next={lane:0,tag:j.tag,payload:j.payload,callback:null,next:null});e:{var Ae=t,Ke=j;G=a;var Et=s;switch(Ke.tag){case 1:if(Ae=Ke.payload,typeof Ae=="function"){se=Ae.call(Et,se,G);break e}se=Ae;break e;case 3:Ae.flags=Ae.flags&-65537|128;case 0:if(Ae=Ke.payload,G=typeof Ae=="function"?Ae.call(Et,se,G):Ae,G==null)break e;se=S({},se,G);break e;case 2:Wi=!0}}G=j.callback,G!==null&&(t.flags|=64,Q&&(t.flags|=8192),Q=p.callbacks,Q===null?p.callbacks=[G]:Q.push(G))}else Q={lane:G,tag:j.tag,payload:j.payload,callback:j.callback,next:null},ee===null?($=ee=Q,z=se):ee=ee.next=Q,x|=G;if(j=j.next,j===null){if(j=p.shared.pending,j===null)break;Q=j,j=Q.next,Q.next=null,p.lastBaseUpdate=Q,p.shared.pending=null}}while(!0);ee===null&&(z=se),p.baseState=z,p.firstBaseUpdate=$,p.lastBaseUpdate=ee,g===null&&(p.shared.lanes=0),os|=x,t.lanes=x,t.memoizedState=se}}function ny(t,a){if(typeof t!="function")throw Error(r(191,t));t.call(a)}function ay(t,a){var s=t.callbacks;if(s!==null)for(t.callbacks=null,t=0;t<s.length;t++)ny(s[t],a)}var tr=Ne(null),cu=Ne(0);function iy(t,a){t=Ci,xe(cu,t),xe(tr,a),Ci=t|a.baseLanes}function bp(){xe(cu,Ci),xe(tr,tr.current)}function vp(){Ci=cu.current,Pe(tr),Pe(cu)}var ta=Ne(null),wa=null;function ns(t){var a=t.alternate;xe(Wt,Wt.current&1),xe(ta,t),wa===null&&(a===null||tr.current!==null||a.memoizedState!==null)&&(wa=t)}function xp(t){xe(Wt,Wt.current),xe(ta,t),wa===null&&(wa=t)}function sy(t){t.tag===22?(xe(Wt,Wt.current),xe(ta,t),wa===null&&(wa=t)):as()}function as(){xe(Wt,Wt.current),xe(ta,ta.current)}function na(t){Pe(ta),wa===t&&(wa=null),Pe(Wt)}var Wt=Ne(0);function uu(t){for(var a=t;a!==null;){if(a.tag===13){var s=a.memoizedState;if(s!==null&&(s=s.dehydrated,s===null||Ch(s)||Nh(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 bi=0,Xe=null,_t=null,sn=null,du=!1,nr=!1,io=!1,mu=0,Tl=0,ar=null,lC=0;function Zt(){throw Error(r(321))}function wp(t,a){if(a===null)return!1;for(var s=0;s<a.length&&s<t.length;s++)if(!Wn(t[s],a[s]))return!1;return!0}function kp(t,a,s,c,p,g){return bi=g,Xe=a,a.memoizedState=null,a.updateQueue=null,a.lanes=0,q.H=t===null||t.memoizedState===null?Uy:Pp,io=!1,g=s(c,p),io=!1,nr&&(g=ry(a,s,c,p)),oy(t),g}function oy(t){q.H=zl;var a=_t!==null&&_t.next!==null;if(bi=0,sn=_t=Xe=null,du=!1,Tl=0,ar=null,a)throw Error(r(300));t===null||on||(t=t.dependencies,t!==null&&nu(t)&&(on=!0))}function ry(t,a,s,c){Xe=t;var p=0;do{if(nr&&(ar=null),Tl=0,nr=!1,25<=p)throw Error(r(301));if(p+=1,sn=_t=null,t.updateQueue!=null){var g=t.updateQueue;g.lastEffect=null,g.events=null,g.stores=null,g.memoCache!=null&&(g.memoCache.index=0)}q.H=$y,g=a(s,c)}while(nr);return g}function cC(){var t=q.H,a=t.useState()[0];return a=typeof a.then=="function"?El(a):a,t=t.useState()[0],(_t!==null?_t.memoizedState:null)!==t&&(Xe.flags|=1024),a}function Sp(){var t=mu!==0;return mu=0,t}function jp(t,a,s){a.updateQueue=t.updateQueue,a.flags&=-2053,t.lanes&=~s}function Ap(t){if(du){for(t=t.memoizedState;t!==null;){var a=t.queue;a!==null&&(a.pending=null),t=t.next}du=!1}bi=0,sn=_t=Xe=null,nr=!1,Tl=mu=0,ar=null}function qn(){var t={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return sn===null?Xe.memoizedState=sn=t:sn=sn.next=t,sn}function en(){if(_t===null){var t=Xe.alternate;t=t!==null?t.memoizedState:null}else t=_t.next;var a=sn===null?Xe.memoizedState:sn.next;if(a!==null)sn=a,_t=t;else{if(t===null)throw Xe.alternate===null?Error(r(467)):Error(r(310));_t=t,t={memoizedState:_t.memoizedState,baseState:_t.baseState,baseQueue:_t.baseQueue,queue:_t.queue,next:null},sn===null?Xe.memoizedState=sn=t:sn=sn.next=t}return sn}function pu(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function El(t){var a=Tl;return Tl+=1,ar===null&&(ar=[]),t=X1(ar,t,a),a=Xe,(sn===null?a.memoizedState:sn.next)===null&&(a=a.alternate,q.H=a===null||a.memoizedState===null?Uy:Pp),t}function hu(t){if(t!==null&&typeof t=="object"){if(typeof t.then=="function")return El(t);if(t.$$typeof===L)return An(t)}throw Error(r(438,String(t)))}function Cp(t){var a=null,s=Xe.updateQueue;if(s!==null&&(a=s.memoCache),a==null){var c=Xe.alternate;c!==null&&(c=c.updateQueue,c!==null&&(c=c.memoCache,c!=null&&(a={data:c.data.map(function(p){return p.slice()}),index:0})))}if(a==null&&(a={data:[],index:0}),s===null&&(s=pu(),Xe.updateQueue=s),s.memoCache=a,s=a.data[a.index],s===void 0)for(s=a.data[a.index]=Array(t),c=0;c<t;c++)s[c]=Ye;return a.index++,s}function vi(t,a){return typeof a=="function"?a(t):a}function fu(t){var a=en();return Np(a,_t,t)}function Np(t,a,s){var c=t.queue;if(c===null)throw Error(r(311));c.lastRenderedReducer=s;var p=t.baseQueue,g=c.pending;if(g!==null){if(p!==null){var x=p.next;p.next=g.next,g.next=x}a.baseQueue=p=g,c.pending=null}if(g=t.baseState,p===null)t.memoizedState=g;else{a=p.next;var j=x=null,z=null,$=a,ee=!1;do{var se=$.lane&-536870913;if(se!==$.lane?(ut&se)===se:(bi&se)===se){var G=$.revertLane;if(G===0)z!==null&&(z=z.next={lane:0,revertLane:0,gesture:null,action:$.action,hasEagerState:$.hasEagerState,eagerState:$.eagerState,next:null}),se===Xo&&(ee=!0);else if((bi&G)===G){$=$.next,G===Xo&&(ee=!0);continue}else se={lane:0,revertLane:$.revertLane,gesture:null,action:$.action,hasEagerState:$.hasEagerState,eagerState:$.eagerState,next:null},z===null?(j=z=se,x=g):z=z.next=se,Xe.lanes|=G,os|=G;se=$.action,io&&s(g,se),g=$.hasEagerState?$.eagerState:s(g,se)}else G={lane:se,revertLane:$.revertLane,gesture:$.gesture,action:$.action,hasEagerState:$.hasEagerState,eagerState:$.eagerState,next:null},z===null?(j=z=G,x=g):z=z.next=G,Xe.lanes|=se,os|=se;$=$.next}while($!==null&&$!==a);if(z===null?x=g:z.next=j,!Wn(g,t.memoizedState)&&(on=!0,ee&&(s=Jo,s!==null)))throw s;t.memoizedState=g,t.baseState=x,t.baseQueue=z,c.lastRenderedState=g}return p===null&&(c.lanes=0),[t.memoizedState,c.dispatch]}function _p(t){var a=en(),s=a.queue;if(s===null)throw Error(r(311));s.lastRenderedReducer=t;var c=s.dispatch,p=s.pending,g=a.memoizedState;if(p!==null){s.pending=null;var x=p=p.next;do g=t(g,x.action),x=x.next;while(x!==p);Wn(g,a.memoizedState)||(on=!0),a.memoizedState=g,a.baseQueue===null&&(a.baseState=g),s.lastRenderedState=g}return[g,c]}function ly(t,a,s){var c=Xe,p=en(),g=ht;if(g){if(s===void 0)throw Error(r(407));s=s()}else s=a();var x=!Wn((_t||p).memoizedState,s);if(x&&(p.memoizedState=s,on=!0),p=p.queue,Rp(dy.bind(null,c,p,t),[t]),p.getSnapshot!==a||x||sn!==null&&sn.memoizedState.tag&1){if(c.flags|=2048,ir(9,{destroy:void 0},uy.bind(null,c,p,s,a),null),Rt===null)throw Error(r(349));g||(bi&127)!==0||cy(c,a,s)}return s}function cy(t,a,s){t.flags|=16384,t={getSnapshot:a,value:s},a=Xe.updateQueue,a===null?(a=pu(),Xe.updateQueue=a,a.stores=[t]):(s=a.stores,s===null?a.stores=[t]:s.push(t))}function uy(t,a,s,c){a.value=s,a.getSnapshot=c,my(a)&&py(t)}function dy(t,a,s){return s(function(){my(a)&&py(t)})}function my(t){var a=t.getSnapshot;t=t.value;try{var s=a();return!Wn(t,s)}catch{return!0}}function py(t){var a=Zs(t,2);a!==null&&Qn(a,t,2)}function Tp(t){var a=qn();if(typeof t=="function"){var s=t;if(t=s(),io){fn(!0);try{s()}finally{fn(!1)}}}return a.memoizedState=a.baseState=t,a.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:vi,lastRenderedState:t},a}function hy(t,a,s,c){return t.baseState=s,Np(t,_t,typeof c=="function"?c:vi)}function uC(t,a,s,c,p){if(bu(t))throw Error(r(485));if(t=a.action,t!==null){var g={payload:p,action:t,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(x){g.listeners.push(x)}};q.T!==null?s(!0):g.isTransition=!1,c(g),s=a.pending,s===null?(g.next=a.pending=g,fy(a,g)):(g.next=s.next,a.pending=s.next=g)}}function fy(t,a){var s=a.action,c=a.payload,p=t.state;if(a.isTransition){var g=q.T,x={};q.T=x;try{var j=s(p,c),z=q.S;z!==null&&z(x,j),gy(t,a,j)}catch($){Ep(t,a,$)}finally{g!==null&&x.types!==null&&(g.types=x.types),q.T=g}}else try{g=s(p,c),gy(t,a,g)}catch($){Ep(t,a,$)}}function gy(t,a,s){s!==null&&typeof s=="object"&&typeof s.then=="function"?s.then(function(c){yy(t,a,c)},function(c){return Ep(t,a,c)}):yy(t,a,s)}function yy(t,a,s){a.status="fulfilled",a.value=s,by(a),t.state=s,a=t.pending,a!==null&&(s=a.next,s===a?t.pending=null:(s=s.next,a.next=s,fy(t,s)))}function Ep(t,a,s){var c=t.pending;if(t.pending=null,c!==null){c=c.next;do a.status="rejected",a.reason=s,by(a),a=a.next;while(a!==c)}t.action=null}function by(t){t=t.listeners;for(var a=0;a<t.length;a++)(0,t[a])()}function vy(t,a){return a}function xy(t,a){if(ht){var s=Rt.formState;if(s!==null){e:{var c=Xe;if(ht){if(It){t:{for(var p=It,g=xa;p.nodeType!==8;){if(!g){p=null;break t}if(p=ka(p.nextSibling),p===null){p=null;break t}}g=p.data,p=g==="F!"||g==="F"?p:null}if(p){It=ka(p.nextSibling),c=p.data==="F!";break e}}Xi(c)}c=!1}c&&(a=s[0])}}return s=qn(),s.memoizedState=s.baseState=a,c={pending:null,lanes:0,dispatch:null,lastRenderedReducer:vy,lastRenderedState:a},s.queue=c,s=By.bind(null,Xe,c),c.dispatch=s,c=Tp(!1),g=qp.bind(null,Xe,!1,c.queue),c=qn(),p={state:a,dispatch:null,action:t,pending:null},c.queue=p,s=uC.bind(null,Xe,p,g,s),p.dispatch=s,c.memoizedState=t,[a,s,!1]}function wy(t){var a=en();return ky(a,_t,t)}function ky(t,a,s){if(a=Np(t,a,vy)[0],t=fu(vi)[0],typeof a=="object"&&a!==null&&typeof a.then=="function")try{var c=El(a)}catch(x){throw x===Wo?su:x}else c=a;a=en();var p=a.queue,g=p.dispatch;return s!==a.memoizedState&&(Xe.flags|=2048,ir(9,{destroy:void 0},dC.bind(null,p,s),null)),[c,g,t]}function dC(t,a){t.action=a}function Sy(t){var a=en(),s=_t;if(s!==null)return ky(a,s,t);en(),a=a.memoizedState,s=en();var c=s.queue.dispatch;return s.memoizedState=t,[a,c,!1]}function ir(t,a,s,c){return t={tag:t,create:s,deps:c,inst:a,next:null},a=Xe.updateQueue,a===null&&(a=pu(),Xe.updateQueue=a),s=a.lastEffect,s===null?a.lastEffect=t.next=t:(c=s.next,s.next=t,t.next=c,a.lastEffect=t),t}function jy(){return en().memoizedState}function gu(t,a,s,c){var p=qn();Xe.flags|=t,p.memoizedState=ir(1|a,{destroy:void 0},s,c===void 0?null:c)}function yu(t,a,s,c){var p=en();c=c===void 0?null:c;var g=p.memoizedState.inst;_t!==null&&c!==null&&wp(c,_t.memoizedState.deps)?p.memoizedState=ir(a,g,s,c):(Xe.flags|=t,p.memoizedState=ir(1|a,g,s,c))}function Ay(t,a){gu(8390656,8,t,a)}function Rp(t,a){yu(2048,8,t,a)}function mC(t){Xe.flags|=4;var a=Xe.updateQueue;if(a===null)a=pu(),Xe.updateQueue=a,a.events=[t];else{var s=a.events;s===null?a.events=[t]:s.push(t)}}function Cy(t){var a=en().memoizedState;return mC({ref:a,nextImpl:t}),function(){if((xt&2)!==0)throw Error(r(440));return a.impl.apply(void 0,arguments)}}function Ny(t,a){return yu(4,2,t,a)}function _y(t,a){return yu(4,4,t,a)}function Ty(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 Ey(t,a,s){s=s!=null?s.concat([t]):null,yu(4,4,Ty.bind(null,a,t),s)}function zp(){}function Ry(t,a){var s=en();a=a===void 0?null:a;var c=s.memoizedState;return a!==null&&wp(a,c[1])?c[0]:(s.memoizedState=[t,a],t)}function zy(t,a){var s=en();a=a===void 0?null:a;var c=s.memoizedState;if(a!==null&&wp(a,c[1]))return c[0];if(c=t(),io){fn(!0);try{t()}finally{fn(!1)}}return s.memoizedState=[c,a],c}function Dp(t,a,s){return s===void 0||(bi&1073741824)!==0&&(ut&261930)===0?t.memoizedState=a:(t.memoizedState=s,t=Db(),Xe.lanes|=t,os|=t,s)}function Dy(t,a,s,c){return Wn(s,a)?s:tr.current!==null?(t=Dp(t,s,c),Wn(t,a)||(on=!0),t):(bi&42)===0||(bi&1073741824)!==0&&(ut&261930)===0?(on=!0,t.memoizedState=s):(t=Db(),Xe.lanes|=t,os|=t,a)}function Iy(t,a,s,c,p){var g=X.p;X.p=g!==0&&8>g?g:8;var x=q.T,j={};q.T=j,qp(t,!1,a,s);try{var z=p(),$=q.S;if($!==null&&$(j,z),z!==null&&typeof z=="object"&&typeof z.then=="function"){var ee=rC(z,c);Rl(t,a,ee,sa(t))}else Rl(t,a,c,sa(t))}catch(se){Rl(t,a,{then:function(){},status:"rejected",reason:se},sa())}finally{X.p=g,x!==null&&j.types!==null&&(x.types=j.types),q.T=x}}function pC(){}function Ip(t,a,s,c){if(t.tag!==5)throw Error(r(476));var p=Oy(t).queue;Iy(t,p,a,be,s===null?pC:function(){return qy(t),s(c)})}function Oy(t){var a=t.memoizedState;if(a!==null)return a;a={memoizedState:be,baseState:be,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:vi,lastRenderedState:be},next:null};var s={};return a.next={memoizedState:s,baseState:s,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:vi,lastRenderedState:s},next:null},t.memoizedState=a,t=t.alternate,t!==null&&(t.memoizedState=a),a}function qy(t){var a=Oy(t);a.next===null&&(a=t.alternate.memoizedState),Rl(t,a.next.queue,{},sa())}function Op(){return An(Fl)}function Py(){return en().memoizedState}function My(){return en().memoizedState}function hC(t){for(var a=t.return;a!==null;){switch(a.tag){case 24:case 3:var s=sa();t=es(s);var c=ts(a,t,s);c!==null&&(Qn(c,a,s),Cl(c,a,s)),a={cache:up()},t.payload=a;return}a=a.return}}function fC(t,a,s){var c=sa();s={lane:c,revertLane:0,gesture:null,action:s,hasEagerState:!1,eagerState:null,next:null},bu(t)?Ly(a,s):(s=Wm(t,a,s,c),s!==null&&(Qn(s,t,c),Vy(s,a,c)))}function By(t,a,s){var c=sa();Rl(t,a,s,c)}function Rl(t,a,s,c){var p={lane:c,revertLane:0,gesture:null,action:s,hasEagerState:!1,eagerState:null,next:null};if(bu(t))Ly(a,p);else{var g=t.alternate;if(t.lanes===0&&(g===null||g.lanes===0)&&(g=a.lastRenderedReducer,g!==null))try{var x=a.lastRenderedState,j=g(x,s);if(p.hasEagerState=!0,p.eagerState=j,Wn(j,x))return Jc(t,a,p,0),Rt===null&&Xc(),!1}catch{}if(s=Wm(t,a,p,c),s!==null)return Qn(s,t,c),Vy(s,a,c),!0}return!1}function qp(t,a,s,c){if(c={lane:2,revertLane:hh(),gesture:null,action:c,hasEagerState:!1,eagerState:null,next:null},bu(t)){if(a)throw Error(r(479))}else a=Wm(t,s,c,2),a!==null&&Qn(a,t,2)}function bu(t){var a=t.alternate;return t===Xe||a!==null&&a===Xe}function Ly(t,a){nr=du=!0;var s=t.pending;s===null?a.next=a:(a.next=s.next,s.next=a),t.pending=a}function Vy(t,a,s){if((s&4194048)!==0){var c=a.lanes;c&=t.pendingLanes,s|=c,a.lanes=s,Jr(t,s)}}var zl={readContext:An,use:hu,useCallback:Zt,useContext:Zt,useEffect:Zt,useImperativeHandle:Zt,useLayoutEffect:Zt,useInsertionEffect:Zt,useMemo:Zt,useReducer:Zt,useRef:Zt,useState:Zt,useDebugValue:Zt,useDeferredValue:Zt,useTransition:Zt,useSyncExternalStore:Zt,useId:Zt,useHostTransitionStatus:Zt,useFormState:Zt,useActionState:Zt,useOptimistic:Zt,useMemoCache:Zt,useCacheRefresh:Zt};zl.useEffectEvent=Zt;var Uy={readContext:An,use:hu,useCallback:function(t,a){return qn().memoizedState=[t,a===void 0?null:a],t},useContext:An,useEffect:Ay,useImperativeHandle:function(t,a,s){s=s!=null?s.concat([t]):null,gu(4194308,4,Ty.bind(null,a,t),s)},useLayoutEffect:function(t,a){return gu(4194308,4,t,a)},useInsertionEffect:function(t,a){gu(4,2,t,a)},useMemo:function(t,a){var s=qn();a=a===void 0?null:a;var c=t();if(io){fn(!0);try{t()}finally{fn(!1)}}return s.memoizedState=[c,a],c},useReducer:function(t,a,s){var c=qn();if(s!==void 0){var p=s(a);if(io){fn(!0);try{s(a)}finally{fn(!1)}}}else p=a;return c.memoizedState=c.baseState=p,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:p},c.queue=t,t=t.dispatch=fC.bind(null,Xe,t),[c.memoizedState,t]},useRef:function(t){var a=qn();return t={current:t},a.memoizedState=t},useState:function(t){t=Tp(t);var a=t.queue,s=By.bind(null,Xe,a);return a.dispatch=s,[t.memoizedState,s]},useDebugValue:zp,useDeferredValue:function(t,a){var s=qn();return Dp(s,t,a)},useTransition:function(){var t=Tp(!1);return t=Iy.bind(null,Xe,t.queue,!0,!1),qn().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,a,s){var c=Xe,p=qn();if(ht){if(s===void 0)throw Error(r(407));s=s()}else{if(s=a(),Rt===null)throw Error(r(349));(ut&127)!==0||cy(c,a,s)}p.memoizedState=s;var g={value:s,getSnapshot:a};return p.queue=g,Ay(dy.bind(null,c,g,t),[t]),c.flags|=2048,ir(9,{destroy:void 0},uy.bind(null,c,g,s,a),null),s},useId:function(){var t=qn(),a=Rt.identifierPrefix;if(ht){var s=Wa,c=Ja;s=(c&~(1<<32-wn(c)-1)).toString(32)+s,a="_"+a+"R_"+s,s=mu++,0<s&&(a+="H"+s.toString(32)),a+="_"}else s=lC++,a="_"+a+"r_"+s.toString(32)+"_";return t.memoizedState=a},useHostTransitionStatus:Op,useFormState:xy,useActionState:xy,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=qp.bind(null,Xe,!0,s),s.dispatch=a,[t,a]},useMemoCache:Cp,useCacheRefresh:function(){return qn().memoizedState=hC.bind(null,Xe)},useEffectEvent:function(t){var a=qn(),s={impl:t};return a.memoizedState=s,function(){if((xt&2)!==0)throw Error(r(440));return s.impl.apply(void 0,arguments)}}},Pp={readContext:An,use:hu,useCallback:Ry,useContext:An,useEffect:Rp,useImperativeHandle:Ey,useInsertionEffect:Ny,useLayoutEffect:_y,useMemo:zy,useReducer:fu,useRef:jy,useState:function(){return fu(vi)},useDebugValue:zp,useDeferredValue:function(t,a){var s=en();return Dy(s,_t.memoizedState,t,a)},useTransition:function(){var t=fu(vi)[0],a=en().memoizedState;return[typeof t=="boolean"?t:El(t),a]},useSyncExternalStore:ly,useId:Py,useHostTransitionStatus:Op,useFormState:wy,useActionState:wy,useOptimistic:function(t,a){var s=en();return hy(s,_t,t,a)},useMemoCache:Cp,useCacheRefresh:My};Pp.useEffectEvent=Cy;var $y={readContext:An,use:hu,useCallback:Ry,useContext:An,useEffect:Rp,useImperativeHandle:Ey,useInsertionEffect:Ny,useLayoutEffect:_y,useMemo:zy,useReducer:_p,useRef:jy,useState:function(){return _p(vi)},useDebugValue:zp,useDeferredValue:function(t,a){var s=en();return _t===null?Dp(s,t,a):Dy(s,_t.memoizedState,t,a)},useTransition:function(){var t=_p(vi)[0],a=en().memoizedState;return[typeof t=="boolean"?t:El(t),a]},useSyncExternalStore:ly,useId:Py,useHostTransitionStatus:Op,useFormState:Sy,useActionState:Sy,useOptimistic:function(t,a){var s=en();return _t!==null?hy(s,_t,t,a):(s.baseState=t,[t,s.queue.dispatch])},useMemoCache:Cp,useCacheRefresh:My};$y.useEffectEvent=Cy;function Mp(t,a,s,c){a=t.memoizedState,s=s(c,a),s=s==null?a:S({},a,s),t.memoizedState=s,t.lanes===0&&(t.updateQueue.baseState=s)}var Bp={enqueueSetState:function(t,a,s){t=t._reactInternals;var c=sa(),p=es(c);p.payload=a,s!=null&&(p.callback=s),a=ts(t,p,c),a!==null&&(Qn(a,t,c),Cl(a,t,c))},enqueueReplaceState:function(t,a,s){t=t._reactInternals;var c=sa(),p=es(c);p.tag=1,p.payload=a,s!=null&&(p.callback=s),a=ts(t,p,c),a!==null&&(Qn(a,t,c),Cl(a,t,c))},enqueueForceUpdate:function(t,a){t=t._reactInternals;var s=sa(),c=es(s);c.tag=2,a!=null&&(c.callback=a),a=ts(t,c,s),a!==null&&(Qn(a,t,s),Cl(a,t,s))}};function Ky(t,a,s,c,p,g,x){return t=t.stateNode,typeof t.shouldComponentUpdate=="function"?t.shouldComponentUpdate(c,g,x):a.prototype&&a.prototype.isPureReactComponent?!bl(s,c)||!bl(p,g):!0}function Gy(t,a,s,c){t=a.state,typeof a.componentWillReceiveProps=="function"&&a.componentWillReceiveProps(s,c),typeof a.UNSAFE_componentWillReceiveProps=="function"&&a.UNSAFE_componentWillReceiveProps(s,c),a.state!==t&&Bp.enqueueReplaceState(a,a.state,null)}function so(t,a){var s=a;if("ref"in a){s={};for(var c in a)c!=="ref"&&(s[c]=a[c])}if(t=t.defaultProps){s===a&&(s=S({},s));for(var p in t)s[p]===void 0&&(s[p]=t[p])}return s}function Hy(t){Yc(t)}function Qy(t){console.error(t)}function Fy(t){Yc(t)}function vu(t,a){try{var s=t.onUncaughtError;s(a.value,{componentStack:a.stack})}catch(c){setTimeout(function(){throw c})}}function Zy(t,a,s){try{var c=t.onCaughtError;c(s.value,{componentStack:s.stack,errorBoundary:a.tag===1?a.stateNode:null})}catch(p){setTimeout(function(){throw p})}}function Lp(t,a,s){return s=es(s),s.tag=3,s.payload={element:null},s.callback=function(){vu(t,a)},s}function Yy(t){return t=es(t),t.tag=3,t}function Xy(t,a,s,c){var p=s.type.getDerivedStateFromError;if(typeof p=="function"){var g=c.value;t.payload=function(){return p(g)},t.callback=function(){Zy(a,s,c)}}var x=s.stateNode;x!==null&&typeof x.componentDidCatch=="function"&&(t.callback=function(){Zy(a,s,c),typeof p!="function"&&(rs===null?rs=new Set([this]):rs.add(this));var j=c.stack;this.componentDidCatch(c.value,{componentStack:j!==null?j:""})})}function gC(t,a,s,c,p){if(s.flags|=32768,c!==null&&typeof c=="object"&&typeof c.then=="function"){if(a=s.alternate,a!==null&&Yo(a,s,p,!0),s=ta.current,s!==null){switch(s.tag){case 31:case 13:return wa===null?Ru():s.alternate===null&&Yt===0&&(Yt=3),s.flags&=-257,s.flags|=65536,s.lanes=p,c===ou?s.flags|=16384:(a=s.updateQueue,a===null?s.updateQueue=new Set([c]):a.add(c),dh(t,c,p)),!1;case 22:return s.flags|=65536,c===ou?s.flags|=16384:(a=s.updateQueue,a===null?(a={transitions:null,markerInstances:null,retryQueue:new Set([c])},s.updateQueue=a):(s=a.retryQueue,s===null?a.retryQueue=new Set([c]):s.add(c)),dh(t,c,p)),!1}throw Error(r(435,s.tag))}return dh(t,c,p),Ru(),!1}if(ht)return a=ta.current,a!==null?((a.flags&65536)===0&&(a.flags|=256),a.flags|=65536,a.lanes=p,c!==sp&&(t=Error(r(422),{cause:c}),wl(ya(t,s)))):(c!==sp&&(a=Error(r(423),{cause:c}),wl(ya(a,s))),t=t.current.alternate,t.flags|=65536,p&=-p,t.lanes|=p,c=ya(c,s),p=Lp(t.stateNode,c,p),gp(t,p),Yt!==4&&(Yt=2)),!1;var g=Error(r(520),{cause:c});if(g=ya(g,s),Ll===null?Ll=[g]:Ll.push(g),Yt!==4&&(Yt=2),a===null)return!0;c=ya(c,s),s=a;do{switch(s.tag){case 3:return s.flags|=65536,t=p&-p,s.lanes|=t,t=Lp(s.stateNode,c,t),gp(s,t),!1;case 1:if(a=s.type,g=s.stateNode,(s.flags&128)===0&&(typeof a.getDerivedStateFromError=="function"||g!==null&&typeof g.componentDidCatch=="function"&&(rs===null||!rs.has(g))))return s.flags|=65536,p&=-p,s.lanes|=p,p=Yy(p),Xy(p,t,s,c),gp(s,p),!1}s=s.return}while(s!==null);return!1}var Vp=Error(r(461)),on=!1;function Cn(t,a,s,c){a.child=t===null?ty(a,null,s,c):ao(a,t.child,s,c)}function Jy(t,a,s,c,p){s=s.render;var g=a.ref;if("ref"in c){var x={};for(var j in c)j!=="ref"&&(x[j]=c[j])}else x=c;return Ws(a),c=kp(t,a,s,x,g,p),j=Sp(),t!==null&&!on?(jp(t,a,p),xi(t,a,p)):(ht&&j&&ap(a),a.flags|=1,Cn(t,a,c,p),a.child)}function Wy(t,a,s,c,p){if(t===null){var g=s.type;return typeof g=="function"&&!ep(g)&&g.defaultProps===void 0&&s.compare===null?(a.tag=15,a.type=g,eb(t,a,g,c,p)):(t=eu(s.type,null,c,a,a.mode,p),t.ref=a.ref,t.return=a,a.child=t)}if(g=t.child,!Zp(t,p)){var x=g.memoizedProps;if(s=s.compare,s=s!==null?s:bl,s(x,c)&&t.ref===a.ref)return xi(t,a,p)}return a.flags|=1,t=hi(g,c),t.ref=a.ref,t.return=a,a.child=t}function eb(t,a,s,c,p){if(t!==null){var g=t.memoizedProps;if(bl(g,c)&&t.ref===a.ref)if(on=!1,a.pendingProps=c=g,Zp(t,p))(t.flags&131072)!==0&&(on=!0);else return a.lanes=t.lanes,xi(t,a,p)}return Up(t,a,s,c,p)}function tb(t,a,s,c){var p=c.children,g=t!==null?t.memoizedState:null;if(t===null&&a.stateNode===null&&(a.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),c.mode==="hidden"){if((a.flags&128)!==0){if(g=g!==null?g.baseLanes|s:s,t!==null){for(c=a.child=t.child,p=0;c!==null;)p=p|c.lanes|c.childLanes,c=c.sibling;c=p&~g}else c=0,a.child=null;return nb(t,a,g,s,c)}if((s&536870912)!==0)a.memoizedState={baseLanes:0,cachePool:null},t!==null&&iu(a,g!==null?g.cachePool:null),g!==null?iy(a,g):bp(),sy(a);else return c=a.lanes=536870912,nb(t,a,g!==null?g.baseLanes|s:s,s,c)}else g!==null?(iu(a,g.cachePool),iy(a,g),as(),a.memoizedState=null):(t!==null&&iu(a,null),bp(),as());return Cn(t,a,p,s),a.child}function Dl(t,a){return t!==null&&t.tag===22||a.stateNode!==null||(a.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),a.sibling}function nb(t,a,s,c,p){var g=mp();return g=g===null?null:{parent:an._currentValue,pool:g},a.memoizedState={baseLanes:s,cachePool:g},t!==null&&iu(a,null),bp(),sy(a),t!==null&&Yo(t,a,c,!0),a.childLanes=p,null}function xu(t,a){return a=ku({mode:a.mode,children:a.children},t.mode),a.ref=t.ref,t.child=a,a.return=t,a}function ab(t,a,s){return ao(a,t.child,null,s),t=xu(a,a.pendingProps),t.flags|=2,na(a),a.memoizedState=null,t}function yC(t,a,s){var c=a.pendingProps,p=(a.flags&128)!==0;if(a.flags&=-129,t===null){if(ht){if(c.mode==="hidden")return t=xu(a,c),a.lanes=536870912,Dl(null,t);if(xp(a),(t=It)?(t=fv(t,xa),t=t!==null&&t.data==="&"?t:null,t!==null&&(a.memoizedState={dehydrated:t,treeContext:Zi!==null?{id:Ja,overflow:Wa}:null,retryLane:536870912,hydrationErrors:null},s=L1(t),s.return=a,a.child=s,jn=a,It=null)):t=null,t===null)throw Xi(a);return a.lanes=536870912,null}return xu(a,c)}var g=t.memoizedState;if(g!==null){var x=g.dehydrated;if(xp(a),p)if(a.flags&256)a.flags&=-257,a=ab(t,a,s);else if(a.memoizedState!==null)a.child=t.child,a.flags|=128,a=null;else throw Error(r(558));else if(on||Yo(t,a,s,!1),p=(s&t.childLanes)!==0,on||p){if(c=Rt,c!==null&&(x=Wr(c,s),x!==0&&x!==g.retryLane))throw g.retryLane=x,Zs(t,x),Qn(c,t,x),Vp;Ru(),a=ab(t,a,s)}else t=g.treeContext,It=ka(x.nextSibling),jn=a,ht=!0,Yi=null,xa=!1,t!==null&&$1(a,t),a=xu(a,c),a.flags|=4096;return a}return t=hi(t.child,{mode:c.mode,children:c.children}),t.ref=a.ref,a.child=t,t.return=a,t}function wu(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 Up(t,a,s,c,p){return Ws(a),s=kp(t,a,s,c,void 0,p),c=Sp(),t!==null&&!on?(jp(t,a,p),xi(t,a,p)):(ht&&c&&ap(a),a.flags|=1,Cn(t,a,s,p),a.child)}function ib(t,a,s,c,p,g){return Ws(a),a.updateQueue=null,s=ry(a,c,s,p),oy(t),c=Sp(),t!==null&&!on?(jp(t,a,g),xi(t,a,g)):(ht&&c&&ap(a),a.flags|=1,Cn(t,a,s,g),a.child)}function sb(t,a,s,c,p){if(Ws(a),a.stateNode===null){var g=Ho,x=s.contextType;typeof x=="object"&&x!==null&&(g=An(x)),g=new s(c,g),a.memoizedState=g.state!==null&&g.state!==void 0?g.state:null,g.updater=Bp,a.stateNode=g,g._reactInternals=a,g=a.stateNode,g.props=c,g.state=a.memoizedState,g.refs={},hp(a),x=s.contextType,g.context=typeof x=="object"&&x!==null?An(x):Ho,g.state=a.memoizedState,x=s.getDerivedStateFromProps,typeof x=="function"&&(Mp(a,s,x,c),g.state=a.memoizedState),typeof s.getDerivedStateFromProps=="function"||typeof g.getSnapshotBeforeUpdate=="function"||typeof g.UNSAFE_componentWillMount!="function"&&typeof g.componentWillMount!="function"||(x=g.state,typeof g.componentWillMount=="function"&&g.componentWillMount(),typeof g.UNSAFE_componentWillMount=="function"&&g.UNSAFE_componentWillMount(),x!==g.state&&Bp.enqueueReplaceState(g,g.state,null),_l(a,c,g,p),Nl(),g.state=a.memoizedState),typeof g.componentDidMount=="function"&&(a.flags|=4194308),c=!0}else if(t===null){g=a.stateNode;var j=a.memoizedProps,z=so(s,j);g.props=z;var $=g.context,ee=s.contextType;x=Ho,typeof ee=="object"&&ee!==null&&(x=An(ee));var se=s.getDerivedStateFromProps;ee=typeof se=="function"||typeof g.getSnapshotBeforeUpdate=="function",j=a.pendingProps!==j,ee||typeof g.UNSAFE_componentWillReceiveProps!="function"&&typeof g.componentWillReceiveProps!="function"||(j||$!==x)&&Gy(a,g,c,x),Wi=!1;var G=a.memoizedState;g.state=G,_l(a,c,g,p),Nl(),$=a.memoizedState,j||G!==$||Wi?(typeof se=="function"&&(Mp(a,s,se,c),$=a.memoizedState),(z=Wi||Ky(a,s,z,c,G,$,x))?(ee||typeof g.UNSAFE_componentWillMount!="function"&&typeof g.componentWillMount!="function"||(typeof g.componentWillMount=="function"&&g.componentWillMount(),typeof g.UNSAFE_componentWillMount=="function"&&g.UNSAFE_componentWillMount()),typeof g.componentDidMount=="function"&&(a.flags|=4194308)):(typeof g.componentDidMount=="function"&&(a.flags|=4194308),a.memoizedProps=c,a.memoizedState=$),g.props=c,g.state=$,g.context=x,c=z):(typeof g.componentDidMount=="function"&&(a.flags|=4194308),c=!1)}else{g=a.stateNode,fp(t,a),x=a.memoizedProps,ee=so(s,x),g.props=ee,se=a.pendingProps,G=g.context,$=s.contextType,z=Ho,typeof $=="object"&&$!==null&&(z=An($)),j=s.getDerivedStateFromProps,($=typeof j=="function"||typeof g.getSnapshotBeforeUpdate=="function")||typeof g.UNSAFE_componentWillReceiveProps!="function"&&typeof g.componentWillReceiveProps!="function"||(x!==se||G!==z)&&Gy(a,g,c,z),Wi=!1,G=a.memoizedState,g.state=G,_l(a,c,g,p),Nl();var Q=a.memoizedState;x!==se||G!==Q||Wi||t!==null&&t.dependencies!==null&&nu(t.dependencies)?(typeof j=="function"&&(Mp(a,s,j,c),Q=a.memoizedState),(ee=Wi||Ky(a,s,ee,c,G,Q,z)||t!==null&&t.dependencies!==null&&nu(t.dependencies))?($||typeof g.UNSAFE_componentWillUpdate!="function"&&typeof g.componentWillUpdate!="function"||(typeof g.componentWillUpdate=="function"&&g.componentWillUpdate(c,Q,z),typeof g.UNSAFE_componentWillUpdate=="function"&&g.UNSAFE_componentWillUpdate(c,Q,z)),typeof g.componentDidUpdate=="function"&&(a.flags|=4),typeof g.getSnapshotBeforeUpdate=="function"&&(a.flags|=1024)):(typeof g.componentDidUpdate!="function"||x===t.memoizedProps&&G===t.memoizedState||(a.flags|=4),typeof g.getSnapshotBeforeUpdate!="function"||x===t.memoizedProps&&G===t.memoizedState||(a.flags|=1024),a.memoizedProps=c,a.memoizedState=Q),g.props=c,g.state=Q,g.context=z,c=ee):(typeof g.componentDidUpdate!="function"||x===t.memoizedProps&&G===t.memoizedState||(a.flags|=4),typeof g.getSnapshotBeforeUpdate!="function"||x===t.memoizedProps&&G===t.memoizedState||(a.flags|=1024),c=!1)}return g=c,wu(t,a),c=(a.flags&128)!==0,g||c?(g=a.stateNode,s=c&&typeof s.getDerivedStateFromError!="function"?null:g.render(),a.flags|=1,t!==null&&c?(a.child=ao(a,t.child,null,p),a.child=ao(a,null,s,p)):Cn(t,a,s,p),a.memoizedState=g.state,t=a.child):t=xi(t,a,p),t}function ob(t,a,s,c){return Xs(),a.flags|=256,Cn(t,a,s,c),a.child}var $p={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Kp(t){return{baseLanes:t,cachePool:Z1()}}function Gp(t,a,s){return t=t!==null?t.childLanes&~s:0,a&&(t|=ia),t}function rb(t,a,s){var c=a.pendingProps,p=!1,g=(a.flags&128)!==0,x;if((x=g)||(x=t!==null&&t.memoizedState===null?!1:(Wt.current&2)!==0),x&&(p=!0,a.flags&=-129),x=(a.flags&32)!==0,a.flags&=-33,t===null){if(ht){if(p?ns(a):as(),(t=It)?(t=fv(t,xa),t=t!==null&&t.data!=="&"?t:null,t!==null&&(a.memoizedState={dehydrated:t,treeContext:Zi!==null?{id:Ja,overflow:Wa}:null,retryLane:536870912,hydrationErrors:null},s=L1(t),s.return=a,a.child=s,jn=a,It=null)):t=null,t===null)throw Xi(a);return Nh(t)?a.lanes=32:a.lanes=536870912,null}var j=c.children;return c=c.fallback,p?(as(),p=a.mode,j=ku({mode:"hidden",children:j},p),c=Ys(c,p,s,null),j.return=a,c.return=a,j.sibling=c,a.child=j,c=a.child,c.memoizedState=Kp(s),c.childLanes=Gp(t,x,s),a.memoizedState=$p,Dl(null,c)):(ns(a),Hp(a,j))}var z=t.memoizedState;if(z!==null&&(j=z.dehydrated,j!==null)){if(g)a.flags&256?(ns(a),a.flags&=-257,a=Qp(t,a,s)):a.memoizedState!==null?(as(),a.child=t.child,a.flags|=128,a=null):(as(),j=c.fallback,p=a.mode,c=ku({mode:"visible",children:c.children},p),j=Ys(j,p,s,null),j.flags|=2,c.return=a,j.return=a,c.sibling=j,a.child=c,ao(a,t.child,null,s),c=a.child,c.memoizedState=Kp(s),c.childLanes=Gp(t,x,s),a.memoizedState=$p,a=Dl(null,c));else if(ns(a),Nh(j)){if(x=j.nextSibling&&j.nextSibling.dataset,x)var $=x.dgst;x=$,c=Error(r(419)),c.stack="",c.digest=x,wl({value:c,source:null,stack:null}),a=Qp(t,a,s)}else if(on||Yo(t,a,s,!1),x=(s&t.childLanes)!==0,on||x){if(x=Rt,x!==null&&(c=Wr(x,s),c!==0&&c!==z.retryLane))throw z.retryLane=c,Zs(t,c),Qn(x,t,c),Vp;Ch(j)||Ru(),a=Qp(t,a,s)}else Ch(j)?(a.flags|=192,a.child=t.child,a=null):(t=z.treeContext,It=ka(j.nextSibling),jn=a,ht=!0,Yi=null,xa=!1,t!==null&&$1(a,t),a=Hp(a,c.children),a.flags|=4096);return a}return p?(as(),j=c.fallback,p=a.mode,z=t.child,$=z.sibling,c=hi(z,{mode:"hidden",children:c.children}),c.subtreeFlags=z.subtreeFlags&65011712,$!==null?j=hi($,j):(j=Ys(j,p,s,null),j.flags|=2),j.return=a,c.return=a,c.sibling=j,a.child=c,Dl(null,c),c=a.child,j=t.child.memoizedState,j===null?j=Kp(s):(p=j.cachePool,p!==null?(z=an._currentValue,p=p.parent!==z?{parent:z,pool:z}:p):p=Z1(),j={baseLanes:j.baseLanes|s,cachePool:p}),c.memoizedState=j,c.childLanes=Gp(t,x,s),a.memoizedState=$p,Dl(t.child,c)):(ns(a),s=t.child,t=s.sibling,s=hi(s,{mode:"visible",children:c.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 Hp(t,a){return a=ku({mode:"visible",children:a},t.mode),a.return=t,t.child=a}function ku(t,a){return t=ea(22,t,null,a),t.lanes=0,t}function Qp(t,a,s){return ao(a,t.child,null,s),t=Hp(a,a.pendingProps.children),t.flags|=2,a.memoizedState=null,t}function lb(t,a,s){t.lanes|=a;var c=t.alternate;c!==null&&(c.lanes|=a),lp(t.return,a,s)}function Fp(t,a,s,c,p,g){var x=t.memoizedState;x===null?t.memoizedState={isBackwards:a,rendering:null,renderingStartTime:0,last:c,tail:s,tailMode:p,treeForkCount:g}:(x.isBackwards=a,x.rendering=null,x.renderingStartTime=0,x.last=c,x.tail=s,x.tailMode=p,x.treeForkCount=g)}function cb(t,a,s){var c=a.pendingProps,p=c.revealOrder,g=c.tail;c=c.children;var x=Wt.current,j=(x&2)!==0;if(j?(x=x&1|2,a.flags|=128):x&=1,xe(Wt,x),Cn(t,a,c,s),c=ht?xl:0,!j&&t!==null&&(t.flags&128)!==0)e:for(t=a.child;t!==null;){if(t.tag===13)t.memoizedState!==null&&lb(t,s,a);else if(t.tag===19)lb(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&&uu(t)===null&&(p=s),s=s.sibling;s=p,s===null?(p=a.child,a.child=null):(p=s.sibling,s.sibling=null),Fp(a,!1,p,s,g,c);break;case"backwards":case"unstable_legacy-backwards":for(s=null,p=a.child,a.child=null;p!==null;){if(t=p.alternate,t!==null&&uu(t)===null){a.child=p;break}t=p.sibling,p.sibling=s,s=p,p=t}Fp(a,!0,s,null,g,c);break;case"together":Fp(a,!1,null,null,void 0,c);break;default:a.memoizedState=null}return a.child}function xi(t,a,s){if(t!==null&&(a.dependencies=t.dependencies),os|=a.lanes,(s&a.childLanes)===0)if(t!==null){if(Yo(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=hi(t,t.pendingProps),a.child=s,s.return=a;t.sibling!==null;)t=t.sibling,s=s.sibling=hi(t,t.pendingProps),s.return=a;s.sibling=null}return a.child}function Zp(t,a){return(t.lanes&a)!==0?!0:(t=t.dependencies,!!(t!==null&&nu(t)))}function bC(t,a,s){switch(a.tag){case 3:De(a,a.stateNode.containerInfo),Ji(a,an,t.memoizedState.cache),Xs();break;case 27:case 5:it(a);break;case 4:De(a,a.stateNode.containerInfo);break;case 10:Ji(a,a.type,a.memoizedProps.value);break;case 31:if(a.memoizedState!==null)return a.flags|=128,xp(a),null;break;case 13:var c=a.memoizedState;if(c!==null)return c.dehydrated!==null?(ns(a),a.flags|=128,null):(s&a.child.childLanes)!==0?rb(t,a,s):(ns(a),t=xi(t,a,s),t!==null?t.sibling:null);ns(a);break;case 19:var p=(t.flags&128)!==0;if(c=(s&a.childLanes)!==0,c||(Yo(t,a,s,!1),c=(s&a.childLanes)!==0),p){if(c)return cb(t,a,s);a.flags|=128}if(p=a.memoizedState,p!==null&&(p.rendering=null,p.tail=null,p.lastEffect=null),xe(Wt,Wt.current),c)break;return null;case 22:return a.lanes=0,tb(t,a,s,a.pendingProps);case 24:Ji(a,an,t.memoizedState.cache)}return xi(t,a,s)}function ub(t,a,s){if(t!==null)if(t.memoizedProps!==a.pendingProps)on=!0;else{if(!Zp(t,s)&&(a.flags&128)===0)return on=!1,bC(t,a,s);on=(t.flags&131072)!==0}else on=!1,ht&&(a.flags&1048576)!==0&&U1(a,xl,a.index);switch(a.lanes=0,a.tag){case 16:e:{var c=a.pendingProps;if(t=to(a.elementType),a.type=t,typeof t=="function")ep(t)?(c=so(t,c),a.tag=1,a=sb(null,a,t,c,s)):(a.tag=0,a=Up(null,a,t,c,s));else{if(t!=null){var p=t.$$typeof;if(p===F){a.tag=11,a=Jy(null,a,t,c,s);break e}else if(p===M){a.tag=14,a=Wy(null,a,t,c,s);break e}}throw a=ke(t)||t,Error(r(306,a,""))}}return a;case 0:return Up(t,a,a.type,a.pendingProps,s);case 1:return c=a.type,p=so(c,a.pendingProps),sb(t,a,c,p,s);case 3:e:{if(De(a,a.stateNode.containerInfo),t===null)throw Error(r(387));c=a.pendingProps;var g=a.memoizedState;p=g.element,fp(t,a),_l(a,c,null,s);var x=a.memoizedState;if(c=x.cache,Ji(a,an,c),c!==g.cache&&cp(a,[an],s,!0),Nl(),c=x.element,g.isDehydrated)if(g={element:c,isDehydrated:!1,cache:x.cache},a.updateQueue.baseState=g,a.memoizedState=g,a.flags&256){a=ob(t,a,c,s);break e}else if(c!==p){p=ya(Error(r(424)),a),wl(p),a=ob(t,a,c,s);break e}else for(t=a.stateNode.containerInfo,t.nodeType===9?t=t.body:t=t.nodeName==="HTML"?t.ownerDocument.body:t,It=ka(t.firstChild),jn=a,ht=!0,Yi=null,xa=!0,s=ty(a,null,c,s),a.child=s;s;)s.flags=s.flags&-3|4096,s=s.sibling;else{if(Xs(),c===p){a=xi(t,a,s);break e}Cn(t,a,c,s)}a=a.child}return a;case 26:return wu(t,a),t===null?(s=wv(a.type,null,a.pendingProps,null))?a.memoizedState=s:ht||(s=a.type,t=a.pendingProps,c=Mu(H.current).createElement(s),c[nn]=a,c[En]=t,Nn(c,s,t),Jt(c),a.stateNode=c):a.memoizedState=wv(a.type,t.memoizedProps,a.pendingProps,t.memoizedState),null;case 27:return it(a),t===null&&ht&&(c=a.stateNode=bv(a.type,a.pendingProps,H.current),jn=a,xa=!0,p=It,ds(a.type)?(_h=p,It=ka(c.firstChild)):It=p),Cn(t,a,a.pendingProps.children,s),wu(t,a),t===null&&(a.flags|=4194304),a.child;case 5:return t===null&&ht&&((p=c=It)&&(c=FC(c,a.type,a.pendingProps,xa),c!==null?(a.stateNode=c,jn=a,It=ka(c.firstChild),xa=!1,p=!0):p=!1),p||Xi(a)),it(a),p=a.type,g=a.pendingProps,x=t!==null?t.memoizedProps:null,c=g.children,Sh(p,g)?c=null:x!==null&&Sh(p,x)&&(a.flags|=32),a.memoizedState!==null&&(p=kp(t,a,cC,null,null,s),Fl._currentValue=p),wu(t,a),Cn(t,a,c,s),a.child;case 6:return t===null&&ht&&((t=s=It)&&(s=ZC(s,a.pendingProps,xa),s!==null?(a.stateNode=s,jn=a,It=null,t=!0):t=!1),t||Xi(a)),null;case 13:return rb(t,a,s);case 4:return De(a,a.stateNode.containerInfo),c=a.pendingProps,t===null?a.child=ao(a,null,c,s):Cn(t,a,c,s),a.child;case 11:return Jy(t,a,a.type,a.pendingProps,s);case 7:return Cn(t,a,a.pendingProps,s),a.child;case 8:return Cn(t,a,a.pendingProps.children,s),a.child;case 12:return Cn(t,a,a.pendingProps.children,s),a.child;case 10:return c=a.pendingProps,Ji(a,a.type,c.value),Cn(t,a,c.children,s),a.child;case 9:return p=a.type._context,c=a.pendingProps.children,Ws(a),p=An(p),c=c(p),a.flags|=1,Cn(t,a,c,s),a.child;case 14:return Wy(t,a,a.type,a.pendingProps,s);case 15:return eb(t,a,a.type,a.pendingProps,s);case 19:return cb(t,a,s);case 31:return yC(t,a,s);case 22:return tb(t,a,s,a.pendingProps);case 24:return Ws(a),c=An(an),t===null?(p=mp(),p===null&&(p=Rt,g=up(),p.pooledCache=g,g.refCount++,g!==null&&(p.pooledCacheLanes|=s),p=g),a.memoizedState={parent:c,cache:p},hp(a),Ji(a,an,p)):((t.lanes&s)!==0&&(fp(t,a),_l(a,null,null,s),Nl()),p=t.memoizedState,g=a.memoizedState,p.parent!==c?(p={parent:c,cache:c},a.memoizedState=p,a.lanes===0&&(a.memoizedState=a.updateQueue.baseState=p),Ji(a,an,c)):(c=g.cache,Ji(a,an,c),c!==p.cache&&cp(a,[an],s,!0))),Cn(t,a,a.pendingProps.children,s),a.child;case 29:throw a.pendingProps}throw Error(r(156,a.tag))}function wi(t){t.flags|=4}function Yp(t,a,s,c,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 no=ou,pp}else t.flags&=-16777217}function db(t,a){if(a.type!=="stylesheet"||(a.state.loading&4)!==0)t.flags&=-16777217;else if(t.flags|=16777216,!Cv(a))if(Pb())t.flags|=8192;else throw no=ou,pp}function Su(t,a){a!==null&&(t.flags|=4),t.flags&16384&&(a=t.tag!==22?Ms():536870912,t.lanes|=a,lr|=a)}function Il(t,a){if(!ht)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 c=null;s!==null;)s.alternate!==null&&(c=s),s=s.sibling;c===null?a||t.tail===null?t.tail=null:t.tail.sibling=null:c.sibling=null}}function Ot(t){var a=t.alternate!==null&&t.alternate.child===t.child,s=0,c=0;if(a)for(var p=t.child;p!==null;)s|=p.lanes|p.childLanes,c|=p.subtreeFlags&65011712,c|=p.flags&65011712,p.return=t,p=p.sibling;else for(p=t.child;p!==null;)s|=p.lanes|p.childLanes,c|=p.subtreeFlags,c|=p.flags,p.return=t,p=p.sibling;return t.subtreeFlags|=c,t.childLanes=s,a}function vC(t,a,s){var c=a.pendingProps;switch(ip(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,c=null,t!==null&&(c=t.memoizedState.cache),a.memoizedState.cache!==c&&(a.flags|=2048),yi(an),je(),s.pendingContext&&(s.context=s.pendingContext,s.pendingContext=null),(t===null||t.child===null)&&(Zo(a)?wi(a):t===null||t.memoizedState.isDehydrated&&(a.flags&256)===0||(a.flags|=1024,op())),Ot(a),null;case 26:var p=a.type,g=a.memoizedState;return t===null?(wi(a),g!==null?(Ot(a),db(a,g)):(Ot(a),Yp(a,p,null,c,s))):g?g!==t.memoizedState?(wi(a),Ot(a),db(a,g)):(Ot(a),a.flags&=-16777217):(t=t.memoizedProps,t!==c&&wi(a),Ot(a),Yp(a,p,t,c,s)),null;case 27:if(Ue(a),s=H.current,p=a.type,t!==null&&a.stateNode!=null)t.memoizedProps!==c&&wi(a);else{if(!c){if(a.stateNode===null)throw Error(r(166));return Ot(a),null}t=ce.current,Zo(a)?K1(a):(t=bv(p,c,s),a.stateNode=t,wi(a))}return Ot(a),null;case 5:if(Ue(a),p=a.type,t!==null&&a.stateNode!=null)t.memoizedProps!==c&&wi(a);else{if(!c){if(a.stateNode===null)throw Error(r(166));return Ot(a),null}if(g=ce.current,Zo(a))K1(a);else{var x=Mu(H.current);switch(g){case 1:g=x.createElementNS("http://www.w3.org/2000/svg",p);break;case 2:g=x.createElementNS("http://www.w3.org/1998/Math/MathML",p);break;default:switch(p){case"svg":g=x.createElementNS("http://www.w3.org/2000/svg",p);break;case"math":g=x.createElementNS("http://www.w3.org/1998/Math/MathML",p);break;case"script":g=x.createElement("div"),g.innerHTML="<script><\/script>",g=g.removeChild(g.firstChild);break;case"select":g=typeof c.is=="string"?x.createElement("select",{is:c.is}):x.createElement("select"),c.multiple?g.multiple=!0:c.size&&(g.size=c.size);break;default:g=typeof c.is=="string"?x.createElement(p,{is:c.is}):x.createElement(p)}}g[nn]=a,g[En]=c;e:for(x=a.child;x!==null;){if(x.tag===5||x.tag===6)g.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=g;e:switch(Nn(g,p,c),p){case"button":case"input":case"select":case"textarea":c=!!c.autoFocus;break e;case"img":c=!0;break e;default:c=!1}c&&wi(a)}}return Ot(a),Yp(a,a.type,t===null?null:t.memoizedProps,a.pendingProps,s),null;case 6:if(t&&a.stateNode!=null)t.memoizedProps!==c&&wi(a);else{if(typeof c!="string"&&a.stateNode===null)throw Error(r(166));if(t=H.current,Zo(a)){if(t=a.stateNode,s=a.memoizedProps,c=null,p=jn,p!==null)switch(p.tag){case 27:case 5:c=p.memoizedProps}t[nn]=a,t=!!(t.nodeValue===s||c!==null&&c.suppressHydrationWarning===!0||rv(t.nodeValue,s)),t||Xi(a,!0)}else t=Mu(t).createTextNode(c),t[nn]=a,a.stateNode=t}return Ot(a),null;case 31:if(s=a.memoizedState,t===null||t.memoizedState!==null){if(c=Zo(a),s!==null){if(t===null){if(!c)throw Error(r(318));if(t=a.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(r(557));t[nn]=a}else Xs(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;Ot(a),t=!1}else s=op(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=s),t=!0;if(!t)return a.flags&256?(na(a),a):(na(a),null);if((a.flags&128)!==0)throw Error(r(558))}return Ot(a),null;case 13:if(c=a.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(p=Zo(a),c!==null&&c.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[nn]=a}else Xs(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;Ot(a),p=!1}else p=op(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=p),p=!0;if(!p)return a.flags&256?(na(a),a):(na(a),null)}return na(a),(a.flags&128)!==0?(a.lanes=s,a):(s=c!==null,t=t!==null&&t.memoizedState!==null,s&&(c=a.child,p=null,c.alternate!==null&&c.alternate.memoizedState!==null&&c.alternate.memoizedState.cachePool!==null&&(p=c.alternate.memoizedState.cachePool.pool),g=null,c.memoizedState!==null&&c.memoizedState.cachePool!==null&&(g=c.memoizedState.cachePool.pool),g!==p&&(c.flags|=2048)),s!==t&&s&&(a.child.flags|=8192),Su(a,a.updateQueue),Ot(a),null);case 4:return je(),t===null&&bh(a.stateNode.containerInfo),Ot(a),null;case 10:return yi(a.type),Ot(a),null;case 19:if(Pe(Wt),c=a.memoizedState,c===null)return Ot(a),null;if(p=(a.flags&128)!==0,g=c.rendering,g===null)if(p)Il(c,!1);else{if(Yt!==0||t!==null&&(t.flags&128)!==0)for(t=a.child;t!==null;){if(g=uu(t),g!==null){for(a.flags|=128,Il(c,!1),t=g.updateQueue,a.updateQueue=t,Su(a,t),a.subtreeFlags=0,t=s,s=a.child;s!==null;)B1(s,t),s=s.sibling;return xe(Wt,Wt.current&1|2),ht&&fi(a,c.treeForkCount),a.child}t=t.sibling}c.tail!==null&&Bt()>_u&&(a.flags|=128,p=!0,Il(c,!1),a.lanes=4194304)}else{if(!p)if(t=uu(g),t!==null){if(a.flags|=128,p=!0,t=t.updateQueue,a.updateQueue=t,Su(a,t),Il(c,!0),c.tail===null&&c.tailMode==="hidden"&&!g.alternate&&!ht)return Ot(a),null}else 2*Bt()-c.renderingStartTime>_u&&s!==536870912&&(a.flags|=128,p=!0,Il(c,!1),a.lanes=4194304);c.isBackwards?(g.sibling=a.child,a.child=g):(t=c.last,t!==null?t.sibling=g:a.child=g,c.last=g)}return c.tail!==null?(t=c.tail,c.rendering=t,c.tail=t.sibling,c.renderingStartTime=Bt(),t.sibling=null,s=Wt.current,xe(Wt,p?s&1|2:s&1),ht&&fi(a,c.treeForkCount),t):(Ot(a),null);case 22:case 23:return na(a),vp(),c=a.memoizedState!==null,t!==null?t.memoizedState!==null!==c&&(a.flags|=8192):c&&(a.flags|=8192),c?(s&536870912)!==0&&(a.flags&128)===0&&(Ot(a),a.subtreeFlags&6&&(a.flags|=8192)):Ot(a),s=a.updateQueue,s!==null&&Su(a,s.retryQueue),s=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(s=t.memoizedState.cachePool.pool),c=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(c=a.memoizedState.cachePool.pool),c!==s&&(a.flags|=2048),t!==null&&Pe(eo),null;case 24:return s=null,t!==null&&(s=t.memoizedState.cache),a.memoizedState.cache!==s&&(a.flags|=2048),yi(an),Ot(a),null;case 25:return null;case 30:return null}throw Error(r(156,a.tag))}function xC(t,a){switch(ip(a),a.tag){case 1:return t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 3:return yi(an),je(),t=a.flags,(t&65536)!==0&&(t&128)===0?(a.flags=t&-65537|128,a):null;case 26:case 27:case 5:return Ue(a),null;case 31:if(a.memoizedState!==null){if(na(a),a.alternate===null)throw Error(r(340));Xs()}return t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 13:if(na(a),t=a.memoizedState,t!==null&&t.dehydrated!==null){if(a.alternate===null)throw Error(r(340));Xs()}return t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 19:return Pe(Wt),null;case 4:return je(),null;case 10:return yi(a.type),null;case 22:case 23:return na(a),vp(),t!==null&&Pe(eo),t=a.flags,t&65536?(a.flags=t&-65537|128,a):null;case 24:return yi(an),null;case 25:return null;default:return null}}function mb(t,a){switch(ip(a),a.tag){case 3:yi(an),je();break;case 26:case 27:case 5:Ue(a);break;case 4:je();break;case 31:a.memoizedState!==null&&na(a);break;case 13:na(a);break;case 19:Pe(Wt);break;case 10:yi(a.type);break;case 22:case 23:na(a),vp(),t!==null&&Pe(eo);break;case 24:yi(an)}}function Ol(t,a){try{var s=a.updateQueue,c=s!==null?s.lastEffect:null;if(c!==null){var p=c.next;s=p;do{if((s.tag&t)===t){c=void 0;var g=s.create,x=s.inst;c=g(),x.destroy=c}s=s.next}while(s!==p)}}catch(j){Ct(a,a.return,j)}}function is(t,a,s){try{var c=a.updateQueue,p=c!==null?c.lastEffect:null;if(p!==null){var g=p.next;c=g;do{if((c.tag&t)===t){var x=c.inst,j=x.destroy;if(j!==void 0){x.destroy=void 0,p=a;var z=s,$=j;try{$()}catch(ee){Ct(p,z,ee)}}}c=c.next}while(c!==g)}}catch(ee){Ct(a,a.return,ee)}}function pb(t){var a=t.updateQueue;if(a!==null){var s=t.stateNode;try{ay(a,s)}catch(c){Ct(t,t.return,c)}}}function hb(t,a,s){s.props=so(t.type,t.memoizedProps),s.state=t.memoizedState;try{s.componentWillUnmount()}catch(c){Ct(t,a,c)}}function ql(t,a){try{var s=t.ref;if(s!==null){switch(t.tag){case 26:case 27:case 5:var c=t.stateNode;break;case 30:c=t.stateNode;break;default:c=t.stateNode}typeof s=="function"?t.refCleanup=s(c):s.current=c}}catch(p){Ct(t,a,p)}}function ei(t,a){var s=t.ref,c=t.refCleanup;if(s!==null)if(typeof c=="function")try{c()}catch(p){Ct(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){Ct(t,a,p)}else s.current=null}function fb(t){var a=t.type,s=t.memoizedProps,c=t.stateNode;try{e:switch(a){case"button":case"input":case"select":case"textarea":s.autoFocus&&c.focus();break e;case"img":s.src?c.src=s.src:s.srcSet&&(c.srcset=s.srcSet)}}catch(p){Ct(t,t.return,p)}}function Xp(t,a,s){try{var c=t.stateNode;UC(c,t.type,s,a),c[En]=a}catch(p){Ct(t,t.return,p)}}function gb(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&ds(t.type)||t.tag===4}function Jp(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||gb(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&&ds(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 Wp(t,a,s){var c=t.tag;if(c===5||c===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=Da));else if(c!==4&&(c===27&&ds(t.type)&&(s=t.stateNode,a=null),t=t.child,t!==null))for(Wp(t,a,s),t=t.sibling;t!==null;)Wp(t,a,s),t=t.sibling}function ju(t,a,s){var c=t.tag;if(c===5||c===6)t=t.stateNode,a?s.insertBefore(t,a):s.appendChild(t);else if(c!==4&&(c===27&&ds(t.type)&&(s=t.stateNode),t=t.child,t!==null))for(ju(t,a,s),t=t.sibling;t!==null;)ju(t,a,s),t=t.sibling}function yb(t){var a=t.stateNode,s=t.memoizedProps;try{for(var c=t.type,p=a.attributes;p.length;)a.removeAttributeNode(p[0]);Nn(a,c,s),a[nn]=t,a[En]=s}catch(g){Ct(t,t.return,g)}}var ki=!1,rn=!1,eh=!1,bb=typeof WeakSet=="function"?WeakSet:Set,gn=null;function wC(t,a){if(t=t.containerInfo,wh=Gu,t=E1(t),Qm(t)){if("selectionStart"in t)var s={start:t.selectionStart,end:t.selectionEnd};else e:{s=(s=t.ownerDocument)&&s.defaultView||window;var c=s.getSelection&&s.getSelection();if(c&&c.rangeCount!==0){s=c.anchorNode;var p=c.anchorOffset,g=c.focusNode;c=c.focusOffset;try{s.nodeType,g.nodeType}catch{s=null;break e}var x=0,j=-1,z=-1,$=0,ee=0,se=t,G=null;t:for(;;){for(var Q;se!==s||p!==0&&se.nodeType!==3||(j=x+p),se!==g||c!==0&&se.nodeType!==3||(z=x+c),se.nodeType===3&&(x+=se.nodeValue.length),(Q=se.firstChild)!==null;)G=se,se=Q;for(;;){if(se===t)break t;if(G===s&&++$===p&&(j=x),G===g&&++ee===c&&(z=x),(Q=se.nextSibling)!==null)break;se=G,G=se.parentNode}se=Q}s=j===-1||z===-1?null:{start:j,end:z}}else s=null}s=s||{start:0,end:0}}else s=null;for(kh={focusedElem:t,selectionRange:s},Gu=!1,gn=a;gn!==null;)if(a=gn,t=a.child,(a.subtreeFlags&1028)!==0&&t!==null)t.return=a,gn=t;else for(;gn!==null;){switch(a=gn,g=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&&g!==null){t=void 0,s=a,p=g.memoizedProps,g=g.memoizedState,c=s.stateNode;try{var Ae=so(s.type,p);t=c.getSnapshotBeforeUpdate(Ae,g),c.__reactInternalSnapshotBeforeUpdate=t}catch(Ke){Ct(s,s.return,Ke)}}break;case 3:if((t&1024)!==0){if(t=a.stateNode.containerInfo,s=t.nodeType,s===9)Ah(t);else if(s===1)switch(t.nodeName){case"HEAD":case"HTML":case"BODY":Ah(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,gn=t;break}gn=a.return}}function vb(t,a,s){var c=s.flags;switch(s.tag){case 0:case 11:case 15:ji(t,s),c&4&&Ol(5,s);break;case 1:if(ji(t,s),c&4)if(t=s.stateNode,a===null)try{t.componentDidMount()}catch(x){Ct(s,s.return,x)}else{var p=so(s.type,a.memoizedProps);a=a.memoizedState;try{t.componentDidUpdate(p,a,t.__reactInternalSnapshotBeforeUpdate)}catch(x){Ct(s,s.return,x)}}c&64&&pb(s),c&512&&ql(s,s.return);break;case 3:if(ji(t,s),c&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{ay(t,a)}catch(x){Ct(s,s.return,x)}}break;case 27:a===null&&c&4&&yb(s);case 26:case 5:ji(t,s),a===null&&c&4&&fb(s),c&512&&ql(s,s.return);break;case 12:ji(t,s);break;case 31:ji(t,s),c&4&&kb(t,s);break;case 13:ji(t,s),c&4&&Sb(t,s),c&64&&(t=s.memoizedState,t!==null&&(t=t.dehydrated,t!==null&&(s=EC.bind(null,s),YC(t,s))));break;case 22:if(c=s.memoizedState!==null||ki,!c){a=a!==null&&a.memoizedState!==null||rn,p=ki;var g=rn;ki=c,(rn=a)&&!g?Ai(t,s,(s.subtreeFlags&8772)!==0):ji(t,s),ki=p,rn=g}break;case 30:break;default:ji(t,s)}}function xb(t){var a=t.alternate;a!==null&&(t.alternate=null,xb(a)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(a=t.stateNode,a!==null&&nl(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 Lt=null,$n=!1;function Si(t,a,s){for(s=s.child;s!==null;)wb(t,a,s),s=s.sibling}function wb(t,a,s){if(jt&&typeof jt.onCommitFiberUnmount=="function")try{jt.onCommitFiberUnmount(hn,s)}catch{}switch(s.tag){case 26:rn||ei(s,a),Si(t,a,s),s.memoizedState?s.memoizedState.count--:s.stateNode&&(s=s.stateNode,s.parentNode.removeChild(s));break;case 27:rn||ei(s,a);var c=Lt,p=$n;ds(s.type)&&(Lt=s.stateNode,$n=!1),Si(t,a,s),Gl(s.stateNode),Lt=c,$n=p;break;case 5:rn||ei(s,a);case 6:if(c=Lt,p=$n,Lt=null,Si(t,a,s),Lt=c,$n=p,Lt!==null)if($n)try{(Lt.nodeType===9?Lt.body:Lt.nodeName==="HTML"?Lt.ownerDocument.body:Lt).removeChild(s.stateNode)}catch(g){Ct(s,a,g)}else try{Lt.removeChild(s.stateNode)}catch(g){Ct(s,a,g)}break;case 18:Lt!==null&&($n?(t=Lt,pv(t.nodeType===9?t.body:t.nodeName==="HTML"?t.ownerDocument.body:t,s.stateNode),gr(t)):pv(Lt,s.stateNode));break;case 4:c=Lt,p=$n,Lt=s.stateNode.containerInfo,$n=!0,Si(t,a,s),Lt=c,$n=p;break;case 0:case 11:case 14:case 15:is(2,s,a),rn||is(4,s,a),Si(t,a,s);break;case 1:rn||(ei(s,a),c=s.stateNode,typeof c.componentWillUnmount=="function"&&hb(s,a,c)),Si(t,a,s);break;case 21:Si(t,a,s);break;case 22:rn=(c=rn)||s.memoizedState!==null,Si(t,a,s),rn=c;break;default:Si(t,a,s)}}function kb(t,a){if(a.memoizedState===null&&(t=a.alternate,t!==null&&(t=t.memoizedState,t!==null))){t=t.dehydrated;try{gr(t)}catch(s){Ct(a,a.return,s)}}}function Sb(t,a){if(a.memoizedState===null&&(t=a.alternate,t!==null&&(t=t.memoizedState,t!==null&&(t=t.dehydrated,t!==null))))try{gr(t)}catch(s){Ct(a,a.return,s)}}function kC(t){switch(t.tag){case 31:case 13:case 19:var a=t.stateNode;return a===null&&(a=t.stateNode=new bb),a;case 22:return t=t.stateNode,a=t._retryCache,a===null&&(a=t._retryCache=new bb),a;default:throw Error(r(435,t.tag))}}function Au(t,a){var s=kC(t);a.forEach(function(c){if(!s.has(c)){s.add(c);var p=RC.bind(null,t,c);c.then(p,p)}})}function Kn(t,a){var s=a.deletions;if(s!==null)for(var c=0;c<s.length;c++){var p=s[c],g=t,x=a,j=x;e:for(;j!==null;){switch(j.tag){case 27:if(ds(j.type)){Lt=j.stateNode,$n=!1;break e}break;case 5:Lt=j.stateNode,$n=!1;break e;case 3:case 4:Lt=j.stateNode.containerInfo,$n=!0;break e}j=j.return}if(Lt===null)throw Error(r(160));wb(g,x,p),Lt=null,$n=!1,g=p.alternate,g!==null&&(g.return=null),p.return=null}if(a.subtreeFlags&13886)for(a=a.child;a!==null;)jb(a,t),a=a.sibling}var Pa=null;function jb(t,a){var s=t.alternate,c=t.flags;switch(t.tag){case 0:case 11:case 14:case 15:Kn(a,t),Gn(t),c&4&&(is(3,t,t.return),Ol(3,t),is(5,t,t.return));break;case 1:Kn(a,t),Gn(t),c&512&&(rn||s===null||ei(s,s.return)),c&64&&ki&&(t=t.updateQueue,t!==null&&(c=t.callbacks,c!==null&&(s=t.shared.hiddenCallbacks,t.shared.hiddenCallbacks=s===null?c:s.concat(c))));break;case 26:var p=Pa;if(Kn(a,t),Gn(t),c&512&&(rn||s===null||ei(s,s.return)),c&4){var g=s!==null?s.memoizedState:null;if(c=t.memoizedState,s===null)if(c===null)if(t.stateNode===null){e:{c=t.type,s=t.memoizedProps,p=p.ownerDocument||p;t:switch(c){case"title":g=p.getElementsByTagName("title")[0],(!g||g[$i]||g[nn]||g.namespaceURI==="http://www.w3.org/2000/svg"||g.hasAttribute("itemprop"))&&(g=p.createElement(c),p.head.insertBefore(g,p.querySelector("head > title"))),Nn(g,c,s),g[nn]=t,Jt(g),c=g;break e;case"link":var x=jv("link","href",p).get(c+(s.href||""));if(x){for(var j=0;j<x.length;j++)if(g=x[j],g.getAttribute("href")===(s.href==null||s.href===""?null:s.href)&&g.getAttribute("rel")===(s.rel==null?null:s.rel)&&g.getAttribute("title")===(s.title==null?null:s.title)&&g.getAttribute("crossorigin")===(s.crossOrigin==null?null:s.crossOrigin)){x.splice(j,1);break t}}g=p.createElement(c),Nn(g,c,s),p.head.appendChild(g);break;case"meta":if(x=jv("meta","content",p).get(c+(s.content||""))){for(j=0;j<x.length;j++)if(g=x[j],g.getAttribute("content")===(s.content==null?null:""+s.content)&&g.getAttribute("name")===(s.name==null?null:s.name)&&g.getAttribute("property")===(s.property==null?null:s.property)&&g.getAttribute("http-equiv")===(s.httpEquiv==null?null:s.httpEquiv)&&g.getAttribute("charset")===(s.charSet==null?null:s.charSet)){x.splice(j,1);break t}}g=p.createElement(c),Nn(g,c,s),p.head.appendChild(g);break;default:throw Error(r(468,c))}g[nn]=t,Jt(g),c=g}t.stateNode=c}else Av(p,t.type,t.stateNode);else t.stateNode=Sv(p,c,t.memoizedProps);else g!==c?(g===null?s.stateNode!==null&&(s=s.stateNode,s.parentNode.removeChild(s)):g.count--,c===null?Av(p,t.type,t.stateNode):Sv(p,c,t.memoizedProps)):c===null&&t.stateNode!==null&&Xp(t,t.memoizedProps,s.memoizedProps)}break;case 27:Kn(a,t),Gn(t),c&512&&(rn||s===null||ei(s,s.return)),s!==null&&c&4&&Xp(t,t.memoizedProps,s.memoizedProps);break;case 5:if(Kn(a,t),Gn(t),c&512&&(rn||s===null||ei(s,s.return)),t.flags&32){p=t.stateNode;try{pa(p,"")}catch(Ae){Ct(t,t.return,Ae)}}c&4&&t.stateNode!=null&&(p=t.memoizedProps,Xp(t,p,s!==null?s.memoizedProps:p)),c&1024&&(eh=!0);break;case 6:if(Kn(a,t),Gn(t),c&4){if(t.stateNode===null)throw Error(r(162));c=t.memoizedProps,s=t.stateNode;try{s.nodeValue=c}catch(Ae){Ct(t,t.return,Ae)}}break;case 3:if(Vu=null,p=Pa,Pa=Bu(a.containerInfo),Kn(a,t),Pa=p,Gn(t),c&4&&s!==null&&s.memoizedState.isDehydrated)try{gr(a.containerInfo)}catch(Ae){Ct(t,t.return,Ae)}eh&&(eh=!1,Ab(t));break;case 4:c=Pa,Pa=Bu(t.stateNode.containerInfo),Kn(a,t),Gn(t),Pa=c;break;case 12:Kn(a,t),Gn(t);break;case 31:Kn(a,t),Gn(t),c&4&&(c=t.updateQueue,c!==null&&(t.updateQueue=null,Au(t,c)));break;case 13:Kn(a,t),Gn(t),t.child.flags&8192&&t.memoizedState!==null!=(s!==null&&s.memoizedState!==null)&&(Nu=Bt()),c&4&&(c=t.updateQueue,c!==null&&(t.updateQueue=null,Au(t,c)));break;case 22:p=t.memoizedState!==null;var z=s!==null&&s.memoizedState!==null,$=ki,ee=rn;if(ki=$||p,rn=ee||z,Kn(a,t),rn=ee,ki=$,Gn(t),c&8192)e:for(a=t.stateNode,a._visibility=p?a._visibility&-2:a._visibility|1,p&&(s===null||z||ki||rn||oo(t)),s=null,a=t;;){if(a.tag===5||a.tag===26){if(s===null){z=s=a;try{if(g=z.stateNode,p)x=g.style,typeof x.setProperty=="function"?x.setProperty("display","none","important"):x.display="none";else{j=z.stateNode;var se=z.memoizedProps.style,G=se!=null&&se.hasOwnProperty("display")?se.display:null;j.style.display=G==null||typeof G=="boolean"?"":(""+G).trim()}}catch(Ae){Ct(z,z.return,Ae)}}}else if(a.tag===6){if(s===null){z=a;try{z.stateNode.nodeValue=p?"":z.memoizedProps}catch(Ae){Ct(z,z.return,Ae)}}}else if(a.tag===18){if(s===null){z=a;try{var Q=z.stateNode;p?hv(Q,!0):hv(z.stateNode,!1)}catch(Ae){Ct(z,z.return,Ae)}}}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}c&4&&(c=t.updateQueue,c!==null&&(s=c.retryQueue,s!==null&&(c.retryQueue=null,Au(t,s))));break;case 19:Kn(a,t),Gn(t),c&4&&(c=t.updateQueue,c!==null&&(t.updateQueue=null,Au(t,c)));break;case 30:break;case 21:break;default:Kn(a,t),Gn(t)}}function Gn(t){var a=t.flags;if(a&2){try{for(var s,c=t.return;c!==null;){if(gb(c)){s=c;break}c=c.return}if(s==null)throw Error(r(160));switch(s.tag){case 27:var p=s.stateNode,g=Jp(t);ju(t,g,p);break;case 5:var x=s.stateNode;s.flags&32&&(pa(x,""),s.flags&=-33);var j=Jp(t);ju(t,j,x);break;case 3:case 4:var z=s.stateNode.containerInfo,$=Jp(t);Wp(t,$,z);break;default:throw Error(r(161))}}catch(ee){Ct(t,t.return,ee)}t.flags&=-3}a&4096&&(t.flags&=-4097)}function Ab(t){if(t.subtreeFlags&1024)for(t=t.child;t!==null;){var a=t;Ab(a),a.tag===5&&a.flags&1024&&a.stateNode.reset(),t=t.sibling}}function ji(t,a){if(a.subtreeFlags&8772)for(a=a.child;a!==null;)vb(t,a.alternate,a),a=a.sibling}function oo(t){for(t=t.child;t!==null;){var a=t;switch(a.tag){case 0:case 11:case 14:case 15:is(4,a,a.return),oo(a);break;case 1:ei(a,a.return);var s=a.stateNode;typeof s.componentWillUnmount=="function"&&hb(a,a.return,s),oo(a);break;case 27:Gl(a.stateNode);case 26:case 5:ei(a,a.return),oo(a);break;case 22:a.memoizedState===null&&oo(a);break;case 30:oo(a);break;default:oo(a)}t=t.sibling}}function Ai(t,a,s){for(s=s&&(a.subtreeFlags&8772)!==0,a=a.child;a!==null;){var c=a.alternate,p=t,g=a,x=g.flags;switch(g.tag){case 0:case 11:case 15:Ai(p,g,s),Ol(4,g);break;case 1:if(Ai(p,g,s),c=g,p=c.stateNode,typeof p.componentDidMount=="function")try{p.componentDidMount()}catch($){Ct(c,c.return,$)}if(c=g,p=c.updateQueue,p!==null){var j=c.stateNode;try{var z=p.shared.hiddenCallbacks;if(z!==null)for(p.shared.hiddenCallbacks=null,p=0;p<z.length;p++)ny(z[p],j)}catch($){Ct(c,c.return,$)}}s&&x&64&&pb(g),ql(g,g.return);break;case 27:yb(g);case 26:case 5:Ai(p,g,s),s&&c===null&&x&4&&fb(g),ql(g,g.return);break;case 12:Ai(p,g,s);break;case 31:Ai(p,g,s),s&&x&4&&kb(p,g);break;case 13:Ai(p,g,s),s&&x&4&&Sb(p,g);break;case 22:g.memoizedState===null&&Ai(p,g,s),ql(g,g.return);break;case 30:break;default:Ai(p,g,s)}a=a.sibling}}function th(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&&kl(s))}function nh(t,a){t=null,a.alternate!==null&&(t=a.alternate.memoizedState.cache),a=a.memoizedState.cache,a!==t&&(a.refCount++,t!=null&&kl(t))}function Ma(t,a,s,c){if(a.subtreeFlags&10256)for(a=a.child;a!==null;)Cb(t,a,s,c),a=a.sibling}function Cb(t,a,s,c){var p=a.flags;switch(a.tag){case 0:case 11:case 15:Ma(t,a,s,c),p&2048&&Ol(9,a);break;case 1:Ma(t,a,s,c);break;case 3:Ma(t,a,s,c),p&2048&&(t=null,a.alternate!==null&&(t=a.alternate.memoizedState.cache),a=a.memoizedState.cache,a!==t&&(a.refCount++,t!=null&&kl(t)));break;case 12:if(p&2048){Ma(t,a,s,c),t=a.stateNode;try{var g=a.memoizedProps,x=g.id,j=g.onPostCommit;typeof j=="function"&&j(x,a.alternate===null?"mount":"update",t.passiveEffectDuration,-0)}catch(z){Ct(a,a.return,z)}}else Ma(t,a,s,c);break;case 31:Ma(t,a,s,c);break;case 13:Ma(t,a,s,c);break;case 23:break;case 22:g=a.stateNode,x=a.alternate,a.memoizedState!==null?g._visibility&2?Ma(t,a,s,c):Pl(t,a):g._visibility&2?Ma(t,a,s,c):(g._visibility|=2,sr(t,a,s,c,(a.subtreeFlags&10256)!==0||!1)),p&2048&&th(x,a);break;case 24:Ma(t,a,s,c),p&2048&&nh(a.alternate,a);break;default:Ma(t,a,s,c)}}function sr(t,a,s,c,p){for(p=p&&((a.subtreeFlags&10256)!==0||!1),a=a.child;a!==null;){var g=t,x=a,j=s,z=c,$=x.flags;switch(x.tag){case 0:case 11:case 15:sr(g,x,j,z,p),Ol(8,x);break;case 23:break;case 22:var ee=x.stateNode;x.memoizedState!==null?ee._visibility&2?sr(g,x,j,z,p):Pl(g,x):(ee._visibility|=2,sr(g,x,j,z,p)),p&&$&2048&&th(x.alternate,x);break;case 24:sr(g,x,j,z,p),p&&$&2048&&nh(x.alternate,x);break;default:sr(g,x,j,z,p)}a=a.sibling}}function Pl(t,a){if(a.subtreeFlags&10256)for(a=a.child;a!==null;){var s=t,c=a,p=c.flags;switch(c.tag){case 22:Pl(s,c),p&2048&&th(c.alternate,c);break;case 24:Pl(s,c),p&2048&&nh(c.alternate,c);break;default:Pl(s,c)}a=a.sibling}}var Ml=8192;function or(t,a,s){if(t.subtreeFlags&Ml)for(t=t.child;t!==null;)Nb(t,a,s),t=t.sibling}function Nb(t,a,s){switch(t.tag){case 26:or(t,a,s),t.flags&Ml&&t.memoizedState!==null&&lN(s,Pa,t.memoizedState,t.memoizedProps);break;case 5:or(t,a,s);break;case 3:case 4:var c=Pa;Pa=Bu(t.stateNode.containerInfo),or(t,a,s),Pa=c;break;case 22:t.memoizedState===null&&(c=t.alternate,c!==null&&c.memoizedState!==null?(c=Ml,Ml=16777216,or(t,a,s),Ml=c):or(t,a,s));break;default:or(t,a,s)}}function _b(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 Bl(t){var a=t.deletions;if((t.flags&16)!==0){if(a!==null)for(var s=0;s<a.length;s++){var c=a[s];gn=c,Eb(c,t)}_b(t)}if(t.subtreeFlags&10256)for(t=t.child;t!==null;)Tb(t),t=t.sibling}function Tb(t){switch(t.tag){case 0:case 11:case 15:Bl(t),t.flags&2048&&is(9,t,t.return);break;case 3:Bl(t);break;case 12:Bl(t);break;case 22:var a=t.stateNode;t.memoizedState!==null&&a._visibility&2&&(t.return===null||t.return.tag!==13)?(a._visibility&=-3,Cu(t)):Bl(t);break;default:Bl(t)}}function Cu(t){var a=t.deletions;if((t.flags&16)!==0){if(a!==null)for(var s=0;s<a.length;s++){var c=a[s];gn=c,Eb(c,t)}_b(t)}for(t=t.child;t!==null;){switch(a=t,a.tag){case 0:case 11:case 15:is(8,a,a.return),Cu(a);break;case 22:s=a.stateNode,s._visibility&2&&(s._visibility&=-3,Cu(a));break;default:Cu(a)}t=t.sibling}}function Eb(t,a){for(;gn!==null;){var s=gn;switch(s.tag){case 0:case 11:case 15:is(8,s,a);break;case 23:case 22:if(s.memoizedState!==null&&s.memoizedState.cachePool!==null){var c=s.memoizedState.cachePool.pool;c!=null&&c.refCount++}break;case 24:kl(s.memoizedState.cache)}if(c=s.child,c!==null)c.return=s,gn=c;else e:for(s=t;gn!==null;){c=gn;var p=c.sibling,g=c.return;if(xb(c),c===s){gn=null;break e}if(p!==null){p.return=g,gn=p;break e}gn=g}}}var SC={getCacheForType:function(t){var a=An(an),s=a.data.get(t);return s===void 0&&(s=t(),a.data.set(t,s)),s},cacheSignal:function(){return An(an).controller.signal}},jC=typeof WeakMap=="function"?WeakMap:Map,xt=0,Rt=null,rt=null,ut=0,At=0,aa=null,ss=!1,rr=!1,ah=!1,Ci=0,Yt=0,os=0,ro=0,ih=0,ia=0,lr=0,Ll=null,Hn=null,sh=!1,Nu=0,Rb=0,_u=1/0,Tu=null,rs=null,cn=0,ls=null,cr=null,Ni=0,oh=0,rh=null,zb=null,Vl=0,lh=null;function sa(){return(xt&2)!==0&&ut!==0?ut&-ut:q.T!==null?hh():Do()}function Db(){if(ia===0)if((ut&536870912)===0||ht){var t=Ze;Ze<<=1,(Ze&3932160)===0&&(Ze=262144),ia=t}else ia=536870912;return t=ta.current,t!==null&&(t.flags|=32),ia}function Qn(t,a,s){(t===Rt&&(At===2||At===9)||t.cancelPendingCommit!==null)&&(ur(t,0),cs(t,ut,ia,!1)),Bs(t,s),((xt&2)===0||t!==Rt)&&(t===Rt&&((xt&2)===0&&(ro|=s),Yt===4&&cs(t,ut,ia,!1)),ti(t))}function Ib(t,a,s){if((xt&6)!==0)throw Error(r(327));var c=!s&&(a&127)===0&&(a&t.expiredLanes)===0||Xt(t,a),p=c?NC(t,a):uh(t,a,!0),g=c;do{if(p===0){rr&&!c&&cs(t,a,0,!1);break}else{if(s=t.current.alternate,g&&!AC(s)){p=uh(t,a,!1),g=!1;continue}if(p===2){if(g=a,t.errorRecoveryDisabledLanes&g)var x=0;else x=t.pendingLanes&-536870913,x=x!==0?x:x&536870912?536870912:0;if(x!==0){a=x;e:{var j=t;p=Ll;var z=j.current.memoizedState.isDehydrated;if(z&&(ur(j,x).flags|=256),x=uh(j,x,!1),x!==2){if(ah&&!z){j.errorRecoveryDisabledLanes|=g,ro|=g,p=4;break e}g=Hn,Hn=p,g!==null&&(Hn===null?Hn=g:Hn.push.apply(Hn,g))}p=x}if(g=!1,p!==2)continue}}if(p===1){ur(t,0),cs(t,a,0,!0);break}e:{switch(c=t,g=p,g){case 0:case 1:throw Error(r(345));case 4:if((a&4194048)!==a)break;case 6:cs(c,a,ia,!ss);break e;case 2:Hn=null;break;case 3:case 5:break;default:throw Error(r(329))}if((a&62914560)===a&&(p=Nu+300-Bt(),10<p)){if(cs(c,a,ia,!ss),We(c,0,!0)!==0)break e;Ni=a,c.timeoutHandle=dv(Ob.bind(null,c,s,Hn,Tu,sh,a,ia,ro,lr,ss,g,"Throttled",-0,0),p);break e}Ob(c,s,Hn,Tu,sh,a,ia,ro,lr,ss,g,null,-0,0)}}break}while(!0);ti(t)}function Ob(t,a,s,c,p,g,x,j,z,$,ee,se,G,Q){if(t.timeoutHandle=-1,se=a.subtreeFlags,se&8192||(se&16785408)===16785408){se={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:Da},Nb(a,g,se);var Ae=(g&62914560)===g?Nu-Bt():(g&4194048)===g?Rb-Bt():0;if(Ae=cN(se,Ae),Ae!==null){Ni=g,t.cancelPendingCommit=Ae($b.bind(null,t,a,g,s,c,p,x,j,z,ee,se,null,G,Q)),cs(t,g,x,!$);return}}$b(t,a,g,s,c,p,x,j,z)}function AC(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 c=0;c<s.length;c++){var p=s[c],g=p.getSnapshot;p=p.value;try{if(!Wn(g(),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 cs(t,a,s,c){a&=~ih,a&=~ro,t.suspendedLanes|=a,t.pingedLanes&=~a,c&&(t.warmLanes|=a),c=t.expirationTimes;for(var p=a;0<p;){var g=31-wn(p),x=1<<g;c[g]=-1,p&=~x}s!==0&&Xr(t,s,a)}function Eu(){return(xt&6)===0?(Ul(0),!1):!0}function ch(){if(rt!==null){if(At===0)var t=rt.return;else t=rt,gi=Js=null,Ap(t),er=null,jl=0,t=rt;for(;t!==null;)mb(t.alternate,t),t=t.return;rt=null}}function ur(t,a){var s=t.timeoutHandle;s!==-1&&(t.timeoutHandle=-1,GC(s)),s=t.cancelPendingCommit,s!==null&&(t.cancelPendingCommit=null,s()),Ni=0,ch(),Rt=t,rt=s=hi(t.current,null),ut=a,At=0,aa=null,ss=!1,rr=Xt(t,a),ah=!1,lr=ia=ih=ro=os=Yt=0,Hn=Ll=null,sh=!1,(a&8)!==0&&(a|=a&32);var c=t.entangledLanes;if(c!==0)for(t=t.entanglements,c&=a;0<c;){var p=31-wn(c),g=1<<p;a|=t[p],c&=~g}return Ci=a,Xc(),s}function qb(t,a){Xe=null,q.H=zl,a===Wo||a===su?(a=J1(),At=3):a===pp?(a=J1(),At=4):At=a===Vp?8:a!==null&&typeof a=="object"&&typeof a.then=="function"?6:1,aa=a,rt===null&&(Yt=1,vu(t,ya(a,t.current)))}function Pb(){var t=ta.current;return t===null?!0:(ut&4194048)===ut?wa===null:(ut&62914560)===ut||(ut&536870912)!==0?t===wa:!1}function Mb(){var t=q.H;return q.H=zl,t===null?zl:t}function Bb(){var t=q.A;return q.A=SC,t}function Ru(){Yt=4,ss||(ut&4194048)!==ut&&ta.current!==null||(rr=!0),(os&134217727)===0&&(ro&134217727)===0||Rt===null||cs(Rt,ut,ia,!1)}function uh(t,a,s){var c=xt;xt|=2;var p=Mb(),g=Bb();(Rt!==t||ut!==a)&&(Tu=null,ur(t,a)),a=!1;var x=Yt;e:do try{if(At!==0&&rt!==null){var j=rt,z=aa;switch(At){case 8:ch(),x=6;break e;case 3:case 2:case 9:case 6:ta.current===null&&(a=!0);var $=At;if(At=0,aa=null,dr(t,j,z,$),s&&rr){x=0;break e}break;default:$=At,At=0,aa=null,dr(t,j,z,$)}}CC(),x=Yt;break}catch(ee){qb(t,ee)}while(!0);return a&&t.shellSuspendCounter++,gi=Js=null,xt=c,q.H=p,q.A=g,rt===null&&(Rt=null,ut=0,Xc()),x}function CC(){for(;rt!==null;)Lb(rt)}function NC(t,a){var s=xt;xt|=2;var c=Mb(),p=Bb();Rt!==t||ut!==a?(Tu=null,_u=Bt()+500,ur(t,a)):rr=Xt(t,a);e:do try{if(At!==0&&rt!==null){a=rt;var g=aa;t:switch(At){case 1:At=0,aa=null,dr(t,a,g,1);break;case 2:case 9:if(Y1(g)){At=0,aa=null,Vb(a);break}a=function(){At!==2&&At!==9||Rt!==t||(At=7),ti(t)},g.then(a,a);break e;case 3:At=7;break e;case 4:At=5;break e;case 7:Y1(g)?(At=0,aa=null,Vb(a)):(At=0,aa=null,dr(t,a,g,7));break;case 5:var x=null;switch(rt.tag){case 26:x=rt.memoizedState;case 5:case 27:var j=rt;if(x?Cv(x):j.stateNode.complete){At=0,aa=null;var z=j.sibling;if(z!==null)rt=z;else{var $=j.return;$!==null?(rt=$,zu($)):rt=null}break t}}At=0,aa=null,dr(t,a,g,5);break;case 6:At=0,aa=null,dr(t,a,g,6);break;case 8:ch(),Yt=6;break e;default:throw Error(r(462))}}_C();break}catch(ee){qb(t,ee)}while(!0);return gi=Js=null,q.H=c,q.A=p,xt=s,rt!==null?0:(Rt=null,ut=0,Xc(),Yt)}function _C(){for(;rt!==null&&!Gt();)Lb(rt)}function Lb(t){var a=ub(t.alternate,t,Ci);t.memoizedProps=t.pendingProps,a===null?zu(t):rt=a}function Vb(t){var a=t,s=a.alternate;switch(a.tag){case 15:case 0:a=ib(s,a,a.pendingProps,a.type,void 0,ut);break;case 11:a=ib(s,a,a.pendingProps,a.type.render,a.ref,ut);break;case 5:Ap(a);default:mb(s,a),a=rt=B1(a,Ci),a=ub(s,a,Ci)}t.memoizedProps=t.pendingProps,a===null?zu(t):rt=a}function dr(t,a,s,c){gi=Js=null,Ap(a),er=null,jl=0;var p=a.return;try{if(gC(t,p,a,s,ut)){Yt=1,vu(t,ya(s,t.current)),rt=null;return}}catch(g){if(p!==null)throw rt=p,g;Yt=1,vu(t,ya(s,t.current)),rt=null;return}a.flags&32768?(ht||c===1?t=!0:rr||(ut&536870912)!==0?t=!1:(ss=t=!0,(c===2||c===9||c===3||c===6)&&(c=ta.current,c!==null&&c.tag===13&&(c.flags|=16384))),Ub(a,t)):zu(a)}function zu(t){var a=t;do{if((a.flags&32768)!==0){Ub(a,ss);return}t=a.return;var s=vC(a.alternate,a,Ci);if(s!==null){rt=s;return}if(a=a.sibling,a!==null){rt=a;return}rt=a=t}while(a!==null);Yt===0&&(Yt=5)}function Ub(t,a){do{var s=xC(t.alternate,t);if(s!==null){s.flags&=32767,rt=s;return}if(s=t.return,s!==null&&(s.flags|=32768,s.subtreeFlags=0,s.deletions=null),!a&&(t=t.sibling,t!==null)){rt=t;return}rt=t=s}while(t!==null);Yt=6,rt=null}function $b(t,a,s,c,p,g,x,j,z){t.cancelPendingCommit=null;do Du();while(cn!==0);if((xt&6)!==0)throw Error(r(327));if(a!==null){if(a===t.current)throw Error(r(177));if(g=a.lanes|a.childLanes,g|=Jm,$c(t,s,g,x,j,z),t===Rt&&(rt=Rt=null,ut=0),cr=a,ls=t,Ni=s,oh=g,rh=p,zb=c,(a.subtreeFlags&10256)!==0||(a.flags&10256)!==0?(t.callbackNode=null,t.callbackPriority=0,zC(li,function(){return Fb(),null})):(t.callbackNode=null,t.callbackPriority=0),c=(a.flags&13878)!==0,(a.subtreeFlags&13878)!==0||c){c=q.T,q.T=null,p=X.p,X.p=2,x=xt,xt|=4;try{wC(t,a,s)}finally{xt=x,X.p=p,q.T=c}}cn=1,Kb(),Gb(),Hb()}}function Kb(){if(cn===1){cn=0;var t=ls,a=cr,s=(a.flags&13878)!==0;if((a.subtreeFlags&13878)!==0||s){s=q.T,q.T=null;var c=X.p;X.p=2;var p=xt;xt|=4;try{jb(a,t);var g=kh,x=E1(t.containerInfo),j=g.focusedElem,z=g.selectionRange;if(x!==j&&j&&j.ownerDocument&&T1(j.ownerDocument.documentElement,j)){if(z!==null&&Qm(j)){var $=z.start,ee=z.end;if(ee===void 0&&(ee=$),"selectionStart"in j)j.selectionStart=$,j.selectionEnd=Math.min(ee,j.value.length);else{var se=j.ownerDocument||document,G=se&&se.defaultView||window;if(G.getSelection){var Q=G.getSelection(),Ae=j.textContent.length,Ke=Math.min(z.start,Ae),Et=z.end===void 0?Ke:Math.min(z.end,Ae);!Q.extend&&Ke>Et&&(x=Et,Et=Ke,Ke=x);var B=_1(j,Ke),O=_1(j,Et);if(B&&O&&(Q.rangeCount!==1||Q.anchorNode!==B.node||Q.anchorOffset!==B.offset||Q.focusNode!==O.node||Q.focusOffset!==O.offset)){var U=se.createRange();U.setStart(B.node,B.offset),Q.removeAllRanges(),Ke>Et?(Q.addRange(U),Q.extend(O.node,O.offset)):(U.setEnd(O.node,O.offset),Q.addRange(U))}}}}for(se=[],Q=j;Q=Q.parentNode;)Q.nodeType===1&&se.push({element:Q,left:Q.scrollLeft,top:Q.scrollTop});for(typeof j.focus=="function"&&j.focus(),j=0;j<se.length;j++){var ie=se[j];ie.element.scrollLeft=ie.left,ie.element.scrollTop=ie.top}}Gu=!!wh,kh=wh=null}finally{xt=p,X.p=c,q.T=s}}t.current=a,cn=2}}function Gb(){if(cn===2){cn=0;var t=ls,a=cr,s=(a.flags&8772)!==0;if((a.subtreeFlags&8772)!==0||s){s=q.T,q.T=null;var c=X.p;X.p=2;var p=xt;xt|=4;try{vb(t,a.alternate,a)}finally{xt=p,X.p=c,q.T=s}}cn=3}}function Hb(){if(cn===4||cn===3){cn=0,Tn();var t=ls,a=cr,s=Ni,c=zb;(a.subtreeFlags&10256)!==0||(a.flags&10256)!==0?cn=5:(cn=0,cr=ls=null,Qb(t,t.pendingLanes));var p=t.pendingLanes;if(p===0&&(rs=null),tl(s),a=a.stateNode,jt&&typeof jt.onCommitFiberRoot=="function")try{jt.onCommitFiberRoot(hn,a,void 0,(a.current.flags&128)===128)}catch{}if(c!==null){a=q.T,p=X.p,X.p=2,q.T=null;try{for(var g=t.onRecoverableError,x=0;x<c.length;x++){var j=c[x];g(j.value,{componentStack:j.stack})}}finally{q.T=a,X.p=p}}(Ni&3)!==0&&Du(),ti(t),p=t.pendingLanes,(s&261930)!==0&&(p&42)!==0?t===lh?Vl++:(Vl=0,lh=t):Vl=0,Ul(0)}}function Qb(t,a){(t.pooledCacheLanes&=a)===0&&(a=t.pooledCache,a!=null&&(t.pooledCache=null,kl(a)))}function Du(){return Kb(),Gb(),Hb(),Fb()}function Fb(){if(cn!==5)return!1;var t=ls,a=oh;oh=0;var s=tl(Ni),c=q.T,p=X.p;try{X.p=32>s?32:s,q.T=null,s=rh,rh=null;var g=ls,x=Ni;if(cn=0,cr=ls=null,Ni=0,(xt&6)!==0)throw Error(r(331));var j=xt;if(xt|=4,Tb(g.current),Cb(g,g.current,x,s),xt=j,Ul(0,!1),jt&&typeof jt.onPostCommitFiberRoot=="function")try{jt.onPostCommitFiberRoot(hn,g)}catch{}return!0}finally{X.p=p,q.T=c,Qb(t,a)}}function Zb(t,a,s){a=ya(s,a),a=Lp(t.stateNode,a,2),t=ts(t,a,2),t!==null&&(Bs(t,2),ti(t))}function Ct(t,a,s){if(t.tag===3)Zb(t,t,s);else for(;a!==null;){if(a.tag===3){Zb(a,t,s);break}else if(a.tag===1){var c=a.stateNode;if(typeof a.type.getDerivedStateFromError=="function"||typeof c.componentDidCatch=="function"&&(rs===null||!rs.has(c))){t=ya(s,t),s=Yy(2),c=ts(a,s,2),c!==null&&(Xy(s,c,a,t),Bs(c,2),ti(c));break}}a=a.return}}function dh(t,a,s){var c=t.pingCache;if(c===null){c=t.pingCache=new jC;var p=new Set;c.set(a,p)}else p=c.get(a),p===void 0&&(p=new Set,c.set(a,p));p.has(s)||(ah=!0,p.add(s),t=TC.bind(null,t,a,s),a.then(t,t))}function TC(t,a,s){var c=t.pingCache;c!==null&&c.delete(a),t.pingedLanes|=t.suspendedLanes&s,t.warmLanes&=~s,Rt===t&&(ut&s)===s&&(Yt===4||Yt===3&&(ut&62914560)===ut&&300>Bt()-Nu?(xt&2)===0&&ur(t,0):ih|=s,lr===ut&&(lr=0)),ti(t)}function Yb(t,a){a===0&&(a=Ms()),t=Zs(t,a),t!==null&&(Bs(t,a),ti(t))}function EC(t){var a=t.memoizedState,s=0;a!==null&&(s=a.retryLane),Yb(t,s)}function RC(t,a){var s=0;switch(t.tag){case 31:case 13:var c=t.stateNode,p=t.memoizedState;p!==null&&(s=p.retryLane);break;case 19:c=t.stateNode;break;case 22:c=t.stateNode._retryCache;break;default:throw Error(r(314))}c!==null&&c.delete(a),Yb(t,s)}function zC(t,a){return ct(t,a)}var Iu=null,mr=null,mh=!1,Ou=!1,ph=!1,us=0;function ti(t){t!==mr&&t.next===null&&(mr===null?Iu=mr=t:mr=mr.next=t),Ou=!0,mh||(mh=!0,IC())}function Ul(t,a){if(!ph&&Ou){ph=!0;do for(var s=!1,c=Iu;c!==null;){if(t!==0){var p=c.pendingLanes;if(p===0)var g=0;else{var x=c.suspendedLanes,j=c.pingedLanes;g=(1<<31-wn(42|t)+1)-1,g&=p&~(x&~j),g=g&201326741?g&201326741|1:g?g|2:0}g!==0&&(s=!0,ev(c,g))}else g=ut,g=We(c,c===Rt?g:0,c.cancelPendingCommit!==null||c.timeoutHandle!==-1),(g&3)===0||Xt(c,g)||(s=!0,ev(c,g));c=c.next}while(s);ph=!1}}function DC(){Xb()}function Xb(){Ou=mh=!1;var t=0;us!==0&&KC()&&(t=us);for(var a=Bt(),s=null,c=Iu;c!==null;){var p=c.next,g=Jb(c,a);g===0?(c.next=null,s===null?Iu=p:s.next=p,p===null&&(mr=s)):(s=c,(t!==0||(g&3)!==0)&&(Ou=!0)),c=p}cn!==0&&cn!==5||Ul(t),us!==0&&(us=0)}function Jb(t,a){for(var s=t.suspendedLanes,c=t.pingedLanes,p=t.expirationTimes,g=t.pendingLanes&-62914561;0<g;){var x=31-wn(g),j=1<<x,z=p[x];z===-1?((j&s)===0||(j&c)!==0)&&(p[x]=Ga(j,a)):z<=a&&(t.expiredLanes|=j),g&=~j}if(a=Rt,s=ut,s=We(t,t===a?s:0,t.cancelPendingCommit!==null||t.timeoutHandle!==-1),c=t.callbackNode,s===0||t===a&&(At===2||At===9)||t.cancelPendingCommit!==null)return c!==null&&c!==null&&Kt(c),t.callbackNode=null,t.callbackPriority=0;if((s&3)===0||Xt(t,s)){if(a=s&-s,a===t.callbackPriority)return a;switch(c!==null&&Kt(c),tl(s)){case 2:case 8:s=Vn;break;case 32:s=li;break;case 268435456:s=Li;break;default:s=li}return c=Wb.bind(null,t),s=ct(s,c),t.callbackPriority=a,t.callbackNode=s,a}return c!==null&&c!==null&&Kt(c),t.callbackPriority=2,t.callbackNode=null,2}function Wb(t,a){if(cn!==0&&cn!==5)return t.callbackNode=null,t.callbackPriority=0,null;var s=t.callbackNode;if(Du()&&t.callbackNode!==s)return null;var c=ut;return c=We(t,t===Rt?c:0,t.cancelPendingCommit!==null||t.timeoutHandle!==-1),c===0?null:(Ib(t,c,a),Jb(t,Bt()),t.callbackNode!=null&&t.callbackNode===s?Wb.bind(null,t):null)}function ev(t,a){if(Du())return null;Ib(t,a,!0)}function IC(){HC(function(){(xt&6)!==0?ct(Is,DC):Xb()})}function hh(){if(us===0){var t=Xo;t===0&&(t=Ie,Ie<<=1,(Ie&261888)===0&&(Ie=256)),us=t}return us}function tv(t){return t==null||typeof t=="symbol"||typeof t=="boolean"?null:typeof t=="function"?t:Bo(""+t)}function nv(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 OC(t,a,s,c,p){if(a==="submit"&&s&&s.stateNode===p){var g=tv((p[En]||null).action),x=c.submitter;x&&(a=(a=x[En]||null)?tv(a.formAction):x.getAttribute("formAction"),a!==null&&(g=a,x=null));var j=new Ks("action","action",null,c,p);t.push({event:j,listeners:[{instance:null,listener:function(){if(c.defaultPrevented){if(us!==0){var z=x?nv(p,x):new FormData(p);Ip(s,{pending:!0,data:z,method:p.method,action:g},null,z)}}else typeof g=="function"&&(j.preventDefault(),z=x?nv(p,x):new FormData(p),Ip(s,{pending:!0,data:z,method:p.method,action:g},g,z))},currentTarget:p}]})}}for(var fh=0;fh<Xm.length;fh++){var gh=Xm[fh],qC=gh.toLowerCase(),PC=gh[0].toUpperCase()+gh.slice(1);qa(qC,"on"+PC)}qa(D1,"onAnimationEnd"),qa(I1,"onAnimationIteration"),qa(O1,"onAnimationStart"),qa("dblclick","onDoubleClick"),qa("focusin","onFocus"),qa("focusout","onBlur"),qa(W4,"onTransitionRun"),qa(eC,"onTransitionStart"),qa(tC,"onTransitionCancel"),qa(q1,"onTransitionEnd"),Ls("onMouseEnter",["mouseout","mouseover"]),Ls("onMouseLeave",["mouseout","mouseover"]),Ls("onPointerEnter",["pointerout","pointerover"]),Ls("onPointerLeave",["pointerout","pointerover"]),Ha("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),Ha("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),Ha("onBeforeInput",["compositionend","keypress","textInput","paste"]),Ha("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),Ha("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),Ha("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var $l="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(" "),MC=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat($l));function av(t,a){a=(a&4)!==0;for(var s=0;s<t.length;s++){var c=t[s],p=c.event;c=c.listeners;e:{var g=void 0;if(a)for(var x=c.length-1;0<=x;x--){var j=c[x],z=j.instance,$=j.currentTarget;if(j=j.listener,z!==g&&p.isPropagationStopped())break e;g=j,p.currentTarget=$;try{g(p)}catch(ee){Yc(ee)}p.currentTarget=null,g=z}else for(x=0;x<c.length;x++){if(j=c[x],z=j.instance,$=j.currentTarget,j=j.listener,z!==g&&p.isPropagationStopped())break e;g=j,p.currentTarget=$;try{g(p)}catch(ee){Yc(ee)}p.currentTarget=null,g=z}}}}function lt(t,a){var s=a[Io];s===void 0&&(s=a[Io]=new Set);var c=t+"__bubble";s.has(c)||(iv(a,t,2,!1),s.add(c))}function yh(t,a,s){var c=0;a&&(c|=4),iv(s,t,c,a)}var qu="_reactListening"+Math.random().toString(36).slice(2);function bh(t){if(!t[qu]){t[qu]=!0,al.forEach(function(s){s!=="selectionchange"&&(MC.has(s)||yh(s,!1,t),yh(s,!0,t))});var a=t.nodeType===9?t:t.ownerDocument;a===null||a[qu]||(a[qu]=!0,yh("selectionchange",!1,a))}}function iv(t,a,s,c){switch(Dv(a)){case 2:var p=mN;break;case 8:p=pN;break;default:p=Dh}s=p.bind(null,a,s,t),p=void 0,!pl||a!=="touchstart"&&a!=="touchmove"&&a!=="wheel"||(p=!0),c?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 vh(t,a,s,c,p){var g=c;if((a&1)===0&&(a&2)===0&&c!==null)e:for(;;){if(c===null)return;var x=c.tag;if(x===3||x===4){var j=c.stateNode.containerInfo;if(j===p)break;if(x===4)for(x=c.return;x!==null;){var z=x.tag;if((z===3||z===4)&&x.stateNode.containerInfo===p)return;x=x.return}for(;j!==null;){if(x=ci(j),x===null)return;if(z=x.tag,z===5||z===6||z===26||z===27){c=g=x;continue e}j=j.parentNode}}c=c.return}ml(function(){var $=g,ee=ul(s),se=[];e:{var G=P1.get(t);if(G!==void 0){var Q=Ks,Ae=t;switch(t){case"keypress":if(Ia(s)===0)break e;case"keydown":case"keyup":Q=R4;break;case"focusin":Ae="focus",Q=Um;break;case"focusout":Ae="blur",Q=Um;break;case"beforeblur":case"afterblur":Q=Um;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=m1;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":Q=v4;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":Q=I4;break;case D1:case I1:case O1:Q=k4;break;case q1:Q=q4;break;case"scroll":case"scrollend":Q=Hs;break;case"wheel":Q=M4;break;case"copy":case"cut":case"paste":Q=j4;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":Q=h1;break;case"toggle":case"beforetoggle":Q=L4}var Ke=(a&4)!==0,Et=!Ke&&(t==="scroll"||t==="scrollend"),B=Ke?G!==null?G+"Capture":null:G;Ke=[];for(var O=$,U;O!==null;){var ie=O;if(U=ie.stateNode,ie=ie.tag,ie!==5&&ie!==26&&ie!==27||U===null||B===null||(ie=Us(O,B),ie!=null&&Ke.push(Kl(O,ie,U))),Et)break;O=O.return}0<Ke.length&&(G=new Q(G,Ae,null,s,ee),se.push({event:G,listeners:Ke}))}}if((a&7)===0){e:{if(G=t==="mouseover"||t==="pointerover",Q=t==="mouseout"||t==="pointerout",G&&s!==cl&&(Ae=s.relatedTarget||s.fromElement)&&(ci(Ae)||Ae[Ui]))break e;if((Q||G)&&(G=ee.window===ee?ee:(G=ee.ownerDocument)?G.defaultView||G.parentWindow:window,Q?(Ae=s.relatedTarget||s.toElement,Q=$,Ae=Ae?ci(Ae):null,Ae!==null&&(Et=h(Ae),Ke=Ae.tag,Ae!==Et||Ke!==5&&Ke!==27&&Ke!==6)&&(Ae=null)):(Q=null,Ae=$),Q!==Ae)){if(Ke=m1,ie="onMouseLeave",B="onMouseEnter",O="mouse",(t==="pointerout"||t==="pointerover")&&(Ke=h1,ie="onPointerLeave",B="onPointerEnter",O="pointer"),Et=Q==null?G:Gi(Q),U=Ae==null?G:Gi(Ae),G=new Ke(ie,O+"leave",Q,s,ee),G.target=Et,G.relatedTarget=U,ie=null,ci(ee)===$&&(Ke=new Ke(B,O+"enter",Ae,s,ee),Ke.target=U,Ke.relatedTarget=Et,ie=Ke),Et=ie,Q&&Ae)t:{for(Ke=BC,B=Q,O=Ae,U=0,ie=B;ie;ie=Ke(ie))U++;ie=0;for(var Le=O;Le;Le=Ke(Le))ie++;for(;0<U-ie;)B=Ke(B),U--;for(;0<ie-U;)O=Ke(O),ie--;for(;U--;){if(B===O||O!==null&&B===O.alternate){Ke=B;break t}B=Ke(B),O=Ke(O)}Ke=null}else Ke=null;Q!==null&&sv(se,G,Q,Ke,!1),Ae!==null&&Et!==null&&sv(se,Et,Ae,Ke,!0)}}e:{if(G=$?Gi($):window,Q=G.nodeName&&G.nodeName.toLowerCase(),Q==="select"||Q==="input"&&G.type==="file")var bt=k1;else if(x1(G))if(S1)bt=Y4;else{bt=F4;var Te=Q4}else Q=G.nodeName,!Q||Q.toLowerCase()!=="input"||G.type!=="checkbox"&&G.type!=="radio"?$&&za($.elementType)&&(bt=k1):bt=Z4;if(bt&&(bt=bt(t,$))){w1(se,bt,s,ee);break e}Te&&Te(t,G,$),t==="focusout"&&$&&G.type==="number"&&$.memoizedProps.value!=null&&Po(G,"number",G.value)}switch(Te=$?Gi($):window,t){case"focusin":(x1(Te)||Te.contentEditable==="true")&&($o=Te,Fm=$,vl=null);break;case"focusout":vl=Fm=$o=null;break;case"mousedown":Zm=!0;break;case"contextmenu":case"mouseup":case"dragend":Zm=!1,R1(se,s,ee);break;case"selectionchange":if(J4)break;case"keydown":case"keyup":R1(se,s,ee)}var et;if(Km)e:{switch(t){case"compositionstart":var dt="onCompositionStart";break e;case"compositionend":dt="onCompositionEnd";break e;case"compositionupdate":dt="onCompositionUpdate";break e}dt=void 0}else Uo?b1(t,s)&&(dt="onCompositionEnd"):t==="keydown"&&s.keyCode===229&&(dt="onCompositionStart");dt&&(f1&&s.locale!=="ko"&&(Uo||dt!=="onCompositionStart"?dt==="onCompositionEnd"&&Uo&&(et=pi()):(Ya=ee,K="value"in Ya?Ya.value:Ya.textContent,Uo=!0)),Te=Pu($,dt),0<Te.length&&(dt=new p1(dt,t,null,s,ee),se.push({event:dt,listeners:Te}),et?dt.data=et:(et=v1(s),et!==null&&(dt.data=et)))),(et=U4?$4(t,s):K4(t,s))&&(dt=Pu($,"onBeforeInput"),0<dt.length&&(Te=new p1("onBeforeInput","beforeinput",null,s,ee),se.push({event:Te,listeners:dt}),Te.data=et)),OC(se,t,$,s,ee)}av(se,a)})}function Kl(t,a,s){return{instance:t,listener:a,currentTarget:s}}function Pu(t,a){for(var s=a+"Capture",c=[];t!==null;){var p=t,g=p.stateNode;if(p=p.tag,p!==5&&p!==26&&p!==27||g===null||(p=Us(t,s),p!=null&&c.unshift(Kl(t,p,g)),p=Us(t,a),p!=null&&c.push(Kl(t,p,g))),t.tag===3)return c;t=t.return}return[]}function BC(t){if(t===null)return null;do t=t.return;while(t&&t.tag!==5&&t.tag!==27);return t||null}function sv(t,a,s,c,p){for(var g=a._reactName,x=[];s!==null&&s!==c;){var j=s,z=j.alternate,$=j.stateNode;if(j=j.tag,z!==null&&z===c)break;j!==5&&j!==26&&j!==27||$===null||(z=$,p?($=Us(s,g),$!=null&&x.unshift(Kl(s,$,z))):p||($=Us(s,g),$!=null&&x.push(Kl(s,$,z)))),s=s.return}x.length!==0&&t.push({event:a,listeners:x})}var LC=/\r\n?/g,VC=/\u0000|\uFFFD/g;function ov(t){return(typeof t=="string"?t:""+t).replace(LC,`
10
+ `).replace(VC,"")}function rv(t,a){return a=ov(a),ov(t)===a}function Tt(t,a,s,c,p,g){switch(s){case"children":typeof c=="string"?a==="body"||a==="textarea"&&c===""||pa(t,c):(typeof c=="number"||typeof c=="bigint")&&a!=="body"&&pa(t,""+c);break;case"className":Vs(t,"class",c);break;case"tabIndex":Vs(t,"tabindex",c);break;case"dir":case"role":case"viewBox":case"width":case"height":Vs(t,s,c);break;case"style":Za(t,c,g);break;case"data":if(a!=="object"){Vs(t,"data",c);break}case"src":case"href":if(c===""&&(a!=="a"||s!=="href")){t.removeAttribute(s);break}if(c==null||typeof c=="function"||typeof c=="symbol"||typeof c=="boolean"){t.removeAttribute(s);break}c=Bo(""+c),t.setAttribute(s,c);break;case"action":case"formAction":if(typeof c=="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 g=="function"&&(s==="formAction"?(a!=="input"&&Tt(t,a,"name",p.name,p,null),Tt(t,a,"formEncType",p.formEncType,p,null),Tt(t,a,"formMethod",p.formMethod,p,null),Tt(t,a,"formTarget",p.formTarget,p,null)):(Tt(t,a,"encType",p.encType,p,null),Tt(t,a,"method",p.method,p,null),Tt(t,a,"target",p.target,p,null)));if(c==null||typeof c=="symbol"||typeof c=="boolean"){t.removeAttribute(s);break}c=Bo(""+c),t.setAttribute(s,c);break;case"onClick":c!=null&&(t.onclick=Da);break;case"onScroll":c!=null&&lt("scroll",t);break;case"onScrollEnd":c!=null&&lt("scrollend",t);break;case"dangerouslySetInnerHTML":if(c!=null){if(typeof c!="object"||!("__html"in c))throw Error(r(61));if(s=c.__html,s!=null){if(p.children!=null)throw Error(r(60));t.innerHTML=s}}break;case"multiple":t.multiple=c&&typeof c!="function"&&typeof c!="symbol";break;case"muted":t.muted=c&&typeof c!="function"&&typeof c!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(c==null||typeof c=="function"||typeof c=="boolean"||typeof c=="symbol"){t.removeAttribute("xlink:href");break}s=Bo(""+c),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":c!=null&&typeof c!="function"&&typeof c!="symbol"?t.setAttribute(s,""+c):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":c&&typeof c!="function"&&typeof c!="symbol"?t.setAttribute(s,""):t.removeAttribute(s);break;case"capture":case"download":c===!0?t.setAttribute(s,""):c!==!1&&c!=null&&typeof c!="function"&&typeof c!="symbol"?t.setAttribute(s,c):t.removeAttribute(s);break;case"cols":case"rows":case"size":case"span":c!=null&&typeof c!="function"&&typeof c!="symbol"&&!isNaN(c)&&1<=c?t.setAttribute(s,c):t.removeAttribute(s);break;case"rowSpan":case"start":c==null||typeof c=="function"||typeof c=="symbol"||isNaN(c)?t.removeAttribute(s):t.setAttribute(s,c);break;case"popover":lt("beforetoggle",t),lt("toggle",t),ui(t,"popover",c);break;case"xlinkActuate":kn(t,"http://www.w3.org/1999/xlink","xlink:actuate",c);break;case"xlinkArcrole":kn(t,"http://www.w3.org/1999/xlink","xlink:arcrole",c);break;case"xlinkRole":kn(t,"http://www.w3.org/1999/xlink","xlink:role",c);break;case"xlinkShow":kn(t,"http://www.w3.org/1999/xlink","xlink:show",c);break;case"xlinkTitle":kn(t,"http://www.w3.org/1999/xlink","xlink:title",c);break;case"xlinkType":kn(t,"http://www.w3.org/1999/xlink","xlink:type",c);break;case"xmlBase":kn(t,"http://www.w3.org/XML/1998/namespace","xml:base",c);break;case"xmlLang":kn(t,"http://www.w3.org/XML/1998/namespace","xml:lang",c);break;case"xmlSpace":kn(t,"http://www.w3.org/XML/1998/namespace","xml:space",c);break;case"is":ui(t,"is",c);break;case"innerText":case"textContent":break;default:(!(2<s.length)||s[0]!=="o"&&s[0]!=="O"||s[1]!=="n"&&s[1]!=="N")&&(s=Mo.get(s)||s,ui(t,s,c))}}function xh(t,a,s,c,p,g){switch(s){case"style":Za(t,c,g);break;case"dangerouslySetInnerHTML":if(c!=null){if(typeof c!="object"||!("__html"in c))throw Error(r(61));if(s=c.__html,s!=null){if(p.children!=null)throw Error(r(60));t.innerHTML=s}}break;case"children":typeof c=="string"?pa(t,c):(typeof c=="number"||typeof c=="bigint")&&pa(t,""+c);break;case"onScroll":c!=null&&lt("scroll",t);break;case"onScrollEnd":c!=null&&lt("scrollend",t);break;case"onClick":c!=null&&(t.onclick=Da);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!il.hasOwnProperty(s))e:{if(s[0]==="o"&&s[1]==="n"&&(p=s.endsWith("Capture"),a=s.slice(2,p?s.length-7:void 0),g=t[En]||null,g=g!=null?g[s]:null,typeof g=="function"&&t.removeEventListener(a,g,p),typeof c=="function")){typeof g!="function"&&g!==null&&(s in t?t[s]=null:t.hasAttribute(s)&&t.removeAttribute(s)),t.addEventListener(a,c,p);break e}s in t?t[s]=c:c===!0?t.setAttribute(s,""):ui(t,s,c)}}}function Nn(t,a,s){switch(a){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":lt("error",t),lt("load",t);var c=!1,p=!1,g;for(g in s)if(s.hasOwnProperty(g)){var x=s[g];if(x!=null)switch(g){case"src":c=!0;break;case"srcSet":p=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(r(137,a));default:Tt(t,a,g,x,s,null)}}p&&Tt(t,a,"srcSet",s.srcSet,s,null),c&&Tt(t,a,"src",s.src,s,null);return;case"input":lt("invalid",t);var j=g=x=p=null,z=null,$=null;for(c in s)if(s.hasOwnProperty(c)){var ee=s[c];if(ee!=null)switch(c){case"name":p=ee;break;case"type":x=ee;break;case"checked":z=ee;break;case"defaultChecked":$=ee;break;case"value":g=ee;break;case"defaultValue":j=ee;break;case"children":case"dangerouslySetInnerHTML":if(ee!=null)throw Error(r(137,a));break;default:Tt(t,a,c,ee,s,null)}}ll(t,g,j,z,$,x,p,!1);return;case"select":lt("invalid",t),c=x=g=null;for(p in s)if(s.hasOwnProperty(p)&&(j=s[p],j!=null))switch(p){case"value":g=j;break;case"defaultValue":x=j;break;case"multiple":c=j;default:Tt(t,a,p,j,s,null)}a=g,s=x,t.multiple=!!c,a!=null?Un(t,!!c,a,!1):s!=null&&Un(t,!!c,s,!0);return;case"textarea":lt("invalid",t),g=p=c=null;for(x in s)if(s.hasOwnProperty(x)&&(j=s[x],j!=null))switch(x){case"value":c=j;break;case"defaultValue":p=j;break;case"children":g=j;break;case"dangerouslySetInnerHTML":if(j!=null)throw Error(r(91));break;default:Tt(t,a,x,j,s,null)}di(t,c,p,g);return;case"option":for(z in s)s.hasOwnProperty(z)&&(c=s[z],c!=null)&&(z==="selected"?t.selected=c&&typeof c!="function"&&typeof c!="symbol":Tt(t,a,z,c,s,null));return;case"dialog":lt("beforetoggle",t),lt("toggle",t),lt("cancel",t),lt("close",t);break;case"iframe":case"object":lt("load",t);break;case"video":case"audio":for(c=0;c<$l.length;c++)lt($l[c],t);break;case"image":lt("error",t),lt("load",t);break;case"details":lt("toggle",t);break;case"embed":case"source":case"link":lt("error",t),lt("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($ in s)if(s.hasOwnProperty($)&&(c=s[$],c!=null))switch($){case"children":case"dangerouslySetInnerHTML":throw Error(r(137,a));default:Tt(t,a,$,c,s,null)}return;default:if(za(a)){for(ee in s)s.hasOwnProperty(ee)&&(c=s[ee],c!==void 0&&xh(t,a,ee,c,s,void 0));return}}for(j in s)s.hasOwnProperty(j)&&(c=s[j],c!=null&&Tt(t,a,j,c,s,null))}function UC(t,a,s,c){switch(a){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var p=null,g=null,x=null,j=null,z=null,$=null,ee=null;for(Q in s){var se=s[Q];if(s.hasOwnProperty(Q)&&se!=null)switch(Q){case"checked":break;case"value":break;case"defaultValue":z=se;default:c.hasOwnProperty(Q)||Tt(t,a,Q,null,c,se)}}for(var G in c){var Q=c[G];if(se=s[G],c.hasOwnProperty(G)&&(Q!=null||se!=null))switch(G){case"type":g=Q;break;case"name":p=Q;break;case"checked":$=Q;break;case"defaultChecked":ee=Q;break;case"value":x=Q;break;case"defaultValue":j=Q;break;case"children":case"dangerouslySetInnerHTML":if(Q!=null)throw Error(r(137,a));break;default:Q!==se&&Tt(t,a,G,Q,c,se)}}qo(t,x,j,z,$,ee,g,p);return;case"select":Q=x=j=G=null;for(g in s)if(z=s[g],s.hasOwnProperty(g)&&z!=null)switch(g){case"value":break;case"multiple":Q=z;default:c.hasOwnProperty(g)||Tt(t,a,g,null,c,z)}for(p in c)if(g=c[p],z=s[p],c.hasOwnProperty(p)&&(g!=null||z!=null))switch(p){case"value":G=g;break;case"defaultValue":j=g;break;case"multiple":x=g;default:g!==z&&Tt(t,a,p,g,c,z)}a=j,s=x,c=Q,G!=null?Un(t,!!s,G,!1):!!c!=!!s&&(a!=null?Un(t,!!s,a,!0):Un(t,!!s,s?[]:"",!1));return;case"textarea":Q=G=null;for(j in s)if(p=s[j],s.hasOwnProperty(j)&&p!=null&&!c.hasOwnProperty(j))switch(j){case"value":break;case"children":break;default:Tt(t,a,j,null,c,p)}for(x in c)if(p=c[x],g=s[x],c.hasOwnProperty(x)&&(p!=null||g!=null))switch(x){case"value":G=p;break;case"defaultValue":Q=p;break;case"children":break;case"dangerouslySetInnerHTML":if(p!=null)throw Error(r(91));break;default:p!==g&&Tt(t,a,x,p,c,g)}Jn(t,G,Q);return;case"option":for(var Ae in s)G=s[Ae],s.hasOwnProperty(Ae)&&G!=null&&!c.hasOwnProperty(Ae)&&(Ae==="selected"?t.selected=!1:Tt(t,a,Ae,null,c,G));for(z in c)G=c[z],Q=s[z],c.hasOwnProperty(z)&&G!==Q&&(G!=null||Q!=null)&&(z==="selected"?t.selected=G&&typeof G!="function"&&typeof G!="symbol":Tt(t,a,z,G,c,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 Ke in s)G=s[Ke],s.hasOwnProperty(Ke)&&G!=null&&!c.hasOwnProperty(Ke)&&Tt(t,a,Ke,null,c,G);for($ in c)if(G=c[$],Q=s[$],c.hasOwnProperty($)&&G!==Q&&(G!=null||Q!=null))switch($){case"children":case"dangerouslySetInnerHTML":if(G!=null)throw Error(r(137,a));break;default:Tt(t,a,$,G,c,Q)}return;default:if(za(a)){for(var Et in s)G=s[Et],s.hasOwnProperty(Et)&&G!==void 0&&!c.hasOwnProperty(Et)&&xh(t,a,Et,void 0,c,G);for(ee in c)G=c[ee],Q=s[ee],!c.hasOwnProperty(ee)||G===Q||G===void 0&&Q===void 0||xh(t,a,ee,G,c,Q);return}}for(var B in s)G=s[B],s.hasOwnProperty(B)&&G!=null&&!c.hasOwnProperty(B)&&Tt(t,a,B,null,c,G);for(se in c)G=c[se],Q=s[se],!c.hasOwnProperty(se)||G===Q||G==null&&Q==null||Tt(t,a,se,G,c,Q)}function lv(t){switch(t){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function $C(){if(typeof performance.getEntriesByType=="function"){for(var t=0,a=0,s=performance.getEntriesByType("resource"),c=0;c<s.length;c++){var p=s[c],g=p.transferSize,x=p.initiatorType,j=p.duration;if(g&&j&&lv(x)){for(x=0,j=p.responseEnd,c+=1;c<s.length;c++){var z=s[c],$=z.startTime;if($>j)break;var ee=z.transferSize,se=z.initiatorType;ee&&lv(se)&&(z=z.responseEnd,x+=ee*(z<j?1:(j-$)/(z-$)))}if(--c,a+=8*(g+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 wh=null,kh=null;function Mu(t){return t.nodeType===9?t:t.ownerDocument}function cv(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 uv(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 jh=null;function KC(){var t=window.event;return t&&t.type==="popstate"?t===jh?!1:(jh=t,!0):(jh=null,!1)}var dv=typeof setTimeout=="function"?setTimeout:void 0,GC=typeof clearTimeout=="function"?clearTimeout:void 0,mv=typeof Promise=="function"?Promise:void 0,HC=typeof queueMicrotask=="function"?queueMicrotask:typeof mv<"u"?function(t){return mv.resolve(null).then(t).catch(QC)}:dv;function QC(t){setTimeout(function(){throw t})}function ds(t){return t==="head"}function pv(t,a){var s=a,c=0;do{var p=s.nextSibling;if(t.removeChild(s),p&&p.nodeType===8)if(s=p.data,s==="/$"||s==="/&"){if(c===0){t.removeChild(p),gr(a);return}c--}else if(s==="$"||s==="$?"||s==="$~"||s==="$!"||s==="&")c++;else if(s==="html")Gl(t.ownerDocument.documentElement);else if(s==="head"){s=t.ownerDocument.head,Gl(s);for(var g=s.firstChild;g;){var x=g.nextSibling,j=g.nodeName;g[$i]||j==="SCRIPT"||j==="STYLE"||j==="LINK"&&g.rel.toLowerCase()==="stylesheet"||s.removeChild(g),g=x}}else s==="body"&&Gl(t.ownerDocument.body);s=p}while(s);gr(a)}function hv(t,a){var s=t;t=0;do{var c=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||""),c&&c.nodeType===8)if(s=c.data,s==="/$"){if(t===0)break;t--}else s!=="$"&&s!=="$?"&&s!=="$~"&&s!=="$!"||t++;s=c}while(s)}function Ah(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":Ah(s),nl(s);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(s.rel.toLowerCase()==="stylesheet")continue}t.removeChild(s)}}function FC(t,a,s,c){for(;t.nodeType===1;){var p=s;if(t.nodeName.toLowerCase()!==a.toLowerCase()){if(!c&&(t.nodeName!=="INPUT"||t.type!=="hidden"))break}else if(c){if(!t[$i])switch(a){case"meta":if(!t.hasAttribute("itemprop"))break;return t;case"link":if(g=t.getAttribute("rel"),g==="stylesheet"&&t.hasAttribute("data-precedence"))break;if(g!==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(g=t.getAttribute("src"),(g!==(p.src==null?null:p.src)||t.getAttribute("type")!==(p.type==null?null:p.type)||t.getAttribute("crossorigin")!==(p.crossOrigin==null?null:p.crossOrigin))&&g&&t.hasAttribute("async")&&!t.hasAttribute("itemprop"))break;return t;default:return t}}else if(a==="input"&&t.type==="hidden"){var g=p.name==null?null:""+p.name;if(p.type==="hidden"&&t.getAttribute("name")===g)return t}else return t;if(t=ka(t.nextSibling),t===null)break}return null}function ZC(t,a,s){if(a==="")return null;for(;t.nodeType!==3;)if((t.nodeType!==1||t.nodeName!=="INPUT"||t.type!=="hidden")&&!s||(t=ka(t.nextSibling),t===null))return null;return t}function fv(t,a){for(;t.nodeType!==8;)if((t.nodeType!==1||t.nodeName!=="INPUT"||t.type!=="hidden")&&!a||(t=ka(t.nextSibling),t===null))return null;return t}function Ch(t){return t.data==="$?"||t.data==="$~"}function Nh(t){return t.data==="$!"||t.data==="$?"&&t.ownerDocument.readyState!=="loading"}function YC(t,a){var s=t.ownerDocument;if(t.data==="$~")t._reactRetry=a;else if(t.data!=="$?"||s.readyState!=="loading")a();else{var c=function(){a(),s.removeEventListener("DOMContentLoaded",c)};s.addEventListener("DOMContentLoaded",c),t._reactRetry=c}}function ka(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 _h=null;function gv(t){t=t.nextSibling;for(var a=0;t;){if(t.nodeType===8){var s=t.data;if(s==="/$"||s==="/&"){if(a===0)return ka(t.nextSibling);a--}else s!=="$"&&s!=="$!"&&s!=="$?"&&s!=="$~"&&s!=="&"||a++}t=t.nextSibling}return null}function yv(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 bv(t,a,s){switch(a=Mu(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 Gl(t){for(var a=t.attributes;a.length;)t.removeAttributeNode(a[0]);nl(t)}var Sa=new Map,vv=new Set;function Bu(t){return typeof t.getRootNode=="function"?t.getRootNode():t.nodeType===9?t:t.ownerDocument}var _i=X.d;X.d={f:XC,r:JC,D:WC,C:eN,L:tN,m:nN,X:iN,S:aN,M:sN};function XC(){var t=_i.f(),a=Eu();return t||a}function JC(t){var a=Ki(t);a!==null&&a.tag===5&&a.type==="form"?qy(a):_i.r(t)}var pr=typeof document>"u"?null:document;function xv(t,a,s){var c=pr;if(c&&typeof a=="string"&&a){var p=zn(a);p='link[rel="'+t+'"][href="'+p+'"]',typeof s=="string"&&(p+='[crossorigin="'+s+'"]'),vv.has(p)||(vv.add(p),t={rel:t,crossOrigin:s,href:a},c.querySelector(p)===null&&(a=c.createElement("link"),Nn(a,"link",t),Jt(a),c.head.appendChild(a)))}}function WC(t){_i.D(t),xv("dns-prefetch",t,null)}function eN(t,a){_i.C(t,a),xv("preconnect",t,a)}function tN(t,a,s){_i.L(t,a,s);var c=pr;if(c&&t&&a){var p='link[rel="preload"][as="'+zn(a)+'"]';a==="image"&&s&&s.imageSrcSet?(p+='[imagesrcset="'+zn(s.imageSrcSet)+'"]',typeof s.imageSizes=="string"&&(p+='[imagesizes="'+zn(s.imageSizes)+'"]')):p+='[href="'+zn(t)+'"]';var g=p;switch(a){case"style":g=hr(t);break;case"script":g=fr(t)}Sa.has(g)||(t=S({rel:"preload",href:a==="image"&&s&&s.imageSrcSet?void 0:t,as:a},s),Sa.set(g,t),c.querySelector(p)!==null||a==="style"&&c.querySelector(Hl(g))||a==="script"&&c.querySelector(Ql(g))||(a=c.createElement("link"),Nn(a,"link",t),Jt(a),c.head.appendChild(a)))}}function nN(t,a){_i.m(t,a);var s=pr;if(s&&t){var c=a&&typeof a.as=="string"?a.as:"script",p='link[rel="modulepreload"][as="'+zn(c)+'"][href="'+zn(t)+'"]',g=p;switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":g=fr(t)}if(!Sa.has(g)&&(t=S({rel:"modulepreload",href:t},a),Sa.set(g,t),s.querySelector(p)===null)){switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(s.querySelector(Ql(g)))return}c=s.createElement("link"),Nn(c,"link",t),Jt(c),s.head.appendChild(c)}}}function aN(t,a,s){_i.S(t,a,s);var c=pr;if(c&&t){var p=Hi(c).hoistableStyles,g=hr(t);a=a||"default";var x=p.get(g);if(!x){var j={loading:0,preload:null};if(x=c.querySelector(Hl(g)))j.loading=5;else{t=S({rel:"stylesheet",href:t,"data-precedence":a},s),(s=Sa.get(g))&&Th(t,s);var z=x=c.createElement("link");Jt(z),Nn(z,"link",t),z._p=new Promise(function($,ee){z.onload=$,z.onerror=ee}),z.addEventListener("load",function(){j.loading|=1}),z.addEventListener("error",function(){j.loading|=2}),j.loading|=4,Lu(x,a,c)}x={type:"stylesheet",instance:x,count:1,state:j},p.set(g,x)}}}function iN(t,a){_i.X(t,a);var s=pr;if(s&&t){var c=Hi(s).hoistableScripts,p=fr(t),g=c.get(p);g||(g=s.querySelector(Ql(p)),g||(t=S({src:t,async:!0},a),(a=Sa.get(p))&&Eh(t,a),g=s.createElement("script"),Jt(g),Nn(g,"link",t),s.head.appendChild(g)),g={type:"script",instance:g,count:1,state:null},c.set(p,g))}}function sN(t,a){_i.M(t,a);var s=pr;if(s&&t){var c=Hi(s).hoistableScripts,p=fr(t),g=c.get(p);g||(g=s.querySelector(Ql(p)),g||(t=S({src:t,async:!0,type:"module"},a),(a=Sa.get(p))&&Eh(t,a),g=s.createElement("script"),Jt(g),Nn(g,"link",t),s.head.appendChild(g)),g={type:"script",instance:g,count:1,state:null},c.set(p,g))}}function wv(t,a,s,c){var p=(p=H.current)?Bu(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=hr(s.href),s=Hi(p).hoistableStyles,c=s.get(a),c||(c={type:"style",instance:null,count:0,state:null},s.set(a,c)),c):{type:"void",instance:null,count:0,state:null};case"link":if(s.rel==="stylesheet"&&typeof s.href=="string"&&typeof s.precedence=="string"){t=hr(s.href);var g=Hi(p).hoistableStyles,x=g.get(t);if(x||(p=p.ownerDocument||p,x={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},g.set(t,x),(g=p.querySelector(Hl(t)))&&!g._p&&(x.instance=g,x.state.loading=5),Sa.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},Sa.set(t,s),g||oN(p,t,s,x.state))),a&&c===null)throw Error(r(528,""));return x}if(a&&c!==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=fr(s),s=Hi(p).hoistableScripts,c=s.get(a),c||(c={type:"script",instance:null,count:0,state:null},s.set(a,c)),c):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,t))}}function hr(t){return'href="'+zn(t)+'"'}function Hl(t){return'link[rel="stylesheet"]['+t+"]"}function kv(t){return S({},t,{"data-precedence":t.precedence,precedence:null})}function oN(t,a,s,c){t.querySelector('link[rel="preload"][as="style"]['+a+"]")?c.loading=1:(a=t.createElement("link"),c.preload=a,a.addEventListener("load",function(){return c.loading|=1}),a.addEventListener("error",function(){return c.loading|=2}),Nn(a,"link",s),Jt(a),t.head.appendChild(a))}function fr(t){return'[src="'+zn(t)+'"]'}function Ql(t){return"script[async]"+t}function Sv(t,a,s){if(a.count++,a.instance===null)switch(a.type){case"style":var c=t.querySelector('style[data-href~="'+zn(s.href)+'"]');if(c)return a.instance=c,Jt(c),c;var p=S({},s,{"data-href":s.href,"data-precedence":s.precedence,href:null,precedence:null});return c=(t.ownerDocument||t).createElement("style"),Jt(c),Nn(c,"style",p),Lu(c,s.precedence,t),a.instance=c;case"stylesheet":p=hr(s.href);var g=t.querySelector(Hl(p));if(g)return a.state.loading|=4,a.instance=g,Jt(g),g;c=kv(s),(p=Sa.get(p))&&Th(c,p),g=(t.ownerDocument||t).createElement("link"),Jt(g);var x=g;return x._p=new Promise(function(j,z){x.onload=j,x.onerror=z}),Nn(g,"link",c),a.state.loading|=4,Lu(g,s.precedence,t),a.instance=g;case"script":return g=fr(s.src),(p=t.querySelector(Ql(g)))?(a.instance=p,Jt(p),p):(c=s,(p=Sa.get(g))&&(c=S({},s),Eh(c,p)),t=t.ownerDocument||t,p=t.createElement("script"),Jt(p),Nn(p,"link",c),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&&(c=a.instance,a.state.loading|=4,Lu(c,s.precedence,t));return a.instance}function Lu(t,a,s){for(var c=s.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),p=c.length?c[c.length-1]:null,g=p,x=0;x<c.length;x++){var j=c[x];if(j.dataset.precedence===a)g=j;else if(g!==p)break}g?g.parentNode.insertBefore(t,g.nextSibling):(a=s.nodeType===9?s.head:s,a.insertBefore(t,a.firstChild))}function Th(t,a){t.crossOrigin==null&&(t.crossOrigin=a.crossOrigin),t.referrerPolicy==null&&(t.referrerPolicy=a.referrerPolicy),t.title==null&&(t.title=a.title)}function Eh(t,a){t.crossOrigin==null&&(t.crossOrigin=a.crossOrigin),t.referrerPolicy==null&&(t.referrerPolicy=a.referrerPolicy),t.integrity==null&&(t.integrity=a.integrity)}var Vu=null;function jv(t,a,s){if(Vu===null){var c=new Map,p=Vu=new Map;p.set(s,c)}else p=Vu,c=p.get(s),c||(c=new Map,p.set(s,c));if(c.has(t))return c;for(c.set(t,null),s=s.getElementsByTagName(t),p=0;p<s.length;p++){var g=s[p];if(!(g[$i]||g[nn]||t==="link"&&g.getAttribute("rel")==="stylesheet")&&g.namespaceURI!=="http://www.w3.org/2000/svg"){var x=g.getAttribute(a)||"";x=t+x;var j=c.get(x);j?j.push(g):c.set(x,[g])}}return c}function Av(t,a,s){t=t.ownerDocument||t,t.head.insertBefore(s,a==="title"?t.querySelector("head > title"):null)}function rN(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 Cv(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function lN(t,a,s,c){if(s.type==="stylesheet"&&(typeof c.media!="string"||matchMedia(c.media).matches!==!1)&&(s.state.loading&4)===0){if(s.instance===null){var p=hr(c.href),g=a.querySelector(Hl(p));if(g){a=g._p,a!==null&&typeof a=="object"&&typeof a.then=="function"&&(t.count++,t=Uu.bind(t),a.then(t,t)),s.state.loading|=4,s.instance=g,Jt(g);return}g=a.ownerDocument||a,c=kv(c),(p=Sa.get(p))&&Th(c,p),g=g.createElement("link"),Jt(g);var x=g;x._p=new Promise(function(j,z){x.onload=j,x.onerror=z}),Nn(g,"link",c),s.instance=g}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(s,a),(a=s.state.preload)&&(s.state.loading&3)===0&&(t.count++,s=Uu.bind(t),a.addEventListener("load",s),a.addEventListener("error",s))}}var Rh=0;function cN(t,a){return t.stylesheets&&t.count===0&&Ku(t,t.stylesheets),0<t.count||0<t.imgCount?function(s){var c=setTimeout(function(){if(t.stylesheets&&Ku(t,t.stylesheets),t.unsuspend){var g=t.unsuspend;t.unsuspend=null,g()}},6e4+a);0<t.imgBytes&&Rh===0&&(Rh=62500*$C());var p=setTimeout(function(){if(t.waitingForImages=!1,t.count===0&&(t.stylesheets&&Ku(t,t.stylesheets),t.unsuspend)){var g=t.unsuspend;t.unsuspend=null,g()}},(t.imgBytes>Rh?50:800)+a);return t.unsuspend=s,function(){t.unsuspend=null,clearTimeout(c),clearTimeout(p)}}:null}function Uu(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Ku(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var $u=null;function Ku(t,a){t.stylesheets=null,t.unsuspend!==null&&(t.count++,$u=new Map,a.forEach(uN,t),$u=null,Uu.call(t))}function uN(t,a){if(!(a.state.loading&4)){var s=$u.get(t);if(s)var c=s.get(null);else{s=new Map,$u.set(t,s);for(var p=t.querySelectorAll("link[data-precedence],style[data-precedence]"),g=0;g<p.length;g++){var x=p[g];(x.nodeName==="LINK"||x.getAttribute("media")!=="not all")&&(s.set(x.dataset.precedence,x),c=x)}c&&s.set(null,c)}p=a.instance,x=p.getAttribute("data-precedence"),g=s.get(x)||c,g===c&&s.set(null,p),s.set(x,p),this.count++,c=Uu.bind(this),p.addEventListener("load",c),p.addEventListener("error",c),g?g.parentNode.insertBefore(p,g.nextSibling):(t=t.nodeType===9?t.head:t,t.insertBefore(p,t.firstChild)),a.state.loading|=4}}var Fl={$$typeof:L,Provider:null,Consumer:null,_currentValue:be,_currentValue2:be,_threadCount:0};function dN(t,a,s,c,p,g,x,j,z){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=zo(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=zo(0),this.hiddenUpdates=zo(null),this.identifierPrefix=c,this.onUncaughtError=p,this.onCaughtError=g,this.onRecoverableError=x,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=z,this.incompleteTransitions=new Map}function Nv(t,a,s,c,p,g,x,j,z,$,ee,se){return t=new dN(t,a,s,x,z,$,ee,se,j),a=1,g===!0&&(a|=24),g=ea(3,null,null,a),t.current=g,g.stateNode=t,a=up(),a.refCount++,t.pooledCache=a,a.refCount++,g.memoizedState={element:c,isDehydrated:s,cache:a},hp(g),t}function _v(t){return t?(t=Ho,t):Ho}function Tv(t,a,s,c,p,g){p=_v(p),c.context===null?c.context=p:c.pendingContext=p,c=es(a),c.payload={element:s},g=g===void 0?null:g,g!==null&&(c.callback=g),s=ts(t,c,a),s!==null&&(Qn(s,t,a),Cl(s,t,a))}function Ev(t,a){if(t=t.memoizedState,t!==null&&t.dehydrated!==null){var s=t.retryLane;t.retryLane=s!==0&&s<a?s:a}}function zh(t,a){Ev(t,a),(t=t.alternate)&&Ev(t,a)}function Rv(t){if(t.tag===13||t.tag===31){var a=Zs(t,67108864);a!==null&&Qn(a,t,67108864),zh(t,67108864)}}function zv(t){if(t.tag===13||t.tag===31){var a=sa();a=el(a);var s=Zs(t,a);s!==null&&Qn(s,t,a),zh(t,a)}}var Gu=!0;function mN(t,a,s,c){var p=q.T;q.T=null;var g=X.p;try{X.p=2,Dh(t,a,s,c)}finally{X.p=g,q.T=p}}function pN(t,a,s,c){var p=q.T;q.T=null;var g=X.p;try{X.p=8,Dh(t,a,s,c)}finally{X.p=g,q.T=p}}function Dh(t,a,s,c){if(Gu){var p=Ih(c);if(p===null)vh(t,a,c,Hu,s),Iv(t,c);else if(fN(p,t,a,s,c))c.stopPropagation();else if(Iv(t,c),a&4&&-1<hN.indexOf(t)){for(;p!==null;){var g=Ki(p);if(g!==null)switch(g.tag){case 3:if(g=g.stateNode,g.current.memoizedState.isDehydrated){var x=st(g.pendingLanes);if(x!==0){var j=g;for(j.pendingLanes|=2,j.entangledLanes|=2;x;){var z=1<<31-wn(x);j.entanglements[1]|=z,x&=~z}ti(g),(xt&6)===0&&(_u=Bt()+500,Ul(0))}}break;case 31:case 13:j=Zs(g,2),j!==null&&Qn(j,g,2),Eu(),zh(g,2)}if(g=Ih(c),g===null&&vh(t,a,c,Hu,s),g===p)break;p=g}p!==null&&c.stopPropagation()}else vh(t,a,c,null,s)}}function Ih(t){return t=ul(t),Oh(t)}var Hu=null;function Oh(t){if(Hu=null,t=ci(t),t!==null){var a=h(t);if(a===null)t=null;else{var s=a.tag;if(s===13){if(t=f(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 Hu=t,null}function Dv(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(ri()){case Is:return 2;case Vn:return 8;case li:case Os:return 32;case Li:return 268435456;default:return 32}default:return 32}}var qh=!1,ms=null,ps=null,hs=null,Zl=new Map,Yl=new Map,fs=[],hN="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 Iv(t,a){switch(t){case"focusin":case"focusout":ms=null;break;case"dragenter":case"dragleave":ps=null;break;case"mouseover":case"mouseout":hs=null;break;case"pointerover":case"pointerout":Zl.delete(a.pointerId);break;case"gotpointercapture":case"lostpointercapture":Yl.delete(a.pointerId)}}function Xl(t,a,s,c,p,g){return t===null||t.nativeEvent!==g?(t={blockedOn:a,domEventName:s,eventSystemFlags:c,nativeEvent:g,targetContainers:[p]},a!==null&&(a=Ki(a),a!==null&&Rv(a)),t):(t.eventSystemFlags|=c,a=t.targetContainers,p!==null&&a.indexOf(p)===-1&&a.push(p),t)}function fN(t,a,s,c,p){switch(a){case"focusin":return ms=Xl(ms,t,a,s,c,p),!0;case"dragenter":return ps=Xl(ps,t,a,s,c,p),!0;case"mouseover":return hs=Xl(hs,t,a,s,c,p),!0;case"pointerover":var g=p.pointerId;return Zl.set(g,Xl(Zl.get(g)||null,t,a,s,c,p)),!0;case"gotpointercapture":return g=p.pointerId,Yl.set(g,Xl(Yl.get(g)||null,t,a,s,c,p)),!0}return!1}function Ov(t){var a=ci(t.target);if(a!==null){var s=h(a);if(s!==null){if(a=s.tag,a===13){if(a=f(s),a!==null){t.blockedOn=a,Kc(t.priority,function(){zv(s)});return}}else if(a===31){if(a=b(s),a!==null){t.blockedOn=a,Kc(t.priority,function(){zv(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 Qu(t){if(t.blockedOn!==null)return!1;for(var a=t.targetContainers;0<a.length;){var s=Ih(t.nativeEvent);if(s===null){s=t.nativeEvent;var c=new s.constructor(s.type,s);cl=c,s.target.dispatchEvent(c),cl=null}else return a=Ki(s),a!==null&&Rv(a),t.blockedOn=s,!1;a.shift()}return!0}function qv(t,a,s){Qu(t)&&s.delete(a)}function gN(){qh=!1,ms!==null&&Qu(ms)&&(ms=null),ps!==null&&Qu(ps)&&(ps=null),hs!==null&&Qu(hs)&&(hs=null),Zl.forEach(qv),Yl.forEach(qv)}function Fu(t,a){t.blockedOn===a&&(t.blockedOn=null,qh||(qh=!0,e.unstable_scheduleCallback(e.unstable_NormalPriority,gN)))}var Zu=null;function Pv(t){Zu!==t&&(Zu=t,e.unstable_scheduleCallback(e.unstable_NormalPriority,function(){Zu===t&&(Zu=null);for(var a=0;a<t.length;a+=3){var s=t[a],c=t[a+1],p=t[a+2];if(typeof c!="function"){if(Oh(c||s)===null)continue;break}var g=Ki(s);g!==null&&(t.splice(a,3),a-=3,Ip(g,{pending:!0,data:p,method:s.method,action:c},c,p))}}))}function gr(t){function a(z){return Fu(z,t)}ms!==null&&Fu(ms,t),ps!==null&&Fu(ps,t),hs!==null&&Fu(hs,t),Zl.forEach(a),Yl.forEach(a);for(var s=0;s<fs.length;s++){var c=fs[s];c.blockedOn===t&&(c.blockedOn=null)}for(;0<fs.length&&(s=fs[0],s.blockedOn===null);)Ov(s),s.blockedOn===null&&fs.shift();if(s=(t.ownerDocument||t).$$reactFormReplay,s!=null)for(c=0;c<s.length;c+=3){var p=s[c],g=s[c+1],x=p[En]||null;if(typeof g=="function")x||Pv(s);else if(x){var j=null;if(g&&g.hasAttribute("formAction")){if(p=g,x=g[En]||null)j=x.formAction;else if(Oh(p)!==null)continue}else j=x.action;typeof j=="function"?s[c+1]=j:(s.splice(c,3),c-=3),Pv(s)}}}function Mv(){function t(g){g.canIntercept&&g.info==="react-transition"&&g.intercept({handler:function(){return new Promise(function(x){return p=x})},focusReset:"manual",scroll:"manual"})}function a(){p!==null&&(p(),p=null),c||setTimeout(s,20)}function s(){if(!c&&!navigation.transition){var g=navigation.currentEntry;g&&g.url!=null&&navigation.navigate(g.url,{state:g.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var c=!1,p=null;return navigation.addEventListener("navigate",t),navigation.addEventListener("navigatesuccess",a),navigation.addEventListener("navigateerror",a),setTimeout(s,100),function(){c=!0,navigation.removeEventListener("navigate",t),navigation.removeEventListener("navigatesuccess",a),navigation.removeEventListener("navigateerror",a),p!==null&&(p(),p=null)}}}function Ph(t){this._internalRoot=t}Yu.prototype.render=Ph.prototype.render=function(t){var a=this._internalRoot;if(a===null)throw Error(r(409));var s=a.current,c=sa();Tv(s,c,t,a,null,null)},Yu.prototype.unmount=Ph.prototype.unmount=function(){var t=this._internalRoot;if(t!==null){this._internalRoot=null;var a=t.containerInfo;Tv(t.current,2,null,t,null,null),Eu(),a[Ui]=null}};function Yu(t){this._internalRoot=t}Yu.prototype.unstable_scheduleHydration=function(t){if(t){var a=Do();t={blockedOn:null,target:t,priority:a};for(var s=0;s<fs.length&&a!==0&&a<fs[s].priority;s++);fs.splice(s,0,t),s===0&&Ov(t)}};var Bv=n.version;if(Bv!=="19.2.4")throw Error(r(527,Bv,"19.2.4"));X.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 yN={bundleType:0,version:"19.2.4",rendererPackageName:"react-dom",currentDispatcherRef:q,reconcilerVersion:"19.2.4"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Xu=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Xu.isDisabled&&Xu.supportsFiber)try{hn=Xu.inject(yN),jt=Xu}catch{}}return Jl.createRoot=function(t,a){if(!u(t))throw Error(r(299));var s=!1,c="",p=Hy,g=Qy,x=Fy;return a!=null&&(a.unstable_strictMode===!0&&(s=!0),a.identifierPrefix!==void 0&&(c=a.identifierPrefix),a.onUncaughtError!==void 0&&(p=a.onUncaughtError),a.onCaughtError!==void 0&&(g=a.onCaughtError),a.onRecoverableError!==void 0&&(x=a.onRecoverableError)),a=Nv(t,1,!1,null,null,s,c,null,p,g,x,Mv),t[Ui]=a.current,bh(t),new Ph(a)},Jl.hydrateRoot=function(t,a,s){if(!u(t))throw Error(r(299));var c=!1,p="",g=Hy,x=Qy,j=Fy,z=null;return s!=null&&(s.unstable_strictMode===!0&&(c=!0),s.identifierPrefix!==void 0&&(p=s.identifierPrefix),s.onUncaughtError!==void 0&&(g=s.onUncaughtError),s.onCaughtError!==void 0&&(x=s.onCaughtError),s.onRecoverableError!==void 0&&(j=s.onRecoverableError),s.formState!==void 0&&(z=s.formState)),a=Nv(t,1,!0,a,s??null,c,p,z,g,x,j,Mv),a.context=_v(null),s=a.current,c=sa(),c=el(c),p=es(c),p.callback=null,ts(s,p,c),s=c,a.current.lanes=s,Bs(a,s),ti(a),t[Ui]=a.current,bh(t),new Yu(a)},Jl.version="19.2.4",Jl}var $v;function a5(){if($v)return Mh.exports;$v=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(),Mh.exports=n5(),Mh.exports}var i5=a5();const s5={bodySerializer:e=>JSON.stringify(e,(n,i)=>typeof i=="bigint"?i.toString():i)},o5=({onRequest:e,onSseError:n,onSseEvent:i,responseTransformer:r,responseValidator:u,sseDefaultRetryDelay:h,sseMaxRetryAttempts:f,sseMaxRetryDelay:b,sseSleepFn:v,url:w,...k})=>{let S;const T=v??(P=>new Promise(E=>setTimeout(E,P)));return{stream:async function*(){let P=h??3e3,E=0;const V=k.signal??new AbortController().signal;for(;!V.aborted;){E++;const W=k.headers instanceof Headers?k.headers:new Headers(k.headers);S!==void 0&&W.set("Last-Event-ID",S);try{const L={redirect:"follow",...k,body:k.serializedBody,headers:W,signal:V};let F=new Request(w,L);e&&(F=await e(w,L));const ae=await(k.fetch??globalThis.fetch)(F);if(!ae.ok)throw new Error(`SSE failed: ${ae.status} ${ae.statusText}`);if(!ae.body)throw new Error("No body in SSE response");const M=ae.body.pipeThrough(new TextDecoderStream).getReader();let Y="";const ue=()=>{try{M.cancel()}catch{}};V.addEventListener("abort",ue);try{for(;;){const{done:Ye,value:tt}=await M.read();if(Ye)break;Y+=tt;const $e=Y.split(`
11
+
12
+ `);Y=$e.pop()??"";for(const qe of $e){const ke=qe.split(`
13
+ `),Ve=[];let q;for(const Se of ke)if(Se.startsWith("data:"))Ve.push(Se.replace(/^data:\s*/,""));else if(Se.startsWith("event:"))q=Se.replace(/^event:\s*/,"");else if(Se.startsWith("id:"))S=Se.replace(/^id:\s*/,"");else if(Se.startsWith("retry:")){const J=Number.parseInt(Se.replace(/^retry:\s*/,""),10);Number.isNaN(J)||(P=J)}let X,be=!1;if(Ve.length){const Se=Ve.join(`
14
+ `);try{X=JSON.parse(Se),be=!0}catch{X=Se}}be&&(u&&await u(X),r&&(X=await r(X))),i?.({data:X,event:q,id:S,retry:P}),Ve.length&&(yield X)}}}finally{V.removeEventListener("abort",ue),M.releaseLock()}break}catch(L){if(n?.(L),f!==void 0&&E>=f)break;const F=Math.min(P*2**(E-1),b??3e4);await T(F)}}}()}},r5=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},l5=e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},c5=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Vk=({allowReserved:e,explode:n,name:i,style:r,value:u})=>{if(!n){const b=(e?u:u.map(v=>encodeURIComponent(v))).join(l5(r));switch(r){case"label":return`.${b}`;case"matrix":return`;${i}=${b}`;case"simple":return b;default:return`${i}=${b}`}}const h=r5(r),f=u.map(b=>r==="label"||r==="simple"?e?b:encodeURIComponent(b):Wd({allowReserved:e,name:i,value:b})).join(h);return r==="label"||r==="matrix"?h+f:f},Wd=({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)}`},Uk=({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,S])=>{v=[...v,k,e?S:encodeURIComponent(S)]});const w=v.join(",");switch(r){case"form":return`${i}=${w}`;case"label":return`.${w}`;case"matrix":return`;${i}=${w}`;default:return w}}const f=c5(r),b=Object.entries(u).map(([v,w])=>Wd({allowReserved:e,name:r==="deepObject"?`${i}[${v}]`:v,value:w})).join(f);return r==="label"||r==="matrix"?f+b:b},u5=/\{[^{}]+\}/g,d5=({path:e,url:n})=>{let i=n;const r=n.match(u5);if(r)for(const u of r){let h=!1,f=u.substring(1,u.length-1),b="simple";f.endsWith("*")&&(h=!0,f=f.substring(0,f.length-1)),f.startsWith(".")?(f=f.substring(1),b="label"):f.startsWith(";")&&(f=f.substring(1),b="matrix");const v=e[f];if(v==null)continue;if(Array.isArray(v)){i=i.replace(u,Vk({explode:h,name:f,style:b,value:v}));continue}if(typeof v=="object"){i=i.replace(u,Uk({explode:h,name:f,style:b,value:v,valueOnly:!0}));continue}if(b==="matrix"){i=i.replace(u,`;${Wd({name:f,value:v})}`);continue}const w=encodeURIComponent(b==="label"?`.${v}`:v);i=i.replace(u,w)}return i},m5=({baseUrl:e,path:n,query:i,querySerializer:r,url:u})=>{const h=u.startsWith("/")?u:`/${u}`;let f=(e??"")+h;n&&(f=d5({path:n,url:f}));let b=i?r(i):"";return b.startsWith("?")&&(b=b.substring(1)),b&&(f+=`?${b}`),f};function p5(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 h5=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},$k=({allowReserved:e,array:n,object:i}={})=>u=>{const h=[];if(u&&typeof u=="object")for(const f in u){const b=u[f];if(b!=null)if(Array.isArray(b)){const v=Vk({allowReserved:e,explode:!0,name:f,style:"form",value:b,...n});v&&h.push(v)}else if(typeof b=="object"){const v=Uk({allowReserved:e,explode:!0,name:f,style:"deepObject",value:b,...i});v&&h.push(v)}else{const v=Wd({allowReserved:e,name:f,value:b});v&&h.push(v)}}return h.join("&")},f5=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"}},g5=(e,n)=>n?!!(e.headers.has(n)||e.query?.[n]||e.headers.get("Cookie")?.includes(`${n}=`)):!1,y5=async({security:e,...n})=>{for(const i of e){if(g5(n,i.name))continue;const r=await h5(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}}},Kv=e=>m5({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:$k(e.querySerializer),url:e.url}),Gv=(e,n)=>{const i={...e,...n};return i.baseUrl?.endsWith("/")&&(i.baseUrl=i.baseUrl.substring(0,i.baseUrl.length-1)),i.headers=Kk(e.headers,n.headers),i},b5=e=>{const n=[];return e.forEach((i,r)=>{n.push([r,i])}),n},Kk=(...e)=>{const n=new Headers;for(const i of e){if(!i)continue;const r=i instanceof Headers?b5(i):Object.entries(i);for(const[u,h]of r)if(h===null)n.delete(u);else if(Array.isArray(h))for(const f of h)n.append(u,f);else h!==void 0&&n.set(u,typeof h=="object"?JSON.stringify(h):h)}return n};class Vh{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 v5=()=>({error:new Vh,request:new Vh,response:new Vh}),x5=$k({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),w5={"Content-Type":"application/json"},Gk=(e={})=>({...s5,headers:w5,parseAs:"auto",querySerializer:x5,...e}),Hk=(e={})=>{let n=Gv(Gk(),e);const i=()=>({...n}),r=w=>(n=Gv(n,w),i()),u=v5(),h=async w=>{const k={...n,...w,fetch:w.fetch??n.fetch??globalThis.fetch,headers:Kk(n.headers,w.headers),serializedBody:void 0};k.security&&await y5({...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 S=Kv(k);return{opts:k,url:S}},f=async w=>{const{opts:k,url:S}=await h(w),T={redirect:"follow",...k,body:p5(k)};let N=new Request(S,T);for(const Z of u.request.fns)Z&&(N=await Z(N,k));const I=k.fetch;let P=await I(N);for(const Z of u.response.fns)Z&&(P=await Z(P,N,k));const E={request:N,response:P};if(P.ok){const Z=(k.parseAs==="auto"?f5(P.headers.get("Content-Type")):k.parseAs)??"json";if(P.status===204||P.headers.get("Content-Length")==="0"){let M;switch(Z){case"arrayBuffer":case"blob":case"text":M=await P[Z]();break;case"formData":M=new FormData;break;case"stream":M=P.body;break;default:M={};break}return k.responseStyle==="data"?M:{data:M,...E}}let ae;switch(Z){case"arrayBuffer":case"blob":case"formData":case"json":case"text":ae=await P[Z]();break;case"stream":return k.responseStyle==="data"?P.body:{data:P.body,...E}}return Z==="json"&&(k.responseValidator&&await k.responseValidator(ae),k.responseTransformer&&(ae=await k.responseTransformer(ae))),k.responseStyle==="data"?ae:{data:ae,...E}}const V=await P.text();let W;try{W=JSON.parse(V)}catch{}const L=W??V;let F=L;for(const Z of u.error.fns)Z&&(F=await Z(L,P,N,k));if(F=F||{},k.throwOnError)throw F;return k.responseStyle==="data"?void 0:{error:F,...E}},b=w=>k=>f({...k,method:w}),v=w=>async k=>{const{opts:S,url:T}=await h(k);return o5({...S,body:S.body,headers:S.headers,method:w,onRequest:async(N,I)=>{let P=new Request(N,I);for(const E of u.request.fns)E&&(P=await E(P,S));return P},url:T})};return{buildUrl:Kv,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:f,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")}},D=Hk(Gk()),k5=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/sitemaps/submit",...e,headers:{"Content-Type":"application/json",...e.headers}}),S5=e=>(e?.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects",...e}),j5=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects",...e,headers:{"Content-Type":"application/json",...e.headers}}),A5=e=>(e.client??D).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}",...e}),Qk=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}",...e}),C5=e=>(e.client??D).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}",...e,headers:{"Content-Type":"application/json",...e.headers}}),N5=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan",...e}),_5=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-report",...e}),T5=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-setup",...e}),JX=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft",...e}),WX=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/create",...e,headers:{"Content-Type":"application/json",...e.headers}}),eJ=e=>(e.client??D).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}}),tJ=e=>(e.client??D).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}}),nJ=e=>(e.client??D).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}}),aJ=e=>(e.client??D).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}}),iJ=e=>(e.client??D).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}}),sJ=e=>(e.client??D).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}}),oJ=e=>(e.client??D).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}}),rJ=e=>(e.client??D).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}}),lJ=e=>(e.client??D).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}}),cJ=e=>(e.client??D).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}}),uJ=e=>(e.client??D).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}}),dJ=e=>(e.client??D).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}}),mJ=e=>(e.client??D).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}}),pJ=e=>(e.client??D).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}}),E5=e=>(e.client??D).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}}),hJ=e=>(e.client??D).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}}),fJ=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/compile-preview",...e}),gJ=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/diff-preview",...e}),yJ=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/publish",...e,headers:{"Content-Type":"application/json",...e.headers}}),bJ=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-plan/draft/actions/discard",...e}),Fk=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-overview",...e}),R5=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/sentiment/settings",...e}),z5=e=>(e.client??D).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/sentiment/settings",...e,headers:{"Content-Type":"application/json",...e.headers}}),D5=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/sentiment",...e}),I5=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/sentiment/evidence",...e}),O5=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/sentiment/backfill-preview",...e}),q5=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/sentiment/backfills",...e,headers:{"Content-Type":"application/json",...e.headers}}),P5=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/sentiment/jobs",...e}),M5=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/sentiment/jobs/{jobId}",...e}),B5=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/visibility-report",...e}),L5=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-property-evidence",...e}),V5=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-question-result",...e}),U5=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-property-competitors",...e}),$5=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/measurement-query-templates",...e}),K5=e=>(e.client??D).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??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/research/runs",...e}),H5=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/research/batches",...e,headers:{"Content-Type":"application/json",...e.headers}}),Q5=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/query-tracking",...e}),F5=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/query-tracking/preview",...e,headers:{"Content-Type":"application/json",...e.headers}}),Z5=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/query-tracking/commit",...e,headers:{"Content-Type":"application/json",...e.headers}}),Y5=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/research/runs/{runId}",...e}),X5=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/locations",...e,headers:{"Content-Type":"application/json",...e.headers}}),J5=e=>(e.client??D).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/locations/{label}",...e}),W5=e=>(e.client??D).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/locations/default",...e,headers:{"Content-Type":"application/json",...e.headers}}),e6=e=>(e.client??D).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/queries",...e,headers:{"Content-Type":"application/json",...e.headers}}),Zk=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/queries",...e}),t6=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/queries",...e,headers:{"Content-Type":"application/json",...e.headers}}),n6=e=>(e.client??D).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/queries",...e,headers:{"Content-Type":"application/json",...e.headers}}),a6=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/queries/generate",...e,headers:{"Content-Type":"application/json",...e.headers}}),i6=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/competitors",...e,headers:{"Content-Type":"application/json",...e.headers}}),s6=e=>(e.client??D).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/competitors",...e,headers:{"Content-Type":"application/json",...e.headers}}),o6=e=>(e.client??D).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/competitors/{id}",...e}),r6=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/analytics/competitors",...e}),Yk=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/runs",...e}),l6=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/runs",...e,headers:{"Content-Type":"application/json",...e.headers}}),c6=e=>(e?.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/runs",...e}),u6=e=>(e?.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/runs",...e,headers:{"Content-Type":"application/json",...e?.headers}}),Xk=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/runs/{id}",...e}),d6=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/apply",...e,headers:{"Content-Type":"application/json",...e.headers}}),m6=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/history",...e}),p6=e=>(e?.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/history",...e}),h6=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/timeline",...e}),f6=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/analytics/metrics",...e}),g6=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/snapshots/diff",...e}),Jk=e=>(e?.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/settings",...e}),y6=e=>(e.client??D).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/settings/providers/{name}",...e,headers:{"Content-Type":"application/json",...e.headers}}),b6=e=>(e.client??D).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/settings/google",...e,headers:{"Content-Type":"application/json",...e.headers}}),v6=e=>(e?.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/keys/self",...e}),x6=e=>(e.client??D).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/settings/bing",...e,headers:{"Content-Type":"application/json",...e.headers}}),w6=e=>(e.client??D).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/settings/cdp",...e,headers:{"Content-Type":"application/json",...e.headers}}),k6=e=>(e.client??D).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/schedule",...e}),S6=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/schedule",...e}),j6=e=>(e.client??D).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/schedule",...e,headers:{"Content-Type":"application/json",...e.headers}}),A6=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/schedules",...e}),C6=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/notifications",...e}),N6=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/notifications",...e,headers:{"Content-Type":"application/json",...e.headers}}),_6=e=>(e.client??D).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/notifications/{id}",...e}),T6=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/notifications/{id}/test",...e}),E6=e=>(e?.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/telemetry",...e}),R6=e=>(e.client??D).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/telemetry",...e,headers:{"Content-Type":"application/json",...e.headers}}),z6=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/telemetry/onboarding",...e,headers:{"Content-Type":"application/json",...e.headers}}),Wk=e=>(e?.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/cdp/status",...e}),D6=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/status",...e}),I6=e=>(e.client??D).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??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/customers",...e}),q6=e=>(e.client??D).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/selection",...e,headers:{"Content-Type":"application/json",...e.headers}}),P6=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/sync",...e}),M6=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/performance",...e}),B6=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/snapshots",...e}),L6=e=>(e.client??D).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google-ads/connection",...e}),V6=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/status",...e}),U6=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/oauth/connect",...e,headers:{"Content-Type":"application/json",...e.headers}}),$6=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/accounts",...e}),K6=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/accounts/{accountId}/containers",...e}),G6=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/accounts/{accountId}/containers/{containerId}/workspaces",...e}),H6=e=>(e.client??D).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/selection",...e,headers:{"Content-Type":"application/json",...e.headers}}),Q6=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/sync",...e}),F6=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/snapshots",...e}),Z6=e=>(e.client??D).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gtm/connection",...e}),Y6=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/conversion-tracking/options",...e}),X6=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/conversion-tracking/contracts",...e}),J6=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/conversion-tracking/contracts",...e,headers:{"Content-Type":"application/json",...e.headers}}),W6=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/conversion-tracking/contracts/{contractId}/integrity",...e}),e_=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/connections",...e}),t_=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/connect",...e,headers:{"Content-Type":"application/json",...e.headers}}),n_=e=>(e.client??D).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/connections/{type}",...e}),a_=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/properties",...e}),i_=e=>(e.client??D).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/connections/{type}/property",...e,headers:{"Content-Type":"application/json",...e.headers}}),s_=e=>(e.client??D).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/connections/{type}/sitemap",...e,headers:{"Content-Type":"application/json",...e.headers}}),o_=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/sync",...e,headers:{"Content-Type":"application/json",...e.headers}}),r_=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/performance",...e}),l_=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/performance/daily",...e}),c_=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/inspect",...e,headers:{"Content-Type":"application/json",...e.headers}}),u_=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/inspections",...e}),d_=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/deindexed",...e}),m_=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/coverage",...e}),p_=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/coverage/history",...e}),h_=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/sitemaps",...e}),f_=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/gsc/inspect-sitemap",...e,headers:{"Content-Type":"application/json",...e.headers}}),g_=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/google/indexing/request",...e,headers:{"Content-Type":"application/json",...e.headers}}),y_=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/locations",...e}),b_=e=>(e.client??D).put({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/locations/{locationName}/selection",...e,headers:{"Content-Type":"application/json",...e.headers}}),v_=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/sync",...e,headers:{"Content-Type":"application/json",...e.headers}}),x_=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/keywords",...e}),w_=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/place-actions",...e}),k_=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/lodging",...e}),S_=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/places",...e}),j_=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/gbp/summary",...e}),A_=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/connect",...e,headers:{"Content-Type":"application/json",...e.headers}}),C_=e=>(e.client??D).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/disconnect",...e}),N_=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/status",...e}),__=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/sites",...e}),T_=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/set-site",...e,headers:{"Content-Type":"application/json",...e.headers}}),E_=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/coverage",...e}),R_=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/inspections",...e}),z_=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/inspect-url",...e,headers:{"Content-Type":"application/json",...e.headers}}),D_=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/inspect-sitemap",...e,headers:{"Content-Type":"application/json",...e.headers}}),I_=e=>(e.client??D).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??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/bing/performance",...e}),q_=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/connect",...e,headers:{"Content-Type":"application/json",...e.headers}}),P_=e=>(e.client??D).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/disconnect",...e}),M_=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/status",...e}),B_=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/sync",...e,headers:{"Content-Type":"application/json",...e.headers}}),L_=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/traffic",...e}),V_=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/ai-referral-daily",...e}),U_=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/social-referral-history",...e}),$_=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/ga/session-history",...e}),K_=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/insights",...e}),G_=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/health/history",...e}),H_=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/citations/visibility",...e}),Q_=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/overview",...e}),F_=e=>(e?.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/status",...e}),Z_=e=>(e?.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/install",...e}),Y_=e=>(e?.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/syncs",...e}),X_=e=>(e?.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/syncs",...e,headers:{"Content-Type":"application/json",...e?.headers}}),J_=e=>(e?.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/syncs/latest",...e}),W_=e=>(e?.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/releases",...e}),e8=e=>(e?.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/latest-release",...e}),t8=e=>(e.client??D).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/backlinks/cache/{release}",...e}),n8=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/backlinks/extract",...e,headers:{"Content-Type":"application/json",...e.headers}}),a8=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/backlinks/summary",...e}),i8=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/backlinks/domains",...e}),s8=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/backlinks/history",...e}),o8=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/connect/cloud-run",...e,headers:{"Content-Type":"application/json",...e.headers}}),r8=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/connect/wordpress",...e,headers:{"Content-Type":"application/json",...e.headers}}),l8=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/connect/vercel",...e,headers:{"Content-Type":"application/json",...e.headers}}),c8=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/sources/{id}/sync",...e,headers:{"Content-Type":"application/json",...e.headers}}),u8=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/sources/{id}/backfill",...e,headers:{"Content-Type":"application/json",...e.headers}}),d8=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/sources",...e}),m8=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/status",...e}),p8=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/sources/{id}",...e}),h8=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/traffic/events",...e}),f8=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/discover/run",...e,headers:{"Content-Type":"application/json",...e.headers}}),g8=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/discover/sessions",...e}),y8=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/discover/sessions/{id}",...e}),b8=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo",...e}),v8=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/pages",...e}),x8=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/trend",...e}),w8=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/crawl",...e}),k8=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/graph",...e}),S8=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/crawl/pages/audit",...e}),eS=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/crawl/pages",...e}),j8=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/structure",...e}),A8=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/internal-links/neighbors",...e}),C8=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/dead-links",...e}),N8=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/runs",...e}),_8=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/runs",...e,headers:{"Content-Type":"application/json",...e.headers}}),T8=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/runs/{runId}/progress",...e}),E8=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/technical-aeo/runs/{runId}/page-health-preview",...e}),R8=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/agent/conversations",...e}),z8=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/agent/conversations",...e,headers:{"Content-Type":"application/json",...e.headers}}),D8=e=>(e.client??D).delete({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/agent/conversations/{id}",...e}),I8=e=>(e.client??D).post({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/agent/conversations/{id}/resume",...e}),O8=e=>(e.client??D).get({security:[{scheme:"bearer",type:"http"}],url:"/api/v1/projects/{name}/agent/providers",...e});function q8(e){const n={baseUrl:e.baseUrl,fetch:e.fetch,headers:{...e.headers??{}}};return Hk(n)}function ne(e,n,i){function r(b,v){if(b._zod||Object.defineProperty(b,"_zod",{value:{def:v,constr:f,traits:new Set},enumerable:!1}),b._zod.traits.has(e))return;b._zod.traits.add(e),n(b,v);const w=f.prototype,k=Object.keys(w);for(let S=0;S<k.length;S++){const T=k[S];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 f(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(f,"init",{value:r}),Object.defineProperty(f,Symbol.hasInstance,{value:b=>i?.Parent&&b instanceof i.Parent?!0:b?._zod?.traits?.has(e)}),Object.defineProperty(f,"name",{value:e}),f}class Sr extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class tS extends Error{constructor(n){super(`Encountered unidirectional transform during encode: ${n}`),this.name="ZodEncodeError"}}const nS={};function ws(e){return nS}function aS(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 Nf(e,n){return typeof n=="bigint"?n.toString():n}function em(e){return{get value(){{const n=e();return Object.defineProperty(this,"value",{value:n}),n}}}}function w0(e){return e==null}function k0(e){const n=e.startsWith("^")?1:0,i=e.endsWith("$")?e.length-1:e.length;return e.slice(n,i)}function P8(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,f=Number.parseInt(e.toFixed(h).replace(".","")),b=Number.parseInt(n.toFixed(h).replace(".",""));return f%b/10**h}const Hv=Symbol("evaluating");function gt(e,n,i){let r;Object.defineProperty(e,n,{get(){if(r!==Hv)return r===void 0&&(r=Hv,r=i()),r},set(u){Object.defineProperty(e,n,{value:u})},configurable:!0})}function So(e,n,i){Object.defineProperty(e,n,{value:i,writable:!0,enumerable:!0,configurable:!0})}function Cs(...e){const n={};for(const i of e){const r=Object.getOwnPropertyDescriptors(i);Object.assign(n,r)}return Object.defineProperties({},n)}function Qv(e){return JSON.stringify(e)}function M8(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const iS="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function yc(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const B8=em(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function Nr(e){if(yc(e)===!1)return!1;const n=e.constructor;if(n===void 0||typeof n!="function")return!0;const i=n.prototype;return!(yc(i)===!1||Object.prototype.hasOwnProperty.call(i,"isPrototypeOf")===!1)}function sS(e){return Nr(e)?{...e}:Array.isArray(e)?[...e]:e}const L8=new Set(["string","number","symbol"]);function _r(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ns(e,n,i){const r=new e._zod.constr(n??e._zod.def);return(!n||i?.parent)&&(r._zod.parent=e),r}function ze(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 V8(e){return Object.keys(e).filter(n=>e[n]._zod.optin==="optional"&&e[n]._zod.optout==="optional")}const U8={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 $8(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=Cs(e._zod.def,{get shape(){const f={};for(const b in n){if(!(b in i.shape))throw new Error(`Unrecognized key: "${b}"`);n[b]&&(f[b]=i.shape[b])}return So(this,"shape",f),f},checks:[]});return Ns(e,h)}function K8(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=Cs(e._zod.def,{get shape(){const f={...e._zod.def.shape};for(const b in n){if(!(b in i.shape))throw new Error(`Unrecognized key: "${b}"`);n[b]&&delete f[b]}return So(this,"shape",f),f},checks:[]});return Ns(e,h)}function G8(e,n){if(!Nr(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 f in n)if(Object.getOwnPropertyDescriptor(h,f)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const u=Cs(e._zod.def,{get shape(){const h={...e._zod.def.shape,...n};return So(this,"shape",h),h}});return Ns(e,u)}function H8(e,n){if(!Nr(n))throw new Error("Invalid input to safeExtend: expected a plain object");const i=Cs(e._zod.def,{get shape(){const r={...e._zod.def.shape,...n};return So(this,"shape",r),r}});return Ns(e,i)}function Q8(e,n){const i=Cs(e._zod.def,{get shape(){const r={...e._zod.def.shape,...n._zod.def.shape};return So(this,"shape",r),r},get catchall(){return n._zod.def.catchall},checks:[]});return Ns(e,i)}function F8(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 f=Cs(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 So(this,"shape",v),v},checks:[]});return Ns(n,f)}function Z8(e,n,i){const r=Cs(n._zod.def,{get shape(){const u=n._zod.def.shape,h={...u};if(i)for(const f in i){if(!(f in h))throw new Error(`Unrecognized key: "${f}"`);i[f]&&(h[f]=new e({type:"nonoptional",innerType:u[f]}))}else for(const f in u)h[f]=new e({type:"nonoptional",innerType:u[f]});return So(this,"shape",h),h}});return Ns(n,r)}function xr(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 wr(e,n){return n.map(i=>{var r;return(r=i).path??(r.path=[]),i.path.unshift(e),i})}function Wu(e){return typeof e=="string"?e:e?.message}function ks(e,n,i){const r={...e,path:e.path??[]};if(!e.message){const u=Wu(e.inst?._zod.def?.error?.(e))??Wu(n?.error?.(e))??Wu(i.customError?.(e))??Wu(i.localeError?.(e))??"Invalid input";r.message=u}return delete r.inst,delete r.continue,n?.reportInput||delete r.input,r}function S0(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function bc(...e){const[n,i,r]=e;return typeof n=="string"?{message:n,code:"custom",input:i,inst:r}:{...n}}const oS=(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,Nf,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},rS=ne("$ZodError",oS),lS=ne("$ZodError",oS,{Parent:Error});function Y8(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 X8(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(f=>r({issues:f}));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 f=i,b=0;for(;b<h.path.length;){const v=h.path[b];b===h.path.length-1?(f[v]=f[v]||{_errors:[]},f[v]._errors.push(n(h))):f[v]=f[v]||{_errors:[]},f=f[v],b++}}};return r(e),i}const j0=e=>(n,i,r,u)=>{const h=r?Object.assign(r,{async:!1}):{async:!1},f=n._zod.run({value:i,issues:[]},h);if(f instanceof Promise)throw new Sr;if(f.issues.length){const b=new(u?.Err??e)(f.issues.map(v=>ks(v,h,ws())));throw iS(b,u?.callee),b}return f.value},A0=e=>async(n,i,r,u)=>{const h=r?Object.assign(r,{async:!0}):{async:!0};let f=n._zod.run({value:i,issues:[]},h);if(f instanceof Promise&&(f=await f),f.issues.length){const b=new(u?.Err??e)(f.issues.map(v=>ks(v,h,ws())));throw iS(b,u?.callee),b}return f.value},tm=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 Sr;return h.issues.length?{success:!1,error:new(e??rS)(h.issues.map(f=>ks(f,u,ws())))}:{success:!0,data:h.value}},J8=tm(lS),nm=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(f=>ks(f,u,ws())))}:{success:!0,data:h.value}},W8=nm(lS),e7=e=>(n,i,r)=>{const u=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return j0(e)(n,i,u)},t7=e=>(n,i,r)=>j0(e)(n,i,r),n7=e=>async(n,i,r)=>{const u=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return A0(e)(n,i,u)},a7=e=>async(n,i,r)=>A0(e)(n,i,r),i7=e=>(n,i,r)=>{const u=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return tm(e)(n,i,u)},s7=e=>(n,i,r)=>tm(e)(n,i,r),o7=e=>async(n,i,r)=>{const u=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return nm(e)(n,i,u)},r7=e=>async(n,i,r)=>nm(e)(n,i,r),l7=/^[cC][^\s-]{8,}$/,c7=/^[0-9a-z]+$/,u7=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,d7=/^[0-9a-vA-V]{20}$/,m7=/^[A-Za-z0-9]{27}$/,p7=/^[a-zA-Z0-9_-]{21}$/,h7=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,f7=/^([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})$/,Fv=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)$/,g7=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,y7="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function b7(){return new RegExp(y7,"u")}const v7=/^(?:(?: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])$/,x7=/^(([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}|:))$/,w7=/^((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])$/,k7=/^(([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])$/,S7=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,cS=/^[A-Za-z0-9_-]*$/,j7=/^\+[1-9]\d{6,14}$/,uS="(?:(?:\\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])))",A7=new RegExp(`^${uS}$`);function dS(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 C7(e){return new RegExp(`^${dS(e)}$`)}function N7(e){const n=dS({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(`^${uS}T(?:${r})$`)}const _7=e=>{const n=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${n}$`)},T7=/^-?\d+$/,mS=/^-?\d+(?:\.\d+)?$/,E7=/^(?:true|false)$/i,R7=/^null$/i,z7=/^[^A-Z]*$/,D7=/^[^a-z]*$/,Yn=ne("$ZodCheck",(e,n)=>{var i;e._zod??(e._zod={}),e._zod.def=n,(i=e._zod).onattach??(i.onattach=[])}),pS={number:"number",bigint:"bigint",object:"date"},hS=ne("$ZodCheckLessThan",(e,n)=>{Yn.init(e,n);const i=pS[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})}}),fS=ne("$ZodCheckGreaterThan",(e,n)=>{Yn.init(e,n);const i=pS[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})}}),I7=ne("$ZodCheckMultipleOf",(e,n)=>{Yn.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):P8(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})}}),O7=ne("$ZodCheckNumberFormat",(e,n)=>{Yn.init(e,n),n.format=n.format||"float64";const i=n.format?.includes("int"),r=i?"int":"number",[u,h]=U8[n.format];e._zod.onattach.push(f=>{const b=f._zod.bag;b.format=n.format,b.minimum=u,b.maximum=h,i&&(b.pattern=T7)}),e._zod.check=f=>{const b=f.value;if(i){if(!Number.isInteger(b)){f.issues.push({expected:r,format:n.format,code:"invalid_type",continue:!1,input:b,inst:e});return}if(!Number.isSafeInteger(b)){b>0?f.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}):f.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&&f.issues.push({origin:"number",input:b,code:"too_small",minimum:u,inclusive:!0,inst:e,continue:!n.abort}),b>h&&f.issues.push({origin:"number",input:b,code:"too_big",maximum:h,inclusive:!0,inst:e,continue:!n.abort})}}),q7=ne("$ZodCheckMaxLength",(e,n)=>{var i;Yn.init(e,n),(i=e._zod.def).when??(i.when=r=>{const u=r.value;return!w0(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 f=S0(u);r.issues.push({origin:f,code:"too_big",maximum:n.maximum,inclusive:!0,input:u,inst:e,continue:!n.abort})}}),P7=ne("$ZodCheckMinLength",(e,n)=>{var i;Yn.init(e,n),(i=e._zod.def).when??(i.when=r=>{const u=r.value;return!w0(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 f=S0(u);r.issues.push({origin:f,code:"too_small",minimum:n.minimum,inclusive:!0,input:u,inst:e,continue:!n.abort})}}),M7=ne("$ZodCheckLengthEquals",(e,n)=>{var i;Yn.init(e,n),(i=e._zod.def).when??(i.when=r=>{const u=r.value;return!w0(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 f=S0(u),b=h>n.length;r.issues.push({origin:f,...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})}}),am=ne("$ZodCheckStringFormat",(e,n)=>{var i,r;Yn.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=()=>{})}),B7=ne("$ZodCheckRegex",(e,n)=>{am.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})}}),L7=ne("$ZodCheckLowerCase",(e,n)=>{n.pattern??(n.pattern=z7),am.init(e,n)}),V7=ne("$ZodCheckUpperCase",(e,n)=>{n.pattern??(n.pattern=D7),am.init(e,n)}),U7=ne("$ZodCheckIncludes",(e,n)=>{Yn.init(e,n);const i=_r(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})}}),$7=ne("$ZodCheckStartsWith",(e,n)=>{Yn.init(e,n);const i=new RegExp(`^${_r(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})}}),K7=ne("$ZodCheckEndsWith",(e,n)=>{Yn.init(e,n);const i=new RegExp(`.*${_r(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})}}),G7=ne("$ZodCheckOverwrite",(e,n)=>{Yn.init(e,n),e._zod.check=i=>{i.value=n.tx(i.value)}});class H7{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(f=>f),u=Math.min(...r.map(f=>f.length-f.trimStart().length)),h=r.map(f=>f.slice(u)).map(f=>" ".repeat(this.indent*2)+f);for(const f of h)this.content.push(f)}compile(){const n=Function,i=this?.args,u=[...(this?.content??[""]).map(h=>` ${h}`)];return new n(...i,u.join(`
16
+ `))}}const Q7={major:4,minor:3,patch:6},Pt=ne("$ZodType",(e,n)=>{var i;e??(e={}),e._zod.def=n,e._zod.bag=e._zod.bag||{},e._zod.version=Q7;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=(f,b,v)=>{let w=xr(f),k;for(const S of b){if(S._zod.def.when){if(!S._zod.def.when(f))continue}else if(w)continue;const T=f.issues.length,N=S._zod.check(f);if(N instanceof Promise&&v?.async===!1)throw new Sr;if(k||N instanceof Promise)k=(k??Promise.resolve()).then(async()=>{await N,f.issues.length!==T&&(w||(w=xr(f,T)))});else{if(f.issues.length===T)continue;w||(w=xr(f,T))}}return k?k.then(()=>f):f},h=(f,b,v)=>{if(xr(f))return f.aborted=!0,f;const w=u(b,r,v);if(w instanceof Promise){if(v.async===!1)throw new Sr;return w.then(k=>e._zod.parse(k,v))}return e._zod.parse(w,v)};e._zod.run=(f,b)=>{if(b.skipChecks)return e._zod.parse(f,b);if(b.direction==="backward"){const w=e._zod.parse({value:f.value,issues:[]},{...b,skipChecks:!0});return w instanceof Promise?w.then(k=>h(k,f,b)):h(w,f,b)}const v=e._zod.parse(f,b);if(v instanceof Promise){if(b.async===!1)throw new Sr;return v.then(w=>u(w,r,b))}return u(v,r,b)}}gt(e,"~standard",()=>({validate:u=>{try{const h=J8(e,u);return h.success?{value:h.data}:{issues:h.error?.issues}}catch{return W8(e,u).then(f=>f.success?{value:f.data}:{issues:f.error?.issues})}},vendor:"zod",version:1}))}),C0=ne("$ZodString",(e,n)=>{Pt.init(e,n),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??_7(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}}),Ut=ne("$ZodStringFormat",(e,n)=>{am.init(e,n),C0.init(e,n)}),F7=ne("$ZodGUID",(e,n)=>{n.pattern??(n.pattern=f7),Ut.init(e,n)}),Z7=ne("$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=Fv(r))}else n.pattern??(n.pattern=Fv());Ut.init(e,n)}),Y7=ne("$ZodEmail",(e,n)=>{n.pattern??(n.pattern=g7),Ut.init(e,n)}),X7=ne("$ZodURL",(e,n)=>{Ut.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})}}}),J7=ne("$ZodEmoji",(e,n)=>{n.pattern??(n.pattern=b7()),Ut.init(e,n)}),W7=ne("$ZodNanoID",(e,n)=>{n.pattern??(n.pattern=p7),Ut.init(e,n)}),eT=ne("$ZodCUID",(e,n)=>{n.pattern??(n.pattern=l7),Ut.init(e,n)}),tT=ne("$ZodCUID2",(e,n)=>{n.pattern??(n.pattern=c7),Ut.init(e,n)}),nT=ne("$ZodULID",(e,n)=>{n.pattern??(n.pattern=u7),Ut.init(e,n)}),aT=ne("$ZodXID",(e,n)=>{n.pattern??(n.pattern=d7),Ut.init(e,n)}),iT=ne("$ZodKSUID",(e,n)=>{n.pattern??(n.pattern=m7),Ut.init(e,n)}),sT=ne("$ZodISODateTime",(e,n)=>{n.pattern??(n.pattern=N7(n)),Ut.init(e,n)}),oT=ne("$ZodISODate",(e,n)=>{n.pattern??(n.pattern=A7),Ut.init(e,n)}),rT=ne("$ZodISOTime",(e,n)=>{n.pattern??(n.pattern=C7(n)),Ut.init(e,n)}),lT=ne("$ZodISODuration",(e,n)=>{n.pattern??(n.pattern=h7),Ut.init(e,n)}),cT=ne("$ZodIPv4",(e,n)=>{n.pattern??(n.pattern=v7),Ut.init(e,n),e._zod.bag.format="ipv4"}),uT=ne("$ZodIPv6",(e,n)=>{n.pattern??(n.pattern=x7),Ut.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})}}}),dT=ne("$ZodCIDRv4",(e,n)=>{n.pattern??(n.pattern=w7),Ut.init(e,n)}),mT=ne("$ZodCIDRv6",(e,n)=>{n.pattern??(n.pattern=k7),Ut.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 f=Number(h);if(`${f}`!==h)throw new Error;if(f<0||f>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 gS(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const pT=ne("$ZodBase64",(e,n)=>{n.pattern??(n.pattern=S7),Ut.init(e,n),e._zod.bag.contentEncoding="base64",e._zod.check=i=>{gS(i.value)||i.issues.push({code:"invalid_format",format:"base64",input:i.value,inst:e,continue:!n.abort})}});function hT(e){if(!cS.test(e))return!1;const n=e.replace(/[-_]/g,r=>r==="-"?"+":"/"),i=n.padEnd(Math.ceil(n.length/4)*4,"=");return gS(i)}const fT=ne("$ZodBase64URL",(e,n)=>{n.pattern??(n.pattern=cS),Ut.init(e,n),e._zod.bag.contentEncoding="base64url",e._zod.check=i=>{hT(i.value)||i.issues.push({code:"invalid_format",format:"base64url",input:i.value,inst:e,continue:!n.abort})}}),gT=ne("$ZodE164",(e,n)=>{n.pattern??(n.pattern=j7),Ut.init(e,n)});function yT(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 bT=ne("$ZodJWT",(e,n)=>{Ut.init(e,n),e._zod.check=i=>{yT(i.value,n.alg)||i.issues.push({code:"invalid_format",format:"jwt",input:i.value,inst:e,continue:!n.abort})}}),yS=ne("$ZodNumber",(e,n)=>{Pt.init(e,n),e._zod.pattern=e._zod.bag.pattern??mS,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}}),vT=ne("$ZodNumberFormat",(e,n)=>{O7.init(e,n),yS.init(e,n)}),xT=ne("$ZodBoolean",(e,n)=>{Pt.init(e,n),e._zod.pattern=E7,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}}),wT=ne("$ZodNull",(e,n)=>{Pt.init(e,n),e._zod.pattern=R7,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}}),kT=ne("$ZodUnknown",(e,n)=>{Pt.init(e,n),e._zod.parse=i=>i}),ST=ne("$ZodNever",(e,n)=>{Pt.init(e,n),e._zod.parse=(i,r)=>(i.issues.push({expected:"never",code:"invalid_type",input:i.value,inst:e}),i)});function Zv(e,n,i){e.issues.length&&n.issues.push(...wr(i,e.issues)),n.value[i]=e.value}const jT=ne("$ZodArray",(e,n)=>{Pt.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 f=0;f<u.length;f++){const b=u[f],v=n.element._zod.run({value:b,issues:[]},r);v instanceof Promise?h.push(v.then(w=>Zv(w,i,f))):Zv(v,i,f)}return h.length?Promise.all(h).then(()=>i):i}});function Ad(e,n,i,r,u){if(e.issues.length){if(u&&!(i in r))return;n.issues.push(...wr(i,e.issues))}e.value===void 0?i in r&&(n.value[i]=void 0):n.value[i]=e.value}function bS(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=V8(e.shape);return{...e,keys:n,keySet:new Set(n),numKeys:n.length,optionalKeys:new Set(i)}}function vS(e,n,i,r,u,h){const f=[],b=u.keySet,v=u.catchall._zod,w=v.def.type,k=v.optout==="optional";for(const S in n){if(b.has(S))continue;if(w==="never"){f.push(S);continue}const T=v.run({value:n[S],issues:[]},r);T instanceof Promise?e.push(T.then(N=>Ad(N,i,S,n,k))):Ad(T,i,S,n,k)}return f.length&&i.issues.push({code:"unrecognized_keys",keys:f,input:n,inst:h}),e.length?Promise.all(e).then(()=>i):i}const AT=ne("$ZodObject",(e,n)=>{if(Pt.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=em(()=>bS(n));gt(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 S of k.values)v[w].add(S)}}return v});const u=yc,h=n.catchall;let f;e._zod.parse=(b,v)=>{f??(f=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=[],S=f.shape;for(const T of f.keys){const N=S[T],I=N._zod.optout==="optional",P=N._zod.run({value:w[T],issues:[]},v);P instanceof Promise?k.push(P.then(E=>Ad(E,b,T,w,I))):Ad(P,b,T,w,I)}return h?vS(k,w,b,v,r.value,e):k.length?Promise.all(k).then(()=>b):b}}),CT=ne("$ZodObjectJIT",(e,n)=>{AT.init(e,n);const i=e._zod.parse,r=em(()=>bS(n)),u=T=>{const N=new H7(["shape","payload","ctx"]),I=r.value,P=L=>{const F=Qv(L);return`shape[${F}]._zod.run({ value: input[${F}], issues: [] }, ctx)`};N.write("const input = payload.value;");const E=Object.create(null);let V=0;for(const L of I.keys)E[L]=`key_${V++}`;N.write("const newResult = {};");for(const L of I.keys){const F=E[L],Z=Qv(L),M=T[L]?._zod?.optout==="optional";N.write(`const ${F} = ${P(L)};`),M?N.write(`
17
+ if (${F}.issues.length) {
18
+ if (${Z} in input) {
19
+ payload.issues = payload.issues.concat(${F}.issues.map(iss => ({
20
+ ...iss,
21
+ path: iss.path ? [${Z}, ...iss.path] : [${Z}]
22
+ })));
23
+ }
24
+ }
25
+
26
+ if (${F}.value === undefined) {
27
+ if (${Z} in input) {
28
+ newResult[${Z}] = undefined;
29
+ }
30
+ } else {
31
+ newResult[${Z}] = ${F}.value;
32
+ }
33
+
34
+ `):N.write(`
35
+ if (${F}.issues.length) {
36
+ payload.issues = payload.issues.concat(${F}.issues.map(iss => ({
37
+ ...iss,
38
+ path: iss.path ? [${Z}, ...iss.path] : [${Z}]
39
+ })));
40
+ }
41
+
42
+ if (${F}.value === undefined) {
43
+ if (${Z} in input) {
44
+ newResult[${Z}] = undefined;
45
+ }
46
+ } else {
47
+ newResult[${Z}] = ${F}.value;
48
+ }
49
+
50
+ `)}N.write("payload.value = newResult;"),N.write("return payload;");const W=N.compile();return(L,F)=>W(T,L,F)};let h;const f=yc,b=!nS.jitless,w=b&&B8.value,k=n.catchall;let S;e._zod.parse=(T,N)=>{S??(S=r.value);const I=T.value;return f(I)?b&&w&&N?.async===!1&&N.jitless!==!0?(h||(h=u(n.shape)),T=h(T,N),k?vS([],I,T,N,S,e):T):i(T,N):(T.issues.push({expected:"object",code:"invalid_type",input:I,inst:e}),T)}});function Yv(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=>!xr(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(f=>ks(f,r,ws())))}),n)}const xS=ne("$ZodUnion",(e,n)=>{Pt.init(e,n),gt(e._zod,"optin",()=>n.options.some(u=>u._zod.optin==="optional")?"optional":void 0),gt(e._zod,"optout",()=>n.options.some(u=>u._zod.optout==="optional")?"optional":void 0),gt(e._zod,"values",()=>{if(n.options.every(u=>u._zod.values))return new Set(n.options.flatMap(u=>Array.from(u._zod.values)))}),gt(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=>k0(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 f=!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),f=!0;else{if(w.issues.length===0)return w;b.push(w)}}return f?Promise.all(b).then(v=>Yv(v,u,e,h)):Yv(b,u,e,h)}}),NT=ne("$ZodDiscriminatedUnion",(e,n)=>{n.inclusive=!1,xS.init(e,n);const i=e._zod.parse;gt(e._zod,"propValues",()=>{const u={};for(const h of n.options){const f=h._zod.propValues;if(!f||Object.keys(f).length===0)throw new Error(`Invalid discriminated union option at index "${n.options.indexOf(h)}"`);for(const[b,v]of Object.entries(f)){u[b]||(u[b]=new Set);for(const w of v)u[b].add(w)}}return u});const r=em(()=>{const u=n.options,h=new Map;for(const f of u){const b=f._zod.propValues?.[n.discriminator];if(!b||b.size===0)throw new Error(`Invalid discriminated union option at index "${n.options.indexOf(f)}"`);for(const v of b){if(h.has(v))throw new Error(`Duplicate discriminator value "${String(v)}"`);h.set(v,f)}}return h});e._zod.parse=(u,h)=>{const f=u.value;if(!yc(f))return u.issues.push({code:"invalid_type",expected:"object",input:f,inst:e}),u;const b=r.value.get(f?.[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:f,path:[n.discriminator],inst:e}),u)}}),_T=ne("$ZodIntersection",(e,n)=>{Pt.init(e,n),e._zod.parse=(i,r)=>{const u=i.value,h=n.left._zod.run({value:u,issues:[]},r),f=n.right._zod.run({value:u,issues:[]},r);return h instanceof Promise||f instanceof Promise?Promise.all([h,f]).then(([v,w])=>Xv(i,v,w)):Xv(i,h,f)}});function _f(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(Nr(e)&&Nr(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 f=_f(e[h],n[h]);if(!f.valid)return{valid:!1,mergeErrorPath:[h,...f.mergeErrorPath]};u[h]=f.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],f=_f(u,h);if(!f.valid)return{valid:!1,mergeErrorPath:[r,...f.mergeErrorPath]};i.push(f.data)}return{valid:!0,data:i}}return{valid:!1,mergeErrorPath:[]}}function Xv(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}),xr(e))return e;const f=_f(n.value,i.value);if(!f.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(f.mergeErrorPath)}`);return e.value=f.data,e}const TT=ne("$ZodRecord",(e,n)=>{Pt.init(e,n),e._zod.parse=(i,r)=>{const u=i.value;if(!Nr(u))return i.issues.push({expected:"record",code:"invalid_type",input:u,inst:e}),i;const h=[],f=n.keyType._zod.values;if(f){i.value={};const b=new Set;for(const w of f)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(S=>{S.issues.length&&i.issues.push(...wr(w,S.issues)),i.value[w]=S.value})):(k.issues.length&&i.issues.push(...wr(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"&&mS.test(b)&&v.issues.length){const S=n.keyType._zod.run({value:Number(b),issues:[]},r);if(S instanceof Promise)throw new Error("Async schemas not supported in object keys currently");S.issues.length===0&&(v=S)}if(v.issues.length){n.mode==="loose"?i.value[b]=u[b]:i.issues.push({code:"invalid_key",origin:"record",issues:v.issues.map(S=>ks(S,r,ws())),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(S=>{S.issues.length&&i.issues.push(...wr(b,S.issues)),i.value[v.value]=S.value})):(k.issues.length&&i.issues.push(...wr(b,k.issues)),i.value[v.value]=k.value)}}return h.length?Promise.all(h).then(()=>i):i}}),ET=ne("$ZodEnum",(e,n)=>{Pt.init(e,n);const i=aS(n.entries),r=new Set(i);e._zod.values=r,e._zod.pattern=new RegExp(`^(${i.filter(u=>L8.has(typeof u)).map(u=>typeof u=="string"?_r(u):u.toString()).join("|")})$`),e._zod.parse=(u,h)=>{const f=u.value;return r.has(f)||u.issues.push({code:"invalid_value",values:i,input:f,inst:e}),u}}),RT=ne("$ZodLiteral",(e,n)=>{if(Pt.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"?_r(r):r?_r(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}}),zT=ne("$ZodTransform",(e,n)=>{Pt.init(e,n),e._zod.parse=(i,r)=>{if(r.direction==="backward")throw new tS(e.constructor.name);const u=n.transform(i.value,i);if(r.async)return(u instanceof Promise?u:Promise.resolve(u)).then(f=>(i.value=f,i));if(u instanceof Promise)throw new Sr;return i.value=u,i}});function Jv(e,n){return e.issues.length&&n===void 0?{issues:[],value:void 0}:e}const wS=ne("$ZodOptional",(e,n)=>{Pt.init(e,n),e._zod.optin="optional",e._zod.optout="optional",gt(e._zod,"values",()=>n.innerType._zod.values?new Set([...n.innerType._zod.values,void 0]):void 0),gt(e._zod,"pattern",()=>{const i=n.innerType._zod.pattern;return i?new RegExp(`^(${k0(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=>Jv(h,i.value)):Jv(u,i.value)}return i.value===void 0?i:n.innerType._zod.run(i,r)}}),DT=ne("$ZodExactOptional",(e,n)=>{wS.init(e,n),gt(e._zod,"values",()=>n.innerType._zod.values),gt(e._zod,"pattern",()=>n.innerType._zod.pattern),e._zod.parse=(i,r)=>n.innerType._zod.run(i,r)}),IT=ne("$ZodNullable",(e,n)=>{Pt.init(e,n),gt(e._zod,"optin",()=>n.innerType._zod.optin),gt(e._zod,"optout",()=>n.innerType._zod.optout),gt(e._zod,"pattern",()=>{const i=n.innerType._zod.pattern;return i?new RegExp(`^(${k0(i.source)}|null)$`):void 0}),gt(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)}),OT=ne("$ZodDefault",(e,n)=>{Pt.init(e,n),e._zod.optin="optional",gt(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=>Wv(h,n)):Wv(u,n)}});function Wv(e,n){return e.value===void 0&&(e.value=n.defaultValue),e}const qT=ne("$ZodPrefault",(e,n)=>{Pt.init(e,n),e._zod.optin="optional",gt(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))}),PT=ne("$ZodNonOptional",(e,n)=>{Pt.init(e,n),gt(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=>ex(h,e)):ex(u,e)}});function ex(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 MT=ne("$ZodCatch",(e,n)=>{Pt.init(e,n),gt(e._zod,"optin",()=>n.innerType._zod.optin),gt(e._zod,"optout",()=>n.innerType._zod.optout),gt(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(f=>ks(f,r,ws()))},input:i.value}),i.issues=[]),i)):(i.value=u.value,u.issues.length&&(i.value=n.catchValue({...i,error:{issues:u.issues.map(h=>ks(h,r,ws()))},input:i.value}),i.issues=[]),i)}}),BT=ne("$ZodPipe",(e,n)=>{Pt.init(e,n),gt(e._zod,"values",()=>n.in._zod.values),gt(e._zod,"optin",()=>n.in._zod.optin),gt(e._zod,"optout",()=>n.out._zod.optout),gt(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(f=>ed(f,n.in,r)):ed(h,n.in,r)}const u=n.in._zod.run(i,r);return u instanceof Promise?u.then(h=>ed(h,n.out,r)):ed(u,n.out,r)}});function ed(e,n,i){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:e.value,issues:e.issues},i)}const LT=ne("$ZodReadonly",(e,n)=>{Pt.init(e,n),gt(e._zod,"propValues",()=>n.innerType._zod.propValues),gt(e._zod,"values",()=>n.innerType._zod.values),gt(e._zod,"optin",()=>n.innerType?._zod?.optin),gt(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(tx):tx(u)}});function tx(e){return e.value=Object.freeze(e.value),e}const VT=ne("$ZodLazy",(e,n)=>{Pt.init(e,n),gt(e._zod,"innerType",()=>n.getter()),gt(e._zod,"pattern",()=>e._zod.innerType?._zod?.pattern),gt(e._zod,"propValues",()=>e._zod.innerType?._zod?.propValues),gt(e._zod,"optin",()=>e._zod.innerType?._zod?.optin??void 0),gt(e._zod,"optout",()=>e._zod.innerType?._zod?.optout??void 0),e._zod.parse=(i,r)=>e._zod.innerType._zod.run(i,r)}),UT=ne("$ZodCustom",(e,n)=>{Yn.init(e,n),Pt.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=>nx(h,i,r,e));nx(u,i,r,e)}});function nx(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(bc(u))}}var ax;class $T{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 KT(){return new $T}(ax=globalThis).__zod_globalRegistry??(ax.__zod_globalRegistry=KT());const oc=globalThis.__zod_globalRegistry;function GT(e,n){return new e({type:"string",...ze(n)})}function HT(e,n){return new e({type:"string",format:"email",check:"string_format",abort:!1,...ze(n)})}function ix(e,n){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...ze(n)})}function kS(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...ze(n)})}function QT(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...ze(n)})}function FT(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...ze(n)})}function ZT(e,n){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...ze(n)})}function YT(e,n){return new e({type:"string",format:"url",check:"string_format",abort:!1,...ze(n)})}function XT(e,n){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...ze(n)})}function JT(e,n){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...ze(n)})}function WT(e,n){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...ze(n)})}function eE(e,n){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...ze(n)})}function tE(e,n){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...ze(n)})}function nE(e,n){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...ze(n)})}function aE(e,n){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...ze(n)})}function iE(e,n){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...ze(n)})}function sE(e,n){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...ze(n)})}function oE(e,n){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...ze(n)})}function rE(e,n){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...ze(n)})}function lE(e,n){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...ze(n)})}function cE(e,n){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...ze(n)})}function uE(e,n){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...ze(n)})}function dE(e,n){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...ze(n)})}function mE(e,n){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...ze(n)})}function pE(e,n){return new e({type:"string",format:"date",check:"string_format",...ze(n)})}function hE(e,n){return new e({type:"string",format:"time",check:"string_format",precision:null,...ze(n)})}function fE(e,n){return new e({type:"string",format:"duration",check:"string_format",...ze(n)})}function gE(e,n){return new e({type:"number",checks:[],...ze(n)})}function yE(e,n){return new e({type:"number",coerce:!0,checks:[],...ze(n)})}function bE(e,n){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...ze(n)})}function vE(e,n){return new e({type:"boolean",...ze(n)})}function xE(e,n){return new e({type:"null",...ze(n)})}function wE(e){return new e({type:"unknown"})}function kE(e,n){return new e({type:"never",...ze(n)})}function sx(e,n){return new hS({check:"less_than",...ze(n),value:e,inclusive:!1})}function Uh(e,n){return new hS({check:"less_than",...ze(n),value:e,inclusive:!0})}function ox(e,n){return new fS({check:"greater_than",...ze(n),value:e,inclusive:!1})}function $h(e,n){return new fS({check:"greater_than",...ze(n),value:e,inclusive:!0})}function rx(e,n){return new I7({check:"multiple_of",...ze(n),value:e})}function SS(e,n){return new q7({check:"max_length",...ze(n),maximum:e})}function Cd(e,n){return new P7({check:"min_length",...ze(n),minimum:e})}function jS(e,n){return new M7({check:"length_equals",...ze(n),length:e})}function SE(e,n){return new B7({check:"string_format",format:"regex",...ze(n),pattern:e})}function jE(e){return new L7({check:"string_format",format:"lowercase",...ze(e)})}function AE(e){return new V7({check:"string_format",format:"uppercase",...ze(e)})}function CE(e,n){return new U7({check:"string_format",format:"includes",...ze(n),includes:e})}function NE(e,n){return new $7({check:"string_format",format:"starts_with",...ze(n),prefix:e})}function _E(e,n){return new K7({check:"string_format",format:"ends_with",...ze(n),suffix:e})}function Br(e){return new G7({check:"overwrite",tx:e})}function TE(e){return Br(n=>n.normalize(e))}function EE(){return Br(e=>e.trim())}function RE(){return Br(e=>e.toLowerCase())}function zE(){return Br(e=>e.toUpperCase())}function DE(){return Br(e=>M8(e))}function IE(e,n,i){return new e({type:"array",element:n,...ze(i)})}function OE(e,n,i){return new e({type:"custom",check:"custom",fn:n,...ze(i)})}function qE(e){const n=PE(i=>(i.addIssue=r=>{if(typeof r=="string")i.issues.push(bc(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(bc(u))}},e(i.value,i)));return n}function PE(e,n){const i=new Yn({check:"custom",...ze(n)});return i._zod.check=e,i}function AS(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??oc,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 tn(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 f={schema:{},count:1,cycle:void 0,path:i.path};n.seen.set(e,f);const b=e._zod.toJSONSchema?.();if(b)f.schema=b;else{const k={...i,schemaPath:[...i.schemaPath,e],path:i.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(n,f.schema,k);else{const T=f.schema,N=n.processors[u.type];if(!N)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${u.type}`);N(e,n,T,k)}const S=e._zod.parent;S&&(f.ref||(f.ref=S),tn(S,n,k),n.seen.get(S).isParent=!0)}const v=n.metadataRegistry.get(e);return v&&Object.assign(f.schema,v),n.io==="input"&&Mn(e)&&(delete f.schema.examples,delete f.schema.default),n.io==="input"&&f.schema._prefault&&((r=f.schema).default??(r.default=f.schema._prefault)),delete f.schema._prefault,n.seen.get(e).schema}function CS(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 f of e.seen.entries()){const b=e.metadataRegistry.get(f[0])?.id;if(b){const v=r.get(b);if(v&&v!==f[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,f[0])}}const u=f=>{const b=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const S=e.external.registry.get(f[0])?.id,T=e.external.uri??(I=>I);if(S)return{ref:T(S)};const N=f[1].defId??f[1].schema.id??`schema${e.counter++}`;return f[1].defId=N,{defId:N,ref:`${T("__shared")}#/${b}/${N}`}}if(f[1]===i)return{ref:"#"};const w=`#/${b}/`,k=f[1].schema.id??`__schema${e.counter++}`;return{defId:k,ref:w+k}},h=f=>{if(f[1].schema.$ref)return;const b=f[1],{ref:v,defId:w}=u(f);b.def={...b.schema},w&&(b.defId=w);const k=b.schema;for(const S in k)delete k[S];k.$ref=v};if(e.cycles==="throw")for(const f of e.seen.entries()){const b=f[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 f of e.seen.entries()){const b=f[1];if(n===f[0]){h(f);continue}if(e.external){const w=e.external.registry.get(f[0])?.id;if(n!==f[0]&&w){h(f);continue}}if(e.metadataRegistry.get(f[0])?.id){h(f);continue}if(b.cycle){h(f);continue}if(b.count>1&&e.reused==="ref"){h(f);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=f=>{const b=e.seen.get(f);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),N=T.schema;if(N.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(v.allOf=v.allOf??[],v.allOf.push(N)):Object.assign(v,N),Object.assign(v,w),f._zod.parent===k)for(const P in v)P==="$ref"||P==="allOf"||P in w||delete v[P];if(N.$ref&&T.def)for(const P in v)P==="$ref"||P==="allOf"||P in T.def&&JSON.stringify(v[P])===JSON.stringify(T.def[P])&&delete v[P]}const S=f._zod.parent;if(S&&S!==k){r(S);const T=e.seen.get(S);if(T?.schema.$ref&&(v.$ref=T.schema.$ref,T.def))for(const N in v)N==="$ref"||N==="allOf"||N in T.def&&JSON.stringify(v[N])===JSON.stringify(T.def[N])&&delete v[N]}e.override({zodSchema:f,jsonSchema:v,path:b.path??[]})};for(const f of[...e.seen.entries()].reverse())r(f[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 f=e.external.registry.get(n)?.id;if(!f)throw new Error("Schema is missing an `id` property");u.$id=e.external.uri(f)}Object.assign(u,i.def??i.schema);const h=e.external?.defs??{};for(const f of e.seen.entries()){const b=f[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 f=JSON.parse(JSON.stringify(u));return Object.defineProperty(f,"~standard",{value:{...n["~standard"],jsonSchema:{input:Nd(n,"input",e.processors),output:Nd(n,"output",e.processors)}},enumerable:!1,writable:!1}),f}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 ME=(e,n={})=>i=>{const r=AS({...i,processors:n});return tn(e,r),CS(r,e),NS(r,e)},Nd=(e,n,i={})=>r=>{const{libraryOptions:u,target:h}=r??{},f=AS({...u??{},target:h,io:n,processors:i});return tn(e,f),CS(f,e),NS(f,e)},BE={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},LE=(e,n,i,r)=>{const u=i;u.type="string";const{minimum:h,maximum:f,format:b,patterns:v,contentEncoding:w}=e._zod.bag;if(typeof h=="number"&&(u.minLength=h),typeof f=="number"&&(u.maxLength=f),b&&(u.format=BE[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(S=>({...n.target==="draft-07"||n.target==="draft-04"||n.target==="openapi-3.0"?{type:"string"}:{},pattern:S.source}))])}},VE=(e,n,i,r)=>{const u=i,{minimum:h,maximum:f,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 f=="number"&&(u.maximum=f,typeof w=="number"&&n.target!=="draft-04"&&(w<=f?delete u.maximum:delete u.exclusiveMaximum)),typeof v=="number"&&(u.multipleOf=v)},UE=(e,n,i,r)=>{i.type="boolean"},$E=(e,n,i,r)=>{n.target==="openapi-3.0"?(i.type="string",i.nullable=!0,i.enum=[null]):i.type="null"},KE=(e,n,i,r)=>{i.not={}},GE=(e,n,i,r)=>{},HE=(e,n,i,r)=>{const u=e._zod.def,h=aS(u.entries);h.every(f=>typeof f=="number")&&(i.type="number"),h.every(f=>typeof f=="string")&&(i.type="string"),i.enum=h},QE=(e,n,i,r)=>{const u=e._zod.def,h=[];for(const f of u.values)if(f===void 0){if(n.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof f=="bigint"){if(n.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");h.push(Number(f))}else h.push(f);if(h.length!==0)if(h.length===1){const f=h[0];i.type=f===null?"null":typeof f,n.target==="draft-04"||n.target==="openapi-3.0"?i.enum=[f]:i.const=f}else h.every(f=>typeof f=="number")&&(i.type="number"),h.every(f=>typeof f=="string")&&(i.type="string"),h.every(f=>typeof f=="boolean")&&(i.type="boolean"),h.every(f=>f===null)&&(i.type="null"),i.enum=h},FE=(e,n,i,r)=>{if(n.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},ZE=(e,n,i,r)=>{if(n.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},YE=(e,n,i,r)=>{const u=i,h=e._zod.def,{minimum:f,maximum:b}=e._zod.bag;typeof f=="number"&&(u.minItems=f),typeof b=="number"&&(u.maxItems=b),u.type="array",u.items=tn(h.element,n,{...r,path:[...r.path,"items"]})},XE=(e,n,i,r)=>{const u=i,h=e._zod.def;u.type="object",u.properties={};const f=h.shape;for(const w in f)u.properties[w]=tn(f[w],n,{...r,path:[...r.path,"properties",w]});const b=new Set(Object.keys(f)),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=tn(h.catchall,n,{...r,path:[...r.path,"additionalProperties"]})):n.io==="output"&&(u.additionalProperties=!1)},JE=(e,n,i,r)=>{const u=e._zod.def,h=u.inclusive===!1,f=u.options.map((b,v)=>tn(b,n,{...r,path:[...r.path,h?"oneOf":"anyOf",v]}));h?i.oneOf=f:i.anyOf=f},WE=(e,n,i,r)=>{const u=e._zod.def,h=tn(u.left,n,{...r,path:[...r.path,"allOf",0]}),f=tn(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(f)?f.allOf:[f]];i.allOf=v},eR=(e,n,i,r)=>{const u=i,h=e._zod.def;u.type="object";const f=h.keyType,v=f._zod.bag?.patterns;if(h.mode==="loose"&&v&&v.size>0){const k=tn(h.valueType,n,{...r,path:[...r.path,"patternProperties","*"]});u.patternProperties={};for(const S of v)u.patternProperties[S.source]=k}else(n.target==="draft-07"||n.target==="draft-2020-12")&&(u.propertyNames=tn(h.keyType,n,{...r,path:[...r.path,"propertyNames"]})),u.additionalProperties=tn(h.valueType,n,{...r,path:[...r.path,"additionalProperties"]});const w=f._zod.values;if(w){const k=[...w].filter(S=>typeof S=="string"||typeof S=="number");k.length>0&&(u.required=k)}},tR=(e,n,i,r)=>{const u=e._zod.def,h=tn(u.innerType,n,r),f=n.seen.get(e);n.target==="openapi-3.0"?(f.ref=u.innerType,i.nullable=!0):i.anyOf=[h,{type:"null"}]},nR=(e,n,i,r)=>{const u=e._zod.def;tn(u.innerType,n,r);const h=n.seen.get(e);h.ref=u.innerType},aR=(e,n,i,r)=>{const u=e._zod.def;tn(u.innerType,n,r);const h=n.seen.get(e);h.ref=u.innerType,i.default=JSON.parse(JSON.stringify(u.defaultValue))},iR=(e,n,i,r)=>{const u=e._zod.def;tn(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)))},sR=(e,n,i,r)=>{const u=e._zod.def;tn(u.innerType,n,r);const h=n.seen.get(e);h.ref=u.innerType;let f;try{f=u.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}i.default=f},oR=(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;tn(h,n,r);const f=n.seen.get(e);f.ref=h},rR=(e,n,i,r)=>{const u=e._zod.def;tn(u.innerType,n,r);const h=n.seen.get(e);h.ref=u.innerType,i.readOnly=!0},_S=(e,n,i,r)=>{const u=e._zod.def;tn(u.innerType,n,r);const h=n.seen.get(e);h.ref=u.innerType},lR=(e,n,i,r)=>{const u=e._zod.innerType;tn(u,n,r);const h=n.seen.get(e);h.ref=u},cR=ne("ZodISODateTime",(e,n)=>{sT.init(e,n),Ft.init(e,n)});function TS(e){return mE(cR,e)}const uR=ne("ZodISODate",(e,n)=>{oT.init(e,n),Ft.init(e,n)});function ES(e){return pE(uR,e)}const dR=ne("ZodISOTime",(e,n)=>{rT.init(e,n),Ft.init(e,n)});function mR(e){return hE(dR,e)}const pR=ne("ZodISODuration",(e,n)=>{lT.init(e,n),Ft.init(e,n)});function hR(e){return fE(pR,e)}const fR=(e,n)=>{rS.init(e,n),e.name="ZodError",Object.defineProperties(e,{format:{value:i=>X8(e,i)},flatten:{value:i=>Y8(e,i)},addIssue:{value:i=>{e.issues.push(i),e.message=JSON.stringify(e.issues,Nf,2)}},addIssues:{value:i=>{e.issues.push(...i),e.message=JSON.stringify(e.issues,Nf,2)}},isEmpty:{get(){return e.issues.length===0}}})},_a=ne("ZodError",fR,{Parent:Error}),gR=j0(_a),yR=A0(_a),bR=tm(_a),vR=nm(_a),xR=e7(_a),wR=t7(_a),kR=n7(_a),SR=a7(_a),jR=i7(_a),AR=s7(_a),CR=o7(_a),NR=r7(_a),Mt=ne("ZodType",(e,n)=>(Pt.init(e,n),Object.assign(e["~standard"],{jsonSchema:{input:Nd(e,"input"),output:Nd(e,"output")}}),e.toJSONSchema=ME(e,{}),e.def=n,e.type=n.type,Object.defineProperty(e,"_def",{value:n}),e.check=(...i)=>e.clone(Cs(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)=>Ns(e,i,r),e.brand=()=>e,e.register=((i,r)=>(i.add(e,r),e)),e.parse=(i,r)=>gR(e,i,r,{callee:e.parse}),e.safeParse=(i,r)=>bR(e,i,r),e.parseAsync=async(i,r)=>yR(e,i,r,{callee:e.parseAsync}),e.safeParseAsync=async(i,r)=>vR(e,i,r),e.spa=e.safeParseAsync,e.encode=(i,r)=>xR(e,i,r),e.decode=(i,r)=>wR(e,i,r),e.encodeAsync=async(i,r)=>kR(e,i,r),e.decodeAsync=async(i,r)=>SR(e,i,r),e.safeEncode=(i,r)=>jR(e,i,r),e.safeDecode=(i,r)=>AR(e,i,r),e.safeEncodeAsync=async(i,r)=>CR(e,i,r),e.safeDecodeAsync=async(i,r)=>NR(e,i,r),e.refine=(i,r)=>e.check(Sz(i,r)),e.superRefine=i=>e.check(jz(i)),e.overwrite=i=>e.check(Br(i)),e.optional=()=>ux(e),e.exactOptional=()=>lz(e),e.nullable=()=>dx(e),e.nullish=()=>ux(dx(e)),e.nonoptional=i=>hz(e,i),e.array=()=>y(e),e.or=i=>Fe([e,i]),e.and=i=>az(e,i),e.transform=i=>Ef(e,IS(i)),e.default=i=>dz(e,i),e.prefault=i=>pz(e,i),e.catch=i=>gz(e,i),e.pipe=i=>Ef(e,i),e.readonly=()=>vz(e),e.describe=i=>{const r=e.clone();return oc.add(r,{description:i}),r},Object.defineProperty(e,"description",{get(){return oc.get(e)?.description},configurable:!0}),e.meta=(...i)=>{if(i.length===0)return oc.get(e);const r=e.clone();return oc.add(r,i[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=i=>i(e),e)),RS=ne("_ZodString",(e,n)=>{C0.init(e,n),Mt.init(e,n),e._zod.processJSONSchema=(r,u,h)=>LE(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(SE(...r)),e.includes=(...r)=>e.check(CE(...r)),e.startsWith=(...r)=>e.check(NE(...r)),e.endsWith=(...r)=>e.check(_E(...r)),e.min=(...r)=>e.check(Cd(...r)),e.max=(...r)=>e.check(SS(...r)),e.length=(...r)=>e.check(jS(...r)),e.nonempty=(...r)=>e.check(Cd(1,...r)),e.lowercase=r=>e.check(jE(r)),e.uppercase=r=>e.check(AE(r)),e.trim=()=>e.check(EE()),e.normalize=(...r)=>e.check(TE(...r)),e.toLowerCase=()=>e.check(RE()),e.toUpperCase=()=>e.check(zE()),e.slugify=()=>e.check(DE())}),_R=ne("ZodString",(e,n)=>{C0.init(e,n),RS.init(e,n),e.email=i=>e.check(HT(TR,i)),e.url=i=>e.check(YT(RR,i)),e.jwt=i=>e.check(dE(HR,i)),e.emoji=i=>e.check(XT(zR,i)),e.guid=i=>e.check(ix(lx,i)),e.uuid=i=>e.check(kS(rc,i)),e.uuidv4=i=>e.check(QT(rc,i)),e.uuidv6=i=>e.check(FT(rc,i)),e.uuidv7=i=>e.check(ZT(rc,i)),e.nanoid=i=>e.check(JT(DR,i)),e.guid=i=>e.check(ix(lx,i)),e.cuid=i=>e.check(WT(IR,i)),e.cuid2=i=>e.check(eE(OR,i)),e.ulid=i=>e.check(tE(qR,i)),e.base64=i=>e.check(lE($R,i)),e.base64url=i=>e.check(cE(KR,i)),e.xid=i=>e.check(nE(PR,i)),e.ksuid=i=>e.check(aE(MR,i)),e.ipv4=i=>e.check(iE(BR,i)),e.ipv6=i=>e.check(sE(LR,i)),e.cidrv4=i=>e.check(oE(VR,i)),e.cidrv6=i=>e.check(rE(UR,i)),e.e164=i=>e.check(uE(GR,i)),e.datetime=i=>e.check(TS(i)),e.date=i=>e.check(ES(i)),e.time=i=>e.check(mR(i)),e.duration=i=>e.check(hR(i))});function o(e){return GT(_R,e)}const Ft=ne("ZodStringFormat",(e,n)=>{Ut.init(e,n),RS.init(e,n)}),TR=ne("ZodEmail",(e,n)=>{Y7.init(e,n),Ft.init(e,n)}),lx=ne("ZodGUID",(e,n)=>{F7.init(e,n),Ft.init(e,n)}),rc=ne("ZodUUID",(e,n)=>{Z7.init(e,n),Ft.init(e,n)});function ER(e){return kS(rc,e)}const RR=ne("ZodURL",(e,n)=>{X7.init(e,n),Ft.init(e,n)}),zR=ne("ZodEmoji",(e,n)=>{J7.init(e,n),Ft.init(e,n)}),DR=ne("ZodNanoID",(e,n)=>{W7.init(e,n),Ft.init(e,n)}),IR=ne("ZodCUID",(e,n)=>{eT.init(e,n),Ft.init(e,n)}),OR=ne("ZodCUID2",(e,n)=>{tT.init(e,n),Ft.init(e,n)}),qR=ne("ZodULID",(e,n)=>{nT.init(e,n),Ft.init(e,n)}),PR=ne("ZodXID",(e,n)=>{aT.init(e,n),Ft.init(e,n)}),MR=ne("ZodKSUID",(e,n)=>{iT.init(e,n),Ft.init(e,n)}),BR=ne("ZodIPv4",(e,n)=>{cT.init(e,n),Ft.init(e,n)}),LR=ne("ZodIPv6",(e,n)=>{uT.init(e,n),Ft.init(e,n)}),VR=ne("ZodCIDRv4",(e,n)=>{dT.init(e,n),Ft.init(e,n)}),UR=ne("ZodCIDRv6",(e,n)=>{mT.init(e,n),Ft.init(e,n)}),$R=ne("ZodBase64",(e,n)=>{pT.init(e,n),Ft.init(e,n)}),KR=ne("ZodBase64URL",(e,n)=>{fT.init(e,n),Ft.init(e,n)}),GR=ne("ZodE164",(e,n)=>{gT.init(e,n),Ft.init(e,n)}),HR=ne("ZodJWT",(e,n)=>{bT.init(e,n),Ft.init(e,n)}),N0=ne("ZodNumber",(e,n)=>{yS.init(e,n),Mt.init(e,n),e._zod.processJSONSchema=(r,u,h)=>VE(e,r,u),e.gt=(r,u)=>e.check(ox(r,u)),e.gte=(r,u)=>e.check($h(r,u)),e.min=(r,u)=>e.check($h(r,u)),e.lt=(r,u)=>e.check(sx(r,u)),e.lte=(r,u)=>e.check(Uh(r,u)),e.max=(r,u)=>e.check(Uh(r,u)),e.int=r=>e.check(cx(r)),e.safe=r=>e.check(cx(r)),e.positive=r=>e.check(ox(0,r)),e.nonnegative=r=>e.check($h(0,r)),e.negative=r=>e.check(sx(0,r)),e.nonpositive=r=>e.check(Uh(0,r)),e.multipleOf=(r,u)=>e.check(rx(r,u)),e.step=(r,u)=>e.check(rx(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 gE(N0,e)}const QR=ne("ZodNumberFormat",(e,n)=>{vT.init(e,n),N0.init(e,n)});function cx(e){return bE(QR,e)}const FR=ne("ZodBoolean",(e,n)=>{xT.init(e,n),Mt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>UE(e,i,r)});function _(e){return vE(FR,e)}const ZR=ne("ZodNull",(e,n)=>{wT.init(e,n),Mt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>$E(e,i,r)});function de(e){return xE(ZR,e)}const YR=ne("ZodUnknown",(e,n)=>{kT.init(e,n),Mt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>GE()});function xn(){return wE(YR)}const XR=ne("ZodNever",(e,n)=>{ST.init(e,n),Mt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>KE(e,i,r)});function JR(e){return kE(XR,e)}const WR=ne("ZodArray",(e,n)=>{jT.init(e,n),Mt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>YE(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(SS(i,r)),e.length=(i,r)=>e.check(jS(i,r)),e.unwrap=()=>e.element});function y(e,n){return IE(WR,e,n)}const zS=ne("ZodObject",(e,n)=>{CT.init(e,n),Mt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>XE(e,i,r,u),gt(e,"shape",()=>n.shape),e.keyof=()=>A(Object.keys(e._zod.def.shape)),e.catchall=i=>e.clone({...e._zod.def,catchall:i}),e.passthrough=()=>e.clone({...e._zod.def,catchall:xn()}),e.loose=()=>e.clone({...e._zod.def,catchall:xn()}),e.strict=()=>e.clone({...e._zod.def,catchall:JR()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=i=>G8(e,i),e.safeExtend=i=>H8(e,i),e.merge=i=>Q8(e,i),e.pick=i=>$8(e,i),e.omit=i=>K8(e,i),e.partial=(...i)=>F8(OS,e,i[0]),e.required=(...i)=>Z8(qS,e,i[0])});function d(e,n){const i={type:"object",shape:e??{},...ze(n)};return new zS(i)}function ez(e,n){return new zS({type:"object",shape:e,catchall:xn(),...ze(n)})}const DS=ne("ZodUnion",(e,n)=>{xS.init(e,n),Mt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>JE(e,i,r,u),e.options=n.options});function Fe(e,n){return new DS({type:"union",options:e,...ze(n)})}const tz=ne("ZodDiscriminatedUnion",(e,n)=>{DS.init(e,n),NT.init(e,n)});function Be(e,n,i){return new tz({type:"union",options:n,discriminator:e,...ze(i)})}const nz=ne("ZodIntersection",(e,n)=>{_T.init(e,n),Mt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>WE(e,i,r,u)});function az(e,n){return new nz({type:"intersection",left:e,right:n})}const iz=ne("ZodRecord",(e,n)=>{TT.init(e,n),Mt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>eR(e,i,r,u),e.keyType=n.keyType,e.valueType=n.valueType});function He(e,n,i){return new iz({type:"record",keyType:e,valueType:n,...ze(i)})}const Tf=ne("ZodEnum",(e,n)=>{ET.init(e,n),Mt.init(e,n),e._zod.processJSONSchema=(r,u,h)=>HE(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 f of r)if(i.has(f))h[f]=n.entries[f];else throw new Error(`Key ${f} not found in enum`);return new Tf({...n,checks:[],...ze(u),entries:h})},e.exclude=(r,u)=>{const h={...n.entries};for(const f of r)if(i.has(f))delete h[f];else throw new Error(`Key ${f} not found in enum`);return new Tf({...n,checks:[],...ze(u),entries:h})}});function A(e,n){const i=Array.isArray(e)?Object.fromEntries(e.map(r=>[r,r])):e;return new Tf({type:"enum",entries:i,...ze(n)})}const sz=ne("ZodLiteral",(e,n)=>{RT.init(e,n),Mt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>QE(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 R(e,n){return new sz({type:"literal",values:Array.isArray(e)?e:[e],...ze(n)})}const oz=ne("ZodTransform",(e,n)=>{zT.init(e,n),Mt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>ZE(e,i),e._zod.parse=(i,r)=>{if(r.direction==="backward")throw new tS(e.constructor.name);i.addIssue=h=>{if(typeof h=="string")i.issues.push(bc(h,i.value,n));else{const f=h;f.fatal&&(f.continue=!1),f.code??(f.code="custom"),f.input??(f.input=i.value),f.inst??(f.inst=e),i.issues.push(bc(f))}};const u=n.transform(i.value,i);return u instanceof Promise?u.then(h=>(i.value=h,i)):(i.value=u,i)}});function IS(e){return new oz({type:"transform",transform:e})}const OS=ne("ZodOptional",(e,n)=>{wS.init(e,n),Mt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>_S(e,i,r,u),e.unwrap=()=>e._zod.def.innerType});function ux(e){return new OS({type:"optional",innerType:e})}const rz=ne("ZodExactOptional",(e,n)=>{DT.init(e,n),Mt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>_S(e,i,r,u),e.unwrap=()=>e._zod.def.innerType});function lz(e){return new rz({type:"optional",innerType:e})}const cz=ne("ZodNullable",(e,n)=>{IT.init(e,n),Mt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>tR(e,i,r,u),e.unwrap=()=>e._zod.def.innerType});function dx(e){return new cz({type:"nullable",innerType:e})}const uz=ne("ZodDefault",(e,n)=>{OT.init(e,n),Mt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>aR(e,i,r,u),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function dz(e,n){return new uz({type:"default",innerType:e,get defaultValue(){return typeof n=="function"?n():sS(n)}})}const mz=ne("ZodPrefault",(e,n)=>{qT.init(e,n),Mt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>iR(e,i,r,u),e.unwrap=()=>e._zod.def.innerType});function pz(e,n){return new mz({type:"prefault",innerType:e,get defaultValue(){return typeof n=="function"?n():sS(n)}})}const qS=ne("ZodNonOptional",(e,n)=>{PT.init(e,n),Mt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>nR(e,i,r,u),e.unwrap=()=>e._zod.def.innerType});function hz(e,n){return new qS({type:"nonoptional",innerType:e,...ze(n)})}const fz=ne("ZodCatch",(e,n)=>{MT.init(e,n),Mt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>sR(e,i,r,u),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function gz(e,n){return new fz({type:"catch",innerType:e,catchValue:typeof n=="function"?n:()=>n})}const yz=ne("ZodPipe",(e,n)=>{BT.init(e,n),Mt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>oR(e,i,r,u),e.in=n.in,e.out=n.out});function Ef(e,n){return new yz({type:"pipe",in:e,out:n})}const bz=ne("ZodReadonly",(e,n)=>{LT.init(e,n),Mt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>rR(e,i,r,u),e.unwrap=()=>e._zod.def.innerType});function vz(e){return new bz({type:"readonly",innerType:e})}const xz=ne("ZodLazy",(e,n)=>{VT.init(e,n),Mt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>lR(e,i,r,u),e.unwrap=()=>e._zod.def.getter()});function wz(e){return new xz({type:"lazy",getter:e})}const kz=ne("ZodCustom",(e,n)=>{UT.init(e,n),Mt.init(e,n),e._zod.processJSONSchema=(i,r,u)=>FE(e,i)});function Sz(e,n={}){return OE(kz,e,n)}function jz(e){return qE(e)}function _s(e,n){return Ef(IS(e),n)}const ye={custom:"custom"};function Ii(e){return yE(N0,e)}const PS=d({id:o(),name:o(),keyPrefix:o(),scopes:y(o()),projectId:o().nullable(),projectName:o().nullable(),readOnly:_(),operator:_().optional(),createdAt:o(),lastUsedAt:o().nullable(),revokedAt:o().nullable()});d({keys:y(PS)});d({name:o().min(1).max(100),scopes:y(o()).min(1).optional(),projectId:o().optional()});PS.extend({key:o()});const _0=A(["used","not-used","unknown","not-applicable"]);_0.enum;const T0=A(["native-auto-v1","search-required-v1"]);T0.enum;const Az=d({maxConcurrency:m().int().positive(),maxRequestsPerMinute:m().int().positive(),maxRequestsPerDay:m().int().positive()}),kt=o().min(1),E0=He(o(),o().trim().min(1));o().min(1);const ln=d({label:o().min(1),city:o().min(1),region:o().min(1),country:o().length(2),timezone:o().optional()}),R0=A(["answer-visibility","traffic-sync","gbp-sync","data-refresh","backlinks-sync","site-audit","ads-sync","doctor"]);R0.enum;const z0=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:R0,cronExpr:o(),recurrence:z0.nullable().optional(),preset:o().nullable().optional(),timezone:o().default("UTC"),enabled:_().default(!0),providers:y(kt).default([]),sourceId:o().nullable().optional(),lastRunAt:o().nullable().optional(),nextRunAt:o().nullable().optional(),createdAt:o(),updatedAt:o()});const Cz=o().datetime();d({kind:R0.optional(),preset:o().min(1).optional(),cron:o().min(1).optional(),recurrence:z0.optional(),timezone:o().optional().default("UTC"),enabled:_().optional().default(!0),providers:y(kt).optional().default([]),sourceId:o().optional(),expectedUpdatedAt:Cz.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 D0=A(["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:R("webhook"),url:o().url(),urlDisplay:o(),urlHost:o(),events:y(D0),enabled:_().default(!0),source:o().optional(),webhookSecret:o().optional(),createdAt:o(),updatedAt:o()});d({channel:R("webhook"),url:o().url(),events:y(D0).min(1),source:o().optional()});class Nz 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 mx(e,n){return new Nz("VALIDATION_ERROR",e,400,n)}function Ei(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 _z=A(["fraction","percent"]),La=_z.enum,Tz="x-unit";function MS(e,n){return e.meta({[Tz]:n})}function we(e=m()){return MS(e,La.fraction)}function ot(e=m()){return MS(e,La.percent)}La.fraction+"",La.percent+"";function Kh(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 px(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 Ez=o().trim().min(1).refine(e=>px(e)!==null,{message:"Marketing hosts must be valid hostnames without credentials or ports"}).overwrite(e=>px(e)??e),Rz=o().trim().min(1),zz=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"}),I0=d({marketingHosts:y(Ez).overwrite(e=>Kh(e,!0)),brandTerms:y(Rz).overwrite(e=>Kh(e,!0)),leadEventNames:y(zz).overwrite(e=>Kh(e))});function Dz(){return{marketingHosts:[],brandTerms:[],leadEventNames:["generate_lead"]}}const Gh=Object.freeze({marketingHosts:Object.freeze([]),brandTerms:Object.freeze([]),leadEventNames:Object.freeze(["generate_lead"])}),BS=()=>Dz(),hx=A(["never-synced","ready","error"]),Iz=A(["landing-page","channel"]),Oz=A(["30d","60d","90d"]),qz=A(["marketing","all"]),lc=ES(),Nc=d({label:A(["earliest","middle","previous","latest"]),startDate:lc,endDate:lc}),Hh=Nc.extend({sessions:m().int().nonnegative()}),fx=Nc.extend({eventCount:m().int().nonnegative()}),gx=Nc.extend({clicks:m().int().nonnegative(),impressions:m().int().nonnegative()}),Pz=Nc.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()}),Mz=Nc.extend({sessions:m().int().nonnegative(),engagementRate:we(m().min(0).max(1)).nullable(),dailyTotalUsers:m().int().nonnegative().nullable(),dailyNewUsers:m().int().nonnegative().nullable(),metricsAvailable:_(),daysInPeriod:m().int().nonnegative(),daysWithEngagementRate:m().int().nonnegative(),daysWithUserSplit:m().int().nonnegative()}),Bz=d({window:Oz,bucketDays:R(30),filters:d({hostScope:qz,marketingHosts:y(o()),pathPrefix:o().nullable(),brandTerms:y(o()),queryMixScope:R("property")}),acquisition:d({status:hx,error:o().nullable(),syncedAt:o().datetime().nullable(),periods:y(Hh),channels:y(d({channelGroup:o(),periods:y(Hh)})),pages:y(d({hostName:o(),landingPage:o(),periods:y(Hh)}))}),leads:d({status:hx,error:o().nullable(),syncedAt:o().datetime().nullable(),attributionScope:Iz.nullable(),hostAndPathFiltersApplied:_(),periods:y(fx),channels:y(d({channelGroup:o(),periods:y(fx)}))}),engagement:d({status:A(["ready","unavailable"]),availableFromDate:lc.nullable(),latestDate:lc.nullable(),periods:y(Mz)}),searchDemand:d({status:A(["ready","unavailable"]),periods:y(Pz),queries:y(d({query:o(),classification:A(["branded","non-branded"]),periods:y(gx)})),pages:y(d({hostName:o(),landingPage:o(),periods:y(gx)})),latestDate:lc.nullable()})}),_c=A(["sync","batch"]);_c.enum;const O0=He(o(),_c),LS=A(["submitting","submitted","ended","ingested","cancelled","failed","unknown"]),yx=LS.enum;yx.submitted,yx.ended;const q0=A(["standard","batch"]),bx=q0.enum,Lz=d({inputTokens:m().int().nonnegative(),cachedInputTokens:m().int().nonnegative(),cacheWriteTokens:m().int().nonnegative(),outputTokens:m().int().nonnegative(),searchCount:m().int().nonnegative()}),Vz=Lz.extend({pricingTier:q0,estimatedCostMicros:m().int().nonnegative().nullable(),priceSource:Fe([A(["default","override"]),de()])}),VS=d({inputPerMTok:m().nonnegative(),cachedInputPerMTok:m().nonnegative().optional(),cacheWritePerMTok:m().nonnegative().optional(),outputPerMTok:m().nonnegative(),searchPer1k:m().nonnegative().optional(),searchUnit:A(["query","prompt"]).optional(),batchTokenDiscount:m().min(0).max(1).optional()}).strict();d({models:He(o().min(1),VS).default({})}).strict();d({enabled:_().default(!1),maxRequestsPerBatch:m().int().positive().optional(),deadlineHours:m().positive().optional()}).strict();const Uz=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,$z=/[\0-\x1F\x7F-\x9F]/,Kz=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\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]/,Gz=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/;var Hz=class{src_Any=Uz.source;src_Cc=$z.source;src_Z=Gz.source;src_P=Kz.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 f=`${r}${h}{0,1000}${u}`;for(let b=2;b<=i;b++)f=`${r}(?:${h}|${f}){0,1000}${u}`;return f}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")}},Qh={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)},Qz={"http:":Qh,"https:":Qh,"ftp:":Qh,"//":{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)}},Fz="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",Zz="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф";function Yz(){const e=Zz.split("|");return Fz.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 Xz={fuzzyLink:!1,fuzzyEmail:!0,fuzzyIP:!1,"---":!1,tlds:Yz(),urlAuth:!1,maxLength:1e4},vx=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}},Jz=class{__opts__;__schemas__;re;constructor(e={}){const{rebuilder:n,...i}=e;this.__opts__={...Xz,...i},this.__schemas__={...Qz},this.re=n||new Hz,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,f,b,v,w=!1,k=!1,S=!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 N=Math.max(T-1,0);if(u&&h&&!S&&(!b||b.index<T))for(u.lastIndex<N&&(u.lastIndex=N);;){const W=u.exec(e);if(!W){S=!0,b=void 0;break}const L=h.exec(e.slice(Math.max(0,W.index-65),W.index));if(L){if(b={schema:"mailto:",index:W.index-L[1].length,lastIndex:W.index+W[0].length},b.index>=T)break;u.lastIndex<N&&(u.lastIndex=N)}}if(r&&!k&&(!f||f.index<T))for(r.lastIndex<N&&(r.lastIndex=N);;){const W=r.exec(e);if(!W){k=!0,f=void 0;break}if(f={schema:"",index:W.index+W[1].length,lastIndex:W.index+W[0].length},f.index>=T)break;r.lastIndex<N&&(r.lastIndex=N)}let I=b;(!I||f&&(f.index<I.index||f.index===I.index&&f.lastIndex>I.lastIndex))&&(I=f);let P;if(!w)for(;;){if(!v){i.lastIndex<N&&(i.lastIndex=N);const F=i.exec(e);if(!F){w=!0;break}v={schema:F[2],index:F.index+F[1].length,lastIndex:F.index+F[0].length}}if(v.index<T){v=void 0;continue}if(I&&v.index>I.index)break;const W=v;v=void 0;const L=this.testSchemaAt(e,W.schema,W.lastIndex);if(L){P={schema:W.schema,index:W.index,lastIndex:W.lastIndex+L};break}}let E=P;if((!E||b&&(b.index<E.index||b.index===E.index&&b.lastIndex>E.lastIndex))&&(E=b),(!E||f&&(f.index<E.index||f.index===E.index&&f.lastIndex>E.lastIndex))&&(E=f),!E)break;E===b?b=void 0:E===f&&(f=void 0);const V=new vx(e,E.schema,E.index,E.lastIndex);V.schema?this.__schemas__[V.schema].normalize(V,this):this.normalize(V),n.push(V),T=E.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 vx(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 US=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 Wz(e,n){return e.endsWith(n)?e.length===n.length||e[e.length-n.length-1]===".":!1}function eD(e,n){const i=e.length-n.length-2,r=e.lastIndexOf(".",i);return r===-1?e:e.slice(r+1)}function tD(e,n,i){if(i.validHosts!==null){const u=i.validHosts;for(const h of u)if(Wz(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:eD(n,e)}function nD(e,n){return e.slice(0,-n.length-1)}const Fh=/[\t\n\r]/g;let Rf=!1;function xx(e){return e>=97&&e<=122||e>=48&&e<=57||e>127||e>=65&&e<=90||e===45||e===95}function wx(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,f=e.charCodeAt(n+2)|32;return u===119&&h===115&&f===115||u===102&&h===116&&f===112?1:0}else if(r===4){const h=e.charCodeAt(n+1)|32,f=e.charCodeAt(n+2)|32,b=e.charCodeAt(n+3)|32;return u===104&&h===116&&f===116&&b===112?1:u===102&&h===105&&f===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 cc(e,n,i=!1){let r=0,u=e.length,h=!1,f=!1;if(Rf=!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 E=e.indexOf(":/",r);if(E!==-1){const V=wx(e,r,E);if(V===1)for(f=!0,r=E+2;e.charCodeAt(r)===47||e.charCodeAt(r)===92;)r+=1;else if(V===2){f=!0,r=E+1;let W=0;for(;(e.charCodeAt(r)===47||e.charCodeAt(r)===92)&&W<2;)r+=1,W+=1;if(W<2)return null}else{for(let W=r;W<E;W+=1){const L=e.charCodeAt(W)|32;if(!(L>=97&&L<=122||L>=48&&L<=57||L===46||L===45||L===43)){const F=e.charCodeAt(W);return F===9||F===10||F===13?cc(e.replace(Fh,""),n,i):null}}if(e.charCodeAt(E+2)===47)r=E+3;else return null}}else if(e.charCodeAt(r)!==91){let V=-1;for(let W=r;W<u;W+=1){const L=e.charCodeAt(W);if(L===9||L===10||L===13)return cc(e.replace(Fh,""),n,i);if(L===58){V=W;break}if(L===47||L===92||L===63||L===35)break}if(V!==-1){let W=!1;for(let L=V+1;L<u;L+=1){const F=e.charCodeAt(L);if(F===47||F===92||F===63||F===35)break;if(F===64){W=!0;break}}if(!W){let L=!0,F=V+1;for(;F<u;F+=1){const Z=e.charCodeAt(F);if(Z===47||Z===92||Z===63||Z===35)break;if(Z<48||Z>57){L=!1;break}}if(F===V+1&&(L=!1),!L){const Z=wx(e,r,V);if(Z===0){let ae=!1;for(let M=V+1;M<u;M+=1){const Y=e.charCodeAt(M);if(Y===47||Y===92||Y===63||Y===35)break;if(Y===58){ae=!0;break}}if(!ae)return null}else if(f=!0,r=V+1,Z===2){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(;e.charCodeAt(r)===47||e.charCodeAt(r)===92;)r+=1}}}}}let v=-1,w=-1,k=-1,S=-1,T=!1,N=i,I=r-1,P=-1;if(i&&r<u){const E=e.charCodeAt(r);(!(xx(E)||E===46||E===95)||E===45)&&(N=!1)}for(let E=r;E<u;E+=1){const V=e.charCodeAt(E);if(V<64)if(V===47||V===35||V===63){u=E;break}else V===58?(S===-1&&(S=E),k=E):V===9||V===10||V===13?T=!0:i&&(V===46?((E-I>64||P===46||P===45)&&(N=!1),I=E):(V<48||V>57)&&(V!==45||P===46)&&(N=!1));else if(f&&V===92){u=E;break}else V===64?(v=E,S=-1):V===93?w=E:V>=65&&V<=90?h=!0:i&&!xx(V)&&(N=!1);i&&(P=V)}if(T)return cc(e.replace(Fh,""),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&&S===k&&(u=k),r>=u)return null;i&&N&&v===-1&&k===-1&&w===-1&&e.charCodeAt(u-1)!==46&&u-r<=255&&u-I-1<=63&&P!==45&&(Rf=!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 aD(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 iD(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 sD(e){return iD(e)||aD(e)}const oD=["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 rD(e){for(const n of oD)if(e.endsWith(n)&&(e.length===n.length||e.charCodeAt(e.length-n.length-1)===46))return!0;return!1}function kx(e){return e>=97&&e<=122||e>=48&&e<=57||e>127}function Sx(e){if(e.length>255||e.length===0||!kx(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(!(kx(h)||h===45||h===95)||h===45&&i===46)return!1;i=h}return r-n-1<=63&&i!==45}function $S({allowIcannDomains:e=!0,allowPrivateDomains:n=!1,detectIp:i=!0,detectSpecialUse:r=!1,extractHostname:u=!0,mixedInputs:h=!0,validHosts:f=null,validateHostname:b=!0}){return{allowIcannDomains:e,allowPrivateDomains:n,detectIp:i,detectSpecialUse:r,extractHostname:u,mixedInputs:h,validHosts:f,validateHostname:b}}const lD=$S({});function cD(e){return e===void 0?lD:$S(e)}function uD(e,n){return n.length===e.length?"":e.slice(0,-n.length-1)}function dD(){return{domain:null,domainWithoutSuffix:null,hostname:null,isIcann:null,isIp:null,isPrivate:null,isSpecialUse:null,publicSuffix:null,subdomain:null}}function KS(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 GS(e,n,i,r,u){const h=cD(r);if(typeof e!="string")return u;let f=!1;return h.extractHostname?h.mixedInputs?(f=Sx(e),u.hostname=cc(e,f,h.validateHostname)):u.hostname=cc(e,!1,h.validateHostname):u.hostname=e,h.detectIp&&u.hostname!==null&&(u.isIp=sD(u.hostname),u.isIp)?u:h.validateHostname&&h.extractHostname&&u.hostname!==null&&!(f&&u.hostname===e)&&!Rf&&!Sx(u.hostname)?(u.hostname=null,u):(n===0||u.hostname===null||(n===5&&h.detectSpecialUse&&(u.isSpecialUse=rD(u.hostname)),i(u.hostname,h,u),n===2||u.publicSuffix===null)||(u.domain=tD(u.publicSuffix,u.hostname,h),n===3||u.domain===null)||(u.subdomain=uD(u.hostname,u.domain),n===4)||(u.domainWithoutSuffix=nD(u.domain,u.publicSuffix)),u)}function mD(e,n,i){if(!n.allowPrivateDomains&&e.length>3){const r=e.length-1,u=e.charCodeAt(r),h=e.charCodeAt(r-1),f=e.charCodeAt(r-2),b=e.charCodeAt(r-3);if(u===109&&h===111&&f===99&&b===46)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="com",!0;if(u===103&&h===114&&f===111&&b===46)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="org",!0;if(u===117&&h===100&&f===101&&b===46)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="edu",!0;if(u===118&&h===111&&f===103&&b===46)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="gov",!0;if(u===116&&h===101&&f===110&&b===46)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="net",!0;if(u===101&&h===100&&f===46)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="de",!0}return!1}const yo=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]),_d=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]),Td=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]),jx=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]),zf="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",pD=621,hD=625,HS=yo.length,QS=Td.length,FS=new Uint32Array(QS),gd=new Uint32Array(QS),Df=new Int32Array(HS).fill(-1);for(let e=0,n=0;e<HS;e+=1)for(let i=_d[e];i<_d[e+1];i+=1){FS[i]=n;const r=n+Td[i];let u=5381;for(let h=r-1;h>=n;h-=1)u=u*33^zf.charCodeAt(h);gd[i]=u>>>0,Td[i]===1&&zf.charCodeAt(n)===42&&(Df[e]=i),n=r}let Ri=-1,If=0,Of=0;function Ax(e,n,i,r){if(Td[e]!==r)return!1;const u=FS[e];for(let h=0;h<r;h+=1)if(zf.charCodeAt(u+h)!==n.charCodeAt(i+h))return!1;return!0}function Cx(e,n,i,r,u){let h=_d[e],f=_d[e+1];for(;h<f;){const b=h+f>>>1,v=gd[b];if(v<n)h=b+1;else if(v>n)f=b;else{for(let w=b;w>=h&&gd[w]===n;w-=1)if(Ax(w,i,r,u))return w;for(let w=b+1;w<f&&gd[w]===n;w+=1)if(Ax(w,i,r,u))return w;return-1}}return-1}function Nx(e,n,i){let r=n,u=e.length,h=5381;Ri=-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=Cx(r,h>>>0,e,w,u-w);if(k===-1&&(k=Df[r]),k===-1)return Ri!==-1;r=jx[k],(yo[r]&i)!==0&&(Ri=r,If=w,Of=u),u=b,h=5381}else h=h*33^v}let f=Cx(r,h>>>0,e,0,u);return f===-1&&(f=Df[r]),f!==-1&&(r=jx[f],(yo[r]&i)!==0&&(Ri=r,If=0,Of=u)),Ri!==-1}function ZS(e,n,i){if(mD(e,n,i))return;const r=(n.allowPrivateDomains?2:0)|(n.allowIcannDomains?1:0);if(Nx(e,hD,r)){i.isIcann=(yo[Ri]&1)!==0,i.isPrivate=(yo[Ri]&2)!==0,i.publicSuffix=e.slice(Of+1);return}if(Nx(e,pD,r)){i.isIcann=(yo[Ri]&1)!==0,i.isPrivate=(yo[Ri]&2)!==0,i.publicSuffix=e.slice(If);return}i.isIcann=!1,i.isPrivate=!1;const u=e.lastIndexOf(".");i.publicSuffix=u===-1?e:e.slice(u+1)}const Ed=dD();function fD(e,n){return KS(Ed),GS(e,0,ZS,n,Ed).hostname}function gD(e,n){return KS(Ed),GS(e,5,ZS,n,Ed).domainWithoutSuffix}const yD={allowPrivateDomains:!0};new Jz({fuzzyLink:!0,fuzzyEmail:!1}).tlds(US);function Tc(e){if(e==null)return null;const n=e.trim();if(!n)return null;const i=fD(n);return i?i.replace(/^www\./i,"").toLowerCase():null}function P0(e){return e==null||e.trim()===""?"":gD(e,yD)?.toLowerCase()??""}function vJ(e){return P0(e)||e}const bD=new Intl.Segmenter("en",{granularity:"word"}),vD=/[^\p{L}\p{N}]+/gu,xD=/[\p{L}\p{N}]+/gu,wD=/[\p{Script=Latin}\p{Script=Greek}\p{Script=Cyrillic}]/u,kD=new RegExp("\\P{ASCII}","u");function SD(e){if(!kD.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&&wD.test(u)?u:i}return n}function YS(e){return SD(e.normalize("NFKC")).toLocaleLowerCase("en")}function XS(e){const n=[];for(const i of bD.segment(e))if(i.isWordLike)for(const r of i.segment.match(xD)??[])n.push(r);return n}function jD(e){return XS(YS(e))}function Va(e){return jD(e).join("")}const _x=new WeakMap;function AD(e){if(!e)return null;const n=YS(e);return{normalized:n,stripped:n.replace(vD,"")}}function CD(e){const n=_x.get(e);if(n)return n;const i=XS(e.normalized);return _x.set(e,i),i}function ND(e){const n=new Set;let i=0;for(const r of e){if(!r)continue;const u=Va(r);u&&(n.add(u),u.length>i&&(i=u.length))}return{keys:n,longest:i}}function _D(e,n){if(!n||e.keys.size===0)return!1;const i=typeof n=="string"?AD(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=CD(i);for(let h=0;h<u.length;h++){let f="";for(let b=h;b<u.length;b++){if(f+=u[b],e.keys.has(f))return!0;if(f.length>=e.longest)break}}return!1}const TD=d({name:o(),accountName:o().nullable(),type:o().nullable(),role:o().nullable()});d({accounts:y(TD),total:m().int().nonnegative()});const ED=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:He(o(),xn()).nullable(),regularHours:He(o(),xn()).nullable(),primaryPhone:o().nullable(),openStatus:o().nullable(),openingDate:o().nullable(),selected:_(),syncedAt:o().nullable(),createdAt:o(),updatedAt:o()});d({locations:y(ED),totalDiscovered:m().int().nonnegative(),totalSelected:m().int().nonnegative()});d({selectAllNew:_().default(!0),accountName:o().optional(),switchAccount:_().default(!1)});d({selected:_()});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 RD=d({locationName:o(),date:o(),metric:o(),value:m().int()});d({metrics:y(RD),total:m().int().nonnegative()});const zD=d({locationName:o(),periodStart:o(),periodEnd:o(),keyword:o(),valueCount:m().int().nullable(),valueThreshold:m().int().nullable()});d({keywords:y(zD),total:m().int().nonnegative(),thresholdedPct:ot(m().min(0).max(100))});const DD=d({locationName:o(),placeActionLinkName:o(),placeActionType:o(),uri:o().nullable(),isPreferred:_(),providerType:o().nullable()});d({placeActions:y(DD),total:m().int().nonnegative()});const ID=d({locationName:o(),populatedGroupCount:m().int().nonnegative(),syncedAt:o(),attributes:He(o(),xn())});d({lodging:y(ID),total:m().int().nonnegative()});const OD=d({name:o(),valueType:o(),values:y(Fe([_(),o()])),unsetValues:y(o()),uris:y(o())}),qD=d({locationName:o(),attributeCount:m().int().nonnegative(),syncedAt:o(),attributes:y(OD)});d({attributes:y(qD),total:m().int().nonnegative()});const PD=d({locationName:o(),placeId:o(),tier:o(),amenities:y(o()),syncedAt:o(),place:He(o(),xn())});d({places:y(PD),total:m().int().nonnegative()});const JS=A(["gbp","places"]),M0=m().int().min(1).max(4),MD=A(["ok","unavailable","error"]),WS=A(["none","baseline","stale","pending","sent","skipped","suppressed"]);WS.enum;const BD=d({locationName:o(),origin:JS,reviewName:o(),starRating:m().int().min(1).max(5).nullable(),negative:_(),comment:o().nullable(),reviewerName:o().nullable(),createTime:o().nullable(),updateTime:o(),replied:_().nullable(),replyComment:o().nullable(),replyUpdateTime:o().nullable(),reviewUri:o().nullable(),firstSeenAt:o(),lastSeenAt:o(),alertState:WS,alertStateAt:o().nullable()}),LD=d({locationName:o(),displayName:o(),reviewsAccess:MD.nullable(),reviewsAccessReason:o().nullable(),reviewsCheckedAt:o().nullable(),rating:m().nullable(),reviewCount:m().int().nonnegative().nullable(),ratingOrigin:JS.nullable(),ratingObservedAt:o().nullable()});d({negativeMaxStars:m().int().min(1).max(4),locations:y(LD),reviews:y(BD),total:m().int().nonnegative()});d({scope:d({locationName:o().nullable(),locationCount:m().int().nonnegative()}),performance:d({totals:He(o(),m()),recent7d:He(o(),m()),prior7d:He(o(),m()),deltaPct:He(o(),ot().nullable())}),freshness:d({dataThroughDate:o().nullable(),latestStoredDate:o().nullable(),pendingDays:m().int().nonnegative()}),timeseries:y(d({date:o(),pending:_(),metrics:He(o(),m())})),keywords:d({total:m().int().nonnegative(),thresholdedCount:m().int().nonnegative(),thresholdedPct:ot(m().min(0).max(100))}),placeActions:d({total:m().int().nonnegative(),hasReservationCta:_(),hasBookingCta:_(),hasDirectMerchantCta:_()}),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 VD={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 UD(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 xJ(e){return VD[e]??UD(e)}const $D=["BUSINESS_DIRECTION_REQUESTS","WEBSITE_CLICKS","CALL_CLICKS"],KD=["BUSINESS_IMPRESSIONS_DESKTOP_SEARCH","BUSINESS_IMPRESSIONS_MOBILE_SEARCH","BUSINESS_IMPRESSIONS_DESKTOP_MAPS","BUSINESS_IMPRESSIONS_MOBILE_MAPS"];function wJ(e){return $D.includes(e)?"conversion":KD.includes(e)?"reach":"other"}new Set(US.map(e=>e.toLowerCase()));const GD=4,e2=A(["cli","api","config-file"]);function HD(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 QD(e,n){return n?e.some(i=>i.label===n):!0}const t2=20,n2=200,FD=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:He(o(),o()).optional(),providers:y(kt).optional(),providerModels:E0.optional(),providerDispatchModes:O0.optional(),locations:y(ln).optional(),defaultLocation:o().nullable().optional(),measurement:I0.optional(),autoExtractBacklinks:_().optional(),qualifiedAliases:y(o().trim().min(1).max(n2)).max(t2).optional(),negativeReviewMaxStars:M0.nullable().optional(),configSource:e2.optional()});FD.extend({name:o().trim().min(1).max(120)});const ZD=d({id:o(),name:o(),displayName:o().optional(),canonicalDomain:o(),ownedDomains:y(o()).default([]),aliases:y(o()).default([]),qualifiedAliases:y(o()).default([]),country:o().length(2),language:o().min(2),tags:y(o()).default([]),labels:He(o(),o()).default({}),providers:y(o()).default([]),providerModels:E0.default({}),providerDispatchModes:O0.default({}),locations:y(ln).default([]),defaultLocation:o().nullable().optional(),measurement:I0.default(BS),autoExtractBacklinks:_().default(!1),negativeReviewMaxStars:M0.nullable().optional(),configSource:e2.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:kt,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 Rd(e){return Tc(e)??e.trim().toLowerCase().replace(/^www\./,"")}function a2(e){const n=[e.canonicalDomain,...e.ownedDomains??[]],i=new Set,r=[];for(const u of n){const h=u.trim();if(!h)continue;const f=Rd(h);i.has(f)||(i.add(f),r.push(h))}return r}function YD(e,n){if(!n||n.length===0)return[];const i=e?.trim().toLowerCase()??"",r=new Set,u=[];for(const h of n){const f=h.trim();if(!f)continue;const b=f.toLowerCase();b!==i&&(r.has(b)||(r.add(b),u.push(f)))}return u}function XD(e){const n=[],i=new Set,r=h=>{const f=Va(h);!f||i.has(f)||(i.add(f),n.push(h))},u=e.displayName?.trim()??"";u&&r(u);for(const h of YD(e.displayName,e.aliases))r(h);for(const h of a2({canonicalDomain:e.canonicalDomain??"",ownedDomains:e.ownedDomains??[]})){const f=P0(h);if(Va(f).length>=GD)r(f);else{const b=Rd(h);b.includes(".")&&r(b)}}return n}const JD=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:He(o(),o()).optional().default({})}),WD=d({preset:o().min(1).optional(),cron:o().min(1).optional(),recurrence:z0.optional(),timezone:o().optional().default("UTC"),providers:y(kt).optional().default([]),enabled:_().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(),e9=d({channel:R("webhook"),url:o().url(),events:y(D0).min(1)}),t9=d({gsc:d({propertyUrl:o()}).optional(),syncSchedule:d({preset:o().optional(),cron:o().optional()}).optional()}).optional(),Tx=y(o().min(1)),n9=d({displayName:o().min(1),canonicalDomain:o().min(1),ownedDomains:y(o().min(1)).optional().default([]),aliases:y(o().min(1)).optional().default([]),qualifiedAliases:y(o().min(1).max(n2)).max(t2).optional(),country:o().length(2),language:o().min(2),queries:Tx.optional(),keywords:Tx.optional(),competitors:y(o().min(1)).optional().default([]),providers:y(kt).optional().default([]),providerModels:E0.optional().default({}),providerDispatchModes:O0.optional(),locations:y(ln).optional().default([]),defaultLocation:o().optional(),measurement:I0.optional().default(BS),schedule:WD,notifications:y(e9).optional().default([]),google:t9,autoExtractBacklinks:_().optional().default(!1),negativeReviewMaxStars:M0.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=HD(e.locations);i.length>0&&n.addIssue({code:"custom",message:`Duplicate location labels are not allowed: ${i.join(", ")}`,path:["locations"]}),QD(e.locations,e.defaultLocation)||n.addIssue({code:"custom",message:`defaultLocation "${e.defaultLocation}" must match a configured location label`,path:["defaultLocation"]})});d({apiVersion:R("canonry/v1"),kind:R("Project"),metadata:JD,spec:n9});const a9=["branded","non-brand"],Lr=A(a9),B0=A(["all","branded","non-brand"]);function i9(e){const n=e.filter(r=>Va(r).length>0);if(n.length===0)return null;const i=ND(n);return i.keys.size===0?null:{matcher:i,classify(r){return _D(i,r)?"branded":"non-brand"}}}const s9=2,o9=o().regex(/^[a-f0-9]{64}$/),im=o().trim().min(1).max(256),Ex=A(["sensitive","insensitive"]),ge=o().trim().min(1).max(128).regex(/^[a-z0-9][\w.~-]*$/i,"Must be a URL-safe stable key"),r9=o().trim().min(1).refine(e=>Tc(e)!==null,"A competitor domain must be a valid hostname"),l9=Be("kind",[d({kind:R("exact"),url:o().min(1),pathCase:Ex}).strict(),d({kind:R("prefix"),host:o().min(1),pathPrefix:o().min(1),pathCase:Ex}).strict(),d({kind:R("host"),host:o().min(1)}).strict()]),c9=d({canonicalHost:o().min(1),ownedHosts:y(o().min(1)),names:y(o().min(1))}).strict(),u9=d({projectBrand:c9}).strict(),d9=d({stableKey:ge,label:o().trim().min(1),aliases:y(o().min(1)),identityAliases:y(o().trim().min(1)).optional(),urlMatchers:y(l9),mentionNotApplicable:_(),discoveryIdentity:o().min(1).nullable()}).strict(),i2=d({stableKey:ge,label:o().trim().min(1),domain:r9,aliases:y(o().min(1))}).strict(),m9=d({stableKey:ge,label:o().trim().min(1),parentGroupKey:ge.optional(),targetKeys:y(ge),competitors:y(i2)}).strict(),p9=A(["manual","query-set","template","discovery","research"]),h9=d({templateId:o().trim().min(1).max(256),templateVersion:o().trim().min(1).max(256),template:o().trim().min(1).max(4e3),bindings:He(o().trim().min(1).max(128),o().trim().min(1).max(128)),output:o().trim().min(1).max(4e3)}).strict(),s2=d({source:p9,sourceId:o().min(1).nullable(),capturedAt:o().datetime(),template:h9.optional()}).strict(),f9=d({queryId:im,queryText:o().min(1),provenance:s2}).strict(),sm=d({providers:y(kt).min(1),models:He(kt,o().min(1)),location:ln.nullable()}).strict(),g9=d({stableKey:o().min(1),queryId:im,queryText:o().min(1),context:sm,expectedSnapshots:m().int().nonnegative()}).strict(),L0=Lr,y9=d({targetKey:ge,queryId:im,queryClass:L0,classificationSource:A(["server","operator"]).optional(),executionNodeKey:o().min(1)}).strict(),V0=d({executionNodeKey:o().min(1),targetKey:ge,queryId:im}).strict(),o2=d({stableKey:ge,label:o().trim().min(1),kind:R("market"),groupKey:ge.optional(),usageEdges:y(V0)}).strict();function Rx(e){return[e.executionNodeKey,e.targetKey,e.queryId].join("\0")}const om=d({schemaVersion:R(s9),identities:u9,targets:y(d9),groups:y(m9),querySnapshots:y(f9),assignments:y(y9),executionNodes:y(g9),usageEdges:y(V0),reportingScopes:y(o2).optional(),compiledChecksum:o9}).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(S=>S.stableKey===b.groupKey);(!k||b.usageEdges.some(S=>!k.targetKeys.includes(S.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,S)=>{const T=Rx(k);u.has(T)||n.addIssue({code:ye.custom,path:["reportingScopes",v,"usageEdges",S],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",S],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 f=new Map;e.groups.forEach((b,v)=>{f.has(b.stableKey)&&n.addIssue({code:ye.custom,path:["groups",v,"stableKey"],message:"Duplicate group stable key "+b.stableKey}),f.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=f.get(w);if(!k){n.addIssue({code:ye.custom,path:["groups",v,"parentGroupKey"],message:"Group parent does not exist: "+w});return}const S=new Set(k.targetKeys);b.targetKeys.forEach((I,P)=>{S.has(I)||n.addIssue({code:ye.custom,path:["groups",v,"targetKeys",P],message:"Group target membership must be a subset of its parent."})});const T=new Set([b.stableKey]);let N=k;for(;N.parentGroupKey!==void 0;){if(T.has(N.stableKey)){n.addIssue({code:ye.custom,path:["groups",v,"parentGroupKey"],message:"Group parent relationships cannot contain a cycle."});break}T.add(N.stableKey);const I=f.get(N.parentGroupKey);if(!I)break;N=I}});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}"`})}),U0=100;function Tr(e){return d({items:y(e),nextCursor:o().min(1).nullable(),totalEstimate:m().int().nonnegative().optional()}).strict()}const Ec=A(["no_completed_run","plan_v1","no_population","evidence_incomplete","identity_ambiguous","not_applicable"]),bn=Be("state",[d({state:R("available"),value:we(),numerator:m().int().nonnegative().optional(),denominator:m().int().positive().optional(),unattributed:m().int().positive().optional()}).strict(),d({state:R("unavailable"),reason:Ec}).strict()]),vc=Be("state",[d({state:R("available"),value:m().int().nonnegative(),numerator:m().int().nonnegative().optional(),denominator:m().int().positive().optional()}).strict(),d({state:R("unavailable"),reason:Ec}).strict()]),$0=A(["all","group","property"]),Ta=B0,b9=A(["label-asc","label-desc","citationCoverage-asc","citationCoverage-desc","mentionCoverage-asc","mentionCoverage-desc"]),K0=A(["not_measured","queued","running","complete","partial","failed"]),v9=A(["run_measurement","review_flags","complete_setup","republish_setup","none"]);d({scope:$0,groupKey:ge.optional(),targetKey:ge.optional(),queryClass:Ta.optional(),provider:kt.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:b9.optional(),cursor:o().trim().min(1).optional(),limit:m().int().positive().max(U0).optional()}).strict();const x9=d({provider:kt,mentionCoverage:bn,citationCoverage:bn}).strict(),w9=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(),qf=d({groupKey:ge,label:o().trim().min(1)}).strict(),k9=d({targetKey:ge,label:o().min(1),metro:qf.nullable().optional(),otherMetros:y(qf).min(1).optional(),mentionCoverage:bn,citationCoverage:bn,providers:y(x9),flags:m().int().nonnegative()}).strict(),S9=d({kind:A(["project","competitor"]),stableKey:o().min(1),label:o().min(1),domain:o().min(1),credits:m().int().nonnegative(),share:we(m().min(0).max(1))}).strict(),j9=d({groupKey:ge,queryClass:R("non-brand"),denominator:m().int().positive(),entries:y(S9)}).strict();d({mode:A(["active-v1","active-v2"]),scope:d({kind:$0,key:o().min(1).optional(),label:o().min(1)}).strict(),queryClass:Ta,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:_().optional()}).strict(),nextAction:d({kind:v9,count:m().int().nonnegative().optional()}).strict(),metrics:d({propertiesMentioned:vc,mentionCoverage:bn,citationCoverage:bn,brandPresence:bn,sov:bn.describe("Deprecated alias of brandPresence carrying the identical value. Remove once the browser migrates.")}).strict(),properties:Tr(k9),outcomes:w9,flags:d({total:m().int().nonnegative()}).strict(),namedShareOfVoice:j9.optional()}).strict();const r2=A(["sources","answers"]),A9=r2.enum;A9.sources;d({targetKey:ge,queryClass:Ta.optional(),provider:kt.optional(),location:o().trim().min(1).optional(),runId:o().trim().min(1).optional(),shape:r2.optional(),cursor:o().trim().min(1).optional(),limit:m().int().positive().max(U0).optional()}).strict();const l2=1,Rc=m().int().positive(),pn=o().trim().min(1).max(128).regex(/^[a-z0-9][\w.~-]*$/i,"Must be a URL-safe stable key"),zc=o().trim().min(1).max(256),zx=A(["sensitive","insensitive"]);function zd(e){const n=Tc(e);if(!n)throw new Error(`Invalid measurement host: ${e}`);return n}function C9(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 Dx(e){try{return decodeURI(e).normalize("NFC").toLowerCase()}catch{return e.normalize("NFC").toLowerCase()}}function c2(e){const n=new URL(`https://measurement.invalid${e}`).pathname;return C9(n.replace(/%[0-9a-f]{2}/gi,i=>i.toUpperCase()))}function Pf(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 c2(i)}catch{throw new Error(`Invalid measurement path prefix: ${e}`)}}function N9(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 Ix(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=zd(i.hostname),u=Pf(N9(n));return`https://${r}${u}`}const xc=o().trim().min(1).refine(e=>{try{return zd(e),!0}catch{return!1}},"A target URL matcher host must be a valid hostname").overwrite(e=>zd(e)),_9=o().trim().min(1).refine(e=>{try{return Pf(e),!0}catch{return!1}},"A target URL matcher pathPrefix must be an absolute path without query or fragment").overwrite(e=>Pf(e)),T9=o().trim().min(1).refine(e=>{try{return Ix(e),!0}catch{return!1}},"A target exact matcher must be an HTTP(S) URL without credentials, port, query, or fragment").overwrite(e=>Ix(e)),E9=Be("kind",[d({kind:R("exact"),url:T9,pathCase:zx}).strict(),d({kind:R("prefix"),host:xc,pathPrefix:_9,pathCase:zx}).strict(),d({kind:R("host"),host:xc}).strict()]),u2=o().trim().min(1).max(256).refine(e=>Va(e).length>0,"A target alias must contain mention text"),R9=He(o().trim().min(1),o()),z9=xc,d2=d({stableKey:pn,label:o().trim().min(1),urls:y(E9).min(1),aliases:y(u2),metadata:R9.optional()}).strict(),G0=d({stableKey:pn,label:o().trim().min(1),targetKeys:y(pn).min(1),competitors:y(z9).optional()}).strict(),m2=d({targetKey:pn,queryIds:y(zc).min(1),context:ln.nullable().optional()}).strict();function D9(e,n){return e<n?-1:e>n?1:0}function I9(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 Zh(e,n,i,r,u){for(const h of I9(n,u))e.addIssue({code:"custom",path:[...i],message:`Duplicate ${r}: ${h}`})}function Ox(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:zd(n.hostname),pathname:c2(n.pathname||"/")}}function O9(e,n,i,r){return e===i||(n==="insensitive"||r==="insensitive")&&Dx(e)===Dx(i)}function q9(e,n){if(e.kind!==n.kind)return!1;const i=Ox(e),r=Ox(n);return i.host!==r.host?!1:e.kind==="host"||n.kind==="host"?!0:O9(i.pathname,e.pathCase,r.pathname,n.pathCase)}function P9(e){const n=new Set;return[...e].sort(D9).filter(i=>{const r=Va(i);return n.has(r)?!1:(n.add(r),!0)})}const p2=d({schemaVersion:R(l2),targets:y(d2).min(1),groups:y(G0).optional(),targetQuerySelections:y(m2).optional()}).strict().superRefine((e,n)=>{const i=e.groups??[],r=e.targetQuerySelections??[];Zh(n,e.targets.map(v=>v.stableKey),["targets"],"target stable key"),Zh(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 f=new Map,b=[];e.targets.forEach((v,w)=>{for(const k of P9(v.aliases)){const S=Va(k),T=f.get(S);T&&T!==v.stableKey&&n.addIssue({code:"custom",path:["targets",w,"aliases"],message:`Target alias is already assigned to target ${T}: ${k}`}),f.set(S,v.stableKey)}v.urls.forEach((k,S)=>{b.find(N=>N.targetKey!==v.stableKey&&q9(N.matcher,k))&&n.addIssue({code:"custom",path:["targets",w,"urls",S],message:"Target URL matcher has an equal-specificity cross-target tie"}),b.push({targetKey:v.stableKey,matcher:k})})}),i.forEach((v,w)=>{Zh(n,v.targetKeys,["groups",w,"targetKeys"],"group target key");for(let k=0;k<v.targetKeys.length;k++){const S=v.targetKeys[k];u.has(S)||n.addIssue({code:"custom",path:["groups",w,"targetKeys",k],message:`Unknown target: ${S}`})}}),r.forEach((v,w)=>{u.has(v.targetKey)||n.addIssue({code:"custom",path:["targetQuerySelections",w,"targetKey"],message:`Unknown target: ${v.targetKey}`})})});p2.transform(e=>({...e,groups:e.groups??[],targetQuerySelections:e.targetQuerySelections??[]}));d({expectedActiveRevision:Rc.nullable(),plan:p2}).strict();const M9=d({queryId:zc,queryText:o().min(1)}).strict(),H0=d({stableKey:o().min(1),queryText:o().min(1),context:ln.nullable(),expectedSnapshots:m().int().nonnegative()}).strict(),B9=d({kind:R("baseline"),executionNodeKey:o().min(1),queryId:zc}).strict(),L9=d({kind:R("target"),executionNodeKey:o().min(1),queryId:zc,targetKey:pn}).strict(),Mf=Be("kind",[B9,L9]),h2=d({code:R("target-alias-prefix-overlap"),message:o().min(1),targetKeys:y(pn).min(1),aliases:y(o().min(1)).min(1)}).strict(),f2=d2.extend({mentionNotApplicable:_()}),g2=d({schemaVersion:R(l2),defaultContext:ln.nullable(),effectiveOwnedHosts:y(xc),projectCanonicalHost:xc,projectBrandNames:y(u2),targets:y(f2),groups:y(G0),targetQuerySelections:y(m2),querySnapshots:y(M9),executionNodes:y(H0),usageEdges:y(Mf),warnings:y(h2)}).strict(),V9=g2,y2=Be("schemaVersion",[g2,om]),Q0=o().regex(/^[a-f0-9]{64}$/),F0=o().datetime(),b2=d({schemaVersion:R(1),language:o().min(1).optional(),providers:y(o().min(1)).min(1),models:He(o().min(1),o().min(1)),checksum:o().regex(/^[a-f0-9]{64}$/)}).strict(),U9=d({groups:y(pn).optional(),targets:y(pn).optional()}).strict(),$9=d({groups:y(pn),targets:y(pn),queries:y(o().min(1)),resolvedTargets:y(pn)}).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:pn,retiredAt:o().datetime()});d({active:d({revision:Rc,checksum:Q0,createdAt:F0,plan:y2}).nullable()});d({versions:y(d({revision:Rc,checksum:Q0,createdAt:F0,active:_()}))});d({version:d({revision:Rc,checksum:Q0,createdAt:F0,active:_(),plan:y2})});const yd=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(),K9=A(["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"]),v2=d({id:K9,severity:A(["fail","warn"]),message:o().min(1),path:y(Fe([o(),m().int()]))}).strict(),G9=d({baseline:m().int().nonnegative(),target:m().int().nonnegative()}).strict(),x2=d({ok:R(!0),checks:y(v2),executionNodes:y(H0),dedupSaved:m().int().nonnegative(),usageEdges:G9,estCostUsd:de(),plan:V9,warnings:y(h2),counts:yd}).strict(),w2=d({ok:R(!1),checks:y(v2).min(1),executionNodes:y(H0).length(0),dedupSaved:R(0),usageEdges:d({baseline:R(0),target:R(0)}).strict(),estCostUsd:de()}).strict();Be("ok",[x2,w2]);const td=d({targetKey:pn,context:ln.nullable(),queryIds:y(zc)}).strict();function qx(e){return d({added:y(e),removed:y(e),changed:y(d({stableKey:pn,before:e,after:e}).strict()),unchanged:y(pn)}).strict()}const H9=x2.extend({diff:d({activeRevision:Rc.nullable(),targets:qx(f2),groups:qx(G0),querySelections:d({added:y(td),removed:y(td),changed:y(d({targetKey:pn,before:td,after:td}).strict()),unchanged:y(d({targetKey:pn,context:ln.nullable()}).strict())}).strict(),execution:d({addedNodeKeys:y(o().min(1)),removedNodeKeys:y(o().min(1)),addedUsageEdges:y(Mf),removedUsageEdges:y(Mf),counts:d({before:yd.nullable(),after:yd,delta:yd.nullable()}).strict()}).strict()}).strict()}).strict(),Q9=w2.extend({diff:de()}).strict();Be("ok",[H9,Q9]);const F9=1,Z9=o().refine(e=>e.trim().length>0,{message:"Must not be blank"}),k2=d({displayName:o(),aliases:y(o()),canonicalDomain:o(),ownedDomains:y(o()),qualifiedAliases:y(o()).optional()}).strict(),S2=d({provider:kt.refine(e=>e.trim().length>0,{message:"Provider must not be blank"}),requestedModel:o().nullable()}).strict(),j2=d({domain:o(),label:o(),aliases:y(o())}).strict(),A2=d({queryId:Z9,queryText:o(),provenance:o().nullable()}).strict(),Y9=A2.extend({queryClass:Lr.nullable()}).strict();function C2(e,n){const i=new Set;e.engines.forEach((h,f)=>{const b=h.provider.trim().toLocaleLowerCase("en");i.has(b)&&n.addIssue({code:ye.custom,path:["engines",f,"provider"],message:`Duplicate engine provider "${h.provider}"`}),i.add(b)});const r=new Set;e.queries.forEach((h,f)=>{r.has(h.queryId)&&n.addIssue({code:ye.custom,path:["queries",f,"queryId"],message:`Duplicate query id "${h.queryId}"`}),r.add(h.queryId)});const u=new Set;e.competitors?.forEach((h,f)=>{const b=h.domain;u.has(b)&&n.addIssue({code:ye.custom,path:["competitors",f,"domain"],message:`Duplicate competitor domain "${h.domain}"`}),u.add(b)})}d({capturedAt:o().datetime(),identity:k2,country:o(),language:o(),location:ln.nullable(),engines:y(S2).min(1),competitors:y(j2).optional(),queries:y(A2)}).strict().superRefine(C2);d({schemaVersion:R(F9),capturedAt:o().datetime(),identity:k2,country:o(),language:o(),location:ln.nullable(),engines:y(S2).min(1),competitors:y(j2).optional(),queries:y(Y9)}).strict().superRefine(C2);const X9=A(["auto","simple","advanced"]),J9=A(["simple","advanced"]),N2=A(["branded","non-brand","unknown","all"]),W9=A(["branded","non-brand","unknown"]),Z0=A(["project","group","market","property"]),_2=Be("kind",[d({kind:R("all")}).strict(),d({kind:R("none")}).strict(),d({kind:R("exact"),value:o().trim().min(1)}).strict()]);function eI(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 wt=o().trim().min(1),Oi=o().datetime(),tI={mode:X9.default("auto"),queryClass:N2.default("non-brand"),scope:Z0.default("project"),scopeKey:wt.optional(),marketKey:wt.optional(),provider:wt.optional(),model:wt.optional(),location:o().trim().min(1).optional(),from:Oi.optional(),to:Oi.optional(),revision:m().int().positive().optional(),runId:wt.optional(),queryKey:wt.optional(),queryId:wt.optional(),search:o().trim().min(1).optional(),cursor:wt.optional(),limit:m().int().min(1).max(100).default(50)},Dd=d(tI).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"})});Dd.transform(e=>({...e,location:eI(e.location)}));const Na=d({numerator:m().int().nonnegative().nullable(),denominator:m().int().nonnegative().nullable(),rate:we(m().min(0).max(1)).nullable(),reason:A(["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"}))}),T2=Be("kind",[d({kind:R("frozen-simple"),definitionRevision:de()}).strict(),d({kind:R("legacy-simple"),definitionRevision:de()}).strict(),d({kind:R("frozen-advanced"),definitionRevision:m().int().positive()}).strict(),d({kind:R("unsupported-advanced-v1"),definitionRevision:m().int().positive()}).strict()]),Id=d({id:wt,label:o().trim().min(1),kind:Z0,targetCount:m().int().nonnegative(),parentGroupIds:y(wt).optional(),marketKeys:y(wt).optional()}).strict(),nI=d({provider:wt,model:wt}).strict(),aI=d({providers:y(wt),models:y(nI),locations:y(_2)}).strict(),iI=d({queryCount:m().int().nonnegative(),answerCount:m().int().nonnegative(),mentionCoverage:Na,citationCoverage:Na,propertyReach:Na,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(),sI=d({runId:wt,createdAt:Oi,revision:m().int().positive().nullable(),provenance:T2,queryCount:m().int().nonnegative(),answerCount:m().int().nonnegative(),mentionCoverage:Na,citationCoverage:Na,continuity:d({state:A(["first","comparable","definition-changed","model-changed","legacy-unknown"]),comparedRunId:o().nullable()}).strict()}).strict(),oI=d({sourceSnapshotIds:y(wt).default([]),queryKey:wt,queryId:o().nullable(),query:o(),provider:wt,model:o().nullable(),location:o().nullable(),targetKeys:y(wt),marketKeys:y(wt).optional(),answerCount:m().int().nonnegative(),mentionCoverage:Na,citationCoverage:Na}).strict(),rI=d({answerId:wt,runId:wt,queryKey:wt,query:o(),provider:wt,model:o().nullable(),location:o().nullable(),targetKeys:y(wt),mentioned:_().nullable(),mentionUnavailableReason:R("identity-ambiguous").optional(),cited:_().nullable(),answerText:o().nullable(),createdAt:Oi,sources:y(o()),observedCompetitors:y(wt)}).strict(),lI=d({domain:wt,answerCount:m().int().nonnegative(),mentionCoverage:Na,citationCoverage:Na}).strict(),cI=d({name:wt,answerCount:m().int().nonnegative()}).strict(),uI=Be("state",[d({state:R("available")}).strict(),d({state:R("unavailable"),reason:R("frozen-competitor-identity-missing")}).strict()]),Px=d({id:wt,label:o().trim().min(1),queryCount:m().int().nonnegative(),mentionCoverage:Na,citationCoverage:Na}).strict();function Mx(e){return d({items:y(e),nextCursor:o().nullable(),total:m().int().nonnegative()}).strict()}const E2=A(["current-unavailable","previous-unavailable","not-applicable"]),kJ=E2.enum,Yh=Be("state",[d({state:R("available"),previous:Na,delta:we(m().min(-1).max(1))}).strict(),d({state:R("unavailable"),reason:E2}).strict()]),Bx=d({id:wt,createdAt:Oi,completedAt:Oi.nullable()}).strict(),R2=A(["no-selected-run","no-previous-run","scoped-run","partial-run","definition-changed","model-changed","legacy-unknown"]),SJ=R2.enum,dI=Be("state",[d({state:R("available"),previousRun:Bx,mentionCoverage:Yh,citationCoverage:Yh,propertyReach:Yh}).strict(),d({state:R("unavailable"),reason:R2,previousRun:Bx.nullable()}).strict()]),mI=d({queryClass:W9,summary:iI,trend:y(sI),comparison:dI.optional(),queries:Mx(oI),evidence:Mx(rI),competitorAvailability:uI,competitors:y(lI),observedCompetitors:y(cI),breakdown:d({properties:y(Px),groups:y(Px)}).strict()}).strict(),pI=A(["measured","not-measured","partial"]),hI=d({state:pI,activeRevision:m().int().positive().nullable(),measuredRevision:m().int().positive().nullable(),awaitingSweep:_(),pendingAssignmentCount:m().int().nonnegative(),completedAt:Oi.nullable()}).strict(),fI=d({mode:J9,queryClass:N2,scope:Id,market:Id.optional(),provider:o().nullable(),model:o().nullable(),location:_2,time:d({from:Oi.nullable(),to:Oi.nullable()}).strict(),revision:m().int().positive().nullable(),run:d({id:o().nullable(),explicit:_()}).strict(),provenance:T2,measurement:hI,availability:Be("state",[d({state:R("available")}).strict(),d({state:R("unsupported"),reason:R("advanced-v1")}).strict()])}).strict();d({selection:fI,scopeOptions:y(Id),filterOptions:aI,populations:y(mI).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 f=h.comparison;if(f?.state==="available")for(const b of["mentionCoverage","citationCoverage","propertyReach"]){const v=f[b];if(v.state!=="available")continue;const w=["populations",u,"comparison",b],k=h.summary[b].rate,S=v.previous.rate;k===null&&n.addIssue({code:ye.custom,path:w,message:"Available changes require a current rate"}),S===null&&n.addIssue({code:ye.custom,path:[...w,"previous","rate"],message:"Available changes require a previous rate"}),k!==null&&S!==null&&Math.abs(v.delta-(k-S))>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 z2=A(["retired-scope","retired-market"]),gI=z2.enum,yI=d({reason:z2,kind:Z0.exclude(["project"]),key:wt}).strict().superRefine((e,n)=>{e.reason===gI["retired-market"]&&e.kind!=="market"&&n.addIssue({code:ye.custom,path:["kind"],message:"retired-market details must name a market"})});function jJ(e){const n=yI.safeParse(e);return n.success?n.data:void 0}function bI(e,n){let i=e;for(const[r,u]of Object.entries(n))i=i.split(`{${r}}`).join(u);return i.trim()}const Y0=o().regex(/^[a-f0-9]{64}$/),oa=o().trim().min(1).max(256),Ua=o().trim().min(1).max(4e3),X0=o().datetime(),rm=o().regex(/^qtw_[a-f0-9]{64}$/),D2=o().regex(/^qtp_[a-f0-9]{64}$/),J0=A(["simple","advanced"]),I2=d({templateId:oa,templateVersion:o().trim().min(1).max(256),template:Ua,bindings:He(o().trim().min(1).max(128),o().trim().min(1).max(128)),output:Ua}).strict(),vI=d({source:A(["manual","query-set","template","research","discovery"]),sourceId:oa.nullable(),capturedAt:o().datetime(),template:I2.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."})}),xI=Be("source",[d({source:R("manual"),text:Ua}).strict(),d({source:R("template"),templateId:oa,templateVersion:o().trim().min(1).max(256),template:Ua}).strict(),d({source:R("research"),researchRunQueryId:oa}).strict(),d({source:R("discovery"),discoveryProbeId:oa}).strict()]),W0=d({targetKeys:y(ge).optional(),groupKeys:y(ge).optional(),marketKeys:y(ge).optional()}).strict(),wI=d({providers:y(kt).min(1),models:He(kt,o().trim().min(1)),location:o().trim().min(1).nullable()}).strict(),kI=d({input:xI,audience:W0.optional(),contexts:y(wI).min(1).optional(),queryClass:Lr.optional()}).strict(),SI=d({queryId:oa.optional(),queryText:Ua.optional(),audience:W0.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."})}),jI=d({queryId:oa,audience:W0.optional(),text:Ua.optional(),queryClass:Fe([Lr,de()]).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."})}),AI=d({additions:y(kI),removals:y(SI),edits:y(jI).optional()}).strict(),CI=AI.extend({expectedWorkspaceVersion:rm}).strict();CI.extend({previewToken:D2,reviewedAt:X0}).strict();const NI=d({stableKey:ge,label:o().trim().min(1)}).strict(),_I=d({stableKey:ge,parentGroupKey:ge.optional(),label:o().trim().min(1),targetKeys:y(ge)}).strict(),TI=d({stableKey:ge,groupKey:ge.optional(),label:o().trim().min(1),usageEdges:y(V0)}).strict(),EI=d({targetKey:ge,groupKeys:y(ge),marketKeys:y(ge),queryClass:Lr.nullable(),classificationSource:A(["frozen","server","operator"]),contexts:y(sm).min(1)}).strict(),O2=d({queryId:oa,queryText:Ua,normalizedText:Ua,provenance:vI.nullable(),state:A(["tracked","awaiting-sweep"]),lastMeasuredAt:o().datetime().nullable(),assignments:y(EI)}).strict(),RI=d({researchRunId:oa,researchRunQueryId:oa,queryText:Ua,createdAt:o().datetime()}).strict(),zI=d({discoverySessionId:oa,discoveryProbeId:oa,queryText:Ua,createdAt:o().datetime()}).strict();d({mode:J0,workspaceVersion:rm,active:d({revision:m().int().positive(),compiledChecksum:Y0}).strict().nullable(),defaultContexts:y(sm),targets:y(NI),groups:y(_I),markets:y(TI),scopeOptions:y(Id).optional(),tracked:y(O2),savedSources:d({research:y(RI),discovery:y(zI)}).strict()}).strict();const nd=d({queryId:oa,queryText:Ua,assignmentCount:m().int().nonnegative()}).strict(),q2=d({added:y(nd),removed:y(nd),reused:y(nd),unchanged:y(nd),noOp:_()}).strict(),P2=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:J0,workspaceVersion:rm,previewToken:D2,reviewedAt:X0,active:d({revision:m().int().positive(),compiledChecksum:Y0}).strict().nullable(),tracked:y(O2),diff:q2,workload:P2}).strict();d({committed:_(),mode:J0,workspaceVersion:rm,reviewedAt:X0,active:d({revision:m().int().positive(),compiledChecksum:Y0}).strict().nullable(),diff:q2,workload:P2}).strict();const lm=A(["complete","partial","failed","unsupported"]);lm.enum;A(["proposed","alias","shared","unmatched","excluded"]);A(["primary-match","exact-slug-match","excluded-slug","shared-path","unmatched-path","alias-without-primary","unsupported-slug"]);const DI=A(["invalid-url","unowned-host","duplicate-url","url-cap-reached"]),II=d({kind:A(["exact","prefix","suffix","contains"]),value:o().trim().min(1)}).strict(),Lx=d({host:o().trim().min(1),pathTemplate:o().trim().min(1)}).strict(),eg=d({primary:Lx,aliases:y(Lx).optional(),excludedSlugSuffixes:y(o().trim().min(1)).optional(),excludedSlugPatterns:y(II).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:eg,maxUrls:m().int().positive().max(1e4).optional()}).strict();const Xh=d({url:o(),canonicalUrl:o().nullable(),classification:A(["shared","unmatched","excluded"]),reason:A(["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"})}),OI=d({classification:R("proposed"),reason:R("primary-match"),stableKey:pn,slug:o().trim().min(1),label:o().trim().min(1),primaryUrl:o().url(),aliasCoverageUrls:y(o().url())}).strict(),qI=d({classification:R("alias"),reason:R("exact-slug-match"),slug:o().trim().min(1),url:o().url(),targetStableKey:pn}).strict(),PI=d({kind:DI,url:o(),canonicalUrl:o().nullable(),duplicateOf:o().optional()}).strict();d({proposed:y(OI),aliases:y(qI),shared:y(Xh),unmatched:y(Xh),excluded:y(Xh),diagnostics:y(PI)}).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 tg=A(["assigned","sibling","ownedUnmapped","external","ambiguous","invalid"]),M2=A(["baseline","target"]),B2=A(["incomplete","evidence-incomplete","identity-ambiguous","no-population","aliasless","no-competitors","no-project-aliases"]),vo=Fe([d({numerator:m().int().nonnegative(),denominator:m().int().positive(),rate:we(m().min(0).max(1)),unattributed:m().int().positive().optional()}).strict(),d({numerator:de(),denominator:de(),rate:de(),reason:B2}).strict()]).superRefine((e,n)=>{e.numerator!==null&&e.numerator>e.denominator&&n.addIssue({code:"custom",path:["numerator"],message:"Rate numerator cannot exceed denominator"})}),MI=o().trim().min(1).overwrite(e=>e.toLocaleLowerCase("en")),BI=d({executionId:o().trim().min(1),queryText:o().trim().min(1),provider:MI,context:ln.nullable(),requestedModel:o().trim().min(1).optional()}).strict();d({schemaVersion:R(1),expectedSlots:y(BI)}).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 cm=d({executed:m().int().nonnegative(),expected:m().int().nonnegative(),complete:_(),sourceComplete:_(),sourceCompleteObservations:m().int().nonnegative(),answerComplete:_()}).strict(),Vx=Fe([d({domain:o().trim().min(1),own:_(),presentIn:m().int().nonnegative(),of:m().int().positive()}).strict(),d({domain:o().trim().min(1),own:_(),presentIn:de(),of:de(),reason:B2}).strict()]),LI=d({domains:y(Vx),providers:y(d({provider:kt,domains:y(Vx)}).strict())}).strict(),VI=d({provider:kt,completeness:cm,answerCoverage:vo}).strict(),UI=d({id:o().trim().min(1),label:o().trim().min(1),targetIds:y(o().trim().min(1)),completeness:cm,answerCoverage:vo,targetCoverage:vo,sov:LI,providers:y(VI)}).strict(),$I=d({provider:kt,completeness:cm,citationCoverage:vo,mentionCoverage:vo}).strict(),KI=d({id:o().trim().min(1),label:o().trim().min(1),completeness:cm,citationCoverage:vo,mentionCoverage:vo,providers:y($I)}).strict(),L2=d({observationId:o().trim().min(1),expectedSlotId:o().trim().min(1),executionId:o().trim().min(1),usageEdgeId:o().trim().min(1),usageEdgeType:M2,provider:kt,queryText:o().trim().min(1),location:o().nullable(),sourceUrl:o(),bridged:_(),historical:_(),evidenceComplete:_(),classification:tg,normalizedUrl:o().nullable(),matchedTargetIds:y(o().trim().min(1)),matchedUrlIds:y(o().trim().min(1))}).strict(),GI=d({sourceUrl:o(),normalizedUrl:o().nullable(),classification:tg,matchedTargetIds:y(o().trim().min(1)),matchedUrlIds:y(o().trim().min(1))}).strict(),HI=d({observationId:o().trim().min(1),expectedSlotId:o().trim().min(1),executionId:o().trim().min(1),usageEdgeId:o().trim().min(1),usageEdgeType:M2,provider:kt,queryText:o().trim().min(1),location:o().nullable(),queryClass:Fe([A(["branded","non-brand"]),de()]),mentioned:_().nullable(),cited:_().nullable(),sources:y(GI),sourceCount:m().int().nonnegative(),sourcesTruncated:_(),bridged:_(),historical:_(),evidenceComplete:_()}).strict(),QI=d({bridgedObservationIds:y(o()),historicalObservationIds:y(o()),evidenceIncompleteObservationIds:y(o()),ambiguousObservationIds:y(o()),unmatchedObservationIds:y(o())}).strict(),FI=d({id:o().trim().min(1),status:A(["completed","partial"]),createdAt:o().datetime(),startedAt:o().datetime().nullable(),finishedAt:o().datetime().nullable()}).strict();d({revision:m().int().positive(),run:FI.nullable(),groups:y(UI),targets:y(KI),evidence:y(L2),diagnostics:QI}).strict();d({property:d({targetKey:ge,label:o().min(1)}).strict(),queryClass:Ta,measurement:d({state:K0,displayedRunId:o().min(1).optional(),completedAt:o().datetime().optional()}).strict(),evidence:Tr(L2).optional(),answers:Tr(HI).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 ca=A(["queued","running","completed","partial","failed","cancelled"]),Qt=ca.enum,ng=A(["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"]),Re=ng.enum;d({kind:ng.optional(),status:ca.optional()});const ag=A(["manual","scheduled","config-apply","backfill","probe"]),ai=ag.enum,qi=A(["cited","not-cited"]),uc=qi.enum,Od=A(["visible","not-visible"]);Od.enum;const wc=A(["mentioned","not-mentioned"]);wc.enum;const V2=A(["new","cited","lost","emerging","not-cited"]);V2.enum;const ZI=A(["new","mentioned","lost","emerging","not-mentioned"]);ZI.enum;const YI=A([ai.manual,ai.probe]);d({kind:R(Re["answer-visibility"]).optional(),trigger:YI.optional(),providers:y(kt).optional(),queries:y(o().min(1)).min(1).optional(),measurementScope:U9.optional(),location:o().min(1).optional(),allLocations:_().optional(),noLocation:_().optional(),dispatchMode:_c.optional()}).refine(e=>+!!e.location+ +!!e.allLocations+ +!!e.noLocation<=1,{message:'Only one of "location", "allLocations", or "noLocation" may be provided'});const XI=d({message:o(),raw:xn().optional()}),JI=d({message:o().optional(),providers:He(o(),XI).optional()}),WI=He(o(),R(_c.enum.batch)),eO=d({id:o(),provider:o(),model:o(),status:LS,requestCount:m().int().nonnegative(),ingestedCount:m().int().nonnegative(),recordedCount:m().int().nonnegative(),submittedAt:o().nullable(),endedAt:o().nullable(),deadlineAt:o(),error:o().nullable()}),tO=d({provider:o(),pricingTier:q0,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()}),nO=d({id:o(),projectId:o(),kind:ng,status:ca,trigger:ag.default("manual"),measurementPlanVersionId:o().nullable().optional(),measurementManifest:He(o(),xn()).nullable().optional(),measurementScope:$9.nullable().optional(),measurementExecutionIdentity:b2.nullable().optional(),location:o().nullable().optional(),queries:y(o()).nullable().optional(),startedAt:o().nullable().optional(),finishedAt:o().nullable().optional(),error:JI.nullable().optional(),queryBasketRevision:m().int().nullable().optional(),dispatchModes:WI.optional(),createdAt:o()});function ig(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 um=d({uri:o(),title:o()}),aO=d({status:A(["applied","ignored","browser-implicit","unknown"]),resolved:ln.nullable().optional()}),U2=d({id:o(),runId:o(),queryId:o(),query:o().optional(),provider:kt,citationState:qi,answerMentioned:_().optional(),visibilityState:Od.optional(),mentionState:wc.optional(),transition:V2.optional(),answerText:o().nullable().optional(),citedDomains:y(o()).default([]),citedUrls:y(o()).nullable().default(null),captureStatus:Fe([lm,de()]).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([_0,de()]).default(null),retrievalContract:Fe([T0,de()]).default(null),competitorOverlap:y(o()).default([]),citedCompetitorDomains:y(o()).default([]),mentionedCompetitorDomains:y(o()).default([]),recommendedCompetitors:y(o()).default([]),matchedTerms:y(o()).default([]),groundingSources:y(um).default([]),searchQueries:y(o()).default([]),model:o().nullable().optional(),servedModel:o().nullable().optional(),location:o().nullable().optional(),requestedContext:ln.nullable().optional(),supportedContext:aO.nullable().optional(),dispatchMode:Fe([_c,de()]).optional(),stopReason:o().nullable().optional(),usage:Vz.nullable().optional(),createdAt:o()});d({snapshots:y(U2),total:m().int().nonnegative()});const iO=d({queryId:o().nullable(),query:o().nullable(),run1State:qi.nullable(),run2State:qi.nullable(),run1AnswerMentioned:_().nullable(),run2AnswerMentioned:_().nullable(),run1VisibilityState:Od.nullable(),run2VisibilityState:Od.nullable(),run1MentionState:wc.nullable().optional(),run2MentionState:wc.nullable().optional(),changed:_(),visibilityChanged:_()});d({run1:o(),run2:o(),diff:y(iO)});const sO=nO.extend({snapshots:y(U2).optional(),providerBatches:y(eO).optional(),usage:y(tO).optional()}),oO=d({totalRuns:m().int().nonnegative(),run:sO.nullable()});d({id:o(),projectId:o().nullable().optional(),actor:o(),action:o(),entityType:o(),entityId:o().nullable().optional(),diff:xn().optional(),userAgent:o().nullable().optional(),actorSession:o().nullable().optional(),requestId:o().nullable().optional(),credentialId:o().nullable().optional(),createdAt:o()});const sg=A(["queued","running","completed","partial","failed"]);sg.enum;const $2=A(["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"]);$2.enum;d({providers:y(kt).min(1).optional(),dryRun:_().optional()}).strict();const K2=d({id:o(),runId:o(),projectId:o(),status:sg,providers:y(o()),expected:m().int().nonnegative(),filled:m().int().nonnegative(),error:o().nullable(),createdAt:o(),startedAt:o().nullable(),finishedAt:o().nullable()}),rO=d({runId:o(),status:ca,planned:_(),readable:_(),expected:m().int().nonnegative(),executed:m().int().nonnegative(),missing:m().int().nonnegative(),missingByProvider:He(o(),m().int().nonnegative()),fillable:_(),refusal:d({code:$2,message:o()}).nullable(),latestFill:K2.nullable()}),lO=A(["queued","already-complete","dry-run"]);d({outcome:lO,completeness:rO,fill:K2.nullable()});const $a=o().trim().min(1),jo=o().trim().min(1),cO=o().trim().min(1),Oe=m().int().nonnegative(),Dc=d({state:K0,displayedRunId:$a.nullable(),planRevision:m().int().positive(),completedAt:o().datetime().nullable()}).strict(),Ao=d({targetKey:ge,label:jo}).strict(),ra={runId:$a.optional(),provider:kt.optional(),location:cO.optional()},Er=o().trim().min(1),Jh=5,uO=10,dO=10,mO="tied Properties are ordered by name, not ranked";d({runId:ra.runId,groupKey:ge.optional(),queryClass:Ta.default("non-brand"),provider:ra.provider,location:ra.location,limit:m().int().positive().max(50).optional(),includeNestedMarkets:_().optional()}).strict();const Ux=qf,G2={metro:Ux.nullable(),otherMetros:y(Ux).min(1).optional(),submarkets:y(jo),queries:Oe},H2=d({name:Er,answers:Oe}).strict(),pO=d({name:Er,occurrences:Oe}).strict(),og=d({domain:o().trim().min(1),answers:Oe}).strict(),hO=Ao.extend({...G2,mentionCoverage:bn,citationCoverage:bn,flags:Oe,namedInsteadInAnswerText:y(H2).max(Jh),namedInsteadInAnswerTextTotal:Oe,citedDomains:y(og).max(Jh),citedDomainsTotal:Oe,recommendedInstead:y(pO).max(Jh).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:Oe.meta({deprecated:!0,description:"Deprecated: read namedInsteadInAnswerTextTotal, which it always equals."}),recommendedInsteadTruncated:_().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"})}),fO=d({metro:jo.nullable(),count:m().int().positive()}).strict(),gO=d({count:m().int().min(2),mentionRate:we(),citationRate:we(),note:R(mO),byMetro:y(fO).optional(),namedInstead:y(H2).max(dO).optional(),namedInsteadTotal:Oe.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"})}),yO=d({properties:Oe,answers:Oe,domains:y(og).max(uO),domainTotal:Oe,ownDomainAnswers:Oe.optional()}).strict().superRefine((e,n)=>{e.ownDomainAnswers!==void 0&&e.ownDomainAnswers>e.answers&&n.addIssue({code:ye.custom,path:["ownDomainAnswers"],message:"Own-domain answers cannot exceed the basis"}),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"})}),bO=d({groupKey:ge,label:jo,parentGroupKey:ge.nullable(),childMarketCount:Oe,propertyCount:Oe,propertiesMentioned:vc,mentionCoverage:bn,citationCoverage:bn}).strict(),$x=Ao.extend({...G2,mentionCoverage:bn.options[0],citationCoverage:bn}).strict(),vO=d({eligiblePropertyCount:Oe,strongest:y($x).max(50),weakest:y($x).max(50),excluded:y(Ao.extend({reason:Ec}).strict()),truncated:_()}).strict();d({portfolio:d({groupKey:ge.nullable(),label:jo.nullable(),measurementScope:Fe([A(["full","spot_check"]),de()])}).strict(),measurement:Dc,queryClass:Ta,engines:y(kt),metrics:d({propertiesMentioned:vc,mentionCoverage:bn,citationCoverage:bn}).strict(),weakestProperties:y(hO),tiedAtWeakest:gO.nullable(),weakestAnswerSources:yO.nullable(),mentionRanking:vO,markets:y(bO),totalMarkets:Oe,marketsTruncated:_(),totalProperties:Oe,truncated:_()}).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:ge,runId:ra.runId,provider:ra.provider,location:ra.location,queryClass:Ta.optional(),offset:m().int().nonnegative().optional(),limit:m().int().positive().max(100).optional()}).strict();A(["answered","missing"]);const Bf={queryId:$a,text:jo,class:L0,provider:kt,requestedModel:o().nullable(),servedModel:o().nullable(),location:o().nullable()},xO=Be("status",[d({resultId:$a,...Bf,status:R("answered"),mentioned:_().nullable(),cited:_().nullable(),recommendedInstead:y(Er),answerExcerpt:o().nullable()}).strict(),d({resultId:de(),...Bf,status:R("missing"),mentioned:de(),cited:de(),recommendedInstead:y(Er).length(0),answerExcerpt:de()}).strict()]);d({property:Ao,measurement:Dc,queryClass:Ta,questions:y(xO),total:Oe,truncated:_()}).strict();d({targetKey:ge,resultId:$a}).strict();const wO=d({url:$a,classification:tg,matchedTargetKeys:y(ge),assigned:_(),historical:_(),evidenceComplete:_()}).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:Ao,measurement:Dc,question:d({resultId:$a,...Bf,status:R("answered")}).strict(),mentioned:_().nullable(),cited:_().nullable(),recommendedInstead:y(Er),answer:o().nullable(),sources:y(wO),captureStatus:Fe([lm,de()]),retrievalStatus:Fe([_0,de()]),retrievalContract:Fe([T0,de()])}).strict();d({targetKey:ge,runId:ra.runId,provider:ra.provider,location:ra.location,queryClass:Ta.optional(),limit:m().int().positive().max(50).optional()}).strict();const kO=Be("state",[d({state:R("available"),answeredResults:Oe,targetMissResults:Oe,recommendationOccurrences:Oe}).strict(),d({state:R("unavailable"),reason:Ec}).strict()]),SO=d({name:Er,occurrences:Oe,providers:y(kt).max(5),providerTotal:Oe,providersTruncated:_(),questions:y(jo).max(5),questionTotal:Oe,questionsTruncated:_()}).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"})}),jO=10;d({property:Ao,measurement:Dc,queryClass:Ta,basis:kO,competitors:y(SO),total:Oe,truncated:_(),citedDomains:y(og).max(jO).optional(),citedDomainsTotal:Oe.optional(),citedDomainsAnswers:Oe.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 Q2=A(["magnitude","label"]),AO=2;d({runId:ra.runId,scope:$0.default("all"),groupKey:ge.optional(),targetKey:ge.optional(),queryClass:Ta.default("all"),provider:ra.provider,location:ra.location,limit:m().int().positive().max(50).optional(),sort:Q2.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 F2=A(["no_previous_run","execution_identity_changed","incomplete","not_comparable"]),Z2=Dc.extend({executionIdentity:$a.nullable(),measurementScope:Fe([A(["full","spot_check"]),de()])}).strict();function Y2(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 X2=d({state:R("unavailable"),reason:Ec}).strict(),qd=Be("state",[d({state:R("available"),previous:bn,current:bn,delta:we()}).strict().superRefine(Y2),X2]),CO=Be("state",[d({state:R("available"),previous:vc,current:vc,delta:m().int()}).strict().superRefine(Y2),X2]),Wh=d({propertiesMentioned:CO,mentionCoverage:qd,citationCoverage:qd}).strict(),NO=d({improved:Oe,declined:Oe,mixed:Oe,withinNoise:Oe,unchanged:Oe,notComparable:Oe,total:Oe,noiseAnswers:R(AO)}).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"})}),_O=Ao.extend({mentionCoverage:qd,citationCoverage:qd,flags:Oe,mentionAnswersDelta:m().int().nullable().optional(),citationAnswersDelta:m().int().nullable().optional(),denominatorChanged:_().optional(),withinNoise:_().optional(),mentionWithinNoise:_().nullable().optional(),citationWithinNoise:_().nullable().optional()}).strict();d({current:Z2,queryClass:Ta.optional(),comparison:Be("state",[d({state:R("available"),previous:d({displayedRunId:$a,planRevision:m().int().positive(),completedAt:o().datetime().nullable(),executionIdentity:$a,measurementScope:A(["full","spot_check"])}).strict(),metrics:Wh,metricsByClass:d({branded:Wh,nonBrand:Wh}).strict().optional(),sort:Q2.optional(),distribution:NO.optional(),changedProperties:y(_O),totalProperties:Oe,truncated:_()}).strict(),d({state:R("unavailable"),reason:F2}).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:ra.runId}).strict();const TO=A(["no_completed_run","incomplete","evidence_incomplete","no_population","not_applicable"]),Ic=d({state:R("unavailable"),reason:TO}).strict(),EO=d({state:R("available"),expected:Oe,executed:Oe,answered:Oe,missing:Oe}).strict(),RO=Be("state",[EO,Ic]).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"}))}),zO=d({state:R("available"),complete:Oe,partial:Oe,failed:Oe,unsupported:Oe,notRecorded:Oe}).strict(),DO=Be("state",[zO,Ic]),IO=d({state:R("available"),used:Oe,notUsed:Oe,unknown:Oe,notApplicable:Oe,notRecorded:Oe}).strict(),OO=Be("state",[IO,Ic]),qO=d({state:R("available"),expectedQuestions:Oe,answeredQuestions:Oe,missingQuestions:Oe}).strict(),PO=Be("state",[qO,Ic]).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"})}),Kx=Be("state",[d({state:R("available"),answered:Oe,unattributed:Oe}).strict(),Ic]).superRefine((e,n)=>{e.state==="available"&&e.unattributed>e.answered&&n.addIssue({code:ye.custom,path:["unattributed"],message:"Unattributed answers cannot exceed answered"})}),MO=d({status:sg,providers:y(o()),expected:Oe,filled:Oe,createdAt:o(),finishedAt:o().nullable()}).strict();d({run:Z2,completeness:RO,capture:DO,retrieval:OO,population:PO,comparison:Be("state",[d({state:R("available"),previousDisplayedRunId:$a}).strict(),d({state:R("unavailable"),reason:F2}).strict()]),unattributedByClass:d({branded:Kx,nonBrand:Kx}).strict().optional(),latestFill:MO.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 Rr=o().regex(/^[a-f0-9]{64}$/),Ka=o().trim().min(1).max(256),si=m().int().positive(),Gx=d({kind:A(["user","api-key","system"]),id:o().trim().min(1),label:o().trim().min(1)}).strict(),BO=A(["proposed","included","excluded"]),LO=A(["manual","sitemap"]),rg=d({stableKey:ge,label:o().trim().min(1),status:BO,aliases:y(o().trim().min(1)),identityAliases:y(o().trim().min(1)).optional(),urlMatchers:y(o().trim().min(1)),source:LO,discoveredUrl:o().trim().min(1).optional(),discoveryIdentity:o().trim().min(1).optional()}).strict(),dm=d({providers:y(kt).optional(),models:He(kt,o().trim().min(1)).optional(),locations:y(o().trim().min(1)).optional()}).strict(),VO=A(["branded","non-brand","unclassified"]),UO=A(["rule","operator"]),J2=d({targetKey:ge,queryId:Ka,contextOverride:dm.optional(),executionContexts:y(sm.extend({executionNodeKey:o().min(1).optional()})).min(1).optional(),queryProvenance:s2.optional(),queryClass:VO,classificationSource:UO}).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."})}),mm=i2,W2=d({stableKey:ge,label:o().trim().min(1),parentGroupKey:ge.optional(),targetKeys:y(ge),competitors:y(mm)}).strict(),$O=d({sitemapUrl:o().url(),rule:eg,exclusions:y(o().trim().min(1)),inputChecksum:Rr,reviewedAt:o().datetime().optional()}).strict(),KO=d({providers:y(kt),models:He(kt,o().trim().min(1)).optional(),locations:y(o().trim().min(1))}).strict(),ej=o2,GO=d({defaultContext:KO,targets:y(rg),assignments:y(J2),groups:y(W2),reportingScopes:y(ej).optional(),discovery:$O.optional()}).strict(),HO=d({id:o().trim().min(1),projectId:o().trim().min(1),schemaVersion:R(2),baseActiveVersionId:o().trim().min(1).nullable(),baseActiveRevision:si.nullable(),authoring:GO,createdBy:Gx,updatedBy:Gx,createdAt:o().datetime(),updatedAt:o().datetime()}).strict(),lg=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(),QO=d({code:o().trim().min(1),message:o().trim().min(1),path:y(Fe([o(),m().int()]))}).strict(),tj=d({etag:o().trim().min(1),changed:_(),warnings:y(QO),counts:lg}).strict();d({draft:HO.nullable(),etag:o().trim().min(1).nullable()}).strict();Tr(rg);Tr(J2);Tr(W2);d({search:o().optional(),cursor:o().trim().min(1).optional(),limit:m().int().positive().max(U0).optional()}).strict();d({expectedActiveRevision:si.nullable()}).strict();d({sitemapUrl:o().url(),rule:eg,exclusions:y(o().trim().min(1)).optional()}).strict();const FO=d({discoveryIdentity:o().trim().min(1),action:A(["create","rebind","ignore"]),targetKey:ge.optional(),label:o().trim().min(1).optional()}).strict();d({selections:y(FO),selectedTargetKeys:y(ge).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:rg}).strict();d({targetKey:ge,label:o().trim().min(1)}).strict();d({targetKey:ge,mergedKeys:y(ge).min(1)}).strict();d({targetKey:ge,cleanup:R("assignments-and-group-memberships").optional()}).strict();d({targetKey:ge,discoveryIdentity:o().trim().min(1),discoveredUrl:o().url()}).strict();const nj={targetKeys:y(ge).optional(),groupKeys:y(ge).optional()};function aj(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(nj).strict().superRefine(aj);const ZO=d({...nj,queryIds:y(Ka).min(1),contextOverride:dm.optional()}).strict().superRefine(aj);Fe([d({targetKey:ge,queryIds:y(Ka).min(1),contextOverride:dm.optional()}).strict(),ZO]);const YO=d({groupKey:ge,label:o().trim().min(1),memberCount:m().int().positive()}).strict();d({draftEtag:o().trim().min(1),groups:y(YO),resolvedTargetKeys:y(ge),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:ge,queryId:Ka}).strict()).min(1),contextOverride:dm.optional()}).strict();Fe([d({targetKey:ge,queryId:Ka}).strict(),d({targetKeys:y(ge).min(1),queryId:Ka}).strict()]);d({targetKey:ge}).strict();d({queryClass:L0,assignments:y(d({targetKey:ge,queryId:Ka}).strict()).min(1)}).strict();d({group:d({stableKey:ge,label:o().trim().min(1),parentGroupKey:ge.nullable().optional(),targetKeys:y(ge),competitors:y(mm).optional()}).strict()}).strict();d({market:ej}).strict();d({groupKey:ge}).strict();d({groupKey:ge,competitor:mm}).strict();d({expectedActiveRevision:si,groupKey:ge,domain:o().trim().min(1).refine(e=>Tc(e)!==null,"A competitor domain must be a valid hostname"),label:o().trim().min(1).optional(),aliases:y(o().trim().min(1)).optional()}).strict();tj.extend({groupKey:ge,competitor:mm,draftCreated:_(),published:d({revision:si,competitorsChanged:R(!1)}).strict()}).strict();d({groupKey:ge,competitorKey:ge}).strict();const Pd=d({ruleId:o().trim().min(1),severity:A(["fail","warn"]),message:o().trim().min(1),path:y(Fe([o(),m().int()]))}).strict();Be("ok",[d({ok:R(!0),compiledChecksum:Rr,checks:y(Pd),counts:lg,plan:om}).strict(),d({ok:R(!1),compiledChecksum:de(),checks:y(Pd).min(1)}).strict()]);const Hx=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(),XO=d({activeRevision:si.nullable(),targets:Hx,groups:Hx,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:R(!0),compiledChecksum:Rr,checks:y(Pd),counts:lg,plan:om,diff:XO}).strict(),d({ok:R(!1),compiledChecksum:de(),checks:y(Pd).min(1),diff:de()}).strict()]);d({expectedActiveRevision:si.nullable(),expectedCompiledChecksum:Rr}).strict();d({published:_(),active:d({revision:si,checksum:Rr,compiledChecksum:Rr,createdAt:o().datetime(),plan:om}).strict()}).strict();d({discarded:_()}).strict();d({expectedActiveRevision:si}).strict();d({deactivated:_(),previousRevision:si.nullable()}).strict();const JO=A(["republish_required","setup_in_progress","awaiting_first_run","operational","simple"]),WO=A(["republish_setup","continue_setup","run_measurement","view_measurement","start_setup"]),eq=A(["simple","draft-only","active-v1","active-v2"]);d({state:JO,nextAction:WO,mode:eq,answerVisibilityProviderReady:_(),activeRevision:si.nullable(),activeSchemaVersion:Fe([R(1),R(2)]).nullable(),draft:d({etag:o().trim().min(1),updatedAt:o().datetime()}).strict().nullable()}).strict();const ij=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(),tq=d({queryId:Ka,queryText:o().min(1),position:m().int().nonnegative()}).strict();ij.extend({items:y(tq)}).strict();d({querySets:y(ij)}).strict();d({name:o().trim().min(1),description:o().nullable().optional(),queryIds:y(Ka)}).strict();const nq=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(nq)}).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(He(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 Md=o().regex(/^[a-f0-9]{64}$/),pm=m().int().positive();d({stableKey:ge,kind:A(["target","group"]),retiredAt:o().datetime().nullable()}).strict();d({csv:o()}).strict();A(["matched","ambiguous","unmatched","invalid","duplicate","proposed","excluded"]);const aq=A(["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"]),Lf=d({dataRow:pm,property:o(),group:o(),url:o().nullable(),normalizedProperty:o(),normalizedGroupLabel:o()}).strict(),Wl=Lf.extend({reason:aq}),iq=d({source:A(["draft-target","draft-group","persisted-segment","retired-segment","proposed-group"]),stableKey:ge,kind:A(["target","group"]).optional(),retiredAt:o().datetime().nullable().optional(),normalizedGroupLabel:o().optional()}).strict(),sq=d({proposedGroupKey:ge,evidence:y(iq).min(1)}).strict(),oq=Be("status",[Lf.extend({status:R("matched"),targetKey:ge,groupKey:ge}).strict(),Wl.extend({status:R("ambiguous"),candidateTargetKeys:y(ge).min(1).optional(),candidateGroupKeys:y(ge).min(1).optional()}).strict(),Wl.extend({status:R("unmatched")}).strict(),Wl.extend({status:R("invalid"),groupKeyConflict:sq.optional()}).strict(),Lf.extend({status:R("duplicate"),duplicateOfRow:pm,targetKey:ge,groupKey:ge}).strict(),Wl.extend({status:R("proposed"),targetKey:ge}).strict(),Wl.extend({status:R("excluded"),targetKey:ge}).strict()]),rq=d({normalizedGroupLabel:o(),groupKey:ge,label:o().trim().min(1),action:A(["create","extend"]),matchedRows:y(pm),targetKeys:y(ge),addedTargetKeys:y(ge),unchangedTargetKeys:y(ge)}).strict(),lq=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:Md,previewChecksum:Md,rows:y(oq),groupChanges:y(rq),counts:lq}).strict();d({csv:o(),sourceChecksum:Md,previewChecksum:Md,acceptedRows:y(pm).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."})});tj.extend({appliedRows:m().int().nonnegative(),addedMemberships:m().int().nonnegative(),unchangedMemberships:m().int().nonnegative()}).strict();function sj(e,n){return Number((n===La.percent?e:e*100).toFixed(6))}function oj(e){return Math.round(Number((e*10).toFixed(4)))/10}function Bd(e,n=La.fraction){if(e==null||!Number.isFinite(e))return"—";const i=sj(e,n);if(i===0)return"0%";const r=i<0?"-":"",u=Math.abs(i);if(u===100)return`${r}100%`;const h=oj(u);return h===0?`${r}<0.1%`:h===100&&u<100?`${r}>99.9%`:`${r}${h.toFixed(1)}%`}function AJ(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"):"—"}const cq=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function dc(e,n=new Date){const i=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e),r=i?cq[Number(i[2])-1]:void 0;if(!i||!r)return e;const u=`${r} ${Number(i[3])}`;return Number(i[1])===n.getFullYear()?u:`${u}, ${i[1]}`}function CJ(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=uq(u,1));return r}function uq(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"),f=String(r.getUTCDate()).padStart(2,"0");return`${u}-${h}-${f}`}function NJ(e,n=La.fraction){const i=sj(e,n);if(i===0)return{direction:"none",magnitude:"0"};const r=oj(Math.abs(i));return{direction:i>0?"up":"down",magnitude:r===0?"<0.1":r.toFixed(1)}}function _J(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 rj=A(["introduced","repointed","retired"]),dq=rj.enum;d({modelId:o().trim().min(1),date:o().regex(/^\d{4}-\d{2}-\d{2}$/,"date must be YYYY-MM-DD"),kind:rj,confirmed:_(),sourceUrl:o().url(),note:o().min(1)});const mq=[{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.'}];dq.repointed;new Set(mq.map(e=>e.modelId.toLowerCase()));const pq=A(["not-exposed","no-known-change","known-change"]);pq.enum;const hq=d({modelId:o().trim().min(1),date:o().regex(/^\d{4}-\d{2}-\d{2}$/),confirmed:_(),sourceUrl:o().url()}),fq=d({status:A(["no-known-change","known-change"]),modelIds:y(o().trim().min(1)).min(1),changes:y(hq),changeCount:m().int().nonnegative(),unverifiedChangeCount:m().int().nonnegative(),firstChangeDate:o().optional(),lastChangeDate:o().optional(),knownGoodAsOf:o(),checkedThroughPeriodEnd:_()}),gq={openai:"ChatGPT",chatgpt:"ChatGPT",anthropic:"Claude",claude:"Claude",google:"Gemini",gemini:"Gemini",perplexity:"Perplexity"};function yq(e){const n=e.trim().toLowerCase();return gq[n]??e.charAt(0).toUpperCase()+e.slice(1)}function ef(e){return typeof e=="number"&&Number.isFinite(e)&&e>0?Math.floor(e):0}function ec(e){return typeof e=="string"&&e.trim().length>=10?e.trim().slice(0,10):null}function tf(e){return[...new Set(e.filter(n=>n!==null))].sort()}function bq(e,n,i){const r=i(e),u=Array.isArray(n.changes)?n.changes:[],h=ef(n.changeCount)||u.length,f=Math.min(h,ef(n.unverifiedChangeCount)||ef(n.unconfirmedChangeCount)||u.filter(S=>S.confirmed===!1).length),b=ec(n.knownGoodAsOf),v=n.checkedThroughPeriodEnd!==!1,w={engine:r,confirmedCount:h-f,unconfirmedCount:f,knownGoodAsOf:b,checkedThroughPeriodEnd:v};if(u.length>0)return{...w,confirmedDates:tf(u.filter(S=>S.confirmed!==!1).map(S=>ec(S.date))),unconfirmedDates:tf(u.filter(S=>S.confirmed===!1).map(S=>ec(S.date)))};const k=tf([ec(n.firstChangeDate),ec(n.lastChangeDate)]);return h===0?{...w,confirmedDates:[],unconfirmedDates:[]}:f===0?{...w,confirmedDates:k,unconfirmedDates:[]}:w.confirmedCount===0?{...w,confirmedDates:[],unconfirmedDates:k}:{...w,confirmedDates:[],unconfirmedDates:[]}}function vq(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 Qx(e,n){return e.length===0?null:e.length===1&&n<=1?`on ${dc(e[0])}`:`more than once between ${dc(e[0])} and ${dc(e[e.length-1])}`}function xq(e){const n=Qx(e.confirmedDates,e.confirmedCount),i=Qx(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 Fx(e){const n=e.filter(r=>!r.checkedThroughPeriodEnd&&r.knownGoodAsOf!==null);if(n.length===0)return null;const i=n.map(r=>r.knownGoodAsOf).sort()[0];return`We last checked for model updates on ${dc(i)}, and this period runs past that date, so there may be later updates we do not know about.`}function TJ(e,n={}){const i=n.engineName??yq,r=Object.entries(e??{}).map(([k,S])=>bq(k,S??{},i)).sort((k,S)=>k.engine.localeCompare(S.engine));if(r.length===0)return null;const u=r.filter(k=>k.confirmedCount+k.unconfirmedCount>0);if(u.length===0){const k=[...new Set(r.map(P=>P.engine))],S=k.length>1,T=Fx(r),N=[...new Set(r.map(P=>P.knownGoodAsOf).filter(P=>P!==null))].sort(),I=T??(N.length>0?`We last checked for model updates on ${dc(N[0])}.`:null);return{kind:"no-known-change",text:`No model updates are on record for ${vq(k)} in this period.`,detail:`${S?"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.${I?` ${I}`:""}`}}const h=u.reduce((k,S)=>k+S.confirmedCount+S.unconfirmedCount,0),f=u.some(k=>k.confirmedCount>0),b=h===1?"this update":"these updates",v=f?`Some of the movement in these numbers may come from ${b} 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 ${b} rather than from a real change in how AI answers about you, so compare periods carefully.`,w=Fx(r);return{kind:"change",text:`${u.map(xq).join(" ")} ${v}${w?` ${w}`:""}`}}const bo=d({slope:m(),intercept:m(),r2:m(),start:m(),end:m(),n:m(),startIndex:m(),endIndex:m()}),wq=A(["gsc","ga4","gbp"]);d({id:o(),domain:o(),connectionType:wq,propertyId:o().nullable().optional(),sitemapUrl:o().nullable().optional(),scopes:y(o()).default([]),createdAt:o(),updatedAt:o()});const kq=d({date:o(),query:o(),page:o(),country:o().nullable().optional(),device:o().nullable().optional(),clicks:m(),impressions:m(),ctr:we(),position:m()});A(["clicks","impressions","date"]);d({rows:y(kq),totalMatching:m(),truncated:_(),latestAvailableDate:o().nullable()});const Sq=d({date:o(),clicks:m(),impressions:m(),ctr:we(),position:m().nullable()}),lj=d({startDate:o().nullable(),endDate:o().nullable(),latestDataDate:o().nullable(),daysSinceLatestData:m().nullable()}),jq=d({clicks:bo.nullable(),impressions:bo.nullable(),ctr:bo.nullable(),position:bo.nullable()}),Zx=d({startDate:o(),endDate:o(),clicks:m(),impressions:m(),ctr:we().nullable(),position:m().nullable(),source:A(["property-daily","dimensioned","mixed","empty"])}),Aq=d({days:m(),basis:A(["prior-window","split-window"]).optional(),prior:Zx,trailing:Zx,comparable:_(),change:d({clicks:we().nullable(),impressions:we().nullable(),ctr:we().nullable(),position:we().nullable()})});d({totals:d({clicks:m(),impressions:m(),ctr:we(),position:m().nullable(),positionDays:m(),days:m()}),daily:y(Sq),window:lj.optional(),trends:jq.optional(),periodComparison:Aq.nullable().optional()});const Cq=d({page:o(),clicks:m(),impressions:m(),ctr:we()});d({rows:y(Cq),totals:d({clicks:m(),impressions:m(),ctr:we(),days:m(),coveredFrom:o().nullable(),coveredThrough:o().nullable(),complete:_()}).nullable(),totalsSource:R("property-daily"),rankedFrom:o().nullable(),rankedThrough:o().nullable()});const Nq=A(["google","page-summed","mixed"]),_q=d({query:o(),clicks:m(),impressions:m(),ctr:we(),position:m(),days:m(),source:Nq});d({rows:y(_q),totalMatching:m(),truncated:_(),window:lj});const Vf=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:_().nullable().optional(),richResults:y(o()).default([]),referringUrls:y(o()).default([]),inspectedAt:o()});A(["stable","reindexed","deindexed","still-missing","new"]);const Tq=d({url:o(),previousState:o().nullable(),currentState:o().nullable(),transitionDate:o()}),Eq=d({reason:o(),count:m(),urls:y(Vf).default([])});d({summary:d({total:m(),indexed:m(),notIndexed:m(),deindexed:m(),percentage:ot(),indexedShare:we(m().min(0).max(1)).nullable(),notIndexedShare:we(m().min(0).max(1)).nullable()}),lastInspectedAt:o().nullable(),lastSyncedAt:o().nullable(),indexed:y(Vf).default([]),notIndexed:y(Vf).default([]),deindexed:y(Tq).default([]),reasonGroups:y(Eq).default([])});d({url:o(),type:A(["URL_UPDATED","URL_DELETED"]),notifiedAt:o()});const Rq=d({url:o(),type:A(["URL_UPDATED","URL_DELETED"]),notifiedAt:o(),status:A(["success","error"]),error:o().optional()});d({summary:d({total:m().int().nonnegative(),succeeded:m().int().nonnegative(),failed:m().int().nonnegative()}),results:y(Rq).default([])});d({date:o(),indexed:m(),notIndexed:m(),unknownPages:m().default(0),verifiedByInspection:m().default(0),derivedFromImpressions:m().default(0),reasonBreakdown:He(o(),m()).default({})});const zq=d({siteUrl:o(),permissionLevel:o()});d({sites:y(zq).default([])});const Dq=d({type:o(),submitted:o(),indexed:o().optional().describe("Deprecated compatibility field.")}),cj=d({path:o(),parentSitemapUrl:o().optional(),lastSubmitted:o().optional(),isPending:_().optional(),isSitemapsIndex:_().optional(),type:o().optional(),lastDownloaded:o().optional(),warnings:o().optional(),errors:o().optional(),contents:y(Dq).optional()});d({sitemaps:y(cj).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 Iq=d({sitemapUrl:o(),status:A(["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(Iq)});d({sitemaps:y(cj),primarySitemapUrl:o(),run:d({id:o(),projectId:o(),kind:o(),status:o(),trigger:o(),createdAt:o()}).nullable()});const pt=o().trim().min(1),Yx=o().regex(/^[a-f0-9]{64}$/i);function Oq(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 Zn=o().refine(Oq,{message:"Expected a calendar date as YYYY-MM-DD."});function qq(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 Pq=A(["not-connected","selection-required","connected","stale"]),ad=Pq.enum,uj=A(["enabled","suspended","closed","canceled","unspecified","unknown"]);uj.enum;const cg=A(["enabled","paused","removed","unknown"]);cg.enum;const dj=A(["enabled","hidden","removed","unknown"]);dj.enum;const ug=A(["customer","campaign"]);ug.enum;const mj=A(["customer-goal","campaign-goal","custom-goal"]);mj.enum;const pj=d({loginCustomerId:pt.nullable(),customerId:pt.nullable(),selectedAt:o().nullable()}).strict(),nf=d({id:pt,projectId:pt,scopes:y(o()).default([]),selection:pj,lastValidatedAt:o().nullable(),lastInventorySnapshotAt:o().nullable(),lastMetricsSnapshotAt:o().nullable(),createdAt:o(),updatedAt:o()}).strict(),Uf=d({resourceName:pt,customerId:pt,parentCustomerId:pt.nullable(),descriptiveName:o().nullable(),currencyCode:o().nullable(),timeZone:o().nullable(),manager:_(),hidden:_(),testAccount:_(),level:m().int().nonnegative(),status:uj}).strict(),Mq=d({customers:y(Uf),totalAccessible:m().int().nonnegative(),truncated:_(),selection:pj,fetchedAt:o()}).strict();Be("status",[d({connected:R(!1),status:R(ad["not-connected"]),connection:de(),selectedCustomer:de()}).strict(),d({connected:R(!0),status:R(ad["selection-required"]),connection:nf,selectedCustomer:de()}).strict(),d({connected:R(!0),status:R(ad.connected),connection:nf,selectedCustomer:Uf}).strict(),d({connected:R(!0),status:R(ad.stale),connection:nf,selectedCustomer:Uf}).strict()]);const Bq=d({id:pt,resourceName:pt,name:o(),status:cg,advertisingChannelType:o().nullable(),biddingStrategyType:o().nullable()}).strict(),Lq=d({id:pt,resourceName:pt,name:o(),status:dj,category:o(),origin:o(),primaryForGoal:_(),includeInConversionsMetric:_()}).strict(),Vq=d({category:o(),origin:o(),biddable:_()}).strict(),Uq=d({campaignId:pt,category:o(),origin:o(),biddable:_()}).strict(),$q=d({id:pt,name:o(),conversionActionIds:y(pt)}).strict(),Kq=d({campaignId:pt,goalConfigLevel:ug,customGoalId:pt.nullable()}).strict(),Gq=d({customerId:pt,fetchedAt:o(),campaigns:y(Bq),conversionActions:y(Lq),customerConversionGoals:y(Vq),campaignConversionGoals:y(Uq),campaignConversionGoalsComplete:_().optional(),customConversionGoals:y($q),campaignGoalConfigurations:y(Kq)}).strict(),Hq=d({source:mj,category:o().nullable(),origin:o().nullable(),customGoalId:pt.nullable(),biddable:_().nullable(),conversionActionIds:y(pt),primaryConversionActionIds:y(pt),secondaryConversionActionIds:y(pt),missingConversionActionIds:y(pt)}).strict(),Qq=d({campaignId:pt,goalConfigLevel:ug,customGoalId:pt.nullable(),missingCustomGoalId:pt.nullable(),goals:y(Hq)}).strict();d({customerId:pt,derivedAt:o(),campaigns:y(Qq)}).strict();const hj=50,$f=31,Fq=hj*$f,Zq=d({campaignIds:y(pt).min(1).max(hj),startDate:Zn,endDate:Zn}).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}qq(e.startDate,e.endDate)>$f&&n.addIssue({code:ye.custom,path:["endDate"],message:`Campaign metrics may cover at most ${$f} calendar days.`})}),Yq=d({campaignId:pt,date:Zn,impressions:m().int().nonnegative(),clicks:m().int().nonnegative(),costMicros:m().int().nonnegative(),conversions:m().nonnegative(),conversionValueMicros:m().int().nonnegative().nullable()}).strict(),Xq=d({query:Zq,rows:y(Yq).max(Fq),truncated:_(),fetchedAt:o()}).strict(),fj=A(["accessible-customers","inventory","campaign-metrics"]),af=fj.enum,dg=d({id:pt,projectId:pt,connectionId:pt,runId:pt,kind:fj,customerId:pt.nullable(),payloadChecksum:Yx,rawPayloadSha256:Yx.nullable(),rawPayloadBytes:m().int().nonnegative().nullable(),redactedFieldCount:m().int().nonnegative(),capturedAt:o(),createdAt:o()}).strict(),Jq=Be("kind",[d({kind:R(af["accessible-customers"]),data:Mq}).strict(),d({kind:R(af.inventory),data:Gq}).strict(),d({kind:R(af["campaign-metrics"]),data:Xq}).strict()]),Wq=d({metadata:dg,payload:Jq}).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."})}),eP=A(["7d","14d","30d"]),mg=d({impressions:m().int().nonnegative(),clicks:m().int().nonnegative(),costMicros:m().int().nonnegative(),conversions:m().nonnegative(),conversionValueMicros:m().int().nonnegative().nullable(),ctr:we().nullable(),cpcMicros:m().int().nonnegative().nullable(),conversionRate:we().nullable(),costPerConversionMicros:m().int().nonnegative().nullable()}),tP=d({date:Zn,origin:A(["provider","filled"]),impressions:m().int().nonnegative(),clicks:m().int().nonnegative(),costMicros:m().int().nonnegative(),conversions:m().nonnegative(),ctr:we().nullable()}),nP=d({campaignId:pt,name:o().nullable(),status:cg,totals:mg}),aP=d({snapshotId:pt,capturedAt:o(),customerId:pt,currencyCode:o().nullable(),timeZone:o().nullable(),asOfDate:Zn,openDate:Zn.nullable(),truncated:_(),campaignsQueried:m().int().nonnegative(),campaignsInInventory:m().int().nonnegative()}),iP=d({startDate:Zn,endDate:Zn,days:m().int().positive(),totals:mg}),sP=d({days:m().int().positive(),prior:iP,change:d({impressions:we().nullable(),clicks:we().nullable(),costMicros:we().nullable(),conversions:we().nullable(),ctr:we().nullable(),conversionRate:we().nullable()})});d({window:eP,startDate:Zn,endDate:Zn,days:m().int().positive(),totals:mg,daily:y(tP),campaigns:y(nP),comparison:sP.nullable(),comparisonUnavailableReason:A(["insufficient-history","no-snapshot"]).nullable(),source:aP.nullable()});const mt=o().trim().min(1),Xx=o().regex(/^[a-f0-9]{64}$/i),oP=A(["not-connected","selection-required","connected","stale"]),id=oP.enum,rP=A(["live","draft"]),gj=rP.enum,bd=d({accountId:mt.nullable(),containerId:mt.nullable(),workspaceId:mt.nullable(),selectedAt:o().nullable()}).strict(),sf=d({id:mt,projectId:mt,scopes:y(o()).default([]),selection:bd,lastValidatedAt:o().nullable(),lastSnapshotAt:o().nullable(),createdAt:o(),updatedAt:o()}).strict(),yj=d({id:mt,path:o(),name:o(),shareData:_().nullable()}).strict(),bj=d({accountId:mt,id:mt,path:o(),name:o(),publicId:o().nullable(),domainName:o().nullable(),usageContexts:y(o())}).strict(),pg=d({accountId:mt,containerId:mt,id:mt,path:o(),name:o(),description:o().nullable(),fingerprint:o().nullable()}).strict(),lP=d({accounts:y(yj),totalAccessible:m().int().nonnegative(),truncated:_(),fetchedAt:o()}).strict();d({accountId:mt,containers:y(bj),totalAccessible:m().int().nonnegative(),truncated:_(),fetchedAt:o()}).strict();d({accountId:mt,containerId:mt,workspaces:y(pg),totalAccessible:m().int().nonnegative(),truncated:_(),fetchedAt:o()}).strict();const cP=d({id:mt,name:o(),type:o(),paused:_(),firingTriggerIds:y(mt),blockingTriggerIds:y(mt),referencedVariableIds:y(mt),parameterKeys:y(o()),fingerprint:o().nullable()}).strict(),uP=d({id:mt,name:o(),type:o(),customEventNames:y(o()),filterKeys:y(o()),autoEventFilterKeys:y(o()),fingerprint:o().nullable()}).strict(),dP=d({id:mt,name:o(),type:o(),dataLayerVariableName:o().nullable(),parameterKeys:y(o()),fingerprint:o().nullable()}).strict(),vj=A(["recognized","unknown"]),Jx=vj.enum,mP=A(["literal","variable-ref","absent","unknown"]),hm=mP.enum,pP=o().trim().min(5).max(132).regex(/^\{\{\w[\w ./-]{0,127}\}\}$/),Vr=d({source:R(hm.absent),literal:de(),variableRef:de()}).strict(),Ur=d({source:R(hm.unknown),literal:de(),variableRef:de()}).strict(),$r=d({source:R(hm["variable-ref"]),literal:de(),variableRef:pP}).strict();function Oc(e){return d({source:R(hm.literal),literal:e,variableRef:de()}).strict()}const hP=o().trim().max(23).regex(/^(?:AW-)?\d{1,20}$/i),fP=o().trim().min(1).max(128).regex(/^[\w-]+$/),gP=o().trim().min(1).max(20).regex(/^(?:0|[1-9]\d{0,11})(?:\.\d{1,6})?$/),yP=o().trim().length(3).regex(/^[a-z]{3}$/i);Be("source",[Oc(o().trim().min(1).max(256)),$r,Vr,Ur]);const bP=Be("source",[Oc(hP),$r,Vr,Ur]),vP=Be("source",[Oc(fP),$r,Vr,Ur]),xP=Be("source",[Oc(gP),$r,Vr,Ur]),wP=Be("source",[$r,Vr,Ur]),kP=Be("source",[Oc(yP),$r,Vr,Ur]),xj=A(["all-pages","custom-event","filtered","unknown"]);xj.enum;const Wx=d({operator:o().trim().min(1).max(64),value:o().max(2048),negated:_(),ignoreCase:_()}).strict(),SP=d({triggerId:mt,triggerType:o(),eventPredicates:y(Wx),hostnamePredicates:y(Wx),unsupportedConditionCount:m().int().nonnegative()}).strict(),wj=A(["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"]);wj.enum;const jP=d({tagId:mt,tagType:o(),recognition:vj,recognitionReason:o().nullable(),conversionId:bP,conversionLabel:vP,value:xP,transactionId:wP,currency:kP,triggerStrategy:xj,triggerIds:y(mt),triggerPredicates:y(SP),reviewReasons:y(wj)}).strict().superRefine((e,n)=>{e.recognition===Jx.recognized&&e.recognitionReason!==null&&n.addIssue({code:ye.custom,path:["recognitionReason"],message:"Recognized assessments cannot carry an unknown-recognition reason."}),e.recognition===Jx.unknown&&!e.recognitionReason&&n.addIssue({code:ye.custom,path:["recognitionReason"],message:"Unknown assessments require a recognition reason."})}),kj=d({accountId:mt,containerId:mt,workspaceId:mt.nullable(),tags:y(cP),triggers:y(uP),variables:y(dP),googleAdsTagAssessments:y(jP).default([])}).strict(),AP=d({accountId:mt,containerId:mt,id:mt,path:o(),name:o(),description:o().nullable(),fingerprint:o().nullable(),deleted:_()}).strict(),Sj=d({source:R(gj.live),version:AP,graph:kj,fetchedAt:o()}).strict(),jj=d({source:R(gj.draft),workspace:pg,graph:kj,conflictCount:m().int().nonnegative(),fetchedAt:o()}).strict(),CP=d({account:yj,container:bj,workspaces:y(pg),live:Sj.nullable(),draft:jj.nullable(),fetchedAt:o()}).strict();Be("status",[d({connected:R(!1),status:R(id["not-connected"]),connection:de(),selection:de()}).strict(),d({connected:R(!0),status:R(id["selection-required"]),connection:sf,selection:bd}).strict(),d({connected:R(!0),status:R(id.connected),connection:sf,selection:bd}).strict(),d({connected:R(!0),status:R(id.stale),connection:sf,selection:bd}).strict()]);const Aj=A(["accounts","container","live","draft"]),sd=Aj.enum,hg=d({id:mt,projectId:mt,connectionId:mt,runId:mt,kind:Aj,accountId:mt.nullable(),containerId:mt.nullable(),workspaceId:mt.nullable(),payloadChecksum:Xx,rawPayloadSha256:Xx.nullable(),rawPayloadBytes:m().int().nonnegative().nullable(),redactedFieldCount:m().int().nonnegative(),capturedAt:o(),createdAt:o()}).strict(),NP=Be("kind",[d({kind:R(sd.accounts),data:lP}).strict(),d({kind:R(sd.container),data:CP}).strict(),d({kind:R(sd.live),data:Sj}).strict(),d({kind:R(sd.draft),data:jj}).strict()]),_P=d({metadata:hg,payload:NP}).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."})}),Fn=o().trim().min(1),TP=o().trim().min(1).refine(e=>Tc(e)!==null,"Expected a hostname or http(s) URL."),fg=A(["configured","statically-consistent","runtime-unverified","observed"]);fg.enum;const Cj=A(["pass","fail","unknown"]);Cj.enum;const Nj=A(["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"]);Nj.enum;const _j=d({id:Fn,projectId:Fn,name:o().trim().min(1),eventName:o().trim().min(1),googleAds:d({customerId:Fn,conversionActionId:Fn,conversionId:o().trim().min(1).optional(),conversionLabel:o().trim().min(1).optional(),campaignIds:y(Fn).max(50).default([]),requireBiddableGoal:_().default(!0),requirePrimaryAction:_().default(!0)}).strict(),gtm:d({accountId:Fn,containerId:Fn,tagId:Fn,triggerIds:y(Fn).default([]),variableIds:y(Fn).default([])}).strict(),runtime:d({verificationRequired:_().default(!0),requireTransactionId:_().default(!0),requireValue:_().default(!0),requireCurrency:_().default(!0),productionHosts:y(TP).default([])}).strict(),createdAt:o(),updatedAt:o()}).strict();_j.omit({id:!0,projectId:!0,createdAt:!0,updatedAt:!0});const Tj=A(["not-run","consistent","inconsistent"]);Tj.enum;const Ej=A(["not-run","not-observed","observed"]);Ej.enum;d({staticCheck:Tj,runtimeVerificationRequired:_(),runtimeObservation:Ej}).strict();const EP=d({code:Nj,subject:o().trim().min(1),outcome:Cj,status:fg,evidenceIds:y(Fn).default([])}).strict(),RP=d({contract:_j,status:fg,findings:y(EP),evaluatedAt:o()}).strict(),ew=d({id:Fn,name:o(),detail:o(),active:_()});d({googleAds:d({customerId:Fn.nullable(),syncedAt:o().nullable(),conversionActions:y(ew)}),gtm:d({containerId:Fn.nullable(),syncedAt:o().nullable(),tags:y(ew)})});const mc=o().trim().min(1);function tw(e){const n=e.trim();return/^\d{10}$/.test(n)?n:/^\d{3}-\d{3}-\d{4}$/.test(n)?n.replaceAll("-",""):null}const zP=/^[\w-]+$/;function gg(e){const n=e.trim();return zP.test(n)?n:null}function DP(e){const n=e.trim();return/^accounts\/([\w-]+)$/.exec(n)?.[1]??gg(n)}function IP(e,n){const i=e.trim(),r=/^accounts\/([\w-]+)\/containers\/([\w-]+)$/.exec(i);return r?r[1]===n?r[2]:null:gg(i)}function OP(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:gg(r)}function qP(e){const n=tw(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=tw(e.loginCustomerId);return i?{loginCustomerId:i,customerId:n}:null}function PP(e){const n=DP(e.accountId);if(!n)return null;const i=IP(e.containerId,n);if(!i)return null;if(e.workspaceId===void 0)return{accountId:n,containerId:i};const r=OP(e.workspaceId,n,i);return r?{accountId:n,containerId:i,workspaceId:r}:null}const fm=A(["google-ads","gtm"]);fm.enum;d({provider:fm,publicUrl:o().url().optional(),developerToken:o().trim().min(1).max(512).optional()}).strict();d({provider:fm,authorizationUrl:o().url(),redirectUri:o().url(),expiresAt:o().nullable()}).strict();d({loginCustomerId:mc.nullable().optional(),customerId:mc}).strict().superRefine((e,n)=>{qP(e)||n.addIssue({code:ye.custom,message:"Expected ten-digit Google Ads customer IDs, with optional 3-3-4 display hyphens."})});d({accountId:mc,containerId:mc,workspaceId:mc.optional()}).strict().superRefine((e,n)=>{PP(e)||n.addIssue({code:ye.custom,message:"GTM resource paths must match the selected account and container."})});d({provider:fm,disconnected:_()}).strict();const Rj=100;d({snapshots:y(dg).max(Rj),nextCursor:o().nullable(),total:m().int().nonnegative()}).strict();d({snapshot:Wq}).strict();d({snapshots:y(hg).max(Rj),nextCursor:o().nullable(),total:m().int().nonnegative()}).strict();d({snapshot:_P}).strict();d({assessment:RP,googleAdsSnapshot:dg.nullable(),gtmSnapshot:hg.nullable()}).strict();d({id:o(),domain:o(),siteUrl:o().nullable().optional(),createdAt:o(),updatedAt:o()});const of=d({id:o(),url:o(),httpCode:m().nullable().optional(),inIndex:_().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:ot()}),lastInspectedAt:o().nullable(),indexed:y(of).default([]),notIndexed:y(of).default([]),unknown:y(of).default([]).optional()});d({query:o(),impressions:m(),clicks:m(),ctr:we(),averagePosition:m()});d({date:o(),indexed:m(),notIndexed:m(),unknown:m()});const MP=d({url:o(),status:A(["success","error"]),submittedAt:o(),error:o().optional()});d({summary:d({total:m().int().nonnegative(),succeeded:m().int().nonnegative(),failed:m().int().nonnegative()}),results:y(MP).default([])});const zj=d({url:o(),verified:_()});d({sites:y(zj).default([])});d({connected:_(),domain:o(),siteUrl:o().nullable(),createdAt:o().nullable(),updatedAt:o().nullable()});d({connected:_(),domain:o(),siteUrl:o().nullable(),availableSites:y(zj).default([])});d({siteUrl:o()});const BP=d({name:o(),alive:_(),lastUsed:o().nullable()});d({connected:_(),endpoint:o(),version:o().optional(),browserVersion:o().optional(),targets:y(BP).default([])});const Kr=A(["live","staging"]);d({projectName:o(),url:o(),stagingUrl:o().optional(),username:o(),defaultEnv:Kr,createdAt:o(),updatedAt:o()});const nw=d({url:o(),reachable:_(),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:_(),projectName:o(),defaultEnv:Kr,live:nw.nullable(),staging:nw.nullable(),adminUrl:o().nullable().optional()});const LP=d({id:m(),slug:o(),title:o(),status:o(),modifiedAt:o().nullable().optional(),link:o().nullable().optional()}),Dj=d({title:o().nullable(),description:o().nullable(),noindex:_().nullable(),writable:_().default(!1),writeTargets:y(o()).default([])}),VP=d({type:o(),json:He(o(),xn())}),UP=LP.extend({env:Kr,content:o(),seo:Dj,schemaBlocks:y(VP).default([])}),aw=UP.extend({contentHash:o(),contentSnippet:o()}),Ij=d({manualRequired:R(!0),targetUrl:o(),adminUrl:o().nullable().optional(),content:o(),nextSteps:y(o()).default([])}),$P=d({slug:o(),severity:A(["high","medium","low"]),code:A(["noindex","missing-seo-title","missing-meta-description","missing-schema","thin-content"]),message:o()});d({slug:o(),title:o(),status:o(),wordCount:m(),seo:Dj,schemaPresent:_(),issues:y($P).default([])});const KP=d({slug:o(),status:A(["applied","skipped","manual"]),error:o().optional(),manualAssist:Ij.optional()});d({env:Kr,strategy:A(["plugin","manual"]),results:y(KP)});const GP=d({slug:o(),status:A(["deployed","stripped","skipped","failed"]),schemasInjected:y(o()).optional(),manualAssist:Ij.optional(),error:o().optional()});d({env:Kr,results:y(GP)});const HP=d({slug:o(),title:o(),canonrySchemas:y(o()),thirdPartySchemas:y(o()),hasCanonrySchema:_()});d({env:Kr,pages:y(HP)});const QP=d({name:o(),status:A(["completed","skipped","failed"]),summary:o().optional(),error:o().optional()});d({projectName:o(),steps:y(QP)});d({slug:o(),live:aw,staging:aw,hasDifferences:_(),differences:d({title:_(),slug:_(),content:_(),seoTitle:_(),seoDescription:_(),noindex:_(),schema:_()})});const FP=VS.shape.searchUnit.unwrap().enum;FP.query;const ZP=d({name:o(),displayName:o().optional(),keyUrl:o().optional(),modelHint:o().optional(),model:o().optional(),defaultModel:o().optional(),configured:_(),quota:Az.optional(),vertexConfigured:_().optional()}),YP=d({name:o(),displayName:o(),mode:A(["api","browser"]),modelConfigurable:_(),defaultModel:o(),knownModels:y(d({id:o(),displayName:o(),tier:A(["flagship","standard","fast","economy"])})).default([]),modelValidationPattern:d({source:o(),flags:o()}),modelValidationHint:o()}),iw=d({configured:_()});d({providers:y(ZP).default([]),providerCatalog:y(YP).default([]),google:iw,bing:iw});const XP=A(["recorded","errored","expired","canceled","parse_failed","duplicate"]);XP.enum;const JP=A(["not_plan_run","scoped_run","probe_run","batch_unavailable","model_not_frozen"]);JP.enum;bx.standard,bx.batch;const Oj=A(["all","api","browser"]);Oj.enum;const WP=A(["yes","no","unknown","not-mentioned"]),sw=y(o().min(1)),ow=d({companyName:o().min(1),domain:o().min(1),queries:sw.optional(),phrases:sw.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:Oj.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"]})});ow.safeExtend({competitors:ow.shape.competitors.default([])});const eM=d({name:o(),count:m().int().nonnegative()}),tM=d({id:o(),name:o(),weight:m(),score:m(),findings:y(d({type:o(),message:o()})).default([]),recommendations:y(o()).default([])}),nM=d({url:o(),finalUrl:o(),auditedAt:o(),overallScore:m(),summary:o(),factors:y(tM).default([])}),aM=d({industry:o(),summary:o(),services:y(o()).default([]),categoryTerms:y(o()).default([])}),iM=d({provider:o(),displayName:o(),model:o().nullable().optional(),mentioned:_(),cited:_(),describedAccurately:WP,accuracyNotes:o().nullable().optional(),incorrectClaims:y(o()).default([]),recommendedCompetitors:y(o()).default([]),citedDomains:y(o()).default([]),groundingSources:y(um).default([]),searchQueries:y(o()).default([]),answerText:o(),error:o().nullable().optional()}),sM=d({query:o(),providerResults:y(iM).default([])}),oM=d({totalQueries:m().int().nonnegative(),totalProviders:m().int().nonnegative(),totalComparisons:m().int().nonnegative(),mentionCount:m().int().nonnegative(),citationCount:m().int().nonnegative(),topCompetitors:y(eM).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:aM,audit:nM,queryResults:y(sM).default([]),summary:oM});const qj=Fe([ca,de()]),yg=A(["pass","partial","fail"]);yg.enum;const Pj=A(["up","down","flat"]);Pj.enum;const rM=d({id:o(),name:o(),weight:m(),sharePct:ot(m().min(0).max(100)).nullable().default(null),avgScore:m(),status:yg,pagesPassing:m().int().nonnegative(),pagesPartial:m().int().nonnegative(),pagesFailing:m().int().nonnegative()}),lM=d({factorId:o(),factorName:o(),avgScore:m(),affectedPages:m().int().nonnegative(),totalPages:m().int().nonnegative(),affectedPct:ot(m().nonnegative()),topRecommendations:y(o()).default([])});d({project:o(),hasData:_(),runId:o().nullable(),runStatus:qj,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([Pj,de()]),previousScore:m().nullable(),previousAuditedAt:o().nullable(),factors:y(rM).default([]),crossCuttingIssues:y(lM).default([]),prioritizedFixes:y(o()).default([])});const Mj=d({id:o(),name:o(),weight:m(),score:m(),sharePct:ot(m().min(0).max(100)).nullable().default(null)}),cM=d({url:o(),overallScore:m(),status:A(["success","error"]),error:o().nullable().optional(),factors:y(Mj).default([])});d({project:o(),runId:o().nullable(),auditedAt:o().nullable(),total:m().int().nonnegative(),pages:y(cM).default([])});const uM=d({runId:o(),auditedAt:o(),aggregateScore:m(),pagesAudited:m().int().nonnegative()});d({project:o(),points:y(uM).default([])});const dM=A(["disabled","complete","partial","unavailable"]);dM.enum;const mM=d({pagesDiscovered:m().int().nonnegative(),pagesFetched:m().int().nonnegative(),pagesEligible:m().int().nonnegative(),edges:m().int().nonnegative(),findings:m().int().nonnegative()}),pM=Be("state",[d({state:R("unavailable")}),d({state:R("disabled")}),d({state:R("complete"),checked:m().int().nonnegative(),found:m().int().nonnegative(),unverified:m().int().nonnegative()}),d({state:R("partial"),checked:m().int().nonnegative(),found:m().int().nonnegative(),unverified:m().int().nonnegative()})]);d({project:o(),hasCrawlData:_(),legacyAuditAvailable:_(),runId:o().nullable(),runStatus:qj,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:He(o(),xn()).default({}),complete:_(),termination:o().nullable(),detailsAvailable:_(),counts:mM,deadLinks:pM});A(["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 gm=A(["eligible","hidden","resource","redirect","failed","unchecked"]),EJ=gm.enum,RJ=gm.options,br={discovered:"discovered",robotsBlocked:"robots-blocked",html:"html",redirect:"redirect",nonHtml:"non-html",fetchError:"fetch-error"},od={indexable:"indexable",noindex:"noindex",blocked:"blocked",unknown:"unknown"},hM={robotsDisallow:"robots-disallow",redirectTerminal:"redirect-terminal",metaRobotsNoindex:"meta-robots-noindex",xRobotsNoindex:"x-robots-noindex",canonicalToOther:"canonical-to-other",notHtmlOrUnavailable:"not-html-or-unavailable"};function fM(e){return e.indexabilityReasons?.some(n=>n===hM.canonicalToOther)===!0||e.nodeKey!==void 0&&e.canonicalNodeKey!==null&&e.canonicalNodeKey!==void 0&&e.canonicalNodeKey!==e.nodeKey}function zJ(e){switch(e.fetchState){case br.fetchError:return"failed";case br.discovered:return"unchecked";case br.nonHtml:return"resource";case br.redirect:return"redirect";case br.robotsBlocked:return"hidden";case br.html:break;default:return"unchecked"}if(fM(e))return"hidden";switch(e.indexabilityState){case od.indexable:return"eligible";case od.noindex:case od.blocked:return"hidden";case od.unknown:default:return"unchecked"}}const DJ=15,gM=A(["navigation","content","unknown"]);gM.enum;const yM=d({navigation:m().int().nonnegative(),content:m().int().nonnegative(),unknown:m().int().nonnegative()}),Bj=A(["placement","ubiquity","unmeasured"]);Bj.enum;const ym=A(["applied","applied-placement","applied-placement-with-ubiquity","applied-placement-partial","unavailable-too-few-pages","unavailable-legacy-scan"]);ym.enum;function IJ(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 bm=A(["all","content","template"]);bm.enum;const bM=A(["anchor","redirect","canonical","link"]);bM.enum;const kc=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:_(),depth:m().int().nullable(),inboundUniqueEdges:m().int().nonnegative(),outboundUniqueEdges:m().int().nonnegative(),inboundOccurrences:m().int().nonnegative(),outboundOccurrences:m().int().nonnegative(),linkScoreRaw:m().nullable(),linkScoreNormalized:ot().nullable(),healthState:gm}),vM=d({type:A(["found","missing","info","timeout","unreachable"]),code:o().min(1),message:o().min(1)}),rw=Mj.extend({status:yg,applicable:_().nullable(),findings:y(vM).default([]),recommendations:y(o()).default([])}),lw=d({id:o().min(1),severity:A(["critical","warning"]),detail:o().min(1),recommendation:o().min(1)}),rd=d({project:o(),runId:o(),complete:_(),termination:o().nullable()}),cw=d({nodeKey:o(),url:o(),auditState:o()});Be("state",[d({state:R("no-crawl"),project:o(),runId:de()}),rd.extend({state:R("details-unavailable")}),rd.extend({state:R("not-found")}),rd.merge(cw).extend({state:R("not-audited"),auditScore:de(),factors:y(rw).length(0).default([]),criticalDefects:y(lw).length(0).default([])}),rd.merge(cw).extend({state:R("ready"),auditScore:m(),evidenceState:A(["complete","scores-only"]),factors:y(rw).default([]),criticalDefects:y(lw).default([])})]);const xM=A(["applied","unavailable-legacy-scan"]),qc={complete:_(),termination:o().nullable()};d({project:o(),hasCrawlData:_(),runId:o().nullable(),...qc,total:m().int().nonnegative(),nextCursor:o().nullable(),healthStateFilter:Fe([xM,de()]).default(null),pages:y(kc).default([])});const wM=d({path:o(),url:o().nullable(),hasPage:_(),pageCount:m().int().positive(),inventoryEligibleCount:m().int().nonnegative(),fetchedCount:m().int().nonnegative()});d({project:o(),hasCrawlData:_(),runId:o().nullable(),...qc,parentPath:o(),nextCursor:o().nullable(),children:y(wM).default([])});const xo=d({edgeKey:o(),sourceNodeKey:o(),sourceUrl:o(),targetNodeKey:o().nullable(),targetUrl:o(),relation:o(),internal:_(),followable:_(),occurrences:m().int().positive(),followableOccurrences:m().int().nonnegative(),nofollowOccurrences:m().int().nonnegative(),anchors:y(o()).default([]),isTemplate:Fe([_(),de()]),templateRatio:Fe([we(),de()]),templateSource:Bj,placementOccurrences:Fe([yM,de()])}),kM=d({nodeKey:o(),url:o(),path:o(),depth:m().int().nonnegative().nullable(),indexabilityState:o(),fetchState:o(),auditState:o(),auditScore:m().nullable(),inventoryEligible:_(),inboundUniqueEdges:m().int().nonnegative(),outboundUniqueEdges:m().int().nonnegative(),linkScoreNormalized:ot().nullable(),healthState:gm,x:m(),y:m()}),SM=d({edgeKey:o(),sourceNodeKey:o(),targetNodeKey:o(),followable:_(),occurrences:m().int().positive(),isTemplate:_()}),jM=A(["no-crawl","legacy-snapshot","details-unavailable","layout-failed","empty-crawl"]),AM=Be("state",[d({state:R("ready"),version:o().min(1),computedAt:o().min(1),templateLinksExcluded:_()}),d({state:R("unavailable"),version:de(),reason:jM})]);d({project:o(),hasCrawlData:_(),runId:o().nullable(),rootNodeKey:o().nullable(),...qc,layout:AM,templateDetection:ym,linkKind:bm,totalNodes:m().int().nonnegative(),totalEdges:m().int().nonnegative(),totalTemplateEdges:m().int().nonnegative(),totalContentEdges:m().int().nonnegative(),nodes:y(kM).default([]),edges:y(SM).default([]),omittedNodes:m().int().nonnegative(),omittedEdges:m().int().nonnegative(),sampled:_()});const OJ=2e4,qJ=5e4,CM=A(["focus","inbound","outbound","both","transitive"]),NM=kc.extend({distance:m().int().nonnegative(),relationToFocus:CM});d({project:o(),hasCrawlData:_(),runId:o().nullable(),complete:_(),termination:o().nullable(),state:A(["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(NM).default([]),edges:y(xo).default([]),omittedNodes:m().int().nonnegative(),omittedEdges:m().int().nonnegative(),countAccuracy:A(["exact","lower-bound"]),truncated:_()});const uw=d({nodeKey:o(),url:o(),path:o()});d({project:o(),runId:o().nullable(),complete:_(),termination:o().nullable(),state:A(["no-crawl","details-unavailable","found","unreachable","truncated"]),from:uw.nullable(),to:uw.nullable(),maxDepth:m().int().positive(),visitedNodes:m().int().nonnegative(),nodes:y(kc).default([]),edges:y(xo).default([])});const Lj=A(["added","removed","changed"]),_M=d({entity:R("page"),change:Lj,key:o(),changedFields:y(o()).default([]),before:kc.nullable(),after:kc.nullable()}),TM=d({entity:R("link"),change:Lj,key:o(),changedFields:y(o()).default([]),before:xo.nullable(),after:xo.nullable()}),EM=Be("entity",[_M,TM]),dw=d({added:m().int().nonnegative(),removed:m().int().nonnegative(),changed:m().int().nonnegative()}),RM=d({scope:A(["all","pages","links"]),change:A(["all","added","removed","changed"])});Be("state",[d({project:o(),state:R("unavailable"),reason:A(["no-crawl","insufficient-history","details-unavailable","partial-not-comparable"]),fromRunId:o().nullable(),toRunId:o().nullable()}),d({project:o(),state:R("incompatible"),reason:R("incompatible-versions"),fromRunId:o(),toRunId:o(),mismatchedVersions:y(o()).min(1)}),d({project:o(),state:R("ready"),fromRunId:o(),toRunId:o(),versions:d({crawlSchema:o(),normalization:o(),indexability:o(),linkScore:o()}),filters:RM,summaryState:A(["exact","omitted-on-continuation"]),summary:d({pages:dw,links:dw}).nullable(),total:m().int().nonnegative().nullable(),nextCursor:o().nullable(),changes:y(EM).default([])})]);d({project:o(),hasCrawlData:_(),runId:o().nullable(),...qc,total:m().int().nonnegative(),nextCursor:o().nullable(),templateDetection:ym,linkKind:bm,edges:y(xo).default([])});d({project:o(),hasCrawlData:_(),runId:o().nullable(),...qc,nodeKey:o().nullable(),url:o().nullable(),templateDetection:ym,linkKind:bm,inbound:y(xo).default([]),outbound:y(xo).default([]),inboundTruncated:_(),outboundTruncated:_()});const mw=d({findingKey:o(),severity:o(),sourceNodeKey:o().nullable(),sourceUrl:o().nullable(),targetNodeKey:o().nullable(),targetUrl:o().nullable(),evidence:He(o(),xn()).default({})});Be("state",[d({project:o(),runId:o().nullable(),state:R("unavailable"),legacyAuditAvailable:_()}),d({project:o(),runId:o(),state:R("disabled"),checkDeadLinks:R(!1)}),d({project:o(),runId:o(),state:R("complete"),checkDeadLinks:R(!0),checked:m().int().nonnegative(),found:m().int().nonnegative(),unverified:m().int().nonnegative(),total:m().int().nonnegative(),nextCursor:o().nullable(),deadLinks:y(mw).default([])}),d({project:o(),runId:o(),state:R("partial"),checkDeadLinks:R(!0),checked:m().int().nonnegative(),found:m().int().nonnegative(),unverified:m().int().nonnegative(),total:m().int().nonnegative(),nextCursor:o().nullable(),deadLinks:y(mw).default([])})]);const PJ=1e3,MJ=10,Vj=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:_().default(!1)});d({runId:o(),status:ca});const zM=d({runId:o(),status:ca,createdAt:o(),startedAt:o().nullable(),finishedAt:o().nullable(),hasCrawlData:_()});d({project:o(),scans:y(zM).default([])});const DM=A(["queued","discovering","checking","arranging-map","completed","partial","failed","cancelled"]),IM=d({state:A(["pending","ready","unavailable"]),layoutVersion:o().nullable(),failureCode:o().nullable(),updatedAt:o().nullable()}),OM=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:ca,phase:DM,attempt:OM.nullable(),layout:IM,error:o().nullable()});const qM=A(["waiting","collecting","terminal"]),PM=d({nodeKey:o(),url:o(),auditScore:m(),checksNeedingAttention:m().int().nonnegative()});d({project:o(),runId:o(),status:ca,state:qM,attemptId:o().nullable(),pagesAudited:m().int().nonnegative(),updatedAt:o().nullable(),examples:y(PM).max(12).default([])});const MM=d({basis:A(["tracked","observed"]).nullable(),availability:A(["measured","not-measured","unavailable"]),reason:A(["select-query-class","no-competitors","insufficient-observed","no-answers","no-mentions","unavailable"]).nullable()}),bg=MM.partial().shape,vg=A(["competitor","directory","social","forum","news","reference","blog","ecommerce","video","academic","other"]);vg.enum;const xg=A(["cited","aspirational","wasted-surface"]),pw=xg.enum;pw.cited,pw.aspirational;const vm=A(["direct-competitor","ota-aggregator","editorial-media","other","unknown"]),BM=vm.enum;BM["direct-competitor"];const xm=A(["queued","seeding","probing","completed","failed"]);xm.enum;const Uj=d({domain:o().min(1),hits:m().int().positive(),competitorType:vm.default("unknown")}),LM=d({id:o(),sessionId:o(),projectId:o(),query:o(),bucket:xg.nullable().default(null),citationState:qi,citedDomains:y(o()).default([]),answerMentioned:_().nullable().default(null),createdAt:o()}),VM=d({id:o(),projectId:o(),status:xm,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(ln).nullable().optional(),seedRawCandidates:y(o()).nullable().optional(),dedupClusterMinSims:y(m()).nullable().optional(),dedupBandPairFraction:we().nullable().optional(),dedupPairsTotal:m().int().nullable().optional(),seedProviders:y(o()).nullable().optional(),seedProviderCounts:He(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(Uj).default([]),warning:o().nullable().optional(),error:o().nullable().optional(),startedAt:o().nullable().optional(),finishedAt:o().nullable().optional(),createdAt:o()});VM.extend({probes:y(LM).default([])});const UM=500,$M=8,KM=["gemini","openai"],GM=A(KM);d({icpDescription:o().min(1).optional(),buyerDescription:o().min(1).optional(),seedProviders:y(GM).min(1).transform(e=>[...new Set(e)].sort()).optional(),dedupThreshold:m().min(0).max(1).optional(),maxProbes:m().int().positive().max(UM).optional(),probeConcurrency:m().int().min(1).max($M).optional(),locations:y(o().min(1)).optional()});d({buckets:y(xg).min(1).optional(),includeCompetitors:_().optional(),competitorTypes:y(vm).min(1).optional()});d({sessionId:o(),projectId:o(),status:xm,queriesByBucket:d({cited:y(o()),aspirational:y(o()),"wasted-surface":y(o())}),suggestedCompetitors:y(Uj)});d({sessionId:o(),projectId:o(),promoted:d({queries:y(o()),competitors:y(o())}),skipped:d({queries:y(o()),competitors:y(o())})});Fe([R("cli"),o().regex(/^discovery:.+$/)]);const HM=d({query:o().min(1),probeHits:m().int().positive()}),QM=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:xm,minProbeHits:m().int().positive(),anchorApplied:_(),semanticNoveltyApplied:_(),candidates:y(HM),stats:QM});const wg=A(["own","direct-competitor","ota-aggregator","editorial-media","other"]);wg.enum;const wm=A(["7d","30d","90d","all"]),hw=A(["improving","declining","stable"]),FM=A(["mentioned","cited"]);FM.enum;const Kf=d({citationRate:we(),cited:m().int(),total:m().int(),mentionRate:we(),mentionedCount:m().int()}),Gr=o().trim().min(1),ZM=y(Gr).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]})}),wo=Be("status",[d({status:R("known"),model:Gr}),d({status:R("unknown")}),d({status:R("mixed"),models:ZM,includesUnknown:_()})]),YM=d({observedAt:o(),bucketStartDate:o(),from:wo,to:wo,fromPreWindowAnchor:_().optional(),anchorObservedAt:o().optional()}),$j=d({latestObservation:d({observedAt:o(),state:wo}),events:y(YM),eventTotal:m().int().nonnegative().optional(),anchorUnavailable:_().optional()}),XM=He(o(),$j),JM=$j.extend({latestServedModelIds:y(Gr).default([])}),WM=He(o(),JM),eB=d({observedAt:o(),configured:wo,served:wo}),tB=d({scope:A(["non-brand","pooled"]),rate:we().nullable(),projectMentionSnapshots:m().int().nonnegative(),competitorMentionSnapshots:m().int().nonnegative()}),nB=d({startDate:o(),endDate:o(),dataStartDate:o(),dataEndDate:o(),sweepCount:m().int().nonnegative(),citationRate:we(),cited:m().int(),total:m().int(),queryCount:m().int(),mentionRate:we(),mentionedCount:m().int(),mentionShare:tB,byProvider:He(o(),Kf),modelEvidenceByProvider:He(o(),wo).default({}),basketRevision:m().int().nullable().default(null)}),rf=d({first:we(m().min(0).max(1)),latest:we(m().min(0).max(1)),delta:we(m().min(-1).max(1))}),aB=d({citationRate:rf.nullable(),mentionRate:rf.nullable(),mentionShare:rf.nullable()}),iB=d({revision:m().int(),at:o(),added:y(o()),removed:y(o())}),sB=d({date:o(),delta:m().int(),label:o()}),oB=d({at:o(),identity:b2});d({window:wm,mentionShareScope:A(["non-brand","pooled"]),buckets:y(nB),overall:Kf,byProvider:He(o(),Kf),trend:hw,mentionTrend:hw,windowChange:aB.default(()=>({citationRate:null,mentionRate:null,mentionShare:null})),queryChanges:y(sB),basketChanges:y(iB).default([]),executionIdentityChanges:y(oB).default([]),referenceBasketRevision:m().int().nullable().default(null),modelAttribution:XM.default({}),servedModelAttribution:WM.default({}),modelServiceMismatch:He(o(),eB).default({}),modelPointerChanges:He(o(),fq).default({})});const fw=d({category:vg,label:o(),count:m().int(),percentage:we(),topDomains:y(d({domain:o(),count:m().int()}))}),rB=d({domain:o(),rank:m().int().positive().optional(),count:m().int(),percentage:we(),answerShare:we().optional(),category:vg,label:o(),surfaceClass:wg}),lB=d({surfaceClass:wg,label:o(),count:m().int(),percentage:we(),domainCount:m().int()}),gw=d({totalCitedSlots:m().int(),answerTotal:m().int().optional(),answersWithSources:m().int().optional(),domainTotal:m().int(),entries:y(rB),truncatedDomainCount:m().int(),truncatedCitedSlots:m().int(),bySurfaceClass:y(lB)}),cB=d({answers:y(o()),distinctDomains:y(o()),answerDomainPairs:y(o()),runs:y(o())}),uB=A(["measurement-plan","query-text"]);d({runId:o().trim().min(1).optional(),queryClass:B0.optional(),includeByQuery:A(["true","false","1","0"]).optional()});d({ranked:gw,byProvider:He(o(),gw),providersWithoutSources:y(o()).optional(),answerTotal:m().int().optional(),runCount:m().int().optional(),pooledAcrossRuns:_().optional(),unclassifiedAnswers:m().int().optional(),filters:d({runId:o().nullable(),queryClass:B0,queryClassBasis:Fe([uB,de()]),includeByQuery:_()}).optional(),runId:o(),runIds:y(o()).optional(),countUnits:cB.optional(),window:wm,limit:m().int().nullable(),overall:y(fw),byQuery:He(o(),y(fw)).optional()});const dB=A(["own","direct-competitor","ota-aggregator","editorial-media","other","unknown"]),mB=Be("kind",[d({kind:R("project")}).strict(),d({kind:R("group"),groupKey:o().trim().min(1)}).strict(),d({kind:R("all-markets")}).strict()]),Kj=A(["all","branded","non-brand"]),Gj=A(["project","all-markets"]);d({window:wm.optional(),groupKey:o().trim().min(1).optional(),scope:Gj.optional(),provider:o().trim().min(1).optional(),model:Gr.optional(),groupBy:R("model").optional(),queryClass:Kj.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 xs=d({domain:o().trim().min(1),label:o().trim().min(1),surfaceClass:dB,pinned:_(),mentionCount:m().int().nonnegative(),shareOfVoice:ot(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(),Hj=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(),pB=d({answers:y(o()),distinctNames:y(o()),runs:y(o())}).strict(),hB=50,fB=d({...bg,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:Gr.nullable(),servedModels:wo,snapshotCount:m().int().positive(),project:xs,pinned:y(xs),observed:y(xs),otherSources:y(xs),evidence:Hj,truncated:_()}).strict(),gB=d({basis:R("requested-model"),groups:y(fB).max(hB),totalGroups:m().int().nonnegative(),truncated:_()}).strict();d({...bg,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:wm,scope:mB,project:xs,pinned:y(xs),observed:y(xs),otherSources:y(xs),evidence:Hj,modelComparison:gB.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:Gj,groupKey:o().nullable(),provider:o().nullable(),model:Gr.optional(),groupBy:R("model").optional(),queryClass:Kj,location:o().nullable(),runId:o().nullable()}).strict(),truncated:_(),runCount:m().int().nonnegative().optional(),runIds:y(o()).optional(),countUnits:pB.optional()}).strict();const kg=d({total:m().int(),checked:m().int(),mentioned:m().int(),cited:m().int(),mentionRate:we().nullable(),citedRate:we().nullable()}),Qj=kg.extend({provider:o(),firstObserved:o(),lastObserved:o()}),yB=kg.extend({queryId:o().nullable(),query:o(),firstObserved:o(),lastObserved:o(),providers:y(Qj).optional()}),bB=d({since:o().nullable(),until:o().nullable(),lastRuns:m().int().nullable(),runCount:m().int()}),vB=A(["provider"]),Gf=d({domain:o(),mentions:m().int()}),xB=d({...bg,measurementScope:A(["project","all-markets"]).optional(),queryClass:A(["branded","non-brand","pooled"]),percent:ot().nullable(),competitorCount:m().int().nonnegative(),projectMentions:m().int(),competitorMentions:m().int(),snapshotsWithAnswerText:m().int(),perCompetitor:y(Gf)});d({project:o(),groupBy:vB.optional(),window:bB,totals:kg,byProvider:y(Qj).optional(),queries:y(yB),shareOfVoice:xB.optional()});const wB=A(["within-noise","moved","insufficient-data","model-discontinuous","model-unknown"]),kB=A(["up","down","flat"]),yw=d({availability:A(["available","no-observations","no-competitive-frame","classification-unavailable"]),point:we().nullable(),ciLow:we().nullable(),ciHigh:we().nullable(),numerator:m().int(),denominator:m().int(),excludedUnknown:m().int().nonnegative().optional()}),SB=A(["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"]),jB=d({key:SB,label:o(),queryClass:A(["all","branded","non-brand","pooled"]),driftRobust:_(),from:yw,to:yw,rateRatio:m().nullable(),direction:Fe([kB,de()]),verdict:wB}),Ld=d({month:o(),since:o(),until:o(),runCount:m().int(),lowRunCount:_()}),Fj=d({queryCount:m().int(),excludedFromOnly:m().int(),excludedToOnly:m().int(),providers:y(o()),excludedProviders:y(o())}),Zj=d({provider:o(),fromModels:y(o()),toModels:y(o())}),AB=A(["included","model-discontinuous","model-unknown"]),CB=d({provider:o(),status:AB,fromModels:y(o()),toModels:y(o())}),NB=A(["comparable","model-discontinuous","model-unknown","insufficient-data"]),Yj=d({status:NB,comparedProviders:y(o()),providers:y(CB)}),_B=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()})}),TB=d({from:d({count:m().int(),of:m().int()}),to:d({count:m().int(),of:m().int()})}),EB=d({scope:A(["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()}),RB=d({from:Ld,to:Ld,basket:Fj,continuity:Yj,modelChanges:y(Zj)});d({project:o(),selection:EB.optional(),classComparison:RB.optional(),from:Ld,to:Ld,basket:Fj,metrics:y(jB),queriesMentioned:TB,byProvider:y(_B),modelChanges:y(Zj),continuity:Yj,competitors:d({from:y(Gf),to:y(Gf)})});A(["json","csv"]);const zB=d({runId:o(),runKind:R("answer-visibility"),runStatus:ca,runTrigger:ag,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:qi,cited:_(),answerMentioned:_().nullable(),mentionState:Fe([wc,de()]),citedDomains:y(o()),citedUrls:y(o()).nullable(),captureStatus:Fe([lm,de()]),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(um),searchQueries:y(o())}),DB=d({since:o().nullable(),until:o().nullable(),includeProbes:_()});d({schemaVersion:R("canonry.results-export/v1"),generatedAt:o(),project:d({id:o(),name:o(),displayName:o(),canonicalDomain:o(),country:o(),language:o()}),filters:DB,recordCount:m().int().nonnegative(),records:y(zB)});d({runIds:y(o().trim().min(1)).max(100).default([]),researchRunIds:y(o().trim().min(1)).max(100).default([]),confirm:_().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:_(),runIds:y(o()),researchRunIds:y(o()),querySnapshots:m().int().nonnegative(),researchQueries:m().int().nonnegative(),insights:m().int().nonnegative(),healthSnapshots:m().int().nonnegative()});const km=A(["organic","paid"]);km.enum;d({id:o(),projectId:o(),propertyId:o(),clientEmail:o(),connected:_(),createdAt:o(),updatedAt:o()});d({date:o(),landingPage:o(),sessions:m(),organicSessions:m(),users:m()});const Sg=A(["session","first_user","manual_utm"]),IB=d({source:o(),medium:o(),trafficClass:km,sessions:m(),users:m().optional(),sourceDimension:Sg,share:we()}),OB=d({source:o(),medium:o(),trafficClass:km,sourceDimension:Sg,landingPage:o(),sessions:m(),users:m().optional()}),qB=d({source:o(),medium:o(),sessions:m(),users:m().optional(),channelGroup:o(),share:we()}),tc=d({sessions:m(),sharePct:ot(),sharePctDisplay:o()}),PB=d({organic:tc,social:tc,direct:tc,ai:tc,other:tc}),MB=d({totalSessions:m(),totalOrganicSessions:m(),totalDirectSessions:m(),totalUsers:m().nullable(),topPages:y(d({landingPage:o(),sessions:m(),organicSessions:m(),directSessions:m(),users:m(),organicShare:we().nullable()})),aiReferrals:y(IB),aiReferralLandingPages:y(OB),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(qB),socialSessions:m(),socialUsers:m().optional(),channelBreakdown:PB,organicSharePct:ot(),aiSharePct:ot(),aiSharePctBySession:ot(),paidAiSharePct:ot(),paidAiSharePctBySession:ot(),organicAiSharePct:ot(),organicAiSharePctBySession:ot(),directSharePct:ot(),socialSharePct:ot(),organicSharePctDisplay:o(),aiSharePctDisplay:o(),aiSharePctBySessionDisplay:o(),paidAiSharePctDisplay:o(),paidAiSharePctBySessionDisplay:o(),organicAiSharePctDisplay:o(),organicAiSharePctBySessionDisplay:o(),directSharePctDisplay:o(),socialSharePctDisplay:o(),otherSessions:m(),otherSharePct:ot(),otherSharePctDisplay:o(),lastSyncedAt:o().nullable()});d({connected:_(),propertyId:o().nullable(),clientEmail:o().nullable(),authMethod:A(["service-account","oauth"]).nullable(),lastSyncedAt:o().nullable(),createdAt:o().nullable().optional(),updatedAt:o().nullable().optional()});const BB=d({propertyId:o(),displayName:o(),accountName:o()});d({properties:y(BB)});d({synced:_(),rowCount:m().int().nonnegative(),aiReferralCount:m().int().nonnegative(),socialReferralCount:m().int().nonnegative(),days:m().int().nonnegative(),requestedDays:m().int().nonnegative(),clamped:_(),syncedAt:o(),measurement:d({acquisition:d({days:m().int().nonnegative(),status:A(["ready","error"]),rowCount:m().int().nonnegative(),error:o().optional()}),leads:d({days:m().int().nonnegative(),status:A(["ready","error","not-configured"]),rowCount:m().int().nonnegative(),attributionScope:A(["landing-page","channel"]).optional(),error:o().optional()})}),syncedComponents:y(o()).optional()});const Xj=A(["new","small-base","percent"]);Xj.enum;const Hf=d({source:o(),sessions7d:m(),sessionsPrev7d:m(),changeSessions:m(),changePct:ot().nullable(),changeBasis:Xj});d({socialSessions7d:m(),socialSessionsPrev7d:m(),trend7dPct:ot().nullable(),socialSessions30d:m(),socialSessionsPrev30d:m(),trend30dPct:ot().nullable(),biggestMover:Hf.nullable()});const nc=d({sessions7d:m(),sessionsPrev7d:m(),trend7dPct:ot().nullable(),sessions30d:m(),sessionsPrev30d:m(),trend30dPct:ot().nullable()});d({organic:nc,ai:nc,social:nc,direct:nc,total:nc,aiBiggestMover:Hf.nullable(),socialBiggestMover:Hf.nullable()});MB.extend({windowStart:o().nullable(),windowEnd:o().nullable(),windowDays:m().nullable(),periodStart:o().nullable(),periodEnd:o().nullable()});d({date:o(),source:o(),medium:o(),trafficClass:km,landingPage:o(),sessions:m(),users:m(),sourceDimension:Sg});const LB=d({source:o(),sessions:m(),paidSessions:m(),organicSessions:m()}),VB=d({date:o(),sessions:m(),paidSessions:m(),organicSessions:m(),bySource:y(LB)});d({days:y(VB),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:A(["deduplicated","landing-page-sum"])});d({id:o(),projectId:o(),runId:o().nullable(),overallCitedRate:we(),overallMentionRate:we(),totalPairs:m().int().nonnegative(),citedPairs:m().int().nonnegative(),mentionedPairs:m().int().nonnegative(),providerBreakdown:He(o(),d({citedRate:we(),mentionRate:we(),cited:m().int().nonnegative(),mentioned:m().int().nonnegative(),total:m().int().nonnegative()})),createdAt:o(),status:A(["ready","no-data"]),reason:R("no-runs-yet").optional()});const UB=d({view:A(["project","visibility","property","queries","site-health"]),unavailableReason:o().trim().min(1).max(512).optional(),selection:Dd.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."})}),$B=d({maxToolCalls:m().int().min(1).max(100).default(30),timeoutMs:m().int().min(1e3).max(6e5).default(18e4)}).strict(),jg=A(["claude","openai","gemini","zai"]),KB=d({id:jg,label:o(),defaultModel:o(),configured:_(),keySource:A(["config","env"]).nullable()});d({providers:y(KB).default([]),defaultProvider:jg.nullable()});const GB=A(["aero","user","compaction"]);GB.enum;const Jj=128;d({key:o().min(1).max(Jj),value:o().min(1)});d({key:o().min(1).max(Jj)});d({prompt:o().trim().min(1),conversationId:o().min(1).nullable().optional(),provider:jg.optional(),modelId:o().trim().min(1).optional(),scope:A(["all","read-only"]).optional(),profile:A(["default","ads-operator"]).optional(),context:UB.optional(),limits:$B.optional()});const HB=ez({role:o(),content:xn().optional()}),Wj=d({id:o(),title:o(),active:_(),modelProvider:o(),modelId:o(),createdAt:o(),updatedAt:o()});Wj.extend({messages:y(HB),isStreaming:_()});d({conversations:y(Wj),currentConversationId:o().nullable(),nextOffset:m().int().nullable()});d({id:ER()}).strict();d({id:o(),status:R("deleted")});const QB=["status","changes","gaps","insights"],FB=A(QB),ZB=d({text:o().optional(),tool:d({name:o(),label:o(),arguments:He(o(),xn()),result:xn(),durationMs:m().int().nonnegative()})}),YB=d({id:FB,steps:y(ZB),answer:o()});d({project:o(),seededAt:o(),starters:y(YB)});d({offset:Ii().int().min(0).default(0),limit:Ii().int().min(1).max(100).default(50)}).strict();const Hr=A(["commoncrawl","bing-webmaster"]);Hr.enum;const Ag=A(["queued","downloading","querying","ready","failed"]);Ag.enum;d({id:o(),release:o(),status:Ag,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 XB=d({linkingDomain:o(),numHosts:m().int(),source:Hr}),JB=d({projectId:o(),release:o(),targetDomain:o(),totalLinkingDomains:m().int(),totalHosts:m().int(),top10HostsShare:o(),queriedAt:o(),source:Hr,excludedLinkingDomains:m().int().optional(),excludedHosts:m().int().optional()});d({source:Hr,summary:JB.nullable(),total:m().int(),rows:y(XB)});d({release:o(),totalLinkingDomains:m().int(),totalHosts:m().int(),top10HostsShare:o(),queriedAt:o(),source:Hr});const WB=d({source:Hr,connected:_(),hasData:_(),latestRelease:o().nullable(),totalLinkingDomains:m().int(),lastSyncedAt:o().nullable()});d({projectId:o(),targetDomain:o(),sources:y(WB),anyConnected:_(),anyData:_()});d({duckdbInstalled:_(),duckdbVersion:o().nullable().optional(),duckdbSpec:o(),pluginDir:o()});d({installed:_(),version:o(),path:o(),alreadyPresent:_()});d({release:o(),vertexUrl:o(),edgesUrl:o(),vertexBytes:m().int().nullable(),edgesBytes:m().int().nullable(),lastModified:o().nullable()});d({release:o(),syncStatus:Ag.nullable(),bytes:m().int(),lastUsedAt:o().nullable()});const eL="jev-1.13.0",Ee=o().trim().min(1).max(256),Nt=m().int().nonnegative(),e3=_s(e=>typeof e=="string"?[e]:e,y(Ee).min(1).max(100)),vd=we(m().min(0).max(1)).nullable(),zr=A(["favorable","mixed","unfavorable","factual","subject-not-mentioned","wrong-subject","ambiguous-subject","ambiguous-judgment","subject-not-applicable","unsupported-language","missing-source-text","input-too-large","invalid-conclusion-evidence","pending","running","waiting-to-retry","failed","canceled"]);zr.enum;const Cg=A(["disabled","not-measured","processing","partial","complete","failed","canceled","unsupported"]),Ng=d({schemaVersion:Fe([R(1),R(2)]),requestedModel:R(eL),verdictVersion:Ee,identityVersion:Ee,evidenceVersion:Ee,segmentationVersion:Ee,preprocessingVersion:Ee,languagePolicy:R("en-only"),comparisonMethodVersion:R("wilson-independent-v1"),confidenceThreshold:m().min(0).max(1).nullable(),questions:d({identity:o(),judgment:o(),stance:o(),conclusion:o(),complaint:o()}).strict()}).strict();function t3(e){if(typeof e!="object"||e===null||!("schemaVersion"in e)||e.schemaVersion!==1)return e;const n=Object.fromEntries(Object.entries(e).filter(([i])=>i!=="themes"));return typeof n.questions=="object"&&n.questions!==null&&(n.questions=Object.fromEntries(Object.entries(n.questions).filter(([i])=>i!=="theme"))),n}_s(t3,Ng);const n3=d({id:Ee,displayName:o(),aliases:y(o()),qualifiedAliases:y(o()).default([]),urls:y(o()),mentionNotApplicable:_()}).strict(),tL=d({queryId:Ee,executionNodeKey:Ee.nullable(),targetId:Ee,propertyId:Ee.nullable(),groupId:Ee.nullable(),marketId:Ee.nullable(),queryClass:A(["branded","non-brand"]),queryText:o().optional(),location:o().nullable()}).strict(),a3=d({queryId:Ee,queryText:o(),queryClass:A(["branded","non-brand"]),provider:Ee,requestedModel:o().nullable(),servedModel:o().nullable(),location:o().nullable(),revision:m().int().nullable(),usageEdges:y(tL),locationContext:ln.nullable().default(null)}).strict(),Sc=d({id:Ee,text:o().min(1),start:Nt,end:Nt}).strict(),i3=d({kind:A(["reported","estimated","unknown"]),inputTokens:Nt.nullable(),outputTokens:Nt.nullable()}).strict(),nL=d({sourceSnapshotId:Ee,sourceText:o(),sourceTextHash:Ee,subject:n3,subjectHash:Ee,context:a3,language:o(),definition:Ng,sentences:y(Sc)}).strict();_s(e=>typeof e!="object"||e===null||!("definition"in e)?e:{...e,definition:t3(e.definition)},nL);const lf={returnedModel:o().nullable(),usage:i3},aL=Be("kind",[d({kind:R("classified"),...lf,returnedModel:o(),outcome:zr,conclusion:y(Sc),complaint:y(Sc).nullable(),confidence:m().min(0).max(1).nullable()}).strict(),d({kind:R("abstained"),...lf,outcome:zr,reason:o()}).strict(),d({kind:R("failed"),...lf,outcome:R("failed"),error:d({code:Ee,message:o(),retryable:_(),retryAfterMs:m().nonnegative().nullable()}).strict()}).strict()]).superRefine((e,n)=>{e.kind==="classified"&&["favorable","mixed","unfavorable"].includes(e.outcome)&&e.conclusion.length===0&&n.addIssue({code:"custom",path:["conclusion"],message:"Judgments require conclusion evidence"})});_s(e=>typeof e=="object"&&e!==null?Object.fromEntries(Object.entries(e).filter(([n])=>n!=="themes")):e,aL);const Qr=d({runId:Ee.optional(),runIds:e3.optional(),revision:Ii().int().positive().optional(),mode:A(["auto","simple","advanced"]).default("auto"),queryClass:A(["branded","non-brand"]).default("branded"),scope:A(["project","property","group","market"]).default("project"),queryId:Ee.optional(),scopeKey:Ee.optional(),marketKey:Ee.optional(),provider:Ee.optional(),model:Ee.optional(),location:o().min(1).optional(),evaluationDefinitionId:Ee.optional(),executionNodeKey:Ee.optional()}).strict();function Pc(e,n){e.runId&&e.runIds&&n.addIssue({code:"custom",path:["runIds"],message:"Choose runId or runIds, not both."}),e.runIds&&new Set(e.runIds).size!==e.runIds.length&&n.addIssue({code:"custom",path:["runIds"],message:"Run IDs must be unique."})}Qr.superRefine(Pc);const iL=A(["assessments","locations"]),sL=25,s3=500;Qr.extend({include:_s(e=>typeof e=="string"?e.split(",").map(n=>n.trim()).filter(Boolean):e,y(iL).max(2)).optional(),queryLimit:Ii().int().min(1).max(s3).default(sL),queryCursor:o().min(1).max(16384).optional()}).superRefine(Pc);Qr.extend({assessmentId:Ee.optional(),cursor:o().min(1).max(16384).optional(),limit:Ii().int().min(1).max(100).default(50)}).superRefine(Pc);Qr.extend({fromRunId:Ee,toRunId:Ee}).superRefine((e,n)=>{Pc(e,n),e.runIds&&n.addIssue({code:"custom",path:["runIds"],message:"Comparison requires one explicit run per period."})});const _g=Qr.extend({runId:Ee.nullable(),revision:m().int().nullable(),evaluationDefinitionId:Ee.nullable(),mode:A(["simple","advanced"])}),Tg=d(Object.fromEntries(zr.options.map(e=>[e,Nt]))).strict(),oL=d({selected:Nt,eligibleAssessments:Nt,unadmittedAssessments:Nt,judged:Nt,distinctSourceAnswers:Nt,eligibleAnswers:Nt.optional(),ratedAnswers:Nt.optional(),ratedAnswerRate:vd.optional(),counts:Tg,expectedProviderSlots:Nt,completedProviderSlots:Nt}).strict(),rL=d({favorableRate:vd,mixedRate:vd,unfavorableRate:vd,favorableDisplay:o(),mixedDisplay:o(),unfavorableDisplay:o(),interval:d({low:m(),high:m()}).strict().nullable(),method:R("wilson-independent-v1"),limitation:o()}).strict(),Dr={state:Cg,reason:o().nullable(),provisional:_(),coverage:oL,score:rL},bw=d({...Dr,selection:_g,runIds:y(Ee)}).strict(),lL=d({...Dr,queryClass:R("all"),runIds:y(Ee)}).strict(),cL=d({configured:_(),branded:bw,nonBrand:bw,overall:lL.optional()}).strict(),uL=d({assessmentId:Ee.nullable(),sourceSnapshotId:Ee,runId:Ee,subjectId:Ee,subjectLabel:o(),executionNodeKey:Ee.nullable(),provider:Ee,requestedModel:o().nullable(),servedModel:o().nullable(),location:o().nullable(),evaluationDefinitionId:Ee.nullable(),state:Cg,outcome:Fe([zr,de()]),reason:o().nullable()}).strict(),dL=d({...Dr,queryId:Ee,executionNodeKey:Ee.nullable().optional(),queryText:o(),queryClass:A(["branded","non-brand"]),sourceSnapshotIds:y(Ee),assessments:y(uL).default([]),locations:y(d({...Dr,location:o().nullable(),sourceSnapshotIds:y(Ee)}).strict())}).strict(),mL=d({...Dr,dimension:A(["provider","property","market","query"]),key:o(),label:o(),queryClass:A(["branded","non-brand"])}).strict(),Qf=d({...Dr,configured:_(),selection:_g,evaluationDefinition:Ng.nullable(),breakdowns:y(mL),queries:y(dL),queryPage:d({total:Nt,limit:Nt,nextCursor:o().nullable()}).strict().optional()}).strict();d({enabled:_().optional()}).strict();const pL=d({installEnabled:_(),enabled:_(),ready:_(),readinessReasons:y(o()),model:o(),enablementEpoch:Nt,completionBoundary:Nt,evaluationDefinitionId:Ee.nullable(),actions:d({configure:_(),backfill:_()}).strict(),experimental:R(!0),disclosure:o()}).strict(),o3=Qr.extend({runIds:e3.optional(),from:o().datetime().optional(),to:o().datetime().optional()}).superRefine(Pc);d({previewToken:o().min(1).max(65536),idempotencyKey:o().trim().min(1).max(128)}).strict();const hL=d({previewToken:o().nullable(),expiresAt:o().nullable(),selection:o3,evaluationDefinitionId:Ee.nullable(),eligibleAssessments:Nt,alreadyClassified:Nt,skipped:y(d({runId:Ee,reason:o(),count:Nt}).strict()),estimatedInputTokens:Nt,estimatedCostUsd:m().nonnegative().nullable(),estimateMethod:o()}).strict(),fL=A(["pending","running","waiting-to-retry","complete","partial","failed","canceled"]),gL=d({id:Ee,workItemId:Ee,dispatchedAt:o(),completedAt:o().nullable(),returnedModel:o().nullable(),usage:i3,errorCode:o().nullable()}).strict(),r3=d({id:Ee,projectId:Ee,origin:A(["automatic","backfill"]),state:fL,enablementEpoch:Nt,evaluationDefinitionId:Ee,selection:o3,createdAt:o(),updatedAt:o(),counts:Tg,selected:Nt,cancellationReason:o().nullable(),attempts:y(gL),attemptCount:Nt.optional(),nextAttemptCursor:o().nullable().optional()}).strict(),yL=r3.omit({attempts:!0,attemptCount:!0,nextAttemptCursor:!0}).extend({attemptCount:Nt}).strict(),bL=d({jobs:y(yL)}).strict(),vL=50;d({attemptLimit:Ii().int().min(1).max(200).default(vL),attemptCursor:o().min(1).max(4096).optional()}).strict();const xL=d({assessmentId:Ee,runId:Ee,sourceSnapshotId:Ee,sourceText:o(),sourceTextHash:Ee,subject:n3,subjectHash:Ee,context:a3,evaluationDefinitionId:Ee,outcome:zr,conclusion:y(Sc),complaint:y(Sc).nullable(),returnedModel:o().nullable(),reason:o().nullable()}).strict(),wL=d({state:Cg,selection:_g.extend({assessmentId:Ee.optional()}),items:y(xL),nextCursor:o().nullable()}).strict(),kL=d({from:Qf,to:Qf,verdict:A(["improved","declined","no-clear-change"]).nullable(),favorableRateDelta:m().nullable(),refusalReasons:y(o()),commonUnits:Nt,excludedFrom:Nt,excludedTo:Nt,changedScope:_(),method:R("wilson-independent-v1"),limitation:o()}).strict(),Eg=A(["positive","caution","negative","neutral"]),vs=d({label:o(),value:o(),delta:o(),tone:Eg,description:o(),tooltip:o().optional(),trend:y(ot()),progress:ot().optional(),providerCoverage:o().optional()}),vw=d({projectMentionSnapshots:m().int().nonnegative(),competitorMentionSnapshots:m().int().nonnegative(),combinedMentionSnapshots:m().int().nonnegative(),perCompetitor:y(d({domain:o(),mentionSnapshots:m().int().nonnegative(),shareOfCompetitiveTotal:ot()})),ranking:y(d({kind:A(["project","competitor"]),domain:o().nullable(),mentionSnapshots:m().int().nonnegative(),share:we(m().min(0).max(1))})),snapshotsWithAnswerText:m().int().nonnegative(),snapshotsTotal:m().int().nonnegative(),score:ot(m().min(0).max(100)).nullable()}),SL=vs.extend({breakdown:vw,scope:A(["non-brand","pooled"]),branded:vw}),cf=d({gained:m().int().nonnegative(),lost:m().int().nonnegative(),tone:Eg,hasPreviousRun:_(),gainedQueries:y(o()).optional(),lostQueries:y(o()).optional()}),jL=d({hasPreviousRun:_(),comparable:_(),querySetChanged:_(),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())}),AL=d({id:o(),projectId:o(),runId:o().nullable(),type:A(["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:A(["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:_(),createdAt:o()}),CL=d({id:o(),projectId:o(),runId:o().nullable(),overallCitedRate:we(),overallMentionRate:we(),totalPairs:m().int().nonnegative(),citedPairs:m().int().nonnegative(),mentionedPairs:m().int().nonnegative(),providerBreakdown:He(o(),d({citedRate:we(),mentionRate:we(),cited:m().int().nonnegative(),mentioned:m().int().nonnegative(),total:m().int().nonnegative()})),createdAt:o(),status:A(["ready","no-data"]),reason:R("no-runs-yet").optional()});d({sentiment:cL.optional(),project:ZD,latestRun:oO,health:CL.nullable(),topInsights:y(AL),queryClassScope:d({queryClass:R("all"),figures:y(o()),note:o()}).optional(),queryCounts:d({totalQueries:m().int().nonnegative(),citedQueries:m().int().nonnegative(),notCitedQueries:m().int().nonnegative(),citedRate:we(),mentionedQueries:m().int().nonnegative(),notMentionedQueries:m().int().nonnegative(),mentionRate:we()}),providers:y(d({provider:o(),citedRate:we(),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:vs,visibility:vs,mentionShare:SL,gapQueries:vs,mentionGaps:vs,indexCoverage:vs,competitorPressure:vs,runStatus:vs}),movementSummary:cf,citationMovement:cf,mentionMovement:cf,movementComparison:jL,competitors:y(d({id:o(),domain:o(),citationCount:m().int().nonnegative(),totalQueries:m().int().nonnegative(),pressureLabel:A(["None","Low","Moderate","High"]),citedQueries:y(o())})),providerScores:y(d({provider:o(),model:o().nullable(),score:ot(),cited:m().int().nonnegative(),total:m().int().nonnegative(),trend:y(ot()).optional()})),attentionItems:y(d({id:o(),tone:Eg,title:o(),detail:o(),actionLabel:o(),href:o()})),runHistory:y(d({runId:o(),createdAt:o(),citedCount:m().int().nonnegative(),totalCount:m().int().nonnegative(),citationRate:ot(),mentionedCount:m().int().nonnegative(),mentionRate:ot(),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()});A(["snapshot","insight"]);const NL=d({kind:R("snapshot"),id:o(),runId:o(),query:o(),provider:o(),model:o().nullable(),citationState:qi,matchedField:A(["answerText","citedDomains","citedUrls","searchQueries","query"]),snippet:o(),createdAt:o()}),_L=d({kind:R("insight"),id:o(),runId:o().nullable(),type:A(["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:A(["critical","high","medium","low"]),title:o(),query:o(),provider:o(),matchedField:A(["title","query","recommendation","cause"]),snippet:o(),dismissed:_(),createdAt:o()}),TL=Be("kind",[NL,_L]);d({query:o(),totalHits:m().int().nonnegative(),truncated:_(),hits:y(TL)});const l3=A(["create","expand","refresh","add-schema"]);l3.enum;const c3=A(["gsc","competitor-evidence","both"]);c3.enum;const u3=A(["high","medium","low"]);u3.enum;const EL=A(["blog-post","comparison","listicle","how-to","guide","glossary"]);EL.enum;const d3=A(["proposed","briefed","payload-generated","draft-created","published","validated","dismissed"]);d3.enum;const Rg=A(["ownable","ceded"]);Rg.enum;const RL=d({url:o(),gscImpressions:m().nonnegative(),gscClicks:m().nonnegative(),gscAvgPosition:m().nonnegative().nullable(),organicSessions:m().nonnegative()}),zL=d({domain:o(),url:o(),title:o(),citationCount:m().int().nonnegative()}),DL=d({demand:m(),competitor:m(),absence:m(),gapSeverity:m()}),IL=d({actionId:o(),state:d3,lastUpdated:o()}),OL=d({targetRef:o(),query:o(),action:l3,ourBestPage:RL.nullable(),winningCompetitor:zL.nullable(),score:m(),scoreBreakdown:DL,drivers:y(o()),demandSource:c3,actionConfidence:u3,existingAction:IL.nullable(),winnabilityClass:Rg,winnability:we(m().min(0).max(1)).nullable()});d({targets:y(OL),contextMetrics:d({totalAiReferralSessions:m().int().nonnegative(),latestRunId:o(),runTimestamp:o()})});const qL=d({targetRef:o(),addressedUrl:o().nullable(),note:o().nullable(),dismissedAt:o()});d({dismissals:y(qL)});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:_().optional()});const PL=d({targetQuery:o().trim().min(1),winnabilityClass:Rg,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:PL,costMillicents:m().int().nonnegative(),generatedAt:o()});const ML=d({domain:o(),competitorType:vm,hits:m().int().nonnegative(),updatedAt:o()});d({classifications:y(ML)});const BL=d({uri:o(),title:o(),domain:o(),isOurDomain:_(),isCompetitor:_(),citationCount:m().int().nonnegative(),providers:y(kt)}),LL=d({query:o(),groundingSources:y(BL)});d({sources:y(LL),latestRunId:o()});const VL=d({query:o(),competitorDomains:y(o()),competitorCount:m().int().nonnegative(),missRate:we(m().min(0).max(1)),lastSeenInRunId:o()});d({gaps:y(VL),latestRunId:o()});const m3=A(["ok","warn","fail","skipped"]);m3.enum;const zg=A(["global","project"]);zg.enum;const p3=A(["auth","config","providers","integrations","database","schedules","agent"]);p3.enum;const h3=A(["health","silent"]);h3.enum;const UL=o().regex(/^[1-9]\d{3}-(0[1-9]|1[0-2])$/,"Expected YYYY-MM"),$L=d({id:o(),category:p3,scope:zg,title:o(),status:m3,notificationPolicy:h3.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:He(o(),xn()).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:zg,project:o().nullable().describe('Project name when scope is "project", null otherwise.'),reportMonths:y(UL).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($L)});function KL(e){return e.trim().toLowerCase()}const GL=d({provider:o(),citationState:qi,cited:_(),mentioned:_(),runId:o(),runCreatedAt:o()}),HL=d({queryId:o(),query:o(),providers:y(GL),citedCount:m().int().nonnegative(),mentionedCount:m().int().nonnegative(),totalProviders:m().int().nonnegative()}),QL=d({queryId:o(),query:o(),provider:o(),citingCompetitors:y(o()),runId:o(),runCreatedAt:o()}),FL=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:FL,byQuery:y(HL),competitorGaps:y(QL),status:A(["ready","no-data"]),reason:A(["no-runs-yet","no-queries"]).optional()});const ZL=Fe([R(60),R(90)]),YL=A(["earliest","middle","prior","latest"]),vr=d({clicks:m().int().nonnegative(),impressions:m().int().nonnegative()}),f3=d({name:YL,startDate:o(),endDate:o()}),XL=f3.extend({totals:vr}),JL=f3.extend({organicSessions:m().int().nonnegative()}),uf=d({startDate:o(),endDate:o(),observedDays:m().int().nonnegative()}),ld=d({verified:m().int().nonnegative(),claimedUnverified:m().int().nonnegative(),unknownAiLike:m().int().nonnegative()}),xw=d({total:m().int().nonnegative(),paid:m().int().nonnegative(),organic:m().int().nonnegative(),unknown:m().int().nonnegative()});d({contractVersion:R("organic-evidence/v1"),periodDays:ZL,asOfDate:o().nullable(),coverage:d({gsc:_(),ga4:_(),server:_(),visibility:_()}),sourceCoverage:d({gsc:uf.nullable(),ga4:uf.nullable(),server:uf.nullable(),visibility:d({completedAt:o(),ageDays:m().nonnegative()}).nullable()}),gsc:d({propertyTotals:vr,namedBrand:vr,namedNonBrand:vr,suppressedOrUnreportedResidual:vr,cohorts:y(XL)}).nullable(),ga4:d({organicSessions:m().int().nonnegative(),cohorts:y(JL)}).nullable(),gaAiReferrals:d({paidSessions:m().int().nonnegative(),organicSessions:m().int().nonnegative()}).nullable(),server:d({crawlerHits:ld,userFetchHits:ld,referralSessions:xw}).nullable(),visibility:d({runId:o(),completedAt:o(),ageDays:m().nonnegative(),answerPairs:m().int().nonnegative(),mentionedPairs:m().int().nonnegative(),citedPairs:m().int().nonnegative()}).nullable(),measurement:Bz,pages:y(d({path:o(),gsc:vr,ga4OrganicSessions:m().int().nonnegative(),server:d({crawlerHits:ld,userFetchHits:ld,referralSessions:xw})})),findings:y(d({tone:A(["positive","caution","neutral"]),title:o(),detail:o()})),limitations:y(d({code:o(),detail:o()}))});const WL=A(["claude","codex"]);WL.enum;const eV=A(["claude","codex","all"]);eV.enum;const g3=d({content:m().int().nonnegative(),sitemap:m().int().nonnegative(),robots:m().int().nonnegative(),asset:m().int().nonnegative(),other:m().int().nonnegative()}),tV=A(["content","sitemap","robots","asset","other"]),Dg=A(["cloud-run","wordpress","cloudflare","vercel","generic-log"]);Dg.enum;const nV=A(["raw-request-events","aggregate-request-metrics","request-url","status-code","user-agent","remote-ip","referer","cursor-pull"]);nV.enum;const aV=A(["raw-request","aggregate-bucket"]),iV=aV.enum,sV=A(["observed","provider-aggregated","inferred"]),oV=sV.enum,rV=d({type:o().nullable(),labels:He(o(),o())}),lV=d({sourceType:Dg,evidenceKind:R(iV["raw-request"]),confidence:R(oV.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:rV,providerLabels:He(o(),o())});d({events:y(lV),rawEntryCount:m().int().nonnegative(),skippedEntryCount:m().int().nonnegative(),nextPageToken:o().optional(),filter:o()});const y3=A(["connected","paused","error","archived"]),BJ=y3.enum,b3=A(["oauth","service-account"]);b3.enum;const cV=A(["verified","claimed_unverified","unknown_ai_like"]),LJ=cV.enum,uV=d({id:o().min(1),source:o().min(1),version:o().min(1)}),v3=d({manifestId:o().min(1),manifest:uV.nullable(),hits:m().int().nonnegative()});d({gcpProjectId:o().min(1),serviceName:o().nullable().optional(),location:o().nullable().optional(),authMode:b3});d({baseUrl:o().url(),username:o().min(1)});const Ig=A(["production","preview"]);Ig.enum;d({projectId:o().min(1),teamId:o().min(1),environment:Ig});const x3=d({id:o(),projectId:o(),sourceType:Dg,displayName:o(),status:y3,lastSyncedAt:o().nullable(),lastCursor:o().nullable(),lastError:o().nullable(),skippedThroughAt:o().nullable(),queueBacklogCount:m().int().nonnegative().nullable(),queueBacklogObservedAt:o().nullable(),archivedAt:o().nullable(),config:He(o(),xn()),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:Ig.optional(),displayName:o().min(1).optional()});const dV=A(["direct-push","queue-pull"]),Fr=dV.enum,Og=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"),w3=d({schemaVersion:R(1),workerVersion:o().min(1),expectedBotListVersion:o().min(1),zoneId:o().nullable()}),mV=w3.extend({deliveryMode:R(Fr["direct-push"]),accountId:o().nullable()}),pV=w3.extend({deliveryMode:R(Fr["queue-pull"]),accountId:o().min(1),queueId:o().min(1),queueName:Og,retentionSeconds:m().int().min(60).max(1209600)});function k3(e){if(typeof e!="object"||e===null||Array.isArray(e))return e;const n=e;return"deliveryMode"in n?e:{...n,deliveryMode:"direct-push"}}_s(k3,Be("deliveryMode",[mV,pV]));const S3=d({displayName:o().min(1).optional(),zoneId:o().min(1).optional()}),hV=S3.extend({deliveryMode:R(Fr["direct-push"]),accountId:o().min(1).optional()}),fV=S3.extend({deliveryMode:R(Fr["queue-pull"]),accountId:o().min(1),queueId:o().min(1),queueName:Og,retentionSeconds:m().int().min(60).max(1209600),apiToken:o().min(1)});_s(k3,Be("deliveryMode",[hV,fV]));const j3=d({sourceId:o().min(1),workerScript:o().min(1),wranglerToml:o().min(1),workerVersion:o().min(1),instructions:o().min(1)}),gV=j3.extend({deliveryMode:R(Fr["direct-push"]),activationRequired:_().default(!1)}),yV=j3.extend({deliveryMode:R(Fr["queue-pull"]),activationRequired:_().default(!1),accountId:o().min(1),queueId:o().min(1),queueName:Og,retentionSeconds:m().int().min(60).max(1209600)});Be("deliveryMode",[gV,yV]);const bV=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:_().nullable(),botScore:m().int().nullable(),country:o().nullable(),asn:m().int().nullable(),asOrganization:o().nullable()}).nullable()});d({schemaVersion:R(1),workerVersion:o().min(1),events:y(bV).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:R(!0)});d({sourceId:o(),runId:o(),status:ca,windowStart:o(),windowEnd:o(),daysRequested:m().int().positive(),daysApplied:m().int().positive()});const vV=d({crawlerHits:m().int().nonnegative(),crawlerContentHits:m().int().nonnegative(),crawlerInfraHits:m().int().nonnegative(),crawlerSegments:g3,aiUserFetchHits:m().int().nonnegative(),aiReferralHits:m().int().nonnegative(),aiReferralLandedHits:m().int().nonnegative(),aiReferralRedirectedHits:m().int().nonnegative(),sampleCount:m().int().nonnegative()});d({sources:y(x3)});const xV=x3.extend({totals24h:vV,latestRun:d({runId:o(),status:ca,startedAt:o().nullable(),finishedAt:o().nullable(),error:o().nullable()}).nullable()});d({sources:y(xV)});const wV=A(["crawler","ai-user-fetch","ai-referral"]),qg=wV.enum,A3=A(["hour","day"]);A3.enum;const kV=d({bucket:o(),crawlerHits:m().int().nonnegative(),aiUserFetchHits:m().int().nonnegative(),aiReferralHits:m().int().nonnegative(),aiReferralLandedHits:m().int().nonnegative(),crawlerContentHits:m().int().nonnegative(),measured:_()}),SV=d({kind:R(qg.crawler),sourceId:o(),tsHour:o(),botId:o(),operator:o(),verificationStatus:o(),verificationManifests:y(v3).optional(),verificationUnattributedHits:m().int().nonnegative().optional(),pathNormalized:o(),pathClass:tV,status:m().int(),hits:m().int().nonnegative()}),jV=d({kind:R(qg["ai-user-fetch"]),sourceId:o(),tsHour:o(),botId:o(),operator:o(),verificationStatus:o(),verificationManifests:y(v3).optional(),verificationUnattributedHits:m().int().nonnegative().optional(),pathNormalized:o(),status:m().int(),hits:m().int().nonnegative()}),AV=d({kind:R(qg["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()}),CV=Be("kind",[SV,jV,AV]);d({windowStart:o(),windowEnd:o(),series:d({granularity:A3,points:y(kV),coverageStart:o().nullable(),trends:d({crawlerContentHits:bo.nullable(),aiUserFetchHits:bo.nullable(),aiReferralLandedHits:bo.nullable()})}),totals:d({crawlerHits:m().int().nonnegative(),crawlerContentHits:m().int().nonnegative(),crawlerInfraHits:m().int().nonnegative(),crawlerSegments:g3,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:_()}),events:y(CV)});const Pg=A(["admin","viewer"]),NV=/^[a-z\d][\w.-]{0,63}$/i,_V=o().regex(NV,"A name may use letters, digits, dots, dashes and underscores, and must start with a letter or digit."),ww=12,TV=o().min(ww,`A password must be at least ${ww} characters.`),C3=d({id:o(),name:o(),role:Pg,createdAt:o(),lastLoginAt:o().nullable()});d({users:y(C3)});d({name:_V,password:TV,role:Pg});d({name:o().min(1),password:o().min(1)});d({authRequired:_(),user:C3.pick({name:!0,role:!0}).nullable()});const N3=A(["queued","running","completed","partial","failed"]),VJ=N3.enum,_3=A(["queued","running","completed","failed"]),UJ=_3.enum,EV=20,RV=20,Ff=50,T3=d({kind:A(["market","property"]),key:ge,expectedPlanRevision:m().int().positive().optional()}).strict(),zV=d({kind:A(["market","property"]),key:ge,label:o().trim().min(1),planRevision:m().int().positive()}).strict(),E3=o().min(1).max(4e3).refine(e=>e.trim().length>0,"Research queries cannot be blank.");function $J(e){const n=new Set;return e.filter(i=>{const r=KL(i);return!r||n.has(r)?!1:(n.add(r),!0)})}function DV(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 KJ(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 mx("The selected research template contains undeclared placeholders: "+h.join(", "));const f=DV(n,i),b=e.variables.filter(w=>f[w]===void 0);if(b.length)throw mx("The selected research template requires unavailable bindings: "+b.join(", "));const v=Object.fromEntries(e.variables.map(w=>[w,f[w]]));return{bindings:v,output:bI(e.pattern,v)}}const R3=d({templateId:o().trim().min(1).max(256),templateVersion:o().trim().min(1).max(256),bindingLocation:ln.nullable().optional()}).strict();d({queries:y(E3).min(1).max(50),provider:o().trim().min(1).optional(),model:o().trim().min(1).max(200).optional(),location:ln.nullable().optional(),scope:T3.optional(),template:R3.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 IV=T3.extend({expectedPlanRevision:m().int().positive()}).strict(),OV=d({queries:y(E3).min(1).max(Ff),provider:o().trim().min(1),model:o().trim().min(1).max(200),location:ln.nullable(),scope:IV.optional(),template:R3.optional()}).strict();d({idempotencyKey:o().trim().min(1).max(128),runs:y(OV).min(1).max(RV)}).strict().superRefine((e,n)=>{e.runs.reduce((r,u)=>r+u.queries.length,0)>Ff&&n.addIssue({code:ye.custom,path:["runs"],message:`A research batch may contain at most ${Ff} concrete queries across all destinations`})});const qV=d({kind:A(["api-key","user"]),id:o(),name:o(),role:Pg.nullable(),limited:_().optional()}),z3=d({id:o(),projectId:o(),status:N3,provider:o(),requestedModel:o().nullable(),resolvedModel:o(),location:ln.nullable(),scope:zV.nullable().optional(),template:I2.nullable().optional(),totalQueries:m().int(),completedQueries:m().int(),failedQueries:m().int(),error:o().nullable(),initiatedBy:qV.nullable(),startedAt:o().nullable(),finishedAt:o().nullable(),createdAt:o()}),PV=d({id:o(),position:m().int(),query:o(),queryClass:Lr.nullable().optional(),status:_3,requestedModel:o().nullable(),resolvedModel:o(),servedModel:o().nullable(),answerText:o().nullable(),groundingSources:y(um),citedDomains:y(o()),searchQueries:y(o()),namedCompetitors:y(o()).default([]),citedCompetitorDomains:y(o()).default([]),answerMentioned:_().nullable(),citationState:qi.nullable(),error:o().nullable(),startedAt:o().nullable(),finishedAt:o().nullable(),createdAt:o()}),MV=z3.extend({queries:y(PV)});d({runs:y(MV)});const BV=d({name:o(),displayName:o(),modelConfigurable:_(),defaultModel:o(),knownModels:y(d({id:o(),displayName:o()}))});d({runs:y(z3),nextCursor:o().nullable().optional(),providers:y(BV).optional(),access:d({canRun:_(),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 LV=d({id:o(),type:o(),canonicalName:o(),countryCode:o(),name:o(),regionCode:o().nullable()});d({count:m().int().nonnegative(),query:o(),results:y(LV)});const VV=d({id:o(),clientType:o().optional(),name:o().optional(),pixelId:o().optional()});d({pixels:y(VV)});const UV=d({id:o(),name:o().optional()}),$V=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(UV).optional(),archived:_().optional(),version:m().int().nonnegative().optional()});d({eventSettings:y($V)});d({connected:_(),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:_().optional()});d({disconnected:_()});d({runId:o(),status:o()});const KV=["campaign_id","ad_group_id","ad_id","ad_account_id","oppref"],GV=/^[\w.-]+=[^&#\s]*$/,HV=/\{([^}]*)\}/g,Co=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(!GV.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(HV)){const h=u[1];if(!KV.includes(h)){i(`Tracking template macro '{${h}}' is not supported`);return}}}),QV=d({type:o().nullable().optional(),title:o().nullable().optional(),body:o().nullable().optional(),targetUrl:o().nullable().optional(),fileId:o().nullable().optional()}),Mc=A(["impressions","clicks"]);Mc.enum;const Bc=A(["impression","click"]);Bc.enum;const FV=d({id:o(),adGroupId:o(),name:o(),status:o(),reviewStatus:o().nullable().optional(),creative:QV.nullable().optional(),landingPageQueryStringTemplate:o().nullable().optional(),upstreamUpdatedAt:m().int().nullable().optional(),syncedAt:o().optional()}),ZV=d({id:o(),campaignId:o(),name:o(),description:o().nullable().optional(),status:o(),billingEventType:Fe([Bc,de()]).optional(),maxBidMicros:m().int().nullable().optional(),contextHints:y(o()).default([]),ads:y(FV).default([]),landingPageQueryStringTemplate:o().nullable().optional(),upstreamUpdatedAt:m().int().nullable().optional(),syncedAt:o().optional()}),YV=d({id:o(),name:o(),description:o().nullable().optional(),status:o(),startTime:m().int().nullable().optional(),endTime:m().int().nullable().optional(),biddingType:Fe([Mc,de()]).optional(),dailySpendLimitMicros:m().int().nullable().optional(),lifetimeSpendLimitMicros:m().int().nullable().optional(),conversionEventSettingIds:y(o()).default([]),locationIds:y(o()).optional(),adGroups:y(ZV).default([]),landingPageQueryStringTemplate:o().nullable().optional(),upstreamUpdatedAt:m().int().nullable().optional(),syncedAt:o().optional()});d({campaigns:y(YV)});const D3=A(["campaign","ad_group"]);D3.enum;const XV=d({level:D3,entityId:o(),date:o(),impressions:m().int(),clicks:m().int(),spendMicros:m().int(),conversions:m().int(),ctr:we().nullable(),cpcMicros:m().int().nullable(),inProgress:_()});d({rows:y(XV),currencyCode:o().nullable().optional()});const I3=d({from:o().nullable(),to:o().nullable(),inProgressDate:o().nullable()}),O3=d({impressions:m().int(),clicks:m().int(),spendMicros:m().int(),conversions:m().int(),ctr:we().nullable(),cpcMicros:m().int().nullable()});d({connected:_(),displayName:o().nullable().optional(),currencyCode:o().nullable().optional(),lastSyncedAt:o().nullable().optional(),campaignCount:m().int(),adGroupCount:m().int(),adCount:m().int(),window:I3,totals:O3});const q3=A(["unavailable","partial","complete"]);q3.enum;const P3=A(["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"]);P3.enum;const M3=A(["unavailable","reported"]);M3.enum;const JV={storedSnapshot:"stored_ads_snapshot"},B3=A(["unavailable","partial_snapshot","metrics_unavailable","observed_activity","no_observed_activity"]);B3.enum;const WV=d({id:o(),name:o(),status:o(),reviewStatus:o().nullable()}),eU=d({id:o(),name:o(),status:o(),billingEventType:Fe([Bc,de()]),maxBidMicros:m().int().nullable(),contextHints:y(o()),ads:y(WV)}),tU=d({id:o(),name:o(),status:o(),biddingType:Fe([Mc,de()]),dailySpendLimitMicros:m().int().nullable(),lifetimeSpendLimitMicros:m().int().nullable(),conversionEventSettingIds:y(o()),adGroups:y(eU)});d({snapshot:d({status:q3,issue:Fe([P3,de()]),lastSyncedAt:o().nullable(),campaignCount:m().int().nonnegative(),adGroupCount:m().int().nonnegative(),adCount:m().int().nonnegative(),sourceSync:d({runId:o(),status:ca}).nullable()}),historicalCampaignRollups:d({status:M3,window:I3,totals:O3.nullable()}),storedConfiguration:d({basis:R(JV.storedSnapshot),connection:d({status:o().nullable(),reviewStatus:o().nullable(),integrityReviewStatus:o().nullable(),integrityDecision:o().nullable(),conversionTrackingConfigured:_()}).nullable(),campaigns:y(tU)}),assessment:d({state:B3})});const oi=o().min(8).max(128).regex(/^[\w.:-]+$/,"operationKey may contain letters, numbers, dot, underscore, colon, and hyphen"),Vt=o().min(1).max(200),No=o().min(3).max(1e3).refine(e=>e.trim().length>0),Ir=m().int().min(946684800).max(4102444800),Or=m().int().positive().max(Number.MAX_SAFE_INTEGER),Mg=o().regex(/^[a-f0-9]{64}$/),L3=y(Vt).max(100).refine(e=>new Set(e).size===e.length,"conversionEventSettingIds must be unique"),V3=o().url().refine(e=>new URL(e).protocol==="https:",{message:"URL must use https"}),U3=A(["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"]);U3.enum;const $3=A(["pending","reconciling","succeeded","failed","unknown"]),jr=$3.enum,K3=A(["known_entity","create_fingerprint","manual_only"]);K3.enum;const G3=A([jr.pending,jr.unknown,jr.reconciling]);G3.enum;const H3=A(["active","paused","archived"]);H3.enum;const Q3=A(["file","campaign","ad_group","ad"]);Q3.enum;const F3=A(["campaign","ad_group","ad"]);F3.enum;const Bg=d({id:Vt,expectedUpdatedAt:m().int().nonnegative()}).strict(),nU=Bg,Vd=1e3;function aU(e){return 1+e.campaign.adGroups.reduce((n,i)=>n+1+i.ads.length,0)}const iU=Bg.extend({ads:y(nU).min(1).max(Vd-1)}).strict(),sU=Bg.extend({adGroups:y(iU).min(1).max(Vd-1)}).strict();function oU(e,n){return e<n?-1:e>n?1:0}function kw(e,n,i){for(let r=1;r<e.length;r+=1)if(oU(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 Z3=d({campaign:sU}).strict().superRefine((e,n)=>{aU(e)>Vd&&n.addIssue({code:"custom",path:["campaign"],message:`Activation manifests may contain at most ${Vd} entities`}),kw(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];kw(h.ads,["campaign","adGroups",u,"ads"],n);for(let f=0;f<h.ads.length;f+=1){const b=h.ads[f];r.has(b.id)&&n.addIssue({code:"custom",path:["campaign","adGroups",u,"ads",f,"id"],message:"An ad may appear only once in an activation manifest"}),r.add(b.id)}}}),Y3=Mg,rU=A(["approved","executing","consumed","revoked","expired","unknown"]),Di=rU.enum,lU=A(["pending","executing","active","failed","rollback_executing","rolled_back","rollback_failed","unknown"]),Ts=lU.enum,cU=d({name:No.optional(),description:o().max(4e3).nullable().optional(),status:H3.optional(),startTime:Ir.nullable().optional(),endTime:Ir.nullable().optional(),lifetimeSpendLimitMicros:Or.min(1e6).optional(),locationIds:y(Vt).max(100).optional(),biddingType:Mc.optional(),conversionEventSettingIds:L3.optional(),campaignId:Vt.optional(),contextHints:y(o().min(1).max(1e3)).max(100).optional(),maxBidMicros:Or.max(1e8).optional(),billingEventType:Bc.optional(),adGroupId:Vt.optional(),creativeFingerprint:Mg.optional(),landingPageQueryStringTemplate:Co.nullable().optional()}).strict();d({operationKey:oi,imageUrl:V3});d({operationKey:oi,name:No,description:o().max(4e3).optional(),startTime:Ir.optional(),endTime:Ir.optional(),lifetimeSpendLimitMicros:Or.min(1e6),locationIds:y(Vt).min(1).max(100),biddingType:Mc.optional(),conversionEventSettingIds:L3.optional(),landingPageQueryStringTemplate:Co.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:oi,campaignId:Vt,name:No,description:o().max(4e3).optional(),contextHints:y(o().min(1).max(1e3)).min(1).max(100),maxBidMicros:Or.max(1e8),billingEventType:Bc.optional(),landingPageQueryStringTemplate:Co.optional()});const X3=d({title:o().min(3).max(50),body:o().min(1).max(100),targetUrl:V3,fileId:Vt});d({operationKey:oi,adGroupId:Vt,name:No,creative:X3,landingPageQueryStringTemplate:Co.optional()});function Lg(e){return Object.keys(e).some(n=>n!=="operationKey"&&n!=="expectedUpdatedAt")}d({operationKey:oi,expectedUpdatedAt:m().int().nonnegative(),name:No.optional(),description:o().max(4e3).nullable().optional(),startTime:Ir.nullable().optional(),endTime:Ir.nullable().optional(),lifetimeSpendLimitMicros:Or.min(1e6).optional(),locationIds:y(Vt).min(1).max(100).optional(),landingPageQueryStringTemplate:Co.nullable().optional()}).refine(Lg,{message:"At least one campaign field must be updated"});d({operationKey:oi,expectedUpdatedAt:m().int().nonnegative(),name:No.optional(),description:o().max(4e3).nullable().optional(),contextHints:y(o().min(1).max(1e3)).min(1).max(100).optional(),maxBidMicros:Or.max(1e8).optional(),landingPageQueryStringTemplate:Co.nullable().optional()}).refine(Lg,{message:"At least one ad group field must be updated"});d({operationKey:oi,expectedUpdatedAt:m().int().nonnegative(),name:No.optional(),creative:X3.optional(),landingPageQueryStringTemplate:Co.nullable().optional()}).refine(Lg,{message:"At least one ad field must be updated"});d({operationKey:oi});d({operationKey:oi,expectedUpdatedAt:m().int().nonnegative()});const Sm=d({id:o(),adAccountId:o().nullable(),operationKey:o(),kind:U3,state:$3,entityType:Fe([Q3,de()]),entityId:o().nullable(),upstreamUpdatedAt:m().int().nullable(),errorCode:o().nullable(),errorMessage:o().nullable(),reconcileStrategy:Fe([K3,de()]),reconcileParentId:Vt.nullable(),reconcileFingerprint:Mg.nullable(),reconcileFields:cU.nullable(),reconcileAttempts:m().int().nonnegative(),lastReconciledAt:o().nullable(),createdAt:o(),updatedAt:o()});d({operation:Sm,replayed:_()});const Dt=TS({offset:!0}),Zr={id:Vt,projectId:Vt,adAccountId:Vt,manifestHash:Y3,manifest:Z3,executorApiKeyId:Vt,approverApiKeyId:Vt,expiresAt:Dt,approvedAt:Dt,createdAt:Dt,updatedAt:Dt,revocationRequestedAt:Dt.nullable()},uU=d({...Zr,state:R(Di.approved),operationId:de(),executionStartedAt:de(),consumedAt:de(),revokedAt:de(),expiredAt:de()}).strict(),dU=d({...Zr,state:R(Di.executing),operationId:Vt,executionStartedAt:Dt,consumedAt:de(),revokedAt:de(),expiredAt:de()}).strict(),mU=d({...Zr,state:R(Di.consumed),operationId:Vt,executionStartedAt:Dt,consumedAt:Dt,revokedAt:de(),expiredAt:de()}).strict(),pU=d({...Zr,state:R(Di.revoked),operationId:de(),executionStartedAt:de(),consumedAt:de(),revokedAt:Dt,expiredAt:de()}).strict(),hU=d({...Zr,state:R(Di.expired),operationId:de(),executionStartedAt:de(),consumedAt:de(),revokedAt:de(),expiredAt:Dt}).strict(),fU=d({...Zr,state:R(Di.unknown),operationId:Vt,executionStartedAt:Dt,consumedAt:de(),revokedAt:de(),expiredAt:de()}).strict(),J3=Be("state",[uU,dU,mU,pU,hU,fU]).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!==Di.executing&&e.state!==Di.unknown&&e.state!==Di.consumed&&n.addIssue({code:"custom",path:["revocationRequestedAt"],message:"Only an executing, cancelled, or unresolved activation can carry a cancellation request"})}),Es={id:Vt,operationId:Vt,ordinal:m().int().nonnegative(),entityType:F3,entityId:Vt,expectedUpdatedAt:m().int().nonnegative(),createdAt:Dt,updatedAt:Dt},Lc={errorCode:de(),errorMessage:de()},Vg={errorCode:o().min(1).max(100),errorMessage:o().min(1).max(500),remediation:o().min(1).max(500)},gU=d({...Es,...Lc,state:R(Ts.pending),providerUpdatedAt:de(),remediation:de(),startedAt:de(),finishedAt:de()}).strict(),yU=d({...Es,...Lc,state:R(Ts.executing),providerUpdatedAt:de(),remediation:de(),startedAt:Dt,finishedAt:de()}).strict(),bU=d({...Es,...Lc,state:R(Ts.active),providerUpdatedAt:m().int().nonnegative(),remediation:de(),startedAt:Dt,finishedAt:Dt}).strict(),vU=d({...Es,...Vg,state:R(Ts.failed),providerUpdatedAt:Fe([m().int().nonnegative(),de()]),startedAt:Dt,finishedAt:Dt}).strict(),xU=d({...Es,...Lc,state:R(Ts.rollback_executing),providerUpdatedAt:m().int().nonnegative(),remediation:o().min(1).max(500),startedAt:Dt,finishedAt:de()}).strict(),wU=d({...Es,...Lc,state:R(Ts.rolled_back),providerUpdatedAt:m().int().nonnegative(),remediation:o().min(1).max(500),startedAt:Dt,finishedAt:Dt}).strict(),kU=d({...Es,...Vg,state:R(Ts.rollback_failed),providerUpdatedAt:m().int().nonnegative(),startedAt:Dt,finishedAt:Dt}).strict(),SU=d({...Es,...Vg,state:R(Ts.unknown),providerUpdatedAt:Fe([m().int().nonnegative(),de()]),startedAt:Dt,finishedAt:Dt}).strict(),jU=Be("state",[gU,yU,bU,vU,xU,wU,kU,SU]),Zf={exact:"exact",refreshSemanticallyUnchanged:"refresh_semantically_unchanged"},AU=A([Zf.exact,Zf.refreshSemanticallyUnchanged]);d({manifest:Z3,executorApiKeyId:Vt,expiresAt:Dt,versionPolicy:AU.default(Zf.exact)}).strict();d({grant:J3}).strict();d({}).strict();d({operationKey:oi,grantId:Vt,manifestHash:Y3}).strict();d({grant:J3,operation:Sm,steps:y(jU)}).strict();const CU=[jr.pending,jr.unknown,jr.reconciling];function NU(e){if(e===void 0||e==="")return CU;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:_s(NU,y(G3).min(1).max(3).refine(e=>new Set(e).size===e.length,"state values must be unique")),limit:Ii().int().min(1).max(200).default(100),cursor:o().min(1).max(1e3).optional()});d({operations:y(Sm),count:m().int().nonnegative(),nextCursor:o().nullable()});d({}).strict();d({operation:Sm,resolved:_()});d({campaignId:o().min(1).max(200).optional(),lookbackDays:Ii().int().min(1).max(30).default(7)});const W3=A(["campaign","ad_group","ad"]);W3.enum;const eA=A(["both","live-only","stored-only"]);eA.enum;const _U=R("live-provider-read"),TU=d({date:o().nullable(),startTime:m().nullable(),endTime:m().nullable(),impressions:m().nullable(),clicks:m().nullable(),spend:m().nullable(),conversions:m().nullable(),ctr:we().nullable(),cpc:m().nullable(),cpm:m().nullable()}),Sw=d({impressions:m().int(),clicks:m().int(),spendMicros:m().int(),conversions:m().int()}),EU=d({date:o(),live:Sw.nullable(),stored:Sw.nullable(),drifted:_()}),RU=d({field:o(),live:o().nullable(),stored:o().nullable()}),zU=d({name:o().nullable(),status:o(),reviewStatus:o().nullable(),mode:o().nullable(),updatedAt:m().nullable()}),DU=d({name:o(),status:o(),reviewStatus:o().nullable(),upstreamUpdatedAt:m().nullable(),syncedAt:o()}),IU=d({entityType:W3,id:o(),parentId:o().nullable(),presence:eA,live:zU.nullable(),stored:DU.nullable(),fieldDeltas:y(RU),liveMetrics:y(TU).nullable(),metricDeltas:y(EU).nullable(),drifted:_()}),OU=d({surface:o(),entityId:o().nullable(),upstreamStatus:m().int().nullable()});d({basis:_U,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:_()}),entities:y(IU),drift:d({entitiesCompared:m().int().nonnegative(),driftedEntities:m().int().nonnegative(),statusDrifted:m().int().nonnegative(),metricsDrifted:m().int().nonnegative()}),errors:y(OU)});const qU=d({status:A(["available","unavailable","not-supported"])}),jw="*";function tA(e){if(e?.some(n=>n.trim().toLowerCase()==="report"))return"The report embed tab has been retired. Remove report from the allowed tabs; explicitly configure overview to display AI Visibility."}const PU=A(["enabled","configured_disabled","CANONRY_TELEMETRY_DISABLED","DO_NOT_TRACK","CI","NO_CONFIG","CONFIG_UNAVAILABLE"]),MU=A(["server","local"]);d({enabled:_(),configuredEnabled:_(),reason:PU,anonymousId:o().regex(/^[0-9a-f]{8}\.\.\.$/i).optional(),target:MU.optional()}).strict();const ft=1,df=A(["system","project","queries","competitors","run","finish"]),BU=A(["copy_agent_command","connect_server_traffic","connect_search_console","connect_analytics","connect_business_profile","set_schedule","add_notification","open_project","review_page_health"]),mf=A(["0","1","2-3","4-5","6-10","11+"]);function ni(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 Aw=A(["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"]),LU=A(["wizard","platform","site_health"]),cd=d({eventId:o().uuid(),flowVersion:R(ft),onboardingSessionId:o().uuid(),surface:LU.optional()});Be("event",[cd.extend({event:R("onboarding.started"),step:df,resumed:_()}).strict(),cd.extend({event:R("onboarding.step_completed"),step:df,method:A(["existing","inline","manual","generated","skipped","automatic"]),countBucket:mf.optional(),nextAction:BU.optional()}).strict(),cd.extend({event:R("onboarding.blocked"),step:df,action:A(["continue","configure_provider","generate_queries","save","launch_run","retry_run"]),reasonCode:Aw}).strict(),cd.extend({event:R("run.requested"),origin:R("dashboard_setup"),result:A(["queued","rejected"]),kind:A(["answer_visibility","site_health"]).optional(),providerCountBucket:mf,queryCountBucket:mf,reasonCode:Aw.optional()}).strict()]);d({accepted:_()});A(["cli","mcp-stdio","mcp-http","aero","api","dashboard"]);const VU=["struggle","bug","improvement","other"],UU=A(VU),ac={summary:500,details:4e3,area:40,command:120,errorCode:40};d({kind:UU,summary:o().trim().min(1).max(ac.summary),details:o().trim().min(1).max(ac.details).optional(),area:o().trim().min(1).max(ac.area).optional(),command:o().trim().min(1).max(ac.command).optional(),errorCode:o().trim().min(1).max(ac.errorCode).optional()}).strict();d({accepted:_(),id:o()});const $U=4;function KU(e){return e.length<$U}const nA=A(["trace","debug","info","warn","error","fatal"]),aA=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:_().optional(),retrying:_().optional(),cancelled:_().optional(),success:_().optional()}).strict(),iA=d({cursor:o().min(1).max(512),ts:o().datetime(),level:nA,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:aA}).strict();d({level:nA.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:Ii().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 sA=d({maxEntries:m().int().positive(),maxAgeSeconds:m().int().positive()}).strict(),GU=d({entries:y(iA),nextCursor:o().min(1).max(512).nullable(),truncated:m().int().nonnegative(),dropped:m().int().nonnegative(),retention:A(["process","durable"]),retentionPolicy:sA.optional(),captureErrors:m().int().nonnegative().optional(),observedAt:o().datetime()}).strict(),HU=d(aA.shape),QU=d({...iA.shape,context:HU});d({...GU.shape,entries:y(QU),retentionPolicy:d(sA.shape).optional()});function pf(e){return e!==""&&/^[\w./:@%+=,-]+$/.test(e)?e:`'${e.replace(/'/g,"'\\''")}'`}d({startDate:Zn,endDate:Zn,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 lo=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:R("project-source-only"),unavailableDimensions:y(A(["property","target","market"]))}),window:d({startDate:Zn,endDate:Zn,timeZone:R("UTC")}),rule:d({version:R("hourly-normalized-path-v1"),burstThreshold:m().int().positive(),ratioThreshold:m().positive(),calibration:A(["uncalibrated-default","request-override"]),grouping:y(o()),confirmsAutomation:R(!1)}),totals:d({raw:lo,redirects:lo,subresources:lo,countable:lo,suspected:lo,adjustedEstimate:lo}),bursts:y(d({sourceId:o(),product:o(),landingPathNormalized:o(),tsHour:o(),counts:lo})),evidence:d({total:m().int().nonnegative(),returned:m().int().nonnegative(),truncated:_()}),comparison:d({status:R("unavailable"),serverCountable:m().int().nonnegative(),serverObservation:A(["missing","observed-zero","observed-positive"]),gaSessions:m().int().nonnegative().nullable(),gaObservation:A(["missing","observed-zero","observed-positive"]),observedRatio:m().nonnegative().nullable(),observedRatioAboveThreshold:_().nullable(),ratio:de(),reasons:y(o()),gaScope:R("project")}),caveats:y(o())});const FU=new Set(["optional","nullable","default","prefault","readonly","catch","nonoptional"]),Cw=64;function xd(e){return e._zod.def}function co(e,n){return e.clone({...xd(e),...n})}function Nw(e){if(e.length!==0){if(e.every(n=>typeof n=="string"))return o();if(e.every(n=>typeof n=="number"))return m();if(e.every(n=>typeof n=="boolean"))return _()}}function oA(e,n,i,r){if(r>Cw)throw new Error(`tolerantReadSchema: schema nesting exceeds ${Cw} levels`);const u=i.get(e);if(u)return u;const h=v=>oA(v,n,i,r+1),f=xd(e);let b=e;if(f.type==="object"){const v=Object.fromEntries(Object.entries(e.shape).map(([S,T])=>[S,h(T)])),w=f.catchall,k=n.get(e)??(w&&xd(w).type!=="never"?h(w):void 0);b=k?d(v).catchall(k):d(v)}else if(FU.has(f.type)){const v=f.innerType,w=h(v);b=w===v?e:co(e,{innerType:w})}else if(f.type==="array"){const v=f.element,w=h(v);b=w===v?e:co(e,{element:w})}else if(f.type==="pipe"){const v=f.in,w=f.out,k=h(v),S=h(w);b=k===v&&S===w?e:co(e,{in:k,out:S})}else if(f.type==="union"){const v=f.options,w=v.map(h);b=w.some((S,T)=>S!==v[T])?f.discriminator?Fe(w):co(e,{options:w}):e}else if(f.type==="record"){const v=f.keyType,w=f.valueType,k=xd(v).type==="enum"?o():v,S=h(w);b=k===v&&S===w?e:co(e,{keyType:k,valueType:S})}else if(f.type==="intersection"){const v=f.left,w=f.right,k=h(v),S=h(w);b=k===v&&S===w?e:co(e,{left:k,right:S})}else if(f.type==="tuple"){const v=f.items,w=f.rest,k=v.map(h),S=w&&h(w);b=S!==w||k.some((N,I)=>N!==v[I])?co(e,{items:k,rest:S}):e}else if(f.type==="lazy"){const v=f.getter;b=wz(()=>h(v()))}else f.type==="enum"?b=Nw(Object.values(f.entries))??e:f.type==="literal"&&(b=Nw(f.values)??e);return i.set(e,b),b}function _o(e,n={}){const i=new Map(n.openKeys??[]);return oA(e,i,new Map,0)}const To={openKeys:[[Tg,m().int().nonnegative()]]};_o(pL,To);_o(Qf,To);_o(wL,To);_o(kL,To);_o(hL,To);_o(r3,To);_o(bL,To);Fe([R(7),R(14),R(30),R(90)]).describe("Traffic activity window in days (7, 14, 30, or 90). Defaults to 30 when omitted.");const uo=d({current:m(),prior:m(),deltaPct:ot().nullable()}),ZU=d({windowStart:o(),windowEnd:o(),coverageStart:o().nullable(),priorWindowComplete:_(),hasData:_().describe("True when the selected or prior window has stored crawler, user-fetch, countable referral or operator evidence, or the selected window has referral redirects. False means no qualifying stored evidence; it can occur with no, paused, errored or never-synced ingestion and out-of-window observations. It does not establish measured zero traffic or source health."),verifiedCrawlerHits:uo,unverifiedCrawlerHits:uo,aiUserFetchHits:uo,referralArrivals:uo,referralRedirects:m().int().nonnegative(),referralArrivalsByClass:d({paid:uo,organic:uo,unclassified:uo}),referralArrivalsClassSummary:o(),byOperator:y(d({operator:o(),verifiedHits:m(),unverifiedHits:m(),userFetchHits:m(),referralArrivals:m(),deltaPct:ot().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()}))});d({activity:ZU.nullable()});class _n 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 GJ(e){if(e instanceof _n)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 Ar(){if(typeof window>"u")return!1;const e=window.__CANONRY_CONFIG__?.demo;return e?.enabled===!0&&e.readOnly===!0&&e.sampleData===!0}function YU(){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 XU(){if(typeof window>"u")return;const e=window.__CANONRY_CONFIG__?.embed?.renderToken;return typeof e=="string"&&e.length>0?e:void 0}function rA(e){const n=XU();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 f=`${jm().replace(/\/$/,"")}/api/v1`;return i.pathname!==f&&!i.pathname.startsWith(`${f}/`)?e:(i.searchParams.set("token",n),/^[a-z][a-z\d+.-]*:/i.test(e)?i.toString():`${i.pathname}${i.search}${i.hash}`)}function JU(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 lA(){if(typeof window>"u")return null;const e=window.__CANONRY_CONFIG__?.embed;return e?.enabled?e:null}function WU(){return typeof window>"u"?!0:window.__CANONRY_CONFIG__?.dashboard?.showResourceLinks!==!1}function e$(){return typeof window>"u"?!0:window.__CANONRY_CONFIG__?.dashboard?.showAgentBar!==!1}function t$(){return typeof window>"u"?!1:window.__CANONRY_CONFIG__?.agent?.allowViewers===!0}function Ug(){return Ar()}function n$(){return typeof window>"u"?!0:window.__CANONRY_CONFIG__?.dashboard?.showUpdateNotification!==!1}function ho(){return a$(Re["answer-visibility"])}function a$(e){if(typeof window>"u")return!1;const n=window.__CANONRY_CONFIG__?.dashboard;return n?.managedRunKinds!==void 0?n.managedRunKinds.includes(e):e===Re["answer-visibility"]&&n?.managedSweeps===!0}function i$(){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:EV}}function _w(){return i$()?"Analyst":"View only"}function cA(){return lA()!==null}function s$(){return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?window.__CANONRY_CONFIG__.basePath.replace(/\/$/,"")+"/api/v1":"/api/v1"}const uA=s$();function o$(){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 jm(){return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?window.__CANONRY_CONFIG__.basePath.replace(/\/$/,""):""}function r$(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 l$(e,n){if(e.protocol!=="http:"&&e.protocol!=="https:"||!r$(e.hostname))return;const i=e.port?`:${e.port}`:"",r=n?n.replace(/\/$/,""):"";return`${e.protocol}//localhost${i}${r}`}function HJ(e){return`${e.replace(/\/$/,"")}/api/v1/google/callback`}function QJ(e){return`${e.replace(/\/$/,"")}/api/v1/google-marketing/callback`}function c$(){if(!(typeof window>"u"))return l$(window.location,jm())}function u$(e){return`${jm()}${e}`}function d$(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 m$(){return""}function p$(){return!!m$()}let dA=null;function Tw(e){dA=e}function $g(){dA?.()}const te=q8({baseUrl:o$()});te.interceptors.response.use((e,n)=>(e.status===401&&!n.url.includes("/api/v1/session")&&$g(),e));te.interceptors.request.use(e=>{const n=rA(e.url);return n===e.url?e:JU(e,n)});async function he(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 f=n.error.error;if(typeof f=="string")r=f;else if(f&&typeof f=="object"){const b=f;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 _n(r,i,u,h)}if(n.response.status!==204)return n.data}async function Rs(e,n){const i=n?.body!=null,r=await fetch(rA(`${uA}${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}`,f,b;if(u)try{const v=JSON.parse(u);typeof v.error=="string"?h=v.error:v.error?.message?(h=v.error.message,f=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/")&&$g(),new _n(h,r.status,f,b)}if(r.status!==204)return r.json()}function h$(e){return he(()=>Qk({client:te,path:{name:e}}))}function FJ(e){return he(()=>Yk({client:te,path:{name:e}}))}function Yf(e){return he(()=>Xk({client:te,path:{id:e}}))}function mA(e){return he(()=>Zk({client:te,path:{name:e}}))}function f$(e,n,i){return he(()=>h6({client:te,path:{name:e},query:{location:n,limit:i}}))}function pA(e,n){return he(()=>Q_({client:te,path:{name:e},query:{location:n?.location,since:n?.since}}))}function hA(e,n){return he(()=>C5({client:te,path:{name:e},body:n}))}function g$(e){return he(()=>j5({client:te,body:e}))}function y$(e,n){return he(()=>n6({client:te,path:{name:e},body:{queries:n}}))}function b$(e,n){return he(()=>t6({client:te,path:{name:e},body:{queries:n}}))}function ZJ(e,n){return he(()=>e6({client:te,path:{name:e},body:{queries:n}}))}function v$(e,n){return he(()=>s6({client:te,path:{name:e},body:{competitors:n}}))}function YJ(e,n){return he(()=>i6({client:te,path:{name:e},body:{competitors:n}}))}function XJ(e,n){return he(()=>o6({client:te,path:{name:e,id:n}}))}async function JJ(e,n){const i=await h$(e);return hA(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 x$(e,n){const i={};return n?.location&&(i.location=n.location),n?.allLocations&&(i.allLocations=!0),n?.noLocation&&(i.noLocation=!0),he(()=>l6({client:te,path:{name:e},body:i}))}function WJ(e,n){return he(()=>X5({client:te,path:{name:e},body:n}))}async function eW(e,n){await he(()=>J5({client:te,path:{name:e,label:n}}))}function tW(e,n){return he(()=>W5({client:te,path:{name:e},body:{label:n}}))}async function nW(e){await he(()=>A5({client:te,path:{name:e}}))}function aW(){return he(()=>Jk({client:te}))}function Ew(){return Rs("/session")}function w$(e){return Rs("/session/setup",{method:"POST",body:JSON.stringify({password:e})})}function k$(e){return Rs("/session",{method:"POST",body:JSON.stringify({password:e})})}function S$(e){return Rs("/session",{method:"POST",body:JSON.stringify({apiKey:e})})}function j$(){return Rs("/session",{method:"DELETE"})}function hf(){return he(()=>v6({client:te}))}function Rw(){return Rs("/auth/session")}function A$(e,n){return Rs("/auth/login",{method:"POST",body:JSON.stringify({name:e,password:n})})}function zw(){return Rs("/auth/logout",{method:"POST"})}function fA(e,n){return he(()=>y6({client:te,path:{name:e},body:n}))}async function Kg(e){for(let n=0;n<2;n+=1)try{await he(()=>z6({client:te,body:e}));return}catch(i){if(!(!(i instanceof _n)||i.statusCode>=500)||n===1)return}}function iW(e){return he(()=>b6({client:te,body:e}))}function sW(e,n){return he(()=>j6({client:te,path:{name:e},body:n}))}async function oW(e,n){await he(()=>k6({client:te,path:{name:e},query:n===void 0?void 0:{expectedUpdatedAt:n}}))}function rW(e){return he(()=>C6({client:te,path:{name:e}}))}function lW(e,n){return he(()=>N6({client:te,path:{name:e},body:n}))}async function cW(e,n){await he(()=>_6({client:te,path:{name:e,id:n}}))}function uW(e,n){return he(()=>T6({client:te,path:{name:e,id:n}}))}function C$(e,n,i){return he(()=>a6({client:te,path:{name:e},body:{provider:n,count:i}}))}function N$(e){return he(()=>d6({client:te,body:e}))}function _$(e){return he(()=>u6({client:te,body:e??{}}))}function dW(e,n){const i=c$();return he(()=>t_({client:te,path:{name:e},body:{type:n,...i?{publicUrl:i}:{}}}))}function mW(e,n){return he(()=>n_({client:te,path:{name:e,type:n}}))}function pW(e,n,i){return he(()=>i_({client:te,path:{name:e,type:n},body:{propertyId:i}}))}function hW(e,n,i){return he(()=>s_({client:te,path:{name:e,type:n},body:{sitemapUrl:i}}))}function T$(e,n){return he(()=>o_({client:te,path:{name:e},body:n??{}}))}function fW(e,n){const i={};return n&&n!=="all"&&(i.window=n),he(()=>f6({client:te,path:{name:e},query:i}))}function gW(e,n){return he(()=>c_({client:te,path:{name:e},body:{url:n}}))}function E$(e,n){return he(()=>f_({client:te,path:{name:e},body:n??{}}))}function yW(e,n){return he(()=>h_({client:te,path:{name:e},query:n?{sitemapIndex:n}:void 0}))}function bW(e,n){return he(()=>k5({client:te,path:{name:e},body:{sitemapUrls:n}}))}function R$(e,n){return he(()=>_8({client:te,path:{name:e},body:n??{}}))}function vW(e,n){return he(()=>f8({client:te,path:{name:e},body:n??{}}))}function xW(){return he(()=>Wk({client:te}))}function wW(e,n){return he(()=>w6({client:te,body:{host:e,port:n}}))}function kW(e,n){return he(()=>g_({client:te,path:{name:e},body:n}))}function SW(e,n){return he(()=>A_({client:te,path:{name:e},body:{apiKey:n}}))}function jW(e){return he(()=>C_({client:te,path:{name:e}}))}function AW(e,n){return he(()=>T_({client:te,path:{name:e},body:{siteUrl:n}}))}function CW(e,n){return he(()=>z_({client:te,path:{name:e},body:{url:n}}))}function NW(e,n){return he(()=>D_({client:te,path:{name:e},body:{}}))}function _W(e,n){return he(()=>I_({client:te,path:{name:e},body:n}))}function TW(e){return he(()=>x6({client:te,body:{apiKey:e}}))}function z$(e){return e?/filename\s*=\s*"?([^";]+)"?/i.exec(e)?.[1]??null:null}async function EW(e,n){const i=await fetch(`${uA}/projects/${encodeURIComponent(e)}/results/export?format=${n}`,{credentials:"same-origin",headers:{}});if(!i.ok)throw new _n(`Failed to download results: ${i.status}`,i.status);const r=await i.blob(),u=URL.createObjectURL(r),h=z$(i.headers.get("Content-Disposition"))??`canonry-results-${e}.${n}`,f=document.createElement("a");f.href=u,f.download=h,document.body.appendChild(f),f.click(),document.body.removeChild(f),URL.revokeObjectURL(u)}function RW(e,n){return he(()=>B_({client:te,path:{name:e},body:{}}))}function zW(e,n){return he(()=>q_({client:te,path:{name:e},body:n}))}function DW(e){return he(()=>P_({client:te,path:{name:e}}))}function IW(e,n){return he(()=>o8({client:te,path:{name:e},body:n}))}function OW(e,n){return he(()=>r8({client:te,path:{name:e},body:n}))}function qW(e,n){return he(()=>l8({client:te,path:{name:e},body:n}))}function PW(e,n,i){return he(()=>c8({client:te,path:{name:e,id:n},body:i??{}}))}function MW(e,n,i){return he(()=>u8({client:te,path:{name:e,id:n},body:{}}))}function BW(e,n){return he(()=>K_({client:te,path:{name:e},query:{runId:n}}))}function D$(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 I$(e,n){const i=u$(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:d$(e,r.status)};const u=await r.json(),h=typeof u.version=="string"?u.version:"unknown",f=typeof u.databaseUrlConfigured=="boolean"?u.databaseUrlConfigured:void 0,b=typeof u.lastHeartbeatAt=="string"?u.lastHeartbeatAt:void 0,v=D$(u.updateAvailable),w=qU.safeParse(u.mcp),k=[h,f===!1?"database not configured":"database configured",b?`heartbeat ${b}`:void 0].filter(Boolean).join(" · ");return{label:n,state:"ok",detail:k,version:h,databaseConfigured:f,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 LW(){return he(()=>F_({client:te}))}function VW(){return he(()=>Z_({client:te}))}function UW(){return he(()=>J_({client:te}))}function $W(){return he(()=>Y_({client:te}))}function KW(e){return he(()=>X_({client:te,body:e?{release:e}:{}}))}function GW(){return he(()=>W_({client:te}))}function HW(){return he(()=>e8({client:te}))}function QW(e){return he(()=>t8({client:te,path:{release:e}}))}function FW(e,n={}){return he(()=>a8({client:te,path:{name:e},query:{release:n.release,excludeCrawlers:n.excludeCrawlers?"1":void 0,source:n.source}}))}function ZW(e,n={}){return he(()=>i8({client:te,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 YW(e,n={}){return he(()=>s8({client:te,path:{name:e},query:{source:n.source}}))}function XW(e,n){return he(()=>n8({client:te,path:{name:e},body:{release:void 0}}))}async function Dw(e,n){return he(()=>R8({client:te,path:{name:e},query:n}))}async function O$(e,n){return he(()=>z8({client:te,path:{name:e},body:{id:n}}))}async function q$(e,n){return he(()=>I8({client:te,path:{name:e,id:n}}))}async function P$(e,n){return he(()=>D8({client:te,path:{name:e,id:n}}))}async function M$(e,n){const i=f=>he(()=>D5({client:te,path:{name:e},query:{...n,include:["assessments","locations"],queryLimit:s3,queryCursor:f}})),r=await i(),u=[...r.queries];let h=r.queryPage?.nextCursor??null;for(;h;){const f=await i(h);u.push(...f.queries),h=f.queryPage?.nextCursor??null}return{...r,queries:u,...r.queryPage?{queryPage:{...r.queryPage,nextCursor:null}}:{}}}function wd(e){return he(()=>R5({client:te,path:{name:e}}))}function B$(e,n){return he(()=>z5({client:te,path:{name:e},body:n}))}function L$(e,n,i){return he(()=>I5({client:te,path:{name:e},query:{...n,cursor:i,limit:50}}))}function V$(e,n){return he(()=>O5({client:te,path:{name:e},query:n}))}function U$(e,n,i){return he(()=>q5({client:te,path:{name:e},body:{previewToken:n,idempotencyKey:i}}))}function $$(e){return he(()=>P5({client:te,path:{name:e}}))}function K$(e,n,i){return he(()=>M5({client:te,path:{name:e,jobId:n},query:{attemptCursor:i}}))}const gA={account:null,canWrite:!0,isAdmin:!0},G$={account:null,canWrite:!1,isAdmin:!1};function H$(e){const n=e.scopes.includes(jw);return{account:null,canWrite:!e.readOnly&&n,isAdmin:e.projectId===null&&e.scopes.includes(jw)}}const yA=C.createContext(gA);function Q$({account:e,apiKey:n,apiKeyPending:i=!1,children:r}){const u=i?G$:n?H$(n):e?{account:e,canWrite:e.role==="admin",isAdmin:e.role==="admin"}:gA;return l.jsx(yA.Provider,{value:u,children:r})}function ua(){return C.useContext(yA)}const bA="View only — your account cannot change this.";function dn(e){return(...n)=>{e(...n)}}const F$=6e3,Z$=5,Y$=180;let Dn=[],X$=0;const Xf=new Set,Jf=new Map,Wf=new Map;function Ud(){const e=[...Dn];for(const n of Xf)n(e)}function Gg(e){const n=Jf.get(e);n&&(clearTimeout(n),Jf.delete(e));const i=Wf.get(e);i&&(clearTimeout(i),Wf.delete(e))}function vA(e){Gg(e);const n=Dn.length;Dn=Dn.filter(i=>i.id!==e),Dn.length!==n&&Ud()}function Iw(e){Gg(e.id),Jf.set(e.id,setTimeout(()=>{e0(e.id)},e.durationMs))}function J$(e,n,i){return typeof e=="string"?{title:e,tone:n,durationMs:i}:e}function vn(e,n="negative",i=F$){const r=J$(e,n,i),u={id:String(++X$),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=Dn.find(f=>f.dedupeKey===r.dedupeKey);if(h){if((r.dedupeMode??"drop")==="drop")return h.id;const f={...h,title:u.title,detail:u.detail,tone:u.tone,durationMs:u.durationMs,cta:u.cta,state:"open"};return Dn=Dn.map(b=>b.id===h.id?f:b),Ud(),Iw(f),h.id}}return Dn.length>=Z$&&vA(Dn[0].id),Dn=[...Dn,u],Ud(),Iw(u),u.id}function e0(e){const n=Dn.find(i=>i.id===e);!n||n.state==="closing"||(Gg(e),Dn=Dn.map(i=>i.id===e?{...i,state:"closing"}:i),Ud(),Wf.set(e,setTimeout(()=>{vA(e)},Y$)))}function W$(e){return Xf.add(e),()=>{Xf.delete(e)}}function Ow(){return Dn}const eK=5*6e4,kd=30*6e4,JW=3e4,WW=6e4,qr=3e4,tK=2e3,nK=3e4;function aK(){return new wN({defaultOptions:{queries:{staleTime:eK,retry:1,refetchOnWindowFocus:!1}},mutationCache:new kN({onError:(n,i,r,u)=>{u.meta?.skipGlobalErrorToast||vn({title:n instanceof Error?n.message:"An unexpected error occurred",tone:"negative"})}})})}const iK="modulepreload",sK=function(e,n){return new URL(e,n).href},qw={},Bi=function(n,i,r){let u=Promise.resolve();if(i&&i.length>0){let w=function(k){return Promise.all(k.map(S=>Promise.resolve(S).then(T=>({status:"fulfilled",value:T}),T=>({status:"rejected",reason:T}))))};const f=document.getElementsByTagName("link"),b=document.querySelector("meta[property=csp-nonce]"),v=b?.nonce||b?.getAttribute("nonce");u=w(i.map(k=>{if(k=sK(k,r),k in qw)return;qw[k]=!0;const S=k.endsWith(".css"),T=S?'[rel="stylesheet"]':"";if(r)for(let I=f.length-1;I>=0;I--){const P=f[I];if(P.href===k&&(!S||P.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${k}"]${T}`))return;const N=document.createElement("link");if(N.rel=S?"stylesheet":iK,S||(N.as="script"),N.crossOrigin="",N.href=k,v&&N.setAttribute("nonce",v),document.head.appendChild(N),S)return new Promise((I,P)=>{N.addEventListener("load",I),N.addEventListener("error",()=>P(new Error(`Unable to preload CSS for ${k}`)))})}))}function h(f){const b=new Event("vite:preloadError",{cancelable:!0});if(b.payload=f,window.dispatchEvent(b),!b.defaultPrevented)throw f}return u.then(f=>{for(const b of f||[])b.status==="rejected"&&h(b.reason);return n().catch(h)})},Hg=C.createContext({view:null,publish:()=>()=>{}});function oK({children:e}){const[n,i]=C.useState(null),r=C.useCallback(u=>(i(u),()=>i(h=>h===u?null:h)),[]);return l.jsx(Hg.Provider,{value:C.useMemo(()=>({view:n,publish:r}),[n,r]),children:e})}function eee(e,n){const{publish:i}=C.useContext(Hg),r=JSON.stringify(n);C.useEffect(()=>i({project:e,context:JSON.parse(r)}),[i,e,r])}function rK(e,n){const{view:i}=C.useContext(Hg);return i?.project===e&&i.context.view===n.view?i.context:n}var lK=(e=>(e.Clicks="clicks",e.Impressions="impressions",e.CTR="ctr",e.Position="position",e))(lK||{});const tee={clicks:"Clicks",impressions:"Impressions",ctr:"CTR",position:"Position"},nee={clicks:"Clicks",impressions:"Impr",ctr:"CTR",position:"Pos"},cK=ig;function aee(e){return e.endsWith("%")?{figure:e.slice(0,-1),sign:"%"}:{figure:e,sign:""}}function uK(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 dK(e){return e.split("-").map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function mK(e,n,i=new Date){const r=new Date(e);if(Number.isNaN(r.getTime()))return e;const u=r.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit"});return n&&new Date(n).toDateString()===r.toDateString()?u:`${pK(e,i)}, ${u}`}function pK(e,n=new Date){const i=new Date(e);return Number.isNaN(i.getTime())?e:i.getFullYear()===n.getFullYear()?hK(e):i.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})}function hK(e){const n=new Date(e);return Number.isNaN(n.getTime())?e:n.toLocaleDateString("en-US",{month:"short",day:"numeric"})}function fK(e){if(!e)return"—";try{return new Date(e).toLocaleString()}catch{return e}}function iee(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 see(e,n){return e==="twice-daily"?"twice-daily":e.startsWith("weekly@")?`${e}@${n}`:`daily@${n}`}function oee(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 ree(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 f=u[1]?parseInt(u[1]):6;return`Every day at ${Pw(f)} · ${r}`}const h=e.match(/^weekly@(mon|tue|wed|thu|fri|sat|sun)(?:@(\d+))?$/);if(h){const f={mon:"Monday",tue:"Tuesday",wed:"Wednesday",thu:"Thursday",fri:"Friday",sat:"Saturday",sun:"Sunday"},b=h[2]?parseInt(h[2]):6;return`Every ${f[h[1]]} at ${Pw(b)} · ${r}`}return`${e} · ${r}`}function gK(e,n){return n&&n!==e?`${e} · ${n}`:e}function lee(){const e=Intl.DateTimeFormat().resolvedOptions().timeZone,n=new Intl.DateTimeFormat("en-US",{timeZoneName:"short"}).formatToParts().find(i=>i.type==="timeZoneName")?.value;return gK(e,n)}function yK(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 bK(e,n){return!n||n.includes(e)}const xA=["overview","search-console","local","activity","backlinks","technical-aeo","history","settings"],vK=new Set(xA);function xK(e){if(tA(e))return[];const n=e??xA,i=[...new Set(n.filter(r=>vK.has(r)))];return i.length>0?i:["overview"]}function cee(e){return e?xK(e.projectTabs):void 0}function uee(e,n){return bK(e,n)||!n?e:n.includes("overview")?"overview":n[0]??"overview"}const Mw={bg:"--canonry-embed-bg",fg:"--canonry-embed-fg",accent:"--color-link"},wK=/^(?:#(?:[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 kK(e){const n=e?.mode?.trim();return n==="light"||n==="dark"?n:void 0}function SK(e){if(!e)return{};const n={};for(const[i,r]of Object.entries(e)){const u=Object.hasOwn(Mw,i)?Mw[i]:void 0;if(!u||typeof r!="string")continue;const h=r.trim();wK.test(h)&&(n[u]=h)}return n}const fe=(e,n,i,r)=>{const u={_id:e,baseUrl:n?.baseUrl||(n?.client??D).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]},Ss=e=>fe("getApiV1Projects",e),Eo=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await S5({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:Ss(e)}),jK=e=>fe("getApiV1ProjectsByName",e),AK=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await Qk({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:jK(e)}),CK=e=>fe("getApiV1ProjectsByNameMeasurementPlan",e),dee=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await N5({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:CK(e)}),NK=e=>fe("getApiV1ProjectsByNameMeasurementReport",e),mee=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await _5({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:NK(e)}),_K=e=>fe("getApiV1ProjectsByNameMeasurementSetup",e),TK=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await T5({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:_K(e)}),Vc=(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},pee=e=>({mutationFn:async i=>{const{data:r}=await E5({...e,...i,throwOnError:!0});return r}}),EK=e=>fe("getApiV1ProjectsByNameMeasurementOverview",e),hee=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await Fk({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:EK(e)}),RK=e=>fe("getApiV1ProjectsByNameMeasurementOverview",e,!0),fee=e=>Ac({queryFn:async({pageParam:n,queryKey:i,signal:r})=>{const h=Vc(i,typeof n=="object"?n:{query:{cursor:n}}),{data:f}=await Fk({...e,...h,signal:r,throwOnError:!0});return f},queryKey:RK(e)}),zK=e=>fe("getApiV1ProjectsByNameVisibilityReport",e),gee=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await B5({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:zK(e)}),DK=e=>fe("getApiV1ProjectsByNameMeasurementPropertyEvidence",e,!0),yee=e=>Ac({queryFn:async({pageParam:n,queryKey:i,signal:r})=>{const h=Vc(i,typeof n=="object"?n:{query:{cursor:n}}),{data:f}=await L5({...e,...h,signal:r,throwOnError:!0});return f},queryKey:DK(e)}),IK=e=>fe("getApiV1ProjectsByNameMeasurementQuestionResult",e),bee=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await V5({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:IK(e)}),OK=e=>fe("getApiV1ProjectsByNameMeasurementPropertyCompetitors",e),vee=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await U5({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:OK(e)}),qK=e=>fe("getApiV1ProjectsByNameMeasurementQueryTemplates",e),xee=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await $5({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:qK(e)}),wee=e=>({mutationFn:async i=>{const{data:r}=await K5({...e,...i,throwOnError:!0});return r}}),PK=e=>fe("getApiV1ProjectsByNameResearchRuns",e,!0),kee=e=>Ac({queryFn:async({pageParam:n,queryKey:i,signal:r})=>{const h=Vc(i,typeof n=="object"?n:{query:{cursor:n}}),{data:f}=await G5({...e,...h,signal:r,throwOnError:!0});return f},queryKey:PK(e)}),See=e=>({mutationFn:async i=>{const{data:r}=await H5({...e,...i,throwOnError:!0});return r}}),MK=e=>fe("getApiV1ProjectsByNameQueryTracking",e),jee=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await Q5({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:MK(e)}),Aee=e=>({mutationFn:async i=>{const{data:r}=await F5({...e,...i,throwOnError:!0});return r}}),Cee=e=>({mutationFn:async i=>{const{data:r}=await Z5({...e,...i,throwOnError:!0});return r}}),BK=e=>fe("getApiV1ProjectsByNameResearchRunsByRunId",e),Nee=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await Y5({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:BK(e)}),wA=e=>fe("getApiV1ProjectsByNameQueries",e),_ee=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await Zk({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:wA(e)}),LK=e=>fe("getApiV1ProjectsByNameAnalyticsCompetitors",e),Tee=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await r6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:LK(e)}),VK=e=>fe("getApiV1ProjectsByNameRuns",e),kA=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await Yk({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:VK(e)}),Qg=e=>fe("getApiV1Runs",e),Am=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await c6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:Qg(e)}),UK=e=>fe("getApiV1RunsById",e),Fg=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await Xk({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:UK(e)}),$K=e=>fe("getApiV1ProjectsByNameHistory",e),Eee=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await m6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:$K(e)}),KK=e=>fe("getApiV1History",e),Ree=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await p6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:KK(e)}),GK=e=>fe("getApiV1ProjectsByNameSnapshotsDiff",e),zee=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await g6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:GK(e)}),HK=e=>fe("getApiV1Settings",e),QK=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await Jk({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:HK(e)}),FK=e=>fe("getApiV1ProjectsByNameSchedule",e),ZK=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await S6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:FK(e)}),YK=e=>fe("getApiV1ProjectsByNameSchedules",e),Dee=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await A6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:YK(e)}),SA=e=>fe("getApiV1Telemetry",e),XK=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await E6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:SA(e)}),JK=e=>({mutationFn:async i=>{const{data:r}=await R6({...e,...i,throwOnError:!0});return r}}),WK=e=>fe("getApiV1CdpStatus",e),eG=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await Wk({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:WK(e)}),tG=e=>fe("getApiV1ProjectsByNameGoogleAdsStatus",e),Iee=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await D6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:tG(e)}),Oee=e=>({mutationFn:async i=>{const{data:r}=await I6({...e,...i,throwOnError:!0});return r}}),nG=e=>fe("getApiV1ProjectsByNameGoogleAdsCustomers",e),qee=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await O6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:nG(e)}),Pee=e=>({mutationFn:async i=>{const{data:r}=await q6({...e,...i,throwOnError:!0});return r}}),Mee=e=>({mutationFn:async i=>{const{data:r}=await P6({...e,...i,throwOnError:!0});return r}}),aG=e=>fe("getApiV1ProjectsByNameGoogleAdsPerformance",e),Bee=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await M6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:aG(e)}),iG=e=>fe("getApiV1ProjectsByNameGoogleAdsSnapshots",e),Lee=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await B6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:iG(e)}),Vee=e=>({mutationFn:async i=>{const{data:r}=await L6({...e,...i,throwOnError:!0});return r}}),sG=e=>fe("getApiV1ProjectsByNameGtmStatus",e),Uee=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await V6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:sG(e)}),$ee=e=>({mutationFn:async i=>{const{data:r}=await U6({...e,...i,throwOnError:!0});return r}}),oG=e=>fe("getApiV1ProjectsByNameGtmAccounts",e),Kee=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await $6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:oG(e)}),rG=e=>fe("getApiV1ProjectsByNameGtmAccountsByAccountIdContainers",e),Gee=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await K6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:rG(e)}),lG=e=>fe("getApiV1ProjectsByNameGtmAccountsByAccountIdContainersByContainerIdWorkspaces",e),Hee=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await G6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:lG(e)}),Qee=e=>({mutationFn:async i=>{const{data:r}=await H6({...e,...i,throwOnError:!0});return r}}),Fee=e=>({mutationFn:async i=>{const{data:r}=await Q6({...e,...i,throwOnError:!0});return r}}),cG=e=>fe("getApiV1ProjectsByNameGtmSnapshots",e),Zee=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await F6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:cG(e)}),Yee=e=>({mutationFn:async i=>{const{data:r}=await Z6({...e,...i,throwOnError:!0});return r}}),uG=e=>fe("getApiV1ProjectsByNameConversionTrackingOptions",e),Xee=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await Y6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:uG(e)}),dG=e=>fe("getApiV1ProjectsByNameConversionTrackingContracts",e),Jee=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await X6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:dG(e)}),Wee=e=>({mutationFn:async i=>{const{data:r}=await J6({...e,...i,throwOnError:!0});return r}}),mG=e=>fe("getApiV1ProjectsByNameConversionTrackingContractsByContractIdIntegrity",e),ete=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await W6({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:mG(e)}),pG=e=>fe("getApiV1ProjectsByNameGoogleConnections",e),tte=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await e_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:pG(e)}),hG=e=>fe("getApiV1ProjectsByNameGoogleProperties",e),nte=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await a_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:hG(e)}),fG=e=>fe("getApiV1ProjectsByNameGoogleGscPerformance",e),ate=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await r_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:fG(e)}),gG=e=>fe("getApiV1ProjectsByNameGoogleGscPerformanceDaily",e),ite=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await l_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:gG(e)}),yG=e=>fe("getApiV1ProjectsByNameGoogleGscInspections",e),ste=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await u_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:yG(e)}),bG=e=>fe("getApiV1ProjectsByNameGoogleGscDeindexed",e),ote=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await d_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:bG(e)}),vG=e=>fe("getApiV1ProjectsByNameGoogleGscCoverage",e),rte=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await m_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:vG(e)}),xG=e=>fe("getApiV1ProjectsByNameGoogleGscCoverageHistory",e),lte=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await p_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:xG(e)}),cte=e=>fe("getApiV1ProjectsByNameGoogleGscSitemaps",e),wG=e=>fe("getApiV1ProjectsByNameGbpLocations",e),ute=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await y_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:wG(e)}),dte=e=>({mutationFn:async i=>{const{data:r}=await b_({...e,...i,throwOnError:!0});return r}}),mte=e=>({mutationFn:async i=>{const{data:r}=await v_({...e,...i,throwOnError:!0});return r}}),kG=e=>fe("getApiV1ProjectsByNameGbpKeywords",e),pte=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await x_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:kG(e)}),SG=e=>fe("getApiV1ProjectsByNameGbpPlaceActions",e),hte=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await w_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:SG(e)}),jG=e=>fe("getApiV1ProjectsByNameGbpLodging",e),fte=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await k_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:jG(e)}),AG=e=>fe("getApiV1ProjectsByNameGbpPlaces",e),gte=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await S_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:AG(e)}),CG=e=>fe("getApiV1ProjectsByNameGbpSummary",e),yte=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await j_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:CG(e)}),NG=e=>fe("getApiV1ProjectsByNameBingStatus",e),bte=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await N_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:NG(e)}),_G=e=>fe("getApiV1ProjectsByNameBingSites",e),vte=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await __({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:_G(e)}),TG=e=>fe("getApiV1ProjectsByNameBingCoverage",e),xte=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await E_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:TG(e)}),EG=e=>fe("getApiV1ProjectsByNameBingInspections",e),wte=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await R_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:EG(e)}),RG=e=>fe("getApiV1ProjectsByNameBingPerformance",e),kte=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await O_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:RG(e)}),zG=e=>fe("getApiV1ProjectsByNameGaStatus",e),Ste=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await M_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:zG(e)}),DG=e=>fe("getApiV1ProjectsByNameGaTraffic",e),jte=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await L_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:DG(e)}),IG=e=>fe("getApiV1ProjectsByNameGaAiReferralDaily",e),Ate=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await V_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:IG(e)}),OG=e=>fe("getApiV1ProjectsByNameGaSocialReferralHistory",e),Cte=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await U_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:OG(e)}),qG=e=>fe("getApiV1ProjectsByNameGaSessionHistory",e),Nte=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await $_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:qG(e)}),PG=e=>fe("getApiV1ProjectsByNameHealthHistory",e),_te=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await G_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:PG(e)}),MG=e=>fe("getApiV1ProjectsByNameCitationsVisibility",e),Tte=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await H_({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:MG(e)}),BG=e=>fe("getApiV1ProjectsByNameTrafficSources",e),Ete=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await d8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:BG(e)}),LG=e=>fe("getApiV1ProjectsByNameTrafficStatus",e),Rte=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await m8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:LG(e)}),VG=e=>fe("getApiV1ProjectsByNameTrafficSourcesById",e),zte=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await p8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:VG(e)}),UG=e=>fe("getApiV1ProjectsByNameTrafficEvents",e),Dte=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await h8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:UG(e)}),$G=e=>fe("getApiV1ProjectsByNameDiscoverSessions",e),Ite=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await g8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:$G(e)}),KG=e=>fe("getApiV1ProjectsByNameDiscoverSessionsById",e),Ote=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await y8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:KG(e)}),GG=e=>fe("getApiV1ProjectsByNameTechnicalAeo",e),HG=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await b8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:GG(e)}),QG=e=>fe("getApiV1ProjectsByNameTechnicalAeoPages",e),qte=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await v8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:QG(e)}),FG=e=>fe("getApiV1ProjectsByNameTechnicalAeoTrend",e),Pte=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await x8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:FG(e)}),ZG=e=>fe("getApiV1ProjectsByNameTechnicalAeoCrawl",e),Mte=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await w8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:ZG(e)}),YG=e=>fe("getApiV1ProjectsByNameTechnicalAeoGraph",e),Bte=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await k8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:YG(e)}),XG=e=>fe("getApiV1ProjectsByNameTechnicalAeoCrawlPagesAudit",e),Lte=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await S8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:XG(e)}),JG=e=>fe("getApiV1ProjectsByNameTechnicalAeoCrawlPages",e),Vte=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await eS({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:JG(e)}),WG=e=>fe("getApiV1ProjectsByNameTechnicalAeoCrawlPages",e,!0),Ute=e=>Ac({queryFn:async({pageParam:n,queryKey:i,signal:r})=>{const h=Vc(i,typeof n=="object"?n:{query:{cursor:n}}),{data:f}=await eS({...e,...h,signal:r,throwOnError:!0});return f},queryKey:WG(e)}),eH=e=>fe("getApiV1ProjectsByNameTechnicalAeoStructure",e,!0),$te=e=>Ac({queryFn:async({pageParam:n,queryKey:i,signal:r})=>{const h=Vc(i,typeof n=="object"?n:{query:{cursor:n}}),{data:f}=await j8({...e,...h,signal:r,throwOnError:!0});return f},queryKey:eH(e)}),tH=e=>fe("getApiV1ProjectsByNameTechnicalAeoInternalLinksNeighbors",e),Kte=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await A8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:tH(e)}),nH=e=>fe("getApiV1ProjectsByNameTechnicalAeoDeadLinks",e),Gte=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await C8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:nH(e)}),aH=e=>fe("getApiV1ProjectsByNameTechnicalAeoRuns",e),Hte=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await N8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:aH(e)}),iH=e=>fe("getApiV1ProjectsByNameTechnicalAeoRunsByRunIdProgress",e),Qte=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await T8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:iH(e)}),sH=e=>fe("getApiV1ProjectsByNameTechnicalAeoRunsByRunIdPageHealthPreview",e),Fte=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await E8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:sH(e)}),oH=e=>fe("getApiV1ProjectsByNameAgentProviders",e),rH=e=>ve({queryFn:async({queryKey:n,signal:i})=>{const{data:r}=await O8({...e,...n[0],signal:i,throwOnError:!0});return r},queryKey:oH(e)});function Bw(e){return e.state==="ok"?"positive":e.state==="checking"||e.state==="disabled"?"neutral":"negative"}function jA(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 Zte(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 Yte={positive:"text-positive-400",caution:"text-caution-400",negative:"text-negative-400",neutral:"text-secondary"};function Xte(e){return e>=50?"positive":e>=25?"caution":"negative"}function lH(e){return e.displayName??e.name.charAt(0).toUpperCase()+e.name.slice(1)}function Pr(e){const n=[e.detail,e.hint].filter(Boolean);return n.length>0?n.join(`
57
+ `):void 0}function cH(e,n,i){const r=e.filter(f=>f.id!=="mcp").map(f=>{if(f.id==="api")return{...f,tone:Bw(n.apiStatus),detail:n.apiStatus.state==="ok"?"Healthy":"Needs attention",meta:n.apiStatus.detail};if(f.id==="worker")return{...f,tone:Bw(n.workerStatus),detail:n.workerStatus.state==="ok"?"Healthy":n.workerStatus.state==="disabled"?"Disabled":"Needs attention",meta:n.workerStatus.detail};const b=i.providerStatuses.filter(S=>S.state==="ready").length,v=i.providerStatuses.length,w=b>0,k=i.providerStatuses.filter(S=>S.state==="ready").map(S=>lH(S)).join(" · ");return{...f,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(f=>f.id==="api")+1),0,h),r}function uH(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 dH(e,n,i){const r=uH(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 f=i.providerStatuses.some(b=>b.state==="ready");return{...h,detail:f?"At least one provider configured.":"No providers configured.",state:f?"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 AA="canonry.run-tracker",t0=new Set;let Lw=!1,mH=0,Cm={runs:{},batches:{}};function pH(){const e=Pi();for(const n of t0)n(e)}function hH(e){if(!e)return{runs:{},batches:{}};try{const n=JSON.parse(e);return{runs:n.runs??{},batches:n.batches??{}}}catch{return{runs:{},batches:{}}}}function fH(){typeof window>"u"||window.sessionStorage.setItem(AA,JSON.stringify(Cm))}function CA(){Lw||(Lw=!0,!(typeof window>"u")&&(Cm=hH(window.sessionStorage.getItem(AA))))}function Nm(e){Cm=e,fH(),pH()}function Pi(){return CA(),Cm}function NA(e){return CA(),t0.add(e),()=>{t0.delete(e)}}function Zg(e){const n=Pi();Nm({...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 ff(e){const n=Pi();if(!n.runs[e])return;const{[e]:i,...r}=n.runs;Nm({...n,runs:r})}function gH(e){const n=Pi(),i=`batch_${Date.now()}_${++mH}`;return Nm({...n,batches:{...n.batches,[i]:{batchId:i,runIds:e.runIds,queuedCount:e.queuedCount,skippedCount:e.skippedCount}}}),i}function yH(e){const n=Pi();if(!n.batches[e])return;const{[e]:i,...r}=n.batches;Nm({...n,batches:r})}function bH(e){return e==="completed"||e==="partial"||e==="failed"||e==="cancelled"}const vH=10*6e4;function xH(e,n,i,r){return e.filter(u=>!n.has(u.runId)&&i-(u.trackedAt??0)>=r)}function wH(e,n){let i=0,r=0,u=0,h=0,f=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:f+=1}return{completed:i,partial:r,failed:u,cancelled:h,pending:f,finished:f===0}}const Vw=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,Uw=zk,_A=(e,n)=>i=>{var r;if(n?.variants==null)return Uw(e,i?.class,i?.className);const{variants:u,defaultVariants:h}=n,f=Object.keys(u).map(w=>{const k=i?.[w],S=h?.[w];if(k===null)return null;const T=Vw(k)||Vw(S);return u[w][T]}),b=i&&Object.entries(i).reduce((w,k)=>{let[S,T]=k;return T===void 0||(w[S]=T),w},{}),v=n==null||(r=n.compoundVariants)===null||r===void 0?void 0:r.reduce((w,k)=>{let{class:S,className:T,...N}=k;return Object.entries(N).every(I=>{let[P,E]=I;return Array.isArray(E)?E.includes({...h,...b}[P]):{...h,...b}[P]===E})?[...w,S,T]:w},[]);return Uw(e,f,v,i?.class,i?.className)},kH=(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},SH=(e,n)=>({classGroupId:e,validator:n}),TA=(e=new Map,n=null,i)=>({nextPart:e,validators:n,classGroupId:i}),$d="-",$w=[],jH="arbitrary..",AH=e=>{const n=NH(e),{conflictingClassGroups:i,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:f=>{if(f.startsWith("[")&&f.endsWith("]"))return CH(f);const b=f.split($d),v=b[0]===""&&b.length>1?1:0;return EA(b,v,n)},getConflictingClassGroupIds:(f,b)=>{if(b){const v=r[f],w=i[f];return v?w?kH(w,v):v:w||$w}return i[f]||$w}}},EA=(e,n,i)=>{if(e.length-n===0)return i.classGroupId;const u=e[n],h=i.nextPart.get(u);if(h){const w=EA(e,n+1,h);if(w)return w}const f=i.validators;if(f===null)return;const b=n===0?e.join($d):e.slice(n).join($d),v=f.length;for(let w=0;w<v;w++){const k=f[w];if(k.validator(b))return k.classGroupId}},CH=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?jH+r:void 0})(),NH=e=>{const{theme:n,classGroups:i}=e;return _H(i,n)},_H=(e,n)=>{const i=TA();for(const r in e){const u=e[r];Yg(u,i,r,n)}return i},Yg=(e,n,i,r)=>{const u=e.length;for(let h=0;h<u;h++){const f=e[h];TH(f,n,i,r)}},TH=(e,n,i,r)=>{if(typeof e=="string"){EH(e,n,i);return}if(typeof e=="function"){RH(e,n,i,r);return}zH(e,n,i,r)},EH=(e,n,i)=>{const r=e===""?n:RA(n,e);r.classGroupId=i},RH=(e,n,i,r)=>{if(DH(e)){Yg(e(r),n,i,r);return}n.validators===null&&(n.validators=[]),n.validators.push(SH(i,e))},zH=(e,n,i,r)=>{const u=Object.entries(e),h=u.length;for(let f=0;f<h;f++){const[b,v]=u[f];Yg(v,RA(n,b),i,r)}},RA=(e,n)=>{let i=e;const r=n.split($d),u=r.length;for(let h=0;h<u;h++){const f=r[h];let b=i.nextPart.get(f);b||(b=TA(),i.nextPart.set(f,b)),i=b}return i},DH=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,IH=e=>{if(e<1)return{get:()=>{},set:()=>{}};let n=0,i=Object.create(null),r=Object.create(null);const u=(h,f)=>{i[h]=f,n++,n>e&&(n=0,r=i,i=Object.create(null))};return{get(h){let f=i[h];if(f!==void 0)return f;if((f=r[h])!==void 0)return u(h,f),f},set(h,f){h in i?i[h]=f:u(h,f)}}},n0="!",Kw=":",OH=[],Gw=(e,n,i,r,u)=>({modifiers:e,hasImportantModifier:n,baseClassName:i,maybePostfixModifierPosition:r,isExternal:u}),qH=e=>{const{prefix:n,experimentalParseClassName:i}=e;let r=u=>{const h=[];let f=0,b=0,v=0,w;const k=u.length;for(let P=0;P<k;P++){const E=u[P];if(f===0&&b===0){if(E===Kw){h.push(u.slice(v,P)),v=P+1;continue}if(E==="/"){w=P;continue}}E==="["?f++:E==="]"?f--:E==="("?b++:E===")"&&b--}const S=h.length===0?u:u.slice(v);let T=S,N=!1;S.endsWith(n0)?(T=S.slice(0,-1),N=!0):S.startsWith(n0)&&(T=S.slice(1),N=!0);const I=w&&w>v?w-v:void 0;return Gw(h,N,T,I)};if(n){const u=n+Kw,h=r;r=f=>f.startsWith(u)?h(f.slice(u.length)):Gw(OH,!1,f,void 0,!0)}if(i){const u=r;r=h=>i({className:h,parseClassName:u})}return r},PH=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 f=i[h],b=f[0]==="[",v=n.has(f);b||v?(u.length>0&&(u.sort(),r.push(...u),u=[]),r.push(f)):u.push(f)}return u.length>0&&(u.sort(),r.push(...u)),r}},MH=e=>({cache:IH(e.cacheSize),parseClassName:qH(e),sortModifiers:PH(e),...AH(e)}),BH=/\s+/,LH=(e,n)=>{const{parseClassName:i,getClassGroupId:r,getConflictingClassGroupIds:u,sortModifiers:h}=n,f=[],b=e.trim().split(BH);let v="";for(let w=b.length-1;w>=0;w-=1){const k=b[w],{isExternal:S,modifiers:T,hasImportantModifier:N,baseClassName:I,maybePostfixModifierPosition:P}=i(k);if(S){v=k+(v.length>0?" "+v:v);continue}let E=!!P,V=r(E?I.substring(0,P):I);if(!V){if(!E){v=k+(v.length>0?" "+v:v);continue}if(V=r(I),!V){v=k+(v.length>0?" "+v:v);continue}E=!1}const W=T.length===0?"":T.length===1?T[0]:h(T).join(":"),L=N?W+n0:W,F=L+V;if(f.indexOf(F)>-1)continue;f.push(F);const Z=u(V,E);for(let ae=0;ae<Z.length;++ae){const M=Z[ae];f.push(L+M)}v=k+(v.length>0?" "+v:v)}return v},VH=(...e)=>{let n=0,i,r,u="";for(;n<e.length;)(i=e[n++])&&(r=zA(i))&&(u&&(u+=" "),u+=r);return u},zA=e=>{if(typeof e=="string")return e;let n,i="";for(let r=0;r<e.length;r++)e[r]&&(n=zA(e[r]))&&(i&&(i+=" "),i+=n);return i},UH=(e,...n)=>{let i,r,u,h;const f=v=>{const w=n.reduce((k,S)=>S(k),e());return i=MH(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=LH(v,i);return u(v,k),k};return h=f,(...v)=>h(VH(...v))},$H=[],un=e=>{const n=i=>i[e]||$H;return n.isThemeGetter=!0,n},DA=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,IA=/^\((?:(\w[\w-]*):)?(.+)\)$/i,KH=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,GH=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,HH=/\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$/,QH=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,FH=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,ZH=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,ys=e=>KH.test(e),at=e=>!!e&&!Number.isNaN(Number(e)),bs=e=>!!e&&Number.isInteger(Number(e)),gf=e=>e.endsWith("%")&&at(e.slice(0,-1)),Ti=e=>GH.test(e),OA=()=>!0,YH=e=>HH.test(e)&&!QH.test(e),Xg=()=>!1,XH=e=>FH.test(e),JH=e=>ZH.test(e),WH=e=>!Ce(e)&&!_e(e),eQ=e=>zs(e,MA,Xg),Ce=e=>DA.test(e),mo=e=>zs(e,BA,YH),Hw=e=>zs(e,lQ,at),tQ=e=>zs(e,VA,OA),nQ=e=>zs(e,LA,Xg),Qw=e=>zs(e,qA,Xg),aQ=e=>zs(e,PA,JH),ud=e=>zs(e,UA,XH),_e=e=>IA.test(e),ic=e=>Ro(e,BA),iQ=e=>Ro(e,LA),Fw=e=>Ro(e,qA),sQ=e=>Ro(e,MA),oQ=e=>Ro(e,PA),dd=e=>Ro(e,UA,!0),rQ=e=>Ro(e,VA,!0),zs=(e,n,i)=>{const r=DA.exec(e);return r?r[1]?n(r[1]):i(r[2]):!1},Ro=(e,n,i=!1)=>{const r=IA.exec(e);return r?r[1]?n(r[1]):i:!1},qA=e=>e==="position"||e==="percentage",PA=e=>e==="image"||e==="url",MA=e=>e==="length"||e==="size"||e==="bg-size",BA=e=>e==="length",lQ=e=>e==="number",LA=e=>e==="family-name",VA=e=>e==="number"||e==="weight",UA=e=>e==="shadow",cQ=()=>{const e=un("color"),n=un("font"),i=un("text"),r=un("font-weight"),u=un("tracking"),h=un("leading"),f=un("breakpoint"),b=un("container"),v=un("spacing"),w=un("radius"),k=un("shadow"),S=un("inset-shadow"),T=un("text-shadow"),N=un("drop-shadow"),I=un("blur"),P=un("perspective"),E=un("aspect"),V=un("ease"),W=un("animate"),L=()=>["auto","avoid","all","avoid-page","page","left","right","column"],F=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],Z=()=>[...F(),_e,Ce],ae=()=>["auto","hidden","clip","visible","scroll"],M=()=>["auto","contain","none"],Y=()=>[_e,Ce,v],ue=()=>[ys,"full","auto",...Y()],Ye=()=>[bs,"none","subgrid",_e,Ce],tt=()=>["auto",{span:["full",bs,_e,Ce]},bs,_e,Ce],$e=()=>[bs,"auto",_e,Ce],qe=()=>["auto","min","max","fr",_e,Ce],ke=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],Ve=()=>["start","end","center","stretch","center-safe","end-safe"],q=()=>["auto",...Y()],X=()=>[ys,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...Y()],be=()=>[ys,"screen","full","dvw","lvw","svw","min","max","fit",...Y()],Se=()=>[ys,"screen","full","lh","dvh","lvh","svh","min","max","fit",...Y()],J=()=>[e,_e,Ce],Ne=()=>[...F(),Fw,Qw,{position:[_e,Ce]}],Pe=()=>["no-repeat",{repeat:["","x","y","space","round"]}],xe=()=>["auto","cover","contain",sQ,eQ,{size:[_e,Ce]}],ce=()=>[gf,ic,mo],re=()=>["","none","full",w,_e,Ce],H=()=>["",at,ic,mo],pe=()=>["solid","dashed","dotted","double"],De=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],je=()=>[at,gf,Fw,Qw],it=()=>["","none",I,_e,Ce],Ue=()=>["none",at,_e,Ce],St=()=>["none",at,_e,Ce],Ge=()=>[at,_e,Ce],me=()=>[ys,"full",...Y()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Ti],breakpoint:[Ti],color:[OA],container:[Ti],"drop-shadow":[Ti],ease:["in","out","in-out"],font:[WH],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Ti],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Ti],shadow:[Ti],spacing:["px",at],text:[Ti],"text-shadow":[Ti],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",ys,Ce,_e,E]}],container:["container"],columns:[{columns:[at,Ce,_e,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:Z()}],overflow:[{overflow:ae()}],"overflow-x":[{"overflow-x":ae()}],"overflow-y":[{"overflow-y":ae()}],overscroll:[{overscroll:M()}],"overscroll-x":[{"overscroll-x":M()}],"overscroll-y":[{"overscroll-y":M()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:ue()}],"inset-x":[{"inset-x":ue()}],"inset-y":[{"inset-y":ue()}],start:[{"inset-s":ue(),start:ue()}],end:[{"inset-e":ue(),end:ue()}],"inset-bs":[{"inset-bs":ue()}],"inset-be":[{"inset-be":ue()}],top:[{top:ue()}],right:[{right:ue()}],bottom:[{bottom:ue()}],left:[{left:ue()}],visibility:["visible","invisible","collapse"],z:[{z:[bs,"auto",_e,Ce]}],basis:[{basis:[ys,"full","auto",b,...Y()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[at,ys,"auto","initial","none",Ce]}],grow:[{grow:["",at,_e,Ce]}],shrink:[{shrink:["",at,_e,Ce]}],order:[{order:[bs,"first","last","none",_e,Ce]}],"grid-cols":[{"grid-cols":Ye()}],"col-start-end":[{col:tt()}],"col-start":[{"col-start":$e()}],"col-end":[{"col-end":$e()}],"grid-rows":[{"grid-rows":Ye()}],"row-start-end":[{row:tt()}],"row-start":[{"row-start":$e()}],"row-end":[{"row-end":$e()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":qe()}],"auto-rows":[{"auto-rows":qe()}],gap:[{gap:Y()}],"gap-x":[{"gap-x":Y()}],"gap-y":[{"gap-y":Y()}],"justify-content":[{justify:[...ke(),"normal"]}],"justify-items":[{"justify-items":[...Ve(),"normal"]}],"justify-self":[{"justify-self":["auto",...Ve()]}],"align-content":[{content:["normal",...ke()]}],"align-items":[{items:[...Ve(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...Ve(),{baseline:["","last"]}]}],"place-content":[{"place-content":ke()}],"place-items":[{"place-items":[...Ve(),"baseline"]}],"place-self":[{"place-self":["auto",...Ve()]}],p:[{p:Y()}],px:[{px:Y()}],py:[{py:Y()}],ps:[{ps:Y()}],pe:[{pe:Y()}],pbs:[{pbs:Y()}],pbe:[{pbe:Y()}],pt:[{pt:Y()}],pr:[{pr:Y()}],pb:[{pb:Y()}],pl:[{pl:Y()}],m:[{m:q()}],mx:[{mx:q()}],my:[{my:q()}],ms:[{ms:q()}],me:[{me:q()}],mbs:[{mbs:q()}],mbe:[{mbe:q()}],mt:[{mt:q()}],mr:[{mr:q()}],mb:[{mb:q()}],ml:[{ml:q()}],"space-x":[{"space-x":Y()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":Y()}],"space-y-reverse":["space-y-reverse"],size:[{size:X()}],"inline-size":[{inline:["auto",...be()]}],"min-inline-size":[{"min-inline":["auto",...be()]}],"max-inline-size":[{"max-inline":["none",...be()]}],"block-size":[{block:["auto",...Se()]}],"min-block-size":[{"min-block":["auto",...Se()]}],"max-block-size":[{"max-block":["none",...Se()]}],w:[{w:[b,"screen",...X()]}],"min-w":[{"min-w":[b,"screen","none",...X()]}],"max-w":[{"max-w":[b,"screen","none","prose",{screen:[f]},...X()]}],h:[{h:["screen","lh",...X()]}],"min-h":[{"min-h":["screen","lh","none",...X()]}],"max-h":[{"max-h":["screen","lh",...X()]}],"font-size":[{text:["base",i,ic,mo]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,rQ,tQ]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",gf,Ce]}],"font-family":[{font:[iQ,nQ,n]}],"font-features":[{"font-features":[Ce]}],"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,_e,Ce]}],"line-clamp":[{"line-clamp":[at,"none",_e,Hw]}],leading:[{leading:[h,...Y()]}],"list-image":[{"list-image":["none",_e,Ce]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",_e,Ce]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:J()}],"text-color":[{text:J()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...pe(),"wavy"]}],"text-decoration-thickness":[{decoration:[at,"from-font","auto",_e,mo]}],"text-decoration-color":[{decoration:J()}],"underline-offset":[{"underline-offset":[at,"auto",_e,Ce]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:Y()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",_e,Ce]}],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",_e,Ce]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:Ne()}],"bg-repeat":[{bg:Pe()}],"bg-size":[{bg:xe()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},bs,_e,Ce],radial:["",_e,Ce],conic:[bs,_e,Ce]},oQ,aQ]}],"bg-color":[{bg:J()}],"gradient-from-pos":[{from:ce()}],"gradient-via-pos":[{via:ce()}],"gradient-to-pos":[{to:ce()}],"gradient-from":[{from:J()}],"gradient-via":[{via:J()}],"gradient-to":[{to:J()}],rounded:[{rounded:re()}],"rounded-s":[{"rounded-s":re()}],"rounded-e":[{"rounded-e":re()}],"rounded-t":[{"rounded-t":re()}],"rounded-r":[{"rounded-r":re()}],"rounded-b":[{"rounded-b":re()}],"rounded-l":[{"rounded-l":re()}],"rounded-ss":[{"rounded-ss":re()}],"rounded-se":[{"rounded-se":re()}],"rounded-ee":[{"rounded-ee":re()}],"rounded-es":[{"rounded-es":re()}],"rounded-tl":[{"rounded-tl":re()}],"rounded-tr":[{"rounded-tr":re()}],"rounded-br":[{"rounded-br":re()}],"rounded-bl":[{"rounded-bl":re()}],"border-w":[{border:H()}],"border-w-x":[{"border-x":H()}],"border-w-y":[{"border-y":H()}],"border-w-s":[{"border-s":H()}],"border-w-e":[{"border-e":H()}],"border-w-bs":[{"border-bs":H()}],"border-w-be":[{"border-be":H()}],"border-w-t":[{"border-t":H()}],"border-w-r":[{"border-r":H()}],"border-w-b":[{"border-b":H()}],"border-w-l":[{"border-l":H()}],"divide-x":[{"divide-x":H()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":H()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...pe(),"hidden","none"]}],"divide-style":[{divide:[...pe(),"hidden","none"]}],"border-color":[{border:J()}],"border-color-x":[{"border-x":J()}],"border-color-y":[{"border-y":J()}],"border-color-s":[{"border-s":J()}],"border-color-e":[{"border-e":J()}],"border-color-bs":[{"border-bs":J()}],"border-color-be":[{"border-be":J()}],"border-color-t":[{"border-t":J()}],"border-color-r":[{"border-r":J()}],"border-color-b":[{"border-b":J()}],"border-color-l":[{"border-l":J()}],"divide-color":[{divide:J()}],"outline-style":[{outline:[...pe(),"none","hidden"]}],"outline-offset":[{"outline-offset":[at,_e,Ce]}],"outline-w":[{outline:["",at,ic,mo]}],"outline-color":[{outline:J()}],shadow:[{shadow:["","none",k,dd,ud]}],"shadow-color":[{shadow:J()}],"inset-shadow":[{"inset-shadow":["none",S,dd,ud]}],"inset-shadow-color":[{"inset-shadow":J()}],"ring-w":[{ring:H()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:J()}],"ring-offset-w":[{"ring-offset":[at,mo]}],"ring-offset-color":[{"ring-offset":J()}],"inset-ring-w":[{"inset-ring":H()}],"inset-ring-color":[{"inset-ring":J()}],"text-shadow":[{"text-shadow":["none",T,dd,ud]}],"text-shadow-color":[{"text-shadow":J()}],opacity:[{opacity:[at,_e,Ce]}],"mix-blend":[{"mix-blend":[...De(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":De()}],"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":[at]}],"mask-image-linear-from-pos":[{"mask-linear-from":je()}],"mask-image-linear-to-pos":[{"mask-linear-to":je()}],"mask-image-linear-from-color":[{"mask-linear-from":J()}],"mask-image-linear-to-color":[{"mask-linear-to":J()}],"mask-image-t-from-pos":[{"mask-t-from":je()}],"mask-image-t-to-pos":[{"mask-t-to":je()}],"mask-image-t-from-color":[{"mask-t-from":J()}],"mask-image-t-to-color":[{"mask-t-to":J()}],"mask-image-r-from-pos":[{"mask-r-from":je()}],"mask-image-r-to-pos":[{"mask-r-to":je()}],"mask-image-r-from-color":[{"mask-r-from":J()}],"mask-image-r-to-color":[{"mask-r-to":J()}],"mask-image-b-from-pos":[{"mask-b-from":je()}],"mask-image-b-to-pos":[{"mask-b-to":je()}],"mask-image-b-from-color":[{"mask-b-from":J()}],"mask-image-b-to-color":[{"mask-b-to":J()}],"mask-image-l-from-pos":[{"mask-l-from":je()}],"mask-image-l-to-pos":[{"mask-l-to":je()}],"mask-image-l-from-color":[{"mask-l-from":J()}],"mask-image-l-to-color":[{"mask-l-to":J()}],"mask-image-x-from-pos":[{"mask-x-from":je()}],"mask-image-x-to-pos":[{"mask-x-to":je()}],"mask-image-x-from-color":[{"mask-x-from":J()}],"mask-image-x-to-color":[{"mask-x-to":J()}],"mask-image-y-from-pos":[{"mask-y-from":je()}],"mask-image-y-to-pos":[{"mask-y-to":je()}],"mask-image-y-from-color":[{"mask-y-from":J()}],"mask-image-y-to-color":[{"mask-y-to":J()}],"mask-image-radial":[{"mask-radial":[_e,Ce]}],"mask-image-radial-from-pos":[{"mask-radial-from":je()}],"mask-image-radial-to-pos":[{"mask-radial-to":je()}],"mask-image-radial-from-color":[{"mask-radial-from":J()}],"mask-image-radial-to-color":[{"mask-radial-to":J()}],"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":F()}],"mask-image-conic-pos":[{"mask-conic":[at]}],"mask-image-conic-from-pos":[{"mask-conic-from":je()}],"mask-image-conic-to-pos":[{"mask-conic-to":je()}],"mask-image-conic-from-color":[{"mask-conic-from":J()}],"mask-image-conic-to-color":[{"mask-conic-to":J()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:Ne()}],"mask-repeat":[{mask:Pe()}],"mask-size":[{mask:xe()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",_e,Ce]}],filter:[{filter:["","none",_e,Ce]}],blur:[{blur:it()}],brightness:[{brightness:[at,_e,Ce]}],contrast:[{contrast:[at,_e,Ce]}],"drop-shadow":[{"drop-shadow":["","none",N,dd,ud]}],"drop-shadow-color":[{"drop-shadow":J()}],grayscale:[{grayscale:["",at,_e,Ce]}],"hue-rotate":[{"hue-rotate":[at,_e,Ce]}],invert:[{invert:["",at,_e,Ce]}],saturate:[{saturate:[at,_e,Ce]}],sepia:[{sepia:["",at,_e,Ce]}],"backdrop-filter":[{"backdrop-filter":["","none",_e,Ce]}],"backdrop-blur":[{"backdrop-blur":it()}],"backdrop-brightness":[{"backdrop-brightness":[at,_e,Ce]}],"backdrop-contrast":[{"backdrop-contrast":[at,_e,Ce]}],"backdrop-grayscale":[{"backdrop-grayscale":["",at,_e,Ce]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[at,_e,Ce]}],"backdrop-invert":[{"backdrop-invert":["",at,_e,Ce]}],"backdrop-opacity":[{"backdrop-opacity":[at,_e,Ce]}],"backdrop-saturate":[{"backdrop-saturate":[at,_e,Ce]}],"backdrop-sepia":[{"backdrop-sepia":["",at,_e,Ce]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":Y()}],"border-spacing-x":[{"border-spacing-x":Y()}],"border-spacing-y":[{"border-spacing-y":Y()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",_e,Ce]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[at,"initial",_e,Ce]}],ease:[{ease:["linear","initial",V,_e,Ce]}],delay:[{delay:[at,_e,Ce]}],animate:[{animate:["none",W,_e,Ce]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[P,_e,Ce]}],"perspective-origin":[{"perspective-origin":Z()}],rotate:[{rotate:Ue()}],"rotate-x":[{"rotate-x":Ue()}],"rotate-y":[{"rotate-y":Ue()}],"rotate-z":[{"rotate-z":Ue()}],scale:[{scale:St()}],"scale-x":[{"scale-x":St()}],"scale-y":[{"scale-y":St()}],"scale-z":[{"scale-z":St()}],"scale-3d":["scale-3d"],skew:[{skew:Ge()}],"skew-x":[{"skew-x":Ge()}],"skew-y":[{"skew-y":Ge()}],transform:[{transform:[_e,Ce,"","none","gpu","cpu"]}],"transform-origin":[{origin:Z()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:me()}],"translate-x":[{"translate-x":me()}],"translate-y":[{"translate-y":me()}],"translate-z":[{"translate-z":me()}],"translate-none":["translate-none"],accent:[{accent:J()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:J()}],"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",_e,Ce]}],"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":Y()}],"scroll-mx":[{"scroll-mx":Y()}],"scroll-my":[{"scroll-my":Y()}],"scroll-ms":[{"scroll-ms":Y()}],"scroll-me":[{"scroll-me":Y()}],"scroll-mbs":[{"scroll-mbs":Y()}],"scroll-mbe":[{"scroll-mbe":Y()}],"scroll-mt":[{"scroll-mt":Y()}],"scroll-mr":[{"scroll-mr":Y()}],"scroll-mb":[{"scroll-mb":Y()}],"scroll-ml":[{"scroll-ml":Y()}],"scroll-p":[{"scroll-p":Y()}],"scroll-px":[{"scroll-px":Y()}],"scroll-py":[{"scroll-py":Y()}],"scroll-ps":[{"scroll-ps":Y()}],"scroll-pe":[{"scroll-pe":Y()}],"scroll-pbs":[{"scroll-pbs":Y()}],"scroll-pbe":[{"scroll-pbe":Y()}],"scroll-pt":[{"scroll-pt":Y()}],"scroll-pr":[{"scroll-pr":Y()}],"scroll-pb":[{"scroll-pb":Y()}],"scroll-pl":[{"scroll-pl":Y()}],"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",_e,Ce]}],fill:[{fill:["none",...J()]}],"stroke-w":[{stroke:[at,ic,mo,Hw]}],stroke:[{stroke:["none",...J()]}],"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"]}},uQ=UH(cQ);function Ea(...e){return uQ(zk(e))}const dQ=_A("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"}}),le=C.forwardRef(({className:e,variant:n,size:i,asChild:r=!1,...u},h)=>{const f=r?EN:"button";return l.jsx(f,{ref:h,className:Ea(dQ({variant:n,size:i,className:e})),...u})});le.displayName="Button";const mQ=_A("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 $A({className:e,variant:n,...i}){return l.jsx("div",{className:Ea(mQ({variant:n}),e),...i})}const pQ=220;function Zw({compact:e=!1,version:n,updateAvailable:i,onDismissUpdate:r}){const u=!e&&n&&n!=="unknown",[h,f]=C.useState(!1),b=!e&&i&&r,v=()=>{f(!0),window.setTimeout(()=>{r?.(),f(!1)},pQ)};return e?l.jsxs(Je,{to:"/",className:"brand-lockup brand-lockup-compact","aria-label":"Canonry home",children:[l.jsx("img",{className:"brand-icon",src:"./favicon.svg",alt:"","aria-hidden":"true"}),l.jsx("span",{className:"brand-copy",children:l.jsx("span",{className:"brand-mark",children:"Canonry"})})]}):l.jsxs("div",{className:"brand-lockup brand-lockup-wrapper",children:[l.jsx(Je,{to:"/",className:"brand-icon-link","aria-label":"Canonry home",tabIndex:-1,children:l.jsx("img",{className:"brand-icon",src:"./favicon.svg",alt:"","aria-hidden":"true"})}),l.jsxs("div",{className:"brand-copy",children:[l.jsx(Je,{to:"/",className:"brand-mark",children:"Canonry"}),!b&&u?l.jsxs("span",{className:"brand-version",children:["v",n]}):null]}),b?l.jsxs("span",{className:`brand-update-bubble ${h?"brand-update-bubble-closing":""}`,role:"status","aria-live":"polite",children:[l.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:[l.jsxs("span",{className:"brand-update-bubble-from",children:["v",i.current]}),l.jsx(gc,{className:"brand-update-bubble-arrow size-3","aria-hidden":"true"}),l.jsxs("span",{className:"brand-update-bubble-to",children:["v",i.latest]})]}),l.jsx("button",{type:"button",className:"brand-update-bubble-dismiss",onClick:v,"aria-label":`Dismiss update notification for v${i.latest}`,children:l.jsx(Mr,{className:"size-3","aria-hidden":"true"})})]}):null]})}function hQ({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 l.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 yn({tone:e,children:n,...i}){const r=e==="positive"?"success":e==="caution"?"warning":e==="negative"?"destructive":"neutral";return l.jsx($A,{variant:r,...i,children:n})}function Jg({status:e}){return l.jsx(yn,{tone:jA(e),children:dK(e)})}const a0=Rk,fQ=_k,KA=C.forwardRef(({className:e,...n},i)=>l.jsx(f0,{ref:i,className:Ea("fixed inset-0 z-50 bg-overlay-scrim/70 backdrop-blur-sm",e),...n}));KA.displayName=f0.displayName;const gQ=400,yQ=1200,bQ=720,Kd=C.forwardRef(({className:e,children:n,...i},r)=>{const[u,h]=C.useState(bQ),f=C.useRef(!1),b=C.useRef(0),v=C.useRef(0),w=C.useCallback(T=>{f.current=!0,b.current=T.clientX,v.current=u,T.target.setPointerCapture(T.pointerId),T.preventDefault()},[u]),k=C.useCallback(T=>{if(!f.current)return;const N=b.current-T.clientX,I=Math.min(yQ,Math.max(gQ,v.current+N));h(I)},[]),S=C.useCallback(()=>{f.current=!1},[]);return l.jsxs(fQ,{children:[l.jsx(KA,{}),l.jsxs(g0,{ref:r,className:Ea("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:[l.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:S}),n,l.jsxs(Tk,{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:[l.jsx(Mr,{className:"size-4"}),l.jsx("span",{className:"sr-only",children:"Close"})]})]})]})});Kd.displayName=g0.displayName;const i0=({className:e,...n})=>l.jsx("div",{className:Ea("flex flex-col gap-1.5 pr-10",e),...n}),Gd=C.forwardRef(({className:e,...n},i)=>l.jsx(y0,{ref:i,className:Ea("text-lg font-medium text-primary",e),...n}));Gd.displayName=y0.displayName;const Hd=C.forwardRef(({className:e,...n},i)=>l.jsx(Ek,{ref:i,className:Ea("text-sm text-muted",e),...n}));Hd.displayName=Ek.displayName;function md({title:e,subtitle:n,children:i,open:r,onClose:u}){return l.jsx(a0,{open:r,onOpenChange:h=>h?void 0:u(),children:l.jsxs(Kd,{children:[l.jsxs(i0,{className:"drawer-head",children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:n}),l.jsx(Gd,{id:"drawer-title",children:e}),l.jsx(Hd,{className:"sr-only",children:n})]}),l.jsx("div",{className:"drawer-body",children:i})]})})}function ja({text:e,placement:n="top"}){const[i,r]=C.useState(null),u=C.useRef(null),h=C.useRef(null),f=C.useRef(!1),b=C.useCallback(()=>{if(!u.current)return;const k=u.current.getBoundingClientRect(),S=k.left+k.width/2,T=Math.min(224,window.innerWidth-16)/2;r({top:n==="bottom"?k.bottom:k.top,left:n==="bottom"?Math.max(T+8,Math.min(S,window.innerWidth-T-8)):S})},[n]);C.useLayoutEffect(()=>{if(n!=="bottom"||!i||!h.current)return;const k=h.current.getBoundingClientRect().bottom-window.innerHeight+8;if(k<=0)return;const S=Math.max(0,i.top-k);S!==i.top&&r({...i,top:S})},[n,i]);const v=C.useCallback(()=>r(null),[]),w=C.useCallback(()=>{i===null?b():v()},[i,b,v]);return l.jsxs("span",{className:"info-tooltip-wrapper",onMouseEnter:b,onMouseLeave:v,children:[l.jsx("button",{ref:u,type:"button",className:"info-tooltip-trigger","aria-label":e,"aria-expanded":i!==null,onFocus:b,onBlur:v,onPointerDown:()=>{f.current=i!==null&&u.current?.ownerDocument.activeElement===u.current},onClick:k=>{k.detail===0?w():f.current?v():b()},onKeyDown:k=>{k.key==="Escape"&&v()},children:l.jsxs("svg",{className:"info-tooltip-icon",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[l.jsx("circle",{cx:"8",cy:"8",r:"7",stroke:"currentColor",strokeWidth:"1.5"}),l.jsx("path",{d:"M8 7v4M8 5.5v0",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}),i!==null&&SN.createPortal(l.jsx("span",{ref:h,"aria-hidden":"true",style:{position:"fixed",top:i.top,left:i.left,transform:n==="bottom"?"translateX(-50%) translateY(8px)":"translateX(-50%) translateY(calc(-100% - 8px))",zIndex:9999,pointerEvents:"none",width:n==="bottom"?"min(14rem, calc(100vw - 1rem))":"14rem",padding:"0.5rem 0.75rem",fontSize:n==="bottom"?"13px":"11px",fontWeight:400,textTransform:"none",letterSpacing:"normal",lineHeight:n==="bottom"?"18px":"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)]})}function vQ(e){const n=(e??"").trim();return n&&(n.startsWith("/")||/^https?:\/\//i.test(n)||/^mailto:/i.test(n))?n:null}function s0({url:e,title:n}){const i=vQ(e),r=i&&/^https?:\/\//i.test(i)?i:null;return l.jsxs("span",{className:"block min-w-0 text-sm leading-6 [overflow-wrap:anywhere]",children:[n&&n!==e?l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"mb-1 block font-medium text-heading",children:n})," "]}):null,r?l.jsx("a",{href:r,target:"_blank",rel:"noopener noreferrer",className:"text-link underline underline-offset-2 hover:text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-mono-400",children:e}):l.jsx("span",{className:"text-secondary",children:e})]})}const xQ=/[\s\-_]+/;function wQ(e){const n=e.split(xQ).filter(Boolean);return n.length===0?null:n.map(i=>i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("[\\s\\-_]*")}function Yw(e,n){const i=kQ(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"?yr.createElement("strong",{key:`b-${k}`,className:"text-strong font-semibold"},w.value):w.value).filter(Boolean);const f=[...u].sort((w,k)=>k.length-w.length).map(wQ).filter(w=>!!w);if(f.length===0)return r.map((w,k)=>w.type==="bold"?yr.createElement("strong",{key:`b-${k}`,className:"text-strong font-semibold"},w.value):w.value).filter(Boolean);const b=new RegExp(`(${f.join("|")})`,"gi"),v=new Map;for(const w of i)for(const k of w.terms){const S=Va(k);S&&!v.has(S)&&v.set(S,w.className)}return r.flatMap((w,k)=>w.value.split(b).map((T,N)=>{if(!T)return null;if(N%2===1){const P=v.get(Va(T))??"answer-highlight";return w.type==="bold"?yr.createElement("mark",{key:`hl-${k}-${N}`,className:P},yr.createElement("strong",{className:"text-strong font-semibold"},T)):yr.createElement("mark",{key:`hl-${k}-${N}`,className:P},T)}return w.type==="bold"?yr.createElement("strong",{key:`b-${k}-${N}`,className:"text-strong font-semibold"},T):T})).filter(Boolean)}function kQ(e){return e.length===0?[]:typeof e[0]=="string"?[{terms:e,className:"answer-highlight"}]:e}function yf(e,n){return{citedCompetitorDomains:[...e.citedCompetitorDomains??n?.citedCompetitorDomains??[]],mentionedCompetitorDomains:[...e.mentionedCompetitorDomains??n?.mentionedCompetitorDomains??[]]}}function bf(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 SQ({evidence:e,project:n,onClose:i}){const[r,u]=C.useState(!1),[h,f]=C.useState("mentions"),[b,v]=C.useState(-1),[w,k]=C.useState(null),[S,T]=C.useState(!1),[N,I]=C.useState({}),P=a2(n.project),E=new Set(P.map(Rd)),V=e.runHistory,W=V.length>1,[L,F]=C.useState(null),Z=C.useRef(!1);C.useEffect(()=>{if(Z.current||e.answerSnippet&&(e.visibilityState!=null||e.answerMentioned!=null))return;const ce=V.at(-1);ce&&(Z.current=!0,Yf(ce.runId).then(re=>{const H=re.snapshots?.find(pe=>pe.query===e.query&&pe.provider===e.provider);H&&F({citationState:H.citationState,answerMentioned:H.answerMentioned,visibilityState:H.visibilityState,visibilityTransition:ce.visibilityTransition,provider:H.provider,model:H.model??e.model,answerSnippet:H.answerText??e.answerSnippet,citedDomains:H.citedDomains??e.citedDomains,...yf(H,e),recommendedCompetitors:H.recommendedCompetitors??e.recommendedCompetitors??[],matchedTerms:H.matchedTerms??e.matchedTerms??[],groundingSources:H.groundingSources??e.groundingSources,searchQueries:H.searchQueries,evidenceUrls:H.citedUrls??[],changeLabel:e.visibilityChangeLabel??e.changeLabel,summary:e.summary})}).catch(()=>{}))},[e,V]);const ae=b>=0&&w!==null,M=ae?w:L||{citationState:e.citationState,answerMentioned:e.answerMentioned,visibilityState:e.visibilityState,visibilityTransition:V.at(-1)?.visibilityTransition,provider:e.provider,model:e.model,answerSnippet:e.answerSnippet,citedDomains:e.citedDomains,...yf(e),recommendedCompetitors:e.recommendedCompetitors??[],matchedTerms:e.matchedTerms??[],groundingSources:e.groundingSources,searchQueries:e.searchQueries??[],evidenceUrls:e.evidenceUrls,changeLabel:e.visibilityChangeLabel??e.changeLabel,summary:e.summary},Y=M.visibilityState==="pending"||M.citationState==="pending",ue=Y?!1:M.visibilityState!=null?M.visibilityState==="visible":M.answerMentioned!=null?M.answerMentioned:M.citationState===uc.cited||M.citationState==="emerging",Ye=M.answerMentioned!=null||M.visibilityState!=null||M.mentionedCompetitorDomains.length>0||M.recommendedCompetitors.length>0,tt=M.citedDomains.length>0||M.citedCompetitorDomains.length>0||M.groundingSources.length>0||M.evidenceUrls.length>0,$e=n.project.displayName||n.project.name,qe=[...P.map(Rd),$e,$e.split(" ").slice(0,2).join(" "),...M.matchedTerms].filter(ce=>ce.trim().length>2),ke=[...M.mentionedCompetitorDomains.flatMap(ce=>{const re=P0(ce);return re.length>=4?[re]:[]}),...M.recommendedCompetitors].filter(ce=>ce.trim().length>2),Ve=[{terms:qe,className:"answer-highlight-brand"},...ke.length>0?[{terms:ke,className:"answer-highlight-competitor"}]:[]],q=Y?"pending":M.visibilityTransition==="lost"?"lost":ue?"mentioned":"not-mentioned",X=C.useRef(0),be=C.useCallback(async ce=>{const re=++X.current;if(ce===-1||ce===V.length-1){v(-1),k(null),u(!1);return}v(ce),u(!1);const H=V[ce],pe=`${H.runId}::${e.query}::${e.provider}`;if(N[pe]){k(N[pe]);return}T(!0);try{const De=await Yf(H.runId);if(re!==X.current)return;const je=De.snapshots?.find(Ue=>Ue.query===e.query&&Ue.provider===e.provider)??De.snapshots?.find(Ue=>Ue.query===e.query),it=je?{citationState:je.citationState,answerMentioned:je.answerMentioned,visibilityState:je.visibilityState,visibilityTransition:H.visibilityTransition,provider:je.provider,model:je.model??null,answerSnippet:je.answerText??"",citedDomains:je.citedDomains,...yf(je),recommendedCompetitors:je.recommendedCompetitors??[],matchedTerms:je.matchedTerms??[],groundingSources:je.groundingSources,searchQueries:je.searchQueries,evidenceUrls:je.citedUrls??[],changeLabel:bf(H.mentionTransition??H.visibilityTransition,H.mentionState??H.visibilityState),summary:""}:{citationState:H.citationState,answerMentioned:H.answerMentioned,visibilityState:H.visibilityState,visibilityTransition:H.visibilityTransition,provider:e.provider,model:H.model??null,answerSnippet:"",citedDomains:[],citedCompetitorDomains:[],mentionedCompetitorDomains:[],recommendedCompetitors:[],matchedTerms:[],groundingSources:[],searchQueries:[],evidenceUrls:[],changeLabel:bf(H.mentionTransition??H.visibilityTransition,H.mentionState??H.visibilityState),summary:"Snapshot data not available for this run."};I(Ue=>({...Ue,[pe]:it})),k(it)}catch{if(re!==X.current)return;k({citationState:H.citationState,answerMentioned:H.answerMentioned,visibilityState:H.visibilityState,visibilityTransition:H.visibilityTransition,provider:e.provider,model:H.model??null,answerSnippet:"",citedDomains:[],citedCompetitorDomains:[],mentionedCompetitorDomains:[],recommendedCompetitors:[],matchedTerms:[],groundingSources:[],searchQueries:[],evidenceUrls:[],changeLabel:bf(H.mentionTransition??H.visibilityTransition,H.mentionState??H.visibilityState),summary:"Failed to load historical run data."})}finally{re===X.current&&T(!1)}},[V,e.query,e.provider,N]),J=(ae||e.historyScope!=="provider")&&M.model?`${M.provider} (${M.model}) · ${M.changeLabel.toLowerCase()}`:`${M.provider} · ${M.changeLabel.toLowerCase()}`,Ne=!ae&&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=ue?{label:"Mentioned in answer",title:"Your brand or domain is mentioned in this answer",meta:J}:M.visibilityTransition==="lost"?{label:"Mention lost",title:"Your brand no longer appears in this answer",meta:J}:Y?{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:J},xe=()=>{if(!M.answerSnippet)return null;const ce=M.answerSnippet.split(`
58
+ `),re=[];let H=[],pe=0;const De=()=>{if(H.length===0)return;const je=H.join(" ").trim();je&&re.push(l.jsx("p",{className:re.length>0?"mt-2.5":"",children:Yw(je,Ve)},pe++)),H=[]};for(const je of ce){const it=je.trim();if(/^[-\u2013\u2014]{3,}$/.test(it)){De(),re.push(l.jsx("hr",{className:"border-default my-3"},pe++));continue}const Ue=it.match(/^(#{1,3})\s+(\S.*)$/);if(Ue){De();const St=Ue[1].length,Ge=Ue[2].replace(/^[\p{Emoji}\p{Emoji_Component}\s]+/u,"").trim()||Ue[2],me=St===1?"text-[13px] font-semibold text-heading mt-4 mb-1":St===2?"text-xs font-semibold text-strong mt-3 mb-0.5":"text-xs font-medium text-neutral mt-2";re.push(l.jsx("p",{className:me,children:Yw(Ge,Ve)},pe++));continue}if(it===""){De();continue}H.push(it)}return De(),re};return l.jsx(Rk,{open:!0,onOpenChange:ce=>{ce||i()},children:l.jsxs(_k,{children:[l.jsx(f0,{className:"fixed inset-0 z-50 bg-overlay-scrim/80 backdrop-blur-sm"}),l.jsxs(g0,{className:"evidence-modal","aria-describedby":void 0,children:[l.jsxs("div",{className:"evidence-modal-header",children:[l.jsxs("div",{className:"min-w-0 flex-1",children:[l.jsxs("p",{className:"eyebrow eyebrow-soft",children:[n.project.name," ","·"," ",M.provider||"All providers"]}),l.jsx(y0,{className:"text-lg font-semibold text-primary truncate",children:e.query})]}),l.jsxs(Tk,{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:[l.jsx(Mr,{className:"size-4"}),l.jsx("span",{className:"sr-only",children:"Close"})]})]}),W&&l.jsxs("div",{className:"evidence-modal-timeline",children:[l.jsx("p",{className:"drawer-section-label mb-1.5",children:"Run history"}),l.jsx("div",{className:"flex items-center gap-1 overflow-x-auto pb-1",children:V.map((ce,re)=>{const H=b===-1&&re===V.length-1||b===re,pe=ce.visibilityState??(ce.answerMentioned?"visible":"not-visible"),De=ce.visibilityTransition??pe,je=pe==="visible"?"bg-positive-400":De==="emerging"?"bg-caution-400":De==="lost"?"bg-negative-400":"bg-mono-600",Ue=new Date(ce.createdAt).toLocaleDateString(void 0,{month:"short",day:"numeric"}),St=!!(ce.model&&re>0&&V[re-1]?.model&&V[re-1].model!==ce.model);return l.jsxs("button",{type:"button",className:`evidence-run-dot ${H?"evidence-run-dot--selected":""}`,onClick:()=>{be(re===V.length-1?-1:re)},"aria-label":[`Run ${Ue}: ${pe}`,ce.model?`model ${ce.model}`:null,St?"model changed":null].filter(Boolean).join(" — "),"aria-pressed":H,children:[l.jsx("span",{className:`size-2 rounded-full ${je} ${St?"ring-1 ring-caution-300/80 ring-offset-2 ring-offset-bg":""}`,"aria-hidden":"true"}),l.jsx("span",{className:"text-[10px] text-muted",children:Ue})]},re)})}),b>=0&&b<V.length&&l.jsxs("p",{className:"text-[11px] text-muted mt-1",children:["Viewing run from ",new Date(V[b].createdAt).toLocaleString()," ","—"," ",l.jsx("span",{className:"capitalize",children:V[b].visibilityState??(V[b].answerMentioned?"visible":"not-visible")}),l.jsxs("button",{type:"button",className:"text-secondary hover:text-strong ml-2",onClick:()=>{be(-1)},children:["←"," Back to latest"]})]}),!ae&&(e.modelTransitions?.length??0)>0&&l.jsx("div",{className:"mt-2 flex flex-wrap gap-2",children:e.modelTransitions.map(ce=>l.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:`${ce.fromModel??"unknown"} -> ${ce.toModel??"unknown"} on ${new Date(ce.createdAt).toLocaleDateString()}`},`${ce.runId}:${ce.toModel??"unknown"}`))})]}),l.jsxs("div",{className:"evidence-modal-body",children:[S&&l.jsxs("div",{className:"md:col-span-2 flex items-center justify-center py-12 text-muted text-sm",children:["Loading historical run data","…"]}),!S&&l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"evidence-modal-main",children:[l.jsxs("div",{className:`evidence-position-hero evidence-position-hero--${q}`,children:[l.jsx("p",{className:`evidence-position-label evidence-position-label--${q}`,children:Pe.label}),l.jsx("p",{className:`evidence-position-title evidence-position-title--${q}`,children:Pe.title}),l.jsx("p",{className:"evidence-position-meta",children:Pe.meta}),Ne&&l.jsx("p",{className:"mt-1 text-[11px] text-muted",children:Ne})]}),M.answerSnippet&&l.jsxs("div",{children:[l.jsx("p",{className:"drawer-section-label",children:"What the AI said"}),l.jsx("div",{className:`answer-snippet-block ${r?"evidence-answer-expanded":"evidence-answer-collapsed"}`,children:xe()}),M.answerSnippet.length>280&&l.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"})]}),!M.answerSnippet&&!S&&l.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"}),M.searchQueries.length>0&&l.jsxs("div",{children:[l.jsxs("div",{className:"drawer-section-label flex items-center",children:[l.jsx("span",{children:"Web searches the model ran"}),l.jsx(ja,{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)."})]}),l.jsx("ul",{className:"grid gap-1",children:M.searchQueries.map((ce,re)=>l.jsxs("li",{className:"flex items-start gap-2 text-sm text-neutral",children:[l.jsx(b0,{className:"size-3.5 mt-0.5 shrink-0 text-faint","aria-hidden":"true"}),l.jsx("span",{className:"break-words",children:ce})]},`${re}-${ce}`))})]}),!ae&&e.relatedTechnicalSignals.length>0&&l.jsxs("div",{children:[l.jsx("p",{className:"drawer-section-label",children:ue?"Why you're visible":"What to fix"}),l.jsx("div",{className:"action-items-list",children:e.relatedTechnicalSignals.map((ce,re)=>l.jsxs("div",{className:"action-item",children:[l.jsx("svg",{className:`action-item-icon ${ue?"text-positive-400":"text-caution-400"}`,viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:ue?l.jsx("path",{d:"M3 8l3.5 3.5L13 4.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}):l.jsxs(l.Fragment,{children:[l.jsx("circle",{cx:"8",cy:"8",r:"7",stroke:"currentColor",strokeWidth:"1.5"}),l.jsx("path",{d:"M8 5v3.5M8 10.5v0",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}),l.jsx("span",{className:"action-item-text",children:ce})]},re))})]}),M.summary&&l.jsx("p",{className:"text-xs text-faint border-t border-subtle pt-3 mt-1",children:M.summary})]}),l.jsxs("div",{className:"evidence-modal-sidebar",children:[(Ye||tt)&&l.jsxs("div",{className:"sidebar-tabs",children:[l.jsx("button",{className:`sidebar-tab ${h==="mentions"?"sidebar-tab--active":""}`,onClick:()=>f("mentions"),type:"button",title:"Canonry's answer-level visibility assessment and any company names extracted from the answer text.",children:"Mentions"}),l.jsx("button",{className:`sidebar-tab ${h==="sources"?"sidebar-tab--active":""}`,onClick:()=>f("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"&&l.jsxs(l.Fragment,{children:[l.jsxs("div",{children:[l.jsxs("div",{className:"drawer-section-label flex items-center",children:[l.jsx("span",{children:"Mention in answer"}),l.jsx(ja,{text:"Canonry scans the AI answer for your owned domains and project name. This is independent from grounding or citation sources."})]}),l.jsxs("div",{className:`mention-status mention-status--${ue?"mentioned":"not-mentioned"}`,children:[l.jsx("span",{className:"mention-status-icon",children:Y?"…":ue?"✓":"—"}),l.jsx("span",{className:"mention-status-label",children:Y?"Pending":ue?"Mentioned":"Not mentioned"})]}),M.matchedTerms.length>0&&l.jsxs("div",{className:"mt-2",children:[l.jsx("p",{className:"text-[10px] uppercase tracking-wide text-muted mb-1.5",children:"Matched in answer"}),l.jsx("div",{className:"flex flex-wrap gap-1.5",children:M.matchedTerms.map(ce=>l.jsx("span",{className:"mention-chip mention-chip--brand",children:ce},ce))})]}),!Y&&!ue&&M.matchedTerms.length===0&&l.jsxs("div",{className:"mt-2",children:[l.jsx("p",{className:"text-[10px] uppercase tracking-wide text-muted mb-1.5",children:"Searched for"}),l.jsx("div",{className:"flex flex-wrap gap-1.5",children:qe.map(ce=>l.jsx("span",{className:"mention-chip mention-chip--muted",children:ce},ce))}),l.jsx("p",{className:"text-[11px] text-faint mt-1.5",children:"None of these appear in the answer text."})]})]}),(M.recommendedCompetitors.length>0||M.mentionedCompetitorDomains.length>0)&&l.jsxs("div",{children:[l.jsxs("div",{className:"drawer-section-label flex items-center",children:[l.jsx("span",{children:"Competitors in answer"}),l.jsx(ja,{text:"Competitors detected in the answer text. Includes tracked competitor brands and names extracted by Canonry; source-link competitors stay in the Sources tab."})]}),l.jsx("div",{className:"flex flex-wrap gap-1.5",children:(()=>{const ce=M.mentionedCompetitorDomains.map(pe=>pe.replace(/^www\./,"")),re=new Set(ce.map(pe=>Va(pe.replace(/\.[^.]+$/,""))));return[...M.recommendedCompetitors.filter(pe=>!re.has(Va(pe))),...ce].map(pe=>l.jsx("span",{className:"mention-chip mention-chip--competitor",children:pe},pe))})()})]})]}),h==="sources"&&l.jsxs(l.Fragment,{children:[M.citedDomains.length>0&&l.jsxs("div",{children:[l.jsxs("div",{className:"drawer-section-label flex items-center",children:[l.jsx("span",{children:"Domains from source links"}),l.jsx(ja,{text:"These domains were extracted from grounding or citation URLs. They are supporting-source metadata, not proof that the answer text mentioned them."})]}),l.jsx("div",{className:"citation-leaderboard",children:M.citedDomains.map((ce,re)=>{const H=ce.toLowerCase().replace(/^www\./,""),pe=E.has(H),De=!pe&&M.citedCompetitorDomains.some(it=>it.toLowerCase().replace(/^www\./,"")===H),je=pe?"you":De?"competitor":"other";return l.jsxs("div",{className:`citation-leaderboard-item citation-leaderboard-item--${je}`,children:[l.jsxs("span",{className:"citation-leaderboard-rank",children:["#",re+1]}),l.jsx("span",{className:"citation-leaderboard-domain",children:ce}),pe&&l.jsx("span",{className:"citation-leaderboard-tag",children:"You"}),De&&l.jsx("span",{className:"citation-leaderboard-tag",children:"Competitor"})]},ce)})})]}),M.groundingSources.length>0&&l.jsxs("div",{children:[l.jsxs("div",{className:"drawer-section-label flex items-center",children:[l.jsxs("span",{children:["Grounding source links (",M.groundingSources.length,")"]}),l.jsx(ja,{text:"Links the model used as grounding or supporting context while producing the answer. These are not the same thing as answer visibility."})]}),l.jsx("ul",{className:"grid min-w-0 gap-3",children:M.groundingSources.map((ce,re)=>l.jsx("li",{className:"min-w-0",children:l.jsx(s0,{url:ce.uri,title:ce.title})},re))})]}),M.evidenceUrls.length>0&&l.jsxs("div",{children:[l.jsx("p",{className:"drawer-section-label",children:"Evidence URLs"}),l.jsx("ul",{className:"grid min-w-0 gap-3",children:M.evidenceUrls.map(ce=>l.jsx("li",{className:"min-w-0",children:l.jsx(s0,{url:ce})},ce))})]}),M.citedDomains.length===0&&M.groundingSources.length===0&&M.evidenceUrls.length===0&&l.jsxs("div",{className:"flex items-center justify-center h-24 text-faint text-sm",children:["No source data ",ae?"for this run":"yet"]})]}),!Ye&&!tt&&l.jsxs("div",{className:"flex items-center justify-center h-24 text-faint text-sm",children:["No answer visibility data ",ae?"for this run":"yet"]})]})]})]})]})]})})}function jQ(e){const n=e.match(/^\/projects\/([^/]+)/);if(!n)return null;try{return decodeURIComponent(n[1])}catch{return n[1]}}function AQ(e,n){return e?n?.projects.find(r=>r.project.name===e||r.project.id===e)?.project.name??e:null}function CQ(e,n){return AQ(jQ(e),n)}function Ba(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 vf=[{id:"project_citypoint",name:"Citypoint Dental NYC",canonicalDomain:"citypointdental.com",ownedDomains:[],aliases:[],qualifiedAliases:[],country:"US",language:"en",tags:["local intent","priority"],labels:{},providers:[],providerModels:{},providerDispatchModes:{},measurement:Gh,locations:[],defaultLocation:null,autoExtractBacklinks:!1,configSource:"cli",configRevision:1},{id:"project_harbor",name:"Harbor Legal Group",canonicalDomain:"harborlegal.com",ownedDomains:[],aliases:[],qualifiedAliases:[],country:"US",language:"en",tags:["lead gen"],labels:{},providers:[],providerModels:{},providerDispatchModes:{},measurement:Gh,locations:[],defaultLocation:null,autoExtractBacklinks:!1,configSource:"cli",configRevision:1},{id:"project_northstar",name:"Northstar Orthopedics",canonicalDomain:"northstarortho.com",ownedDomains:[],aliases:[],qualifiedAliases:[],country:"US",language:"en",tags:["multi-location"],labels:{},providers:[],providerModels:{},providerDispatchModes:{},measurement:Gh,locations:[],defaultLocation:null,autoExtractBacklinks:!1,configSource:"cli",configRevision:1}];function _m(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 Xw=_m({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:"6 minutes 12 seconds",statusDetail:"18 tracked queries checked; 3 citation losses detected on emergency-intent prompts.",summary:"Citation losses on emergency-intent prompts",triggerLabel:"Scheduled"}),NQ=_m({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",statusDetail:"Ready to enqueue after the next provider rate window clears.",summary:"Queued follow-up after local ranking movement",triggerLabel:"Manual"}),Jw=_m({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:"5 minutes 7 seconds",statusDetail:"12 tracked queries checked; local-intent visibility held steady across branded prompts.",summary:"Branded prompts remain stable",triggerLabel:"Scheduled"}),_Q=_m({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:"Running",statusDetail:"Provider responses still in flight for 9 multi-location prompts.",summary:"Mid-run on treatment-location prompts",triggerLabel:"Manual"}),TQ=[{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:Ba(["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:Ba(["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:Ba(["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:Ba(["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:Ba(["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:Ba(["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:Ba(["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:Ba(["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:Ba(["not-cited","not-cited","not-cited","not-cited","not-cited","cited"])}];vf[0],9/21,8/21,4/21,vf[1],11/17,6/17,Ba(["cited","cited","cited","cited","cited"]),vf[2],15/19,4/19,Ba(["not-cited","not-cited","not-cited","cited"]);function EQ(e,n){return e.runs.find(i=>i.id===n)}function RQ(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 zQ(e,n,i){if(e){const r=e.visibilityEvidence.find(u=>u.id===i);if(r)return{project:e,evidence:r}}if(n)return RQ(n,i)}const DQ={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"},IQ={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"},OQ={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"},qQ={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 PQ(e){return{id:e.id,tone:DQ[e.type],title:e.title,detail:e.cause?.details??e.cause?.cause??"",actionLabel:e.recommendation?.action??qQ[e.type],actionGroup:IQ[e.type],affectedPhrases:[{query:e.query,evidenceId:"",provider:e.provider,citationState:OQ[e.type]}]}}function MQ(e){return e.filter(n=>!n.dismissed).map(PQ)}function GA(e){return{id:e.id,name:e.name,displayName:e.displayName,canonicalDomain:e.canonicalDomain,ownedDomains:e.ownedDomains??[],aliases:e.aliases??[],qualifiedAliases:e.qualifiedAliases,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 po(e,n){return`${e} ${n}${e===1?"":"s"}`}function BQ(e,n){if(!e)return"Waiting";if(!n)return"Running";const i=new Date(n).getTime()-new Date(e).getTime();if(i<1e3)return"under 1 second";const r=Math.floor(i/1e3),u=Math.floor(r/3600),h=Math.floor(r%3600/60),f=r%60;return u>0?h>0?`${po(u,"hour")} ${po(h,"minute")}`:po(u,"hour"):h>0?f>0?`${po(h,"minute")} ${po(f,"second")}`:po(h,"minute"):po(f,"second")}function HA(e){switch(e){case Re["answer-visibility"]:return"Answer visibility sweep";case Re["gsc-sync"]:return"GSC sync";case Re["inspect-sitemap"]:return"Sitemap inspection";case Re["ga-sync"]:return"GA sync";case Re["traffic-sync"]:return"Traffic sync";case Re["bing-inspect"]:return"Bing URL inspection";case Re["bing-inspect-sitemap"]:return"Bing sitemap inspection";case Re["site-audit"]:return"Site audit";case Re["backlink-extract"]:return"Backlink extract";case Re["aeo-discover-seed"]:return"Discovery (seed phase)";case Re["aeo-discover-probe"]:return"Discovery (probe phase)";case Re["gbp-sync"]:return"Business Profile sync";case Re["ads-sync"]:return"ChatGPT ads sync";case Re["google-ads-sync"]:return"Google Ads sync";case Re["gtm-sync"]:return"Tag Manager sync"}}function LQ(e){switch(e){case ai.manual:return"Manual";case ai.scheduled:return"Scheduled";case ai["config-apply"]:return"Config apply";case ai.probe:return"Spot check";default:return e}}function Tm(e,n){return{id:e.id,projectId:e.projectId,projectName:n,kind:e.kind,kindLabel:HA(e.kind),status:e.status,trigger:e.trigger??"manual",location:e.location??null,createdAt:e.createdAt,startedAt:mK(e.startedAt||e.createdAt),duration:BQ(e.startedAt??null,e.finishedAt??null),statusDetail:e.error?QA(e.error):VQ(e),summary:UQ(e),triggerLabel:LQ(e.trigger)}}function QA(e){const n=ig(e);return n.length>200?n.slice(0,200)+"…":n}function VQ(e){switch(e.status){case Qt.queued:return"Waiting for execution slot.";case Qt.running:return"Provider queries in progress.";case Qt.completed:return"All queries checked.";case Qt.partial:return"Run completed with some queries skipped.";case Qt.failed:return e.error?QA(e.error):"Run failed.";case Qt.cancelled:return"Run was cancelled.";default:return""}}function UQ(e){const n=HA(e.kind);switch(e.status){case Qt.queued:return`${n} queued`;case Qt.running:return`${n} in progress`;case Qt.completed:return`${n} completed`;case Qt.partial:return`${n} partially completed`;case Qt.failed:return`${n} failed`;case Qt.cancelled:return`${n} cancelled`;default:return e.status}}function $Q(e,n,i,r,u){const h=[];let f=0;const b=new Set;if(i.length>0){const v=i.flatMap(E=>E.snapshots??[]),w=new Map;for(const E of v)if(E.query){const V=`${E.query}::${E.provider}::${E.location??""}`;w.set(V,E)}const k=new Set(v.map(E=>E.location??null));k.size===0&&k.add(null);const S=new Set(v.map(E=>E.provider)),T=new Set(n.flatMap(E=>Object.keys(E.providerRuns??{}))),N=[...new Set([...S,...T])].sort(),I=N.length>0?N:["gemini"],P=new Set(v.flatMap(E=>E.query?[E.query]:[]));for(const E of n){if(E.runs.length===0&&!P.has(E.query))continue;b.add(E.query);const V=E.runs.at(-1),W=V?.transition??"not-cited";for(const L of I){const F=[...k].filter(M=>w.has(`${E.query}::${L}::${M??""}`)),Z=(E.providerRuns?.[L]?.length??0)>0,ae=F.length>0?F:Z?[null]:[];for(const M of ae){const Y=M??"",ue=w.get(`${E.query}::${L}::${Y}`),Ye=ue?.model??null,tt=Ye?`${L}:${Ye}`:null,$e=E.providerRuns?.[L],qe=tt?E.modelRuns?.[tt]:void 0,ke=$t=>$t?.filter(Me=>(Me.location??null)===M),Ve=F.length>0?ke($e):$e,q=F.length>0?ke(qe):qe,X=(Ve?.length?Ve:null)??(q?.length?q:null),be=Ve?.length?"provider":q?.length?"model":"query",Se=ue&&X?X.findIndex($t=>$t.runId===ue.runId):-1,J=ue?Se>=0?X.slice(0,Se+1):null:X,Ne=ue!==void 0&&J===null,Pe=J?J.at(-1).transition:Ne?ue.citationState===uc.cited?"cited":"not-cited":W,xe=J?J.at(-1).visibilityTransition??(J.at(-1).visibilityState==="visible"?"visible":"not-visible"):Ne?ue.visibilityState==="visible"?"visible":"not-visible":V?.visibilityTransition??(V?.visibilityState==="visible"?"visible":"not-visible"),ce=X?.at(-1)?.citationState,re=X?.at(-1)?.visibilityState,H=ue?Pe==="lost"?"lost":Pe==="emerging"?"emerging":ue.citationState===uc.cited?"cited":"not-cited":ce===uc.cited?"cited":"not-cited",pe=ue?.visibilityState??(re==="visible"?"visible":re==="pending"?"pending":"not-visible"),De=J?Ww(J):Ne?1:Ww(E.runs),je=J?ek(J):Ne?1:ek(E.runs),it=KQ(E,L),Ue=(X??E.runs).map($t=>({runId:$t.runId,citationState:$t.citationState,createdAt:$t.createdAt,model:it.get($t.runId)??null,answerMentioned:$t.answerMentioned,visibilityState:$t.visibilityState,visibilityTransition:$t.visibilityTransition,mentionState:$t.mentionState,mentionTransition:$t.mentionTransition})),St=GQ(Ue),Ge=be==="provider"&&St.length<=1?"model":be,me=HQ(Ue),nt=ue?.citedCompetitorDomains??[],zt=ue?.mentionedCompetitorDomains??[],In=[...new Set([...nt,...zt,...ue?.competitorOverlap??[]])];h.push({id:`evidence_${e}_${f++}`,query:E.query,queryId:ue?.queryId??null,sourceSnapshotId:ue?.id??null,sourceRunId:ue?.runId??null,queryClass:u?.classify(E.query)??null,provider:ue?.provider??L,model:ue?.model??null,location:ue?.location??M,citationState:H,answerMentioned:ue?.answerMentioned,visibilityState:pe,visibilityChangeLabel:tk(xe,je,{positive:"visible",negative:"not visible",first:"first visibility"}),changeLabel:tk(Pe,De),answerSnippet:ue?.answerText??"",citedDomains:ue?.citedDomains??[],evidenceUrls:ue?.citedUrls??[],citedCompetitorDomains:nt,mentionedCompetitorDomains:zt,competitorDomains:In,recommendedCompetitors:ue?.recommendedCompetitors??[],matchedTerms:ue?.matchedTerms??[],relatedTechnicalSignals:[],groundingSources:ue?.groundingSources??[],searchQueries:ue?.searchQueries??[],summary:QQ(pe,xe,E.query),runHistory:Ue,historyScope:Ge,modelsSeen:St,modelTransitions:me})}}}}for(const v of r)b.has(v.query)||h.push({id:`evidence_${e}_${f++}`,query:v.query,queryId:v.id,sourceSnapshotId:null,sourceRunId:null,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 KQ(e,n){const i=new Map,r=`${n}:`;for(const[u,h]of Object.entries(e.modelRuns??{})){if(!u.startsWith(r))continue;const f=u.slice(r.length),b=f==="unknown"?null:f;for(const v of h)i.set(v.runId,b)}return i}function GQ(e){const n=new Set;for(const i of e)i.model&&n.add(i.model);return[...n]}function HQ(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 Ww(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 ek(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 tk(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?`${sc(r.positive)} in latest run`:`${sc(r.positive)} for ${n} runs`;case"lost":return"Lost since last run";case"emerging":return sc(r.first);case"not-cited":case"not-visible":return n<=1?`${sc(r.negative)} in latest run`:`${sc(r.negative)} across ${n} runs`;default:return e}}function sc(e){return e.charAt(0).toUpperCase()+e.slice(1)}function QQ(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 FA(e){const n=GA(e.project),i=i9(XD(e.project)),r=$Q(n.name,e.timeline,e.latestRunDetails,e.queries,i),h=[...e.runs].sort((f,b)=>b.createdAt.localeCompare(f.createdAt)).map(f=>Tm(f,e.project.displayName||e.project.name));return e.overview?FQ(n,e.overview,r,h):ZQ(n,r,h)}function ZA(e){return e.filter(n=>n.kind===Re["answer-visibility"]&&n.trigger!==ai.probe&&(n.status===Qt.completed||n.status===Qt.partial))}function FQ(e,n,i,r){const u=MQ(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,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,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),visibilitySweeps:ZA(r),suggestedQueries:n.suggestedQueries}}function nk(){return{projectMentionSnapshots:0,competitorMentionSnapshots:0,combinedMentionSnapshots:0,perCompetitor:[],ranking:[],snapshotsWithAnswerText:0,snapshotsTotal:0,score:null}}function ZQ(e,n,i){const r={label:"",value:"No data",delta:"Loading…",tone:"neutral",description:"",tooltip:"",trend:[]};return{project:e,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:nk(),branded:nk()},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"},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),visibilitySweeps:ZA(i),suggestedQueries:{rows:[],totalCandidates:0,skippedAlreadyTracked:0}}}function YQ(e){const n=GA(e.project),i=[...e.runs].sort((T,N)=>N.createdAt.localeCompare(T.createdAt)),r=i.find(T=>T.kind===Re["answer-visibility"])??i[0]??e.overview?.latestRun?.run??void 0,u=e.project.displayName||e.project.name,h=r?Tm(r,u):XQ(e.project.id,u),f=e.overview;if(!f)return{project:n,hasMeasurement:!1,mentionScore:0,mentionDelta:"No data",mentionTone:"neutral",lastRun:h,insight:"No runs completed yet.",trend:[],competitorPressureLabel:"None"};const b=f.scores.mention,v=b.progress??0,w=f.queryCounts.mentionedQueries,k=f.queryCounts.totalQueries,S=f.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 ${S} provider${S===1?"":"s"}.`:"No runs completed yet.",trend:b.trend??[],competitorPressureLabel:f.scores.competitorPressure.value,sentiment:f.sentiment}}function XQ(e,n){return{id:"none",projectId:e,projectName:n,kind:Re["answer-visibility"],kindLabel:"No runs yet",status:Qt.queued,trigger:ai.manual,createdAt:"",startedAt:"",duration:"",statusDetail:"",summary:"No runs yet",triggerLabel:""}}function JQ(e,n){const i=[],r=[],u=[];for(const f of e){r.push(FA(f)),u.push(YQ(f));const b=[...f.runs].sort((v,w)=>w.createdAt.localeCompare(v.createdAt));for(const v of b)i.push(Tm(v,f.project.displayName||f.project.name))}i.sort((f,b)=>b.createdAt.localeCompare(f.createdAt));const h=e.length>0;return{portfolioOverview:{projects:u,attentionItems:h?WQ(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(f=>({name:f.name,displayName:f.displayName,keyUrl:f.keyUrl,modelHint:f.modelHint,model:f.model,defaultModel:f.defaultModel,state:f.configured?"ready":"needs-config",detail:f.configured?"Provider is configured.":f.name.toLowerCase()==="local"?"Base URL is missing.":"API key is missing.",quota:f.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 WQ(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===Qt.running||h.status===Qt.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 YA=C.createContext(null);YA.Provider;function Uc(){return C.useContext(YA)}function Em(e,n={}){const r=Uc()?.dashboard??null,u=n.includeSettings??!0,h=n.includeOverviews??!0,f=n.pauseProjectPolling??!1,{isAdmin:b}=ua(),v=yt({...Am({client:te,query:{kind:"answer-visibility"}}),enabled:!r,staleTime:qr,refetchInterval:L=>L.state.data?.some(ae=>ae.status==="running"||ae.status==="queued")?3e3:qr}),w=yt({...Eo({client:te}),enabled:!r,refetchInterval:f?!1:L=>{const F=L.state.data,Z=v.data?.some(M=>M.status==="running"||M.status==="queued");return(F?.length??0)===0||!!Z?tK:nK}}),k=yt({...QK({client:te}),enabled:!r&&u&&b}),S=w.data??[],T=v.data??[],N=jN({queries:S.map(L=>{const F=T.filter(M=>M.projectId===L.id),Z=F.filter(M=>(M.status==="completed"||M.status==="partial")&&M.kind==="answer-visibility"&&M.trigger!=="probe").sort((M,Y)=>Y.createdAt.localeCompare(M.createdAt)),ae=Z.length>0?Z[0].id:"no-run";return{queryKey:["project-overview-slim",L.id,ae],queryFn:async()=>{const M=await pA(L.name).catch(()=>null);return{project:L,runs:F,queries:[],competitors:[],timeline:[],latestRunDetails:[],previousRunDetails:[],gscCoverage:null,bingCoverage:null,dbInsights:null,overview:M}},enabled:!r&&h&&w.isSuccess&&v.isSuccess,staleTime:kd}})}),I=!h||N.every(L=>L.isSuccess),P=C.useMemo(()=>{if(r)return r;if(!w.data||!v.data||S.length>0&&!I)return null;const L=h?N.map(F=>F.data?{...F.data,runs:T.filter(Z=>Z.projectId===F.data.project.id)}:null).filter(F=>F!=null):S.map((F,Z)=>{const ae=N[Z]?.data;return{project:F,runs:T.filter(M=>M.projectId===F.id),queries:[],competitors:[],timeline:[],latestRunDetails:[],previousRunDetails:[],gscCoverage:null,bingCoverage:null,dbInsights:null,overview:ae?.overview??null}});return JQ(L,k.data??null)},[r,w.data,v.data,k.data,h,I,N,S,T]),E=!r&&(w.isError||v.isError),V=!r&&!P&&!E,W=C.useCallback(async()=>{const L=[w.refetch(),v.refetch(),...h?N.map(F=>F.refetch()):[]];u&&L.push(k.refetch()),await Promise.all(L)},[u,h,N,w.refetch,v.refetch,k.refetch]);return{dashboard:P,isLoading:V,isError:E,refetch:W}}function eF(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 o0(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 Jte(e,n,i){const r=la(),u=C.useRef({projectName:e,revision:n,enabled:i});C.useEffect(()=>{const h=u.current;u.current={projectName:e,revision:n,enabled:i},!(!i||!h.enabled||h.projectName!==e||h.revision===n)&&o0(r,e)},[i,e,r,n])}const tF=20;function nF(e,n={}){const i=la(),r=Uc(),u=C.useMemo(()=>!r||!e?null:r.dashboard.projects.find(Z=>Z.project.name===e)??null,[r,e]),h=yt({...AK({client:te,path:{name:e??""}}),enabled:!!e&&!u,staleTime:kd,refetchOnWindowFocus:"always"}),f=yt({...kA({client:te,path:{name:e??""},query:{kind:"answer-visibility"}}),enabled:!!e,staleTime:qr,refetchOnWindowFocus:"always",refetchInterval:Z=>Z.state.data?.some(Y=>Y.projectId===h.data?.id&&(Y.status==="running"||Y.status==="queued"))?3e3:qr}),b=h.data??null,v=C.useMemo(()=>b?(f.data??[]).filter(Z=>Z.projectId===b.id):[],[b,f.data]),{latestRunIds:w,latestRunIdsKey:k,latestVisibilityRevision:S}=C.useMemo(()=>{const Z=v.filter(Y=>(Y.status==="completed"||Y.status==="partial")&&Y.kind==="answer-visibility"&&Y.trigger!=="probe").sort((Y,ue)=>ue.createdAt.localeCompare(Y.createdAt)),ae=Z[0]?.createdAt??null,M=ae?Z.filter(Y=>Y.createdAt===ae).map(Y=>Y.id):[];return{latestRunIds:M,latestRunIdsKey:[...M].sort().join(","),latestVisibilityRevision:ae?`${ae}:${[...M].sort().join(",")}`:"none"}},[v]),T=!!b&&!!e&&f.isSuccess,N=yt({queryKey:["project-dashboard-full",b?.id??null,k||"none","overview"],queryFn:async()=>({project:b,overview:await pA(e)}),enabled:T&&n.overview===!0,staleTime:kd,refetchOnWindowFocus:"always"}),I=yt({queryKey:["project-dashboard-full",b?.id??null,k||"none","evidence"],queryFn:async()=>{const[Z,ae,M]=await Promise.all([mA(e),f$(e,void 0,tF),Promise.all(w.map(Y=>Yf(Y)))]);return{project:b,queries:Z,timeline:ae,latestRunDetails:M}},enabled:T&&n.evidence===!0,staleTime:kd,refetchOnWindowFocus:"always"}),P=C.useMemo(()=>{if(!b||!f.data)return u;const Z=n.evidence?I.data:void 0,ae={project:b,runs:v,queries:Z?.queries??[],timeline:Z?.timeline??[],latestRunDetails:Z?.latestRunDetails??[],overview:n.overview?N.data?.overview??null:null},M=FA(ae);return u&&!(n.overview&&N.data)?{...u,project:M.project,recentRuns:M.recentRuns,visibilitySweeps:M.visibilitySweeps,visibilityEvidence:Z?M.visibilityEvidence:u.visibilityEvidence}:M},[b,v,I.data,N.data,u,n.evidence,n.overview,f.data]),E=C.useCallback(async()=>{await Promise.all([h.refetch(),f.refetch(),i.invalidateQueries({queryKey:["project-dashboard-full",b?.id??null]})])},[h.refetch,f.refetch,i,b?.id]),V=h.isError||f.isError,W=!u&&(h.isLoading||f.isLoading),L=!!e&&n.overview===!0&&!u&&!V&&N.isPending,F=!!e&&n.evidence===!0&&!u&&!V&&I.isPending;return{commandCenter:P,project:b,isLoading:W,isError:V,overviewLoading:L,overviewError:n.overview===!0&&N.isError&&!N.data,evidenceLoading:F,evidenceError:n.evidence===!0&&I.isError&&!I.data,latestVisibilityRevision:S,competitorHistoryRevision:eF(v),refetch:E}}const aF=["health"];async function iF(){const e=await I$("/health","API"),n=Ar()&&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 Wg(e,n){return yt({queryKey:aF,queryFn:iF,enabled:e,refetchInterval:15e3,initialData:n})}function sF(e){return yt({...Fg({client:te,path:{id:e??""}}),enabled:!!e,refetchInterval:n=>{const i=n.state.data?.status;return i==="running"||i==="queued"?3e3:!1}})}function e1(){const e=js(),n=Ck({strict:!1}),i=AN({select:v=>v.location.pathname}),r=n.runId??null,u=n.evidenceId??null;return{runId:r,evidenceId:u,openRun:v=>{e({to:i,from:Bn.to,search:w=>({...w,runId:v,evidenceId:void 0})})},openEvidence:v=>{e({to:i,from:Bn.to,search:w=>({...w,evidenceId:v,runId:void 0})})},closeDrawer:()=>{e({to:i,from:Bn.to,search:v=>({...v,runId:void 0,evidenceId:void 0})})}}}const oF={negative:"toast-card-negative",caution:"toast-card-caution",positive:"toast-card-positive",neutral:"toast-card-neutral"};function rF(e){if(e.cta)return`${e.cta.label}: ${e.title}`}function lF(){const e=C.useSyncExternalStore(W$,Ow,Ow),n=js(),{openRun:i}=e1(),r=C.useCallback(h=>{e0(h)},[]),u=C.useCallback(h=>{h.cta&&(h.cta.intent==="open-run-drawer"?i(h.cta.runId):n({to:"/runs"}),e0(h.id))},[n,i]);return e.length===0?null:l.jsx("div",{className:"toast-viewport","aria-label":"Notifications",children:e.map(h=>l.jsxs("section",{role:h.tone==="negative"?"alert":"status","aria-live":h.tone==="negative"?"assertive":"polite","data-state":h.state,className:`toast-card ${oF[h.tone]}`,children:[l.jsxs("div",{className:"toast-copy",children:[l.jsx("p",{className:"toast-title",children:h.title}),h.detail?l.jsx("p",{className:"toast-detail",children:h.detail}):null,h.cta?l.jsx("button",{type:"button",className:"toast-action",onClick:()=>u(h),"aria-label":rF(h),children:h.cta.label}):null]}),l.jsx("button",{type:"button",onClick:()=>r(h.id),className:"toast-dismiss","aria-label":"Dismiss",children:l.jsx(Mr,{className:"size-3.5"})})]},h.id))})}const cF="https://github.com/Canonry/canonry",uF="https://canonry.ai",ak="Run it from your agent with the MCP server, API, CLI, and plugins for Claude Code and Codex.",dF=[{title:"Visibility",links:[["AI visibility","/projects/summit-roofing"],["Search engines","/projects/summit-roofing/search-console"],["Traffic & conversions","/projects/summit-roofing/conversions"]]},{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 mF(){const e=C.useId();if(!Ar())return null;const n=jm(),i=`${e}-new-tab`,r={target:"_blank",rel:"noopener noreferrer","aria-describedby":i};return l.jsxs("aside",{className:"demo-banner","aria-label":"Public demo",children:[l.jsx("p",{className:"demo-banner-name",children:"Canonry demo"}),l.jsx("p",{className:"demo-banner-facts",children:"View only. Fictional data."}),l.jsx("p",{className:"demo-banner-agent",children:ak}),l.jsxs("div",{className:"demo-banner-actions",children:[l.jsxs("a",{className:"demo-banner-primary",href:uF,...r,children:["canonry.ai",l.jsx(Dk,{"aria-hidden":"true",size:14})]}),l.jsxs("a",{className:"demo-banner-secondary",href:cF,...r,children:[l.jsx(Ik,{"aria-hidden":"true",size:15}),"GitHub"]}),l.jsxs("details",{onKeyDown:u=>{u.key==="Escape"&&(u.currentTarget.open=!1,u.currentTarget.querySelector("summary")?.focus())},children:[l.jsxs("summary",{children:["Explore ",l.jsx(Cc,{"aria-hidden":"true",size:14})]}),l.jsxs("div",{className:"demo-banner-panel",children:[l.jsx("p",{className:"demo-banner-panel-agent",children:ak}),l.jsxs("nav",{className:"demo-banner-examples","aria-label":"Demo examples",children:[l.jsx("a",{href:`${n}/projects/summit-roofing`,children:"Standard business"}),l.jsx("a",{href:`${n}/projects/harbor-resorts`,children:"Property portfolio"})]}),l.jsx("nav",{className:"demo-banner-features","aria-label":"Demo feature directory",children:dF.map(({title:u,links:h})=>l.jsxs("section",{"aria-label":u,children:[l.jsx("h2",{children:u}),l.jsx("ul",{children:h.map(([f,b])=>l.jsx("li",{children:l.jsx("a",{href:`${n}${b}`,children:f})},b))})]},u))})]})]})]}),l.jsx("span",{id:i,hidden:!0,children:"Opens in a new tab"})]})}function pc(e){switch(e){case Re["answer-visibility"]:return"Visibility sweep";case Re["gsc-sync"]:return"GSC sync";case Re["inspect-sitemap"]:return"Sitemap inspection";case Re["ga-sync"]:return"GA sync";case Re["traffic-sync"]:return"Traffic sync";case Re["bing-inspect"]:return"Bing URL inspection";case Re["bing-inspect-sitemap"]:return"Bing sitemap inspection";case Re["site-audit"]:return"Technical audit";case Re["backlink-extract"]:return"Backlink extract";case Re["aeo-discover-seed"]:return"Discovery (seed phase)";case Re["aeo-discover-probe"]:return"Discovery (probe phase)";case Re["gbp-sync"]:return"Business Profile sync";case Re["ads-sync"]:return"ChatGPT ads sync";case Re["google-ads-sync"]:return"Google Ads sync";case Re["gtm-sync"]:return"Tag Manager sync"}}function ik(e){return e==="running"?"Running":e==="queued"?"Queued":e==="partial"?"Partial":e==="completed"?"Completed":e==="failed"?"Failed":e==="cancelled"?"Cancelled":"Starting"}function pF(){const e=C.useSyncExternalStore(NA,Pi,Pi),n=C.useMemo(()=>Object.values(e.runs),[e.runs]),i=n.length>0,r=yt({...Am({client:te}),enabled:i,staleTime:qr}),u=C.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})),f=h.length===1?pc(h[0].kind):`${h.length} active tasks`;return l.jsxs("div",{className:"task-center",children:[l.jsxs("p",{className:"sr-only",role:"status","aria-live":"polite",children:[h.length," active ",h.length===1?"task":"tasks","."," ",h.map(b=>`${pc(b.kind)} ${ik(b.status)}`).join(". "),"."]}),l.jsxs("details",{className:"task-center-details",children:[l.jsxs("summary",{className:"task-center-trigger",children:[l.jsx(Cr,{className:"size-3.5 shrink-0 motion-safe:animate-spin","aria-hidden":"true"}),l.jsx("span",{className:"task-center-summary",children:f}),l.jsx("span",{className:"task-center-count","aria-hidden":"true",children:h.length}),l.jsx(Cc,{className:"task-center-chevron size-3.5 shrink-0","aria-hidden":"true"})]}),l.jsxs("div",{className:"task-center-panel",children:[l.jsxs("div",{className:"task-center-heading",children:[l.jsx("span",{children:"Active tasks"}),l.jsx("span",{className:"tabular-nums text-faint",children:h.length})]}),l.jsx("ul",{className:"task-center-list",children:h.map(b=>l.jsxs("li",{className:"task-center-item",children:[l.jsxs("div",{className:"min-w-0",children:[l.jsx("p",{className:"truncate text-[13px] font-medium text-strong",children:pc(b.kind)}),l.jsx("p",{className:"mt-0.5 truncate text-xs text-muted",children:b.projectLabel??b.projectId})]}),l.jsx(yn,{tone:b.status==="failed"?"negative":b.status==="partial"?"caution":"neutral",children:ik(b.status)})]},b.runId))}),l.jsx(Je,{to:"/runs",className:"task-center-footer-link",children:"View all runs"})]})]})]})}const t1={queryClass:"all"},hF=["all","non-brand","branded"];function XA(e){return typeof e=="string"&&hF.includes(e)}function fF(e){const n=XA(e.class)?e.class:t1.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 Wte(e,n){return n===null||e===null?!1:e!==n}function ene(e){return{scope:e.scope==="group"&&e.groupKey?`group:${e.groupKey}`:void 0,class:e.queryClass===t1.queryClass?void 0:e.queryClass}}function gF(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=f=>typeof f=="string"&&f.trim().length>0,h=f=>f===null||u(f);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 yF(e){const n=w=>typeof e[w]=="string"&&e[w]!==""?e[w]:void 0,i=fF({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"),f={measurementScope:u&&(r==="group"||r==="market"||r==="property")?r:"project",queryClass:h==="unknown"||XA(h)?h:t1.queryClass};f.measurementScope!=="project"&&(f.measurementScopeKey=u);for(const[w,k]of[["measurementMarketKey","marketKey"],["measurementProvider","provider"],["measurementModel","model"],["measurementLocation","location"],["measurementFrom","from"],["measurementTo","to"],["measurementRunId","measurementRunId"],["measurementQueryKey","queryKey"]]){const S=n(w);S!==void 0&&(f[k]=S)}const b=Number(e.measurementRevision);Number.isSafeInteger(b)&&b>0&&(f.revision=b);const v=gF(e.measurementAnswer,f.queryKey);return v&&(f.answer=v),f}function bF(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 tne(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 nne(e){return{...e,onboarding:void 0,manageQueries:void 0,siteHealthRunId:void 0,siteScan:void 0,setupProject:void 0}}function vF(e,n){const i=/\/properties\/([^/]+)/.exec(e),r=yF(n);if(i)return{view:"property",selection:Dd.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=Dd.safeParse(bF(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 xF(e,n={}){const{threshold:i=80}=n,r=C.useRef(null),u=C.useRef({scrollHeight:0,wasAtEnd:!0});function h(v){return v.scrollHeight-v.scrollTop-v.clientHeight}function f(){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 C.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]),C.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),C.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:f}}const r0="Sweeps are run by your Canonry team",wF="Scans are run by your Canonry team",sk="Next sweep unavailable",kF="Sweep running…",SF="Next sweep:";function jF(e,n){try{return new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",timeZone:n??"UTC"}).format(new Date(e))}catch{return null}}function AF({projectName:e,kind:n=Re["answer-visibility"],running:i=!1,loadSchedule:r=!0}){const u=n===Re["site-audit"],h=yt({...ZK({client:te,path:{name:e},query:{kind:n}}),enabled:r&&!!e,retry:!1,refetchInterval:6e4}),f=h.isError?void 0:h.data,b=f?.enabled&&f.nextRunAt?new Date(f.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"}):jF(b.toISOString(),f?.timezone):null,k=(h.error instanceof _n?h.error.code:h.error?.error?.code)==="NOT_FOUND",S=!v||k||!f?.enabled;return l.jsx("p",{className:"text-sm text-secondary",role:"status",children:u?l.jsxs(l.Fragment,{children:[i&&l.jsx("span",{className:"text-neutral",children:"Scan running… · "}),v&&b?l.jsxs(l.Fragment,{children:["Next scan ",l.jsxs("time",{dateTime:b.toISOString(),children:[v," UTC"]})," · managed by your Canonry team"]}):wF]}):i?kF:S?sk:v&&b?l.jsxs(l.Fragment,{children:[SF," ",l.jsx("time",{dateTime:b.toISOString(),children:v})]}):sk})}const CF=300,NF=400,_F=900,TF=32,ok=28;let EF=0;function RF(){return typeof window>"u"||typeof window.matchMedia!="function"?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches}function l0(){return new DOMException("Preview stopped","AbortError")}function zF(e,n){return n?.aborted?Promise.reject(l0()):new Promise((i,r)=>{const u=()=>{clearTimeout(h),r(l0())},h=setTimeout(()=>{n?.removeEventListener("abort",u),i()},e);n?.addEventListener("abort",u,{once:!0})})}function DF(e){const n=e.match(/\S+\s*|\s+/g)??[];if(n.length<2)return[];const i=Math.ceil(n.length/TF),r=[];for(let u=i;u<n.length;u+=i)r.push(n.slice(0,u).join(""));return r}function IF(e){return typeof e=="string"?e:JSON.stringify(e??null)}async function OF({starter:e,signal:n,onEvent:i,reducedMotion:r=!1}){const u=async b=>{if(n?.aborted)throw l0();r||await zF(b,n)},h=Date.now(),f=++EF;await u(CF);for(const[b,v]of e.steps.entries()){const{name:w,label:k,arguments:S,result:T,durationMs:N}=v.tool,I=`preview-${e.id}-${f}-${b}`,P={role:"assistant",timestamp:Date.now(),stopReason:"toolUse",content:[...v.text?[{type:"text",text:v.text}]:[],{type:"toolCall",id:I,name:w,arguments:S}]};i({type:"message_end",message:P}),i({type:"tool_execution_start",toolCallId:I,toolName:w,label:k,args:S}),await u(Math.min(_F,Math.max(NF,N))),i({type:"tool_execution_end",toolCallId:I,toolName:w,result:T,isError:!1});const E={role:"toolResult",toolCallId:I,timestamp:Date.now(),isError:!1,aeroToolLabel:k,aeroDurationMs:N,content:[{type:"text",text:IF(T)}]};i({type:"message_end",message:E})}if(!r){for(const b of DF(e.answer))await u(ok),i({type:"message_update",message:{role:"assistant",content:[{type:"text",text:b}]},assistantMessageEvent:{}});await u(ok)}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 Rm(e){try{return await e.json()}catch{return{}}}function qF(){return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?window.__CANONRY_CONFIG__.basePath.replace(/\/$/,"")+"/api/v1":"/api/v1"}const zm=qF();function Dm(e){e===401&&$g()}async function xf(e){const n=await fetch(`${zm}/projects/${encodeURIComponent(e)}/agent/transcript`,{credentials:"include"});if(!n.ok){Dm(n.status);const i=await Rm(n);throw new _n(i.error?.message??`transcript fetch failed: ${n.status}`,n.status,i.error?.code)}return await n.json()}async function PF(e){const n=await fetch(`${zm}/projects/${encodeURIComponent(e)}/agent/preview`,{credentials:"include"});if(!n.ok){Dm(n.status);const i=await Rm(n);throw new _n(i.error?.message??`preview fetch failed: ${n.status}`,n.status,i.error?.code)}return await n.json()}async function MF(e){const n=await fetch(`${zm}/projects/${encodeURIComponent(e)}/agent/transcript`,{method:"DELETE",credentials:"include"});if(!n.ok){Dm(n.status);const i=await Rm(n);throw new _n(i.error?.message??`reset failed: ${n.status}`,n.status,i.error?.code)}}async function BF({project:e,prompt:n,conversationId:i,provider:r,modelId:u,scope:h,profile:f,context:b,limits:v,signal:w,onEvent:k}){const S={prompt:n};i!==void 0&&(S.conversationId=i),r&&(S.provider=r),u&&(S.modelId=u),h&&(S.scope=h),f&&(S.profile=f),b&&(S.context=b),v&&(S.limits=v);const T=await fetch(`${zm}/projects/${encodeURIComponent(e)}/agent/prompt`,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify(S),signal:w});if(!T.ok||!T.body){Dm(T.status);const W=await Rm(T);throw new _n(W.error?.message??`prompt failed: ${T.status}`,T.status,W.error?.code)}let N=!1;const I=T.body.getReader(),P=new TextDecoder;let E="";const V=()=>{I.cancel().catch(()=>{})};w?.addEventListener("abort",V,{once:!0}),w?.aborted&&V();try{for(;;){const{value:W,done:L}=await I.read();if(L)break;E+=P.decode(W,{stream:!0});let F=E.indexOf(`
59
+
60
+ `);for(;F!==-1;){const Z=E.slice(0,F);E=E.slice(F+2);for(const ae of Z.split(`
61
+ `)){if(!ae.startsWith("data:"))continue;const M=ae.slice(5).trim();if(!M)continue;let Y;try{Y=JSON.parse(M)}catch{continue}Y.type==="stream_close"&&(N=!0),k(Y)}F=E.indexOf(`
62
+
63
+ `)}}if(w?.aborted)throw new DOMException("Turn stopped","AbortError");if(!N)throw new Error("Connection ended before Aero finished. Review the partial answer before retrying.")}finally{w?.removeEventListener("abort",V);try{I.releaseLock()}catch{}}}function Sd(e){return!e||e.role!=="assistant"?"":e.content.filter(n=>n.type==="text").map(n=>n.text).join("")}const c0=[{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."}],LF="https://canonry.ai",VF="This demo plays sample answers only. Pick a starting point, or type / to choose one.",UF="Stopped. The sample answer so far is kept.";function rk(e){return{queryKey:["aero-preview",e],queryFn:()=>PF(e),staleTime:1/0,gcTime:1/0}}const lk=[{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"}],pd=e=>`canonry:aero:provider:${e}`,$F=e=>`canonry:aero:scope:${e}`;function ck(e){if(typeof window>"u")return null;try{return window.localStorage.getItem(e)}catch{return null}}function KF(e,n){if(!(typeof window>"u"))try{window.localStorage.setItem(e,n)}catch{}}function uk(e){if(!(typeof window>"u"))try{window.localStorage.removeItem(e)}catch{}}function GF({projectName:e,context:n,preview:i=Ug()}){const r=ho(),{canWrite:u,account:h}=ua(),f=la(),b=h?.role==="viewer",[v,w]=C.useState(!1),[k,S]=C.useState(!1),[T,N]=C.useState([]),[I,P]=C.useState(void 0),E=C.useRef(!1),[V,W]=C.useState(!1),[L,F]=C.useState(!1),[Z,ae]=C.useState(null),[M,Y]=C.useState(!1),[ue,Ye]=C.useState(!1),[tt,$e]=C.useState(null),qe=C.useRef(!1),[ke,Ve]=C.useState(""),[q,X]=C.useState(!1),[be,Se]=C.useState([]),[J,Ne]=C.useState(""),[Pe,xe]=C.useState(null),[ce,re]=C.useState(null),[H,pe]=C.useState(null),De=C.useRef(!0),[je,it]=C.useState(()=>ck(pd(e))??null),Ue=r||b||i?null:je,[St]=C.useState(()=>ck($F(e))==="all"?"all":"read-only"),Ge=r||b||i?"read-only":St,me=C.useRef(null),nt=C.useRef(null),zt=C.useRef(null),In=C.useRef(null),{ref:$t}=xF([T,J,be]),Me=C.useRef(null);C.useLayoutEffect(()=>{const oe=Me.current;if(!oe)return;oe.style.height="auto";const Ie=k?FF:QF;oe.scrollHeight>0&&(oe.style.height=`${Math.min(oe.scrollHeight,Ie)}px`)},[ke,k,v]);const[ct,Kt]=C.useState(0),Gt=C.useMemo(()=>{const oe=ke.trimStart();if(!oe.startsWith("/"))return[];if(/\s/.test(oe))return[];const Ie=oe.toLowerCase();return lk.filter(Ze=>(!(r||b)||Ze.command!=="/run-sweep")&&(!b||Ze.action!=="new")&&(!i||c0.some(Ht=>Ht.prompt===Ze.prompt))&&(Ze.command.startsWith(Ie)||Ze.label.toLowerCase().includes(Ie.slice(1))))},[ke,r,b,i]);C.useEffect(()=>{Kt(oe=>Gt.length===0?0:Math.min(oe,Gt.length-1))},[Gt.length]);const Tn=yt({...rH({client:te,path:{name:e}}),enabled:!b&&!i,staleTime:6e4}),Bt=C.useMemo(()=>{const oe=Tn.data?.providers??[];if(Ue){const Ze=oe.find(Ht=>Ht.id===Ue&&Ht.configured);if(Ze)return Ze}const Ie=Tn.data?.defaultProvider;return Ie?oe.find(Ze=>Ze.id===Ie)??null:null},[Ue,Tn.data]),ri=b||i||Bt!==null;yt({...rk(e),enabled:i&&v}),C.useEffect(()=>{if(!Tn.data||!Ue)return;Tn.data.providers.find(Ie=>Ie.id===Ue&&Ie.configured)||(it(null),uk(pd(e)))},[Tn.data,Ue,e]);const Is=C.useCallback(oe=>{it(oe),oe?KF(pd(e),oe):uk(pd(e))},[e]);C.useEffect(()=>{if(!v)return;const oe=Ie=>{Ie.key==="Escape"&&(L?F(!1):k?S(!1):w(!1))};return window.addEventListener("keydown",oe),()=>window.removeEventListener("keydown",oe)},[v,k,L]),C.useEffect(()=>{if(!v||!ri||i)return;let oe=!1;xe(null);const Ie=()=>{oe||q||qe.current||xf(e).then(st=>{oe||qe.current||(Ye(st.isStreaming??!1),P(st.conversationId??null),!oe&&!st.isStreaming&&(nt.current===null||st.updatedAt&&st.updatedAt!==nt.current.previous)&&(N(st.messages),me.current=st.updatedAt,nt.current=null))}).catch(st=>{oe||xe(Ei(st))})};Ie();const Ht=window.setInterval(Ie,15e3);return()=>{oe=!0,window.clearInterval(Ht)}},[v,e,q,ri,M,i]),C.useEffect(()=>(De.current=!0,()=>{De.current=!1,In.current?.abort()}),[e]);async function Vn(oe,Ie=n){const Ze=oe.trim();if(!Ze||L||q||M||qe.current||ue||!ri)return;if(i){await li(Ze);return}if(r&&/^\/run-sweep(?:\s|$)/i.test(Ze)){xe(r0);return}xe(null),re(null),pe({prompt:Ze,context:Ie}),Ve(""),X(!0),Ne(""),zt.current=null,Se([]),nt.current={previous:me.current};const Ht={role:"user",content:Ze,timestamp:Date.now(),aeroContext:Ie};N(We=>[...We,Ht]);const st=new AbortController;In.current=st;try{await BF({project:e,prompt:Ze,conversationId:I,provider:Ue??void 0,scope:Ge,context:Ie,signal:st.signal,onEvent:Os});const We=await xf(e);De.current&&!We.isStreaming&&(P(We.conversationId??null),N(We.messages),me.current=We.updatedAt,nt.current=null)}catch(We){if(!De.current)return;b&&(nt.current=null);const Xt=zt.current;Xt&&Sd(Xt).trim()&&N(Ga=>[...Ga,Xt]),st.signal.aborted?re("Stopped. Partial response preserved. An action already dispatched may still finish."):xe(Ei(We))}finally{De.current&&(X(!1),Ne(""),Se(We=>We.map(Xt=>Xt.endedAt===void 0?{...Xt,interrupted:!0}:Xt))),In.current=null}}async function li(oe){const Ie=lk.find(st=>st.command===oe.toLowerCase())?.prompt??oe,Ze=c0.find(st=>st.prompt===Ie)?.id;if(!Ze){xe(null),pe(null),re(VF);return}xe(null),re(null),pe({prompt:Ie}),Ve(""),X(!0),Ne(""),zt.current=null,Se([]),N(st=>[...st,{role:"user",content:Ie,timestamp:Date.now()}]);const Ht=new AbortController;In.current=Ht;try{const st=await f.ensureQueryData(rk(e));if(Ht.signal.aborted)throw new DOMException("Preview stopped","AbortError");const We=st.starters.find(Xt=>Xt.id===Ze);if(!We)throw new Error("This demo has no sample answer for that starting point.");await OF({starter:We,signal:Ht.signal,onEvent:Os,reducedMotion:RF()})}catch(st){if(!De.current)return;const We=zt.current;We&&Sd(We).trim()&&N(Xt=>[...Xt,We]),Ht.signal.aborted?re(UF):xe(Ei(st))}finally{De.current&&(X(!1),Ne(""),Se(st=>st.map(We=>We.endedAt===void 0?{...We,interrupted:!0}:We))),In.current=null}}function Os(oe){if(De.current)switch(oe.type){case"message_update":oe.message.role==="assistant"&&(zt.current=oe.message),Ne(Sd(oe.message));break;case"message_end":if(oe.message.role!=="user"){const Ie=oe.message;N(Ze=>[...Ze,Ie])}oe.message.role==="assistant"&&(zt.current=null,Ne(""),oe.message.errorMessage&&xe(oe.message.errorMessage));break;case"aero_turn_status":oe.status?.reason==="tool-limit"?re("Tool-call limit reached. Partial response preserved."):oe.status?.reason==="time-limit"?re("Time limit reached. Partial response preserved."):oe.status?.reason==="completed"&&pe(null);break;case"tool_execution_start":Se(Ie=>[...Ie,{id:oe.toolCallId,name:oe.toolName,label:oe.label,args:oe.args,startedAt:Date.now()}]);break;case"tool_execution_end":Se(Ie=>Ie.map(Ze=>Ze.id===oe.toolCallId?{...Ze,endedAt:Date.now(),isError:oe.isError,result:oe.result}:Ze));break;case"error":xe(oe.message);break}}async function Li(oe,Ie=!1){if(!(q||ue||qe.current)){qe.current=!0,Y(!0),xe(null);try{await oe();const Ze=await xf(e);if(!De.current)return;nt.current=null,me.current=Ze.updatedAt,P(Ze.conversationId??null),N(Ze.messages),Se([]),Ne(""),re(null),pe(null),$e(null),F(Ie),ae(Ie?await Dw(e):null),Me.current?.focus()}catch(Ze){De.current&&xe(Ei(Ze))}finally{qe.current=!1,De.current&&Y(!1)}}}async function Vi(){if(i){if(q)return;N([]),Se([]),Ne(""),xe(null),re(null),pe(null),Me.current?.focus();return}await Li(()=>b?MF(e):O$(e,crypto.randomUUID()))}async function qs(oe=!1){if(!(qe.current||E.current)){E.current=!0,W(!0),F(!0),xe(null);try{const Ie=await Dw(e,{offset:oe?Z?.nextOffset??0:0});De.current&&ae(Ze=>oe&&Ze?{...Ie,conversations:[...Ze.conversations,...Ie.conversations]}:Ie)}catch(Ie){De.current&&xe(Ei(Ie))}finally{E.current=!1,De.current&&W(!1)}}}const hn=T.length===0,jt=!(b||i);if(jt&&Tn.isPending)return null;if(jt&&Tn.isError)return l.jsx("div",{className:"pointer-events-none fixed inset-x-0 bottom-0 z-40 flex justify-center p-3",children:l.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:[l.jsx(Ju,{className:"h-4 w-4 text-muted","aria-hidden":"true"}),l.jsx("span",{className:"font-medium text-strong",children:"Aero could not check provider availability."}),l.jsx(le,{variant:"outline",size:"sm",className:"pointer-events-auto ml-auto",onClick:()=>{Tn.refetch()},children:"Try again"})]})});const fn=Bt&&!Bt.configured?Bt:null;if(jt&&(!Bt||fn))return l.jsx("div",{className:"pointer-events-none fixed inset-x-0 bottom-0 z-40 flex justify-center p-3",children:l.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:[l.jsx(Ju,{className:"h-4 w-4 text-muted","aria-hidden":"true"}),l.jsxs("span",{className:"flex items-center gap-1.5 font-medium text-strong",children:[fn?`Aero is set to ${fn.label.replace(/\s+\(.+\)$/,"")}, which has no API key.`:"Aero needs an answer-engine provider.",l.jsx(ja,{text:fn?`Set ${JA(fn.id)} on the server, or providers.${fn.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."})]}),fn?null:u?l.jsx(le,{asChild:!0,variant:"outline",size:"sm",className:"pointer-events-auto ml-auto",children:l.jsx(Je,{to:"/settings",children:"Open Settings"})}):l.jsx("span",{className:"ml-auto text-secondary",children:"Ask an administrator to configure one."})]})});const wn=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",Ps=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",da=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 l.jsx("div",{className:wn,onClick:oe=>{k&&oe.target===oe.currentTarget&&S(!1)},children:l.jsx("div",{className:Ps,children:v?l.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:[l.jsxs("div",{className:"flex items-center justify-between gap-2 border-b border-mono-800/70 px-4 py-2.5",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(Ju,{className:"h-4 w-4 text-positive-400","aria-hidden":"true"}),l.jsx("span",{className:"text-sm font-medium text-heading",children:"Aero"}),l.jsx("span",{className:"text-[10px] uppercase tracking-wider text-muted",children:q||ue?"working…":e})]}),l.jsxs("div",{className:"flex items-center gap-1",children:[!r&&!b&&!i&&l.jsx(HF,{providers:Tn.data?.providers??[],active:Bt,override:Ue,onPick:Is,disabled:q}),l.jsx("button",{type:"button",onClick:()=>S(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?l.jsx(RN,{className:"h-3.5 w-3.5","aria-hidden":"true"}):l.jsx(zN,{className:"h-3.5 w-3.5","aria-hidden":"true"})}),l.jsx("button",{type:"button",onClick:()=>{S(!1),w(!1)},className:"rounded-md p-1.5 text-muted transition hover:bg-surface-inset hover:text-strong","aria-label":"Close Aero",children:l.jsx(Mr,{className:"h-4 w-4","aria-hidden":"true"})})]})]}),l.jsxs("div",{className:"flex flex-wrap items-center gap-2 border-b border-subtle px-4 py-2",children:[l.jsxs(le,{variant:"outline",size:"sm",disabled:q||ue||M,onClick:dn(Vi),title:b||i?"Clear this conversation and start fresh.":"Save this conversation and start fresh. Shared project notes are kept.",children:[l.jsx(Af,{className:"h-3.5 w-3.5","aria-hidden":"true"})," New conversation"]}),!b&&!i&&l.jsxs(le,{variant:"ghost",size:"sm","aria-expanded":L,"aria-controls":"aero-history",disabled:M,onClick:()=>{L?F(!1):qs()},children:[l.jsx(Ok,{className:"h-3.5 w-3.5","aria-hidden":"true"})," History"]})]}),L?l.jsxs("div",{id:"aero-history",className:da,"aria-label":"Conversation history",children:[l.jsxs("h3",{className:"mb-2 text-sm font-medium text-heading",children:["Conversations in ",e]}),Z?Z.conversations.length===0?l.jsx("p",{className:"text-sm text-secondary",children:"No saved conversations yet. Your conversations will appear here."}):l.jsx("ul",{className:"divide-y divide-default",children:Z.conversations.map(oe=>l.jsxs("li",{className:"py-2",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.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:q||ue||M,onClick:()=>{oe.active?F(!1):Li(()=>q$(e,oe.id))},children:[l.jsx("span",{className:"block truncate text-sm text-heading",children:oe.title}),l.jsxs("span",{className:"text-xs text-secondary",children:[oe.active?"Current · ":"",new Date(oe.updatedAt).toLocaleString()]})]}),l.jsx(le,{variant:"ghost",size:"sm",disabled:q||ue||M,"aria-label":`Delete conversation: ${oe.title}`,onClick:()=>$e(oe.id),children:"Delete"})]}),tt===oe.id&&l.jsxs("div",{role:"group","aria-label":"Confirm conversation deletion",className:"mt-2 rounded-md border border-default p-3 text-sm text-secondary",children:[l.jsx("p",{children:"Delete this conversation permanently? Shared project notes will be kept."}),l.jsxs("div",{className:"mt-2 flex gap-2",children:[l.jsx(le,{variant:"destructive",size:"sm",disabled:M,onClick:()=>{Li(async()=>{await P$(e,oe.id)},!0)},children:"Delete conversation"}),l.jsx(le,{variant:"ghost",size:"sm",disabled:M,onClick:()=>$e(null),children:"Cancel"})]})]})]},oe.id))}):l.jsx("p",{className:"text-sm text-secondary",children:V?"Loading history…":"History could not be loaded. Close and reopen History to retry."}),Z?.nextOffset!=null&&l.jsx(le,{variant:"ghost",size:"sm",disabled:V,onClick:()=>{qs(!0)},children:V?"Loading…":"Load more"})]}):l.jsxs("div",{ref:$t,className:da,children:[hn&&!q&&l.jsxs("div",{className:"flex flex-col gap-3 py-2",children:[l.jsx("p",{className:"text-sm text-secondary",children:i?l.jsxs(l.Fragment,{children:["See how Aero answers about ",l.jsx("span",{className:"text-strong",children:e}),". Choose a starting point."]}):l.jsxs(l.Fragment,{children:["Ask about ",l.jsx("span",{className:"text-strong",children:e})," or choose a starting point."]})}),l.jsx(dk,{onPick:oe=>{Vn(oe)}})]}),JF(T,e,Ue,Ge,be,q,!b&&!i),q&&J&&l.jsxs("div",{className:"mt-3",children:[l.jsx("div",{className:"mb-0.5 text-[10px] uppercase tracking-wider text-positive-400",children:"Aero"}),l.jsx(WA,{content:J})]}),q&&!J&&be.every(oe=>oe.endedAt!==void 0)&&l.jsx(aZ,{}),i&&!hn&&!q&&l.jsxs("div",{className:"mt-4 flex flex-col gap-2 border-t border-subtle pt-3",children:[l.jsx("p",{className:"text-xs text-secondary",children:"Try another starting point."}),l.jsx(dk,{onPick:oe=>{Vn(oe)}})]})]}),(Pe||ce)&&l.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:[l.jsx("span",{className:"flex-1",children:Pe??ce}),H&&!q&&l.jsx(le,{variant:"outline",size:"sm",onClick:()=>{Ge==="all"?(Ve(H.prompt),Me.current?.focus()):Vn(H.prompt,H.context)},children:Ge==="all"?"Review prompt":"Retry"})]}),i&&l.jsxs("p",{className:"border-t border-subtle px-4 py-2 text-xs text-secondary",children:["Sample answers on demo data."," ",l.jsxs("a",{href:LF,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.",l.jsx(Dk,{className:"h-3 w-3","aria-hidden":"true"}),l.jsx("span",{className:"sr-only",children:" (opens in a new tab)"})]})]}),l.jsxs("div",{className:"relative",children:[!L&&Gt.length>0&&l.jsx(YF,{title:i?"Starting points":"Commands",matches:Gt,selectedIndex:ct,onHover:Kt,onPick:oe=>{Ve(""),Me.current?.focus(),oe.action==="new"?Vi():Vn(oe.prompt)}}),l.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 Ie=Gt[ct];Ve(""),Ie.action==="new"?Vi():Vn(Ie.prompt);return}Vn(ke)},children:[l.jsx("textarea",{ref:Me,value:ke,onChange:oe=>Ve(oe.target.value),onKeyDown:oe=>{if(Gt.length>0){if(oe.key==="ArrowDown"){oe.preventDefault(),Kt(Ie=>(Ie+1)%Gt.length);return}if(oe.key==="ArrowUp"){oe.preventDefault(),Kt(Ie=>(Ie-1+Gt.length)%Gt.length);return}if(oe.key==="Tab"){oe.preventDefault();const Ie=Gt[ct];Ve(`${Ie.command} `);return}if(oe.key==="Escape"){oe.preventDefault(),Ve("");return}}if(oe.key==="Enter"&&!oe.shiftKey)if(oe.preventDefault(),Gt.length>0){const Ie=Gt[ct];Ve(""),Ie.action==="new"?Vi():Vn(Ie.prompt)}else Vn(ke)},disabled:L||M,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"}),q?l.jsxs(le,{type:"button",variant:"outline",size:"sm",onClick:()=>In.current?.abort(),"aria-label":"Stop Aero",children:[l.jsx(DN,{className:"h-3.5 w-3.5","aria-hidden":"true"})," Stop"]}):l.jsx(le,{type:"submit",size:"sm",disabled:!ke.trim()||L||M||ue,"aria-label":"Send",children:l.jsx(IN,{className:"h-4 w-4","aria-hidden":"true"})})]})]})]}):l.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:l.jsxs("span",{className:"flex items-center gap-2",children:[l.jsx(Ju,{className:"h-4 w-4 text-positive-400","aria-hidden":"true"}),"Ask Aero about ",e,"…"]})})})})}function HF({providers:e,active:n,override:i,onPick:r,disabled:u}){const[h,f]=C.useState(!1),b=C.useRef(null);if(C.useEffect(()=>{if(!h)return;const w=S=>{b.current?.contains(S.target)||f(!1)},k=S=>{S.key==="Escape"&&f(!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 l.jsxs("div",{ref:b,className:"relative",children:[l.jsxs("button",{type:"button",onClick:()=>f(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:[l.jsx("span",{className:"font-medium text-strong",children:v}),l.jsx(Cc,{className:"h-3 w-3","aria-hidden":"true"})]}),h&&l.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:[l.jsx("div",{className:"border-b border-default px-3 py-2 text-sm font-medium text-secondary",children:"Answer engine"}),l.jsx("ul",{className:"max-h-72 overflow-y-auto py-1",children:e.map(w=>{const k=n?.id===w.id,S=i===w.id;return l.jsx("li",{children:l.jsxs("button",{type:"button",role:"option","aria-selected":k,disabled:!w.configured,onClick:()=>{w.configured&&(r(S?null:w.id),f(!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 ${JA(w.id)} in Settings or your environment`,children:[l.jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center",children:k?l.jsx(Jd,{className:"h-3 w-3 text-positive-400","aria-hidden":"true"}):null}),l.jsx("span",{className:"min-w-0 flex-1 truncate font-medium text-heading",children:w.label.replace(/\s+\(.+\)$/,"")}),S&&l.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&&l.jsx("span",{className:"rounded-md border border-base px-2 py-0.5 text-[11px] text-secondary",children:"Needs setup"})]})},w.id)})}),i&&l.jsx("button",{type:"button",onClick:()=>{r(null),f(!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 QF=144,FF=288,wf=288,ZF=8;function YF({title:e,matches:n,selectedIndex:i,onHover:r,onPick:u}){const h=C.useRef(null),f=C.useRef(null),b=C.useRef(null),[v,w]=C.useState(wf);return C.useLayoutEffect(()=>{const k=h.current,S=k?.closest("[data-aero-panel]"),T=k?.parentElement;if(!k||!S||!T)return;const N=T.getBoundingClientRect().top-S.getBoundingClientRect().top-ZF*2-(f.current?.getBoundingClientRect().height??0);w(N>0?Math.min(wf,Math.floor(N)):wf)},[n.length]),C.useEffect(()=>{b.current?.querySelector('[aria-selected="true"]')?.scrollIntoView?.({block:"nearest"})},[i]),l.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:[l.jsx("div",{ref:f,className:"border-b border-default px-3 py-1.5 text-[10px] uppercase tracking-wider text-muted",children:e}),l.jsx("ul",{ref:b,role:"listbox",className:"overflow-y-auto py-1",style:{maxHeight:v},children:n.map((k,S)=>{const T=S===i;return l.jsx("li",{children:l.jsxs("button",{type:"button",role:"option","aria-selected":T,onMouseEnter:()=>r(S),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:[l.jsx("span",{className:"font-medium",children:k.label}),l.jsx("span",{className:"ml-auto font-mono text-[11px] text-secondary",children:k.command})]})},k.command)})})]})}function dk({onPick:e}){return l.jsx("div",{className:"flex flex-wrap gap-1.5",children:c0.map(n=>l.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 JA(e){switch(e){case"claude":return"ANTHROPIC_API_KEY";case"openai":return"OPENAI_API_KEY";case"gemini":return"GEMINI_API_KEY";case"zai":return"ZAI_API_KEY"}}function XF(e,n){const i=e.timestamp??0;return`${e.role}:${i}:${n}`}function JF(e,n,i,r,u,h,f=!0){const b=[];for(let v=0;v<e.length;v++){const w=e[v],k=XF(w,v);if(w.role==="user"){const S=typeof w.content=="string"?w.content:JSON.stringify(w.content);if(S.startsWith("[system]"))continue;b.push(l.jsx(WF,{text:S,projectName:n,providerOverride:i,scope:r,context:w.aeroContext,cliCopy:f},k));continue}if(w.role==="assistant"){const S=new Map;let T=v+1;for(;T<e.length&&e[T].role==="toolResult";){const P=e[T];S.set(P.toolCallId,P),T++}const N=tZ(w,S).map(P=>{const E=u.find(W=>W.id===P.id),V={...P,...E};return{...V,interrupted:V.endedAt===void 0&&(!h||V.interrupted)}}),I=Sd(w);b.push(l.jsxs(C.Fragment,{children:[I.trim()&&l.jsxs("div",{className:"mt-3",children:[l.jsx("div",{className:"mb-0.5 text-[10px] uppercase tracking-wider text-positive-400",children:"Aero"}),l.jsx(WA,{content:I})]}),N.length>0&&l.jsx("div",{className:"mt-3 space-y-1.5",children:N.map(P=>l.jsx(nZ,{trail:P},P.id))})]},k)),v=T-1;continue}}return b}function WF({text:e,projectName:n,providerOverride:i,scope:r,context:u,cliCopy:h=!0}){const[f,b]=C.useState(!1),v=C.useMemo(()=>eZ(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 l.jsxs("div",{className:"group relative mt-3 rounded-md bg-bg-elevated/60 px-3 py-2 text-strong",children:[l.jsxs("div",{className:"flex items-center justify-between gap-2",children:[l.jsx("div",{className:"text-[10px] uppercase tracking-wider text-muted",children:"You"}),h&&l.jsx("button",{type:"button",onClick:dn(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:f?l.jsxs(l.Fragment,{children:[l.jsx(Jd,{className:"h-2.5 w-2.5 text-positive-400","aria-hidden":"true"}),"Copied"]}):l.jsxs(l.Fragment,{children:[l.jsx(v0,{className:"h-2.5 w-2.5","aria-hidden":"true"}),"Copy as CLI"]})})]}),l.jsx("div",{className:"whitespace-pre-wrap",children:e})]})}function eZ(e,n,i,r,u){const h=["canonry","agent","ask",pf(e),pf(n)];return i&&h.push("--provider",i),r==="read-only"&&h.push("--scope","read-only"),u&&h.push("--context",pf(JSON.stringify(u))),h.join(" ")}function tZ(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 nZ({trail:e}){const[n,i]=C.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),f=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 l.jsxs("div",{className:`rounded-md border ${b} ${v}`,children:[l.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:[l.jsx("span",{className:"flex h-3.5 w-3.5 shrink-0 items-center justify-center",children:r?l.jsx(Cr,{className:"h-3 w-3 animate-spin text-positive-400","aria-hidden":"true"}):u?l.jsx(qk,{className:"h-3 w-3 text-negative-400","aria-hidden":"true"}):l.jsx(ON,{className:"h-3 w-3 text-muted","aria-hidden":"true"})}),l.jsx("span",{className:"text-sm font-medium text-heading",children:e.label??e.name.replace(/^(?:canonry|aero)_/,"").replace(/_/g," ")}),l.jsxs("span",{className:"ml-auto flex items-center gap-2 text-[10px] text-muted",children:[r?l.jsx("span",{className:"text-positive-400",children:"running…"}):l.jsxs(l.Fragment,{children:[l.jsx("span",{children:e.interrupted?"interrupted":u?"failed":"done"}),f&&l.jsx("span",{children:f})]}),l.jsx(x0,{className:`h-3 w-3 transition-transform ${n?"rotate-90":""}`,"aria-hidden":"true"})]})]}),n&&l.jsxs("div",{className:"border-t border-default px-2.5 py-2 text-[11px] text-secondary",children:[l.jsx("div",{className:"mb-2 text-xs text-secondary",children:e.name}),l.jsx("div",{className:"mb-1 text-xs text-secondary",children:"Inputs"}),l.jsx("pre",{className:"mb-2 overflow-x-auto whitespace-pre-wrap break-all text-xs text-neutral",children:mk(e.args)}),!r&&e.result!==void 0&&l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"mb-1 text-[9px] uppercase tracking-wider text-faint",children:u?"Error":"Result"}),l.jsx("pre",{className:"overflow-x-auto whitespace-pre-wrap break-all text-xs text-neutral",children:mk(e.result)})]})]})]})}function mk(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 WA({content:e}){return l.jsx("div",{className:"text-heading",children:l.jsx(XN,{remarkPlugins:[JN],components:{h1:n=>l.jsx("h1",{...n,className:"mt-3 mb-2 text-base font-semibold text-primary"}),h2:n=>l.jsx("h2",{...n,className:"mt-3 mb-2 text-sm font-semibold text-primary"}),h3:n=>l.jsx("h3",{...n,className:"mt-3 mb-1.5 text-sm font-semibold text-heading"}),h4:n=>l.jsx("h4",{...n,className:"mt-2 mb-1 text-xs font-semibold uppercase tracking-wide text-neutral"}),p:n=>l.jsx("p",{...n,className:"mb-2 leading-relaxed"}),ul:n=>l.jsx("ul",{...n,className:"mb-2 ml-4 list-disc space-y-1"}),ol:n=>l.jsx("ol",{...n,className:"mb-2 ml-4 list-decimal space-y-1"}),li:n=>l.jsx("li",{...n,className:"marker:text-mono-600"}),strong:n=>l.jsx("strong",{...n,className:"font-semibold text-primary"}),em:n=>l.jsx("em",{...n,className:"text-strong"}),code:({children:n,...i})=>l.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=>l.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=>l.jsx("a",{...n,className:"text-positive-400 underline decoration-positive-700 hover:decoration-positive-400",target:"_blank",rel:"noopener noreferrer"}),table:n=>l.jsx("div",{className:"mb-2 overflow-x-auto",children:l.jsx("table",{...n,className:"w-full border-collapse text-xs"})}),thead:n=>l.jsx("thead",{...n,className:"border-b border-base"}),th:n=>l.jsx("th",{...n,className:"px-2 py-1 text-left font-semibold text-neutral"}),tr:n=>l.jsx("tr",{...n,className:"border-b border-mono-900"}),td:n=>l.jsx("td",{...n,className:"px-2 py-1 text-strong"}),blockquote:n=>l.jsx("blockquote",{...n,className:"mb-2 border-l-2 border-strong pl-3 italic text-secondary"}),hr:()=>l.jsx("hr",{className:"my-3 border-base"})},children:e})})}function aZ(){return l.jsxs("div",{className:"mt-3 flex items-center gap-2",children:[l.jsx("div",{className:"text-[10px] uppercase tracking-wider text-positive-400",children:"Aero"}),l.jsxs("div",{className:"flex items-center gap-1","aria-label":"Aero is thinking",children:[l.jsx("span",{className:"aero-dot h-1.5 w-1.5 rounded-full bg-positive-400/80"}),l.jsx("span",{className:"aero-dot aero-dot-2 h-1.5 w-1.5 rounded-full bg-positive-400/60"}),l.jsx("span",{className:"aero-dot aero-dot-3 h-1.5 w-1.5 rounded-full bg-positive-400/40"})]})]})}function e4({isAdmin:e,account:n}){return e||n?.role==="viewer"&&t$()}function iZ(){const{isAdmin:e,account:n}=ua(),i=Nk(),r=/^\/projects\/([^/]+)/.exec(i.pathname),u=r?decodeURIComponent(r[1]):null,h=yt({...Eo({client:te}),enabled:u!==null,staleTime:6e4}),f=vF(i.pathname,i.search),b=h.data??[],v=b.find(T=>T.id===u)??b.find(T=>T.name===u),w=rK(v?.name??u??"",f),k=Ug(),S=k||e4({isAdmin:e,account:n});return!u||!S||!v?null:l.jsx(GF,{projectName:v.name,context:w,preview:k},v.name)}const u0={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 Pn(e,n){const i=u0[n];return e.invalidateQueries({predicate:r=>{const u=r.queryKey[0];return typeof u?._id=="string"&&u._id.startsWith(i)}})}function ane(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===u0.queryTracking||r._id===u0.visibilityReport||r._id==="getApiV1ProjectsByNameQueries"||r._id==="getApiV1ProjectsByName"}})}function jc(e,n,i){switch(e.invalidateQueries({queryKey:Qg({client:te})}),e.invalidateQueries({queryKey:Ss({client:te})}),Pn(e,"runs"),n){case Re["answer-visibility"]:o0(e,i,"none"),Pn(e,"visibilityReport"),Pn(e,"queryTracking");return;case Re["backlink-extract"]:return;case Re["site-audit"]:Pn(e,"technicalAeo");return;case Re["gsc-sync"]:case Re["inspect-sitemap"]:Pn(e,"gsc");return;case Re["ga-sync"]:Pn(e,"ga");return;case Re["traffic-sync"]:Pn(e,"ga"),Pn(e,"traffic");return;case Re["bing-inspect"]:case Re["bing-inspect-sitemap"]:Pn(e,"bing");return;case Re["aeo-discover-seed"]:case Re["aeo-discover-probe"]:o0(e,i);return;case Re["gbp-sync"]:Pn(e,"gbp");return;case Re["ads-sync"]:Pn(e,"ads");return;case Re["google-ads-sync"]:Pn(e,"googleAds"),Pn(e,"conversionTracking");return;case Re["gtm-sync"]:Pn(e,"gtm"),Pn(e,"conversionTracking");return;default:return n}}const pk=[{label:"GitHub",href:"https://github.com/Canonry/canonry",Icon:Ik},{label:"Docs",href:"https://github.com/Canonry/canonry/tree/main/docs",Icon:$N},{label:"Changelog",href:"https://github.com/Canonry/canonry/releases",Icon:KN}],hk=e=>({label:e,state:"checking",detail:"Checking service health"}),sZ={apiStatus:hk("API"),workerStatus:hk("Worker")};function oZ(e){return e==="completed"?"positive":e==="partial"?"caution":"negative"}function rZ(e){const n=pc(e.kind);return e.status==="completed"?`${n} completed`:e.status==="partial"?`${n} completed with partial results`:e.status==="cancelled"?`${n} cancelled`:`${n} failed`}function lZ(e,n){return e.error?`${n}: ${ig(e.error)}`:e.location?`${n} · ${e.location}`:n}function fk(e,n,i){if(n)return n;const r=i.find(u=>u.id===e);return r?.displayName||r?.name||e}function cZ(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 uZ(e){return e.failed>0||e.cancelled>0?"negative":e.partial>0?"caution":"positive"}function dZ(){const e=la(),n=C.useSyncExternalStore(NA,Pi,Pi),i=Object.keys(n.runs).length>0||Object.keys(n.batches).length>0,r=yt({...Am({client:te}),enabled:i,staleTime:qr,refetchInterval:3e3}),u=yt({...Eo({client:te}),enabled:i}),h=C.useRef({}),f=C.useCallback(()=>{r.refetch()},[r.refetch]);return C.useEffect(()=>{i&&f()},[i,f]),C.useEffect(()=>{if(!i||typeof window>"u")return;const b=()=>{document.visibilityState==="visible"&&f()};return window.addEventListener("focus",f),document.addEventListener("visibilitychange",b),()=>{window.removeEventListener("focus",f),document.removeEventListener("visibilitychange",b)}},[i,f]),C.useEffect(()=>{const b=r.data??[],v=u.data??[],w=Object.fromEntries(b.map(S=>[S.id,S])),k=Object.fromEntries(b.map(S=>[S.id,S.status]));for(const S of Object.values(n.runs)){const T=w[S.runId];if(!T||!bH(T.status)||(h.current[T.id]??S.lastAnnouncedStatus)===T.status)continue;const I=v.find(E=>E.id===T.projectId);if(I&&jc(e,T.kind,I.name),S.sourceAction==="run-all"){ff(T.id);continue}const P=fk(T.projectId,S.projectLabel,v);vn({title:rZ(T),detail:lZ(T,P),tone:oZ(T.status),dedupeKey:`run:${T.id}`,dedupeMode:"replace",cta:{label:"View run",intent:"open-run-drawer",runId:T.id}}),ff(T.id)}if(r.data!==void 0){const S=new Set(b.map(N=>N.id)),T=xH(Object.values(n.runs),S,Date.now(),vH);for(const N of T){const I=v.find(P=>P.id===N.projectId);I&&jc(e,N.kind,I.name),N.sourceAction!=="run-all"&&vn({title:`${pc(N.kind)} status unavailable`,detail:fk(N.projectId,N.projectLabel,v),tone:"neutral",dedupeKey:`run-stale:${N.runId}`,dedupeMode:"replace"}),ff(N.runId)}}for(const S of Object.values(n.batches)){const T=wH(S.runIds,w);T.finished&&(vn({title:"Run-all batch finished",detail:cZ(T,S.skippedCount),tone:uZ(T),dedupeKey:`batch:${S.batchId}`,dedupeMode:"replace",cta:{label:"View runs",intent:"go-to-runs"}}),yH(S.batchId))}h.current=k},[u.data,r.data,n,e]),null}function mZ(){const{account:e,isAdmin:n}=ua(),i=Uc(),r=C.useMemo(()=>lA(),[]),u=C.useMemo(WU,[]),h=C.useMemo(e$,[]),f=Ug()||h&&e4({isAdmin:n,account:e}),b=C.useMemo(n$,[]),v=Nk(),{dashboard:w,isLoading:k,refetch:S}=Em(void 0,{includeSettings:!r,includeOverviews:!1,pauseProjectPolling:v.pathname==="/setup"}),I=Wg(!i,i?.health).data??i?.health??sZ,{runId:P,evidenceId:E,closeDrawer:V}=e1(),[W,L]=C.useState(!1),[F,Z]=C.useState(()=>{if(typeof window>"u")return!1;try{return window.localStorage.getItem("canonry:sidebarHidden")==="true"}catch{return!1}}),[ae,M]=C.useState(()=>{if(typeof window>"u")return null;try{return window.localStorage.getItem("canonry:dismissedUpdateVersion")}catch{return null}}),[Y]=C.useState(()=>typeof window>"u"?null:new URLSearchParams(window.location.search).get("force-update")),ue=Y?{current:I.apiStatus.version??"0.0.0",latest:Y,url:"https://www.npmjs.com/package/@canonry/canonry",upgradeCommand:"npm install -g @canonry/canonry"}:I.apiStatus.updateAvailable,Ye=b&&ue&&ue.latest!==ae,tt=()=>{if(ue){try{window.localStorage.setItem("canonry:dismissedUpdateVersion",ue.latest)}catch{}M(ue.latest)}},$e=()=>{const me=!F;try{me?window.localStorage.setItem("canonry:sidebarHidden","true"):window.localStorage.removeItem("canonry:sidebarHidden")}catch{}Z(me)},qe=sF(P),ke=qe.data??null,Ve=qe.isLoading;C.useEffect(()=>{ke&&ke.status!=="running"&&ke.status!=="queued"&&S()},[ke?.status,S]),C.useEffect(()=>{L(!1)},[v.pathname]),C.useEffect(()=>{if(typeof window>"u"||!P&&!E)return;const me=nt=>{nt.key==="Escape"&&V()};return window.addEventListener("keydown",me),()=>{window.removeEventListener("keydown",me)}},[P,E,V]);const q=w??i?.dashboard??null,X=v.pathname==="/setup",be=X&&q!==null&&q.portfolioOverview.projects.length===0,Se=X&&(v.search.onboarding==="site-health"||v.search.onboarding==="first-run"||v.search.onboarding==="complete"),[J,Ne]=C.useState(be);C.useEffect(()=>{X?be&&Ne(!0):Ne(!1)},[be,X]);const xe=X&&(Se||be||J||X&&q===null),ce=xe?"app-shell-focus":F?"app-shell-sidebar-hidden":"",re=P?(q?EQ(q,P):void 0)??(ke?Tm(ke,q?.projects.find(me=>me.project.id===ke.projectId)?.project.displayName??q?.projects.find(me=>me.project.id===ke.projectId)?.project.name??"Unknown project"):void 0):void 0,H=C.useMemo(()=>CQ(v.pathname,q),[v.pathname,q]),{commandCenter:pe,evidenceLoading:De,evidenceError:je,isError:it,refetch:Ue}=nF(E?H:null,{evidence:!0}),St=C.useMemo(()=>{if(E)return zQ(pe,q,E)},[E,pe,q]),Ge=(()=>{const me=v.pathname;if(me==="/")return"Portfolio";if(me==="/projects")return"Projects";if(me==="/runs")return"Runs";if(me==="/history")return"History";if(me==="/settings")return"Settings";if(me==="/setup")return"Setup";if(me==="/backlinks")return"Backlink data";if(me==="/traffic"||me.startsWith("/traffic/"))return"Traffic sources";if(me.startsWith("/projects/")){const nt=q?.projects.find(zt=>zt.project.name===H);return nt?.project.displayName||nt?.project.name||H||"Projects"}return"Not found"})();if(r){const me=tA(r.projectTabs),nt=!r.views||r.views.includes(yK(v.pathname));return l.jsxs("div",{className:"app-shell app-shell-embed","data-theme":kK(r.theme),style:SK(r.theme),children:[l.jsx("a",{className:"skip-link",href:"#content",children:"Skip to content"}),l.jsx("main",{id:"content",className:"page-shell",children:me?l.jsx("div",{className:"embed-view-unavailable",role:"status",children:"This embed uses the retired Report tab. Update its allowed tabs to show AI Visibility."}):nt?l.jsx(jf,{}):l.jsx("div",{className:"embed-view-unavailable",role:"status",children:"This view is not available in embed mode."})})]})}return l.jsxs(l.Fragment,{children:[l.jsx("a",{className:"skip-link",href:"#content",children:"Skip to content"}),l.jsx(mF,{}),l.jsxs("div",{className:`app-shell ${ce}${Ar()?" app-shell-demo":""}`,children:[!xe&&!F&&l.jsxs("aside",{id:"desktop-sidebar",className:"sidebar","aria-label":"Primary navigation",children:[l.jsx("div",{className:"sidebar-brand",children:l.jsx(Zw,{version:I.apiStatus.version,updateAvailable:Ye?ue:null,onDismissUpdate:tt})}),l.jsxs("nav",{className:"sidebar-nav",children:[l.jsxs(Je,{to:"/",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[l.jsx(qN,{className:"sidebar-icon"}),l.jsx("span",{children:"Portfolio"})]}),l.jsxs(Je,{to:"/projects",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!1},children:[l.jsx(PN,{className:"sidebar-icon"}),l.jsx("span",{children:"Projects"})]}),l.jsxs(Je,{to:"/runs",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[l.jsx(MN,{className:"sidebar-icon"}),l.jsx("span",{children:"Runs"})]}),l.jsxs(Je,{to:"/history",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[l.jsx(Ok,{className:"sidebar-icon"}),l.jsx("span",{children:"History"})]}),l.jsxs(Je,{to:"/traffic",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!1},children:[l.jsx(BN,{className:"sidebar-icon"}),l.jsx("span",{children:"Traffic sources"})]}),!Ar()&&l.jsxs(Je,{to:"/backlinks",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[l.jsx(LN,{className:"sidebar-icon"}),l.jsx("span",{children:"Backlink data"})]}),n&&l.jsxs(Je,{to:"/settings",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[l.jsx(VN,{className:"sidebar-icon"}),l.jsx("span",{children:"Settings"})]}),k?l.jsxs(l.Fragment,{children:[l.jsx("p",{className:"sidebar-section-title",children:"Tracked projects"}),[1,2,3].map(me=>l.jsxs("div",{className:"sidebar-skeleton-item",children:[l.jsx("span",{className:"skeleton-circle size-2"}),l.jsx("span",{className:"skeleton-text flex-1",style:{width:`${50+me*15}%`}})]},me))]}):q&&q.projects.length>0?l.jsxs(l.Fragment,{children:[l.jsx("p",{className:"sidebar-section-title",children:"Tracked projects"}),q.projects.map(me=>{const nt=me.visibilitySummary.tone;return l.jsxs(Je,{to:"/projects/$projectName",params:{projectName:me.project.name},className:"sidebar-project",activeProps:{className:"sidebar-project sidebar-project-active"},children:[l.jsx("span",{className:`sidebar-dot sidebar-dot-${nt}`}),l.jsx("span",{children:me.project.displayName||me.project.name})]},me.project.id)})]}):k?null:l.jsxs(l.Fragment,{children:[l.jsx("p",{className:"sidebar-section-title",children:"Resources"}),n&&l.jsxs(Je,{to:"/setup",className:"sidebar-link",activeProps:{className:"sidebar-link sidebar-link-active"},activeOptions:{exact:!0},children:[l.jsx(UN,{className:"sidebar-icon"}),l.jsx("span",{children:"Setup"})]})]})]}),e&&l.jsxs("div",{className:"sidebar-account",children:[l.jsxs("div",{className:"sidebar-account-identity",children:[l.jsx("span",{className:"sidebar-account-name",children:e.name}),e.role==="viewer"?l.jsx("span",{className:"sidebar-account-role",children:_w()}):null]}),l.jsx(le,{type:"button",variant:"ghost",size:"sm",onClick:dn(async()=>{await zw(),window.location.reload()}),children:"Sign out"})]}),u?l.jsx("div",{className:"sidebar-footer",children:pk.map(({label:me,href:nt,Icon:zt})=>l.jsx("a",{className:"sidebar-footer-icon",href:nt,target:"_blank",rel:"noopener noreferrer",title:me,"aria-label":me,children:l.jsx(zt,{className:"size-4"})},nt))}):null]}),l.jsxs("div",{className:"main-area",children:[l.jsxs("header",{className:"topbar",children:[l.jsxs("div",{className:"topbar-left",children:[!xe&&l.jsx(le,{className:"sidebar-privacy-toggle",variant:"ghost",size:"icon",type:"button","aria-label":F?"Show sidebar":"Hide sidebar","aria-controls":F?void 0:"desktop-sidebar","aria-expanded":!F,title:F?"Show sidebar":"Hide sidebar",onClick:$e,children:F?l.jsx(GN,{className:"size-4"}):l.jsx(HN,{className:"size-4"})}),l.jsx("div",{className:"topbar-brand-mobile",children:l.jsx(Zw,{compact:!0})}),l.jsxs("nav",{className:"breadcrumb","aria-label":"Breadcrumb",children:[l.jsx(Je,{to:"/",children:"Home"}),l.jsx(x0,{className:"breadcrumb-sep size-3"}),l.jsx("span",{className:"breadcrumb-current",children:Ge})]})]}),l.jsxs("div",{className:"topbar-actions",children:[l.jsx(pF,{}),l.jsxs("div",{className:"health-pill-row",children:[l.jsxs("span",{className:`health-pill health-pill-${I.apiStatus.state}`,title:Pr(I.apiStatus),children:["API ",I.apiStatus.state==="ok"?"ok":I.apiStatus.state]}),l.jsx("span",{className:`health-pill health-pill-${I.workerStatus.state}`,title:Pr(I.workerStatus),children:`Worker ${I.workerStatus.state==="ok"?"ok":I.workerStatus.state}`})]}),xe?null:l.jsxs(le,{className:"nav-toggle",variant:"secondary",size:"icon",type:"button","aria-expanded":W,"aria-controls":"mobile-nav",onClick:()=>L(me=>!me),children:[l.jsx(QN,{className:"size-4"}),l.jsx("span",{className:"sr-only",children:"Open navigation"})]})]})]}),xe?null:l.jsxs("div",{id:"mobile-nav",className:`mobile-nav ${W?"mobile-nav-open":""}`,children:[l.jsxs(le,{className:"mobile-nav-close",variant:"ghost",size:"icon",type:"button",onClick:()=>L(!1),children:[l.jsx(Mr,{className:"size-5"}),l.jsx("span",{className:"sr-only",children:"Close navigation"})]}),l.jsx(Je,{to:"/",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!0},children:"Portfolio"}),l.jsx(Je,{to:"/projects",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!1},children:"Projects"}),l.jsx(Je,{to:"/runs",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!0},children:"Runs"}),l.jsx(Je,{to:"/history",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!0},children:"History"}),l.jsx(Je,{to:"/traffic",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!1},children:"Traffic sources"}),!Ar()&&l.jsx(Je,{to:"/backlinks",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!0},children:"Backlink data"}),n&&l.jsx(Je,{to:"/settings",className:"mobile-nav-link",activeProps:{className:"mobile-nav-link mobile-nav-link-active"},activeOptions:{exact:!0},children:"Settings"}),q&&q.projects.length>0?l.jsxs("div",{className:"mobile-nav-section",children:[l.jsx("p",{className:"mobile-nav-section-title",children:"Tracked projects"}),q.projects.map(me=>l.jsx(Je,{to:"/projects/$projectName",params:{projectName:me.project.name},className:"mobile-nav-link",children:me.project.name},me.project.id))]}):null,e&&l.jsxs("div",{className:"mobile-nav-section",children:[l.jsx("p",{className:"mobile-nav-section-title",children:"Signed in"}),l.jsxs("div",{className:"sidebar-account",children:[l.jsxs("div",{className:"sidebar-account-identity",children:[l.jsx("span",{className:"sidebar-account-name",children:e.name}),e.role==="viewer"?l.jsx("span",{className:"sidebar-account-role",children:_w()}):null]}),l.jsx(le,{type:"button",variant:"ghost",size:"sm","data-testid":"mobile-sign-out",onClick:dn(async()=>{await zw(),window.location.reload()}),children:"Sign out"})]})]})]}),l.jsx("main",{id:"content",className:`page-shell ${f&&H?"pb-20":""}`.trim(),children:k&&!i?l.jsxs("div",{className:"page-skeleton",children:[l.jsxs("div",{className:"page-skeleton-header",children:[l.jsx("div",{className:"skeleton-text h-6 w-40"}),l.jsx("div",{className:"skeleton-text-sm w-72"})]}),l.jsx("div",{className:"page-skeleton-grid",children:[1,2,3].map(me=>l.jsxs("div",{className:"page-skeleton-card",children:[l.jsx("div",{className:"skeleton-text w-24"}),l.jsx("div",{className:"skeleton-text w-full"}),l.jsx("div",{className:"skeleton-text-sm w-3/4"})]},me))}),l.jsx("div",{className:"page-skeleton-grid",style:{gridTemplateColumns:"1fr 1fr"},children:[1,2].map(me=>l.jsxs("div",{className:"page-skeleton-card",children:[l.jsx("div",{className:"skeleton-text w-20"}),l.jsx("div",{className:"space-y-2",children:[1,2,3].map(nt=>l.jsx("div",{className:"skeleton-text-sm w-full"},nt))})]},me))})]}):l.jsx(jf,{})}),l.jsxs("footer",{className:"footer",children:[l.jsxs("span",{className:"footer-brand",children:[l.jsx("span",{children:l.jsx("a",{href:"https://canonry.ai",children:"Canonry"})}),I.apiStatus.version&&I.apiStatus.version!=="unknown"?l.jsxs("span",{className:"footer-version",children:["v",I.apiStatus.version]}):null]}),u?l.jsx("div",{className:"footer-links",children:pk.map(({label:me,href:nt,Icon:zt})=>l.jsx("a",{href:nt,target:"_blank",rel:"noopener noreferrer",title:me,"aria-label":me,className:"footer-icon",children:l.jsx(zt,{className:"size-3.5"})},nt))}):null]})]}),P&&!re&&Ve?l.jsx(md,{open:!0,title:"Loading run details",subtitle:"Fetching the durable run record",onClose:V,children:l.jsx("p",{className:"text-sm text-muted",role:"status",children:"Loading run details…"})}):null,P&&!re&&qe.isError?l.jsx(md,{open:!0,title:"Run unavailable",subtitle:"The run could not be loaded",onClose:V,children:l.jsx("p",{className:"text-sm text-negative",children:qe.error instanceof Error?qe.error.message:"Run details are unavailable."})}):null,re?l.jsxs(md,{open:!0,title:re.summary,subtitle:`${re.projectName} · ${re.kindLabel}`,onClose:V,children:[l.jsxs("div",{className:"flex flex-wrap items-center gap-x-5 gap-y-1 text-sm",children:[l.jsx(Jg,{status:re.status}),l.jsx("span",{className:"text-secondary",children:re.startedAt}),l.jsx("span",{className:"text-muted",children:re.duration}),l.jsx("span",{className:"text-faint",children:re.triggerLabel})]}),re.status==="failed"&&re.statusDetail&&l.jsx("p",{className:"mt-2 text-sm text-negative",children:re.statusDetail}),l.jsxs("div",{className:"mt-4",children:[l.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-wider text-muted mb-2",children:"Activity Log"}),Ve?l.jsx("p",{className:"text-sm text-muted",children:"Loading run details..."}):ke?.snapshots&&ke.snapshots.length>0?l.jsxs("div",{className:"space-y-2",children:[ke.snapshots.map(me=>l.jsxs("div",{className:"rounded-lg border border-default bg-surface p-3",children:[l.jsxs("div",{className:"flex items-center justify-between gap-2 mb-1",children:[l.jsx("p",{className:"text-sm font-medium text-strong truncate",children:me.query??"Unknown query"}),l.jsxs("div",{className:"flex items-center gap-1.5",children:[l.jsx(hQ,{provider:me.provider}),l.jsx($A,{variant:me.citationState===uc.cited?"success":"neutral",children:me.citationState})]})]}),me.model&&l.jsx("p",{className:"text-[11px] text-muted font-mono",children:me.model}),me.citedDomains.length>0&&l.jsxs("p",{className:"text-xs text-muted mt-1",children:[l.jsx("span",{className:"text-secondary",children:"Sources:"})," ",me.citedDomains.join(", ")]}),me.citedCompetitorDomains.length>0&&l.jsxs("p",{className:"text-xs text-negative-400/80 mt-0.5",children:["Competitor cited: ",me.citedCompetitorDomains.join(", ")]}),me.mentionedCompetitorDomains.length>0&&l.jsxs("p",{className:"text-xs text-negative-400/80 mt-0.5",children:["Competitor mentioned: ",me.mentionedCompetitorDomains.join(", ")]}),me.groundingSources&&me.groundingSources.length>0&&l.jsxs("details",{className:"mt-2",children:[l.jsxs("summary",{className:"text-xs text-muted cursor-pointer hover:text-secondary",children:[me.groundingSources.length," grounding source",me.groundingSources.length!==1?"s":""]}),l.jsx("ul",{className:"mt-2 space-y-3",children:me.groundingSources.map((nt,zt)=>l.jsx("li",{className:"min-w-0",children:l.jsx(s0,{url:nt.uri,title:nt.title})},zt))})]}),me.answerText&&l.jsxs("details",{className:"mt-1",children:[l.jsx("summary",{className:"text-xs text-muted cursor-pointer hover:text-secondary",children:"Answer preview"}),l.jsx("p",{className:"mt-1 text-xs text-secondary leading-relaxed whitespace-pre-wrap",children:me.answerText})]})]},me.id)),ke.status==="running"&&l.jsxs("div",{className:"flex items-center gap-2 p-3 text-sm text-muted",children:[l.jsx("span",{className:"inline-block h-2 w-2 rounded-full bg-caution-500 animate-pulse"}),"Running remaining queries..."]})]}):ke&&ke.status==="running"?l.jsxs("div",{className:"flex items-center gap-2 p-3 text-sm text-muted",children:[l.jsx("span",{className:"inline-block h-2 w-2 rounded-full bg-caution-500 animate-pulse"}),"Waiting for first query result..."]}):ke&&ke.status==="queued"?l.jsxs("div",{className:"flex items-center gap-2 p-3 text-sm text-muted",children:[l.jsx("span",{className:"inline-block h-2 w-2 rounded-full bg-mono-500 animate-pulse"}),"Run queued, waiting for execution slot..."]}):ke&&ke.error?l.jsxs("div",{className:"rounded-lg border border-negative-800/40 bg-negative-950/20 p-3",children:[l.jsx("p",{className:"text-sm font-medium text-negative mb-2",children:"Run failed"}),l.jsx("pre",{className:"max-h-48 overflow-y-auto whitespace-pre-wrap break-words font-mono text-xs leading-5 text-negative",children:uK(ke.error)})]}):l.jsx("p",{className:"text-sm text-muted",children:"No snapshot data available."})]})]}):null,E&&!St?l.jsx(md,{open:!0,title:De?"Loading answer":"Answer unavailable",subtitle:"Query evidence",onClose:V,children:De?l.jsx("p",{role:"status",className:"text-sm text-secondary",children:"Loading answer…"}):l.jsxs(l.Fragment,{children:[l.jsx("p",{role:"alert",className:"text-sm text-secondary",children:je||it?"Could not load this answer.":"This answer is not in the available query evidence."}),l.jsx(le,{type:"button",variant:"outline",onClick:()=>{Ue()},children:"Retry"})]})}):null,St?l.jsx(SQ,{evidence:St.evidence,project:St.project,onClose:V}):null,l.jsx(dZ,{}),l.jsx(lF,{}),f?l.jsx(iZ,{}):null]})]})}class pZ extends C.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?l.jsx("div",{className:"page-container",children:l.jsxs("div",{className:"flex flex-col items-center justify-center gap-4 py-20 text-center",children:[l.jsx("div",{className:"rounded-full bg-negative-950/40 p-3",children:l.jsx(qk,{className:"size-6 text-negative-400"})}),l.jsx("h2",{className:"text-lg font-semibold text-heading",children:"Something went wrong"}),l.jsx("p",{className:"text-sm text-secondary max-w-md",children:this.state.error.message||"An unexpected error occurred while rendering this page."}),l.jsxs("div",{className:"flex gap-3 mt-2",children:[l.jsxs(le,{variant:"secondary",size:"sm",onClick:this.handleReset,children:[l.jsx(FN,{className:"size-3.5 mr-1.5"}),"Try again"]}),l.jsx(le,{variant:"secondary",size:"sm",onClick:()=>{const n=window.__CANONRY_CONFIG__?.basePath?.replace(/\/$/,"")??"";window.location.href=n||"/"},children:"Go home"})]})]})}):this.props.children}}const Aa=C.forwardRef(({className:e,...n},i)=>l.jsx("div",{ref:i,className:Ea("rounded-xl border border-base bg-bg/75 shadow-[0_0_0_1px_var(--color-shadow-hairline)]",e),...n}));Aa.displayName="Card";const kr=C.forwardRef(({className:e,...n},i)=>l.jsx("div",{ref:i,className:Ea("flex flex-col gap-1.5 p-5",e),...n}));kr.displayName="CardHeader";const t4=C.forwardRef(({className:e,...n},i)=>l.jsx("h3",{ref:i,className:Ea("font-medium tracking-tight text-primary",e),...n}));t4.displayName="CardTitle";const Qd=C.forwardRef(({className:e,...n},i)=>l.jsx("p",{ref:i,className:Ea("text-sm text-muted",e),...n}));Qd.displayName="CardDescription";const fo=C.forwardRef(({className:e,...n},i)=>l.jsx("div",{ref:i,className:Ea("p-5 pt-0",e),...n}));fo.displayName="CardContent";function d0({disabled:e,title:n,...i}){const{canWrite:r}=ua();return r?l.jsx(le,{disabled:e,title:n,...i}):l.jsx(le,{...i,disabled:!0,title:bA})}function n1({title:e,children:n}){const{isAdmin:i}=ua();return i?l.jsx(l.Fragment,{children:n}):l.jsxs(Aa,{className:"surface-card mx-auto mt-8 max-w-lg",children:[l.jsxs(kr,{children:[l.jsxs(t4,{children:[e," is for administrators"]}),l.jsx(Qd,{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."})]}),l.jsx(fo,{children:l.jsx("p",{className:"supporting-copy",children:"If you need to make a change here, ask an administrator on this install."})})]})}function ine(e,n,i){return{mode:n,scope:e.measurementScope,scopeKey:e.measurementScopeKey,marketKey:e.marketKey,queryClass:e.queryClass==="non-brand"?"non-brand":"branded",provider:e.provider,model:e.model,location:e.location,runId:e.measurementRunId,revision:e.revision,evaluationDefinitionId:i}}function sne(e,n,i){const r=[...new Set(n.filter(u=>!i||u.provider===i).map(u=>u.sourceRunId).filter(u=>!!u))].sort();return{...e,mode:"simple",scope:"project",scopeKey:void 0,marketKey:void 0,provider:i||void 0,model:void 0,revision:void 0,runId:r.length===1?r[0]:void 0,runIds:r.length>1?r:void 0}}function hc(e,n,i,r){return["sentiment",e,n,i??null,r??null]}const n4=5e3,hZ=new Set(["pending","running","waiting-to-retry"]);function gk(e){return hZ.has(e.state)}function fZ(e){const n=e?.coverage.counts;return!!(n&&n.pending+n.running+n["waiting-to-retry"]>0)}function gZ(e,n){return fZ(e)||n?n4:!1}function yZ(e,n,i=!0){const r=yt({queryKey:hc(e,"settings"),queryFn:()=>wd(e),retry:!1,staleTime:0,refetchOnWindowFocus:"always"}),u=yt({queryKey:hc(e,"jobs"),queryFn:()=>$$(e),enabled:!!r.data?.actions.configure,retry:!1,refetchOnWindowFocus:"always",refetchInterval:w=>w.state.data?.jobs.some(gk)?n4:!1}),h=!!u.data?.jobs.some(gk),f=w=>{const k={...n,queryClass:w};return{queryKey:hc(e,"summary",k),queryFn:()=>M$(e,k),enabled:i&&!!(r.data?.enabled&&r.data.installEnabled),retry:!1,staleTime:0,refetchOnWindowFocus:"always",refetchInterval:S=>gZ(S.state.data,h)}},b=yt(f("branded")),v=yt(f("non-brand"));return{settings:r,branded:b,nonBrand:v,jobs:u}}const zi={branded:"Branded","non-brand":"Non-brand"},a1=10;function i1(e){return e>=a1}const mn={states:{disabled:"Sentiment is off.","not-measured":"No ratings yet.",processing:"Analyzing sentiment…",canceled:"Analysis canceled.",partial:"Partial results.",failed:"Analysis failed.",complete:"Analysis complete.",unsupported:"Sentiment unavailable."},noJudgments:"No ratings available.",tooFew:"too few",minRated:`Shown from ${a1} ratings`,partial:"Partial results",columns:{favorable:"Favorable",rated:"Rated"},rated:"Share of answers rated favorable, mixed or unfavorable",noAnswers:"No answers yet",ratedUnavailable:"Unavailable",details:{ratedAnswers:"Rated answers",unadmitted:"Assessments not yet analyzed"},overall:"Overall sentiment is the share of favorable judgments across branded and non-brand queries. Each saved answer-subject assessment counts once. Factual, unmentioned, unsupported, and unclassified answers are excluded.",favorable:"The favorable share of favorable, mixed and unfavorable ratings. Each rating evaluates one subject in an answer. Branded and non-brand queries are measured separately."},jd="—";function Mi(e){return e.replaceAll("-"," ").replace(/^./,n=>n.toUpperCase())}const Fd=["favorable","mixed","unfavorable"],bZ=["branded","non-brand"];function a4(e){return e.interval?`${Bd(e.interval.low,La.fraction)} to ${Bd(e.interval.high,La.fraction)}`:null}const i4={favorable:"progress-fill-info",mixed:"progress-fill-caution",unfavorable:"progress-fill-negative"};function kf(e){return`${e} ${e===1?"rating":"ratings"}`}function s1(e){return e.score.favorableRate!==null&&e.coverage.judged>0}function o1(e){return e?s1(e)&&i1(e.coverage.judged):!1}function vZ({value:e,label:n}){const{counts:i,judged:r}=e.coverage;if(!s1(e))return l.jsx("div",{className:"sentiment-bar sentiment-bar-track","data-sentiment-bar":"empty","aria-hidden":"true"});const u=Fd.map(h=>`${i[h]} ${h}`).join(", ");return o1(e)?l.jsx("div",{role:"img","aria-label":`${n}: ${u}, ${e.score.favorableDisplay} favorable of ${kf(r)}`,className:"sentiment-bar","data-sentiment-bar":"rated",children:Fd.filter(h=>i[h]>0).map(h=>l.jsx("span",{"data-outcome":h,className:`sentiment-bar-segment ${i4[h]}`,style:{flexGrow:i[h]},title:`${Mi(h)}: ${i[h]} of ${kf(r)}`},h))}):l.jsx("div",{role:"img","aria-label":`${n}: ${u}, ${kf(r)}, favorable share ${mn.minRated.toLowerCase()}`,className:"sentiment-bar sentiment-bar-track","data-sentiment-bar":"too-few"})}function xZ({value:e,label:n}){return l.jsx("div",{role:"group","aria-label":`${n} favorable share`,className:"sentiment-class-favorable",children:o1(e)?l.jsx("span",{className:"sentiment-class-share",children:e.score.favorableDisplay}):l.jsxs(l.Fragment,{children:[l.jsx("span",{"aria-hidden":"true",className:"sentiment-class-empty",title:mn.minRated,children:jd}),l.jsx("span",{className:"sr-only",children:mn.minRated})]})})}function wZ({ratedAnswers:e=0,eligibleAnswers:n=0}){return`${e} of ${n} ${n===1?"answer":"answers"} rated`}function kZ(e){const{eligibleAnswers:n}=e;return n===void 0?{display:jd,detail:mn.ratedUnavailable,empty:!0}:n<=0?{display:jd,detail:mn.noAnswers,empty:!0}:e.ratedAnswerRate===null||e.ratedAnswerRate===void 0?{display:jd,detail:mn.states.disabled,empty:!0}:{display:Bd(e.ratedAnswerRate,La.fraction),detail:wZ(e),empty:!1}}function SZ({coverage:e,label:n}){const{display:i,detail:r,empty:u}=kZ(e);return l.jsxs("div",{role:"group","aria-label":`${n} share rated`,className:"sentiment-class-ratings",children:[l.jsx("span",{"aria-hidden":"true",className:u?"sentiment-class-empty":void 0,title:r,children:i}),l.jsx("span",{className:"sr-only",children:u?r:`${i}, ${r}`})]})}function jZ({value:e}){return s1(e)?e.provisional?l.jsx("p",{className:"sentiment-class-note text-caution",children:mn.partial}):null:l.jsx("p",{className:"sentiment-class-note",children:e.state==="complete"?mn.noJudgments:mn.states[e.state]})}function AZ(e){return!!(e.coverage.selected||e.coverage.eligibleAssessments||e.reason)}function CZ({value:e,queryClass:n,open:i,setOpenClass:r}){const u=C.useId(),h=C.useId(),f=C.useRef(null),b=C.useRef(null),v=C.useCallback(()=>r(N=>N===n?null:N),[r,n]);C.useEffect(()=>{if(!i)return;const N=V=>V instanceof Node&&!!(f.current?.contains(V)||b.current?.contains(V)),I=V=>{N(V.target)||v()},P=V=>{N(V.target)||v()},E=V=>{V.key==="Escape"&&(v(),f.current?.focus())};return document.addEventListener("pointerdown",I),document.addEventListener("focusin",P),document.addEventListener("keydown",E),()=>{document.removeEventListener("pointerdown",I),document.removeEventListener("focusin",P),document.removeEventListener("keydown",E)}},[i,v]);const{coverage:w,score:k}=e,S=a4(k),T=w.judged>0&&!i1(w.judged);return AZ(e)?l.jsxs(l.Fragment,{children:[l.jsx("button",{ref:f,type:"button",className:"sentiment-class-details-toggle","aria-label":`${zi[n]} details`,"aria-expanded":i,"aria-controls":u,onClick:()=>r(N=>N===n?null:n),children:l.jsx(Cc,{className:"sentiment-class-details-chevron","aria-hidden":"true"})}),l.jsxs("div",{ref:b,id:u,role:"group","aria-labelledby":h,className:"sentiment-class-details",hidden:!i,children:[l.jsx("p",{id:h,className:"sentiment-class-details-title",children:zi[n]}),l.jsxs("dl",{className:"sentiment-details-list",children:[(w.eligibleAnswers??0)>0&&l.jsxs("div",{children:[l.jsx("dt",{children:mn.details.ratedAnswers}),l.jsxs("dd",{children:[w.ratedAnswers??0," of ",w.eligibleAnswers]})]}),T&&Fd.filter(N=>w.counts[N]>0).map(N=>l.jsxs("div",{children:[l.jsx("dt",{children:Mi(N)}),l.jsx("dd",{children:w.counts[N]})]},N)),T&&l.jsxs("div",{children:[l.jsx("dt",{children:"Favorable share"}),l.jsx("dd",{children:mn.minRated})]}),w.unadmittedAssessments>0&&l.jsxs("div",{children:[l.jsx("dt",{children:mn.details.unadmitted}),l.jsx("dd",{children:w.unadmittedAssessments})]}),Object.entries(w.counts).filter(([N,I])=>I>0&&!["favorable","mixed","unfavorable"].includes(N)).map(([N,I])=>l.jsxs("div",{children:[l.jsx("dt",{children:Mi(N)}),l.jsx("dd",{children:I})]},N)),S&&l.jsxs("div",{children:[l.jsxs("dt",{children:["95% confidence range ",l.jsx(ja,{text:k.limitation,placement:"bottom"})]}),l.jsx("dd",{children:S})]})]}),e.reason&&l.jsx("p",{className:"sentiment-class-details-reason",children:e.reason})]})]}):null}function r1(e){return!!(e?.configured&&e.overall&&e.overall.coverage.judged>0&&e.overall.score.favorableRate!==null)&&!cA()}function NZ({value:e}){if(!r1(e))return null;const n=e.overall,i=n.coverage.judged,r=a4(n.score),u=`${mn.overall} ${i} of ${n.coverage.selected} judged${r?`, 95% interval ${r}`:""}. ${n.provisional?"Provisional. ":""}${mn.states[n.state]}${n.reason?` ${n.reason}`:""}`;return l.jsx("div",{className:"project-row-stat","data-sentiment-score":!0,children:l.jsxs("div",{className:"metric-inline-block",children:[l.jsxs("div",{className:"flex items-center gap-1",children:[l.jsx("p",{className:"metric-inline-label",children:"Sentiment"}),l.jsx("span",{className:"relative z-10",children:l.jsx(ja,{text:u,placement:"bottom"})})]}),i1(i)?l.jsxs("p",{className:"metric-inline-value",children:[n.score.favorableDisplay,l.jsx("span",{className:"sr-only",children:" favorable judgments, all query classes"})]}):l.jsxs("p",{className:"metric-inline-value text-secondary",children:[mn.tooFew,l.jsxs("span",{className:"sr-only",children:[" ratings for a favorable share, ",i," of ",a1," needed, all query classes"]})]}),l.jsx("p",{className:"metric-inline-caption","aria-hidden":"true"})]})})}const Ds=C.createContext(null);function one(){return C.useContext(Ds)?.configured??!1}function rne({projectName:e,selection:n,runOptions:i=[],waitForResolvedRun:r=!1,evidenceReady:u=!0,hasSourceEvidence:h=!0,children:f}){return l.jsx(_Z,{projectName:e,selection:n,runOptions:i,waitForResolvedRun:r,evidenceReady:u,hasSourceEvidence:h,children:f})}function _Z({projectName:e,selection:n,runOptions:i,waitForResolvedRun:r,evidenceReady:u,hasSourceEvidence:h,children:f}){const b=JSON.stringify([e,n]),[v,w]=C.useState(null),k=C.useCallback(qe=>w(ke=>ke?.key===b&&ke?.runId===qe?.runId&&ke?.revision===qe?.revision?ke:qe?{...qe,key:b}:null),[b]),S=u&&(!r||v?.key===b),T=r&&S&&v?{...n,runId:v.runId,revision:v.revision}:n,N=JSON.stringify([e,T]),{settings:I,branded:P,nonBrand:E,jobs:V}=yZ(e,T,S&&h),[W,L]=C.useState(!1),[F,Z]=C.useState(null),ae=C.useRef(null);C.useEffect(()=>{L(!1),Z(null)},[N]);const M=S&&!!(I.data?.enabled&&I.data.installEnabled),ue=(n.queryClass==="non-brand"?E.data:P.data)?.selection,Ye={...T,...ue?{...ue,runId:ue.runId??void 0,runIds:ue.runId?void 0:ue.runIds,revision:ue.revision??void 0,evaluationDefinitionId:ue.evaluationDefinitionId??void 0}:{}},tt=Ye.runId&&!i.some(qe=>qe.id===Ye.runId)?[{id:Ye.runId,label:"Displayed sweep"},...i]:i,$e=qe=>{qe.preventDefault(),ae.current?.focus()};return l.jsxs(Ds.Provider,{value:{projectName:e,selection:T,resolveSource:k,settings:I,summaries:{branded:P,"non-brand":E},configured:M,hasSourceEvidence:h,openManage:qe=>{ae.current=qe,L(!0)},openEvidence:(qe,ke,Ve)=>{ae.current=Ve,Z({selection:qe,label:ke})}},children:[f,l.jsx(a0,{open:W&&!!I.data?.actions.configure,onOpenChange:L,children:l.jsxs(Kd,{onCloseAutoFocus:$e,className:"overflow-y-auto",children:[l.jsxs(i0,{children:[l.jsx(Gd,{children:"Manage sentiment"}),l.jsx(Hd,{children:"Classify saved answers and review the cost before submitting a backfill."})]}),I.data?.actions.configure&&l.jsx(LZ,{projectName:e,settings:I.data,selection:Ye,runOptions:tt},JSON.stringify([I.data.evaluationDefinitionId,I.data.enabled,I.data.enablementEpoch])),V.data&&l.jsx(OZ,{projectName:e,jobs:V.data.jobs})]})}),l.jsx(a0,{open:F!==null,onOpenChange:qe=>{qe||Z(null)},children:l.jsxs(Kd,{onCloseAutoFocus:$e,className:"overflow-y-auto",children:[l.jsxs(i0,{children:[l.jsxs(Gd,{children:["Sentiment evidence",F?`: ${F.label}`:""]}),l.jsx(Hd,{children:"Stored judgments and exact quotations for the selected query and scope."})]}),F&&l.jsx(zZ,{projectName:e,selection:F.selection},JSON.stringify(F.selection))]})})]})}function lne(e,n){const i=C.useContext(Ds)?.resolveSource;C.useEffect(()=>{i?.(e?{runId:e,revision:n??void 0}:null)},[i,e,n])}function cne(){const e=C.useContext(Ds);return e?.settings.data?.actions.configure?l.jsx(d0,{type:"button",variant:"outline",size:"sm",onClick:n=>e.openManage(n.currentTarget),children:e.settings.data.enabled?"Manage sentiment":"Enable sentiment"}):null}function s4(e,n){return!e?.configured||n==="unknown"||n==="unclassified"?null:n==="all"?bZ:[n]}function TZ({queryClass:e="all"}){const n=C.useContext(Ds),i=s4(n,e);return!n?.hasSourceEvidence||!i?.some(r=>o1(n.summaries[r].data))?null:l.jsx("ul",{className:"sentiment-legend","aria-hidden":"true",children:Fd.map(r=>l.jsxs("li",{children:[l.jsx("span",{className:`sentiment-legend-swatch ${i4[r]}`}),Mi(r)]},r))})}function une({queryClass:e="all",legend:n=!0}){const i=C.useContext(Ds),r=s4(i,e),[u,h]=C.useState(null);if(!i||!r)return null;const f=i.hasSourceEvidence&&r.some(b=>i.summaries[b].data);return l.jsxs("div",{className:"sentiment-headlines",role:"group","aria-label":"Favorable answer scores",children:[f&&l.jsxs("div",{className:"sentiment-headlines-columns","aria-hidden":"true",children:[l.jsx("span",{className:"sentiment-headlines-favorable",children:mn.columns.favorable}),l.jsx("span",{className:"sentiment-headlines-ratings",title:mn.rated,children:mn.columns.rated})]}),r.map(b=>{const v=i.summaries[b];return l.jsxs("div",{className:"sentiment-class","data-query-class":b,children:[l.jsxs("div",{className:"sentiment-class-label",children:[l.jsx("span",{children:zi[b]}),l.jsx(ja,{text:mn.favorable})]}),i.hasSourceEvidence?v.data?l.jsxs(l.Fragment,{children:[l.jsx(vZ,{value:v.data,label:zi[b]}),l.jsx(xZ,{value:v.data,label:zi[b]}),l.jsx(SZ,{coverage:v.data.coverage,label:zi[b]}),l.jsx(jZ,{value:v.data}),l.jsx(CZ,{value:v.data,queryClass:b,open:u===b,setOpenClass:h})]}):v.isError?l.jsxs("p",{role:"alert",className:"sentiment-class-status",children:["Couldn’t load sentiment. ",l.jsx(le,{variant:"ghost",onClick:()=>{v.refetch()},children:"Retry"})]}):l.jsx("p",{role:"status",className:"sentiment-class-status",children:"Loading sentiment…"}):l.jsx("p",{className:"sentiment-class-status",children:"No saved answers."})]},b)}),n&&l.jsx(TZ,{queryClass:e})]})}function dne({queryId:e,sourceSnapshotIds:n=[],queryClass:i,location:r,showLabel:u=!1}){const h=C.useContext(Ds);if(!h?.configured)return null;const f=i?h.summaries[i]:void 0,b=h.hasSourceEvidence?f?.data:void 0,v=b?.queries.filter(T=>T.queryClass===i&&(e?T.queryId===e:n.length>0)&&n.every(N=>T.sourceSnapshotIds.includes(N)))??[],w=v.length===1?v[0]:void 0,k=r===void 0?w:w?.locations.find(T=>T.location===r);if(!w||!k)return l.jsx("span",{className:"text-sm text-secondary",children:h.hasSourceEvidence&&f?.isPending&&(e||n.length)?"Loading…":"Unavailable"});const S={...h.selection,...b.selection,runId:b.selection.runId??void 0,runIds:b.selection.runId?void 0:b.selection.runIds,revision:b.selection.revision??void 0,evaluationDefinitionId:b.selection.evaluationDefinitionId??void 0,queryClass:w.queryClass,queryId:w.queryId,executionNodeKey:w.executionNodeKey??void 0,...r===void 0?{}:{location:r??"none"}};return l.jsxs(le,{type:"button",variant:"ghost",className:"h-auto min-h-11 flex-col items-start gap-0 px-1","aria-label":`View ${zi[w.queryClass]} sentiment evidence for ${w.queryText}`,onKeyDown:T=>T.stopPropagation(),onClick:T=>{T.stopPropagation(),h.openEvidence(S,w.queryText,T.currentTarget)},children:[u&&l.jsx("span",{className:"text-sm font-normal text-secondary",children:"Favorable"}),l.jsx("span",{className:"font-mono text-primary",children:k.score.favorableDisplay}),l.jsxs("span",{className:"text-sm font-normal text-secondary",children:[k.coverage.judged," judged"]}),k.provisional&&l.jsx("span",{className:"text-xs font-normal text-caution",children:"Provisional"})]})}function EZ(e){return e.outcome==="subject-not-mentioned"?"Not mentioned":e.outcome==="running"?"Classifying":e.outcome==="waiting-to-retry"?"Retrying":e.outcome?Mi(e.outcome):e.state==="not-measured"?"Not classified":e.state==="processing"?"Classifying":e.state==="failed"?"Failed":e.state==="canceled"?"Canceled":"Unavailable"}function mne({queryId:e,sourceSnapshotIds:n,queryClass:i,provider:r,model:u,location:h,showSubjects:f=!1,showLabel:b=!1}){const v=C.useContext(Ds);if(!v?.configured)return null;const w=i?v.summaries[i]:void 0,k=v.hasSourceEvidence?w?.data:void 0,S=k?.queries.filter(I=>I.queryClass===i&&(!e||I.queryId===e)&&n.length>0&&n.every(P=>I.sourceSnapshotIds.includes(P)))??[],T=S.length===1?S[0]:void 0,N=T?.assessments?.filter(I=>n.includes(I.sourceSnapshotId)&&I.provider===r&&I.location===h&&(u===void 0||I.servedModel===u))??[];return l.jsxs("div",{role:"group",className:"text-sm text-secondary","aria-label":`${r||"Saved answer"} sentiment`,children:[b&&l.jsx("span",{className:"block text-sm text-secondary",children:"Sentiment"}),N.length?N.map(I=>{const P=EZ(I),E=I.outcome==="favorable"?"positive":I.outcome==="unfavorable"?"negative":I.outcome==="mixed"?"caution":"neutral",V=l.jsxs(l.Fragment,{children:[f&&l.jsxs("span",{children:[I.subjectLabel," · "]}),l.jsx(yn,{tone:E,className:"max-w-full shrink-0 rounded-none border-0 bg-transparent p-0 text-sm font-normal tracking-normal [overflow-wrap:normal]",children:P})]}),W={...v.selection,...k.selection,runId:k.selection.runId??void 0,runIds:k.selection.runId?void 0:k.selection.runIds,revision:k.selection.revision??void 0,evaluationDefinitionId:k.selection.evaluationDefinitionId??void 0,queryClass:T.queryClass,queryId:T.queryId,executionNodeKey:T.executionNodeKey??void 0,assessmentId:I.assessmentId??void 0};return l.jsxs("div",{className:"flex items-center gap-1",children:[I.assessmentId?l.jsx(le,{type:"button",variant:"ghost",className:"h-auto min-h-11 flex-wrap justify-start whitespace-normal px-1 text-left text-sm","aria-label":`View ${I.provider} sentiment evidence for ${I.subjectLabel}: ${P}`,onKeyDown:L=>L.stopPropagation(),onClick:L=>{L.stopPropagation(),v.openEvidence(W,`${T.queryText} · ${I.provider} · ${I.subjectLabel}`,L.currentTarget)},children:V}):l.jsx("span",{children:V}),I.reason&&l.jsx(ja,{text:I.reason})]},JSON.stringify([I.sourceSnapshotId,I.subjectId,I.assessmentId]))}):l.jsx("span",{children:v.hasSourceEvidence&&w?.isPending&&n.length?"Loading…":"Unavailable"})]})}function RZ({item:e}){return l.jsxs("article",{className:"space-y-4 border-b border-default py-5 text-sm text-secondary",children:[l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx("strong",{className:"text-primary",children:e.subject.displayName}),l.jsx(yn,{tone:"neutral",children:Mi(e.outcome)}),l.jsx("span",{children:zi[e.context.queryClass]}),l.jsx("span",{children:e.context.provider}),l.jsx("span",{children:e.context.servedModel??"Source model unavailable"}),l.jsx("span",{children:e.context.location??"No location"})]}),e.reason&&l.jsx("p",{children:e.reason}),l.jsxs("section",{children:[l.jsx("h3",{className:"mb-2 text-heading",children:"Conclusion evidence"}),e.conclusion.length?e.conclusion.map(n=>l.jsx("blockquote",{className:"mb-2 border-l border-strong pl-3 text-primary",children:n.text},`${n.id}:${n.start}`)):l.jsx("p",{children:"No valid conclusion evidence is available."})]}),l.jsxs("section",{children:[l.jsx("h3",{className:"mb-2 text-heading",children:"Complaint evidence"}),e.complaint?.length?e.complaint.map(n=>l.jsx("blockquote",{className:"mb-2 border-l border-strong pl-3 text-primary",children:n.text},`${n.id}:${n.start}`)):l.jsx("p",{children:"No complaint was identified."})]}),l.jsxs("details",{children:[l.jsx("summary",{className:"cursor-pointer",children:"Original source answer"}),l.jsx("p",{className:"mt-2 whitespace-pre-wrap break-words text-primary",children:e.sourceText})]}),l.jsxs("details",{children:[l.jsx("summary",{className:"cursor-pointer",children:"Assessment provenance"}),l.jsxs("dl",{className:"mt-3 space-y-2 break-all",children:[l.jsx("dt",{children:"Query"}),l.jsx("dd",{children:e.context.queryText}),l.jsx("dt",{children:"Subject"}),l.jsxs("dd",{children:[e.subject.displayName," (",e.subject.id,")"]}),l.jsx("dt",{children:"Run"}),l.jsx("dd",{children:e.runId}),l.jsx("dt",{children:"Revision"}),l.jsx("dd",{children:e.context.revision??"Unavailable"}),l.jsx("dt",{children:"Evaluator"}),l.jsx("dd",{children:e.returnedModel??"Unavailable"}),l.jsx("dt",{children:"Evaluation definition"}),l.jsx("dd",{children:e.evaluationDefinitionId}),l.jsx("dt",{children:"Source snapshot"}),l.jsx("dd",{children:e.sourceSnapshotId}),l.jsx("dt",{children:"Source hash"}),l.jsx("dd",{children:e.sourceTextHash}),e.context.usageEdges.map((n,i)=>l.jsxs("div",{children:[l.jsx("dt",{children:"Assignment"}),l.jsxs("dd",{children:["Target ",n.targetId,"; Property ",n.propertyId??"None","; market ",n.marketId??"None","; ",n.queryClass]})]},i))]})]})]})}function zZ({projectName:e,selection:n}){const[i,r]=C.useState(),u=yt({queryKey:hc(e,"evidence",n,i),queryFn:()=>L$(e,n,i),retry:!1});return u.isPending?l.jsx("p",{role:"status",className:"mt-4 text-sm text-secondary",children:"Loading sentiment evidence…"}):u.isError?l.jsxs("p",{role:"alert",className:"mt-4 text-sm text-secondary",children:["Could not load sentiment evidence. ",l.jsx(le,{variant:"outline",onClick:()=>{u.refetch()},children:"Retry evidence"})]}):l.jsxs(l.Fragment,{children:[u.data.items.length?u.data.items.map(h=>l.jsx(RZ,{item:h},h.assessmentId)):l.jsx("p",{className:"mt-4 text-sm text-secondary",children:"No stored sentiment evidence for this query and scope."}),l.jsxs("div",{className:"mt-3 flex gap-2",children:[i&&l.jsx(le,{variant:"outline",onClick:()=>r(void 0),children:"First evidence page"}),u.data.nextCursor&&l.jsx(le,{variant:"outline",onClick:()=>r(u.data.nextCursor??void 0),children:"Next evidence page"})]})]})}function DZ({projectName:e,jobId:n}){const[i,r]=C.useState(),u=yt({queryKey:hc(e,`job:${n}`,void 0,i),queryFn:()=>K$(e,n,i),retry:!1});return u.isPending?l.jsx("p",{role:"status",children:"Loading attempts…"}):u.isError?l.jsxs("p",{role:"alert",children:["Could not load attempts. ",l.jsx(le,{variant:"outline",onClick:()=>{u.refetch()},children:"Retry attempts"})]}):l.jsxs(l.Fragment,{children:[u.data.attempts.map(h=>l.jsxs("p",{children:[h.errorCode??"Request complete","; ",h.usage.kind==="unknown"?"Usage unknown":`${h.usage.inputTokens??"Unknown"} input tokens (${h.usage.kind})`]},h.id)),l.jsxs("div",{className:"mt-2 flex gap-2",children:[i&&l.jsx(le,{variant:"outline",onClick:()=>r(void 0),children:"Newest attempts"}),u.data.nextAttemptCursor&&l.jsx(le,{variant:"outline",onClick:()=>r(u.data.nextAttemptCursor??void 0),children:"Older attempts"})]})]})}function IZ({projectName:e,job:n}){const[i,r]=C.useState(!1);return l.jsxs("details",{onToggle:u=>r(u.currentTarget.open),children:[l.jsx("summary",{children:"Job details"}),n.cancellationReason&&l.jsx("p",{children:n.cancellationReason}),Object.entries(n.counts).filter(([,u])=>u>0).map(([u,h])=>l.jsxs("p",{children:[Mi(u),": ",h]},u)),l.jsxs("p",{children:["Attempts: ",n.attemptCount]}),i&&n.attemptCount>0&&l.jsx(DZ,{projectName:e,jobId:n.id})]})}function OZ({projectName:e,jobs:n}){return l.jsxs("details",{className:"mt-6 text-sm text-secondary",children:[l.jsx("summary",{className:"cursor-pointer",children:"Recent sentiment jobs"}),n.length===0?l.jsx("p",{className:"mt-2",children:"No sentiment jobs have been submitted."}):l.jsx("div",{className:"data-table-wrapper mt-3",children:l.jsxs("table",{className:"data-table","aria-label":"Sentiment jobs",children:[l.jsx("thead",{children:l.jsxs("tr",{children:[l.jsx("th",{children:"Submitted"}),l.jsx("th",{children:"State"}),l.jsx("th",{children:"Selected"}),l.jsx("th",{children:"Details"})]})}),l.jsx("tbody",{children:n.map(i=>l.jsxs("tr",{children:[l.jsx("td",{children:fK(i.createdAt)}),l.jsx("td",{children:Mi(i.state)}),l.jsx("td",{children:i.selected}),l.jsx("td",{children:l.jsx(IZ,{projectName:e,job:i})})]},i.id))})]})})]})}const qZ={probe:"Probe sweeps","unsupported-run-kind":"Not an answer sweep","failed-run":"Failed sweep","incomplete-run":"Incomplete sweep","legacy-missing-provenance":"Saved without its frozen query and subject record","legacy-missing-language":"Saved before the answer language was recorded","excluded-branded":"Branded answers (backfill that class separately)","excluded-non-brand":"Non-brand answers (backfill that class separately)"};function PZ(e){return qZ[e]??Mi(e)}function o4(e){return[e.provider&&`engine ${e.provider}`,e.model&&`model ${e.model}`,e.location&&(e.location==="none"?"no location":`location ${e.location}`),e.scope!=="project"&&e.scopeKey&&`${e.scope} ${e.scopeKey}`,e.marketKey&&`market ${e.marketKey}`,e.queryId&&`query ${e.queryId}`,e.revision!==void 0&&`revision ${e.revision}`].filter(n=>!!n)}function MZ(e){const n=o4(e);return[`${zi[e.queryClass]} queries`,...n.length?n:["whole sweep"]].join(" · ")}function BZ(e,n,i,r){return r?{...e,queryClass:i,queryId:void 0,runIds:void 0,runId:n}:{mode:"auto",scope:"project",queryClass:i,runId:n}}function LZ({projectName:e,settings:n,selection:i,runOptions:r}){const u=la(),[h,f]=C.useState(n.enabled),[b,v]=C.useState(i.runId??""),[w,k]=C.useState(i.queryClass),[S,T]=C.useState(!1),[N,I]=C.useState(null),P=C.useRef(null),E=o4({...i,queryId:void 0}),V=()=>u.invalidateQueries({queryKey:["sentiment",e]}),W=()=>{I(null),P.current=null},L=ii({mutationFn:async()=>{if(!(await wd(e)).actions.configure)throw new Error("Administrator permission is required to configure sentiment.");return B$(e,{enabled:h})},onSuccess:async()=>{W(),await V(),await u.invalidateQueries({queryKey:["project-overview-slim"]})},onError:V}),F=ii({mutationFn:async()=>{if(!(await wd(e)).actions.backfill)throw new Error("Administrator permission is required to backfill sentiment.");return V$(e,BZ(i,b,w,S&&E.length>0))},onSuccess:M=>{I(M),P.current=crypto.randomUUID()},onError:V}),Z=ii({mutationFn:async()=>{if(!N?.previewToken||!P.current)throw new Error("Create and review a backfill preview first.");if(!(await wd(e)).actions.backfill)throw new Error("Administrator permission is required to backfill sentiment.");return U$(e,N.previewToken,P.current)},onSuccess:async()=>{W(),await V()},onError:V}),ae=L.isPending||F.isPending||Z.isPending;return l.jsxs("div",{className:"mt-5 space-y-5 text-sm text-secondary",children:[l.jsx("p",{children:n.disclosure}),!n.ready&&l.jsx("p",{children:n.readinessReasons.join("; ")||"An operator must configure sentiment on this installation."}),l.jsxs("form",{className:"space-y-3",onSubmit:M=>{M.preventDefault(),L.mutate()},children:[l.jsxs("label",{className:"flex items-center gap-2",children:[l.jsx("input",{type:"checkbox",checked:h,disabled:ae,onChange:M=>{f(M.target.checked),W()}}),"Enable project sentiment"]}),l.jsx("p",{children:"Enabling applies to future completed sweeps. Past sweeps require an explicit backfill."}),l.jsx(d0,{type:"submit",disabled:ae,children:L.isPending?"Saving…":"Save sentiment settings"}),L.isError&&l.jsx("p",{role:"alert",children:Ei(L.error)}),L.isSuccess&&l.jsx("p",{role:"status",children:"Sentiment settings saved."})]}),n.actions.backfill&&l.jsxs("section",{className:"space-y-3",children:[l.jsx("h3",{children:"Backfill a saved sweep"}),l.jsxs("label",{className:"block",children:["Saved sweep",l.jsxs("select",{className:"mt-1 block w-full rounded-md border border-default bg-bg p-2 text-primary",value:b,disabled:ae,onChange:M=>{v(M.target.value),W()},children:[l.jsx("option",{value:"",children:"Select a saved sweep"}),r.map(M=>l.jsx("option",{value:M.id,children:M.label},M.id))]})]}),l.jsxs("label",{className:"block",children:["Query class",l.jsxs("select",{className:"mt-1 block w-full rounded-md border border-default bg-bg p-2 text-primary",value:w,disabled:ae,onChange:M=>{k(M.target.value),W()},children:[l.jsx("option",{value:"non-brand",children:"Non-brand"}),l.jsx("option",{value:"branded",children:"Branded"})]})]}),l.jsx("p",{children:"The backfill covers every engine, location and query of the chosen sweep for this query class."}),E.length>0&&l.jsxs("label",{className:"flex items-start gap-2",children:[l.jsx("input",{type:"checkbox",className:"mt-1",checked:S,disabled:ae,onChange:M=>{T(M.target.checked),W()}}),l.jsxs("span",{children:["Limit to the current view",l.jsx("span",{className:"block",children:E.join(" · ")})]})]}),l.jsx(le,{variant:"outline",disabled:ae||!b||!n.enabled||!n.ready,onClick:()=>{W(),F.mutate()},children:F.isPending?"Preparing preview…":"Preview sentiment backfill"}),F.isError&&l.jsx("p",{role:"alert",children:Ei(F.error)}),N&&l.jsxs("div",{className:"space-y-3",children:[l.jsxs("dl",{className:"grid grid-cols-[1fr_auto] gap-2",children:[l.jsx("dt",{children:"Selection"}),l.jsx("dd",{className:"text-right",children:MZ(N.selection)}),l.jsx("dt",{children:"Eligible assessments"}),l.jsx("dd",{children:N.eligibleAssessments}),l.jsx("dt",{children:"Already classified"}),l.jsx("dd",{children:N.alreadyClassified}),l.jsx("dt",{children:"Estimated input tokens"}),l.jsx("dd",{children:N.estimatedInputTokens}),l.jsx("dt",{children:"Estimated cost (USD)"}),l.jsx("dd",{children:N.estimatedCostUsd??"Unavailable"})]}),l.jsx(ja,{text:N.estimateMethod}),N.eligibleAssessments===0&&l.jsx("p",{children:"No saved answers in this selection can be classified."}),N.skipped.length>0&&l.jsxs("div",{children:[l.jsx("p",{children:"Not included:"}),l.jsx("ul",{"aria-label":"Skipped assessments",className:"list-disc pl-5",children:N.skipped.map(M=>l.jsxs("li",{children:[PZ(M.reason),": ",M.count]},`${M.runId}:${M.reason}`))})]}),l.jsx(d0,{disabled:ae||!N.previewToken||N.eligibleAssessments===0,onClick:()=>Z.mutate(),children:Z.isPending?"Submitting…":"Confirm sentiment backfill"})]}),Z.isError&&l.jsxs("p",{role:"alert",children:[Ei(Z.error)," Retry uses the same request key."]}),Z.isSuccess&&l.jsx("p",{role:"status",children:"Backfill submitted. Progress is available in Recent jobs."})]})]})}const VZ=20,UZ=6;function $Z({points:e,tone:n}){const i=C.useId();if(e.length===0)return null;const r=42,u=132,h=5,f=u-h*2,b=r-h*2,v=b-UZ,w=E=>h+E/Math.max(e.length-1,1)*f,k=KU(e),S=Math.min(...e),T=Math.max(...e),N=Math.max(T-S,VZ),I=(T+S)/2-N/2,P=e.map((E,V)=>({x:w(V),y:h+(1-(E-I)/N)*v}));return l.jsxs("svg",{className:`sparkline sparkline-${n}${k?" sparkline-provisional":""}`,viewBox:`0 0 ${u} ${r}`,"aria-hidden":"true",children:[l.jsx("defs",{children:l.jsx("clipPath",{id:i,children:l.jsx("rect",{x:h,y:h,width:f,height:b,rx:"8"})})}),l.jsx("line",{className:"sparkline-guide",x1:h,x2:u-h,y1:r-h,y2:r-h}),P.length===1?l.jsx("circle",{className:"sparkline-point",cx:P[0].x,cy:P[0].y,r:"3"}):l.jsx("polyline",{clipPath:`url(#${i})`,points:P.map(E=>`${E.x},${E.y}`).join(" "),vectorEffect:"non-scaling-stroke"})]})}function KZ({project:e,sentimentColumn:n}){return l.jsxs("div",{className:`project-row relative${n?" project-row-with-sentiment":""}`,children:[l.jsx("div",{className:"project-row-chart",children:l.jsx($Z,{points:e.trend,tone:jA(e.lastRun.status)})}),l.jsxs("div",{className:"project-row-primary",children:[l.jsxs(Je,{to:"/projects/$projectName",params:{projectName:e.project.name},className:"after:absolute after:inset-0 after:rounded-xl focus-visible:outline-none focus-visible:after:ring-2 focus-visible:after:ring-mono-400",children:[l.jsx("p",{className:"project-name",children:e.project.name}),l.jsx("p",{className:"project-domain",children:e.project.canonicalDomain})]}),l.jsx("p",{className:"project-insight",children:e.insight})]}),l.jsx("div",{className:"project-row-stat",children:l.jsxs("div",{className:"metric-inline-block",children:[l.jsx("p",{className:"metric-inline-label",children:"Mentioned"}),l.jsx("p",{className:`metric-inline-value ${e.mentionTone==="caution"?"text-caution-400":""}`,children:e.hasMeasurement===!1?"Not measured":Bd(e.mentionScore,La.percent)}),l.jsx("p",{className:`metric-inline-caption${e.providerCoverage?" text-caution":""}`,title:e.providerCoverage,children:e.providerCoverage?l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"sr-only",children:"Partial sweep: "}),e.providerCoverage]}):e.mentionDelta})]})}),l.jsx("div",{className:"project-row-stat",children:l.jsxs("div",{className:"metric-inline-block",children:[l.jsxs("p",{className:"metric-inline-label",children:[l.jsx("span",{"aria-hidden":"true",children:"Pressure"}),l.jsx("span",{className:"sr-only",children:"Competitor pressure"})]}),l.jsx("p",{className:"metric-inline-value",children:e.hasMeasurement===!1?"Not measured":e.competitorPressureLabel}),l.jsx("p",{className:"metric-inline-caption","aria-hidden":"true"})]})}),r1(e.sentiment)?l.jsx(NZ,{value:e.sentiment}):n&&l.jsx("div",{className:"project-row-stat","aria-hidden":"true","data-sentiment-placeholder":!0}),l.jsx("span",{className:"project-row-link",children:l.jsx(x0,{className:"h-4 w-4 text-muted"})})]})}function GZ(){const{isAdmin:e}=ua(),n=Uc(),{dashboard:i,isLoading:r,isError:u,refetch:h}=Em(),f=i??n?.dashboard,v=Wg(!n,n?.health),{openRun:w}=e1();if(u&&!f)return l.jsxs("div",{className:"page-container",children:[l.jsx("div",{className:"page-header",children:l.jsxs("div",{className:"page-header-left",children:[l.jsx("h1",{className:"page-title",children:"Portfolio unavailable"}),l.jsx("p",{className:"page-subtitle",children:"Canonry could not load the project list."})]})}),l.jsxs("div",{className:"max-w-xl rounded-lg border border-negative bg-negative-soft p-4",role:"alert",children:[l.jsx("p",{className:"text-sm font-medium text-heading",children:"Your projects have not been changed."}),l.jsx("p",{className:"mt-1 text-sm text-secondary",children:"Check the connection or sign in again, then retry."}),l.jsx(le,{type:"button",variant:"secondary",className:"mt-4",onClick:()=>{h()},children:"Retry loading portfolio"})]})]});if(!f||r)return l.jsxs("div",{className:"page-skeleton",children:[l.jsxs("div",{className:"page-skeleton-header",children:[l.jsx("div",{className:"skeleton-text h-6 w-32"}),l.jsx("div",{className:"skeleton-text-sm w-64"})]}),l.jsx("div",{className:"space-y-3",children:[1,2,3].map(E=>l.jsxs("div",{className:"rounded-xl border border-default bg-surface p-4 flex items-center gap-4",children:[l.jsxs("div",{className:"flex-1 space-y-2",children:[l.jsx("div",{className:"skeleton-text w-36"}),l.jsx("div",{className:"skeleton-text-sm w-48"})]}),l.jsx("div",{className:"skeleton-text w-16"}),l.jsx("div",{className:"skeleton-text w-16"}),l.jsx("div",{className:"skeleton h-8 w-20 rounded"})]},E))})]});const k=f.portfolioOverview,S=k.projects.length>0&&k.projects.every(E=>E.hasMeasurement===!1),T=k.projects.some(E=>r1(E.sentiment)),N=k.attentionItems.map(E=>S&&E.id==="attention_stable"?{...E,tone:"neutral",title:"Awaiting first measurement",detail:"Visibility results will appear after the first sweep."}:E),I=v.data??n?.health??{apiStatus:{label:"API",state:"checking",detail:"Checking service health"},workerStatus:{label:"Worker",state:"checking",detail:"Checking service health"}},P=cH(k.systemHealth.filter(E=>e||E.id==="api"||E.id==="worker"),I,f.settings);return l.jsxs("div",{className:"page-container",children:[l.jsx("div",{className:"page-header",children:l.jsxs("div",{className:"page-header-left",children:[l.jsx("h1",{className:"page-title",children:"Portfolio"}),l.jsx("p",{className:"page-subtitle",children:"Visibility across all projects."})]})}),k.projects.length>0?l.jsx("div",{className:"project-list project-list-scrollable",children:k.projects.map(E=>l.jsx(KZ,{project:E,sentimentColumn:T},E.project.id))}):l.jsxs(Aa,{className:"surface-card empty-card",children:[l.jsx("h3",{children:k.emptyState?.title??"No projects yet"}),l.jsx("p",{className:"supporting-copy",children:k.emptyState?.detail}),l.jsx(le,{size:"sm",asChild:!0,children:l.jsx(Je,{to:k.emptyState?.ctaHref==="/setup"||!k.emptyState?.ctaHref?"/setup":"/",children:k.emptyState?.ctaLabel??"Launch setup"})})]}),l.jsxs("div",{className:"overview-secondary-grid",children:[N.length>0&&l.jsxs("section",{className:"overview-secondary-section",children:[l.jsx("div",{className:"section-head section-head-inline",children:l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Needs attention"}),l.jsx("h2",{className:"section-title-sm",children:"What changed"})]})}),l.jsx("div",{className:"attention-list attention-list-scrollable",children:N.map(E=>E.href?l.jsxs(Je,{to:E.href,className:`attention-item attention-item-${E.tone}`,children:[l.jsxs("div",{children:[l.jsx("p",{className:"attention-title",children:E.title}),l.jsx("p",{className:"attention-detail",children:E.detail})]}),E.actionLabel&&l.jsx("span",{className:"attention-action",children:E.actionLabel})]},E.id):l.jsxs("div",{className:`attention-item attention-item-static attention-item-${E.tone}`,children:[l.jsxs("div",{children:[l.jsx("p",{className:"attention-title",children:E.title}),l.jsx("p",{className:"attention-detail",children:E.detail})]}),E.actionLabel&&l.jsx("span",{className:"attention-action",children:E.actionLabel})]},E.id))})]}),l.jsxs("section",{className:"overview-secondary-section",children:[l.jsx("div",{className:"section-head section-head-inline",children:l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Recent runs"}),l.jsx("h2",{className:"section-title-sm",children:"Activity"})]})}),l.jsx("div",{className:"compact-stack compact-stack-scrollable",children:k.recentRuns.length>0?k.recentRuns.map(E=>l.jsxs("button",{className:"compact-run",type:"button",onClick:()=>w(E.id),children:[l.jsxs("div",{children:[l.jsx("p",{className:"compact-run-title",children:E.projectName}),l.jsx("p",{className:"compact-run-detail",children:E.summary})]}),l.jsx(Jg,{status:E.status})]},E.id)):l.jsx("p",{className:"supporting-copy",children:"Run history appears here after the first launch."})})]})]}),l.jsxs("section",{className:"page-section",children:[l.jsx("div",{className:"section-head section-head-inline",children:l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"System health"}),l.jsx("h2",{className:"section-title-sm",children:"Infrastructure"})]})}),l.jsx("div",{className:"divide-y divide-default border-y border-default",children:P.map(E=>{const V=E.id==="api"?I.apiStatus:E.id==="worker"?I.workerStatus:void 0,W=V?V.state==="ok"?void 0:Pr(V):E.tone==="positive"?void 0:E.meta;return l.jsxs("div",{className:"flex items-start justify-between gap-4 py-3",children:[l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-medium text-heading",children:E.label}),W&&l.jsx("p",{className:"mt-1 text-sm text-secondary",children:W})]}),l.jsx(yn,{tone:E.tone,title:V?Pr(V):E.meta,children:E.detail})]},E.id)})})]})]})}const HZ='a, button, input, select, textarea, label, [role="button"], [role="link"], [role="checkbox"], [role="menuitem"]';function QZ(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(HZ))return!1;const i=typeof window<"u"?window.getSelection():null;return!(i&&!i.isCollapsed&&i.toString().trim()!=="")}function FZ({onApplied:e}){const{canWrite:n}=ua(),[i,r]=C.useState(""),[u,h]=C.useState(!1),[f,b]=C.useState([]),[v,w]=C.useState([]);if(cA()||!n)return null;const k=async()=>{if(!i.trim())return;h(!0),b([]),w([]);const S=WN(i),T=[],N=[];for(let I=0;I<S.length;I++){const P=S[I];if(P.errors.length>0){T.push(`Document ${I+1}: ${P.errors[0]?.message}`);continue}const E=P.toJSON();if(!(!E||typeof E!="object"))try{const V=await N$(E);N.push(`Applied "${V.displayName||V.name}" (revision ${V.configRevision})`)}catch(V){T.push(`Document ${I+1}: ${Ei(V)}`)}}b(N),w(T),h(!1),N.length>0&&(vn({title:"YAML applied",detail:`Applied ${N.length} document${N.length===1?"":"s"} successfully.`,tone:T.length>0?"caution":"positive",dedupeKey:"yaml:apply",dedupeMode:"replace"}),e())};return l.jsxs("section",{className:"mt-8",children:[l.jsx("div",{className:"page-section-divider"}),l.jsx("div",{className:"section-head mt-6",children:l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Config as code"}),l.jsx("h2",{className:"text-sm font-medium text-strong",children:"Apply YAML"})]})}),l.jsxs("p",{className:"text-muted text-sm mb-3",children:["Paste a ",l.jsx("code",{className:"text-secondary",children:"canonry.yaml"})," config (multi-document YAML with ",l.jsx("code",{className:"text-secondary",children:"---"})," separators supported)."]}),l.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:S=>r(S.target.value)}),f.length>0&&l.jsx("ul",{className:"mt-2 space-y-1",children:f.map((S,T)=>l.jsx("li",{className:"text-positive-400 text-sm",children:S},T))}),v.length>0&&l.jsx("ul",{className:"mt-2 space-y-1",children:v.map((S,T)=>l.jsx("li",{className:"text-negative-400 text-sm",children:S},T))}),l.jsx("div",{className:"mt-3",children:l.jsx(le,{type:"button",disabled:!i.trim()||u,onClick:dn(k),children:u?"Applying...":"Apply"})})]})}function ZZ(){const{dashboard:e,isLoading:n,refetch:i}=Em(),{canWrite:r,isAdmin:u}=ua(),h=js();if(!e||n)return l.jsxs("div",{className:"page-skeleton",children:[l.jsxs("div",{className:"page-skeleton-header",children:[l.jsx("div",{className:"skeleton-text h-6 w-28"}),l.jsx("div",{className:"skeleton-text-sm w-40"})]}),l.jsxs("div",{className:"rounded-xl border border-default bg-surface overflow-hidden",children:[l.jsx("div",{className:"p-3 border-b border-default flex gap-8",children:["Name","Domain","Mentions","Last run","Country"].map(b=>l.jsx("div",{className:"skeleton-text-sm w-16"},b))}),[1,2,3].map(b=>l.jsxs("div",{className:"p-3 border-b border-subtle flex gap-8 items-center",children:[l.jsxs("div",{className:"flex-1 space-y-1",children:[l.jsx("div",{className:"skeleton-text w-28"}),l.jsx("div",{className:"skeleton-text-sm w-16"})]}),l.jsx("div",{className:"skeleton-text w-24"}),l.jsx("div",{className:"skeleton h-5 w-14 rounded-full"}),l.jsx("div",{className:"skeleton h-5 w-16 rounded-full"}),l.jsx("div",{className:"skeleton-text-sm w-8"})]},b))]})]});const f=e.projects;return l.jsxs("div",{className:"page-container",children:[l.jsxs("div",{className:"page-header",children:[l.jsxs("div",{className:"page-header-left",children:[l.jsx("h1",{className:"page-title",children:"Projects"}),l.jsxs("p",{className:"page-subtitle",children:[f.length," project",f.length!==1?"s":""," tracked"]})]}),u?l.jsx("div",{className:"page-header-right",children:l.jsxs(le,{type:"button",onClick:()=>{h({to:"/setup",search:{experience:"platform"}})},children:[l.jsx(Af,{className:"size-4 mr-1.5"}),f.length===0?"Map a site":"Add project"]})}):null]}),f.length>0?l.jsx("div",{className:"data-table-wrapper",children:l.jsxs("table",{className:"data-table",children:[l.jsx("thead",{children:l.jsxs("tr",{children:[l.jsx("th",{children:"Name"}),l.jsx("th",{children:"Domain"}),l.jsx("th",{children:"Mentions"}),l.jsx("th",{children:"Last run"}),l.jsx("th",{className:"text-right",children:"Country"})]})}),l.jsx("tbody",{children:f.map(b=>{const v=b.recentRuns[0];return l.jsxs("tr",{className:"cursor-pointer",onClick:w=>{QZ(w)&&h({to:"/projects/$projectName",params:{projectName:b.project.name}})},children:[l.jsxs("td",{children:[l.jsx(Je,{to:"/projects/$projectName",params:{projectName:b.project.name},className:"text-heading font-medium hover:underline",children:b.project.displayName||b.project.name}),l.jsx("p",{className:"text-[11px] text-muted",children:b.project.name})]}),l.jsx("td",{className:"text-secondary",children:b.project.canonicalDomain}),l.jsx("td",{children:l.jsx(yn,{tone:b.mentionSummary.tone,children:b.mentionSummary.value})}),l.jsx("td",{className:"text-muted text-sm",children:v?l.jsx(Jg,{status:v.status}):l.jsx("span",{className:"text-faint",children:"No runs"})}),l.jsx("td",{className:"text-right text-muted",children:b.project.country})]},b.project.id)})})]})}):l.jsxs(Aa,{className:"surface-card empty-card",children:[l.jsx("h3",{children:"No projects yet"}),l.jsx("p",{className:"supporting-copy",children:"Map a public site to capture its Page Health baseline and exact fixes."}),u?l.jsxs(le,{type:"button",onClick:()=>{h({to:"/setup",search:{experience:"platform"}})},children:[l.jsx(Af,{className:"size-4 mr-1.5"}),"Map a site"]}):null]}),r?l.jsx(FZ,{onApplied:()=>{i()}}):null]})}const yk="canonry.onboarding-session.v1",Zd="canonry.onboarding-launched-run.v1",l1="canonry.onboarding-handoff.v1",YZ=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,XZ=["system","project","queries","competitors","run"];function JZ(e){return XZ[e]??"system"}function WZ(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 eY(e){return e.apiStatus.state!=="checking"&&e.workerStatus.state!=="checking"}const tY={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 fc(e,n){const i=e&&typeof e=="object"&&"code"in e?String(e.code):"";return tY[i]??n}function c1(){try{const e=typeof window<"u"?window.sessionStorage.getItem(yk):null;if(e&&YZ.test(e))return e;const n=m0();return typeof window<"u"&&window.sessionStorage.setItem(yk,n),n}catch{return m0()}}function u1(){return m0()}function r4(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 l4(e,n){try{typeof window<"u"&&window.sessionStorage.setItem(Zd,JSON.stringify({projectName:e,runId:n,handled:!1}))}catch{}}function c4(e){if(!e)return null;try{if(typeof window>"u")return null;const n=window.sessionStorage.getItem(Zd);if(!n)return null;const i=JSON.parse(n);return!r4(i)||i.projectName!==e||i.handled?null:i}catch{return null}}function Yd(e){try{if(typeof window>"u")return;const n=window.sessionStorage.getItem(Zd);if(!n)return;const i=JSON.parse(n);if(!r4(i)||i.runId!==e)return;window.sessionStorage.setItem(Zd,JSON.stringify({...i,handled:!0}))}catch{}}function nY(e){try{typeof window<"u"&&window.sessionStorage.setItem(l1,e)}catch{}}function aY(e){if(!e)return!1;try{return typeof window<"u"&&window.sessionStorage.getItem(l1)===e}catch{return!1}}function iY(){try{typeof window<"u"&&window.sessionStorage.removeItem(l1)}catch{}}function m0(){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 sY extends Error{constructor(){super(bA),this.name="ViewOnlyError"}}function oY(e){if(!e.canWrite)throw new sY}function u4(e){e.invalidateQueries({queryKey:Qg({client:te})}),e.invalidateQueries({queryKey:Ss({client:te})})}function Yr(){const e=ua();return()=>{oY(e)}}function rY(e){return e==="gsc-sync"?"GSC sync queued":e==="inspect-sitemap"?"Sitemap inspection queued":"Visibility sweep queued"}function lY(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 d1(e,n){Zg({id:e.id,projectId:e.projectId,kind:e.kind,projectLabel:n.projectLabel,sourceAction:n.sourceAction,lastAnnouncedStatus:"queued"}),vn({title:rY(e.kind),detail:lY(n.projectLabel,e.kind),tone:"neutral",dedupeKey:`run:${e.id}`,dedupeMode:"replace"})}function cY(e){const n=e.filter(f=>f.status!=="conflict"&&f.status!=="error"),i=e.filter(f=>f.status==="conflict"),r=e.filter(f=>f.status==="error"),u=i.length+r.length;if(n.length===0){const f=[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);vn({title:"No runs queued",detail:f.length>0?`${f.join("; ")}.`:"No projects were available to queue.",tone:"caution",durationMs:8e3,dedupeKey:"run-all:conflict",dedupeMode:"replace"});return}for(const f of n)Zg({id:f.id,projectId:f.projectId,kind:f.kind,projectLabel:f.projectName,sourceAction:"run-all",lastAnnouncedStatus:"queued"});const h=gH({runIds:n.map(f=>f.id),queuedCount:n.length,skippedCount:u});vn({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 Im(e,n){if(e instanceof _n&&e.code==="RUN_IN_PROGRESS"){vn({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}vn({title:e instanceof Error?e.message:"Failed to queue run",tone:"negative"})}function uY(){const e=Yr(),n=la();return ii({onMutate:e,meta:{skipGlobalErrorToast:!0},mutationFn:({projectName:i,opts:r})=>x$(i,r),onSuccess:(i,r)=>{u4(n),d1(i,{projectLabel:r.projectLabel??r.projectName,sourceAction:r.sourceAction})},onError:(i,r)=>{r.sourceAction!=="setup-launch"&&Im(i,{projectKey:r.projectName,projectLabel:r.projectLabel??r.projectName,sourceAction:r.sourceAction})}})}function pne(){const e=Yr(),n=la();return ii({onMutate:e,meta:{skipGlobalErrorToast:!0},mutationFn:i=>_$(i),onSuccess:i=>{u4(n),cY(i)},onError:i=>{vn({title:i instanceof Error?i.message:"Failed to queue runs",tone:"negative"})}})}function dY(){const e=Yr(),n=la();return ii({onMutate:e,meta:{skipGlobalErrorToast:!0},mutationFn:({projectName:i,body:r})=>R$(i,r),onSuccess:(i,r)=>{jc(n,Re["site-audit"],r.projectName),Zg({id:i.runId,projectId:r.projectId,kind:Re["site-audit"],projectLabel:r.projectLabel??r.projectName,sourceAction:"site-audit",lastAnnouncedStatus:i.status}),vn({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||Im(i,{projectKey:r.projectName,projectLabel:r.projectLabel??r.projectName,sourceAction:"site-audit"})}})}function hne(){const e=Yr(),n=la();return ii({onMutate:e,meta:{skipGlobalErrorToast:!0},mutationFn:({projectName:i,opts:r})=>T$(i,r),onSuccess:(i,r)=>{jc(n,Re["gsc-sync"],r.projectName),d1(i,{projectLabel:r.projectLabel??r.projectName,sourceAction:"gsc-sync"})},onError:(i,r)=>{Im(i,{projectKey:r.projectName,projectLabel:r.projectLabel??r.projectName,sourceAction:"gsc-sync"})}})}function fne(){const e=Yr(),n=la();return ii({onMutate:e,meta:{skipGlobalErrorToast:!0},mutationFn:({projectName:i,opts:r})=>E$(i,r),onSuccess:(i,r)=>{jc(n,Re["inspect-sitemap"],r.projectName),d1(i,{projectLabel:r.projectLabel??r.projectName,sourceAction:"inspect-sitemap"})},onError:(i,r)=>{Im(i,{projectKey:r.projectName,projectLabel:r.projectLabel??r.projectName,sourceAction:"inspect-sitemap"})}})}function d4(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 gne(){const e=Yr(),n=la();return ii({onMutate:e,mutationFn:({projectName:i,queries:r})=>b$(i,r),onSuccess:()=>{n.invalidateQueries({queryKey:Ss({client:te})}),n.invalidateQueries({predicate:d4})}})}const bk=[{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}],mY={skipped:"Skipped",pending:"In progress",incomplete:"Didn’t finish",unknown:null};function ko({current:e,outcomes:n={}}){const i=bk.findIndex(r=>r.id===e);return l.jsx("ol",{"aria-label":"Onboarding progress",className:"grid border-y border-default sm:grid-cols-4 sm:divide-x sm:divide-default",children:bk.map((r,u)=>{const h=u<i?n[r.id]:void 0,f=u<i&&h===void 0,b=u===i,v=h?mY[h]:null;return l.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:[l.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":f?"border-positive bg-positive-soft text-positive":"border-default bg-surface-subtle text-muted"}`,children:f?"✓":h==="skipped"||h==="incomplete"?"–":u+1}),l.jsxs("span",{className:"flex min-w-0 flex-wrap items-baseline gap-x-2",children:[l.jsx("span",{className:`text-sm font-medium ${b||f?"text-heading":"text-secondary"}`,children:r.label}),v?l.jsx("span",{className:"text-[13px] text-secondary",children:v}):r.optional&&!h?l.jsx("span",{className:"text-[13px] text-secondary",children:"Optional"}):null,f?l.jsx("span",{className:"sr-only",children:"Complete"}):null]})]},r.id)})})}function pY(){return[{id:"search-console",icon:b0,label:"Search Console",detail:"Compare answer engines with the queries you already rank for.",action:"Connect",to:"/projects/$projectName/search-console"},{id:"analytics",icon:Pk,label:"Google Analytics",detail:"See the traffic answer engines actually send you.",action:"Connect",to:"/projects/$projectName/activity"},{id:"schedule",icon:Mk,label:"Scheduled sweeps",detail:"Re-measure on a schedule instead of by hand.",action:"Set up",to:"/projects/$projectName/settings"},{id:"notifications",icon:Cf,label:"Notifications",detail:"Send a webhook when a sweep finishes or a score moves.",action:"Set up",to:"/projects/$projectName/settings"},{id:"local",icon:Bk,label:"Local presence",detail:"Track the Google Business Profile behind local answers.",action:"Open",to:"/projects/$projectName/local"},{id:"agent",icon:ZN,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 hY({projectName:e}){const n=pY();return l.jsxs("section",{"aria-labelledby":"next-steps-heading",className:"mt-6 border-t border-default pt-5",children:[l.jsx("h2",{id:"next-steps-heading",className:"text-sm font-medium text-heading",children:"What else this project can do"}),l.jsx("ul",{className:"mt-3 divide-y divide-default",children:n.map(({id:i,icon:r,label:u,detail:h,action:f,to:b,href:v})=>l.jsxs("li",{className:"flex flex-wrap items-center gap-x-4 gap-y-1 py-3",children:[l.jsx(r,{className:"size-4 shrink-0 text-muted","aria-hidden":"true"}),l.jsx("span",{className:"min-w-36 text-sm font-medium text-heading",children:u}),l.jsx("span",{className:"min-w-0 flex-1 text-sm text-secondary",children:h}),b?l.jsxs(Je,{to:b,params:{projectName:e},className:"text-sm font-medium text-link underline-offset-4 hover:underline",children:[f,l.jsxs("span",{className:"sr-only",children:[" ",u]})]}):l.jsxs("a",{href:v,target:"_blank",rel:"noreferrer",className:"text-sm font-medium text-link underline-offset-4 hover:underline",children:[f,l.jsxs("span",{className:"sr-only",children:[" ",u]})]})]},i))})]})}function fY({providerName:e,keyUrl:n,modelHint:i,compact:r=!1,leadingField:u,secondaryActions:h,onSaved:f}){const b=e.toLowerCase()==="local",v=r&&e.toLowerCase()==="gemini"&&!!n,[w,k]=C.useState(""),[S,T]=C.useState(""),[N,I]=C.useState(""),[P,E]=C.useState(""),[V,W]=C.useState(""),[L,F]=C.useState(""),[Z,ae]=C.useState(!1),[M,Y]=C.useState(null),[ue,Ye]=C.useState(!1),tt=b?S.trim().length>0:w.trim().length>0;async function $e(){if(tt){ae(!0),Y(null),Ye(!1);try{const J=re=>{const H=parseInt(re.trim(),10);return Number.isFinite(H)&&H>0?H:void 0},Ne={},Pe=J(P);Pe!==void 0&&(Ne.maxConcurrency=Pe);const xe=J(V);xe!==void 0&&(Ne.maxRequestsPerMinute=xe);const ce=J(L);ce!==void 0&&(Ne.maxRequestsPerDay=ce),await fA(e.toLowerCase(),{...w.trim()?{apiKey:w.trim()}:{},...S.trim()?{baseUrl:S.trim()}:{},...N.trim()?{model:N.trim()}:{},...Object.keys(Ne).length>0?{quota:Ne}:{}}),k(""),T(""),I(""),E(""),W(""),F(""),Ye(!0),vn({title:"Provider updated",detail:`${e} configuration saved.`,tone:"positive",dedupeKey:`settings:provider:${e}`,dedupeMode:"replace"}),f()}catch(J){Y(J instanceof Error?J.message:"Failed to update provider")}finally{ae(!1)}}}const qe=i??"Use default model",ke=r?"block text-sm font-medium text-secondary":"text-sm text-secondary",Ve=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",q=l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:r?"space-y-1.5":void 0,children:[l.jsx("label",{className:ke,htmlFor:`model-${e}`,children:"Model (optional)"}),l.jsx("input",{id:`model-${e}`,type:"text",className:Ve,placeholder:qe,value:N,onChange:J=>I(J.target.value)})]}),l.jsxs("div",{children:[l.jsx("label",{className:ke,children:"Quota (optional)"}),l.jsxs("div",{className:"mt-0.5 grid grid-cols-3 gap-1.5",children:[l.jsxs("div",{children:[l.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:P,onChange:J=>E(J.target.value)}),l.jsx("p",{className:"mt-1 text-sm text-secondary",children:"Max concurrent"})]}),l.jsxs("div",{children:[l.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:V,onChange:J=>W(J.target.value)}),l.jsx("p",{className:"mt-1 text-sm text-secondary",children:"Per minute"})]}),l.jsxs("div",{children:[l.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:J=>F(J.target.value)}),l.jsx("p",{className:"mt-1 text-sm text-secondary",children:"Per day"})]})]})]})]}),X=b?l.jsxs("div",{className:r?"space-y-1.5":void 0,children:[l.jsx("label",{className:ke,htmlFor:`base-url-${e}`,children:"Base URL"}),l.jsx("input",{id:`base-url-${e}`,type:"text",className:Ve,placeholder:"http://localhost:11434/v1",value:S,onChange:J=>T(J.target.value)}),l.jsx("p",{className:"mt-1 text-sm text-secondary",children:"Use any OpenAI-compatible endpoint, such as Ollama or vLLM."})]}):null,be=l.jsxs("div",{className:r?"min-w-0 space-y-1.5":void 0,children:[l.jsxs("div",{className:r?"flex items-center justify-between gap-3":"flex items-center justify-between",children:[l.jsxs("label",{className:ke,htmlFor:`api-key-${e}`,children:["API key",b?" (optional)":""]}),n&&!v&&l.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 ","↗"]})]}),l.jsx("input",{id:`api-key-${e}`,type:"password",autoComplete:"new-password",autoCapitalize:"none",spellCheck:!1,className:Ve,placeholder:b?"Optional. Most local servers do not need one.":`Enter ${e} API key`,value:w,onChange:J=>k(J.target.value)})]}),Se=l.jsx(le,{type:"button",size:r?"default":"sm",className:r?"min-h-11":void 0,disabled:!tt||Z,onClick:dn($e),children:Z?"Saving...":r?"Save connection":"Save"});return l.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&&l.jsxs("div",{className:"flex flex-wrap items-start gap-x-6 gap-y-3 pb-2",children:[l.jsxs("div",{className:"min-w-0 flex-1 basis-72 space-y-1",children:[l.jsx("h3",{className:"text-base font-semibold text-heading",children:"Start with Gemini’s free tier"}),l.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."," ",l.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"})]})]}),l.jsx(le,{variant:"outline",className:"min-h-11",asChild:!0,children:l.jsxs("a",{href:n,target:"_blank",rel:"noopener noreferrer",children:["Get a free Gemini API key ","↗"]})})]}),r?l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:u?"grid items-start gap-3 sm:grid-cols-[minmax(0,0.7fr)_minmax(0,1.3fr)]":void 0,children:[u,be]}),X]}):l.jsxs(l.Fragment,{children:[X,be]}),r?l.jsxs("details",{children:[l.jsx("summary",{className:"min-h-11 cursor-pointer text-sm text-secondary py-3",children:"Advanced provider settings"}),l.jsx("div",{className:"space-y-3 pt-2",children:q})]}):q,M&&l.jsx("p",{role:"alert",className:"text-sm text-negative-400",children:M}),ue&&l.jsx("p",{className:"text-sm text-positive-400",children:"Provider updated."}),r?l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[Se,h]}):Se]})}const Xd="cdp:chatgpt";function go(e){return e.trim().toLowerCase()}function gY({projectProviders:e,configuredApiProviders:n,cdpConfigured:i}){const r=e.map(go),u=new Set(r),h=r.length===0||r.some(w=>w!==Xd),f=r.length===0||u.has(Xd);if(h&&n!==void 0&&n.map(go).some(k=>r.length===0||u.has(k))||f&&i===!0)return!0;if(!(h&&n===void 0||f&&i===void 0))return!1}const yY=[{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"}],bY=[{label:"Queries"},{label:"First sweep"}];function vk(e,n){return(e==="completed"||e==="partial")&&n>0}function xk(e){return e.launchReady?e.hasProject?e.queryCount===0?2:e.competitorCount===0&&!e.hasRunAttempt?3:4:1:0}function m4(e){return e.queryCounts.total>0}function vY(e,n){return n?e.find(i=>i.project.name===n)??null:e.find(i=>!m4(i))??e.at(0)??null}function xY({current:e,labels:n}){return l.jsx("div",{className:"setup-steps",role:"list","aria-label":"Setup progress",children:n.map((i,r)=>{const u=r<e,h=r===e;return l.jsxs("div",{className:`setup-step ${u?"setup-step-done":""} ${h?"setup-step-active":""}`,role:"listitem","aria-current":h?"step":void 0,children:[l.jsx("span",{className:"setup-step-number",children:u?"✓":r+1}),l.jsx("span",{children:i.label})]},i.label)})})}function wY({visibilityProjectName:e,siteHealthOnboarding:n=!1,onboardingFinish:i=n}={}){const{canWrite:r}=ua();return e&&r?l.jsx(wk,{visibilityProjectName:e,siteHealthOnboarding:n,onboardingFinish:i}):l.jsx(n1,{title:e?"Set up AI Visibility":"Setup",children:l.jsx(wk,{visibilityProjectName:e,siteHealthOnboarding:n,onboardingFinish:i})})}function wk({visibilityProjectName:e,siteHealthOnboarding:n,onboardingFinish:i}){const r=Uc(),{isAdmin:u}=ua(),{dashboard:h,isLoading:f,refetch:b}=Em(void 0,{pauseProjectPolling:!0,includeSettings:u}),v=h??r?.dashboard,w=js(),k=C.useCallback(T=>{T&&e&&T.focus()},[e]),S=()=>{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||f?l.jsxs("div",{className:"page-skeleton",children:[l.jsxs("div",{className:"page-skeleton-header",children:[l.jsx("div",{className:"skeleton-text h-6 w-24"}),l.jsx("div",{className:"skeleton-text-sm w-80"})]}),l.jsxs("div",{className:"page-skeleton-card",children:[l.jsx("div",{className:"skeleton-text w-32"}),l.jsx("div",{className:"space-y-3 mt-3",children:[1,2,3].map(T=>l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{className:"space-y-1 flex-1",children:[l.jsx("div",{className:"skeleton-text w-24"}),l.jsx("div",{className:"skeleton-text-sm w-48"})]}),l.jsx("div",{className:"skeleton h-6 w-16 rounded-full"})]},T))})]})]}):e&&!v.projects.some(T=>T.project.name===e)?l.jsxs("div",{className:"page-container",children:[n?l.jsx(ko,{current:"visibility"}):null,l.jsxs("div",{className:"page-header",children:[l.jsxs("div",{className:"page-header-left",children:[l.jsx("h1",{ref:k,tabIndex:-1,className:"page-title",children:"Set up AI Visibility"}),l.jsx("p",{className:"page-subtitle",children:"Choose what to track, then run your first visibility sweep."})]}),n?l.jsx("div",{className:"page-header-right",children:l.jsx(le,{type:"button",variant:"outline",onClick:S,children:"Skip AI Visibility"})}):null]}),l.jsxs(Aa,{role:"alert",className:"compact-stack",children:[l.jsx("h2",{children:"Project not found"}),l.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."}),l.jsxs("div",{className:"flex flex-wrap gap-2",children:[l.jsx(le,{type:"button",variant:"outline",onClick:()=>{b()},children:"Retry"}),l.jsx(le,{type:"button",asChild:!0,children:l.jsx(Je,{to:"/projects",children:"View projects"})})]})]})]}):l.jsx(kY,{dashboard:v,initialHealth:r?.health,enableLiveStatus:!r,refetch:b,visibilityProjectName:e,visibilityHeadingRef:k,siteHealthOnboarding:n,onboardingFinish:i})}function kY({dashboard:e,initialHealth:n,enableLiveStatus:i,refetch:r,visibilityProjectName:u,visibilityHeadingRef:h,siteHealthOnboarding:f,onboardingFinish:b}){const v=e.settings,{isAdmin:w}=ua(),S=Wg(i,n).data??n??{apiStatus:{label:"API",state:"checking",detail:"Checking service health"},workerStatus:{label:"Worker",state:"checking",detail:"Checking service health"}},T=dH(e.setup,S,v),N=!!u,I=js(),P=la(),E=C.useRef(c1()).current,V=C.useRef(new Set),W=C.useCallback((K,Qe)=>{if(Qe){if(V.current.has(Qe))return;V.current.add(Qe)}Kg({surface:"wizard",...K,eventId:u1()})},[]),L=vY(e.projects,u),F=L?e.runs.filter(K=>K.projectId===L.project.id).sort((K,Qe)=>Qe.createdAt.localeCompare(K.createdAt)):[],Z=L?.queryCounts.total??0,ae=L?.project.name,M=yt({queryKey:["setup","resume-queries",ae],queryFn:()=>ae?mA(ae):Promise.resolve([]),enabled:!!ae}),Y=M.data??[],ue=M.data?.length??Z,Ye=L?.competitors.map(K=>K.domain)??[],tt=F.at(0)??null,$e=!!L&&m4(L),qe=!!L&&M.isPending,ke=N?2:xk({launchReady:T.launchState.enabled,hasProject:!!L,queryCount:ue,competitorCount:Ye.length,hasRunAttempt:F.length>0||$e}),Ve=xk({launchReady:!0,hasProject:!!L,queryCount:ue,competitorCount:Ye.length,hasRunAttempt:F.length>0||$e}),[q,X]=C.useState(ke),[be,Se]=C.useState(!qe),J=N&&(qe||!be),[Ne,Pe]=C.useState(L?.project.name??""),[xe,ce]=C.useState(L?.project.displayName??""),[re,H]=C.useState(L?.project.canonicalDomain??""),[pe,De]=C.useState(L?.project.country??"US"),[je,it]=C.useState(L?.project.language??"en"),[Ue,St]=C.useState(L?.project.autoExtractBacklinks??!1),[Ge,me]=C.useState(L?.project.name??null),[nt,zt]=C.useState(null),[In,$t]=C.useState(!1),Me=()=>{if(!Ge){I({to:"/",replace:!!u});return}I({to:f?"/projects/$projectName/technical-aeo":"/projects/$projectName",params:{projectName:Ge},replace:!!u})},ct=(K=!1)=>{if(!b||!Ge){Me();return}I({to:"/setup",search:{onboarding:"complete",setupProject:Ge,...K?{skipped:"visibility"}:{}},replace:!0})},Kt=()=>ct(!0),[Gt,Tn]=C.useState(Y.map(K=>K.query).join(`
73
+ `)),[Bt,ri]=C.useState(ue>0),[Is,Vn]=C.useState(null),[li,Os]=C.useState(!1),[Li,Vi]=C.useState(!1),qs=v.providerStatuses.filter(K=>K.state==="ready"),hn=L?.project.providers.map(go)??[],jt=qs.filter(K=>hn.length===0||hn.includes(go(K.name))),fn=qs.map(K=>go(K.name)),wn=jt.length>0,Ps=hn.length===0||hn.includes(Xd),da=N&&!w,oe=yt({...TK({client:te,path:{name:ae??""}}),enabled:da&&!!ae,staleTime:0,refetchOnMount:"always",refetchOnWindowFocus:"always",retry:!1}),Ie=oe.data?.answerVisibilityProviderReady,Ze=da&&(oe.isError||oe.isSuccess&&typeof Ie!="boolean"),Ht=yt({...eG({client:te}),enabled:!da&&Ps&&!wn,staleTime:6e4,retry:!1}),st=Ps?Ht.isSuccess?typeof Ht.data.browserVersion=="string":Ht.isError?!1:void 0:!1,We=da?oe.isSuccess&&oe.isFetchedAfterMount&&!oe.isFetching?Ie:void 0:gY({projectProviders:hn,configuredApiProviders:fn,cdpConfigured:st}),Xt=jt.length+(st===!0?1:0),[Ga,Ms]=C.useState(jt[0]?.name??""),[zo,Bs]=C.useState(5),[$c,Xr]=C.useState(!1),[Jr,Wr]=C.useState(null),[el,tl]=C.useState(""),Do=C.useRef(!1),Kc=C.useCallback(K=>{!K||!Do.current||(Do.current=!1,K.focus({preventScroll:!0}))},[]),[ma,nn]=C.useState(!1),[En,Ui]=C.useState(!1),[Io,Gc]=C.useState(!1),Oo=v.providerStatuses.filter(K=>go(K.name)!==Xd&&(hn.length===0||hn.includes(go(K.name)))),Xn=Oo.find(K=>K.name===el)??Oo.find(K=>K.state!=="ready")??Oo.at(0),$i=`Help me choose AI Visibility queries for Canonry project ${JSON.stringify(Ge??Ne)} (${re}).
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.`,nl=async()=>{Gc(!1);try{await navigator.clipboard.writeText($i),Ui(!0)}catch{Gc(!0)}},[ci,Ki]=C.useState(Ye.join(`
77
+ `)),[Gi,Hi]=C.useState(Ye.length>0),[Jt,al]=C.useState(null),[il,Ha]=C.useState(!1),sl=C.useRef(c4(ae)).current?.runId??null,ol=C.useRef(sl),[Qa,Pm]=C.useState(!!sl||!!tt&&!$e),[ui,Vs]=C.useState(!1),[kn,Rn]=C.useState(null),[Qi,Mm]=C.useState(sl??($e?null:tt?.id??null)),rl=uY(),Fa=yt({...Fg({client:te,path:{id:Qi??""}}),enabled:!!Qi,refetchInterval:({state:K})=>{const Qe=K.data?.status;return Qe==="completed"||Qe==="partial"||Qe==="failed"||Qe==="cancelled"?!1:2e3},refetchIntervalInBackground:!0}),[Fi,Hc]=C.useState(""),[zn,qo]=C.useState(!1),[ll,Po]=C.useState(null),Un=Ne.toLowerCase().replace(/[^a-z0-9-]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,""),Jn=Gt.split(`
78
+ `).map(K=>K.trim()).filter(Boolean),di=ci.split(`
79
+ `).map(K=>K.trim()).filter(Boolean),pa=Math.max(ue,Bt?Jn.length:0),ha=WZ({apiReady:S.apiStatus.state==="ok",databaseConfigured:S.apiStatus.databaseConfigured,workerReady:S.workerStatus.state==="ok",providerReady:We!==!1}),Za=(ha&&ha!=="no_provider"?T.launchState.blockedReason:Ze?"Provider readiness could not be checked. Try again.":We===void 0?"Checking provider readiness before launch.":ha==="no_provider"?"Launch is blocked until a provider allowed by this project is configured.":void 0)??(Ge?pa===0?"Add at least one query before launching the first sweep.":void 0:"Create a project before launching the first sweep.");C.useEffect(()=>{be||qe||(N||X(ke),Y.length>0&&(Tn(Y.map(K=>K.query).join(`
80
+ `)),ri(!0)),Se(!0))},[Y,ke,N,be,qe]),C.useEffect(()=>{if(jt.length===0){Ms("");return}jt.some(K=>K.name===Ga)||Ms(jt[0].name)},[jt,Ga]),C.useEffect(()=>{be&&(W({flowVersion:ft,onboardingSessionId:E,event:"onboarding.started",step:JZ(ke),resumed:!!L},"onboarding.started"),!L&&ke>0&&W({flowVersion:ft,onboardingSessionId:E,event:"onboarding.step_completed",step:"system",method:"automatic"},"onboarding.step_completed:system"))},[W,ke,E,be,L]),C.useEffect(()=>{N||!eY(S)||!ha||W({flowVersion:ft,onboardingSessionId:E,event:"onboarding.blocked",step:"system",action:ha==="no_provider"?"configure_provider":"continue",reasonCode:ha},`onboarding.blocked:system:${ha}`)},[W,S,N,E,ha]);const za=Fa.data?.status,Mo=Fa.data?.snapshots?.length??0;C.useEffect(()=>{if(!Qa||!za)return;const K=ol.current;if(!K||K!==Qi)return;if(vk(za,Mo)){W({flowVersion:ft,onboardingSessionId:E,event:"onboarding.step_completed",step:"run",method:"automatic",countBucket:ni(Mo)},"onboarding.step_completed:run"),Yd(K);return}const Qe=za==="cancelled"?"run_cancelled":za==="failed"||(za==="completed"||za==="partial")&&Mo===0?"run_failed":void 0;Qe&&(W({flowVersion:ft,onboardingSessionId:E,event:"onboarding.blocked",step:"run",action:"retry_run",reasonCode:Qe},`onboarding.blocked:run:${Qe}`),Yd(K))},[W,Qi,E,za,Mo,Qa]);const Lm=async()=>{if(!(!Un||!re)){$t(!0),zt(null);try{const K=await hA(Un,{displayName:xe||Ne,canonicalDomain:re,country:pe,language:je,autoExtractBacklinks:Ue});me(Un),vn({title:"Project created",detail:`${K.displayName||K.name} is ready for setup.`,tone:"positive",dedupeKey:`project:create:${K.name}`,dedupeMode:"drop"}),await r(),W({flowVersion:ft,onboardingSessionId:E,event:"onboarding.step_completed",step:"project",method:"manual"},"onboarding.step_completed:project"),X(2)}catch(K){zt(K instanceof Error?K.message:"Failed to create project"),W({flowVersion:ft,onboardingSessionId:E,event:"onboarding.blocked",step:"project",action:"save",reasonCode:"project_create_failed"},"onboarding.blocked:project:project_create_failed")}finally{$t(!1)}}},Bo=async()=>{if(!Ge)return;const K=Jn;if(K.length!==0){Os(!0),Vn(null);try{await y$(Ge,K),ri(!0),N?await Promise.all([P.invalidateQueries({queryKey:wA({client:te,path:{name:Ge}})}),P.invalidateQueries({predicate:d4}),P.invalidateQueries({queryKey:["setup","resume-queries",Ge]})]):await r(),W({flowVersion:ft,onboardingSessionId:E,event:"onboarding.step_completed",step:"queries",method:Li?"generated":"manual",countBucket:ni(K.length)},"onboarding.step_completed:queries"),X(N?4:3)}catch(Qe){Vn(Qe instanceof Error?Qe.message:"Failed to save queries"),W({flowVersion:ft,onboardingSessionId:E,event:"onboarding.blocked",step:"queries",action:"save",reasonCode:"query_save_failed"},"onboarding.blocked:queries:query_save_failed")}finally{Os(!1)}}},Da=async()=>{if(!(!Ge||!Ga)){Xr(!0),Wr(null);try{const K=await C$(Ge,Ga,zo);if(K.queries.length>0){const Qe=Gt?Gt.trimEnd()+`
81
+ `+K.queries.join(`
82
+ `):K.queries.join(`
83
+ `);Tn(Qe),Vi(!0)}}catch(K){Wr(K instanceof Error?K.message:"Failed to generate queries"),W({flowVersion:ft,onboardingSessionId:E,event:"onboarding.blocked",step:"queries",action:"generate_queries",reasonCode:fc(K,"unknown")},"onboarding.blocked:queries:generate")}finally{Xr(!1)}}},cl=async()=>{if(!Ge)return;const K=di;if(K.length!==0){Ha(!0),al(null);try{await v$(Ge,K),Hi(!0),await r(),W({flowVersion:ft,onboardingSessionId:E,event:"onboarding.step_completed",step:"competitors",method:"manual",countBucket:ni(K.length)},"onboarding.step_completed:competitors"),X(4)}catch(Qe){al(Qe instanceof Error?Qe.message:"Failed to save competitors"),W({flowVersion:ft,onboardingSessionId:E,event:"onboarding.blocked",step:"competitors",action:"save",reasonCode:"unknown"},"onboarding.blocked:competitors:save")}finally{Ha(!1)}}},ul=async()=>{const K=Fi.trim();if(K){qo(!0),Po(null);try{await fA("gemini",{apiKey:K}),vn({title:"Gemini configured",detail:"Provider is ready — continuing setup.",tone:"positive",dedupeKey:"setup:gemini:configured",dedupeMode:"drop"}),Hc(""),await r(),Ms(v.providerStatuses.find(Qe=>Qe.name.toLowerCase()==="gemini")?.name??"gemini"),W({flowVersion:ft,onboardingSessionId:E,event:"onboarding.step_completed",step:"system",method:"inline"},"onboarding.step_completed:system")}catch(Qe){Po(Qe instanceof Error?Qe.message:"Failed to save Gemini key"),W({flowVersion:ft,onboardingSessionId:E,event:"onboarding.blocked",step:"system",action:"configure_provider",reasonCode:"provider_save_failed"},"onboarding.blocked:system:provider_save_failed")}finally{qo(!1)}}},mi=async()=>{if(!ho()){if(!Ge||Za){Rn(Za??"Complete setup before launching the first sweep.");const K=ha??(Ge?pa===0?"no_queries":"run_rejected":"unknown");da||W({flowVersion:ft,onboardingSessionId:E,event:"run.requested",origin:"dashboard_setup",result:"rejected",providerCountBucket:ni(Xt),queryCountBucket:ni(pa),reasonCode:K});return}Vs(!0),Rn(null);try{const K=await rl.mutateAsync({projectName:Ge,projectLabel:xe||Ne||Ge,sourceAction:"setup-launch"});Mm(K.id),Pm(!0),l4(Ge,K.id),ol.current=K.id,da||W({flowVersion:ft,onboardingSessionId:E,event:"run.requested",origin:"dashboard_setup",result:"queued",providerCountBucket:ni(Xt),queryCountBucket:ni(pa)}),await r()}catch(K){Rn(K instanceof Error?K.message:"Failed to queue the visibility sweep. Retry when the instance is ready."),da||W({flowVersion:ft,onboardingSessionId:E,event:"run.requested",origin:"dashboard_setup",result:"rejected",providerCountBucket:ni(Xt),queryCountBucket:ni(pa),reasonCode:fc(K,"run_rejected")})}finally{Vs(!1)}}},On=()=>X(K=>N?2:Math.max(0,K-1)),Lo=(K,Qe,pi)=>{W({flowVersion:ft,onboardingSessionId:E,event:"onboarding.step_completed",step:K,method:"existing",...pi===void 0?{}:{countBucket:ni(pi)}},`onboarding.step_completed:${K}`),X(Qe)},dl=()=>{if(W({flowVersion:ft,onboardingSessionId:E,event:"onboarding.step_completed",step:"queries",method:"skipped",countBucket:"0"},"onboarding.step_completed:queries"),N){Kt();return}X(3)},ml=()=>{W({flowVersion:ft,onboardingSessionId:E,event:"onboarding.step_completed",step:"competitors",method:"skipped",countBucket:"0"},"onboarding.step_completed:competitors"),X(4)},Us=N?"section":Aa,fa=We!==!0||st===!0?l.jsx(le,{type:"button",variant:"ghost",size:"sm",className:"min-h-11",onClick:()=>{r(),Ps&&Ht.refetch()},children:"Check again"}):null,pl=(We===!1||ma)&&!!Xn,$s=N&&(q===2||q===4)?w?l.jsxs("section",{"aria-labelledby":"setup-provider-heading",className:"space-y-3 border-b border-default pb-6 mb-6",children:[l.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[l.jsx("h2",{id:"setup-provider-heading",className:"text-lg font-semibold text-heading",children:We===!1?"Connect a provider":"Answer engine provider"}),l.jsx(yn,{tone:We===!0?"positive":"neutral",children:We===!0?"Configured":We===!1?"Not connected":"Checking"})]}),l.jsx("p",{className:"max-w-prose text-sm text-secondary",children:We===!0?jt.length>0?`${jt.map(K=>K.displayName??K.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||ma?Xn?l.jsx("div",{children:l.jsx(fY,{compact:!0,leadingField:l.jsxs("div",{className:"min-w-0 space-y-1.5",children:[l.jsx("label",{className:"block text-sm font-medium text-secondary",htmlFor:"setup-provider",children:"Provider to connect"}),l.jsx("select",{ref:Kc,id:"setup-provider",className:"setup-input",value:Xn.name,onChange:K=>{K.target.value!==Xn.name&&(Do.current=document.activeElement===K.currentTarget,tl(K.target.value))},children:Oo.map(K=>l.jsx("option",{value:K.name,children:K.displayName??K.name},K.name))})]}),secondaryActions:fa,providerName:Xn.name,keyUrl:Xn.keyUrl,modelHint:Xn.modelHint,onSaved:()=>{nn(!1),r()}},Xn.name)}):l.jsx("p",{className:"max-w-prose text-sm text-secondary",children:hn.length>0?`This project's provider selection is ${hn.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,l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[We===!0&&!ma&&Xn?l.jsx(le,{type:"button",variant:"outline",size:"sm",onClick:()=>nn(!0),children:"Configure a provider"}):null,!Xn||st===!0?l.jsx(le,{type:"button",variant:"outline",size:"sm",asChild:!0,children:l.jsx(Je,{to:"/settings",target:"_blank",rel:"noopener noreferrer",children:"Open provider settings"})}):null,pl?null:fa]})]}):l.jsxs("section",{"aria-labelledby":"setup-provider-heading",className:"space-y-2 border-b border-default pb-6 mb-6",children:[l.jsx("h2",{id:"setup-provider-heading",className:"text-lg font-semibold text-heading",children:"Answer engine provider"}),l.jsx("p",{className:"max-w-prose text-sm text-secondary",children:"Provider settings are managed by an administrator."}),Ze?l.jsx("p",{role:"alert",className:"text-sm text-negative",children:"Provider readiness could not be checked. Try again."}):l.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."}),l.jsx(le,{type:"button",variant:"ghost",size:"sm",className:"min-h-11",disabled:oe.isFetching,onClick:()=>{oe.refetch()},children:Ze?"Retry provider check":"Check again"})]}):null,Ya=(()=>{switch(q){case 0:return l.jsxs(Aa,{className:"surface-card step-card",children:[l.jsx("div",{className:"section-head",children:l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Step 1 of 5"}),l.jsx("h2",{children:"System check"})]})}),l.jsx("p",{className:"supporting-copy",children:"Checking that your Canonry instance is configured and reachable."}),l.jsx("div",{className:"compact-stack",children:T.healthChecks.map(K=>l.jsxs("div",{className:"health-check-row",children:[l.jsxs("div",{children:[l.jsx("p",{className:"run-row-title",children:K.label}),l.jsx("p",{className:"supporting-copy",children:K.detail}),K.id==="provider"&&K.state!=="ready"&&l.jsxs("div",{className:"mt-3 rounded-md border border-default bg-bg-elevated/40 p-3 space-y-2",children:[l.jsxs("p",{className:"text-xs text-secondary",children:["Paste a Gemini key to enable visibility checks (free at"," ",l.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"}),")."]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("input",{type:"password",value:Fi,onChange:Qe=>Hc(Qe.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:zn}),l.jsx(le,{type:"button",size:"sm",disabled:zn||!Fi.trim(),onClick:dn(ul),children:zn?"Saving...":"Save"})]}),ll&&l.jsxs("div",{role:"alert",className:"space-y-1 text-xs text-negative",children:[l.jsx("p",{children:ll}),l.jsx("p",{children:"Check that the key is complete, then retry Save."})]}),l.jsxs("p",{className:"text-sm text-secondary",children:["Connect more answer engines later in"," ",l.jsx(Je,{to:"/settings",className:"text-link hover:underline",children:"Settings"}),"."]})]})]}),l.jsx(yn,{tone:K.state==="ready"?"positive":"caution",title:K.id==="api"?Pr(S.apiStatus):K.id==="worker"?Pr(S.workerStatus):K.detail,children:K.state==="ready"?"Ready":"Attention"})]},K.id))}),l.jsxs("div",{className:"setup-nav",children:[T.launchState.blockedReason?l.jsx("p",{role:"status",className:"supporting-copy text-negative",children:T.launchState.blockedReason}):l.jsx("span",{}),l.jsx(le,{type:"button",disabled:!T.launchState.enabled,title:T.launchState.blockedReason,onClick:()=>{W({flowVersion:ft,onboardingSessionId:E,event:"onboarding.step_completed",step:"system",method:"automatic"},"onboarding.step_completed:system"),X(Ve)},children:"Continue"})]})]});case 1:return l.jsxs(Aa,{className:"surface-card step-card",children:[l.jsxs("div",{className:"section-head",children:[l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Step 2 of 5"}),l.jsx("h2",{children:"Create project"})]}),Ge?l.jsx(yn,{tone:"positive",children:"Created"}):null]}),Ge?l.jsxs("div",{className:"compact-stack",children:[l.jsxs("p",{className:"text-neutral",children:["Project ",l.jsx("span",{className:"text-heading font-medium",children:Ge})," created successfully."]}),l.jsxs("div",{className:"setup-nav",children:[l.jsx(le,{type:"button",variant:"outline",onClick:On,children:"Back"}),l.jsx(le,{type:"button",onClick:()=>Lo("project",2),children:"Continue"})]})]}):l.jsxs("div",{className:"compact-stack",children:[l.jsxs("div",{className:"setup-field",children:[l.jsx("label",{className:"setup-label",htmlFor:"project-name",children:"Project name"}),l.jsx("input",{id:"project-name",className:"setup-input",type:"text",placeholder:"my-website",value:Ne,onChange:K=>Pe(K.target.value)}),Un&&Un!==Ne?l.jsxs("p",{className:"supporting-copy",children:["Slug: ",Un]}):null]}),l.jsxs("div",{className:"setup-field",children:[l.jsx("label",{className:"setup-label",htmlFor:"display-name",children:"Display name (optional)"}),l.jsx("input",{id:"display-name",className:"setup-input",type:"text",placeholder:"My Website",value:xe,onChange:K=>ce(K.target.value)})]}),l.jsxs("div",{className:"setup-field",children:[l.jsx("label",{className:"setup-label",htmlFor:"domain",children:"Canonical domain"}),l.jsx("input",{id:"domain",className:"setup-input",type:"text",placeholder:"example.com",value:re,onChange:K=>H(K.target.value)})]}),l.jsxs("div",{className:"setup-field-row",children:[l.jsxs("div",{className:"setup-field",children:[l.jsx("label",{className:"setup-label",htmlFor:"country",children:"Country"}),l.jsx("input",{id:"country",className:"setup-input",type:"text",placeholder:"US",maxLength:2,value:pe,onChange:K=>De(K.target.value.toUpperCase())})]}),l.jsxs("div",{className:"setup-field",children:[l.jsx("label",{className:"setup-label",htmlFor:"language",children:"Language"}),l.jsx("input",{id:"language",className:"setup-input",type:"text",placeholder:"en",maxLength:5,value:je,onChange:K=>it(K.target.value.toLowerCase())})]})]}),l.jsxs("label",{className:"flex items-start gap-3 rounded-md border border-default bg-surface p-3 cursor-pointer hover:border-strong",children:[l.jsx("input",{type:"checkbox",className:"mt-0.5 h-4 w-4 rounded border-strong bg-bg",checked:Ue,onChange:K=>St(K.target.checked)}),l.jsxs("span",{className:"flex-1",children:[l.jsx("span",{className:"block text-sm text-heading",children:"Auto-extract backlinks"}),l.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."," ",l.jsx(Je,{to:"/backlinks",className:"text-positive-400 hover:text-positive underline underline-offset-2",children:"Manage backlinks"})]})]})]}),nt?l.jsx("p",{className:"text-negative-400 text-sm",children:nt}):null,l.jsxs("div",{className:"setup-nav",children:[l.jsx(le,{type:"button",variant:"outline",onClick:On,children:"Back"}),l.jsx(le,{type:"button",disabled:!Un||!re||In,onClick:dn(Lm),children:In?"Creating...":"Create project"})]})]})]});case 2:return l.jsxs(Us,{className:N?"visibility-setup-section step-card":"surface-card step-card","aria-labelledby":"setup-queries-heading",children:[l.jsxs("div",{className:"section-head",children:[l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:N?"Step 1 of 2":"Step 3 of 5"}),l.jsx("h2",{id:"setup-queries-heading",children:"Add queries"})]}),J?l.jsx(yn,{tone:"neutral",children:"Loading"}):M.isError?l.jsx(yn,{tone:"negative",children:"Load failed"}):Bt?l.jsxs(yn,{tone:"positive",children:[Jn.length," saved"]}):l.jsxs(yn,{tone:"neutral",children:[Jn.length," quer",Jn.length!==1?"ies":"y"]})]}),l.jsx("p",{className:"supporting-copy",children:"Add the queries your customers use, one per line. You can refine your list later."}),l.jsxs("div",{className:"space-y-2 border-b border-default pb-4",children:[l.jsxs("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[l.jsxs("div",{className:"min-w-0 space-y-1",children:[l.jsx("h3",{className:"text-sm font-semibold text-heading",children:"Research queries with your agent"}),l.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."})]}),l.jsx(le,{type:"button",variant:"outline",size:"sm",className:"min-h-11 shrink-0 self-start",onClick:dn(nl),children:En?"Research prompt copied":"Copy research prompt"})]}),l.jsxs("details",{open:Io||void 0,className:"text-sm text-secondary",children:[l.jsx("summary",{className:"min-h-11 cursor-pointer py-3 text-link",children:"View agent prompt"}),l.jsx("textarea",{"aria-label":"Agent query research prompt",readOnly:!0,className:"setup-textarea mt-2 w-full",rows:8,value:$i})]}),Io?l.jsx("p",{role:"alert",className:"text-sm text-negative",children:"Could not copy. Select and copy the prompt above."}):null]}),J?l.jsx("div",{className:"rounded-md border border-default bg-bg-elevated/40 p-4 text-sm text-secondary",role:"status",children:"Loading saved queries…"}):M.isError?l.jsxs("div",{className:"compact-stack",children:[l.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."}),l.jsxs("div",{className:"setup-nav",children:[l.jsx(le,{type:"button",variant:"outline",onClick:N?Me:On,children:"Back"}),l.jsx(le,{type:"button",onClick:()=>{M.refetch()},children:"Retry loading queries"})]})]}):Bt?l.jsxs("div",{className:"compact-stack",children:[l.jsx("ul",{className:"detail-list",children:Jn.map(K=>l.jsx("li",{children:K},K))}),l.jsxs("div",{className:"setup-nav",children:[l.jsx(le,{type:"button",variant:"outline",onClick:N?Me:On,children:"Back"}),l.jsx(le,{type:"button",variant:"outline",onClick:()=>ri(!1),children:"Edit queries"}),l.jsx(le,{type:"button",onClick:()=>Lo("queries",N?4:3,Jn.length),children:"Continue"})]})]}):l.jsxs("div",{className:"compact-stack",children:[jt.length>0?l.jsxs("div",{className:"compact-stack",children:[l.jsxs("div",{className:"flex items-center gap-2 text-muted text-xs uppercase tracking-wide",children:[l.jsx("span",{className:"flex-1 border-t border-base"}),"auto-generate",l.jsx("span",{className:"flex-1 border-t border-base"})]}),l.jsxs("div",{className:"flex items-end gap-2",children:[l.jsxs("div",{className:"setup-field flex-1",children:[l.jsx("label",{className:"setup-label",htmlFor:"gen-provider",children:"Provider"}),l.jsx("select",{id:"gen-provider",className:"setup-input",value:Ga,onChange:K=>Ms(K.target.value),children:jt.map(K=>l.jsxs("option",{value:K.name,children:[K.displayName??K.name,K.model?` (${K.model})`:""]},K.name))})]}),l.jsxs("div",{className:"setup-field",children:[l.jsx("label",{className:"setup-label",htmlFor:"gen-count",children:"Count"}),l.jsx("select",{id:"gen-count",className:"setup-input",value:zo,onChange:K=>Bs(Number(K.target.value)),children:[3,5,10,15,20].map(K=>l.jsx("option",{value:K,children:K},K))})]}),l.jsx(le,{type:"button",variant:"outline",disabled:$c||!Ga,onClick:dn(Da),children:$c?"Analyzing site...":"Generate"})]}),Jr?l.jsx("p",{className:"text-negative-400 text-sm",children:Jr}):null]}):null,N?null:l.jsxs("div",{className:"flex items-center gap-2 text-muted text-xs uppercase tracking-wide",children:[l.jsx("span",{className:"flex-1 border-t border-base"}),"or type manually",l.jsx("span",{className:"flex-1 border-t border-base"})]}),l.jsxs("div",{className:"setup-field",children:[l.jsx("label",{className:"setup-label",htmlFor:"queries",children:"Queries (one per line)"}),l.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:K=>Tn(K.target.value)})]}),Is?l.jsx("p",{className:"text-negative-400 text-sm",children:Is}):null,l.jsxs("div",{className:"setup-nav",children:[l.jsx(le,{type:"button",variant:"outline",onClick:N?Me:On,children:"Back"}),l.jsx(le,{type:"button",variant:"ghost",onClick:dl,children:N?"Finish without AI Visibility":"Skip for now"}),l.jsx(le,{type:"button",disabled:Jn.length===0||li,onClick:dn(Bo),children:li?"Saving...":`Save ${Jn.length} quer${Jn.length!==1?"ies":"y"}`})]})]})]});case 3:return l.jsxs(Aa,{className:"surface-card step-card",children:[l.jsxs("div",{className:"section-head",children:[l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Step 4 of 5"}),l.jsx("h2",{children:"Add competitors"})]}),Gi?l.jsx(yn,{tone:"positive",children:"Saved"}):null]}),l.jsx("p",{className:"supporting-copy",children:"Optional. Domains that compete for the same queries, one per line. You can add them later from the project."}),Gi?l.jsxs("div",{className:"compact-stack",children:[l.jsx("ul",{className:"detail-list",children:di.map(K=>l.jsx("li",{children:K},K))}),l.jsxs("div",{className:"setup-nav",children:[l.jsx(le,{type:"button",variant:"outline",onClick:On,children:"Back"}),l.jsx(le,{type:"button",onClick:()=>Lo("competitors",4,di.length),children:"Continue"})]})]}):l.jsxs("div",{className:"compact-stack",children:[l.jsxs("div",{className:"setup-field",children:[l.jsx("label",{className:"setup-label",htmlFor:"competitors",children:"Competitor domains (one per line)"}),l.jsx("textarea",{id:"competitors",className:"setup-textarea",rows:4,placeholder:`competitor1.com
86
+ competitor2.com`,value:ci,onChange:K=>Ki(K.target.value)})]}),Jt?l.jsx("p",{className:"text-negative-400 text-sm",children:Jt}):null,l.jsxs("div",{className:"setup-nav",children:[l.jsx(le,{type:"button",variant:"outline",onClick:On,children:"Back"}),l.jsx("div",{className:"flex gap-2",children:di.length===0?l.jsx(le,{type:"button",onClick:ml,children:"Continue without competitors"}):l.jsxs(l.Fragment,{children:[l.jsx(le,{type:"button",variant:"outline",onClick:ml,children:"Skip"}),l.jsx(le,{type:"button",disabled:il,onClick:dn(cl),children:il?"Saving...":`Save ${di.length} competitor${di.length!==1?"s":""}`})]})})]})]})]});case 4:{const K=Fa.data,Qe=K?.status??(Qi===tt?.id?tt.status:void 0),pi=Qe==="completed"||Qe==="partial"||Qe==="failed"||Qe==="cancelled",Ia=K?.snapshots??[],Vo=Ia.filter(Oa=>Oa.citationState==="cited").length,Qc=Ia.filter(Oa=>Oa.answerMentioned===!0).length,Sn=new Set(Ia.map(Oa=>Oa.query).filter(Oa=>!!Oa)).size,Xa=Qe?vk(Qe,Ia.length):!1,Ks=$e&&!Qa,Gs=kn??(K?.error?cK(K.error):Qe==="cancelled"?"The sweep was cancelled before it produced a baseline.":(Qe==="completed"||Qe==="partial")&&Ia.length===0?"The sweep finished without producing any snapshots.":tt?.statusDetail||"The sweep did not produce a baseline.");let Hs=null;return Ks||Xa?Hs=l.jsx(yn,{tone:"positive",children:"Complete"}):kn&&!Qa?Hs=l.jsx(yn,{tone:"negative",children:"Failed"}):pi?Hs=l.jsx(yn,{tone:"negative",children:Qe==="cancelled"?"Cancelled":"Failed"}):Qa&&(Hs=l.jsx(yn,{tone:"caution",children:"Running"})),l.jsxs(Aa,{className:"surface-card step-card",children:[l.jsxs("div",{className:"section-head",children:[l.jsxs("div",{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:N?"Step 2 of 2":"Step 5 of 5"}),l.jsx("h2",{children:ho()?"AI Visibility":"Launch first run"})]}),Hs]}),Ks?l.jsxs("div",{className:"compact-stack",children:[l.jsxs("p",{className:"text-secondary",children:["Setup is complete. ",l.jsx("span",{className:"text-strong font-medium",children:Ge})," already has a successful answer-visibility baseline."]}),l.jsxs("div",{className:"setup-nav",children:[l.jsx("span",{}),l.jsx(le,{type:"button",onClick:()=>ct(),children:f?"Finish setup":"Open project dashboard →"})]})]}):!Qa&&ho()?l.jsxs("div",{className:"compact-stack",children:[Ge?l.jsx(AF,{projectName:Ge}):l.jsx("p",{className:"text-sm text-secondary",children:r0}),kn&&l.jsx("p",{role:"alert",className:"text-sm text-negative",children:kn}),l.jsxs("div",{className:"setup-nav",children:[l.jsx("span",{}),l.jsx(le,{type:"button",onClick:Me,children:"Open project dashboard →"})]})]}):Qa?pi?Xa?l.jsxs("div",{className:"compact-stack",children:[l.jsxs("p",{className:"text-neutral",children:["Sweep complete. Your first answer-visibility snapshot for"," ",l.jsx("span",{className:"text-heading font-medium",children:Ge}),":"]}),l.jsxs("div",{className:"grid grid-cols-3 gap-2 mt-1",children:[l.jsxs("div",{className:"rounded-md border border-default bg-surface p-3",children:[l.jsx("p",{className:"text-xs font-medium text-secondary",children:"Mentioned"}),l.jsxs("p",{className:"text-2xl font-bold tabular-nums text-primary mt-1",children:[Qc,l.jsxs("span",{className:"text-faint text-lg",children:[" / ",Sn]})]}),l.jsx("p",{className:"mt-0.5 text-sm text-secondary",children:"queries naming your brand"})]}),l.jsxs("div",{className:"rounded-md border border-default bg-surface p-3",children:[l.jsx("p",{className:"text-xs font-medium text-secondary",children:"Cited"}),l.jsxs("p",{className:"text-2xl font-bold tabular-nums text-primary mt-1",children:[Vo,l.jsxs("span",{className:"text-faint text-lg",children:[" / ",Sn]})]}),l.jsx("p",{className:"mt-0.5 text-sm text-secondary",children:"queries citing your site"})]}),l.jsxs("div",{className:"rounded-md border border-default bg-surface p-3",children:[l.jsx("p",{className:"text-xs font-medium text-secondary",children:"Results"}),l.jsx("p",{className:"text-2xl font-bold tabular-nums text-primary mt-1",children:Ia.length}),l.jsx("p",{className:"mt-0.5 text-sm text-secondary",children:"completed engine checks"})]})]}),!b&&Ge?l.jsx(hY,{projectName:Ge}):null,l.jsxs("div",{className:"setup-nav",children:[l.jsx("span",{}),l.jsx(le,{type:"button",onClick:()=>ct(),children:f?"Finish setup":"Open project dashboard →"})]})]}):l.jsxs("div",{className:"compact-stack",children:[l.jsxs("div",{role:"alert",className:"rounded-md border border-negative bg-negative-soft p-3 text-sm text-negative",children:[l.jsx("p",{children:Gs}),l.jsx("p",{className:"mt-1 text-xs text-secondary",children:ho()?r0:w?"Fix provider or query configuration if needed, then retry without leaving setup.":"Ask an administrator to review the provider and query configuration."})]}),l.jsxs("div",{className:"setup-nav",children:[w&&!ho()?l.jsx(le,{type:"button",variant:"outline",asChild:!0,children:l.jsx(Je,{to:"/settings",children:"Configure providers"})}):l.jsx("span",{}),ho()||!w?l.jsx(le,{type:"button",onClick:Me,children:"Open project dashboard →"}):l.jsx(le,{type:"button",disabled:ui||!!Za,onClick:dn(mi),children:ui?"Retrying...":"Retry visibility sweep"})]})]}):l.jsxs("div",{className:"compact-stack",children:[l.jsx("p",{className:"text-neutral",children:"Sweep running. This usually takes 30 to 60 seconds."}),l.jsx("div",{className:"rounded-md border border-default bg-surface p-3 text-xs text-muted",children:l.jsxs("p",{children:["Status: ",l.jsx("span",{className:"text-neutral",children:Qe??"queued"})]})}),Fa.isError&&l.jsxs("div",{role:"alert",className:"rounded-md border border-negative bg-negative-soft p-3 text-sm text-negative",children:[l.jsx("p",{children:Fa.error instanceof Error?Fa.error.message:"Could not refresh the sweep status."}),l.jsx(le,{type:"button",variant:"outline",size:"sm",className:"mt-2",onClick:()=>{Fa.refetch()},children:"Retry status check"})]}),l.jsxs("div",{className:"setup-nav",children:[l.jsx("span",{}),l.jsx(le,{type:"button",variant:"outline",onClick:f?()=>ct():Me,children:f?"Finish setup":"Watch on project page"})]})]}):l.jsxs("div",{className:"compact-stack",children:[l.jsxs("p",{className:"supporting-copy",children:["Your queries are saved. Run a first sweep to get a baseline for"," ",l.jsx("span",{className:"text-heading font-medium",children:Ge}),", or finish and run it later from the project. A sweep calls the answer engines, so it costs provider usage."]}),(Za||kn)&&l.jsxs("div",{role:"alert",className:"rounded-md border border-negative bg-negative-soft p-3 text-sm text-negative",children:[l.jsx("p",{children:kn??Za}),l.jsx("p",{className:"mt-1 text-xs text-secondary",children:"Resolve the blocker above, then retry the sweep here."})]}),l.jsxs("div",{className:"setup-nav",children:[l.jsx(le,{type:"button",variant:"outline",onClick:On,children:"Back"}),l.jsx(le,{type:"button",variant:"ghost",onClick:Kt,children:"Finish without running"}),ha==="no_provider"&&!N?l.jsx(le,{type:"button",asChild:!0,children:l.jsx(Je,{to:"/settings",children:"Configure a provider"})}):l.jsx(le,{type:"button",disabled:ui||!!Za,title:Za,onClick:dn(mi),children:ui?"Launching...":kn?"Retry visibility sweep":"Launch visibility sweep"})]})]})]})}default:return null}})();return l.jsxs("div",{className:N?"page-container visibility-setup":"page-container",children:[f?l.jsx(ko,{current:"visibility"}):null,l.jsxs("div",{className:"page-header",children:[l.jsxs("div",{className:"page-header-left",children:[l.jsx("h1",{ref:u?h:void 0,tabIndex:u?-1:void 0,className:"page-title",children:u?"Set up AI Visibility":"Setup"}),l.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."})]}),f?l.jsx("div",{className:"page-header-right",children:l.jsx(le,{type:"button",variant:"outline",className:"min-h-11",onClick:Kt,children:"Skip AI Visibility"})}):null]}),f?null:l.jsx(xY,{current:N?q===4?1:0:q,labels:N?bY:yY}),l.jsxs("section",{className:"setup-wizard",children:[$s,Ya]})]})}const Sf="canonry mcp install --client claude-code",SY="https://github.com/Canonry/canonry/blob/main/docs/mcp.md";function jY(){const e=C.useRef(c1()).current,n=C.useRef(new Set),i=C.useCallback((r,u)=>{n.current.has(r)||(n.current.add(r),Kg({...u,flowVersion:ft,onboardingSessionId:e,surface:"platform",eventId:u1()}))},[e]);return C.useEffect(()=>{i("started",{event:"onboarding.started",step:"finish",resumed:!1})},[i]),C.useCallback(r=>{i(`action:${r}`,{event:"onboarding.step_completed",step:"finish",method:"manual",nextAction:r})},[i])}const Om=C.createContext(()=>{});function AY({projectName:e,skippedVisibility:n=!1}){const i=yt({...HG({client:te,path:{name:e}}),retry:!1}),r=i.data?.hasData?i.data:null,u=jY(),h=kk(e,Re["site-audit"]),f=kk(e,Re["answer-visibility"]),b={...h?{site:h,fixes:h}:{},...CY(f,n)};return l.jsx(Om.Provider,{value:u,children:l.jsxs("div",{className:"page-container max-w-6xl py-8 md:py-10",children:[l.jsx(ko,{current:"done",outcomes:b}),l.jsxs("header",{className:"relative mx-auto mt-12 max-w-2xl text-center md:mt-16",children:[l.jsx(NY,{}),l.jsx("p",{className:"onb-reveal mt-6 text-sm font-medium text-positive",style:Ca(250),children:"Setup complete"}),l.jsx("h1",{className:"onb-reveal mt-2 text-5xl font-semibold tracking-tight text-heading md:text-6xl",style:Ca(350),children:"You’re set."}),l.jsxs("p",{className:"onb-reveal mx-auto mt-4 max-w-xl text-lg text-secondary",style:Ca(450),children:["Canonry is tracking ",l.jsx("span",{className:"font-medium text-heading",children:e}),". Here’s how to get the most out of it from here."]})]}),l.jsxs("div",{className:"mt-14 grid gap-4 md:grid-cols-6",children:[l.jsx(hd,{className:"md:col-span-4 md:row-span-2",delayMs:600,labelledBy:"onb-agent-heading",children:l.jsx(EY,{projectName:e})}),l.jsx(hd,{className:"md:col-span-2 md:row-span-2",delayMs:700,labelledBy:"onb-data-heading",children:l.jsx(DY,{projectName:e})}),l.jsx(hd,{className:"md:col-span-3",delayMs:800,labelledBy:"onb-schedule-heading",children:l.jsx(qY,{projectName:e})}),l.jsx(hd,{className:"md:col-span-3",delayMs:900,labelledBy:"onb-alerts-heading",children:l.jsx(PY,{projectName:e,score:r?.aggregateScore??null})})]}),l.jsxs("div",{className:"onb-reveal mt-12 flex flex-col items-center gap-3 sm:flex-row sm:justify-center",style:Ca(1e3),children:[l.jsx(le,{asChild:!0,className:"h-11 rounded-full px-6 text-base md:h-11",children:l.jsxs(Je,{to:"/projects/$projectName",params:{projectName:e},replace:!0,onClick:()=>u("open_project"),children:["Open ",e,l.jsx(gc,{className:"size-4","aria-hidden":"true"})]})}),l.jsx(le,{asChild:!0,variant:"ghost",className:"h-11 rounded-full px-5 md:h-11",children:l.jsx(Je,{to:"/projects/$projectName/technical-aeo",params:{projectName:e},replace:!0,onClick:()=>u("review_page_health"),children:"Review page health"})})]})]})})}function kk(e,n){const i=yt({...kA({client:te,path:{name:e},query:{kind:n,limit:20}}),retry:!1,refetchInterval:r=>Sk(r.state.status==="success"?{isSuccess:!0,data:r.state.data}:{isSuccess:!1})==="pending"?5e3:!1});return Sk(i)}function CY(e,n){return e===void 0?{}:n?{visibility:"skipped"}:{visibility:e}}function Sk(e){if(!e.isSuccess||!e.data)return"unknown";const n=e.data.filter(i=>i.trigger!==ai.probe);if(!n.some(i=>i.status===Qt.completed||i.status===Qt.partial))return n.some(i=>i.status===Qt.queued||i.status===Qt.running)?"pending":n.length>0?"incomplete":"skipped"}function Ca(e){return{"--onb-delay":`${e}ms`}}function NY(){return l.jsx("div",{className:"onb-check relative mx-auto size-20","aria-hidden":"true",children:l.jsxs("svg",{viewBox:"0 0 80 80",className:"relative size-20",children:[l.jsx("circle",{className:"onb-check-ring",cx:"40",cy:"40",r:"36",fill:"none",strokeWidth:"3",pathLength:"1"}),l.jsx("path",{className:"onb-check-mark",d:"M25 41 L35 51 L56 30",fill:"none",strokeWidth:"4",strokeLinecap:"round",strokeLinejoin:"round",pathLength:"1"})]})})}function hd({className:e="",delayMs:n,labelledBy:i,children:r}){return l.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:Ca(n),children:r})}function qm({id:e,eyebrow:n,title:i,children:r}){return l.jsxs("div",{children:[l.jsx("p",{className:"text-xs font-medium uppercase tracking-wide text-muted",children:n}),l.jsx("h2",{id:e,className:"mt-1.5 text-2xl font-semibold tracking-tight text-heading",children:i}),l.jsx("p",{className:"mt-2 text-sm text-secondary",children:r})]})}const fd=[{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."}],_Y=9e3;function TY(){return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}function EY({projectName:e}){const n=C.useContext(Om),[i,r]=C.useState(0),[u,h]=C.useState(!1),[f,b]=C.useState(!1);C.useEffect(()=>{if(u||TY())return;const k=window.setTimeout(()=>r(S=>(S+1)%fd.length),_Y);return()=>window.clearTimeout(k)},[i,u]);const v=async()=>{try{await navigator.clipboard.writeText(Sf),n("copy_agent_command"),b(!0),window.setTimeout(()=>b(!1),1800)}catch{vn({tone:"negative",title:"Could not copy the command",detail:`Run ${Sf} in your terminal.`})}},w=fd[i]??fd[0];return l.jsxs(l.Fragment,{children:[l.jsxs(qm,{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"," ",l.jsx("span",{className:"text-heading",children:e})," that reviews every sweep on its own."]}),l.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:[l.jsxs("div",{className:"flex items-center gap-1 border-b border-default px-3 py-2",role:"tablist","aria-label":"Example agent sessions",children:[fd.map((k,S)=>l.jsx("button",{type:"button",role:"tab","aria-selected":S===i,onClick:()=>{r(S),h(!0)},className:`rounded-md px-2.5 py-1 text-xs font-medium transition-colors ${S===i?"bg-surface-inset text-heading":"text-muted hover:text-secondary"}`,children:k.label},k.id)),l.jsx("span",{className:"ml-auto text-xs text-faint",children:"Example"})]}),l.jsxs("div",{role:"tabpanel","aria-label":`${w.label} example`,className:"flex-1 p-4 font-mono text-[13px] leading-relaxed",children:[l.jsxs("p",{className:"onb-type text-heading",style:Ca(150),children:[l.jsx("span",{className:"text-muted",children:"> "}),w.prompt]}),w.calls.map((k,S)=>l.jsxs("p",{className:"onb-line mt-1 text-muted first:mt-3",style:Ca(1300+S*450),children:[l.jsx("span",{className:"text-positive",children:"●"})," ",k]},k)),l.jsx("p",{className:"onb-line mt-3 text-secondary",style:Ca(1500+w.calls.length*450),children:w.reply}),l.jsx("span",{className:"onb-caret mt-2 inline-block h-4 w-2 bg-current align-middle text-secondary",style:Ca(1900+w.calls.length*450),"aria-hidden":"true"})]},w.id)]}),l.jsxs("div",{className:"mt-4 flex flex-wrap items-center gap-2",children:[l.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:Sf}),l.jsxs(le,{type:"button",variant:"secondary",size:"sm",className:"h-9 md:h-9",onClick:()=>{v()},children:[f?l.jsx(Jd,{className:"size-4","aria-hidden":"true"}):l.jsx(v0,{className:"size-4","aria-hidden":"true"}),f?"Copied":"Copy"]}),l.jsx("a",{href:SY,target:"_blank",rel:"noreferrer",className:"text-sm font-medium text-link underline-offset-4 hover:underline",children:"Other clients"})]})]})}const RY=[{icon:b0,label:"Search Console",action:"connect_search_console",to:"/projects/$projectName/search-console"},{icon:Pk,label:"Google Analytics",action:"connect_analytics",to:"/projects/$projectName/activity"},{icon:Bk,label:"Business Profile",action:"connect_business_profile",to:"/projects/$projectName/local"}],zY=["GPTBot","ClaudeBot","PerplexityBot"];function DY({projectName:e}){const n=C.useContext(Om);return l.jsxs(l.Fragment,{children:[l.jsx(qm,{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."}),l.jsx(IY,{}),l.jsxs(Je,{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:[l.jsx(Lk,{className:"size-4 text-positive","aria-hidden":"true"}),l.jsxs("span",{className:"flex-1",children:["Connect your server",l.jsx("span",{className:"block text-xs font-normal text-secondary",children:"Cloudflare, Vercel, WordPress, or Cloud Run"})]}),l.jsx(gc,{className:"size-4 text-link transition-transform group-hover:translate-x-0.5","aria-hidden":"true"})]}),l.jsx("p",{className:"mt-5 text-xs font-medium uppercase tracking-wide text-muted",children:"Also connect"}),l.jsx("ul",{className:"mt-1 divide-y divide-default",children:RY.map(({icon:i,label:r,action:u,to:h})=>l.jsx("li",{children:l.jsxs(Je,{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:[l.jsx(i,{className:"size-4 text-muted","aria-hidden":"true"}),l.jsx("span",{className:"flex-1",children:r}),l.jsx(gc,{className:"size-3.5 text-link transition-transform group-hover:translate-x-0.5","aria-hidden":"true"})]})},r))})]})}function IY(){const e=[22,70,118];return l.jsxs("div",{className:"relative my-6 h-36","aria-hidden":"true",children:[l.jsx("svg",{viewBox:"0 0 200 140",preserveAspectRatio:"none",className:"absolute inset-0 size-full",children:e.map((n,i)=>l.jsx("path",{className:"onb-flow",style:Ca(i*400),d:`M20 ${n} C 100 ${n}, 118 70, 170 70`,fill:"none",strokeWidth:"1.5"},n))}),zY.map((n,i)=>l.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}%`,...Ca(i*600)},children:n},n)),l.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:l.jsx(Lk,{className:"size-5"})})]})}const OY=["M","T","W","T","F","S","S"];function qY({projectName:e}){return l.jsxs(l.Fragment,{children:[l.jsx(qm,{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."}),l.jsx("ol",{className:"mt-6 grid grid-cols-7 gap-2","aria-hidden":"true",children:OY.map((n,i)=>l.jsxs("li",{className:"flex flex-col items-center gap-2",children:[l.jsx("span",{className:"onb-day size-3 rounded-full bg-surface-inset",style:Ca(i*500)}),l.jsx("span",{className:"text-xs text-muted",children:n})]},i))}),l.jsx(p4,{projectName:e,to:"/projects/$projectName/settings",icon:Mk,label:"Set a schedule",action:"set_schedule"})]})}function PY({projectName:e,score:n}){return l.jsxs(l.Fragment,{children:[l.jsx(qm,{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."}),l.jsxs("div",{className:"relative mt-6 flex h-14 items-center","aria-hidden":"true",children:[l.jsx("span",{className:"onb-bell flex size-10 items-center justify-center rounded-full border border-default bg-bg-elevated",children:l.jsx(Cf,{className:"size-4 text-secondary"})}),l.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:[l.jsx("span",{className:"size-2 rounded-full bg-positive-400"}),l.jsx("span",{className:"text-heading",children:e}),l.jsx("span",{className:"text-secondary",children:n===null?"sweep finished":`page health ${n}`})]})]}),l.jsx(p4,{projectName:e,to:"/projects/$projectName/settings",icon:Cf,label:"Add a notification",action:"add_notification"})]})}function p4({projectName:e,to:n,icon:i,label:r,action:u}){const h=C.useContext(Om);return l.jsxs(Je,{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:[l.jsx(i,{className:"size-4","aria-hidden":"true"}),r,l.jsx(gc,{className:"size-3.5 transition-transform group-hover:translate-x-0.5","aria-hidden":"true"})]})}const MY=C.lazy(async()=>({default:(await Bi(()=>import("./SiteHealthSection-DysU2M6C.js").then(n=>n.d),__vite__mapDeps([0,1,2,3,4]),import.meta.url)).SiteHealthSection})),BY=`Public pages only, crawled from this computer and stored locally. The first scan reads up to ${Vj} pages, then stops.`,LY=1800,VY="https://github.com/Canonry/canonry#or-use-any-shell-capable-coding-agent",UY="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 $Y(e,n){return e==="legacy"?"legacy":e==="platform"?"platform":n.state==="success"?n.projectCount===0?"platform":"legacy":n.state==="error"?"retry":"loading"}const KY="2000-01-01T00:00:00.000Z",GY=5e3;function HY(e,n){const i=new Set,r=new Map;for(const f of n)f.trigger!==ai.probe&&(r.has(f.projectId)||r.set(f.projectId,f.id),(f.status===Qt.completed||f.status===Qt.partial)&&i.add(f.projectId));const h=(e.every(f=>f.createdAt)?[...e].sort((f,b)=>(f.createdAt??"").localeCompare(b.createdAt??"")||f.name.localeCompare(b.name)):e).find(f=>!i.has(f.id));return h?{projectName:h.name,runId:r.get(h.id)}:null}const h4=[{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"}],f4=[{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 QY(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 FY(e,n){const i=e.trim().toUpperCase(),r=n.trim().toLowerCase();return{countryValid:h4.some(u=>u.value===i),languageValid:f4.some(u=>u.value===r)}}function ZY(e){const n=e.replace(/^\[|\]$/g,"");return/^(?:\d{1,3}\.){3}\d{1,3}$/.test(n)||n.includes(":")}function YY(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"||ZY(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 XY(e,n=LY){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 JY(e,n){e.catch(()=>{vn({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 g4(e){const n=C.useRef(c1()).current,i=C.useRef(new Set),r=C.useCallback((u,h)=>{if(h){if(i.current.has(h))return;i.current.add(h)}Kg({...u,surface:e,eventId:u1()})},[e]);return{onboardingSessionId:n,emit:r}}function jk(e,n){return e instanceof _n&&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 p0(){return l.jsxs("div",{className:"page-container max-w-3xl","aria-busy":"true","aria-live":"polite",children:[l.jsx("div",{className:"page-header",children:l.jsxs("div",{className:"page-header-left",children:[l.jsx("h1",{className:"page-title",children:"Preparing setup"}),l.jsx("p",{className:"page-subtitle",children:"Checking the projects already on this install."})]})}),l.jsxs("div",{className:"flex items-center gap-3 rounded-lg border border-default bg-surface p-4 text-sm text-secondary",role:"status",children:[l.jsx(Cr,{className:"size-4 motion-safe:animate-spin","aria-hidden":"true"}),"Loading projects…"]})]})}function WY({onRetry:e}){return l.jsxs("div",{className:"page-container max-w-3xl",children:[l.jsx("div",{className:"page-header",children:l.jsxs("div",{className:"page-header-left",children:[l.jsx("h1",{className:"page-title",children:"Can’t load projects"}),l.jsx("p",{className:"page-subtitle",children:"Canonry could not confirm whether this install already has a project."})]})}),l.jsxs("div",{className:"rounded-lg border border-negative bg-negative-soft p-4",role:"alert",tabIndex:-1,children:[l.jsx("p",{className:"text-sm font-medium text-heading",children:"Setup is paused to protect existing projects."}),l.jsx("p",{className:"mt-1 text-sm text-secondary",children:"Check the connection or sign in again, then retry."}),l.jsx(le,{type:"button",className:"mt-4",variant:"secondary",onClick:e,children:"Retry project check"})]})]})}function eX({projectName:e,initialRunId:n}){return l.jsx(n1,{title:"Site Health setup",children:l.jsx(tX,{projectName:e,initialRunId:n})})}function tX({projectName:e,initialRunId:n}){const i=js(),r=yt({...Eo({client:te}),enabled:!!e,retry:!1,refetchOnMount:"always"}),{onboardingSessionId:u,emit:h}=g4("site_health"),[f]=C.useState(()=>aY(n));C.useEffect(()=>{f&&iY()},[f]),C.useEffect(()=>{e&&h({flowVersion:ft,onboardingSessionId:u,event:"onboarding.started",step:"run",resumed:!!n&&!f},"onboarding.started")},[h,f,n,u,e]),C.useEffect(()=>{!e||!n||c4(e)?.runId!==n&&l4(e,n)},[n,e]);const v=yt({...Fg({client:te,path:{id:n??""}}),enabled:!!n,refetchInterval:({state:N})=>{const I=N.data?.status;return I==="completed"||I==="partial"||I==="failed"||I==="cancelled"?!1:2e3},refetchIntervalInBackground:!0}).data?.status;if(C.useEffect(()=>{if(!e||!n||!v)return;if(v==="completed"||v==="partial"){h({flowVersion:ft,onboardingSessionId:u,event:"onboarding.step_completed",step:"run",method:"automatic"},"onboarding.step_completed:run"),Yd(n);return}if(v!=="failed"&&v!=="cancelled")return;const N=v==="cancelled"?"run_cancelled":"run_failed";h({flowVersion:ft,onboardingSessionId:u,event:"onboarding.blocked",step:"run",action:"retry_run",reasonCode:N},`onboarding.blocked:run:${N}`),Yd(n)},[h,n,u,e,v]),!e)return l.jsxs("div",{className:"page-container max-w-3xl",children:[l.jsx("div",{className:"page-header",children:l.jsxs("div",{className:"page-header-left",children:[l.jsx("h1",{className:"page-title",children:"Project not found"}),l.jsx("p",{className:"page-subtitle",children:"This setup link does not identify a project."})]})}),l.jsx(le,{type:"button",variant:"secondary",onClick:()=>{i({to:"/projects"})},children:"View projects"})]});if(r.isPending)return l.jsxs("div",{className:"page-container max-w-3xl","aria-busy":"true","aria-live":"polite",children:[l.jsx(ko,{current:"site"}),l.jsxs("div",{className:"mt-8 flex items-center gap-3 text-sm text-secondary",role:"status",children:[l.jsx(Cr,{className:"size-4 motion-safe:animate-spin","aria-hidden":"true"}),"Loading Site Health setup…"]})]});if(r.isError)return l.jsxs("div",{className:"page-container max-w-3xl",children:[l.jsx("div",{className:"page-header",children:l.jsxs("div",{className:"page-header-left",children:[l.jsx("h1",{className:"page-title",children:"Can’t resume setup"}),l.jsx("p",{className:"page-subtitle",children:"Canonry could not load the project for this Site Health scan."})]})}),l.jsxs("div",{className:"rounded-lg border border-negative bg-negative-soft p-4",role:"alert",children:[l.jsx("p",{className:"text-sm text-secondary",children:"Check the connection or sign in again, then retry."}),l.jsx(le,{type:"button",className:"mt-4",variant:"secondary",onClick:()=>{r.refetch()},children:"Retry project check"})]})]});const w=r.data.find(N=>N.name===e);if(!w)return l.jsxs("div",{className:"page-container max-w-3xl",children:[l.jsx("div",{className:"page-header",children:l.jsxs("div",{className:"page-header-left",children:[l.jsx("h1",{className:"page-title",children:"Project not found"}),l.jsxs("p",{className:"page-subtitle",children:["Canonry could not find ",e,". It will not open a different project."]})]})}),l.jsx(le,{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})},S=()=>{i({to:"/setup",search:{experience:"legacy",onboarding:"site-health",setupProject:w.name},replace:!0})},T=()=>{h({flowVersion:ft,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 l.jsxs("div",{className:"page-container max-w-7xl py-8 md:py-10",children:[l.jsx("h1",{className:"sr-only",children:"Set up Canonry"}),l.jsx(C.Suspense,{fallback:l.jsxs("div",{className:"space-y-5",children:[l.jsx(ko,{current:"site"}),l.jsxs("div",{className:"flex min-h-72 items-center justify-center gap-3 text-sm text-secondary",role:"status",children:[l.jsx(Cr,{className:"size-4 motion-safe:animate-spin","aria-hidden":"true"}),"Loading Site Health…"]})]}),children:l.jsx(MY,{projectName:w.name,projectId:w.id,initialRunId:n,onReleaseInitialRun:k,showOnboardingActions:!0,onContinueOnboarding:S,onSkipOnboarding:T})})]})}function nX(){const e=Ck({from:"/setup"}),n=e.onboarding==="site-health"&&!e.setupProject,i=e.onboarding==="site-health"&&e.experience!=="legacy",r=YU(),u=e.experience==="legacy"?"legacy":e.experience==="platform"?"platform":r,[h,f]=C.useState(!1),[b,v]=C.useState(void 0),w=yt({...Eo({client:te}),enabled:u==="auto",retry:!1,refetchOnMount:"always"}),k=yt({...Am({client:te,query:{kind:Re["site-audit"],since:KY,limit:GY}}),enabled:u==="auto",retry:!1,refetchOnMount:"always"}),S=u==="auto"&&w.isSuccess&&w.isFetchedAfterMount&&w.data.length===0;C.useEffect(()=>{S&&f(!0)},[S]);const T=u!=="auto"?{state:"idle"}:w.isSuccess&&w.isFetchedAfterMount?{state:"success",projectCount:w.data.length}:w.isError?{state:"error"}:{state:"loading"},N=u==="legacy"?"legacy":h||S?"platform":$Y(u,T);if(e.onboarding==="complete"&&e.setupProject)return l.jsx(AY,{projectName:e.setupProject,skippedVisibility:e.skipped==="visibility"});if(n||i)return l.jsx(eX,{projectName:e.setupProject,initialRunId:e.siteHealthRunId});const I=u==="auto"&&N==="legacy"&&!e.setupProject&&w.isSuccess;if(I&&b===void 0)return k.isError?v(null):k.isSuccess&&k.isFetchedAfterMount&&v(HY(w.data,k.data)),l.jsx(p0,{});const P=I?b:null;return P?l.jsx(aX,{projectName:P.projectName,runId:P.runId}):N==="legacy"?l.jsx(wY,{visibilityProjectName:e.setupProject,siteHealthOnboarding:e.onboarding==="site-health",onboardingFinish:e.onboarding==="site-health"||e.onboarding==="first-run"}):N==="loading"?l.jsx(p0,{}):N==="retry"?l.jsx(WY,{onRetry:()=>{w.refetch()}}):l.jsx(iX,{onActivationStarted:()=>f(!0),skipSiteScan:e.siteScan==="skip"})}function aX({projectName:e,runId:n}){const i=js();return C.useEffect(()=>{i({to:"/setup",search:{onboarding:"site-health",setupProject:e,...n?{siteHealthRunId:n}:{}},replace:!0})},[i,e,n]),l.jsx(p0,{})}function iX({onActivationStarted:e,skipSiteScan:n}){return l.jsx(n1,{title:"Site Health setup",children:l.jsx(sX,{onActivationStarted:e,skipSiteScan:n})})}function sX({onActivationStarted:e,skipSiteScan:n}){const i=js(),r=la(),u=dY(),h=yt({...XK({client:te}),retry:!1}),f=ii(JK()),[b,v]=C.useState(""),[w,k]=C.useState(""),[S,T]=C.useState(""),[N,I]=C.useState("US"),[P,E]=C.useState("en"),[V,W]=C.useState(!1),[L,F]=C.useState("idle"),[Z,ae]=C.useState(null),[M,Y]=C.useState(null),[ue,Ye]=C.useState(!1),[tt,$e]=C.useState(null),[qe,ke]=C.useState(!1),Ve=h.isError?void 0:h.data,q=typeof Ve?.enabled=="boolean"?Ve.enabled:null,X=f.isPending?f.variables.body.enabled:q,[be,Se]=C.useState(null),J=C.useRef(null),{onboardingSessionId:Ne,emit:Pe}=g4("platform");C.useEffect(()=>{Pe({flowVersion:ft,onboardingSessionId:Ne,event:"onboarding.started",step:"project",resumed:!1},"onboarding.started")},[Pe,Ne]);const xe=YY(b),ce=w||xe?.projectName||"",re=S||xe?.displayName||"",H=L==="creating"||L==="dispatching",pe=M??tt,De=QY(N,P),{countryValid:je,languageValid:it}=FY(N,P),Ue=je&&it;C.useEffect(()=>{pe&&J.current?.focus()},[pe]);const St=(Me,ct)=>i({to:"/setup",search:{...ct?{siteHealthRunId:ct}:{},onboarding:"site-health",setupProject:Me.name},replace:!0}),Ge=async Me=>{F("dispatching"),$e(null);try{const ct=u.mutateAsync({projectName:Me.name,projectId:Me.id,projectLabel:Me.displayName||Me.name,suppressErrorToast:!0,body:{checkDeadLinks:!0,maxPages:Vj}}),Kt=await XY(ct);if(Kt.state==="queued"){Pe({flowVersion:ft,onboardingSessionId:Ne,event:"run.requested",origin:"dashboard_setup",result:"queued",kind:"site_health",providerCountBucket:"0",queryCountBucket:"0"}),nY(Kt.run.runId),await St(Me,Kt.run.runId);return}ct.then(()=>{Pe({flowVersion:ft,onboardingSessionId:Ne,event:"run.requested",origin:"dashboard_setup",result:"queued",kind:"site_health",providerCountBucket:"0",queryCountBucket:"0"})},Gt=>{Pe({flowVersion:ft,onboardingSessionId:Ne,event:"run.requested",origin:"dashboard_setup",result:"rejected",kind:"site_health",providerCountBucket:"0",queryCountBucket:"0",reasonCode:fc(Gt,"run_rejected")})}),JY(ct,Me.id),await St(Me)}catch(ct){F("recovery"),$e(jk(ct,"The project was created, but the Site Health scan could not be started."));const Kt=fc(ct,"run_rejected");Pe({flowVersion:ft,onboardingSessionId:Ne,event:"run.requested",origin:"dashboard_setup",result:"rejected",kind:"site_health",providerCountBucket:"0",queryCountBucket:"0",reasonCode:Kt}),Pe({flowVersion:ft,onboardingSessionId:Ne,event:"onboarding.blocked",step:"run",action:"retry_run",reasonCode:Kt},`onboarding.blocked:run:${Kt}`)}},me=async Me=>{if(Me.preventDefault(),!(!xe||!n&&!V||!Ue||H)){F("creating"),Y(null),Ye(!1),$e(null);try{const ct=await g$({name:ce,displayName:re,canonicalDomain:xe.canonicalDomain,country:N,language:P});if(e(),ae(ct),Pe({flowVersion:ft,onboardingSessionId:Ne,event:"onboarding.step_completed",step:"project",method:"manual"},"onboarding.step_completed:project"),await r.invalidateQueries({queryKey:Ss({client:te})}),n){await i({to:"/setup",search:{experience:"legacy",onboarding:"first-run",setupProject:ct.name},replace:!0});return}await Ge(ct)}catch(ct){F("idle");const Kt=ct instanceof _n&&ct.statusCode===409;Ye(Kt),Y(jk(ct,"Could not create the project. Try again.")),Pe({flowVersion:ft,onboardingSessionId:Ne,event:"onboarding.blocked",step:"project",action:"save",reasonCode:fc(ct,"project_create_failed")},"onboarding.blocked:project"),Kt&&(e(),r.invalidateQueries({queryKey:Ss({client:te})}))}}},nt=()=>{Z&&!H&&Ge(Z)},zt=()=>{H||i({to:"/projects"})},In=async()=>{try{await navigator.clipboard.writeText(UY),ke(!0)}catch{vn({tone:"negative",title:"Could not copy setup request",detail:"Open the agent quickstart to continue with the CLI instead."})}},$t=async Me=>{Se(null);try{const ct=await f.mutateAsync({client:te,body:{enabled:Me}});r.setQueryData(SA({client:te}),ct),ct.enabled!==Me&&Se(`The server kept telemetry ${ct.enabled?"on":"off"}. Check its telemetry settings.`)}catch{Se("Could not update telemetry. Try again.")}};return Z&&L==="recovery"?l.jsxs("div",{className:"page-container max-w-3xl",children:[l.jsx(ko,{current:"site"}),l.jsx("div",{className:"page-header mt-8",children:l.jsxs("div",{className:"page-header-left",children:[l.jsx("h1",{className:"page-title",children:"Project created"}),l.jsxs("p",{className:"page-subtitle",children:[Z.displayName||Z.name," is ready. The Site Health scan needs another try."]})]})}),l.jsxs("div",{ref:J,className:"rounded-lg border border-negative bg-negative-soft p-4",role:"alert",tabIndex:-1,children:[l.jsx("p",{className:"text-sm font-medium text-heading",children:tt}),l.jsx("p",{className:"mt-1 text-sm text-secondary",children:"You can retry the scan or continue setup and retry from Site Health."}),l.jsxs("div",{className:"mt-4 flex flex-wrap gap-3",children:[l.jsx(le,{type:"button",onClick:nt,children:"Retry Site Health scan"}),l.jsx(le,{type:"button",variant:"secondary",onClick:()=>{St(Z)},children:"Continue setup"})]})]})]}):l.jsxs("div",{className:"page-container max-w-xl py-8 md:py-12",children:[n?null:l.jsx(ko,{current:"site"}),l.jsxs("header",{className:`mb-8 ${n?"":"mt-8"}`,children:[l.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"}),l.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."})]}),l.jsxs("form",{"aria-labelledby":"site-map-setup-title",className:"space-y-6",onSubmit:dn(me),noValidate:!0,children:[l.jsxs("div",{className:"grid gap-2",children:[l.jsx("label",{className:"text-sm font-medium text-heading",htmlFor:"launchpad-domain",children:"Website URL"}),l.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&&!xe),"aria-describedby":b&&!xe?"launchpad-domain-hint launchpad-domain-error":"launchpad-domain-hint",placeholder:"https://example.com",value:b,onChange:Me=>{v(Me.target.value),Y(null),Ye(!1)}}),l.jsx("p",{id:"launchpad-domain-hint",className:"text-sm text-secondary",children:n?l.jsxs(l.Fragment,{children:["A public domain is still required."," ",l.jsx(Je,{to:"/setup",search:{experience:"platform"},className:"font-medium text-link underline-offset-4 hover:underline",children:"Map with Site Health instead"})]}):l.jsxs(l.Fragment,{children:["Only public pages are scanned."," ",l.jsx(Je,{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&&!xe?l.jsx("p",{id:"launchpad-domain-error",className:"text-sm text-negative",role:"alert",children:"Enter a public domain, such as example.com."}):null]}),l.jsxs("details",{className:"group border-y border-default",children:[l.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:[l.jsx("span",{className:"font-medium text-heading",children:"Project name and locale"}),l.jsxs("span",{className:"flex items-center gap-2 text-secondary",children:[De,l.jsx(Cc,{className:"size-4 transition-transform group-open:rotate-180 motion-reduce:transition-none","aria-hidden":"true"})]})]}),l.jsxs("div",{className:"space-y-5 border-t border-default py-4",children:[xe?l.jsxs("div",{children:[l.jsx("p",{className:"mb-3 text-sm font-medium text-heading",children:"Project"}),l.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[l.jsxs("div",{className:"grid gap-2",children:[l.jsx("label",{className:"text-sm text-secondary",htmlFor:"launchpad-project-name",children:"Project name"}),l.jsx("input",{id:"launchpad-project-name",className:"setup-input h-10",type:"text",value:ce,onChange:Me=>k(Me.target.value)})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx("label",{className:"text-sm text-secondary",htmlFor:"launchpad-display-name",children:"Display name"}),l.jsx("input",{id:"launchpad-display-name",className:"setup-input h-10",type:"text",value:re,onChange:Me=>T(Me.target.value)})]})]})]}):null,l.jsxs("div",{children:[l.jsx("p",{className:"mb-3 text-sm font-medium text-heading",children:"Locale"}),l.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[l.jsxs("div",{className:"grid gap-2",children:[l.jsx("label",{className:"text-sm text-secondary",htmlFor:"launchpad-country",children:"Country"}),l.jsx("select",{id:"launchpad-country",className:"setup-input h-10",value:N,onChange:Me=>I(Me.target.value),children:h4.map(Me=>l.jsx("option",{value:Me.value,children:Me.label},Me.value))})]}),l.jsxs("div",{className:"grid gap-2",children:[l.jsx("label",{className:"text-sm text-secondary",htmlFor:"launchpad-language",children:"Language"}),l.jsx("select",{id:"launchpad-language",className:"setup-input h-10",value:P,onChange:Me=>E(Me.target.value),children:f4.map(Me=>l.jsx("option",{value:Me.value,children:Me.label},Me.value))})]})]})]})]})]}),n?null:l.jsxs("label",{className:"flex min-h-11 cursor-pointer items-start gap-3 py-2",children:[l.jsx("input",{className:"mt-0.5 size-4 shrink-0 rounded border-strong bg-bg",type:"checkbox",checked:V,onChange:Me=>W(Me.target.checked),"aria-label":"Allow Canonry to scan this public site."}),l.jsxs("span",{className:"flex items-center gap-1.5",children:[l.jsx("span",{className:"text-sm leading-5 text-heading",children:"Allow Canonry to scan this public site."}),l.jsx(ja,{text:BY})]})]}),pe?l.jsxs("div",{ref:J,className:"rounded-md border border-negative bg-negative-soft p-3",role:"alert",tabIndex:-1,children:[l.jsx("p",{className:"text-sm font-medium text-heading",children:pe}),ue?l.jsx(le,{type:"button",variant:"secondary",size:"sm",className:"mt-3",onClick:zt,children:"View projects"}):null]}):null,l.jsxs("div",{className:"grid gap-2",children:[l.jsx(le,{className:"h-11 w-full",type:"submit",disabled:!xe||!n&&!V||!Ue||H,children:L==="creating"||L==="dispatching"?l.jsxs(l.Fragment,{children:[l.jsx(Cr,{className:"size-4 motion-safe:animate-spin","aria-hidden":"true"})," ",n?"Creating project…":"Mapping site…"]}):n?"Create project":"Scan site"}),L==="dispatching"?l.jsx("span",{className:"text-center text-sm text-secondary",role:"status",children:"Opening Site Health when the scan is ready."}):null]})]}),l.jsxs("section",{className:"mt-8 border-t border-default pt-6","aria-labelledby":"agent-setup-title",children:[l.jsx("p",{id:"agent-setup-title",className:"text-sm font-medium text-heading",children:"Use your agent instead"}),l.jsx("p",{className:"mt-1 text-sm leading-5 text-secondary",children:"Copy a complete CLI setup request into any agent."}),l.jsxs("div",{className:"mt-3 flex flex-wrap items-center gap-1",children:[l.jsxs(le,{type:"button",variant:"ghost",size:"sm",className:"-ml-3",onClick:dn(In),children:[qe?l.jsx(Jd,{className:"size-3.5","aria-hidden":"true"}):l.jsx(v0,{className:"size-3.5","aria-hidden":"true"}),l.jsx("span",{"aria-live":"polite",children:qe?"Copied setup request":"Copy setup request"})]}),l.jsx(le,{asChild:!0,variant:"ghost",size:"sm",children:l.jsxs("a",{href:VY,target:"_blank",rel:"noopener noreferrer",children:["Agent quickstart",l.jsx(YN,{className:"size-3.5","aria-hidden":"true"}),l.jsx("span",{className:"sr-only",children:" (opens in a new tab)"})]})})]})]}),q!==null?l.jsxs("section",{className:"mt-6 border-t border-default pt-5","aria-labelledby":"telemetry-title",children:[l.jsxs("label",{className:`flex min-h-11 items-start gap-3 py-2 ${f.isPending?"cursor-wait":"cursor-pointer"}`,children:[l.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:X??!1,disabled:f.isPending,onChange:Me=>{$t(Me.target.checked)},"aria-describedby":"telemetry-detail"}),l.jsxs("span",{className:"grid gap-0.5",children:[l.jsx("span",{id:"telemetry-title",className:"text-sm leading-5 text-heading",children:"Share anonymous product telemetry"}),l.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."})]})]}),f.isPending?l.jsx("p",{className:"mt-1 text-sm text-secondary",role:"status",children:"Saving preference…"}):null,be?l.jsx("p",{className:"mt-1 text-sm text-negative",role:"alert",children:be}):null]}):null]})}function oX(){return l.jsx("div",{className:"page-container",children:l.jsx("section",{className:"page-section",children:l.jsxs(Aa,{className:"surface-card empty-card",children:[l.jsx("h1",{children:"Route not found"}),l.jsx("p",{children:"The current path does not map to a dashboard view."}),l.jsx(le,{asChild:!0,children:l.jsx(Je,{to:"/",children:"Return to overview"})})]})})})}const Ra=As(()=>Bi(()=>import("./ProjectPage-BhCM47KA.js"),__vite__mapDeps([5,1,0,2,3,4,6,7,8,9,10,11]),import.meta.url),"ProjectPage"),rX=As(()=>Bi(()=>import("./RunsPage-fJQe2qJc.js"),__vite__mapDeps([12,1,10,4,2,7,11]),import.meta.url),"RunsPage"),lX=As(()=>Bi(()=>import("./HistoryPage-BjEVp-fk.js"),__vite__mapDeps([13,1,9,10,4,2,7,11]),import.meta.url),"HistoryPage"),cX=As(()=>Bi(()=>import("./SettingsPage-1yam5tl6.js"),__vite__mapDeps([14,1,10,4,2,7,11]),import.meta.url),"SettingsPage"),uX=As(()=>Bi(()=>import("./BacklinksPage-HIM0fmV7.js"),__vite__mapDeps([15,1,2,10,4,7,11]),import.meta.url),"BacklinksPage"),dX=As(()=>Bi(()=>import("./TrafficPage-BdNEscz8.js"),__vite__mapDeps([16,1,8,2,10,4,7,11]),import.meta.url),"TrafficPage"),mX=As(()=>Bi(()=>import("./TrafficSourceDetailPage-CMEgr4Aw.js"),__vite__mapDeps([17,1,8,3,4,2,10,7,11]),import.meta.url),"TrafficSourceDetailPage"),pX=As(()=>Bi(()=>import("./MeasurementPropertyPage-BnVDR2y_.js"),__vite__mapDeps([18,1,6,7,2,3,4,10,11]),import.meta.url),"MeasurementPropertyPage");function hX(){return l.jsx(pZ,{children:l.jsx(oK,{children:l.jsx(mZ,{})})})}const Bn=CN()({component:hX,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]))})}),fX=qt({getParentRoute:()=>Bn,path:"/",component:GZ,beforeLoad:async({context:e})=>{let n=e.queryClient.getQueryData(Ss({client:te}));if(n===void 0)try{n=await e.queryClient.ensureQueryData(Eo({client:te}))}catch{return}if(n.length===0)throw h0({to:"/setup"})}}),gX=qt({getParentRoute:()=>Bn,path:"/projects",component:ZZ}),yX=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,Ln=qt({getParentRoute:()=>Bn,path:"/projects/$projectName",component:()=>l.jsx(jf,{}),beforeLoad:async({context:e,params:n,location:i})=>{const r=n.projectName;if(!yX.test(r))return;let u=e.queryClient.getQueryData(Ss({client:te}));if(!u)try{u=await e.queryClient.ensureQueryData(Eo({client:te}))}catch{return}const h=u.find(f=>f.id===r);if(h)throw h0({to:i.pathname.replace(`/projects/${r}`,`/projects/${encodeURIComponent(h.name)}`),replace:!0})}}),bX=qt({getParentRoute:()=>Ln,path:"/",component:()=>l.jsx(Ra,{tab:"overview"})}),vX=qt({getParentRoute:()=>Ln,path:"/portfolio",component:()=>l.jsx(Ra,{tab:"portfolio"})}),xX=qt({getParentRoute:()=>Ln,path:"/search-console",component:()=>l.jsx(Ra,{tab:"search-console"})}),wX=qt({getParentRoute:()=>Ln,path:"/conversions",component:()=>l.jsx(Ra,{tab:"conversions"})}),kX=qt({getParentRoute:()=>Ln,path:"/local",component:()=>l.jsx(Ra,{tab:"local"})}),SX=qt({getParentRoute:()=>Ln,path:"/discovery",component:()=>l.jsx(Ra,{tab:"discovery"})}),jX=qt({getParentRoute:()=>Ln,path:"/queries",component:()=>l.jsx(Ra,{tab:"queries"})}),AX=qt({getParentRoute:()=>Ln,path:"/properties/$targetKey",component:()=>l.jsx(pX,{})}),CX=qt({getParentRoute:()=>Ln,path:"/report",beforeLoad:({params:e})=>{throw h0({to:"/projects/$projectName",params:e,replace:!0})}}),NX=qt({getParentRoute:()=>Ln,path:"/activity",component:()=>l.jsx(Ra,{tab:"activity"})}),_X=qt({getParentRoute:()=>Ln,path:"/backlinks",component:()=>l.jsx(Ra,{tab:"backlinks"})}),TX=qt({getParentRoute:()=>Ln,path:"/technical-aeo",component:()=>l.jsx(Ra,{tab:"technical-aeo"})}),EX=qt({getParentRoute:()=>Ln,path:"/history",component:()=>l.jsx(Ra,{tab:"history"})}),RX=qt({getParentRoute:()=>Ln,path:"/settings",component:()=>l.jsx(Ra,{tab:"settings"})}),zX=qt({getParentRoute:()=>Bn,path:"/runs",component:rX}),DX=qt({getParentRoute:()=>Bn,path:"/history",component:lX}),IX=qt({getParentRoute:()=>Bn,path:"/settings",component:cX,beforeLoad:({context:e})=>{}}),OX=qt({getParentRoute:()=>Bn,path:"/setup",component:nX}),qX=qt({getParentRoute:()=>Bn,path:"/backlinks",component:uX}),PX=qt({getParentRoute:()=>Bn,path:"/traffic",component:dX}),MX=qt({getParentRoute:()=>Bn,path:"/traffic/$projectName/$sourceId",component:mX}),BX=qt({getParentRoute:()=>Bn,path:"*",component:oX}),LX=Bn.addChildren([fX,gX,Ln.addChildren([bX,vX,xX,wX,kX,SX,jX,AX,CX,NX,_X,TX,EX,RX]),zX,DX,IX,OX,qX,PX,MX,BX]);function VX(){return typeof window<"u"&&window.__CANONRY_CONFIG__?.basePath?window.__CANONRY_CONFIG__.basePath:"/"}const Ak=VX(),UX=Ak==="/"?"":Ak.replace(/\/$/,"");function $X(e,n){return NN({routeTree:LX,basepath:UX||"/",context:{queryClient:e},...n?.initialEntries})}const KX=6e4;function GX(){const e=C.useRef(p$()).current,[n,i]=C.useState(e?"ready":"checking"),[r,u]=C.useState(null),[h,f]=C.useState(null),[b,v]=C.useState(e),[w,k]=C.useState(!1),[S,T]=C.useState(""),[N,I]=C.useState(""),[P,E]=C.useState(""),[V,W]=C.useState(!1),[L,F]=C.useState("password"),[Z,ae]=C.useState(null),[M,Y]=C.useState(!1),[ue,Ye]=C.useState(!1),tt=C.useRef(null),$e=C.useRef(null),qe=C.useRef(null),ke=()=>{const H=r?`${r.name}:${r.role}`:e?"api-key:explicit":h?`api-key:${h.id}`:"no-accounts";if(!tt.current||qe.current!==H){$e.current?.clear();const pe=aK();$e.current=pe,tt.current=$X(pe),qe.current=H}return{queryClient:$e.current,router:tt.current}},Ve=H=>H.authRequired?(k(!0),u(H.user),f(null),v(!1),i(H.user?"ready":"account-login"),!0):!1;C.useEffect(()=>{let H=!1;const pe=async(De,je=!1)=>{try{const it=await hf();if(H)return;f(it),v(!1),i("ready")}catch(it){if(H)return;if(je&&it instanceof _n&&it.statusCode===401)return j$().then(()=>{H||(ae(null),f(null),v(!1),Ye(!0),i("login"))}).catch(Ue=>{H||(ae(Ue instanceof Error?Ue.message:"Could not clear the invalid session"),i(De))});ae(it instanceof Error?it.message:"Could not verify API key access"),i(De)}};return e?(pe("api-key-error"),()=>{H=!0}):(Promise.allSettled([Rw(),Ew()]).then(([De,je])=>{if(H||De.status==="fulfilled"&&Ve(De.value))return;if(je.status==="rejected"){const Ue=je.reason;ae(Ue instanceof Error?Ue.message:"Failed to reach the Canonry API"),i("login");return}const it=je.value;it.authenticated?(v(!0),pe("api-key-error",!0)):(f(null),v(!1),i(it.setupRequired?"setup":"login"))}),()=>{H=!0})},[]),C.useEffect(()=>{if(n!=="ready"||e)return;const H=setInterval(()=>{if(w){Rw().then(pe=>{pe.authRequired&&!pe.user&&(Ye(!0),u(null),f(null),i("account-login"))}).catch(()=>{});return}Ew().then(pe=>{pe.authenticated||(Ye(!0),f(null),i(pe.setupRequired?"setup":"login"))}).catch(()=>{})},KX);return Tw(()=>{Ye(!0),u(null),f(null),v(!1),i(w?"account-login":"login")}),()=>{clearInterval(H),Tw(null)}},[n,w,e]);const q=async H=>{if(H.preventDefault(),!N.trim()||N.trim().length<8){ae("Password must be at least 8 characters");return}if(N!==P){ae("Passwords do not match");return}Y(!0),ae(null);try{if(!(await w$(N.trim())).authenticated){ae("Setup failed");return}I(""),E(""),W(!1),Ye(!1),f(null),v(!0),i("checking");try{const De=await hf();f(De),v(!1),i("ready")}catch(De){ae(De instanceof Error?De.message:"Could not verify API key access"),i("api-key-error")}}catch(pe){ae(pe instanceof _n||pe instanceof Error?pe.message:"Setup failed")}finally{Y(!1)}},X=H=>{I(H),ae(null)},be=H=>{E(H),ae(null)},Se=async H=>{if(H.preventDefault(),!!N.trim()){Y(!0),ae(null);try{if(!(L==="api-key"?await S$(N.trim()):await k$(N.trim())).authenticated){ae(L==="api-key"?"Invalid API key":"Incorrect password");return}const De=await hf();f(De),v(!1),I(""),W(!1),Ye(!1),i("ready")}catch(pe){ae(pe instanceof _n||pe instanceof Error?pe.message:"Authentication failed")}finally{Y(!1)}}},J=H=>{F(H),I(""),W(!1),ae(null)},Ne=async H=>{if(H.preventDefault(),!(!S.trim()||!N)){Y(!0),ae(null);try{const pe=await A$(S.trim(),N);if(!pe.user){ae("Incorrect name or password.");return}I(""),Ye(!1),u(pe.user),f(null),v(!1),i("ready")}catch(pe){ae(pe instanceof _n?pe.message:"Incorrect name or password.")}finally{Y(!1)}}};if(n==="ready"){const{queryClient:H,router:pe}=ke();return l.jsx(Q$,{account:r,apiKey:h,apiKeyPending:b,children:l.jsx(_N,{client:H,children:l.jsx(TN,{router:pe})})})}const Pe=N.trim(),xe=N.length>0&&Pe.length<8,ce=P.length>0&&N!==P,re=Pe.length>=8&&N===P;return l.jsx("div",{className:"min-h-screen bg-bg px-4 py-8",children:l.jsxs("div",{className:"mx-auto flex min-h-[calc(100vh-4rem)] max-w-md flex-col items-center justify-center gap-5",children:[l.jsxs("div",{"data-testid":"auth-brand",className:"flex items-center gap-2.5",children:[l.jsx("img",{className:"size-7",src:"./favicon.svg",alt:"","aria-hidden":"true"}),l.jsx("span",{className:"text-lg font-semibold tracking-tight text-heading",children:"Canonry"})]}),l.jsx(Aa,{className:"surface-card w-full",children:n==="checking"?l.jsx(fo,{className:"py-8",children:l.jsx("p",{className:"supporting-copy text-center",children:"Connecting to Canonry…"})}):n==="api-key-error"?l.jsxs(l.Fragment,{children:[l.jsxs(kr,{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Dashboard access"}),l.jsx("h1",{className:"font-medium tracking-tight text-primary",children:"Could not verify API key access"})]}),l.jsxs(fo,{className:"space-y-4",children:[l.jsx("p",{className:"supporting-copy",children:Z??"Canonry could not verify this session’s access, so the dashboard stayed locked."}),l.jsx(le,{type:"button",className:"w-full",onClick:()=>{window.location.reload()},children:"Try again"})]})]}):n==="account-login"?l.jsxs(l.Fragment,{children:[l.jsxs(kr,{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Dashboard access"}),l.jsx("h1",{className:"font-medium tracking-tight text-primary",children:"Sign in to Canonry"})]}),l.jsxs(fo,{children:[ue?l.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,l.jsxs("form",{className:"space-y-4",onSubmit:dn(Ne),children:[l.jsxs("label",{className:"block space-y-1.5",htmlFor:"account-name",children:[l.jsx("span",{className:"text-xs font-medium text-secondary",children:"Name"}),l.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:S,onChange:H=>{T(H.target.value),ae(null)},"aria-invalid":!!Z,"aria-describedby":Z?"account-login-error":void 0})]}),l.jsxs("label",{className:"block space-y-1.5",htmlFor:"account-password",children:[l.jsx("span",{className:"text-xs font-medium text-secondary",children:"Password"}),l.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:N,onChange:H=>X(H.target.value),"aria-invalid":!!Z,"aria-describedby":Z?"account-login-error":void 0})]}),Z?l.jsx("p",{id:"account-login-error",role:"alert",className:"text-sm text-negative-400",children:Z}):null,l.jsx(le,{type:"submit",disabled:M||!S.trim()||!N,children:M?"Signing in…":"Sign in"})]})]})]}):n==="setup"?l.jsxs(l.Fragment,{children:[l.jsxs(kr,{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"First-time setup"}),l.jsx("h1",{className:"font-medium tracking-tight text-primary",children:"Create a dashboard password"}),l.jsx(Qd,{children:"This password protects the dashboard on this computer."})]}),l.jsx(fo,{children:l.jsxs("form",{className:"space-y-4",onSubmit:dn(q),children:[l.jsxs("div",{className:"space-y-1.5",children:[l.jsx("label",{className:"block text-xs font-medium text-secondary",htmlFor:"dashboard-password-new",children:"Password"}),l.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:V?"text":"password",name:"new-password",autoComplete:"new-password",minLength:8,required:!0,value:N,onChange:H=>X(H.target.value),"aria-invalid":xe,"aria-describedby":"dashboard-password-new-help"}),l.jsx("span",{id:"dashboard-password-new-help","aria-live":"polite",className:xe?"block text-sm text-negative-400":"block text-sm text-secondary",children:xe?"Enter at least 8 characters.":"Use at least 8 characters."})]}),l.jsxs("div",{className:"space-y-1.5",children:[l.jsx("label",{className:"block text-xs font-medium text-secondary",htmlFor:"dashboard-password-confirm",children:"Confirm password"}),l.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:V?"text":"password",name:"confirm-password",autoComplete:"new-password",minLength:8,required:!0,value:P,onChange:H=>be(H.target.value),"aria-invalid":ce,"aria-describedby":"dashboard-password-confirm-help"}),l.jsx("span",{id:"dashboard-password-confirm-help","aria-live":"polite",className:ce?"block text-sm text-negative-400":"block text-sm text-secondary",children:ce?"Passwords do not match.":"Enter the same password again."})]}),l.jsxs("label",{className:"flex min-h-10 cursor-pointer items-center gap-2 text-sm text-secondary",htmlFor:"dashboard-password-show",children:[l.jsx("input",{id:"dashboard-password-show",type:"checkbox",checked:V,onChange:H=>W(H.target.checked)}),"Show passwords"]}),Z?l.jsx("p",{id:"dashboard-password-setup-error",role:"alert",className:"text-sm text-negative-400",children:Z}):null,l.jsx(le,{type:"submit",disabled:M||!re,children:M?"Creating password…":"Create password and continue"})]})})]}):l.jsxs(l.Fragment,{children:[l.jsxs(kr,{children:[l.jsx("p",{className:"eyebrow eyebrow-soft",children:"Dashboard access"}),l.jsx("h1",{className:"font-medium tracking-tight text-primary",children:"Sign in to Canonry"}),l.jsx(Qd,{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."})]}),l.jsxs(fo,{children:[ue?l.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,l.jsxs("form",{className:"space-y-4",onSubmit:dn(Se),children:[l.jsxs("label",{className:"block space-y-1.5",htmlFor:"dashboard-password-current",children:[l.jsx("span",{className:"text-xs font-medium text-secondary",children:L==="api-key"?"Canonry API key":"Password"}),l.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:V?"text":"password",name:L==="api-key"?"apiKey":"password",autoComplete:L==="api-key"?"off":"current-password",spellCheck:!1,required:!0,value:N,onChange:H=>X(H.target.value),"aria-invalid":!!Z,"aria-describedby":Z?"dashboard-password-login-error":void 0})]}),l.jsxs("label",{className:"flex min-h-10 cursor-pointer items-center gap-2 text-sm text-secondary",htmlFor:"dashboard-login-password-show",children:[l.jsx("input",{id:"dashboard-login-password-show",type:"checkbox",checked:V,onChange:H=>W(H.target.checked)}),L==="api-key"?"Show API key":"Show password"]}),Z?l.jsx("p",{id:"dashboard-password-login-error",role:"alert",className:"text-sm text-negative-400",children:Z}):null,l.jsx(le,{type:"submit",disabled:M||!N.trim(),children:M?"Signing in…":"Open dashboard"}),l.jsx(le,{type:"button",variant:"ghost",onClick:()=>J(L==="api-key"?"password":"api-key"),children:L==="api-key"?"Use dashboard password instead":"Forgot password? Use API key"})]})]})]})})]})})}const y4=document.getElementById("root");if(!y4)throw new Error("Expected #root element for web app bootstrap.");i5.createRoot(y4).render(l.jsx(C.StrictMode,{children:l.jsx(GX,{})}));export{ate as $,dn as A,le as B,uc as C,jte as D,Nte as E,Cte as F,RW as G,DW as H,ja as I,zW as J,ua as K,lK as L,Yte as M,hne as N,fne as O,vQ as P,fK as Q,La as R,TZ as S,yn as T,CJ as U,tee as V,iee as W,aW as X,WW as Y,tte as Z,ite as _,Zte as a,AK as a$,mW as a0,dW as a1,kW as a2,vn as a3,rte as a4,lte as a5,yW as a6,cte as a7,bW as a8,hW as a9,_n as aA,YW as aB,FJ as aC,cK as aD,bH as aE,Yf as aF,XW as aG,kd as aH,Tte as aI,r0 as aJ,ho as aK,mK as aL,Qt as aM,eK as aN,gee as aO,bF as aP,fW as aQ,TJ as aR,NJ as aS,Ei as aT,lne as aU,cne as aV,jJ as aW,GJ as aX,gI as aY,SJ as aZ,kJ as a_,gW as aa,ste as ab,ote as ac,nte as ad,pW as ae,ute as af,yte as ag,pte as ah,fte as ai,hte as aj,gte as ak,BW as al,Zg as am,Re as an,mte as ao,NA as ap,Pi as aq,dte as ar,d0 as as,$D as at,KD as au,wJ as av,xJ as aw,UW as ax,FW as ay,ZW as az,hK as b,rJ as b$,QK as b0,kee as b1,Nee as b2,See as b3,VJ as b4,$J as b5,RV as b6,KJ as b7,qK as b8,wee as b9,Gee as bA,Hee as bB,Oee as bC,$ee as bD,Pee as bE,Qee as bF,Mee as bG,Fee as bH,Vee as bI,Yee as bJ,Wee as bK,oY as bL,Bee as bM,he as bN,bJ as bO,yJ as bP,gJ as bQ,fJ as bR,mJ as bS,dJ as bT,hJ as bU,pJ as bV,uJ as bW,cJ as bX,nJ as bY,aJ as bZ,lJ as b_,DV as ba,Ff as bb,UJ as bc,i$ as bd,jee as be,xee as bf,MK as bg,Aee as bh,ane as bi,Cee as bj,Ite as bk,Ote as bl,vW as bm,Qg as bn,_te as bo,kA as bp,zee as bq,Iee as br,Uee as bs,Jee as bt,Xee as bu,Lee as bv,Zee as bw,ete as bx,qee as by,Kee as bz,vJ as c,XJ as c$,oJ as c0,iJ as c1,sJ as c2,tJ as c3,eJ as c4,WX as c5,JX as c6,T5 as c7,tW as c8,eW as c9,yF as cA,TK as cB,go as cC,Xd as cD,eG as cE,gY as cF,gne as cG,tne as cH,fF as cI,ene as cJ,uY as cK,_ee as cL,dee as cM,Wte as cN,fee as cO,mee as cP,i9 as cQ,XD as cR,Tee as cS,Jte as cT,pee as cU,Hte as cV,jF as cW,f$ as cX,bK as cY,AF as cZ,YJ as c_,WJ as ca,EW as cb,YK as cc,Dee as cd,ree as ce,_J as cf,Pw as cg,sW as ch,oW as ci,see as cj,oee as ck,rW as cl,lW as cm,uW as cn,cW as co,Uc as cp,Eo as cq,lA as cr,uee as cs,cee as ct,nF as cu,a0 as cv,Kd as cw,i0 as cx,Gd as cy,Hd as cz,pK as d,BJ as d$,ZJ as d0,b$ as d1,nne as d2,ine as d3,sne as d4,rne as d5,JJ as d6,Ss as d7,jK as d8,_K as d9,iW as dA,xW as dB,wW as dC,n1 as dD,Em as dE,Wg as dF,fY as dG,TW as dH,Pr as dI,Bw as dJ,LW as dK,$W as dL,GW as dM,HW as dN,VW as dO,KW as dP,QW as dQ,pf as dR,MW as dS,zte as dT,QZ as dU,LJ as dV,qg as dW,lee as dX,Ete as dY,Dte as dZ,PW as d_,nW as da,hQ as db,bte as dc,T$ as dd,NW as de,xte as df,wte as dg,kte as dh,vte as di,nee as dj,SW as dk,jW as dl,AW as dm,_W as dn,CW as dp,Jg as dq,qr as dr,Am as ds,pne as dt,Tm as du,Eee as dv,Ree as dw,l$ as dx,HJ as dy,QJ as dz,une as e,OW as e0,qW as e1,IW as e2,Rte as e3,eee as e4,A9 as e5,yee as e6,hee as e7,vee as e8,bee as e9,PJ as eA,$te as eB,hM as eC,qJ as eD,OJ as eE,Yw as ea,zJ as eb,Bi as ec,Ea as ed,RJ as ee,a$ as ef,HG as eg,Pte as eh,qte as ei,dY as ej,Lte as ek,wF as el,MJ as em,DJ as en,Qte as eo,Fte as ep,Mte as eq,Bte as er,EJ as es,Ute as et,Gte as eu,Vte as ev,Kte as ew,ko as ex,Vj as ey,IJ as ez,Bd as f,one as g,dne as h,mne as i,s0 as j,Tc as k,P0 as l,Xte as m,KL as n,JW as o,Ste as p,Ate as q,Aa as r,aee as s,dK as t,e1 as u,AJ as v,te as w,cA as x,Ar as y,Pn as z};