@codeatlas/mcp 2.0.2 → 2.0.3
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.
- package/dist/mcp-server.js +231 -205
- package/dist/webview-ui/dist/assets/index.js +20 -20
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var
|
|
1
|
+
var NR=Object.defineProperty;var AR=(e,t,n)=>t in e?NR(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var My=(e,t,n)=>AR(e,typeof t!="symbol"?t+"":t,n);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const a of o.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});function n(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(i){if(i.ep)return;i.ep=!0;const o=n(i);fetch(i.href,o)}})();var Ja=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Um(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var vE={exports:{}},zl={},yE={exports:{}},he={};/**
|
|
2
2
|
* @license React
|
|
3
3
|
* react.production.min.js
|
|
4
4
|
*
|
|
@@ -6,7 +6,7 @@ var _R=Object.defineProperty;var ER=(e,t,n)=>t in e?_R(e,t,{enumerable:!0,config
|
|
|
6
6
|
*
|
|
7
7
|
* This source code is licensed under the MIT license found in the
|
|
8
8
|
* LICENSE file in the root directory of this source tree.
|
|
9
|
-
*/var
|
|
9
|
+
*/var ka=Symbol.for("react.element"),IR=Symbol.for("react.portal"),TR=Symbol.for("react.fragment"),PR=Symbol.for("react.strict_mode"),MR=Symbol.for("react.profiler"),LR=Symbol.for("react.provider"),$R=Symbol.for("react.context"),zR=Symbol.for("react.forward_ref"),OR=Symbol.for("react.suspense"),FR=Symbol.for("react.memo"),qR=Symbol.for("react.lazy"),Ly=Symbol.iterator;function DR(e){return e===null||typeof e!="object"?null:(e=Ly&&e[Ly]||e["@@iterator"],typeof e=="function"?e:null)}var xE={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},wE=Object.assign,bE={};function Zi(e,t,n){this.props=e,this.context=t,this.refs=bE,this.updater=n||xE}Zi.prototype.isReactComponent={};Zi.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};Zi.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function SE(){}SE.prototype=Zi.prototype;function Vm(e,t,n){this.props=e,this.context=t,this.refs=bE,this.updater=n||xE}var Gm=Vm.prototype=new SE;Gm.constructor=Vm;wE(Gm,Zi.prototype);Gm.isPureReactComponent=!0;var $y=Array.isArray,_E=Object.prototype.hasOwnProperty,Km={current:null},EE={key:!0,ref:!0,__self:!0,__source:!0};function kE(e,t,n){var r,i={},o=null,a=null;if(t!=null)for(r in t.ref!==void 0&&(a=t.ref),t.key!==void 0&&(o=""+t.key),t)_E.call(t,r)&&!EE.hasOwnProperty(r)&&(i[r]=t[r]);var s=arguments.length-2;if(s===1)i.children=n;else if(1<s){for(var l=Array(s),c=0;c<s;c++)l[c]=arguments[c+2];i.children=l}if(e&&e.defaultProps)for(r in s=e.defaultProps,s)i[r]===void 0&&(i[r]=s[r]);return{$$typeof:ka,type:e,key:o,ref:a,props:i,_owner:Km.current}}function BR(e,t){return{$$typeof:ka,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function Ym(e){return typeof e=="object"&&e!==null&&e.$$typeof===ka}function HR(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var zy=/\/+/g;function Bc(e,t){return typeof e=="object"&&e!==null&&e.key!=null?HR(""+e.key):t.toString(36)}function $s(e,t,n,r,i){var o=typeof e;(o==="undefined"||o==="boolean")&&(e=null);var a=!1;if(e===null)a=!0;else switch(o){case"string":case"number":a=!0;break;case"object":switch(e.$$typeof){case ka:case IR:a=!0}}if(a)return a=e,i=i(a),e=r===""?"."+Bc(a,0):r,$y(i)?(n="",e!=null&&(n=e.replace(zy,"$&/")+"/"),$s(i,t,n,"",function(c){return c})):i!=null&&(Ym(i)&&(i=BR(i,n+(!i.key||a&&a.key===i.key?"":(""+i.key).replace(zy,"$&/")+"/")+e)),t.push(i)),1;if(a=0,r=r===""?".":r+":",$y(e))for(var s=0;s<e.length;s++){o=e[s];var l=r+Bc(o,s);a+=$s(o,t,n,l,i)}else if(l=DR(e),typeof l=="function")for(e=l.call(e),s=0;!(o=e.next()).done;)o=o.value,l=r+Bc(o,s++),a+=$s(o,t,n,l,i);else if(o==="object")throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return a}function es(e,t,n){if(e==null)return e;var r=[],i=0;return $s(e,r,"","",function(o){return t.call(n,o,i++)}),r}function WR(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var yt={current:null},zs={transition:null},UR={ReactCurrentDispatcher:yt,ReactCurrentBatchConfig:zs,ReactCurrentOwner:Km};function CE(){throw Error("act(...) is not supported in production builds of React.")}he.Children={map:es,forEach:function(e,t,n){es(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return es(e,function(){t++}),t},toArray:function(e){return es(e,function(t){return t})||[]},only:function(e){if(!Ym(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};he.Component=Zi;he.Fragment=TR;he.Profiler=MR;he.PureComponent=Vm;he.StrictMode=PR;he.Suspense=OR;he.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=UR;he.act=CE;he.cloneElement=function(e,t,n){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var r=wE({},e.props),i=e.key,o=e.ref,a=e._owner;if(t!=null){if(t.ref!==void 0&&(o=t.ref,a=Km.current),t.key!==void 0&&(i=""+t.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(l in t)_E.call(t,l)&&!EE.hasOwnProperty(l)&&(r[l]=t[l]===void 0&&s!==void 0?s[l]:t[l])}var l=arguments.length-2;if(l===1)r.children=n;else if(1<l){s=Array(l);for(var c=0;c<l;c++)s[c]=arguments[c+2];r.children=s}return{$$typeof:ka,type:e.type,key:i,ref:o,props:r,_owner:a}};he.createContext=function(e){return e={$$typeof:$R,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:LR,_context:e},e.Consumer=e};he.createElement=kE;he.createFactory=function(e){var t=kE.bind(null,e);return t.type=e,t};he.createRef=function(){return{current:null}};he.forwardRef=function(e){return{$$typeof:zR,render:e}};he.isValidElement=Ym;he.lazy=function(e){return{$$typeof:qR,_payload:{_status:-1,_result:e},_init:WR}};he.memo=function(e,t){return{$$typeof:FR,type:e,compare:t===void 0?null:t}};he.startTransition=function(e){var t=zs.transition;zs.transition={};try{e()}finally{zs.transition=t}};he.unstable_act=CE;he.useCallback=function(e,t){return yt.current.useCallback(e,t)};he.useContext=function(e){return yt.current.useContext(e)};he.useDebugValue=function(){};he.useDeferredValue=function(e){return yt.current.useDeferredValue(e)};he.useEffect=function(e,t){return yt.current.useEffect(e,t)};he.useId=function(){return yt.current.useId()};he.useImperativeHandle=function(e,t,n){return yt.current.useImperativeHandle(e,t,n)};he.useInsertionEffect=function(e,t){return yt.current.useInsertionEffect(e,t)};he.useLayoutEffect=function(e,t){return yt.current.useLayoutEffect(e,t)};he.useMemo=function(e,t){return yt.current.useMemo(e,t)};he.useReducer=function(e,t,n){return yt.current.useReducer(e,t,n)};he.useRef=function(e){return yt.current.useRef(e)};he.useState=function(e){return yt.current.useState(e)};he.useSyncExternalStore=function(e,t,n){return yt.current.useSyncExternalStore(e,t,n)};he.useTransition=function(){return yt.current.useTransition()};he.version="18.3.1";yE.exports=he;var w=yE.exports;const H=Um(w);/**
|
|
10
10
|
* @license React
|
|
11
11
|
* react-jsx-runtime.production.min.js
|
|
12
12
|
*
|
|
@@ -14,7 +14,7 @@ var _R=Object.defineProperty;var ER=(e,t,n)=>t in e?_R(e,t,{enumerable:!0,config
|
|
|
14
14
|
*
|
|
15
15
|
* This source code is licensed under the MIT license found in the
|
|
16
16
|
* LICENSE file in the root directory of this source tree.
|
|
17
|
-
*/var
|
|
17
|
+
*/var VR=w,GR=Symbol.for("react.element"),KR=Symbol.for("react.fragment"),YR=Object.prototype.hasOwnProperty,XR=VR.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,QR={key:!0,ref:!0,__self:!0,__source:!0};function jE(e,t,n){var r,i={},o=null,a=null;n!==void 0&&(o=""+n),t.key!==void 0&&(o=""+t.key),t.ref!==void 0&&(a=t.ref);for(r in t)YR.call(t,r)&&!QR.hasOwnProperty(r)&&(i[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps,t)i[r]===void 0&&(i[r]=t[r]);return{$$typeof:GR,type:e,key:o,ref:a,props:i,_owner:XR.current}}zl.Fragment=KR;zl.jsx=jE;zl.jsxs=jE;vE.exports=zl;var d=vE.exports;(function(){if(typeof window>"u"||typeof window.acquireVsCodeApi=="function")return;const t="[CodeAtlas WS]",n=window.location.port||"7742",r=`ws://${window.location.hostname||"localhost"}:${n}`;let i=null,o=0,a=0,s=0;const l=1e4,c=100,u=[];let f=!1;const h=[];let p="disconnected";function v(C){console.log(`${t} ${C}`)}function g(C){console.warn(`${t} ${C}`)}function S(C){const N=p;p=C,N!==C&&v(`State: ${N} → ${C}`),window.dispatchEvent(new CustomEvent("ws-status",{detail:C}))}function m(){if(u.length!==0)for(v(`Flushing ${u.length} queued message(s)`);u.length>0&&i&&i.readyState===WebSocket.OPEN;)i.send(u.shift()),a++}function y(){S("connecting"),v(`Connecting to ${r} (attempt ${o+1})`);try{i=new WebSocket(r)}catch(C){g(`Failed to create WebSocket: ${C}`),x();return}i.onopen=()=>{S("connected"),v(`Connected successfully${o>0?` after ${o} retries`:""}`),o=0,m()},i.onmessage=C=>{try{if(typeof C.data=="string"&&C.data.length>10*1024*1024){console.warn("[CodeAtlas WS] Message too large:",C.data.length,"bytes — dropped");return}const N=JSON.parse(C.data);s++,f?window.dispatchEvent(new MessageEvent("message",{data:N})):h.push(N)}catch(N){g(`Failed to parse incoming message: ${N}`)}},i.onclose=C=>{v(`Connection closed (code=${C.code}, reason="${C.reason||"none"}", clean=${C.wasClean})`),v(`Session stats: ${a} sent, ${s} received`),S("disconnected"),x()},i.onerror=C=>{g(`WebSocket error (readyState=${i==null?void 0:i.readyState})`)}}function x(){const C=1e3*Math.pow(2,o),N=Math.min(C,l);o++,v(`Reconnecting in ${N}ms (attempt ${o})`),setTimeout(y,N)}function b(){if(!f&&(f=!0,h.length>0)){v(`Replaying ${h.length} buffered incoming message(s)`);for(const C of h)window.dispatchEvent(new MessageEvent("message",{data:C}));h.length=0}}window.vscodeApi={postMessage:C=>{const N=JSON.stringify(C);i&&i.readyState===WebSocket.OPEN?(i.send(N),a++):u.length<c?(u.push(N),u.length===1&&v(`Queuing messages (connection not ready, state=${p})`)):g(`Message queue full (${c}), dropping: ${C.type}`)},getState:()=>({}),setState:()=>{},flushIncoming:b,getConnectionState:()=>p},window.__codeAtlasBrowserMode=!0,v(`Initializing browser bridge (target: ${r})`),y()})();var Rg={},RE={exports:{}},qt={},NE={exports:{}},AE={};/**
|
|
18
18
|
* @license React
|
|
19
19
|
* scheduler.production.min.js
|
|
20
20
|
*
|
|
@@ -22,7 +22,7 @@ var _R=Object.defineProperty;var ER=(e,t,n)=>t in e?_R(e,t,{enumerable:!0,config
|
|
|
22
22
|
*
|
|
23
23
|
* This source code is licensed under the MIT license found in the
|
|
24
24
|
* LICENSE file in the root directory of this source tree.
|
|
25
|
-
*/(function(e){function t(
|
|
25
|
+
*/(function(e){function t(M,P){var A=M.length;M.push(P);e:for(;0<A;){var q=A-1>>>1,D=M[q];if(0<i(D,P))M[q]=P,M[A]=D,A=q;else break e}}function n(M){return M.length===0?null:M[0]}function r(M){if(M.length===0)return null;var P=M[0],A=M.pop();if(A!==P){M[0]=A;e:for(var q=0,D=M.length,W=D>>>1;q<W;){var V=2*(q+1)-1,J=M[V],te=V+1,se=M[te];if(0>i(J,A))te<D&&0>i(se,J)?(M[q]=se,M[te]=A,q=te):(M[q]=J,M[V]=A,q=V);else if(te<D&&0>i(se,A))M[q]=se,M[te]=A,q=te;else break e}}return P}function i(M,P){var A=M.sortIndex-P.sortIndex;return A!==0?A:M.id-P.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var a=Date,s=a.now();e.unstable_now=function(){return a.now()-s}}var l=[],c=[],u=1,f=null,h=3,p=!1,v=!1,g=!1,S=typeof setTimeout=="function"?setTimeout:null,m=typeof clearTimeout=="function"?clearTimeout:null,y=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function x(M){for(var P=n(c);P!==null;){if(P.callback===null)r(c);else if(P.startTime<=M)r(c),P.sortIndex=P.expirationTime,t(l,P);else break;P=n(c)}}function b(M){if(g=!1,x(M),!v)if(n(l)!==null)v=!0,k(C);else{var P=n(c);P!==null&&L(b,P.startTime-M)}}function C(M,P){v=!1,g&&(g=!1,m(R),R=-1),p=!0;var A=h;try{for(x(P),f=n(l);f!==null&&(!(f.expirationTime>P)||M&&!I());){var q=f.callback;if(typeof q=="function"){f.callback=null,h=f.priorityLevel;var D=q(f.expirationTime<=P);P=e.unstable_now(),typeof D=="function"?f.callback=D:f===n(l)&&r(l),x(P)}else r(l);f=n(l)}if(f!==null)var W=!0;else{var V=n(c);V!==null&&L(b,V.startTime-P),W=!1}return W}finally{f=null,h=A,p=!1}}var N=!1,E=null,R=-1,T=5,_=-1;function I(){return!(e.unstable_now()-_<T)}function z(){if(E!==null){var M=e.unstable_now();_=M;var P=!0;try{P=E(!0,M)}finally{P?$():(N=!1,E=null)}}else N=!1}var $;if(typeof y=="function")$=function(){y(z)};else if(typeof MessageChannel<"u"){var j=new MessageChannel,F=j.port2;j.port1.onmessage=z,$=function(){F.postMessage(null)}}else $=function(){S(z,0)};function k(M){E=M,N||(N=!0,$())}function L(M,P){R=S(function(){M(e.unstable_now())},P)}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(M){M.callback=null},e.unstable_continueExecution=function(){v||p||(v=!0,k(C))},e.unstable_forceFrameRate=function(M){0>M||125<M?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):T=0<M?Math.floor(1e3/M):5},e.unstable_getCurrentPriorityLevel=function(){return h},e.unstable_getFirstCallbackNode=function(){return n(l)},e.unstable_next=function(M){switch(h){case 1:case 2:case 3:var P=3;break;default:P=h}var A=h;h=P;try{return M()}finally{h=A}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(M,P){switch(M){case 1:case 2:case 3:case 4:case 5:break;default:M=3}var A=h;h=M;try{return P()}finally{h=A}},e.unstable_scheduleCallback=function(M,P,A){var q=e.unstable_now();switch(typeof A=="object"&&A!==null?(A=A.delay,A=typeof A=="number"&&0<A?q+A:q):A=q,M){case 1:var D=-1;break;case 2:D=250;break;case 5:D=1073741823;break;case 4:D=1e4;break;default:D=5e3}return D=A+D,M={id:u++,callback:P,priorityLevel:M,startTime:A,expirationTime:D,sortIndex:-1},A>q?(M.sortIndex=A,t(c,M),n(l)===null&&M===n(c)&&(g?(m(R),R=-1):g=!0,L(b,A-q))):(M.sortIndex=D,t(l,M),v||p||(v=!0,k(C))),M},e.unstable_shouldYield=I,e.unstable_wrapCallback=function(M){var P=h;return function(){var A=h;h=P;try{return M.apply(this,arguments)}finally{h=A}}}})(AE);NE.exports=AE;var ZR=NE.exports;/**
|
|
26
26
|
* @license React
|
|
27
27
|
* react-dom.production.min.js
|
|
28
28
|
*
|
|
@@ -30,14 +30,14 @@ var _R=Object.defineProperty;var ER=(e,t,n)=>t in e?_R(e,t,{enumerable:!0,config
|
|
|
30
30
|
*
|
|
31
31
|
* This source code is licensed under the MIT license found in the
|
|
32
32
|
* LICENSE file in the root directory of this source tree.
|
|
33
|
-
*/var
|
|
34
|
-
`+
|
|
33
|
+
*/var JR=w,Ot=ZR;function K(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var IE=new Set,ta={};function ei(e,t){Di(e,t),Di(e+"Capture",t)}function Di(e,t){for(ta[e]=t,e=0;e<t.length;e++)IE.add(t[e])}var On=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ng=Object.prototype.hasOwnProperty,eN=/^[: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]*$/,Oy={},Fy={};function tN(e){return Ng.call(Fy,e)?!0:Ng.call(Oy,e)?!1:eN.test(e)?Fy[e]=!0:(Oy[e]=!0,!1)}function nN(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function rN(e,t,n,r){if(t===null||typeof t>"u"||nN(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function xt(e,t,n,r,i,o,a){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=a}var rt={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){rt[e]=new xt(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];rt[t]=new xt(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){rt[e]=new xt(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){rt[e]=new xt(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){rt[e]=new xt(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){rt[e]=new xt(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){rt[e]=new xt(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){rt[e]=new xt(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){rt[e]=new xt(e,5,!1,e.toLowerCase(),null,!1,!1)});var Xm=/[\-:]([a-z])/g;function Qm(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(Xm,Qm);rt[t]=new xt(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(Xm,Qm);rt[t]=new xt(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(Xm,Qm);rt[t]=new xt(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){rt[e]=new xt(e,1,!1,e.toLowerCase(),null,!1,!1)});rt.xlinkHref=new xt("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){rt[e]=new xt(e,1,!1,e.toLowerCase(),null,!0,!0)});function Zm(e,t,n,r){var i=rt.hasOwnProperty(t)?rt[t]:null;(i!==null?i.type!==0:r||!(2<t.length)||t[0]!=="o"&&t[0]!=="O"||t[1]!=="n"&&t[1]!=="N")&&(rN(t,n,i,r)&&(n=null),r||i===null?tN(t)&&(n===null?e.removeAttribute(t):e.setAttribute(t,""+n)):i.mustUseProperty?e[i.propertyName]=n===null?i.type===3?!1:"":n:(t=i.attributeName,r=i.attributeNamespace,n===null?e.removeAttribute(t):(i=i.type,n=i===3||i===4&&n===!0?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}var Vn=JR.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,ts=Symbol.for("react.element"),yi=Symbol.for("react.portal"),xi=Symbol.for("react.fragment"),Jm=Symbol.for("react.strict_mode"),Ag=Symbol.for("react.profiler"),TE=Symbol.for("react.provider"),PE=Symbol.for("react.context"),ev=Symbol.for("react.forward_ref"),Ig=Symbol.for("react.suspense"),Tg=Symbol.for("react.suspense_list"),tv=Symbol.for("react.memo"),nr=Symbol.for("react.lazy"),ME=Symbol.for("react.offscreen"),qy=Symbol.iterator;function fo(e){return e===null||typeof e!="object"?null:(e=qy&&e[qy]||e["@@iterator"],typeof e=="function"?e:null)}var $e=Object.assign,Hc;function Po(e){if(Hc===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);Hc=t&&t[1]||""}return`
|
|
34
|
+
`+Hc+e}var Wc=!1;function Uc(e,t){if(!e||Wc)return"";Wc=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(t,[])}catch(c){var r=c}Reflect.construct(e,[],t)}else{try{t.call()}catch(c){r=c}e.call(t.prototype)}else{try{throw Error()}catch(c){r=c}e()}}catch(c){if(c&&r&&typeof c.stack=="string"){for(var i=c.stack.split(`
|
|
35
35
|
`),o=r.stack.split(`
|
|
36
36
|
`),a=i.length-1,s=o.length-1;1<=a&&0<=s&&i[a]!==o[s];)s--;for(;1<=a&&0<=s;a--,s--)if(i[a]!==o[s]){if(a!==1||s!==1)do if(a--,s--,0>s||i[a]!==o[s]){var l=`
|
|
37
|
-
`+i[a].replace(" at new "," at ");return e.displayName&&l.includes("<anonymous>")&&(l=l.replace("<anonymous>",e.displayName)),l}while(1<=a&&0<=s);break}}}finally{Bc=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Ao(e):""}function ZR(e){switch(e.tag){case 5:return Ao(e.type);case 16:return Ao("Lazy");case 13:return Ao("Suspense");case 19:return Ao("SuspenseList");case 0:case 2:case 15:return e=Hc(e.type,!1),e;case 11:return e=Hc(e.type.render,!1),e;case 1:return e=Hc(e.type,!0),e;default:return""}}function Ig(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case yi:return"Fragment";case vi:return"Portal";case jg:return"Profiler";case Xm:return"StrictMode";case Rg:return"Suspense";case Ng:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case AE:return(e.displayName||"Context")+".Consumer";case IE:return(e._context.displayName||"Context")+".Provider";case Qm:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Zm:return t=e.displayName||null,t!==null?t:Ig(e.type)||"Memo";case nr:t=e._payload,e=e._init;try{return Ig(e(t))}catch{}}return null}function JR(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Ig(t);case 8:return t===Xm?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function _r(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function PE(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function eN(e){var t=PE(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(a){r=""+a,o.call(this,a)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(a){r=""+a},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Ja(e){e._valueTracker||(e._valueTracker=eN(e))}function ME(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=PE(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Xs(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Ag(e,t){var n=t.checked;return Le({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Fy(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=_r(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function LE(e,t){t=t.checked,t!=null&&Ym(e,"checked",t,!1)}function Tg(e,t){LE(e,t);var n=_r(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Pg(e,t.type,n):t.hasOwnProperty("defaultValue")&&Pg(e,t.type,_r(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function qy(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function Pg(e,t,n){(t!=="number"||Xs(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var To=Array.isArray;function Ii(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t["$"+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty("$"+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=""+_r(n),t=null,i=0;i<e.length;i++){if(e[i].value===n){e[i].selected=!0,r&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function Mg(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(V(91));return Le({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function Dy(e,t){var n=t.value;if(n==null){if(n=t.children,t=t.defaultValue,n!=null){if(t!=null)throw Error(V(92));if(To(n)){if(1<n.length)throw Error(V(93));n=n[0]}t=n}t==null&&(t=""),n=t}e._wrapperState={initialValue:_r(n)}}function $E(e,t){var n=_r(t.value),r=_r(t.defaultValue);n!=null&&(n=""+n,n!==e.value&&(e.value=n),t.defaultValue==null&&e.defaultValue!==n&&(e.defaultValue=n)),r!=null&&(e.defaultValue=""+r)}function By(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function zE(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Lg(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?zE(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var es,OE=function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,n,r,i){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,i)})}:e}(function(e,t){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=t;else{for(es=es||document.createElement("div"),es.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=es.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function ea(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Wo={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},tN=["Webkit","ms","Moz","O"];Object.keys(Wo).forEach(function(e){tN.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Wo[t]=Wo[e]})});function FE(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Wo.hasOwnProperty(e)&&Wo[e]?(""+t).trim():t+"px"}function qE(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=FE(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var nN=Le({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function $g(e,t){if(t){if(nN[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(V(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(V(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(V(61))}if(t.style!=null&&typeof t.style!="object")throw Error(V(62))}}function zg(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){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 Og=null;function Jm(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Fg=null,Ai=null,Ti=null;function Hy(e){if(e=Ca(e)){if(typeof Fg!="function")throw Error(V(280));var t=e.stateNode;t&&(t=Fl(t),Fg(e.stateNode,e.type,t))}}function DE(e){Ai?Ti?Ti.push(e):Ti=[e]:Ai=e}function BE(){if(Ai){var e=Ai,t=Ti;if(Ti=Ai=null,Hy(e),t)for(e=0;e<t.length;e++)Hy(t[e])}}function HE(e,t){return e(t)}function WE(){}var Wc=!1;function UE(e,t,n){if(Wc)return e(t,n);Wc=!0;try{return HE(e,t,n)}finally{Wc=!1,(Ai!==null||Ti!==null)&&(WE(),BE())}}function ta(e,t){var n=e.stateNode;if(n===null)return null;var r=Fl(n);if(r===null)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(e=e.type,r=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!r;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(V(231,t,typeof n));return n}var qg=!1;if(On)try{var uo={};Object.defineProperty(uo,"passive",{get:function(){qg=!0}}),window.addEventListener("test",uo,uo),window.removeEventListener("test",uo,uo)}catch{qg=!1}function rN(e,t,n,r,i,o,a,s,l){var c=Array.prototype.slice.call(arguments,3);try{t.apply(n,c)}catch(u){this.onError(u)}}var Uo=!1,Qs=null,Zs=!1,Dg=null,iN={onError:function(e){Uo=!0,Qs=e}};function oN(e,t,n,r,i,o,a,s,l){Uo=!1,Qs=null,rN.apply(iN,arguments)}function aN(e,t,n,r,i,o,a,s,l){if(oN.apply(this,arguments),Uo){if(Uo){var c=Qs;Uo=!1,Qs=null}else throw Error(V(198));Zs||(Zs=!0,Dg=c)}}function ti(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function VE(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function Wy(e){if(ti(e)!==e)throw Error(V(188))}function sN(e){var t=e.alternate;if(!t){if(t=ti(e),t===null)throw Error(V(188));return t!==e?null:e}for(var n=e,r=t;;){var i=n.return;if(i===null)break;var o=i.alternate;if(o===null){if(r=i.return,r!==null){n=r;continue}break}if(i.child===o.child){for(o=i.child;o;){if(o===n)return Wy(i),e;if(o===r)return Wy(i),t;o=o.sibling}throw Error(V(188))}if(n.return!==r.return)n=i,r=o;else{for(var a=!1,s=i.child;s;){if(s===n){a=!0,n=i,r=o;break}if(s===r){a=!0,r=i,n=o;break}s=s.sibling}if(!a){for(s=o.child;s;){if(s===n){a=!0,n=o,r=i;break}if(s===r){a=!0,r=o,n=i;break}s=s.sibling}if(!a)throw Error(V(189))}}if(n.alternate!==r)throw Error(V(190))}if(n.tag!==3)throw Error(V(188));return n.stateNode.current===n?e:t}function GE(e){return e=sN(e),e!==null?KE(e):null}function KE(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=KE(e);if(t!==null)return t;e=e.sibling}return null}var YE=Ft.unstable_scheduleCallback,Uy=Ft.unstable_cancelCallback,lN=Ft.unstable_shouldYield,cN=Ft.unstable_requestPaint,qe=Ft.unstable_now,uN=Ft.unstable_getCurrentPriorityLevel,ev=Ft.unstable_ImmediatePriority,XE=Ft.unstable_UserBlockingPriority,Js=Ft.unstable_NormalPriority,dN=Ft.unstable_LowPriority,QE=Ft.unstable_IdlePriority,Ll=null,_n=null;function fN(e){if(_n&&typeof _n.onCommitFiberRoot=="function")try{_n.onCommitFiberRoot(Ll,e,void 0,(e.current.flags&128)===128)}catch{}}var fn=Math.clz32?Math.clz32:gN,hN=Math.log,pN=Math.LN2;function gN(e){return e>>>=0,e===0?32:31-(hN(e)/pN|0)|0}var ts=64,ns=4194304;function Po(e){switch(e&-e){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: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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function el(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,o=e.pingedLanes,a=n&268435455;if(a!==0){var s=a&~i;s!==0?r=Po(s):(o&=a,o!==0&&(r=Po(o)))}else a=n&~i,a!==0?r=Po(a):o!==0&&(r=Po(o));if(r===0)return 0;if(t!==0&&t!==r&&!(t&i)&&(i=r&-r,o=t&-t,i>=o||i===16&&(o&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0<t;)n=31-fn(t),i=1<<n,r|=e[n],t&=~i;return r}function mN(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64: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 t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function vN(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,o=e.pendingLanes;0<o;){var a=31-fn(o),s=1<<a,l=i[a];l===-1?(!(s&n)||s&r)&&(i[a]=mN(s,t)):l<=t&&(e.expiredLanes|=s),o&=~s}}function Bg(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function ZE(){var e=ts;return ts<<=1,!(ts&4194240)&&(ts=64),e}function Uc(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Ea(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-fn(t),e[t]=n}function yN(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var i=31-fn(n),o=1<<i;t[i]=0,r[i]=-1,e[i]=-1,n&=~o}}function tv(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-fn(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}var xe=0;function JE(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var ek,nv,tk,nk,rk,Hg=!1,rs=[],fr=null,hr=null,pr=null,na=new Map,ra=new Map,ar=[],xN="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 submit".split(" ");function Vy(e,t){switch(e){case"focusin":case"focusout":fr=null;break;case"dragenter":case"dragleave":hr=null;break;case"mouseover":case"mouseout":pr=null;break;case"pointerover":case"pointerout":na.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":ra.delete(t.pointerId)}}function fo(e,t,n,r,i,o){return e===null||e.nativeEvent!==o?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:o,targetContainers:[i]},t!==null&&(t=Ca(t),t!==null&&nv(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function wN(e,t,n,r,i){switch(t){case"focusin":return fr=fo(fr,e,t,n,r,i),!0;case"dragenter":return hr=fo(hr,e,t,n,r,i),!0;case"mouseover":return pr=fo(pr,e,t,n,r,i),!0;case"pointerover":var o=i.pointerId;return na.set(o,fo(na.get(o)||null,e,t,n,r,i)),!0;case"gotpointercapture":return o=i.pointerId,ra.set(o,fo(ra.get(o)||null,e,t,n,r,i)),!0}return!1}function ik(e){var t=zr(e.target);if(t!==null){var n=ti(t);if(n!==null){if(t=n.tag,t===13){if(t=VE(n),t!==null){e.blockedOn=t,rk(e.priority,function(){tk(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Ls(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=Wg(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);Og=r,n.target.dispatchEvent(r),Og=null}else return t=Ca(n),t!==null&&nv(t),e.blockedOn=n,!1;t.shift()}return!0}function Gy(e,t,n){Ls(e)&&n.delete(t)}function bN(){Hg=!1,fr!==null&&Ls(fr)&&(fr=null),hr!==null&&Ls(hr)&&(hr=null),pr!==null&&Ls(pr)&&(pr=null),na.forEach(Gy),ra.forEach(Gy)}function ho(e,t){e.blockedOn===t&&(e.blockedOn=null,Hg||(Hg=!0,Ft.unstable_scheduleCallback(Ft.unstable_NormalPriority,bN)))}function ia(e){function t(i){return ho(i,e)}if(0<rs.length){ho(rs[0],e);for(var n=1;n<rs.length;n++){var r=rs[n];r.blockedOn===e&&(r.blockedOn=null)}}for(fr!==null&&ho(fr,e),hr!==null&&ho(hr,e),pr!==null&&ho(pr,e),na.forEach(t),ra.forEach(t),n=0;n<ar.length;n++)r=ar[n],r.blockedOn===e&&(r.blockedOn=null);for(;0<ar.length&&(n=ar[0],n.blockedOn===null);)ik(n),n.blockedOn===null&&ar.shift()}var Pi=Vn.ReactCurrentBatchConfig,tl=!0;function SN(e,t,n,r){var i=xe,o=Pi.transition;Pi.transition=null;try{xe=1,rv(e,t,n,r)}finally{xe=i,Pi.transition=o}}function _N(e,t,n,r){var i=xe,o=Pi.transition;Pi.transition=null;try{xe=4,rv(e,t,n,r)}finally{xe=i,Pi.transition=o}}function rv(e,t,n,r){if(tl){var i=Wg(e,t,n,r);if(i===null)tu(e,t,r,nl,n),Vy(e,r);else if(wN(i,e,t,n,r))r.stopPropagation();else if(Vy(e,r),t&4&&-1<xN.indexOf(e)){for(;i!==null;){var o=Ca(i);if(o!==null&&ek(o),o=Wg(e,t,n,r),o===null&&tu(e,t,r,nl,n),o===i)break;i=o}i!==null&&r.stopPropagation()}else tu(e,t,r,null,n)}}var nl=null;function Wg(e,t,n,r){if(nl=null,e=Jm(r),e=zr(e),e!==null)if(t=ti(e),t===null)e=null;else if(n=t.tag,n===13){if(e=VE(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return nl=e,null}function ok(e){switch(e){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"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 1;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"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(uN()){case ev:return 1;case XE:return 4;case Js:case dN:return 16;case QE:return 536870912;default:return 16}default:return 16}}var ur=null,iv=null,$s=null;function ak(){if($s)return $s;var e,t=iv,n=t.length,r,i="value"in ur?ur.value:ur.textContent,o=i.length;for(e=0;e<n&&t[e]===i[e];e++);var a=n-e;for(r=1;r<=a&&t[n-r]===i[o-r];r++);return $s=i.slice(e,1<r?1-r:void 0)}function zs(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function is(){return!0}function Ky(){return!1}function Bt(e){function t(n,r,i,o,a){this._reactName=n,this._targetInst=i,this.type=r,this.nativeEvent=o,this.target=a,this.currentTarget=null;for(var s in e)e.hasOwnProperty(s)&&(n=e[s],this[s]=n?n(o):o[s]);return this.isDefaultPrevented=(o.defaultPrevented!=null?o.defaultPrevented:o.returnValue===!1)?is:Ky,this.isPropagationStopped=Ky,this}return Le(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=is)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=is)},persist:function(){},isPersistent:is}),t}var Zi={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},ov=Bt(Zi),ka=Le({},Zi,{view:0,detail:0}),EN=Bt(ka),Vc,Gc,po,$l=Le({},ka,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:av,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==po&&(po&&e.type==="mousemove"?(Vc=e.screenX-po.screenX,Gc=e.screenY-po.screenY):Gc=Vc=0,po=e),Vc)},movementY:function(e){return"movementY"in e?e.movementY:Gc}}),Yy=Bt($l),kN=Le({},$l,{dataTransfer:0}),CN=Bt(kN),jN=Le({},ka,{relatedTarget:0}),Kc=Bt(jN),RN=Le({},Zi,{animationName:0,elapsedTime:0,pseudoElement:0}),NN=Bt(RN),IN=Le({},Zi,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),AN=Bt(IN),TN=Le({},Zi,{data:0}),Xy=Bt(TN),PN={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},MN={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"},LN={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function $N(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=LN[e])?!!t[e]:!1}function av(){return $N}var zN=Le({},ka,{key:function(e){if(e.key){var t=PN[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=zs(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?MN[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:av,charCode:function(e){return e.type==="keypress"?zs(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?zs(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),ON=Bt(zN),FN=Le({},$l,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Qy=Bt(FN),qN=Le({},ka,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:av}),DN=Bt(qN),BN=Le({},Zi,{propertyName:0,elapsedTime:0,pseudoElement:0}),HN=Bt(BN),WN=Le({},$l,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),UN=Bt(WN),VN=[9,13,27,32],sv=On&&"CompositionEvent"in window,Vo=null;On&&"documentMode"in document&&(Vo=document.documentMode);var GN=On&&"TextEvent"in window&&!Vo,sk=On&&(!sv||Vo&&8<Vo&&11>=Vo),Zy=" ",Jy=!1;function lk(e,t){switch(e){case"keyup":return VN.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function ck(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var xi=!1;function KN(e,t){switch(e){case"compositionend":return ck(t);case"keypress":return t.which!==32?null:(Jy=!0,Zy);case"textInput":return e=t.data,e===Zy&&Jy?null:e;default:return null}}function YN(e,t){if(xi)return e==="compositionend"||!sv&&lk(e,t)?(e=ak(),$s=iv=ur=null,xi=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return sk&&t.locale!=="ko"?null:t.data;default:return null}}var XN={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 e0(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!XN[e.type]:t==="textarea"}function uk(e,t,n,r){DE(r),t=rl(t,"onChange"),0<t.length&&(n=new ov("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Go=null,oa=null;function QN(e){bk(e,0)}function zl(e){var t=Si(e);if(ME(t))return e}function ZN(e,t){if(e==="change")return t}var dk=!1;if(On){var Yc;if(On){var Xc="oninput"in document;if(!Xc){var t0=document.createElement("div");t0.setAttribute("oninput","return;"),Xc=typeof t0.oninput=="function"}Yc=Xc}else Yc=!1;dk=Yc&&(!document.documentMode||9<document.documentMode)}function n0(){Go&&(Go.detachEvent("onpropertychange",fk),oa=Go=null)}function fk(e){if(e.propertyName==="value"&&zl(oa)){var t=[];uk(t,oa,e,Jm(e)),UE(QN,t)}}function JN(e,t,n){e==="focusin"?(n0(),Go=t,oa=n,Go.attachEvent("onpropertychange",fk)):e==="focusout"&&n0()}function eI(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return zl(oa)}function tI(e,t){if(e==="click")return zl(t)}function nI(e,t){if(e==="input"||e==="change")return zl(t)}function rI(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var pn=typeof Object.is=="function"?Object.is:rI;function aa(e,t){if(pn(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var i=n[r];if(!Cg.call(t,i)||!pn(e[i],t[i]))return!1}return!0}function r0(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function i0(e,t){var n=r0(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=r0(n)}}function hk(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?hk(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function pk(){for(var e=window,t=Xs();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Xs(e.document)}return t}function lv(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function iI(e){var t=pk(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&hk(n.ownerDocument.documentElement,n)){if(r!==null&&lv(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,o=Math.min(r.start,i);r=r.end===void 0?o:Math.min(r.end,i),!e.extend&&o>r&&(i=r,r=o,o=i),i=i0(n,o);var a=i0(n,r);i&&a&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==a.node||e.focusOffset!==a.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),o>r?(e.addRange(t),e.extend(a.node,a.offset)):(t.setEnd(a.node,a.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n<t.length;n++)e=t[n],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var oI=On&&"documentMode"in document&&11>=document.documentMode,wi=null,Ug=null,Ko=null,Vg=!1;function o0(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Vg||wi==null||wi!==Xs(r)||(r=wi,"selectionStart"in r&&lv(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Ko&&aa(Ko,r)||(Ko=r,r=rl(Ug,"onSelect"),0<r.length&&(t=new ov("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=wi)))}function os(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var bi={animationend:os("Animation","AnimationEnd"),animationiteration:os("Animation","AnimationIteration"),animationstart:os("Animation","AnimationStart"),transitionend:os("Transition","TransitionEnd")},Qc={},gk={};On&&(gk=document.createElement("div").style,"AnimationEvent"in window||(delete bi.animationend.animation,delete bi.animationiteration.animation,delete bi.animationstart.animation),"TransitionEvent"in window||delete bi.transitionend.transition);function Ol(e){if(Qc[e])return Qc[e];if(!bi[e])return e;var t=bi[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in gk)return Qc[e]=t[n];return e}var mk=Ol("animationend"),vk=Ol("animationiteration"),yk=Ol("animationstart"),xk=Ol("transitionend"),wk=new Map,a0="abort auxClick 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(" ");function jr(e,t){wk.set(e,t),ei(t,[e])}for(var Zc=0;Zc<a0.length;Zc++){var Jc=a0[Zc],aI=Jc.toLowerCase(),sI=Jc[0].toUpperCase()+Jc.slice(1);jr(aI,"on"+sI)}jr(mk,"onAnimationEnd");jr(vk,"onAnimationIteration");jr(yk,"onAnimationStart");jr("dblclick","onDoubleClick");jr("focusin","onFocus");jr("focusout","onBlur");jr(xk,"onTransitionEnd");qi("onMouseEnter",["mouseout","mouseover"]);qi("onMouseLeave",["mouseout","mouseover"]);qi("onPointerEnter",["pointerout","pointerover"]);qi("onPointerLeave",["pointerout","pointerover"]);ei("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));ei("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));ei("onBeforeInput",["compositionend","keypress","textInput","paste"]);ei("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));ei("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));ei("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Mo="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(" "),lI=new Set("cancel close invalid load scroll toggle".split(" ").concat(Mo));function s0(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,aN(r,t,void 0,e),e.currentTarget=null}function bk(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var r=e[n],i=r.event;r=r.listeners;e:{var o=void 0;if(t)for(var a=r.length-1;0<=a;a--){var s=r[a],l=s.instance,c=s.currentTarget;if(s=s.listener,l!==o&&i.isPropagationStopped())break e;s0(i,s,c),o=l}else for(a=0;a<r.length;a++){if(s=r[a],l=s.instance,c=s.currentTarget,s=s.listener,l!==o&&i.isPropagationStopped())break e;s0(i,s,c),o=l}}}if(Zs)throw e=Dg,Zs=!1,Dg=null,e}function ke(e,t){var n=t[Qg];n===void 0&&(n=t[Qg]=new Set);var r=e+"__bubble";n.has(r)||(Sk(t,e,2,!1),n.add(r))}function eu(e,t,n){var r=0;t&&(r|=4),Sk(n,e,r,t)}var as="_reactListening"+Math.random().toString(36).slice(2);function sa(e){if(!e[as]){e[as]=!0,NE.forEach(function(n){n!=="selectionchange"&&(lI.has(n)||eu(n,!1,e),eu(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[as]||(t[as]=!0,eu("selectionchange",!1,t))}}function Sk(e,t,n,r){switch(ok(t)){case 1:var i=SN;break;case 4:i=_N;break;default:i=rv}n=i.bind(null,t,n,e),i=void 0,!qg||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(i=!0),r?i!==void 0?e.addEventListener(t,n,{capture:!0,passive:i}):e.addEventListener(t,n,!0):i!==void 0?e.addEventListener(t,n,{passive:i}):e.addEventListener(t,n,!1)}function tu(e,t,n,r,i){var o=r;if(!(t&1)&&!(t&2)&&r!==null)e:for(;;){if(r===null)return;var a=r.tag;if(a===3||a===4){var s=r.stateNode.containerInfo;if(s===i||s.nodeType===8&&s.parentNode===i)break;if(a===4)for(a=r.return;a!==null;){var l=a.tag;if((l===3||l===4)&&(l=a.stateNode.containerInfo,l===i||l.nodeType===8&&l.parentNode===i))return;a=a.return}for(;s!==null;){if(a=zr(s),a===null)return;if(l=a.tag,l===5||l===6){r=o=a;continue e}s=s.parentNode}}r=r.return}UE(function(){var c=o,u=Jm(n),f=[];e:{var h=wk.get(e);if(h!==void 0){var p=ov,v=e;switch(e){case"keypress":if(zs(n)===0)break e;case"keydown":case"keyup":p=ON;break;case"focusin":v="focus",p=Kc;break;case"focusout":v="blur",p=Kc;break;case"beforeblur":case"afterblur":p=Kc;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":p=Yy;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":p=CN;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":p=DN;break;case mk:case vk:case yk:p=NN;break;case xk:p=HN;break;case"scroll":p=EN;break;case"wheel":p=UN;break;case"copy":case"cut":case"paste":p=AN;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":p=Qy}var g=(t&4)!==0,b=!g&&e==="scroll",m=g?h!==null?h+"Capture":null:h;g=[];for(var y=c,x;y!==null;){x=y;var S=x.stateNode;if(x.tag===5&&S!==null&&(x=S,m!==null&&(S=ta(y,m),S!=null&&g.push(la(y,S,x)))),b)break;y=y.return}0<g.length&&(h=new p(h,v,null,n,u),f.push({event:h,listeners:g}))}}if(!(t&7)){e:{if(h=e==="mouseover"||e==="pointerover",p=e==="mouseout"||e==="pointerout",h&&n!==Og&&(v=n.relatedTarget||n.fromElement)&&(zr(v)||v[Fn]))break e;if((p||h)&&(h=u.window===u?u:(h=u.ownerDocument)?h.defaultView||h.parentWindow:window,p?(v=n.relatedTarget||n.toElement,p=c,v=v?zr(v):null,v!==null&&(b=ti(v),v!==b||v.tag!==5&&v.tag!==6)&&(v=null)):(p=null,v=c),p!==v)){if(g=Yy,S="onMouseLeave",m="onMouseEnter",y="mouse",(e==="pointerout"||e==="pointerover")&&(g=Qy,S="onPointerLeave",m="onPointerEnter",y="pointer"),b=p==null?h:Si(p),x=v==null?h:Si(v),h=new g(S,y+"leave",p,n,u),h.target=b,h.relatedTarget=x,S=null,zr(u)===c&&(g=new g(m,y+"enter",v,n,u),g.target=x,g.relatedTarget=b,S=g),b=S,p&&v)t:{for(g=p,m=v,y=0,x=g;x;x=ci(x))y++;for(x=0,S=m;S;S=ci(S))x++;for(;0<y-x;)g=ci(g),y--;for(;0<x-y;)m=ci(m),x--;for(;y--;){if(g===m||m!==null&&g===m.alternate)break t;g=ci(g),m=ci(m)}g=null}else g=null;p!==null&&l0(f,h,p,g,!1),v!==null&&b!==null&&l0(f,b,v,g,!0)}}e:{if(h=c?Si(c):window,p=h.nodeName&&h.nodeName.toLowerCase(),p==="select"||p==="input"&&h.type==="file")var C=ZN;else if(e0(h))if(dk)C=nI;else{C=eI;var R=JN}else(p=h.nodeName)&&p.toLowerCase()==="input"&&(h.type==="checkbox"||h.type==="radio")&&(C=tI);if(C&&(C=C(e,c))){uk(f,C,n,u);break e}R&&R(e,h,c),e==="focusout"&&(R=h._wrapperState)&&R.controlled&&h.type==="number"&&Pg(h,"number",h.value)}switch(R=c?Si(c):window,e){case"focusin":(e0(R)||R.contentEditable==="true")&&(wi=R,Ug=c,Ko=null);break;case"focusout":Ko=Ug=wi=null;break;case"mousedown":Vg=!0;break;case"contextmenu":case"mouseup":case"dragend":Vg=!1,o0(f,n,u);break;case"selectionchange":if(oI)break;case"keydown":case"keyup":o0(f,n,u)}var _;if(sv)e:{switch(e){case"compositionstart":var I="onCompositionStart";break e;case"compositionend":I="onCompositionEnd";break e;case"compositionupdate":I="onCompositionUpdate";break e}I=void 0}else xi?lk(e,n)&&(I="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(I="onCompositionStart");I&&(sk&&n.locale!=="ko"&&(xi||I!=="onCompositionStart"?I==="onCompositionEnd"&&xi&&(_=ak()):(ur=u,iv="value"in ur?ur.value:ur.textContent,xi=!0)),R=rl(c,I),0<R.length&&(I=new Xy(I,e,null,n,u),f.push({event:I,listeners:R}),_?I.data=_:(_=ck(n),_!==null&&(I.data=_)))),(_=GN?KN(e,n):YN(e,n))&&(c=rl(c,"onBeforeInput"),0<c.length&&(u=new Xy("onBeforeInput","beforeinput",null,n,u),f.push({event:u,listeners:c}),u.data=_))}bk(f,t)})}function la(e,t,n){return{instance:e,listener:t,currentTarget:n}}function rl(e,t){for(var n=t+"Capture",r=[];e!==null;){var i=e,o=i.stateNode;i.tag===5&&o!==null&&(i=o,o=ta(e,n),o!=null&&r.unshift(la(e,o,i)),o=ta(e,t),o!=null&&r.push(la(e,o,i))),e=e.return}return r}function ci(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function l0(e,t,n,r,i){for(var o=t._reactName,a=[];n!==null&&n!==r;){var s=n,l=s.alternate,c=s.stateNode;if(l!==null&&l===r)break;s.tag===5&&c!==null&&(s=c,i?(l=ta(n,o),l!=null&&a.unshift(la(n,l,s))):i||(l=ta(n,o),l!=null&&a.push(la(n,l,s)))),n=n.return}a.length!==0&&e.push({event:t,listeners:a})}var cI=/\r\n?/g,uI=/\u0000|\uFFFD/g;function c0(e){return(typeof e=="string"?e:""+e).replace(cI,`
|
|
38
|
-
`).replace(uI,"")}function ss(e,t,n){if(t=c0(t),c0(e)!==t&&n)throw Error(V(425))}function il(){}var Gg=null,Kg=null;function Yg(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Xg=typeof setTimeout=="function"?setTimeout:void 0,dI=typeof clearTimeout=="function"?clearTimeout:void 0,u0=typeof Promise=="function"?Promise:void 0,fI=typeof queueMicrotask=="function"?queueMicrotask:typeof u0<"u"?function(e){return u0.resolve(null).then(e).catch(hI)}:Xg;function hI(e){setTimeout(function(){throw e})}function nu(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&i.nodeType===8)if(n=i.data,n==="/$"){if(r===0){e.removeChild(i),ia(t);return}r--}else n!=="$"&&n!=="$?"&&n!=="$!"||r++;n=i}while(n);ia(t)}function gr(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?")break;if(t==="/$")return null}}return e}function d0(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"){if(t===0)return e;t--}else n==="/$"&&t++}e=e.previousSibling}return null}var Ji=Math.random().toString(36).slice(2),bn="__reactFiber$"+Ji,ca="__reactProps$"+Ji,Fn="__reactContainer$"+Ji,Qg="__reactEvents$"+Ji,pI="__reactListeners$"+Ji,gI="__reactHandles$"+Ji;function zr(e){var t=e[bn];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Fn]||n[bn]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=d0(e);e!==null;){if(n=e[bn])return n;e=d0(e)}return t}e=n,n=e.parentNode}return null}function Ca(e){return e=e[bn]||e[Fn],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function Si(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(V(33))}function Fl(e){return e[ca]||null}var Zg=[],_i=-1;function Rr(e){return{current:e}}function Ce(e){0>_i||(e.current=Zg[_i],Zg[_i]=null,_i--)}function Ee(e,t){_i++,Zg[_i]=e.current,e.current=t}var Er={},st=Rr(Er),Ct=Rr(!1),Vr=Er;function Di(e,t){var n=e.type.contextTypes;if(!n)return Er;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},o;for(o in n)i[o]=t[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function jt(e){return e=e.childContextTypes,e!=null}function ol(){Ce(Ct),Ce(st)}function f0(e,t,n){if(st.current!==Er)throw Error(V(168));Ee(st,t),Ee(Ct,n)}function _k(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(V(108,JR(e)||"Unknown",i));return Le({},n,r)}function al(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Er,Vr=st.current,Ee(st,e),Ee(Ct,Ct.current),!0}function h0(e,t,n){var r=e.stateNode;if(!r)throw Error(V(169));n?(e=_k(e,t,Vr),r.__reactInternalMemoizedMergedChildContext=e,Ce(Ct),Ce(st),Ee(st,e)):Ce(Ct),Ee(Ct,n)}var An=null,ql=!1,ru=!1;function Ek(e){An===null?An=[e]:An.push(e)}function mI(e){ql=!0,Ek(e)}function Nr(){if(!ru&&An!==null){ru=!0;var e=0,t=xe;try{var n=An;for(xe=1;e<n.length;e++){var r=n[e];do r=r(!0);while(r!==null)}An=null,ql=!1}catch(i){throw An!==null&&(An=An.slice(e+1)),YE(ev,Nr),i}finally{xe=t,ru=!1}}return null}var Ei=[],ki=0,sl=null,ll=0,Vt=[],Gt=0,Gr=null,Tn=1,Pn="";function Mr(e,t){Ei[ki++]=ll,Ei[ki++]=sl,sl=e,ll=t}function kk(e,t,n){Vt[Gt++]=Tn,Vt[Gt++]=Pn,Vt[Gt++]=Gr,Gr=e;var r=Tn;e=Pn;var i=32-fn(r)-1;r&=~(1<<i),n+=1;var o=32-fn(t)+i;if(30<o){var a=i-i%5;o=(r&(1<<a)-1).toString(32),r>>=a,i-=a,Tn=1<<32-fn(t)+i|n<<i|r,Pn=o+e}else Tn=1<<o|n<<i|r,Pn=e}function cv(e){e.return!==null&&(Mr(e,1),kk(e,1,0))}function uv(e){for(;e===sl;)sl=Ei[--ki],Ei[ki]=null,ll=Ei[--ki],Ei[ki]=null;for(;e===Gr;)Gr=Vt[--Gt],Vt[Gt]=null,Pn=Vt[--Gt],Vt[Gt]=null,Tn=Vt[--Gt],Vt[Gt]=null}var zt=null,$t=null,Ie=!1,cn=null;function Ck(e,t){var n=Yt(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,t=e.deletions,t===null?(e.deletions=[n],e.flags|=16):t.push(n)}function p0(e,t){switch(e.tag){case 5:var n=e.type;return t=t.nodeType!==1||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,zt=e,$t=gr(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,zt=e,$t=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(n=Gr!==null?{id:Tn,overflow:Pn}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},n=Yt(18,null,null,0),n.stateNode=t,n.return=e,e.child=n,zt=e,$t=null,!0):!1;default:return!1}}function Jg(e){return(e.mode&1)!==0&&(e.flags&128)===0}function em(e){if(Ie){var t=$t;if(t){var n=t;if(!p0(e,t)){if(Jg(e))throw Error(V(418));t=gr(n.nextSibling);var r=zt;t&&p0(e,t)?Ck(r,n):(e.flags=e.flags&-4097|2,Ie=!1,zt=e)}}else{if(Jg(e))throw Error(V(418));e.flags=e.flags&-4097|2,Ie=!1,zt=e}}}function g0(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;zt=e}function ls(e){if(e!==zt)return!1;if(!Ie)return g0(e),Ie=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!Yg(e.type,e.memoizedProps)),t&&(t=$t)){if(Jg(e))throw jk(),Error(V(418));for(;t;)Ck(e,t),t=gr(t.nextSibling)}if(g0(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(V(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"){if(t===0){$t=gr(e.nextSibling);break e}t--}else n!=="$"&&n!=="$!"&&n!=="$?"||t++}e=e.nextSibling}$t=null}}else $t=zt?gr(e.stateNode.nextSibling):null;return!0}function jk(){for(var e=$t;e;)e=gr(e.nextSibling)}function Bi(){$t=zt=null,Ie=!1}function dv(e){cn===null?cn=[e]:cn.push(e)}var vI=Vn.ReactCurrentBatchConfig;function go(e,t,n){if(e=n.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(n._owner){if(n=n._owner,n){if(n.tag!==1)throw Error(V(309));var r=n.stateNode}if(!r)throw Error(V(147,e));var i=r,o=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===o?t.ref:(t=function(a){var s=i.refs;a===null?delete s[o]:s[o]=a},t._stringRef=o,t)}if(typeof e!="string")throw Error(V(284));if(!n._owner)throw Error(V(290,e))}return e}function cs(e,t){throw e=Object.prototype.toString.call(t),Error(V(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function m0(e){var t=e._init;return t(e._payload)}function Rk(e){function t(m,y){if(e){var x=m.deletions;x===null?(m.deletions=[y],m.flags|=16):x.push(y)}}function n(m,y){if(!e)return null;for(;y!==null;)t(m,y),y=y.sibling;return null}function r(m,y){for(m=new Map;y!==null;)y.key!==null?m.set(y.key,y):m.set(y.index,y),y=y.sibling;return m}function i(m,y){return m=xr(m,y),m.index=0,m.sibling=null,m}function o(m,y,x){return m.index=x,e?(x=m.alternate,x!==null?(x=x.index,x<y?(m.flags|=2,y):x):(m.flags|=2,y)):(m.flags|=1048576,y)}function a(m){return e&&m.alternate===null&&(m.flags|=2),m}function s(m,y,x,S){return y===null||y.tag!==6?(y=uu(x,m.mode,S),y.return=m,y):(y=i(y,x),y.return=m,y)}function l(m,y,x,S){var C=x.type;return C===yi?u(m,y,x.props.children,S,x.key):y!==null&&(y.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===nr&&m0(C)===y.type)?(S=i(y,x.props),S.ref=go(m,y,x),S.return=m,S):(S=Ws(x.type,x.key,x.props,null,m.mode,S),S.ref=go(m,y,x),S.return=m,S)}function c(m,y,x,S){return y===null||y.tag!==4||y.stateNode.containerInfo!==x.containerInfo||y.stateNode.implementation!==x.implementation?(y=du(x,m.mode,S),y.return=m,y):(y=i(y,x.children||[]),y.return=m,y)}function u(m,y,x,S,C){return y===null||y.tag!==7?(y=Wr(x,m.mode,S,C),y.return=m,y):(y=i(y,x),y.return=m,y)}function f(m,y,x){if(typeof y=="string"&&y!==""||typeof y=="number")return y=uu(""+y,m.mode,x),y.return=m,y;if(typeof y=="object"&&y!==null){switch(y.$$typeof){case Za:return x=Ws(y.type,y.key,y.props,null,m.mode,x),x.ref=go(m,null,y),x.return=m,x;case vi:return y=du(y,m.mode,x),y.return=m,y;case nr:var S=y._init;return f(m,S(y._payload),x)}if(To(y)||co(y))return y=Wr(y,m.mode,x,null),y.return=m,y;cs(m,y)}return null}function h(m,y,x,S){var C=y!==null?y.key:null;if(typeof x=="string"&&x!==""||typeof x=="number")return C!==null?null:s(m,y,""+x,S);if(typeof x=="object"&&x!==null){switch(x.$$typeof){case Za:return x.key===C?l(m,y,x,S):null;case vi:return x.key===C?c(m,y,x,S):null;case nr:return C=x._init,h(m,y,C(x._payload),S)}if(To(x)||co(x))return C!==null?null:u(m,y,x,S,null);cs(m,x)}return null}function p(m,y,x,S,C){if(typeof S=="string"&&S!==""||typeof S=="number")return m=m.get(x)||null,s(y,m,""+S,C);if(typeof S=="object"&&S!==null){switch(S.$$typeof){case Za:return m=m.get(S.key===null?x:S.key)||null,l(y,m,S,C);case vi:return m=m.get(S.key===null?x:S.key)||null,c(y,m,S,C);case nr:var R=S._init;return p(m,y,x,R(S._payload),C)}if(To(S)||co(S))return m=m.get(x)||null,u(y,m,S,C,null);cs(y,S)}return null}function v(m,y,x,S){for(var C=null,R=null,_=y,I=y=0,M=null;_!==null&&I<x.length;I++){_.index>I?(M=_,_=null):M=_.sibling;var k=h(m,_,x[I],S);if(k===null){_===null&&(_=M);break}e&&_&&k.alternate===null&&t(m,_),y=o(k,y,I),R===null?C=k:R.sibling=k,R=k,_=M}if(I===x.length)return n(m,_),Ie&&Mr(m,I),C;if(_===null){for(;I<x.length;I++)_=f(m,x[I],S),_!==null&&(y=o(_,y,I),R===null?C=_:R.sibling=_,R=_);return Ie&&Mr(m,I),C}for(_=r(m,_);I<x.length;I++)M=p(_,m,I,x[I],S),M!==null&&(e&&M.alternate!==null&&_.delete(M.key===null?I:M.key),y=o(M,y,I),R===null?C=M:R.sibling=M,R=M);return e&&_.forEach(function(T){return t(m,T)}),Ie&&Mr(m,I),C}function g(m,y,x,S){var C=co(x);if(typeof C!="function")throw Error(V(150));if(x=C.call(x),x==null)throw Error(V(151));for(var R=C=null,_=y,I=y=0,M=null,k=x.next();_!==null&&!k.done;I++,k=x.next()){_.index>I?(M=_,_=null):M=_.sibling;var T=h(m,_,k.value,S);if(T===null){_===null&&(_=M);break}e&&_&&T.alternate===null&&t(m,_),y=o(T,y,I),R===null?C=T:R.sibling=T,R=T,_=M}if(k.done)return n(m,_),Ie&&Mr(m,I),C;if(_===null){for(;!k.done;I++,k=x.next())k=f(m,k.value,S),k!==null&&(y=o(k,y,I),R===null?C=k:R.sibling=k,R=k);return Ie&&Mr(m,I),C}for(_=r(m,_);!k.done;I++,k=x.next())k=p(_,m,I,k.value,S),k!==null&&(e&&k.alternate!==null&&_.delete(k.key===null?I:k.key),y=o(k,y,I),R===null?C=k:R.sibling=k,R=k);return e&&_.forEach(function(z){return t(m,z)}),Ie&&Mr(m,I),C}function b(m,y,x,S){if(typeof x=="object"&&x!==null&&x.type===yi&&x.key===null&&(x=x.props.children),typeof x=="object"&&x!==null){switch(x.$$typeof){case Za:e:{for(var C=x.key,R=y;R!==null;){if(R.key===C){if(C=x.type,C===yi){if(R.tag===7){n(m,R.sibling),y=i(R,x.props.children),y.return=m,m=y;break e}}else if(R.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===nr&&m0(C)===R.type){n(m,R.sibling),y=i(R,x.props),y.ref=go(m,R,x),y.return=m,m=y;break e}n(m,R);break}else t(m,R);R=R.sibling}x.type===yi?(y=Wr(x.props.children,m.mode,S,x.key),y.return=m,m=y):(S=Ws(x.type,x.key,x.props,null,m.mode,S),S.ref=go(m,y,x),S.return=m,m=S)}return a(m);case vi:e:{for(R=x.key;y!==null;){if(y.key===R)if(y.tag===4&&y.stateNode.containerInfo===x.containerInfo&&y.stateNode.implementation===x.implementation){n(m,y.sibling),y=i(y,x.children||[]),y.return=m,m=y;break e}else{n(m,y);break}else t(m,y);y=y.sibling}y=du(x,m.mode,S),y.return=m,m=y}return a(m);case nr:return R=x._init,b(m,y,R(x._payload),S)}if(To(x))return v(m,y,x,S);if(co(x))return g(m,y,x,S);cs(m,x)}return typeof x=="string"&&x!==""||typeof x=="number"?(x=""+x,y!==null&&y.tag===6?(n(m,y.sibling),y=i(y,x),y.return=m,m=y):(n(m,y),y=uu(x,m.mode,S),y.return=m,m=y),a(m)):n(m,y)}return b}var Hi=Rk(!0),Nk=Rk(!1),cl=Rr(null),ul=null,Ci=null,fv=null;function hv(){fv=Ci=ul=null}function pv(e){var t=cl.current;Ce(cl),e._currentValue=t}function tm(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Mi(e,t){ul=e,fv=Ci=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(Et=!0),e.firstContext=null)}function Zt(e){var t=e._currentValue;if(fv!==e)if(e={context:e,memoizedValue:t,next:null},Ci===null){if(ul===null)throw Error(V(308));Ci=e,ul.dependencies={lanes:0,firstContext:e}}else Ci=Ci.next=e;return t}var Or=null;function gv(e){Or===null?Or=[e]:Or.push(e)}function Ik(e,t,n,r){var i=t.interleaved;return i===null?(n.next=n,gv(t)):(n.next=i.next,i.next=n),t.interleaved=n,qn(e,r)}function qn(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var rr=!1;function mv(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Ak(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function zn(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function mr(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,ge&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,qn(e,n)}return i=r.interleaved,i===null?(t.next=t,gv(r)):(t.next=i.next,i.next=t),r.interleaved=t,qn(e,n)}function Os(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,tv(e,n)}}function v0(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,o=null;if(n=n.firstBaseUpdate,n!==null){do{var a={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};o===null?i=o=a:o=o.next=a,n=n.next}while(n!==null);o===null?i=o=t:o=o.next=t}else i=o=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:o,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function dl(e,t,n,r){var i=e.updateQueue;rr=!1;var o=i.firstBaseUpdate,a=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var l=s,c=l.next;l.next=null,a===null?o=c:a.next=c,a=l;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==a&&(s===null?u.firstBaseUpdate=c:s.next=c,u.lastBaseUpdate=l))}if(o!==null){var f=i.baseState;a=0,u=c=l=null,s=o;do{var h=s.lane,p=s.eventTime;if((r&h)===h){u!==null&&(u=u.next={eventTime:p,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var v=e,g=s;switch(h=t,p=n,g.tag){case 1:if(v=g.payload,typeof v=="function"){f=v.call(p,f,h);break e}f=v;break e;case 3:v.flags=v.flags&-65537|128;case 0:if(v=g.payload,h=typeof v=="function"?v.call(p,f,h):v,h==null)break e;f=Le({},f,h);break e;case 2:rr=!0}}s.callback!==null&&s.lane!==0&&(e.flags|=64,h=i.effects,h===null?i.effects=[s]:h.push(s))}else p={eventTime:p,lane:h,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(c=u=p,l=f):u=u.next=p,a|=h;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;h=s,s=h.next,h.next=null,i.lastBaseUpdate=h,i.shared.pending=null}}while(!0);if(u===null&&(l=f),i.baseState=l,i.firstBaseUpdate=c,i.lastBaseUpdate=u,t=i.shared.interleaved,t!==null){i=t;do a|=i.lane,i=i.next;while(i!==t)}else o===null&&(i.shared.lanes=0);Yr|=a,e.lanes=a,e.memoizedState=f}}function y0(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var r=e[t],i=r.callback;if(i!==null){if(r.callback=null,r=n,typeof i!="function")throw Error(V(191,i));i.call(r)}}}var ja={},En=Rr(ja),ua=Rr(ja),da=Rr(ja);function Fr(e){if(e===ja)throw Error(V(174));return e}function vv(e,t){switch(Ee(da,t),Ee(ua,e),Ee(En,ja),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Lg(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=Lg(t,e)}Ce(En),Ee(En,t)}function Wi(){Ce(En),Ce(ua),Ce(da)}function Tk(e){Fr(da.current);var t=Fr(En.current),n=Lg(t,e.type);t!==n&&(Ee(ua,e),Ee(En,n))}function yv(e){ua.current===e&&(Ce(En),Ce(ua))}var Pe=Rr(0);function fl(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var iu=[];function xv(){for(var e=0;e<iu.length;e++)iu[e]._workInProgressVersionPrimary=null;iu.length=0}var Fs=Vn.ReactCurrentDispatcher,ou=Vn.ReactCurrentBatchConfig,Kr=0,Me=null,Ue=null,Ke=null,hl=!1,Yo=!1,fa=0,yI=0;function it(){throw Error(V(321))}function wv(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!pn(e[n],t[n]))return!1;return!0}function bv(e,t,n,r,i,o){if(Kr=o,Me=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Fs.current=e===null||e.memoizedState===null?SI:_I,e=n(r,i),Yo){o=0;do{if(Yo=!1,fa=0,25<=o)throw Error(V(301));o+=1,Ke=Ue=null,t.updateQueue=null,Fs.current=EI,e=n(r,i)}while(Yo)}if(Fs.current=pl,t=Ue!==null&&Ue.next!==null,Kr=0,Ke=Ue=Me=null,hl=!1,t)throw Error(V(300));return e}function Sv(){var e=fa!==0;return fa=0,e}function xn(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ke===null?Me.memoizedState=Ke=e:Ke=Ke.next=e,Ke}function Jt(){if(Ue===null){var e=Me.alternate;e=e!==null?e.memoizedState:null}else e=Ue.next;var t=Ke===null?Me.memoizedState:Ke.next;if(t!==null)Ke=t,Ue=e;else{if(e===null)throw Error(V(310));Ue=e,e={memoizedState:Ue.memoizedState,baseState:Ue.baseState,baseQueue:Ue.baseQueue,queue:Ue.queue,next:null},Ke===null?Me.memoizedState=Ke=e:Ke=Ke.next=e}return Ke}function ha(e,t){return typeof t=="function"?t(e):t}function au(e){var t=Jt(),n=t.queue;if(n===null)throw Error(V(311));n.lastRenderedReducer=e;var r=Ue,i=r.baseQueue,o=n.pending;if(o!==null){if(i!==null){var a=i.next;i.next=o.next,o.next=a}r.baseQueue=i=o,n.pending=null}if(i!==null){o=i.next,r=r.baseState;var s=a=null,l=null,c=o;do{var u=c.lane;if((Kr&u)===u)l!==null&&(l=l.next={lane:0,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null}),r=c.hasEagerState?c.eagerState:e(r,c.action);else{var f={lane:u,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null};l===null?(s=l=f,a=r):l=l.next=f,Me.lanes|=u,Yr|=u}c=c.next}while(c!==null&&c!==o);l===null?a=r:l.next=s,pn(r,t.memoizedState)||(Et=!0),t.memoizedState=r,t.baseState=a,t.baseQueue=l,n.lastRenderedState=r}if(e=n.interleaved,e!==null){i=e;do o=i.lane,Me.lanes|=o,Yr|=o,i=i.next;while(i!==e)}else i===null&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function su(e){var t=Jt(),n=t.queue;if(n===null)throw Error(V(311));n.lastRenderedReducer=e;var r=n.dispatch,i=n.pending,o=t.memoizedState;if(i!==null){n.pending=null;var a=i=i.next;do o=e(o,a.action),a=a.next;while(a!==i);pn(o,t.memoizedState)||(Et=!0),t.memoizedState=o,t.baseQueue===null&&(t.baseState=o),n.lastRenderedState=o}return[o,r]}function Pk(){}function Mk(e,t){var n=Me,r=Jt(),i=t(),o=!pn(r.memoizedState,i);if(o&&(r.memoizedState=i,Et=!0),r=r.queue,_v(zk.bind(null,n,r,e),[e]),r.getSnapshot!==t||o||Ke!==null&&Ke.memoizedState.tag&1){if(n.flags|=2048,pa(9,$k.bind(null,n,r,i,t),void 0,null),Ye===null)throw Error(V(349));Kr&30||Lk(n,t,i)}return i}function Lk(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=Me.updateQueue,t===null?(t={lastEffect:null,stores:null},Me.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function $k(e,t,n,r){t.value=n,t.getSnapshot=r,Ok(t)&&Fk(e)}function zk(e,t,n){return n(function(){Ok(t)&&Fk(e)})}function Ok(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!pn(e,n)}catch{return!0}}function Fk(e){var t=qn(e,1);t!==null&&hn(t,e,1,-1)}function x0(e){var t=xn();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:ha,lastRenderedState:e},t.queue=e,e=e.dispatch=bI.bind(null,Me,e),[t.memoizedState,e]}function pa(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},t=Me.updateQueue,t===null?(t={lastEffect:null,stores:null},Me.updateQueue=t,t.lastEffect=e.next=e):(n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e)),e}function qk(){return Jt().memoizedState}function qs(e,t,n,r){var i=xn();Me.flags|=e,i.memoizedState=pa(1|t,n,void 0,r===void 0?null:r)}function Dl(e,t,n,r){var i=Jt();r=r===void 0?null:r;var o=void 0;if(Ue!==null){var a=Ue.memoizedState;if(o=a.destroy,r!==null&&wv(r,a.deps)){i.memoizedState=pa(t,n,o,r);return}}Me.flags|=e,i.memoizedState=pa(1|t,n,o,r)}function w0(e,t){return qs(8390656,8,e,t)}function _v(e,t){return Dl(2048,8,e,t)}function Dk(e,t){return Dl(4,2,e,t)}function Bk(e,t){return Dl(4,4,e,t)}function Hk(e,t){if(typeof t=="function")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Wk(e,t,n){return n=n!=null?n.concat([e]):null,Dl(4,4,Hk.bind(null,t,e),n)}function Ev(){}function Uk(e,t){var n=Jt();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&wv(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Vk(e,t){var n=Jt();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&wv(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function Gk(e,t,n){return Kr&21?(pn(n,t)||(n=ZE(),Me.lanes|=n,Yr|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,Et=!0),e.memoizedState=n)}function xI(e,t){var n=xe;xe=n!==0&&4>n?n:4,e(!0);var r=ou.transition;ou.transition={};try{e(!1),t()}finally{xe=n,ou.transition=r}}function Kk(){return Jt().memoizedState}function wI(e,t,n){var r=yr(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Yk(e))Xk(t,n);else if(n=Ik(e,t,n,r),n!==null){var i=pt();hn(n,e,r,i),Qk(n,t,r)}}function bI(e,t,n){var r=yr(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Yk(e))Xk(t,i);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var a=t.lastRenderedState,s=o(a,n);if(i.hasEagerState=!0,i.eagerState=s,pn(s,a)){var l=t.interleaved;l===null?(i.next=i,gv(t)):(i.next=l.next,l.next=i),t.interleaved=i;return}}catch{}finally{}n=Ik(e,t,i,r),n!==null&&(i=pt(),hn(n,e,r,i),Qk(n,t,r))}}function Yk(e){var t=e.alternate;return e===Me||t!==null&&t===Me}function Xk(e,t){Yo=hl=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Qk(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,tv(e,n)}}var pl={readContext:Zt,useCallback:it,useContext:it,useEffect:it,useImperativeHandle:it,useInsertionEffect:it,useLayoutEffect:it,useMemo:it,useReducer:it,useRef:it,useState:it,useDebugValue:it,useDeferredValue:it,useTransition:it,useMutableSource:it,useSyncExternalStore:it,useId:it,unstable_isNewReconciler:!1},SI={readContext:Zt,useCallback:function(e,t){return xn().memoizedState=[e,t===void 0?null:t],e},useContext:Zt,useEffect:w0,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,qs(4194308,4,Hk.bind(null,t,e),n)},useLayoutEffect:function(e,t){return qs(4194308,4,e,t)},useInsertionEffect:function(e,t){return qs(4,2,e,t)},useMemo:function(e,t){var n=xn();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=xn();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=wI.bind(null,Me,e),[r.memoizedState,e]},useRef:function(e){var t=xn();return e={current:e},t.memoizedState=e},useState:x0,useDebugValue:Ev,useDeferredValue:function(e){return xn().memoizedState=e},useTransition:function(){var e=x0(!1),t=e[0];return e=xI.bind(null,e[1]),xn().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=Me,i=xn();if(Ie){if(n===void 0)throw Error(V(407));n=n()}else{if(n=t(),Ye===null)throw Error(V(349));Kr&30||Lk(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,w0(zk.bind(null,r,o,e),[e]),r.flags|=2048,pa(9,$k.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=xn(),t=Ye.identifierPrefix;if(Ie){var n=Pn,r=Tn;n=(r&~(1<<32-fn(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=fa++,0<n&&(t+="H"+n.toString(32)),t+=":"}else n=yI++,t=":"+t+"r"+n.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},_I={readContext:Zt,useCallback:Uk,useContext:Zt,useEffect:_v,useImperativeHandle:Wk,useInsertionEffect:Dk,useLayoutEffect:Bk,useMemo:Vk,useReducer:au,useRef:qk,useState:function(){return au(ha)},useDebugValue:Ev,useDeferredValue:function(e){var t=Jt();return Gk(t,Ue.memoizedState,e)},useTransition:function(){var e=au(ha)[0],t=Jt().memoizedState;return[e,t]},useMutableSource:Pk,useSyncExternalStore:Mk,useId:Kk,unstable_isNewReconciler:!1},EI={readContext:Zt,useCallback:Uk,useContext:Zt,useEffect:_v,useImperativeHandle:Wk,useInsertionEffect:Dk,useLayoutEffect:Bk,useMemo:Vk,useReducer:su,useRef:qk,useState:function(){return su(ha)},useDebugValue:Ev,useDeferredValue:function(e){var t=Jt();return Ue===null?t.memoizedState=e:Gk(t,Ue.memoizedState,e)},useTransition:function(){var e=su(ha)[0],t=Jt().memoizedState;return[e,t]},useMutableSource:Pk,useSyncExternalStore:Mk,useId:Kk,unstable_isNewReconciler:!1};function sn(e,t){if(e&&e.defaultProps){t=Le({},t),e=e.defaultProps;for(var n in e)t[n]===void 0&&(t[n]=e[n]);return t}return t}function nm(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:Le({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Bl={isMounted:function(e){return(e=e._reactInternals)?ti(e)===e:!1},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=pt(),i=yr(e),o=zn(r,i);o.payload=t,n!=null&&(o.callback=n),t=mr(e,o,i),t!==null&&(hn(t,e,i,r),Os(t,e,i))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=pt(),i=yr(e),o=zn(r,i);o.tag=1,o.payload=t,n!=null&&(o.callback=n),t=mr(e,o,i),t!==null&&(hn(t,e,i,r),Os(t,e,i))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=pt(),r=yr(e),i=zn(n,r);i.tag=2,t!=null&&(i.callback=t),t=mr(e,i,r),t!==null&&(hn(t,e,r,n),Os(t,e,r))}};function b0(e,t,n,r,i,o,a){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(r,o,a):t.prototype&&t.prototype.isPureReactComponent?!aa(n,r)||!aa(i,o):!0}function Zk(e,t,n){var r=!1,i=Er,o=t.contextType;return typeof o=="object"&&o!==null?o=Zt(o):(i=jt(t)?Vr:st.current,r=t.contextTypes,o=(r=r!=null)?Di(e,i):Er),t=new t(n,o),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=Bl,e.stateNode=t,t._reactInternals=e,r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=i,e.__reactInternalMemoizedMaskedChildContext=o),t}function S0(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Bl.enqueueReplaceState(t,t.state,null)}function rm(e,t,n,r){var i=e.stateNode;i.props=n,i.state=e.memoizedState,i.refs={},mv(e);var o=t.contextType;typeof o=="object"&&o!==null?i.context=Zt(o):(o=jt(t)?Vr:st.current,i.context=Di(e,o)),i.state=e.memoizedState,o=t.getDerivedStateFromProps,typeof o=="function"&&(nm(e,t,o,n),i.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof i.getSnapshotBeforeUpdate=="function"||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(t=i.state,typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount(),t!==i.state&&Bl.enqueueReplaceState(i,i.state,null),dl(e,n,i,r),i.state=e.memoizedState),typeof i.componentDidMount=="function"&&(e.flags|=4194308)}function Ui(e,t){try{var n="",r=t;do n+=ZR(r),r=r.return;while(r);var i=n}catch(o){i=`
|
|
37
|
+
`+i[a].replace(" at new "," at ");return e.displayName&&l.includes("<anonymous>")&&(l=l.replace("<anonymous>",e.displayName)),l}while(1<=a&&0<=s);break}}}finally{Wc=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Po(e):""}function iN(e){switch(e.tag){case 5:return Po(e.type);case 16:return Po("Lazy");case 13:return Po("Suspense");case 19:return Po("SuspenseList");case 0:case 2:case 15:return e=Uc(e.type,!1),e;case 11:return e=Uc(e.type.render,!1),e;case 1:return e=Uc(e.type,!0),e;default:return""}}function Pg(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case xi:return"Fragment";case yi:return"Portal";case Ag:return"Profiler";case Jm:return"StrictMode";case Ig:return"Suspense";case Tg:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case PE:return(e.displayName||"Context")+".Consumer";case TE:return(e._context.displayName||"Context")+".Provider";case ev:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case tv:return t=e.displayName||null,t!==null?t:Pg(e.type)||"Memo";case nr:t=e._payload,e=e._init;try{return Pg(e(t))}catch{}}return null}function oN(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Pg(t);case 8:return t===Jm?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function _r(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function LE(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function aN(e){var t=LE(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(a){r=""+a,o.call(this,a)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(a){r=""+a},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function ns(e){e._valueTracker||(e._valueTracker=aN(e))}function $E(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=LE(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Js(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Mg(e,t){var n=t.checked;return $e({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Dy(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=_r(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function zE(e,t){t=t.checked,t!=null&&Zm(e,"checked",t,!1)}function Lg(e,t){zE(e,t);var n=_r(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?$g(e,t.type,n):t.hasOwnProperty("defaultValue")&&$g(e,t.type,_r(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function By(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function $g(e,t,n){(t!=="number"||Js(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Mo=Array.isArray;function Ii(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t["$"+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty("$"+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=""+_r(n),t=null,i=0;i<e.length;i++){if(e[i].value===n){e[i].selected=!0,r&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function zg(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(K(91));return $e({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function Hy(e,t){var n=t.value;if(n==null){if(n=t.children,t=t.defaultValue,n!=null){if(t!=null)throw Error(K(92));if(Mo(n)){if(1<n.length)throw Error(K(93));n=n[0]}t=n}t==null&&(t=""),n=t}e._wrapperState={initialValue:_r(n)}}function OE(e,t){var n=_r(t.value),r=_r(t.defaultValue);n!=null&&(n=""+n,n!==e.value&&(e.value=n),t.defaultValue==null&&e.defaultValue!==n&&(e.defaultValue=n)),r!=null&&(e.defaultValue=""+r)}function Wy(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function FE(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Og(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?FE(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var rs,qE=function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,n,r,i){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,i)})}:e}(function(e,t){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=t;else{for(rs=rs||document.createElement("div"),rs.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=rs.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function na(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Vo={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},sN=["Webkit","ms","Moz","O"];Object.keys(Vo).forEach(function(e){sN.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Vo[t]=Vo[e]})});function DE(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Vo.hasOwnProperty(e)&&Vo[e]?(""+t).trim():t+"px"}function BE(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=DE(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var lN=$e({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Fg(e,t){if(t){if(lN[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(K(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(K(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(K(61))}if(t.style!=null&&typeof t.style!="object")throw Error(K(62))}}function qg(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){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 Dg=null;function nv(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Bg=null,Ti=null,Pi=null;function Uy(e){if(e=Ra(e)){if(typeof Bg!="function")throw Error(K(280));var t=e.stateNode;t&&(t=Bl(t),Bg(e.stateNode,e.type,t))}}function HE(e){Ti?Pi?Pi.push(e):Pi=[e]:Ti=e}function WE(){if(Ti){var e=Ti,t=Pi;if(Pi=Ti=null,Uy(e),t)for(e=0;e<t.length;e++)Uy(t[e])}}function UE(e,t){return e(t)}function VE(){}var Vc=!1;function GE(e,t,n){if(Vc)return e(t,n);Vc=!0;try{return UE(e,t,n)}finally{Vc=!1,(Ti!==null||Pi!==null)&&(VE(),WE())}}function ra(e,t){var n=e.stateNode;if(n===null)return null;var r=Bl(n);if(r===null)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(e=e.type,r=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!r;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(K(231,t,typeof n));return n}var Hg=!1;if(On)try{var ho={};Object.defineProperty(ho,"passive",{get:function(){Hg=!0}}),window.addEventListener("test",ho,ho),window.removeEventListener("test",ho,ho)}catch{Hg=!1}function cN(e,t,n,r,i,o,a,s,l){var c=Array.prototype.slice.call(arguments,3);try{t.apply(n,c)}catch(u){this.onError(u)}}var Go=!1,el=null,tl=!1,Wg=null,uN={onError:function(e){Go=!0,el=e}};function dN(e,t,n,r,i,o,a,s,l){Go=!1,el=null,cN.apply(uN,arguments)}function fN(e,t,n,r,i,o,a,s,l){if(dN.apply(this,arguments),Go){if(Go){var c=el;Go=!1,el=null}else throw Error(K(198));tl||(tl=!0,Wg=c)}}function ti(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function KE(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function Vy(e){if(ti(e)!==e)throw Error(K(188))}function hN(e){var t=e.alternate;if(!t){if(t=ti(e),t===null)throw Error(K(188));return t!==e?null:e}for(var n=e,r=t;;){var i=n.return;if(i===null)break;var o=i.alternate;if(o===null){if(r=i.return,r!==null){n=r;continue}break}if(i.child===o.child){for(o=i.child;o;){if(o===n)return Vy(i),e;if(o===r)return Vy(i),t;o=o.sibling}throw Error(K(188))}if(n.return!==r.return)n=i,r=o;else{for(var a=!1,s=i.child;s;){if(s===n){a=!0,n=i,r=o;break}if(s===r){a=!0,r=i,n=o;break}s=s.sibling}if(!a){for(s=o.child;s;){if(s===n){a=!0,n=o,r=i;break}if(s===r){a=!0,r=o,n=i;break}s=s.sibling}if(!a)throw Error(K(189))}}if(n.alternate!==r)throw Error(K(190))}if(n.tag!==3)throw Error(K(188));return n.stateNode.current===n?e:t}function YE(e){return e=hN(e),e!==null?XE(e):null}function XE(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=XE(e);if(t!==null)return t;e=e.sibling}return null}var QE=Ot.unstable_scheduleCallback,Gy=Ot.unstable_cancelCallback,pN=Ot.unstable_shouldYield,gN=Ot.unstable_requestPaint,De=Ot.unstable_now,mN=Ot.unstable_getCurrentPriorityLevel,rv=Ot.unstable_ImmediatePriority,ZE=Ot.unstable_UserBlockingPriority,nl=Ot.unstable_NormalPriority,vN=Ot.unstable_LowPriority,JE=Ot.unstable_IdlePriority,Ol=null,_n=null;function yN(e){if(_n&&typeof _n.onCommitFiberRoot=="function")try{_n.onCommitFiberRoot(Ol,e,void 0,(e.current.flags&128)===128)}catch{}}var dn=Math.clz32?Math.clz32:bN,xN=Math.log,wN=Math.LN2;function bN(e){return e>>>=0,e===0?32:31-(xN(e)/wN|0)|0}var is=64,os=4194304;function Lo(e){switch(e&-e){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: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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function rl(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,o=e.pingedLanes,a=n&268435455;if(a!==0){var s=a&~i;s!==0?r=Lo(s):(o&=a,o!==0&&(r=Lo(o)))}else a=n&~i,a!==0?r=Lo(a):o!==0&&(r=Lo(o));if(r===0)return 0;if(t!==0&&t!==r&&!(t&i)&&(i=r&-r,o=t&-t,i>=o||i===16&&(o&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0<t;)n=31-dn(t),i=1<<n,r|=e[n],t&=~i;return r}function SN(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64: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 t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function _N(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,o=e.pendingLanes;0<o;){var a=31-dn(o),s=1<<a,l=i[a];l===-1?(!(s&n)||s&r)&&(i[a]=SN(s,t)):l<=t&&(e.expiredLanes|=s),o&=~s}}function Ug(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function ek(){var e=is;return is<<=1,!(is&4194240)&&(is=64),e}function Gc(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Ca(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-dn(t),e[t]=n}function EN(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var i=31-dn(n),o=1<<i;t[i]=0,r[i]=-1,e[i]=-1,n&=~o}}function iv(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-dn(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}var xe=0;function tk(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var nk,ov,rk,ik,ok,Vg=!1,as=[],fr=null,hr=null,pr=null,ia=new Map,oa=new Map,ar=[],kN="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 submit".split(" ");function Ky(e,t){switch(e){case"focusin":case"focusout":fr=null;break;case"dragenter":case"dragleave":hr=null;break;case"mouseover":case"mouseout":pr=null;break;case"pointerover":case"pointerout":ia.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":oa.delete(t.pointerId)}}function po(e,t,n,r,i,o){return e===null||e.nativeEvent!==o?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:o,targetContainers:[i]},t!==null&&(t=Ra(t),t!==null&&ov(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function CN(e,t,n,r,i){switch(t){case"focusin":return fr=po(fr,e,t,n,r,i),!0;case"dragenter":return hr=po(hr,e,t,n,r,i),!0;case"mouseover":return pr=po(pr,e,t,n,r,i),!0;case"pointerover":var o=i.pointerId;return ia.set(o,po(ia.get(o)||null,e,t,n,r,i)),!0;case"gotpointercapture":return o=i.pointerId,oa.set(o,po(oa.get(o)||null,e,t,n,r,i)),!0}return!1}function ak(e){var t=zr(e.target);if(t!==null){var n=ti(t);if(n!==null){if(t=n.tag,t===13){if(t=KE(n),t!==null){e.blockedOn=t,ok(e.priority,function(){rk(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Os(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=Gg(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);Dg=r,n.target.dispatchEvent(r),Dg=null}else return t=Ra(n),t!==null&&ov(t),e.blockedOn=n,!1;t.shift()}return!0}function Yy(e,t,n){Os(e)&&n.delete(t)}function jN(){Vg=!1,fr!==null&&Os(fr)&&(fr=null),hr!==null&&Os(hr)&&(hr=null),pr!==null&&Os(pr)&&(pr=null),ia.forEach(Yy),oa.forEach(Yy)}function go(e,t){e.blockedOn===t&&(e.blockedOn=null,Vg||(Vg=!0,Ot.unstable_scheduleCallback(Ot.unstable_NormalPriority,jN)))}function aa(e){function t(i){return go(i,e)}if(0<as.length){go(as[0],e);for(var n=1;n<as.length;n++){var r=as[n];r.blockedOn===e&&(r.blockedOn=null)}}for(fr!==null&&go(fr,e),hr!==null&&go(hr,e),pr!==null&&go(pr,e),ia.forEach(t),oa.forEach(t),n=0;n<ar.length;n++)r=ar[n],r.blockedOn===e&&(r.blockedOn=null);for(;0<ar.length&&(n=ar[0],n.blockedOn===null);)ak(n),n.blockedOn===null&&ar.shift()}var Mi=Vn.ReactCurrentBatchConfig,il=!0;function RN(e,t,n,r){var i=xe,o=Mi.transition;Mi.transition=null;try{xe=1,av(e,t,n,r)}finally{xe=i,Mi.transition=o}}function NN(e,t,n,r){var i=xe,o=Mi.transition;Mi.transition=null;try{xe=4,av(e,t,n,r)}finally{xe=i,Mi.transition=o}}function av(e,t,n,r){if(il){var i=Gg(e,t,n,r);if(i===null)ru(e,t,r,ol,n),Ky(e,r);else if(CN(i,e,t,n,r))r.stopPropagation();else if(Ky(e,r),t&4&&-1<kN.indexOf(e)){for(;i!==null;){var o=Ra(i);if(o!==null&&nk(o),o=Gg(e,t,n,r),o===null&&ru(e,t,r,ol,n),o===i)break;i=o}i!==null&&r.stopPropagation()}else ru(e,t,r,null,n)}}var ol=null;function Gg(e,t,n,r){if(ol=null,e=nv(r),e=zr(e),e!==null)if(t=ti(e),t===null)e=null;else if(n=t.tag,n===13){if(e=KE(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return ol=e,null}function sk(e){switch(e){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"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 1;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"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(mN()){case rv:return 1;case ZE:return 4;case nl:case vN:return 16;case JE:return 536870912;default:return 16}default:return 16}}var ur=null,sv=null,Fs=null;function lk(){if(Fs)return Fs;var e,t=sv,n=t.length,r,i="value"in ur?ur.value:ur.textContent,o=i.length;for(e=0;e<n&&t[e]===i[e];e++);var a=n-e;for(r=1;r<=a&&t[n-r]===i[o-r];r++);return Fs=i.slice(e,1<r?1-r:void 0)}function qs(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function ss(){return!0}function Xy(){return!1}function Dt(e){function t(n,r,i,o,a){this._reactName=n,this._targetInst=i,this.type=r,this.nativeEvent=o,this.target=a,this.currentTarget=null;for(var s in e)e.hasOwnProperty(s)&&(n=e[s],this[s]=n?n(o):o[s]);return this.isDefaultPrevented=(o.defaultPrevented!=null?o.defaultPrevented:o.returnValue===!1)?ss:Xy,this.isPropagationStopped=Xy,this}return $e(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=ss)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=ss)},persist:function(){},isPersistent:ss}),t}var Ji={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},lv=Dt(Ji),ja=$e({},Ji,{view:0,detail:0}),AN=Dt(ja),Kc,Yc,mo,Fl=$e({},ja,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:cv,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==mo&&(mo&&e.type==="mousemove"?(Kc=e.screenX-mo.screenX,Yc=e.screenY-mo.screenY):Yc=Kc=0,mo=e),Kc)},movementY:function(e){return"movementY"in e?e.movementY:Yc}}),Qy=Dt(Fl),IN=$e({},Fl,{dataTransfer:0}),TN=Dt(IN),PN=$e({},ja,{relatedTarget:0}),Xc=Dt(PN),MN=$e({},Ji,{animationName:0,elapsedTime:0,pseudoElement:0}),LN=Dt(MN),$N=$e({},Ji,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),zN=Dt($N),ON=$e({},Ji,{data:0}),Zy=Dt(ON),FN={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},qN={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"},DN={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function BN(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=DN[e])?!!t[e]:!1}function cv(){return BN}var HN=$e({},ja,{key:function(e){if(e.key){var t=FN[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=qs(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?qN[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:cv,charCode:function(e){return e.type==="keypress"?qs(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?qs(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),WN=Dt(HN),UN=$e({},Fl,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Jy=Dt(UN),VN=$e({},ja,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:cv}),GN=Dt(VN),KN=$e({},Ji,{propertyName:0,elapsedTime:0,pseudoElement:0}),YN=Dt(KN),XN=$e({},Fl,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),QN=Dt(XN),ZN=[9,13,27,32],uv=On&&"CompositionEvent"in window,Ko=null;On&&"documentMode"in document&&(Ko=document.documentMode);var JN=On&&"TextEvent"in window&&!Ko,ck=On&&(!uv||Ko&&8<Ko&&11>=Ko),e0=" ",t0=!1;function uk(e,t){switch(e){case"keyup":return ZN.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function dk(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var wi=!1;function eA(e,t){switch(e){case"compositionend":return dk(t);case"keypress":return t.which!==32?null:(t0=!0,e0);case"textInput":return e=t.data,e===e0&&t0?null:e;default:return null}}function tA(e,t){if(wi)return e==="compositionend"||!uv&&uk(e,t)?(e=lk(),Fs=sv=ur=null,wi=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return ck&&t.locale!=="ko"?null:t.data;default:return null}}var nA={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 n0(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!nA[e.type]:t==="textarea"}function fk(e,t,n,r){HE(r),t=al(t,"onChange"),0<t.length&&(n=new lv("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Yo=null,sa=null;function rA(e){_k(e,0)}function ql(e){var t=_i(e);if($E(t))return e}function iA(e,t){if(e==="change")return t}var hk=!1;if(On){var Qc;if(On){var Zc="oninput"in document;if(!Zc){var r0=document.createElement("div");r0.setAttribute("oninput","return;"),Zc=typeof r0.oninput=="function"}Qc=Zc}else Qc=!1;hk=Qc&&(!document.documentMode||9<document.documentMode)}function i0(){Yo&&(Yo.detachEvent("onpropertychange",pk),sa=Yo=null)}function pk(e){if(e.propertyName==="value"&&ql(sa)){var t=[];fk(t,sa,e,nv(e)),GE(rA,t)}}function oA(e,t,n){e==="focusin"?(i0(),Yo=t,sa=n,Yo.attachEvent("onpropertychange",pk)):e==="focusout"&&i0()}function aA(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return ql(sa)}function sA(e,t){if(e==="click")return ql(t)}function lA(e,t){if(e==="input"||e==="change")return ql(t)}function cA(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var hn=typeof Object.is=="function"?Object.is:cA;function la(e,t){if(hn(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var i=n[r];if(!Ng.call(t,i)||!hn(e[i],t[i]))return!1}return!0}function o0(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function a0(e,t){var n=o0(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=o0(n)}}function gk(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?gk(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function mk(){for(var e=window,t=Js();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Js(e.document)}return t}function dv(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function uA(e){var t=mk(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&gk(n.ownerDocument.documentElement,n)){if(r!==null&&dv(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,o=Math.min(r.start,i);r=r.end===void 0?o:Math.min(r.end,i),!e.extend&&o>r&&(i=r,r=o,o=i),i=a0(n,o);var a=a0(n,r);i&&a&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==a.node||e.focusOffset!==a.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),o>r?(e.addRange(t),e.extend(a.node,a.offset)):(t.setEnd(a.node,a.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n<t.length;n++)e=t[n],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var dA=On&&"documentMode"in document&&11>=document.documentMode,bi=null,Kg=null,Xo=null,Yg=!1;function s0(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Yg||bi==null||bi!==Js(r)||(r=bi,"selectionStart"in r&&dv(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Xo&&la(Xo,r)||(Xo=r,r=al(Kg,"onSelect"),0<r.length&&(t=new lv("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=bi)))}function ls(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var Si={animationend:ls("Animation","AnimationEnd"),animationiteration:ls("Animation","AnimationIteration"),animationstart:ls("Animation","AnimationStart"),transitionend:ls("Transition","TransitionEnd")},Jc={},vk={};On&&(vk=document.createElement("div").style,"AnimationEvent"in window||(delete Si.animationend.animation,delete Si.animationiteration.animation,delete Si.animationstart.animation),"TransitionEvent"in window||delete Si.transitionend.transition);function Dl(e){if(Jc[e])return Jc[e];if(!Si[e])return e;var t=Si[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in vk)return Jc[e]=t[n];return e}var yk=Dl("animationend"),xk=Dl("animationiteration"),wk=Dl("animationstart"),bk=Dl("transitionend"),Sk=new Map,l0="abort auxClick 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(" ");function jr(e,t){Sk.set(e,t),ei(t,[e])}for(var eu=0;eu<l0.length;eu++){var tu=l0[eu],fA=tu.toLowerCase(),hA=tu[0].toUpperCase()+tu.slice(1);jr(fA,"on"+hA)}jr(yk,"onAnimationEnd");jr(xk,"onAnimationIteration");jr(wk,"onAnimationStart");jr("dblclick","onDoubleClick");jr("focusin","onFocus");jr("focusout","onBlur");jr(bk,"onTransitionEnd");Di("onMouseEnter",["mouseout","mouseover"]);Di("onMouseLeave",["mouseout","mouseover"]);Di("onPointerEnter",["pointerout","pointerover"]);Di("onPointerLeave",["pointerout","pointerover"]);ei("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));ei("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));ei("onBeforeInput",["compositionend","keypress","textInput","paste"]);ei("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));ei("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));ei("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var $o="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(" "),pA=new Set("cancel close invalid load scroll toggle".split(" ").concat($o));function c0(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,fN(r,t,void 0,e),e.currentTarget=null}function _k(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var r=e[n],i=r.event;r=r.listeners;e:{var o=void 0;if(t)for(var a=r.length-1;0<=a;a--){var s=r[a],l=s.instance,c=s.currentTarget;if(s=s.listener,l!==o&&i.isPropagationStopped())break e;c0(i,s,c),o=l}else for(a=0;a<r.length;a++){if(s=r[a],l=s.instance,c=s.currentTarget,s=s.listener,l!==o&&i.isPropagationStopped())break e;c0(i,s,c),o=l}}}if(tl)throw e=Wg,tl=!1,Wg=null,e}function Ce(e,t){var n=t[em];n===void 0&&(n=t[em]=new Set);var r=e+"__bubble";n.has(r)||(Ek(t,e,2,!1),n.add(r))}function nu(e,t,n){var r=0;t&&(r|=4),Ek(n,e,r,t)}var cs="_reactListening"+Math.random().toString(36).slice(2);function ca(e){if(!e[cs]){e[cs]=!0,IE.forEach(function(n){n!=="selectionchange"&&(pA.has(n)||nu(n,!1,e),nu(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[cs]||(t[cs]=!0,nu("selectionchange",!1,t))}}function Ek(e,t,n,r){switch(sk(t)){case 1:var i=RN;break;case 4:i=NN;break;default:i=av}n=i.bind(null,t,n,e),i=void 0,!Hg||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(i=!0),r?i!==void 0?e.addEventListener(t,n,{capture:!0,passive:i}):e.addEventListener(t,n,!0):i!==void 0?e.addEventListener(t,n,{passive:i}):e.addEventListener(t,n,!1)}function ru(e,t,n,r,i){var o=r;if(!(t&1)&&!(t&2)&&r!==null)e:for(;;){if(r===null)return;var a=r.tag;if(a===3||a===4){var s=r.stateNode.containerInfo;if(s===i||s.nodeType===8&&s.parentNode===i)break;if(a===4)for(a=r.return;a!==null;){var l=a.tag;if((l===3||l===4)&&(l=a.stateNode.containerInfo,l===i||l.nodeType===8&&l.parentNode===i))return;a=a.return}for(;s!==null;){if(a=zr(s),a===null)return;if(l=a.tag,l===5||l===6){r=o=a;continue e}s=s.parentNode}}r=r.return}GE(function(){var c=o,u=nv(n),f=[];e:{var h=Sk.get(e);if(h!==void 0){var p=lv,v=e;switch(e){case"keypress":if(qs(n)===0)break e;case"keydown":case"keyup":p=WN;break;case"focusin":v="focus",p=Xc;break;case"focusout":v="blur",p=Xc;break;case"beforeblur":case"afterblur":p=Xc;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":p=Qy;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":p=TN;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":p=GN;break;case yk:case xk:case wk:p=LN;break;case bk:p=YN;break;case"scroll":p=AN;break;case"wheel":p=QN;break;case"copy":case"cut":case"paste":p=zN;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":p=Jy}var g=(t&4)!==0,S=!g&&e==="scroll",m=g?h!==null?h+"Capture":null:h;g=[];for(var y=c,x;y!==null;){x=y;var b=x.stateNode;if(x.tag===5&&b!==null&&(x=b,m!==null&&(b=ra(y,m),b!=null&&g.push(ua(y,b,x)))),S)break;y=y.return}0<g.length&&(h=new p(h,v,null,n,u),f.push({event:h,listeners:g}))}}if(!(t&7)){e:{if(h=e==="mouseover"||e==="pointerover",p=e==="mouseout"||e==="pointerout",h&&n!==Dg&&(v=n.relatedTarget||n.fromElement)&&(zr(v)||v[Fn]))break e;if((p||h)&&(h=u.window===u?u:(h=u.ownerDocument)?h.defaultView||h.parentWindow:window,p?(v=n.relatedTarget||n.toElement,p=c,v=v?zr(v):null,v!==null&&(S=ti(v),v!==S||v.tag!==5&&v.tag!==6)&&(v=null)):(p=null,v=c),p!==v)){if(g=Qy,b="onMouseLeave",m="onMouseEnter",y="mouse",(e==="pointerout"||e==="pointerover")&&(g=Jy,b="onPointerLeave",m="onPointerEnter",y="pointer"),S=p==null?h:_i(p),x=v==null?h:_i(v),h=new g(b,y+"leave",p,n,u),h.target=S,h.relatedTarget=x,b=null,zr(u)===c&&(g=new g(m,y+"enter",v,n,u),g.target=x,g.relatedTarget=S,b=g),S=b,p&&v)t:{for(g=p,m=v,y=0,x=g;x;x=ui(x))y++;for(x=0,b=m;b;b=ui(b))x++;for(;0<y-x;)g=ui(g),y--;for(;0<x-y;)m=ui(m),x--;for(;y--;){if(g===m||m!==null&&g===m.alternate)break t;g=ui(g),m=ui(m)}g=null}else g=null;p!==null&&u0(f,h,p,g,!1),v!==null&&S!==null&&u0(f,S,v,g,!0)}}e:{if(h=c?_i(c):window,p=h.nodeName&&h.nodeName.toLowerCase(),p==="select"||p==="input"&&h.type==="file")var C=iA;else if(n0(h))if(hk)C=lA;else{C=aA;var N=oA}else(p=h.nodeName)&&p.toLowerCase()==="input"&&(h.type==="checkbox"||h.type==="radio")&&(C=sA);if(C&&(C=C(e,c))){fk(f,C,n,u);break e}N&&N(e,h,c),e==="focusout"&&(N=h._wrapperState)&&N.controlled&&h.type==="number"&&$g(h,"number",h.value)}switch(N=c?_i(c):window,e){case"focusin":(n0(N)||N.contentEditable==="true")&&(bi=N,Kg=c,Xo=null);break;case"focusout":Xo=Kg=bi=null;break;case"mousedown":Yg=!0;break;case"contextmenu":case"mouseup":case"dragend":Yg=!1,s0(f,n,u);break;case"selectionchange":if(dA)break;case"keydown":case"keyup":s0(f,n,u)}var E;if(uv)e:{switch(e){case"compositionstart":var R="onCompositionStart";break e;case"compositionend":R="onCompositionEnd";break e;case"compositionupdate":R="onCompositionUpdate";break e}R=void 0}else wi?uk(e,n)&&(R="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(R="onCompositionStart");R&&(ck&&n.locale!=="ko"&&(wi||R!=="onCompositionStart"?R==="onCompositionEnd"&&wi&&(E=lk()):(ur=u,sv="value"in ur?ur.value:ur.textContent,wi=!0)),N=al(c,R),0<N.length&&(R=new Zy(R,e,null,n,u),f.push({event:R,listeners:N}),E?R.data=E:(E=dk(n),E!==null&&(R.data=E)))),(E=JN?eA(e,n):tA(e,n))&&(c=al(c,"onBeforeInput"),0<c.length&&(u=new Zy("onBeforeInput","beforeinput",null,n,u),f.push({event:u,listeners:c}),u.data=E))}_k(f,t)})}function ua(e,t,n){return{instance:e,listener:t,currentTarget:n}}function al(e,t){for(var n=t+"Capture",r=[];e!==null;){var i=e,o=i.stateNode;i.tag===5&&o!==null&&(i=o,o=ra(e,n),o!=null&&r.unshift(ua(e,o,i)),o=ra(e,t),o!=null&&r.push(ua(e,o,i))),e=e.return}return r}function ui(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function u0(e,t,n,r,i){for(var o=t._reactName,a=[];n!==null&&n!==r;){var s=n,l=s.alternate,c=s.stateNode;if(l!==null&&l===r)break;s.tag===5&&c!==null&&(s=c,i?(l=ra(n,o),l!=null&&a.unshift(ua(n,l,s))):i||(l=ra(n,o),l!=null&&a.push(ua(n,l,s)))),n=n.return}a.length!==0&&e.push({event:t,listeners:a})}var gA=/\r\n?/g,mA=/\u0000|\uFFFD/g;function d0(e){return(typeof e=="string"?e:""+e).replace(gA,`
|
|
38
|
+
`).replace(mA,"")}function us(e,t,n){if(t=d0(t),d0(e)!==t&&n)throw Error(K(425))}function sl(){}var Xg=null,Qg=null;function Zg(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Jg=typeof setTimeout=="function"?setTimeout:void 0,vA=typeof clearTimeout=="function"?clearTimeout:void 0,f0=typeof Promise=="function"?Promise:void 0,yA=typeof queueMicrotask=="function"?queueMicrotask:typeof f0<"u"?function(e){return f0.resolve(null).then(e).catch(xA)}:Jg;function xA(e){setTimeout(function(){throw e})}function iu(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&i.nodeType===8)if(n=i.data,n==="/$"){if(r===0){e.removeChild(i),aa(t);return}r--}else n!=="$"&&n!=="$?"&&n!=="$!"||r++;n=i}while(n);aa(t)}function gr(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?")break;if(t==="/$")return null}}return e}function h0(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"){if(t===0)return e;t--}else n==="/$"&&t++}e=e.previousSibling}return null}var eo=Math.random().toString(36).slice(2),bn="__reactFiber$"+eo,da="__reactProps$"+eo,Fn="__reactContainer$"+eo,em="__reactEvents$"+eo,wA="__reactListeners$"+eo,bA="__reactHandles$"+eo;function zr(e){var t=e[bn];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Fn]||n[bn]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=h0(e);e!==null;){if(n=e[bn])return n;e=h0(e)}return t}e=n,n=e.parentNode}return null}function Ra(e){return e=e[bn]||e[Fn],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function _i(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(K(33))}function Bl(e){return e[da]||null}var tm=[],Ei=-1;function Rr(e){return{current:e}}function je(e){0>Ei||(e.current=tm[Ei],tm[Ei]=null,Ei--)}function ke(e,t){Ei++,tm[Ei]=e.current,e.current=t}var Er={},ct=Rr(Er),kt=Rr(!1),Vr=Er;function Bi(e,t){var n=e.type.contextTypes;if(!n)return Er;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},o;for(o in n)i[o]=t[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function Ct(e){return e=e.childContextTypes,e!=null}function ll(){je(kt),je(ct)}function p0(e,t,n){if(ct.current!==Er)throw Error(K(168));ke(ct,t),ke(kt,n)}function kk(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(K(108,oN(e)||"Unknown",i));return $e({},n,r)}function cl(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Er,Vr=ct.current,ke(ct,e),ke(kt,kt.current),!0}function g0(e,t,n){var r=e.stateNode;if(!r)throw Error(K(169));n?(e=kk(e,t,Vr),r.__reactInternalMemoizedMergedChildContext=e,je(kt),je(ct),ke(ct,e)):je(kt),ke(kt,n)}var In=null,Hl=!1,ou=!1;function Ck(e){In===null?In=[e]:In.push(e)}function SA(e){Hl=!0,Ck(e)}function Nr(){if(!ou&&In!==null){ou=!0;var e=0,t=xe;try{var n=In;for(xe=1;e<n.length;e++){var r=n[e];do r=r(!0);while(r!==null)}In=null,Hl=!1}catch(i){throw In!==null&&(In=In.slice(e+1)),QE(rv,Nr),i}finally{xe=t,ou=!1}}return null}var ki=[],Ci=0,ul=null,dl=0,Ut=[],Vt=0,Gr=null,Tn=1,Pn="";function Mr(e,t){ki[Ci++]=dl,ki[Ci++]=ul,ul=e,dl=t}function jk(e,t,n){Ut[Vt++]=Tn,Ut[Vt++]=Pn,Ut[Vt++]=Gr,Gr=e;var r=Tn;e=Pn;var i=32-dn(r)-1;r&=~(1<<i),n+=1;var o=32-dn(t)+i;if(30<o){var a=i-i%5;o=(r&(1<<a)-1).toString(32),r>>=a,i-=a,Tn=1<<32-dn(t)+i|n<<i|r,Pn=o+e}else Tn=1<<o|n<<i|r,Pn=e}function fv(e){e.return!==null&&(Mr(e,1),jk(e,1,0))}function hv(e){for(;e===ul;)ul=ki[--Ci],ki[Ci]=null,dl=ki[--Ci],ki[Ci]=null;for(;e===Gr;)Gr=Ut[--Vt],Ut[Vt]=null,Pn=Ut[--Vt],Ut[Vt]=null,Tn=Ut[--Vt],Ut[Vt]=null}var $t=null,Lt=null,Ie=!1,ln=null;function Rk(e,t){var n=Kt(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,t=e.deletions,t===null?(e.deletions=[n],e.flags|=16):t.push(n)}function m0(e,t){switch(e.tag){case 5:var n=e.type;return t=t.nodeType!==1||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,$t=e,Lt=gr(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,$t=e,Lt=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(n=Gr!==null?{id:Tn,overflow:Pn}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},n=Kt(18,null,null,0),n.stateNode=t,n.return=e,e.child=n,$t=e,Lt=null,!0):!1;default:return!1}}function nm(e){return(e.mode&1)!==0&&(e.flags&128)===0}function rm(e){if(Ie){var t=Lt;if(t){var n=t;if(!m0(e,t)){if(nm(e))throw Error(K(418));t=gr(n.nextSibling);var r=$t;t&&m0(e,t)?Rk(r,n):(e.flags=e.flags&-4097|2,Ie=!1,$t=e)}}else{if(nm(e))throw Error(K(418));e.flags=e.flags&-4097|2,Ie=!1,$t=e}}}function v0(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;$t=e}function ds(e){if(e!==$t)return!1;if(!Ie)return v0(e),Ie=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!Zg(e.type,e.memoizedProps)),t&&(t=Lt)){if(nm(e))throw Nk(),Error(K(418));for(;t;)Rk(e,t),t=gr(t.nextSibling)}if(v0(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(K(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"){if(t===0){Lt=gr(e.nextSibling);break e}t--}else n!=="$"&&n!=="$!"&&n!=="$?"||t++}e=e.nextSibling}Lt=null}}else Lt=$t?gr(e.stateNode.nextSibling):null;return!0}function Nk(){for(var e=Lt;e;)e=gr(e.nextSibling)}function Hi(){Lt=$t=null,Ie=!1}function pv(e){ln===null?ln=[e]:ln.push(e)}var _A=Vn.ReactCurrentBatchConfig;function vo(e,t,n){if(e=n.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(n._owner){if(n=n._owner,n){if(n.tag!==1)throw Error(K(309));var r=n.stateNode}if(!r)throw Error(K(147,e));var i=r,o=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===o?t.ref:(t=function(a){var s=i.refs;a===null?delete s[o]:s[o]=a},t._stringRef=o,t)}if(typeof e!="string")throw Error(K(284));if(!n._owner)throw Error(K(290,e))}return e}function fs(e,t){throw e=Object.prototype.toString.call(t),Error(K(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function y0(e){var t=e._init;return t(e._payload)}function Ak(e){function t(m,y){if(e){var x=m.deletions;x===null?(m.deletions=[y],m.flags|=16):x.push(y)}}function n(m,y){if(!e)return null;for(;y!==null;)t(m,y),y=y.sibling;return null}function r(m,y){for(m=new Map;y!==null;)y.key!==null?m.set(y.key,y):m.set(y.index,y),y=y.sibling;return m}function i(m,y){return m=xr(m,y),m.index=0,m.sibling=null,m}function o(m,y,x){return m.index=x,e?(x=m.alternate,x!==null?(x=x.index,x<y?(m.flags|=2,y):x):(m.flags|=2,y)):(m.flags|=1048576,y)}function a(m){return e&&m.alternate===null&&(m.flags|=2),m}function s(m,y,x,b){return y===null||y.tag!==6?(y=fu(x,m.mode,b),y.return=m,y):(y=i(y,x),y.return=m,y)}function l(m,y,x,b){var C=x.type;return C===xi?u(m,y,x.props.children,b,x.key):y!==null&&(y.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===nr&&y0(C)===y.type)?(b=i(y,x.props),b.ref=vo(m,y,x),b.return=m,b):(b=Gs(x.type,x.key,x.props,null,m.mode,b),b.ref=vo(m,y,x),b.return=m,b)}function c(m,y,x,b){return y===null||y.tag!==4||y.stateNode.containerInfo!==x.containerInfo||y.stateNode.implementation!==x.implementation?(y=hu(x,m.mode,b),y.return=m,y):(y=i(y,x.children||[]),y.return=m,y)}function u(m,y,x,b,C){return y===null||y.tag!==7?(y=Wr(x,m.mode,b,C),y.return=m,y):(y=i(y,x),y.return=m,y)}function f(m,y,x){if(typeof y=="string"&&y!==""||typeof y=="number")return y=fu(""+y,m.mode,x),y.return=m,y;if(typeof y=="object"&&y!==null){switch(y.$$typeof){case ts:return x=Gs(y.type,y.key,y.props,null,m.mode,x),x.ref=vo(m,null,y),x.return=m,x;case yi:return y=hu(y,m.mode,x),y.return=m,y;case nr:var b=y._init;return f(m,b(y._payload),x)}if(Mo(y)||fo(y))return y=Wr(y,m.mode,x,null),y.return=m,y;fs(m,y)}return null}function h(m,y,x,b){var C=y!==null?y.key:null;if(typeof x=="string"&&x!==""||typeof x=="number")return C!==null?null:s(m,y,""+x,b);if(typeof x=="object"&&x!==null){switch(x.$$typeof){case ts:return x.key===C?l(m,y,x,b):null;case yi:return x.key===C?c(m,y,x,b):null;case nr:return C=x._init,h(m,y,C(x._payload),b)}if(Mo(x)||fo(x))return C!==null?null:u(m,y,x,b,null);fs(m,x)}return null}function p(m,y,x,b,C){if(typeof b=="string"&&b!==""||typeof b=="number")return m=m.get(x)||null,s(y,m,""+b,C);if(typeof b=="object"&&b!==null){switch(b.$$typeof){case ts:return m=m.get(b.key===null?x:b.key)||null,l(y,m,b,C);case yi:return m=m.get(b.key===null?x:b.key)||null,c(y,m,b,C);case nr:var N=b._init;return p(m,y,x,N(b._payload),C)}if(Mo(b)||fo(b))return m=m.get(x)||null,u(y,m,b,C,null);fs(y,b)}return null}function v(m,y,x,b){for(var C=null,N=null,E=y,R=y=0,T=null;E!==null&&R<x.length;R++){E.index>R?(T=E,E=null):T=E.sibling;var _=h(m,E,x[R],b);if(_===null){E===null&&(E=T);break}e&&E&&_.alternate===null&&t(m,E),y=o(_,y,R),N===null?C=_:N.sibling=_,N=_,E=T}if(R===x.length)return n(m,E),Ie&&Mr(m,R),C;if(E===null){for(;R<x.length;R++)E=f(m,x[R],b),E!==null&&(y=o(E,y,R),N===null?C=E:N.sibling=E,N=E);return Ie&&Mr(m,R),C}for(E=r(m,E);R<x.length;R++)T=p(E,m,R,x[R],b),T!==null&&(e&&T.alternate!==null&&E.delete(T.key===null?R:T.key),y=o(T,y,R),N===null?C=T:N.sibling=T,N=T);return e&&E.forEach(function(I){return t(m,I)}),Ie&&Mr(m,R),C}function g(m,y,x,b){var C=fo(x);if(typeof C!="function")throw Error(K(150));if(x=C.call(x),x==null)throw Error(K(151));for(var N=C=null,E=y,R=y=0,T=null,_=x.next();E!==null&&!_.done;R++,_=x.next()){E.index>R?(T=E,E=null):T=E.sibling;var I=h(m,E,_.value,b);if(I===null){E===null&&(E=T);break}e&&E&&I.alternate===null&&t(m,E),y=o(I,y,R),N===null?C=I:N.sibling=I,N=I,E=T}if(_.done)return n(m,E),Ie&&Mr(m,R),C;if(E===null){for(;!_.done;R++,_=x.next())_=f(m,_.value,b),_!==null&&(y=o(_,y,R),N===null?C=_:N.sibling=_,N=_);return Ie&&Mr(m,R),C}for(E=r(m,E);!_.done;R++,_=x.next())_=p(E,m,R,_.value,b),_!==null&&(e&&_.alternate!==null&&E.delete(_.key===null?R:_.key),y=o(_,y,R),N===null?C=_:N.sibling=_,N=_);return e&&E.forEach(function(z){return t(m,z)}),Ie&&Mr(m,R),C}function S(m,y,x,b){if(typeof x=="object"&&x!==null&&x.type===xi&&x.key===null&&(x=x.props.children),typeof x=="object"&&x!==null){switch(x.$$typeof){case ts:e:{for(var C=x.key,N=y;N!==null;){if(N.key===C){if(C=x.type,C===xi){if(N.tag===7){n(m,N.sibling),y=i(N,x.props.children),y.return=m,m=y;break e}}else if(N.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===nr&&y0(C)===N.type){n(m,N.sibling),y=i(N,x.props),y.ref=vo(m,N,x),y.return=m,m=y;break e}n(m,N);break}else t(m,N);N=N.sibling}x.type===xi?(y=Wr(x.props.children,m.mode,b,x.key),y.return=m,m=y):(b=Gs(x.type,x.key,x.props,null,m.mode,b),b.ref=vo(m,y,x),b.return=m,m=b)}return a(m);case yi:e:{for(N=x.key;y!==null;){if(y.key===N)if(y.tag===4&&y.stateNode.containerInfo===x.containerInfo&&y.stateNode.implementation===x.implementation){n(m,y.sibling),y=i(y,x.children||[]),y.return=m,m=y;break e}else{n(m,y);break}else t(m,y);y=y.sibling}y=hu(x,m.mode,b),y.return=m,m=y}return a(m);case nr:return N=x._init,S(m,y,N(x._payload),b)}if(Mo(x))return v(m,y,x,b);if(fo(x))return g(m,y,x,b);fs(m,x)}return typeof x=="string"&&x!==""||typeof x=="number"?(x=""+x,y!==null&&y.tag===6?(n(m,y.sibling),y=i(y,x),y.return=m,m=y):(n(m,y),y=fu(x,m.mode,b),y.return=m,m=y),a(m)):n(m,y)}return S}var Wi=Ak(!0),Ik=Ak(!1),fl=Rr(null),hl=null,ji=null,gv=null;function mv(){gv=ji=hl=null}function vv(e){var t=fl.current;je(fl),e._currentValue=t}function im(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Li(e,t){hl=e,gv=ji=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(_t=!0),e.firstContext=null)}function Qt(e){var t=e._currentValue;if(gv!==e)if(e={context:e,memoizedValue:t,next:null},ji===null){if(hl===null)throw Error(K(308));ji=e,hl.dependencies={lanes:0,firstContext:e}}else ji=ji.next=e;return t}var Or=null;function yv(e){Or===null?Or=[e]:Or.push(e)}function Tk(e,t,n,r){var i=t.interleaved;return i===null?(n.next=n,yv(t)):(n.next=i.next,i.next=n),t.interleaved=n,qn(e,r)}function qn(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var rr=!1;function xv(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Pk(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function zn(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function mr(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,me&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,qn(e,n)}return i=r.interleaved,i===null?(t.next=t,yv(r)):(t.next=i.next,i.next=t),r.interleaved=t,qn(e,n)}function Ds(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,iv(e,n)}}function x0(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,o=null;if(n=n.firstBaseUpdate,n!==null){do{var a={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};o===null?i=o=a:o=o.next=a,n=n.next}while(n!==null);o===null?i=o=t:o=o.next=t}else i=o=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:o,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function pl(e,t,n,r){var i=e.updateQueue;rr=!1;var o=i.firstBaseUpdate,a=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var l=s,c=l.next;l.next=null,a===null?o=c:a.next=c,a=l;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==a&&(s===null?u.firstBaseUpdate=c:s.next=c,u.lastBaseUpdate=l))}if(o!==null){var f=i.baseState;a=0,u=c=l=null,s=o;do{var h=s.lane,p=s.eventTime;if((r&h)===h){u!==null&&(u=u.next={eventTime:p,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var v=e,g=s;switch(h=t,p=n,g.tag){case 1:if(v=g.payload,typeof v=="function"){f=v.call(p,f,h);break e}f=v;break e;case 3:v.flags=v.flags&-65537|128;case 0:if(v=g.payload,h=typeof v=="function"?v.call(p,f,h):v,h==null)break e;f=$e({},f,h);break e;case 2:rr=!0}}s.callback!==null&&s.lane!==0&&(e.flags|=64,h=i.effects,h===null?i.effects=[s]:h.push(s))}else p={eventTime:p,lane:h,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(c=u=p,l=f):u=u.next=p,a|=h;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;h=s,s=h.next,h.next=null,i.lastBaseUpdate=h,i.shared.pending=null}}while(!0);if(u===null&&(l=f),i.baseState=l,i.firstBaseUpdate=c,i.lastBaseUpdate=u,t=i.shared.interleaved,t!==null){i=t;do a|=i.lane,i=i.next;while(i!==t)}else o===null&&(i.shared.lanes=0);Yr|=a,e.lanes=a,e.memoizedState=f}}function w0(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var r=e[t],i=r.callback;if(i!==null){if(r.callback=null,r=n,typeof i!="function")throw Error(K(191,i));i.call(r)}}}var Na={},En=Rr(Na),fa=Rr(Na),ha=Rr(Na);function Fr(e){if(e===Na)throw Error(K(174));return e}function wv(e,t){switch(ke(ha,t),ke(fa,e),ke(En,Na),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Og(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=Og(t,e)}je(En),ke(En,t)}function Ui(){je(En),je(fa),je(ha)}function Mk(e){Fr(ha.current);var t=Fr(En.current),n=Og(t,e.type);t!==n&&(ke(fa,e),ke(En,n))}function bv(e){fa.current===e&&(je(En),je(fa))}var Me=Rr(0);function gl(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var au=[];function Sv(){for(var e=0;e<au.length;e++)au[e]._workInProgressVersionPrimary=null;au.length=0}var Bs=Vn.ReactCurrentDispatcher,su=Vn.ReactCurrentBatchConfig,Kr=0,Le=null,Ve=null,Ye=null,ml=!1,Qo=!1,pa=0,EA=0;function at(){throw Error(K(321))}function _v(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!hn(e[n],t[n]))return!1;return!0}function Ev(e,t,n,r,i,o){if(Kr=o,Le=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Bs.current=e===null||e.memoizedState===null?RA:NA,e=n(r,i),Qo){o=0;do{if(Qo=!1,pa=0,25<=o)throw Error(K(301));o+=1,Ye=Ve=null,t.updateQueue=null,Bs.current=AA,e=n(r,i)}while(Qo)}if(Bs.current=vl,t=Ve!==null&&Ve.next!==null,Kr=0,Ye=Ve=Le=null,ml=!1,t)throw Error(K(300));return e}function kv(){var e=pa!==0;return pa=0,e}function xn(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ye===null?Le.memoizedState=Ye=e:Ye=Ye.next=e,Ye}function Zt(){if(Ve===null){var e=Le.alternate;e=e!==null?e.memoizedState:null}else e=Ve.next;var t=Ye===null?Le.memoizedState:Ye.next;if(t!==null)Ye=t,Ve=e;else{if(e===null)throw Error(K(310));Ve=e,e={memoizedState:Ve.memoizedState,baseState:Ve.baseState,baseQueue:Ve.baseQueue,queue:Ve.queue,next:null},Ye===null?Le.memoizedState=Ye=e:Ye=Ye.next=e}return Ye}function ga(e,t){return typeof t=="function"?t(e):t}function lu(e){var t=Zt(),n=t.queue;if(n===null)throw Error(K(311));n.lastRenderedReducer=e;var r=Ve,i=r.baseQueue,o=n.pending;if(o!==null){if(i!==null){var a=i.next;i.next=o.next,o.next=a}r.baseQueue=i=o,n.pending=null}if(i!==null){o=i.next,r=r.baseState;var s=a=null,l=null,c=o;do{var u=c.lane;if((Kr&u)===u)l!==null&&(l=l.next={lane:0,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null}),r=c.hasEagerState?c.eagerState:e(r,c.action);else{var f={lane:u,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null};l===null?(s=l=f,a=r):l=l.next=f,Le.lanes|=u,Yr|=u}c=c.next}while(c!==null&&c!==o);l===null?a=r:l.next=s,hn(r,t.memoizedState)||(_t=!0),t.memoizedState=r,t.baseState=a,t.baseQueue=l,n.lastRenderedState=r}if(e=n.interleaved,e!==null){i=e;do o=i.lane,Le.lanes|=o,Yr|=o,i=i.next;while(i!==e)}else i===null&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function cu(e){var t=Zt(),n=t.queue;if(n===null)throw Error(K(311));n.lastRenderedReducer=e;var r=n.dispatch,i=n.pending,o=t.memoizedState;if(i!==null){n.pending=null;var a=i=i.next;do o=e(o,a.action),a=a.next;while(a!==i);hn(o,t.memoizedState)||(_t=!0),t.memoizedState=o,t.baseQueue===null&&(t.baseState=o),n.lastRenderedState=o}return[o,r]}function Lk(){}function $k(e,t){var n=Le,r=Zt(),i=t(),o=!hn(r.memoizedState,i);if(o&&(r.memoizedState=i,_t=!0),r=r.queue,Cv(Fk.bind(null,n,r,e),[e]),r.getSnapshot!==t||o||Ye!==null&&Ye.memoizedState.tag&1){if(n.flags|=2048,ma(9,Ok.bind(null,n,r,i,t),void 0,null),Xe===null)throw Error(K(349));Kr&30||zk(n,t,i)}return i}function zk(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=Le.updateQueue,t===null?(t={lastEffect:null,stores:null},Le.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function Ok(e,t,n,r){t.value=n,t.getSnapshot=r,qk(t)&&Dk(e)}function Fk(e,t,n){return n(function(){qk(t)&&Dk(e)})}function qk(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!hn(e,n)}catch{return!0}}function Dk(e){var t=qn(e,1);t!==null&&fn(t,e,1,-1)}function b0(e){var t=xn();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:ga,lastRenderedState:e},t.queue=e,e=e.dispatch=jA.bind(null,Le,e),[t.memoizedState,e]}function ma(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},t=Le.updateQueue,t===null?(t={lastEffect:null,stores:null},Le.updateQueue=t,t.lastEffect=e.next=e):(n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e)),e}function Bk(){return Zt().memoizedState}function Hs(e,t,n,r){var i=xn();Le.flags|=e,i.memoizedState=ma(1|t,n,void 0,r===void 0?null:r)}function Wl(e,t,n,r){var i=Zt();r=r===void 0?null:r;var o=void 0;if(Ve!==null){var a=Ve.memoizedState;if(o=a.destroy,r!==null&&_v(r,a.deps)){i.memoizedState=ma(t,n,o,r);return}}Le.flags|=e,i.memoizedState=ma(1|t,n,o,r)}function S0(e,t){return Hs(8390656,8,e,t)}function Cv(e,t){return Wl(2048,8,e,t)}function Hk(e,t){return Wl(4,2,e,t)}function Wk(e,t){return Wl(4,4,e,t)}function Uk(e,t){if(typeof t=="function")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Vk(e,t,n){return n=n!=null?n.concat([e]):null,Wl(4,4,Uk.bind(null,t,e),n)}function jv(){}function Gk(e,t){var n=Zt();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&_v(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Kk(e,t){var n=Zt();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&_v(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function Yk(e,t,n){return Kr&21?(hn(n,t)||(n=ek(),Le.lanes|=n,Yr|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,_t=!0),e.memoizedState=n)}function kA(e,t){var n=xe;xe=n!==0&&4>n?n:4,e(!0);var r=su.transition;su.transition={};try{e(!1),t()}finally{xe=n,su.transition=r}}function Xk(){return Zt().memoizedState}function CA(e,t,n){var r=yr(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Qk(e))Zk(t,n);else if(n=Tk(e,t,n,r),n!==null){var i=mt();fn(n,e,r,i),Jk(n,t,r)}}function jA(e,t,n){var r=yr(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Qk(e))Zk(t,i);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var a=t.lastRenderedState,s=o(a,n);if(i.hasEagerState=!0,i.eagerState=s,hn(s,a)){var l=t.interleaved;l===null?(i.next=i,yv(t)):(i.next=l.next,l.next=i),t.interleaved=i;return}}catch{}finally{}n=Tk(e,t,i,r),n!==null&&(i=mt(),fn(n,e,r,i),Jk(n,t,r))}}function Qk(e){var t=e.alternate;return e===Le||t!==null&&t===Le}function Zk(e,t){Qo=ml=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Jk(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,iv(e,n)}}var vl={readContext:Qt,useCallback:at,useContext:at,useEffect:at,useImperativeHandle:at,useInsertionEffect:at,useLayoutEffect:at,useMemo:at,useReducer:at,useRef:at,useState:at,useDebugValue:at,useDeferredValue:at,useTransition:at,useMutableSource:at,useSyncExternalStore:at,useId:at,unstable_isNewReconciler:!1},RA={readContext:Qt,useCallback:function(e,t){return xn().memoizedState=[e,t===void 0?null:t],e},useContext:Qt,useEffect:S0,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Hs(4194308,4,Uk.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Hs(4194308,4,e,t)},useInsertionEffect:function(e,t){return Hs(4,2,e,t)},useMemo:function(e,t){var n=xn();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=xn();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=CA.bind(null,Le,e),[r.memoizedState,e]},useRef:function(e){var t=xn();return e={current:e},t.memoizedState=e},useState:b0,useDebugValue:jv,useDeferredValue:function(e){return xn().memoizedState=e},useTransition:function(){var e=b0(!1),t=e[0];return e=kA.bind(null,e[1]),xn().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=Le,i=xn();if(Ie){if(n===void 0)throw Error(K(407));n=n()}else{if(n=t(),Xe===null)throw Error(K(349));Kr&30||zk(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,S0(Fk.bind(null,r,o,e),[e]),r.flags|=2048,ma(9,Ok.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=xn(),t=Xe.identifierPrefix;if(Ie){var n=Pn,r=Tn;n=(r&~(1<<32-dn(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=pa++,0<n&&(t+="H"+n.toString(32)),t+=":"}else n=EA++,t=":"+t+"r"+n.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},NA={readContext:Qt,useCallback:Gk,useContext:Qt,useEffect:Cv,useImperativeHandle:Vk,useInsertionEffect:Hk,useLayoutEffect:Wk,useMemo:Kk,useReducer:lu,useRef:Bk,useState:function(){return lu(ga)},useDebugValue:jv,useDeferredValue:function(e){var t=Zt();return Yk(t,Ve.memoizedState,e)},useTransition:function(){var e=lu(ga)[0],t=Zt().memoizedState;return[e,t]},useMutableSource:Lk,useSyncExternalStore:$k,useId:Xk,unstable_isNewReconciler:!1},AA={readContext:Qt,useCallback:Gk,useContext:Qt,useEffect:Cv,useImperativeHandle:Vk,useInsertionEffect:Hk,useLayoutEffect:Wk,useMemo:Kk,useReducer:cu,useRef:Bk,useState:function(){return cu(ga)},useDebugValue:jv,useDeferredValue:function(e){var t=Zt();return Ve===null?t.memoizedState=e:Yk(t,Ve.memoizedState,e)},useTransition:function(){var e=cu(ga)[0],t=Zt().memoizedState;return[e,t]},useMutableSource:Lk,useSyncExternalStore:$k,useId:Xk,unstable_isNewReconciler:!1};function an(e,t){if(e&&e.defaultProps){t=$e({},t),e=e.defaultProps;for(var n in e)t[n]===void 0&&(t[n]=e[n]);return t}return t}function om(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:$e({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Ul={isMounted:function(e){return(e=e._reactInternals)?ti(e)===e:!1},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=mt(),i=yr(e),o=zn(r,i);o.payload=t,n!=null&&(o.callback=n),t=mr(e,o,i),t!==null&&(fn(t,e,i,r),Ds(t,e,i))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=mt(),i=yr(e),o=zn(r,i);o.tag=1,o.payload=t,n!=null&&(o.callback=n),t=mr(e,o,i),t!==null&&(fn(t,e,i,r),Ds(t,e,i))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=mt(),r=yr(e),i=zn(n,r);i.tag=2,t!=null&&(i.callback=t),t=mr(e,i,r),t!==null&&(fn(t,e,r,n),Ds(t,e,r))}};function _0(e,t,n,r,i,o,a){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(r,o,a):t.prototype&&t.prototype.isPureReactComponent?!la(n,r)||!la(i,o):!0}function eC(e,t,n){var r=!1,i=Er,o=t.contextType;return typeof o=="object"&&o!==null?o=Qt(o):(i=Ct(t)?Vr:ct.current,r=t.contextTypes,o=(r=r!=null)?Bi(e,i):Er),t=new t(n,o),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=Ul,e.stateNode=t,t._reactInternals=e,r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=i,e.__reactInternalMemoizedMaskedChildContext=o),t}function E0(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Ul.enqueueReplaceState(t,t.state,null)}function am(e,t,n,r){var i=e.stateNode;i.props=n,i.state=e.memoizedState,i.refs={},xv(e);var o=t.contextType;typeof o=="object"&&o!==null?i.context=Qt(o):(o=Ct(t)?Vr:ct.current,i.context=Bi(e,o)),i.state=e.memoizedState,o=t.getDerivedStateFromProps,typeof o=="function"&&(om(e,t,o,n),i.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof i.getSnapshotBeforeUpdate=="function"||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(t=i.state,typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount(),t!==i.state&&Ul.enqueueReplaceState(i,i.state,null),pl(e,n,i,r),i.state=e.memoizedState),typeof i.componentDidMount=="function"&&(e.flags|=4194308)}function Vi(e,t){try{var n="",r=t;do n+=iN(r),r=r.return;while(r);var i=n}catch(o){i=`
|
|
39
39
|
Error generating stack: `+o.message+`
|
|
40
|
-
`+o.stack}return{value:e,source:t,stack:i,digest:null}}function lu(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function im(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var kI=typeof WeakMap=="function"?WeakMap:Map;function Jk(e,t,n){n=zn(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){ml||(ml=!0,pm=r),im(e,t)},n}function eC(e,t,n){n=zn(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var i=t.value;n.payload=function(){return r(i)},n.callback=function(){im(e,t)}}var o=e.stateNode;return o!==null&&typeof o.componentDidCatch=="function"&&(n.callback=function(){im(e,t),typeof r!="function"&&(vr===null?vr=new Set([this]):vr.add(this));var a=t.stack;this.componentDidCatch(t.value,{componentStack:a!==null?a:""})}),n}function _0(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new kI;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(i.add(n),e=FI.bind(null,e,t,n),t.then(e,e))}function E0(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function k0(e,t,n,r,i){return e.mode&1?(e.flags|=65536,e.lanes=i,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=zn(-1,1),t.tag=2,mr(n,t,1))),n.lanes|=1),e)}var CI=Vn.ReactCurrentOwner,Et=!1;function ht(e,t,n,r){t.child=e===null?Nk(t,null,n,r):Hi(t,e.child,n,r)}function C0(e,t,n,r,i){n=n.render;var o=t.ref;return Mi(t,i),r=bv(e,t,n,r,o,i),n=Sv(),e!==null&&!Et?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,Dn(e,t,i)):(Ie&&n&&cv(t),t.flags|=1,ht(e,t,r,i),t.child)}function j0(e,t,n,r,i){if(e===null){var o=n.type;return typeof o=="function"&&!Tv(o)&&o.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=o,tC(e,t,o,r,i)):(e=Ws(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(o=e.child,!(e.lanes&i)){var a=o.memoizedProps;if(n=n.compare,n=n!==null?n:aa,n(a,r)&&e.ref===t.ref)return Dn(e,t,i)}return t.flags|=1,e=xr(o,r),e.ref=t.ref,e.return=t,t.child=e}function tC(e,t,n,r,i){if(e!==null){var o=e.memoizedProps;if(aa(o,r)&&e.ref===t.ref)if(Et=!1,t.pendingProps=r=o,(e.lanes&i)!==0)e.flags&131072&&(Et=!0);else return t.lanes=e.lanes,Dn(e,t,i)}return om(e,t,n,r,i)}function nC(e,t,n){var r=t.pendingProps,i=r.children,o=e!==null?e.memoizedState:null;if(r.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Ee(Ri,Mt),Mt|=n;else{if(!(n&1073741824))return e=o!==null?o.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Ee(Ri,Mt),Mt|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=o!==null?o.baseLanes:n,Ee(Ri,Mt),Mt|=r}else o!==null?(r=o.baseLanes|n,t.memoizedState=null):r=n,Ee(Ri,Mt),Mt|=r;return ht(e,t,i,n),t.child}function rC(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function om(e,t,n,r,i){var o=jt(n)?Vr:st.current;return o=Di(t,o),Mi(t,i),n=bv(e,t,n,r,o,i),r=Sv(),e!==null&&!Et?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,Dn(e,t,i)):(Ie&&r&&cv(t),t.flags|=1,ht(e,t,n,i),t.child)}function R0(e,t,n,r,i){if(jt(n)){var o=!0;al(t)}else o=!1;if(Mi(t,i),t.stateNode===null)Ds(e,t),Zk(t,n,r),rm(t,n,r,i),r=!0;else if(e===null){var a=t.stateNode,s=t.memoizedProps;a.props=s;var l=a.context,c=n.contextType;typeof c=="object"&&c!==null?c=Zt(c):(c=jt(n)?Vr:st.current,c=Di(t,c));var u=n.getDerivedStateFromProps,f=typeof u=="function"||typeof a.getSnapshotBeforeUpdate=="function";f||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(s!==r||l!==c)&&S0(t,a,r,c),rr=!1;var h=t.memoizedState;a.state=h,dl(t,r,a,i),l=t.memoizedState,s!==r||h!==l||Ct.current||rr?(typeof u=="function"&&(nm(t,n,u,r),l=t.memoizedState),(s=rr||b0(t,n,s,r,h,l,c))?(f||typeof a.UNSAFE_componentWillMount!="function"&&typeof a.componentWillMount!="function"||(typeof a.componentWillMount=="function"&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount=="function"&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount=="function"&&(t.flags|=4194308)):(typeof a.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),a.props=r,a.state=l,a.context=c,r=s):(typeof a.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,Ak(e,t),s=t.memoizedProps,c=t.type===t.elementType?s:sn(t.type,s),a.props=c,f=t.pendingProps,h=a.context,l=n.contextType,typeof l=="object"&&l!==null?l=Zt(l):(l=jt(n)?Vr:st.current,l=Di(t,l));var p=n.getDerivedStateFromProps;(u=typeof p=="function"||typeof a.getSnapshotBeforeUpdate=="function")||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(s!==f||h!==l)&&S0(t,a,r,l),rr=!1,h=t.memoizedState,a.state=h,dl(t,r,a,i);var v=t.memoizedState;s!==f||h!==v||Ct.current||rr?(typeof p=="function"&&(nm(t,n,p,r),v=t.memoizedState),(c=rr||b0(t,n,c,r,h,v,l)||!1)?(u||typeof a.UNSAFE_componentWillUpdate!="function"&&typeof a.componentWillUpdate!="function"||(typeof a.componentWillUpdate=="function"&&a.componentWillUpdate(r,v,l),typeof a.UNSAFE_componentWillUpdate=="function"&&a.UNSAFE_componentWillUpdate(r,v,l)),typeof a.componentDidUpdate=="function"&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof a.componentDidUpdate!="function"||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=v),a.props=r,a.state=v,a.context=l,r=c):(typeof a.componentDidUpdate!="function"||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),r=!1)}return am(e,t,n,r,o,i)}function am(e,t,n,r,i,o){rC(e,t);var a=(t.flags&128)!==0;if(!r&&!a)return i&&h0(t,n,!1),Dn(e,t,o);r=t.stateNode,CI.current=t;var s=a&&typeof n.getDerivedStateFromError!="function"?null:r.render();return t.flags|=1,e!==null&&a?(t.child=Hi(t,e.child,null,o),t.child=Hi(t,null,s,o)):ht(e,t,s,o),t.memoizedState=r.state,i&&h0(t,n,!0),t.child}function iC(e){var t=e.stateNode;t.pendingContext?f0(e,t.pendingContext,t.pendingContext!==t.context):t.context&&f0(e,t.context,!1),vv(e,t.containerInfo)}function N0(e,t,n,r,i){return Bi(),dv(i),t.flags|=256,ht(e,t,n,r),t.child}var sm={dehydrated:null,treeContext:null,retryLane:0};function lm(e){return{baseLanes:e,cachePool:null,transitions:null}}function oC(e,t,n){var r=t.pendingProps,i=Pe.current,o=!1,a=(t.flags&128)!==0,s;if((s=a)||(s=e!==null&&e.memoizedState===null?!1:(i&2)!==0),s?(o=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(i|=1),Ee(Pe,i&1),e===null)return em(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(a=r.children,e=r.fallback,o?(r=t.mode,o=t.child,a={mode:"hidden",children:a},!(r&1)&&o!==null?(o.childLanes=0,o.pendingProps=a):o=Ul(a,r,0,null),e=Wr(e,r,n,null),o.return=t,e.return=t,o.sibling=e,t.child=o,t.child.memoizedState=lm(n),t.memoizedState=sm,e):kv(t,a));if(i=e.memoizedState,i!==null&&(s=i.dehydrated,s!==null))return jI(e,t,a,r,s,i,n);if(o){o=r.fallback,a=t.mode,i=e.child,s=i.sibling;var l={mode:"hidden",children:r.children};return!(a&1)&&t.child!==i?(r=t.child,r.childLanes=0,r.pendingProps=l,t.deletions=null):(r=xr(i,l),r.subtreeFlags=i.subtreeFlags&14680064),s!==null?o=xr(s,o):(o=Wr(o,a,n,null),o.flags|=2),o.return=t,r.return=t,r.sibling=o,t.child=r,r=o,o=t.child,a=e.child.memoizedState,a=a===null?lm(n):{baseLanes:a.baseLanes|n,cachePool:null,transitions:a.transitions},o.memoizedState=a,o.childLanes=e.childLanes&~n,t.memoizedState=sm,r}return o=e.child,e=o.sibling,r=xr(o,{mode:"visible",children:r.children}),!(t.mode&1)&&(r.lanes=n),r.return=t,r.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=r,t.memoizedState=null,r}function kv(e,t){return t=Ul({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function us(e,t,n,r){return r!==null&&dv(r),Hi(t,e.child,null,n),e=kv(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function jI(e,t,n,r,i,o,a){if(n)return t.flags&256?(t.flags&=-257,r=lu(Error(V(422))),us(e,t,a,r)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(o=r.fallback,i=t.mode,r=Ul({mode:"visible",children:r.children},i,0,null),o=Wr(o,i,a,null),o.flags|=2,r.return=t,o.return=t,r.sibling=o,t.child=r,t.mode&1&&Hi(t,e.child,null,a),t.child.memoizedState=lm(a),t.memoizedState=sm,o);if(!(t.mode&1))return us(e,t,a,null);if(i.data==="$!"){if(r=i.nextSibling&&i.nextSibling.dataset,r)var s=r.dgst;return r=s,o=Error(V(419)),r=lu(o,r,void 0),us(e,t,a,r)}if(s=(a&e.childLanes)!==0,Et||s){if(r=Ye,r!==null){switch(a&-a){case 4:i=2;break;case 16:i=8;break;case 64: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:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:i=32;break;case 536870912:i=268435456;break;default:i=0}i=i&(r.suspendedLanes|a)?0:i,i!==0&&i!==o.retryLane&&(o.retryLane=i,qn(e,i),hn(r,e,i,-1))}return Av(),r=lu(Error(V(421))),us(e,t,a,r)}return i.data==="$?"?(t.flags|=128,t.child=e.child,t=qI.bind(null,e),i._reactRetry=t,null):(e=o.treeContext,$t=gr(i.nextSibling),zt=t,Ie=!0,cn=null,e!==null&&(Vt[Gt++]=Tn,Vt[Gt++]=Pn,Vt[Gt++]=Gr,Tn=e.id,Pn=e.overflow,Gr=t),t=kv(t,r.children),t.flags|=4096,t)}function I0(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),tm(e.return,t,n)}function cu(e,t,n,r,i){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=i)}function aC(e,t,n){var r=t.pendingProps,i=r.revealOrder,o=r.tail;if(ht(e,t,r.children,n),r=Pe.current,r&2)r=r&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&I0(e,n,t);else if(e.tag===19)I0(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(Ee(Pe,r),!(t.mode&1))t.memoizedState=null;else switch(i){case"forwards":for(n=t.child,i=null;n!==null;)e=n.alternate,e!==null&&fl(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),cu(t,!1,i,n,o);break;case"backwards":for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&fl(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}cu(t,!0,n,null,o);break;case"together":cu(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Ds(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Dn(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Yr|=t.lanes,!(n&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(V(153));if(t.child!==null){for(e=t.child,n=xr(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=xr(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function RI(e,t,n){switch(t.tag){case 3:iC(t),Bi();break;case 5:Tk(t);break;case 1:jt(t.type)&&al(t);break;case 4:vv(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,i=t.memoizedProps.value;Ee(cl,r._currentValue),r._currentValue=i;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated!==null?(Ee(Pe,Pe.current&1),t.flags|=128,null):n&t.child.childLanes?oC(e,t,n):(Ee(Pe,Pe.current&1),e=Dn(e,t,n),e!==null?e.sibling:null);Ee(Pe,Pe.current&1);break;case 19:if(r=(n&t.childLanes)!==0,e.flags&128){if(r)return aC(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),Ee(Pe,Pe.current),r)break;return null;case 22:case 23:return t.lanes=0,nC(e,t,n)}return Dn(e,t,n)}var sC,cm,lC,cC;sC=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};cm=function(){};lC=function(e,t,n,r){var i=e.memoizedProps;if(i!==r){e=t.stateNode,Fr(En.current);var o=null;switch(n){case"input":i=Ag(e,i),r=Ag(e,r),o=[];break;case"select":i=Le({},i,{value:void 0}),r=Le({},r,{value:void 0}),o=[];break;case"textarea":i=Mg(e,i),r=Mg(e,r),o=[];break;default:typeof i.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=il)}$g(n,r);var a;n=null;for(c in i)if(!r.hasOwnProperty(c)&&i.hasOwnProperty(c)&&i[c]!=null)if(c==="style"){var s=i[c];for(a in s)s.hasOwnProperty(a)&&(n||(n={}),n[a]="")}else c!=="dangerouslySetInnerHTML"&&c!=="children"&&c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&c!=="autoFocus"&&(Jo.hasOwnProperty(c)?o||(o=[]):(o=o||[]).push(c,null));for(c in r){var l=r[c];if(s=i!=null?i[c]:void 0,r.hasOwnProperty(c)&&l!==s&&(l!=null||s!=null))if(c==="style")if(s){for(a in s)!s.hasOwnProperty(a)||l&&l.hasOwnProperty(a)||(n||(n={}),n[a]="");for(a in l)l.hasOwnProperty(a)&&s[a]!==l[a]&&(n||(n={}),n[a]=l[a])}else n||(o||(o=[]),o.push(c,n)),n=l;else c==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,s=s?s.__html:void 0,l!=null&&s!==l&&(o=o||[]).push(c,l)):c==="children"?typeof l!="string"&&typeof l!="number"||(o=o||[]).push(c,""+l):c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&(Jo.hasOwnProperty(c)?(l!=null&&c==="onScroll"&&ke("scroll",e),o||s===l||(o=[])):(o=o||[]).push(c,l))}n&&(o=o||[]).push("style",n);var c=o;(t.updateQueue=c)&&(t.flags|=4)}};cC=function(e,t,n,r){n!==r&&(t.flags|=4)};function mo(e,t){if(!Ie)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function ot(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&14680064,r|=i.flags&14680064,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function NI(e,t,n){var r=t.pendingProps;switch(uv(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ot(t),null;case 1:return jt(t.type)&&ol(),ot(t),null;case 3:return r=t.stateNode,Wi(),Ce(Ct),Ce(st),xv(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(ls(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,cn!==null&&(vm(cn),cn=null))),cm(e,t),ot(t),null;case 5:yv(t);var i=Fr(da.current);if(n=t.type,e!==null&&t.stateNode!=null)lC(e,t,n,r,i),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(V(166));return ot(t),null}if(e=Fr(En.current),ls(t)){r=t.stateNode,n=t.type;var o=t.memoizedProps;switch(r[bn]=t,r[ca]=o,e=(t.mode&1)!==0,n){case"dialog":ke("cancel",r),ke("close",r);break;case"iframe":case"object":case"embed":ke("load",r);break;case"video":case"audio":for(i=0;i<Mo.length;i++)ke(Mo[i],r);break;case"source":ke("error",r);break;case"img":case"image":case"link":ke("error",r),ke("load",r);break;case"details":ke("toggle",r);break;case"input":Fy(r,o),ke("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!o.multiple},ke("invalid",r);break;case"textarea":Dy(r,o),ke("invalid",r)}$g(n,o),i=null;for(var a in o)if(o.hasOwnProperty(a)){var s=o[a];a==="children"?typeof s=="string"?r.textContent!==s&&(o.suppressHydrationWarning!==!0&&ss(r.textContent,s,e),i=["children",s]):typeof s=="number"&&r.textContent!==""+s&&(o.suppressHydrationWarning!==!0&&ss(r.textContent,s,e),i=["children",""+s]):Jo.hasOwnProperty(a)&&s!=null&&a==="onScroll"&&ke("scroll",r)}switch(n){case"input":Ja(r),qy(r,o,!0);break;case"textarea":Ja(r),By(r);break;case"select":case"option":break;default:typeof o.onClick=="function"&&(r.onclick=il)}r=i,t.updateQueue=r,r!==null&&(t.flags|=4)}else{a=i.nodeType===9?i:i.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=zE(n)),e==="http://www.w3.org/1999/xhtml"?n==="script"?(e=a.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=a.createElement(n,{is:r.is}):(e=a.createElement(n),n==="select"&&(a=e,r.multiple?a.multiple=!0:r.size&&(a.size=r.size))):e=a.createElementNS(e,n),e[bn]=t,e[ca]=r,sC(e,t,!1,!1),t.stateNode=e;e:{switch(a=zg(n,r),n){case"dialog":ke("cancel",e),ke("close",e),i=r;break;case"iframe":case"object":case"embed":ke("load",e),i=r;break;case"video":case"audio":for(i=0;i<Mo.length;i++)ke(Mo[i],e);i=r;break;case"source":ke("error",e),i=r;break;case"img":case"image":case"link":ke("error",e),ke("load",e),i=r;break;case"details":ke("toggle",e),i=r;break;case"input":Fy(e,r),i=Ag(e,r),ke("invalid",e);break;case"option":i=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},i=Le({},r,{value:void 0}),ke("invalid",e);break;case"textarea":Dy(e,r),i=Mg(e,r),ke("invalid",e);break;default:i=r}$g(n,i),s=i;for(o in s)if(s.hasOwnProperty(o)){var l=s[o];o==="style"?qE(e,l):o==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,l!=null&&OE(e,l)):o==="children"?typeof l=="string"?(n!=="textarea"||l!=="")&&ea(e,l):typeof l=="number"&&ea(e,""+l):o!=="suppressContentEditableWarning"&&o!=="suppressHydrationWarning"&&o!=="autoFocus"&&(Jo.hasOwnProperty(o)?l!=null&&o==="onScroll"&&ke("scroll",e):l!=null&&Ym(e,o,l,a))}switch(n){case"input":Ja(e),qy(e,r,!1);break;case"textarea":Ja(e),By(e);break;case"option":r.value!=null&&e.setAttribute("value",""+_r(r.value));break;case"select":e.multiple=!!r.multiple,o=r.value,o!=null?Ii(e,!!r.multiple,o,!1):r.defaultValue!=null&&Ii(e,!!r.multiple,r.defaultValue,!0);break;default:typeof i.onClick=="function"&&(e.onclick=il)}switch(n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return ot(t),null;case 6:if(e&&t.stateNode!=null)cC(e,t,e.memoizedProps,r);else{if(typeof r!="string"&&t.stateNode===null)throw Error(V(166));if(n=Fr(da.current),Fr(En.current),ls(t)){if(r=t.stateNode,n=t.memoizedProps,r[bn]=t,(o=r.nodeValue!==n)&&(e=zt,e!==null))switch(e.tag){case 3:ss(r.nodeValue,n,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&ss(r.nodeValue,n,(e.mode&1)!==0)}o&&(t.flags|=4)}else r=(n.nodeType===9?n:n.ownerDocument).createTextNode(r),r[bn]=t,t.stateNode=r}return ot(t),null;case 13:if(Ce(Pe),r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(Ie&&$t!==null&&t.mode&1&&!(t.flags&128))jk(),Bi(),t.flags|=98560,o=!1;else if(o=ls(t),r!==null&&r.dehydrated!==null){if(e===null){if(!o)throw Error(V(318));if(o=t.memoizedState,o=o!==null?o.dehydrated:null,!o)throw Error(V(317));o[bn]=t}else Bi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;ot(t),o=!1}else cn!==null&&(vm(cn),cn=null),o=!0;if(!o)return t.flags&65536?t:null}return t.flags&128?(t.lanes=n,t):(r=r!==null,r!==(e!==null&&e.memoizedState!==null)&&r&&(t.child.flags|=8192,t.mode&1&&(e===null||Pe.current&1?Ve===0&&(Ve=3):Av())),t.updateQueue!==null&&(t.flags|=4),ot(t),null);case 4:return Wi(),cm(e,t),e===null&&sa(t.stateNode.containerInfo),ot(t),null;case 10:return pv(t.type._context),ot(t),null;case 17:return jt(t.type)&&ol(),ot(t),null;case 19:if(Ce(Pe),o=t.memoizedState,o===null)return ot(t),null;if(r=(t.flags&128)!==0,a=o.rendering,a===null)if(r)mo(o,!1);else{if(Ve!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(a=fl(e),a!==null){for(t.flags|=128,mo(o,!1),r=a.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;n!==null;)o=n,e=r,o.flags&=14680066,a=o.alternate,a===null?(o.childLanes=0,o.lanes=e,o.child=null,o.subtreeFlags=0,o.memoizedProps=null,o.memoizedState=null,o.updateQueue=null,o.dependencies=null,o.stateNode=null):(o.childLanes=a.childLanes,o.lanes=a.lanes,o.child=a.child,o.subtreeFlags=0,o.deletions=null,o.memoizedProps=a.memoizedProps,o.memoizedState=a.memoizedState,o.updateQueue=a.updateQueue,o.type=a.type,e=a.dependencies,o.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return Ee(Pe,Pe.current&1|2),t.child}e=e.sibling}o.tail!==null&&qe()>Vi&&(t.flags|=128,r=!0,mo(o,!1),t.lanes=4194304)}else{if(!r)if(e=fl(a),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),mo(o,!0),o.tail===null&&o.tailMode==="hidden"&&!a.alternate&&!Ie)return ot(t),null}else 2*qe()-o.renderingStartTime>Vi&&n!==1073741824&&(t.flags|=128,r=!0,mo(o,!1),t.lanes=4194304);o.isBackwards?(a.sibling=t.child,t.child=a):(n=o.last,n!==null?n.sibling=a:t.child=a,o.last=a)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=qe(),t.sibling=null,n=Pe.current,Ee(Pe,r?n&1|2:n&1),t):(ot(t),null);case 22:case 23:return Iv(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Mt&1073741824&&(ot(t),t.subtreeFlags&6&&(t.flags|=8192)):ot(t),null;case 24:return null;case 25:return null}throw Error(V(156,t.tag))}function II(e,t){switch(uv(t),t.tag){case 1:return jt(t.type)&&ol(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Wi(),Ce(Ct),Ce(st),xv(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return yv(t),null;case 13:if(Ce(Pe),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(V(340));Bi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Ce(Pe),null;case 4:return Wi(),null;case 10:return pv(t.type._context),null;case 22:case 23:return Iv(),null;case 24:return null;default:return null}}var ds=!1,at=!1,AI=typeof WeakSet=="function"?WeakSet:Set,Q=null;function ji(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Oe(e,t,r)}else n.current=null}function um(e,t,n){try{n()}catch(r){Oe(e,t,r)}}var A0=!1;function TI(e,t){if(Gg=tl,e=pk(),lv(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var a=0,s=-1,l=-1,c=0,u=0,f=e,h=null;t:for(;;){for(var p;f!==n||i!==0&&f.nodeType!==3||(s=a+i),f!==o||r!==0&&f.nodeType!==3||(l=a+r),f.nodeType===3&&(a+=f.nodeValue.length),(p=f.firstChild)!==null;)h=f,f=p;for(;;){if(f===e)break t;if(h===n&&++c===i&&(s=a),h===o&&++u===r&&(l=a),(p=f.nextSibling)!==null)break;f=h,h=f.parentNode}f=p}n=s===-1||l===-1?null:{start:s,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(Kg={focusedElem:e,selectionRange:n},tl=!1,Q=t;Q!==null;)if(t=Q,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Q=e;else for(;Q!==null;){t=Q;try{var v=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(v!==null){var g=v.memoizedProps,b=v.memoizedState,m=t.stateNode,y=m.getSnapshotBeforeUpdate(t.elementType===t.type?g:sn(t.type,g),b);m.__reactInternalSnapshotBeforeUpdate=y}break;case 3:var x=t.stateNode.containerInfo;x.nodeType===1?x.textContent="":x.nodeType===9&&x.documentElement&&x.removeChild(x.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(V(163))}}catch(S){Oe(t,t.return,S)}if(e=t.sibling,e!==null){e.return=t.return,Q=e;break}Q=t.return}return v=A0,A0=!1,v}function Xo(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var o=i.destroy;i.destroy=void 0,o!==void 0&&um(t,n,o)}i=i.next}while(i!==r)}}function Hl(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function dm(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function uC(e){var t=e.alternate;t!==null&&(e.alternate=null,uC(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[bn],delete t[ca],delete t[Qg],delete t[pI],delete t[gI])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function dC(e){return e.tag===5||e.tag===3||e.tag===4}function T0(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||dC(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function fm(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=il));else if(r!==4&&(e=e.child,e!==null))for(fm(e,t,n),e=e.sibling;e!==null;)fm(e,t,n),e=e.sibling}function hm(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(hm(e,t,n),e=e.sibling;e!==null;)hm(e,t,n),e=e.sibling}var Je=null,ln=!1;function Qn(e,t,n){for(n=n.child;n!==null;)fC(e,t,n),n=n.sibling}function fC(e,t,n){if(_n&&typeof _n.onCommitFiberUnmount=="function")try{_n.onCommitFiberUnmount(Ll,n)}catch{}switch(n.tag){case 5:at||ji(n,t);case 6:var r=Je,i=ln;Je=null,Qn(e,t,n),Je=r,ln=i,Je!==null&&(ln?(e=Je,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Je.removeChild(n.stateNode));break;case 18:Je!==null&&(ln?(e=Je,n=n.stateNode,e.nodeType===8?nu(e.parentNode,n):e.nodeType===1&&nu(e,n),ia(e)):nu(Je,n.stateNode));break;case 4:r=Je,i=ln,Je=n.stateNode.containerInfo,ln=!0,Qn(e,t,n),Je=r,ln=i;break;case 0:case 11:case 14:case 15:if(!at&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var o=i,a=o.destroy;o=o.tag,a!==void 0&&(o&2||o&4)&&um(n,t,a),i=i.next}while(i!==r)}Qn(e,t,n);break;case 1:if(!at&&(ji(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){Oe(n,t,s)}Qn(e,t,n);break;case 21:Qn(e,t,n);break;case 22:n.mode&1?(at=(r=at)||n.memoizedState!==null,Qn(e,t,n),at=r):Qn(e,t,n);break;default:Qn(e,t,n)}}function P0(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new AI),t.forEach(function(r){var i=DI.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function an(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var i=n[r];try{var o=e,a=t,s=a;e:for(;s!==null;){switch(s.tag){case 5:Je=s.stateNode,ln=!1;break e;case 3:Je=s.stateNode.containerInfo,ln=!0;break e;case 4:Je=s.stateNode.containerInfo,ln=!0;break e}s=s.return}if(Je===null)throw Error(V(160));fC(o,a,i),Je=null,ln=!1;var l=i.alternate;l!==null&&(l.return=null),i.return=null}catch(c){Oe(i,t,c)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)hC(t,e),t=t.sibling}function hC(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(an(t,e),yn(e),r&4){try{Xo(3,e,e.return),Hl(3,e)}catch(g){Oe(e,e.return,g)}try{Xo(5,e,e.return)}catch(g){Oe(e,e.return,g)}}break;case 1:an(t,e),yn(e),r&512&&n!==null&&ji(n,n.return);break;case 5:if(an(t,e),yn(e),r&512&&n!==null&&ji(n,n.return),e.flags&32){var i=e.stateNode;try{ea(i,"")}catch(g){Oe(e,e.return,g)}}if(r&4&&(i=e.stateNode,i!=null)){var o=e.memoizedProps,a=n!==null?n.memoizedProps:o,s=e.type,l=e.updateQueue;if(e.updateQueue=null,l!==null)try{s==="input"&&o.type==="radio"&&o.name!=null&&LE(i,o),zg(s,a);var c=zg(s,o);for(a=0;a<l.length;a+=2){var u=l[a],f=l[a+1];u==="style"?qE(i,f):u==="dangerouslySetInnerHTML"?OE(i,f):u==="children"?ea(i,f):Ym(i,u,f,c)}switch(s){case"input":Tg(i,o);break;case"textarea":$E(i,o);break;case"select":var h=i._wrapperState.wasMultiple;i._wrapperState.wasMultiple=!!o.multiple;var p=o.value;p!=null?Ii(i,!!o.multiple,p,!1):h!==!!o.multiple&&(o.defaultValue!=null?Ii(i,!!o.multiple,o.defaultValue,!0):Ii(i,!!o.multiple,o.multiple?[]:"",!1))}i[ca]=o}catch(g){Oe(e,e.return,g)}}break;case 6:if(an(t,e),yn(e),r&4){if(e.stateNode===null)throw Error(V(162));i=e.stateNode,o=e.memoizedProps;try{i.nodeValue=o}catch(g){Oe(e,e.return,g)}}break;case 3:if(an(t,e),yn(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{ia(t.containerInfo)}catch(g){Oe(e,e.return,g)}break;case 4:an(t,e),yn(e);break;case 13:an(t,e),yn(e),i=e.child,i.flags&8192&&(o=i.memoizedState!==null,i.stateNode.isHidden=o,!o||i.alternate!==null&&i.alternate.memoizedState!==null||(Rv=qe())),r&4&&P0(e);break;case 22:if(u=n!==null&&n.memoizedState!==null,e.mode&1?(at=(c=at)||u,an(t,e),at=c):an(t,e),yn(e),r&8192){if(c=e.memoizedState!==null,(e.stateNode.isHidden=c)&&!u&&e.mode&1)for(Q=e,u=e.child;u!==null;){for(f=Q=u;Q!==null;){switch(h=Q,p=h.child,h.tag){case 0:case 11:case 14:case 15:Xo(4,h,h.return);break;case 1:ji(h,h.return);var v=h.stateNode;if(typeof v.componentWillUnmount=="function"){r=h,n=h.return;try{t=r,v.props=t.memoizedProps,v.state=t.memoizedState,v.componentWillUnmount()}catch(g){Oe(r,n,g)}}break;case 5:ji(h,h.return);break;case 22:if(h.memoizedState!==null){L0(f);continue}}p!==null?(p.return=h,Q=p):L0(f)}u=u.sibling}e:for(u=null,f=e;;){if(f.tag===5){if(u===null){u=f;try{i=f.stateNode,c?(o=i.style,typeof o.setProperty=="function"?o.setProperty("display","none","important"):o.display="none"):(s=f.stateNode,l=f.memoizedProps.style,a=l!=null&&l.hasOwnProperty("display")?l.display:null,s.style.display=FE("display",a))}catch(g){Oe(e,e.return,g)}}}else if(f.tag===6){if(u===null)try{f.stateNode.nodeValue=c?"":f.memoizedProps}catch(g){Oe(e,e.return,g)}}else if((f.tag!==22&&f.tag!==23||f.memoizedState===null||f===e)&&f.child!==null){f.child.return=f,f=f.child;continue}if(f===e)break e;for(;f.sibling===null;){if(f.return===null||f.return===e)break e;u===f&&(u=null),f=f.return}u===f&&(u=null),f.sibling.return=f.return,f=f.sibling}}break;case 19:an(t,e),yn(e),r&4&&P0(e);break;case 21:break;default:an(t,e),yn(e)}}function yn(e){var t=e.flags;if(t&2){try{e:{for(var n=e.return;n!==null;){if(dC(n)){var r=n;break e}n=n.return}throw Error(V(160))}switch(r.tag){case 5:var i=r.stateNode;r.flags&32&&(ea(i,""),r.flags&=-33);var o=T0(e);hm(e,o,i);break;case 3:case 4:var a=r.stateNode.containerInfo,s=T0(e);fm(e,s,a);break;default:throw Error(V(161))}}catch(l){Oe(e,e.return,l)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function PI(e,t,n){Q=e,pC(e)}function pC(e,t,n){for(var r=(e.mode&1)!==0;Q!==null;){var i=Q,o=i.child;if(i.tag===22&&r){var a=i.memoizedState!==null||ds;if(!a){var s=i.alternate,l=s!==null&&s.memoizedState!==null||at;s=ds;var c=at;if(ds=a,(at=l)&&!c)for(Q=i;Q!==null;)a=Q,l=a.child,a.tag===22&&a.memoizedState!==null?$0(i):l!==null?(l.return=a,Q=l):$0(i);for(;o!==null;)Q=o,pC(o),o=o.sibling;Q=i,ds=s,at=c}M0(e)}else i.subtreeFlags&8772&&o!==null?(o.return=i,Q=o):M0(e)}}function M0(e){for(;Q!==null;){var t=Q;if(t.flags&8772){var n=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:at||Hl(5,t);break;case 1:var r=t.stateNode;if(t.flags&4&&!at)if(n===null)r.componentDidMount();else{var i=t.elementType===t.type?n.memoizedProps:sn(t.type,n.memoizedProps);r.componentDidUpdate(i,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var o=t.updateQueue;o!==null&&y0(t,o,r);break;case 3:var a=t.updateQueue;if(a!==null){if(n=null,t.child!==null)switch(t.child.tag){case 5:n=t.child.stateNode;break;case 1:n=t.child.stateNode}y0(t,a,n)}break;case 5:var s=t.stateNode;if(n===null&&t.flags&4){n=s;var l=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":l.autoFocus&&n.focus();break;case"img":l.src&&(n.src=l.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var c=t.alternate;if(c!==null){var u=c.memoizedState;if(u!==null){var f=u.dehydrated;f!==null&&ia(f)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(V(163))}at||t.flags&512&&dm(t)}catch(h){Oe(t,t.return,h)}}if(t===e){Q=null;break}if(n=t.sibling,n!==null){n.return=t.return,Q=n;break}Q=t.return}}function L0(e){for(;Q!==null;){var t=Q;if(t===e){Q=null;break}var n=t.sibling;if(n!==null){n.return=t.return,Q=n;break}Q=t.return}}function $0(e){for(;Q!==null;){var t=Q;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{Hl(4,t)}catch(l){Oe(t,n,l)}break;case 1:var r=t.stateNode;if(typeof r.componentDidMount=="function"){var i=t.return;try{r.componentDidMount()}catch(l){Oe(t,i,l)}}var o=t.return;try{dm(t)}catch(l){Oe(t,o,l)}break;case 5:var a=t.return;try{dm(t)}catch(l){Oe(t,a,l)}}}catch(l){Oe(t,t.return,l)}if(t===e){Q=null;break}var s=t.sibling;if(s!==null){s.return=t.return,Q=s;break}Q=t.return}}var MI=Math.ceil,gl=Vn.ReactCurrentDispatcher,Cv=Vn.ReactCurrentOwner,Qt=Vn.ReactCurrentBatchConfig,ge=0,Ye=null,Be=null,et=0,Mt=0,Ri=Rr(0),Ve=0,ga=null,Yr=0,Wl=0,jv=0,Qo=null,_t=null,Rv=0,Vi=1/0,In=null,ml=!1,pm=null,vr=null,fs=!1,dr=null,vl=0,Zo=0,gm=null,Bs=-1,Hs=0;function pt(){return ge&6?qe():Bs!==-1?Bs:Bs=qe()}function yr(e){return e.mode&1?ge&2&&et!==0?et&-et:vI.transition!==null?(Hs===0&&(Hs=ZE()),Hs):(e=xe,e!==0||(e=window.event,e=e===void 0?16:ok(e.type)),e):1}function hn(e,t,n,r){if(50<Zo)throw Zo=0,gm=null,Error(V(185));Ea(e,n,r),(!(ge&2)||e!==Ye)&&(e===Ye&&(!(ge&2)&&(Wl|=n),Ve===4&&sr(e,et)),Rt(e,r),n===1&&ge===0&&!(t.mode&1)&&(Vi=qe()+500,ql&&Nr()))}function Rt(e,t){var n=e.callbackNode;vN(e,t);var r=el(e,e===Ye?et:0);if(r===0)n!==null&&Uy(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(n!=null&&Uy(n),t===1)e.tag===0?mI(z0.bind(null,e)):Ek(z0.bind(null,e)),fI(function(){!(ge&6)&&Nr()}),n=null;else{switch(JE(r)){case 1:n=ev;break;case 4:n=XE;break;case 16:n=Js;break;case 536870912:n=QE;break;default:n=Js}n=SC(n,gC.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function gC(e,t){if(Bs=-1,Hs=0,ge&6)throw Error(V(327));var n=e.callbackNode;if(Li()&&e.callbackNode!==n)return null;var r=el(e,e===Ye?et:0);if(r===0)return null;if(r&30||r&e.expiredLanes||t)t=yl(e,r);else{t=r;var i=ge;ge|=2;var o=vC();(Ye!==e||et!==t)&&(In=null,Vi=qe()+500,Hr(e,t));do try{zI();break}catch(s){mC(e,s)}while(!0);hv(),gl.current=o,ge=i,Be!==null?t=0:(Ye=null,et=0,t=Ve)}if(t!==0){if(t===2&&(i=Bg(e),i!==0&&(r=i,t=mm(e,i))),t===1)throw n=ga,Hr(e,0),sr(e,r),Rt(e,qe()),n;if(t===6)sr(e,r);else{if(i=e.current.alternate,!(r&30)&&!LI(i)&&(t=yl(e,r),t===2&&(o=Bg(e),o!==0&&(r=o,t=mm(e,o))),t===1))throw n=ga,Hr(e,0),sr(e,r),Rt(e,qe()),n;switch(e.finishedWork=i,e.finishedLanes=r,t){case 0:case 1:throw Error(V(345));case 2:Lr(e,_t,In);break;case 3:if(sr(e,r),(r&130023424)===r&&(t=Rv+500-qe(),10<t)){if(el(e,0)!==0)break;if(i=e.suspendedLanes,(i&r)!==r){pt(),e.pingedLanes|=e.suspendedLanes&i;break}e.timeoutHandle=Xg(Lr.bind(null,e,_t,In),t);break}Lr(e,_t,In);break;case 4:if(sr(e,r),(r&4194240)===r)break;for(t=e.eventTimes,i=-1;0<r;){var a=31-fn(r);o=1<<a,a=t[a],a>i&&(i=a),r&=~o}if(r=i,r=qe()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*MI(r/1960))-r,10<r){e.timeoutHandle=Xg(Lr.bind(null,e,_t,In),r);break}Lr(e,_t,In);break;case 5:Lr(e,_t,In);break;default:throw Error(V(329))}}}return Rt(e,qe()),e.callbackNode===n?gC.bind(null,e):null}function mm(e,t){var n=Qo;return e.current.memoizedState.isDehydrated&&(Hr(e,t).flags|=256),e=yl(e,t),e!==2&&(t=_t,_t=n,t!==null&&vm(t)),e}function vm(e){_t===null?_t=e:_t.push.apply(_t,e)}function LI(e){for(var t=e;;){if(t.flags&16384){var n=t.updateQueue;if(n!==null&&(n=n.stores,n!==null))for(var r=0;r<n.length;r++){var i=n[r],o=i.getSnapshot;i=i.value;try{if(!pn(o(),i))return!1}catch{return!1}}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function sr(e,t){for(t&=~jv,t&=~Wl,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-fn(t),r=1<<n;e[n]=-1,t&=~r}}function z0(e){if(ge&6)throw Error(V(327));Li();var t=el(e,0);if(!(t&1))return Rt(e,qe()),null;var n=yl(e,t);if(e.tag!==0&&n===2){var r=Bg(e);r!==0&&(t=r,n=mm(e,r))}if(n===1)throw n=ga,Hr(e,0),sr(e,t),Rt(e,qe()),n;if(n===6)throw Error(V(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Lr(e,_t,In),Rt(e,qe()),null}function Nv(e,t){var n=ge;ge|=1;try{return e(t)}finally{ge=n,ge===0&&(Vi=qe()+500,ql&&Nr())}}function Xr(e){dr!==null&&dr.tag===0&&!(ge&6)&&Li();var t=ge;ge|=1;var n=Qt.transition,r=xe;try{if(Qt.transition=null,xe=1,e)return e()}finally{xe=r,Qt.transition=n,ge=t,!(ge&6)&&Nr()}}function Iv(){Mt=Ri.current,Ce(Ri)}function Hr(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(n!==-1&&(e.timeoutHandle=-1,dI(n)),Be!==null)for(n=Be.return;n!==null;){var r=n;switch(uv(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&ol();break;case 3:Wi(),Ce(Ct),Ce(st),xv();break;case 5:yv(r);break;case 4:Wi();break;case 13:Ce(Pe);break;case 19:Ce(Pe);break;case 10:pv(r.type._context);break;case 22:case 23:Iv()}n=n.return}if(Ye=e,Be=e=xr(e.current,null),et=Mt=t,Ve=0,ga=null,jv=Wl=Yr=0,_t=Qo=null,Or!==null){for(t=0;t<Or.length;t++)if(n=Or[t],r=n.interleaved,r!==null){n.interleaved=null;var i=r.next,o=n.pending;if(o!==null){var a=o.next;o.next=i,r.next=a}n.pending=r}Or=null}return e}function mC(e,t){do{var n=Be;try{if(hv(),Fs.current=pl,hl){for(var r=Me.memoizedState;r!==null;){var i=r.queue;i!==null&&(i.pending=null),r=r.next}hl=!1}if(Kr=0,Ke=Ue=Me=null,Yo=!1,fa=0,Cv.current=null,n===null||n.return===null){Ve=1,ga=t,Be=null;break}e:{var o=e,a=n.return,s=n,l=t;if(t=et,s.flags|=32768,l!==null&&typeof l=="object"&&typeof l.then=="function"){var c=l,u=s,f=u.tag;if(!(u.mode&1)&&(f===0||f===11||f===15)){var h=u.alternate;h?(u.updateQueue=h.updateQueue,u.memoizedState=h.memoizedState,u.lanes=h.lanes):(u.updateQueue=null,u.memoizedState=null)}var p=E0(a);if(p!==null){p.flags&=-257,k0(p,a,s,o,t),p.mode&1&&_0(o,c,t),t=p,l=c;var v=t.updateQueue;if(v===null){var g=new Set;g.add(l),t.updateQueue=g}else v.add(l);break e}else{if(!(t&1)){_0(o,c,t),Av();break e}l=Error(V(426))}}else if(Ie&&s.mode&1){var b=E0(a);if(b!==null){!(b.flags&65536)&&(b.flags|=256),k0(b,a,s,o,t),dv(Ui(l,s));break e}}o=l=Ui(l,s),Ve!==4&&(Ve=2),Qo===null?Qo=[o]:Qo.push(o),o=a;do{switch(o.tag){case 3:o.flags|=65536,t&=-t,o.lanes|=t;var m=Jk(o,l,t);v0(o,m);break e;case 1:s=l;var y=o.type,x=o.stateNode;if(!(o.flags&128)&&(typeof y.getDerivedStateFromError=="function"||x!==null&&typeof x.componentDidCatch=="function"&&(vr===null||!vr.has(x)))){o.flags|=65536,t&=-t,o.lanes|=t;var S=eC(o,s,t);v0(o,S);break e}}o=o.return}while(o!==null)}xC(n)}catch(C){t=C,Be===n&&n!==null&&(Be=n=n.return);continue}break}while(!0)}function vC(){var e=gl.current;return gl.current=pl,e===null?pl:e}function Av(){(Ve===0||Ve===3||Ve===2)&&(Ve=4),Ye===null||!(Yr&268435455)&&!(Wl&268435455)||sr(Ye,et)}function yl(e,t){var n=ge;ge|=2;var r=vC();(Ye!==e||et!==t)&&(In=null,Hr(e,t));do try{$I();break}catch(i){mC(e,i)}while(!0);if(hv(),ge=n,gl.current=r,Be!==null)throw Error(V(261));return Ye=null,et=0,Ve}function $I(){for(;Be!==null;)yC(Be)}function zI(){for(;Be!==null&&!lN();)yC(Be)}function yC(e){var t=bC(e.alternate,e,Mt);e.memoizedProps=e.pendingProps,t===null?xC(e):Be=t,Cv.current=null}function xC(e){var t=e;do{var n=t.alternate;if(e=t.return,t.flags&32768){if(n=II(n,t),n!==null){n.flags&=32767,Be=n;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{Ve=6,Be=null;return}}else if(n=NI(n,t,Mt),n!==null){Be=n;return}if(t=t.sibling,t!==null){Be=t;return}Be=t=e}while(t!==null);Ve===0&&(Ve=5)}function Lr(e,t,n){var r=xe,i=Qt.transition;try{Qt.transition=null,xe=1,OI(e,t,n,r)}finally{Qt.transition=i,xe=r}return null}function OI(e,t,n,r){do Li();while(dr!==null);if(ge&6)throw Error(V(327));n=e.finishedWork;var i=e.finishedLanes;if(n===null)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(V(177));e.callbackNode=null,e.callbackPriority=0;var o=n.lanes|n.childLanes;if(yN(e,o),e===Ye&&(Be=Ye=null,et=0),!(n.subtreeFlags&2064)&&!(n.flags&2064)||fs||(fs=!0,SC(Js,function(){return Li(),null})),o=(n.flags&15990)!==0,n.subtreeFlags&15990||o){o=Qt.transition,Qt.transition=null;var a=xe;xe=1;var s=ge;ge|=4,Cv.current=null,TI(e,n),hC(n,e),iI(Kg),tl=!!Gg,Kg=Gg=null,e.current=n,PI(n),cN(),ge=s,xe=a,Qt.transition=o}else e.current=n;if(fs&&(fs=!1,dr=e,vl=i),o=e.pendingLanes,o===0&&(vr=null),fN(n.stateNode),Rt(e,qe()),t!==null)for(r=e.onRecoverableError,n=0;n<t.length;n++)i=t[n],r(i.value,{componentStack:i.stack,digest:i.digest});if(ml)throw ml=!1,e=pm,pm=null,e;return vl&1&&e.tag!==0&&Li(),o=e.pendingLanes,o&1?e===gm?Zo++:(Zo=0,gm=e):Zo=0,Nr(),null}function Li(){if(dr!==null){var e=JE(vl),t=Qt.transition,n=xe;try{if(Qt.transition=null,xe=16>e?16:e,dr===null)var r=!1;else{if(e=dr,dr=null,vl=0,ge&6)throw Error(V(331));var i=ge;for(ge|=4,Q=e.current;Q!==null;){var o=Q,a=o.child;if(Q.flags&16){var s=o.deletions;if(s!==null){for(var l=0;l<s.length;l++){var c=s[l];for(Q=c;Q!==null;){var u=Q;switch(u.tag){case 0:case 11:case 15:Xo(8,u,o)}var f=u.child;if(f!==null)f.return=u,Q=f;else for(;Q!==null;){u=Q;var h=u.sibling,p=u.return;if(uC(u),u===c){Q=null;break}if(h!==null){h.return=p,Q=h;break}Q=p}}}var v=o.alternate;if(v!==null){var g=v.child;if(g!==null){v.child=null;do{var b=g.sibling;g.sibling=null,g=b}while(g!==null)}}Q=o}}if(o.subtreeFlags&2064&&a!==null)a.return=o,Q=a;else e:for(;Q!==null;){if(o=Q,o.flags&2048)switch(o.tag){case 0:case 11:case 15:Xo(9,o,o.return)}var m=o.sibling;if(m!==null){m.return=o.return,Q=m;break e}Q=o.return}}var y=e.current;for(Q=y;Q!==null;){a=Q;var x=a.child;if(a.subtreeFlags&2064&&x!==null)x.return=a,Q=x;else e:for(a=y;Q!==null;){if(s=Q,s.flags&2048)try{switch(s.tag){case 0:case 11:case 15:Hl(9,s)}}catch(C){Oe(s,s.return,C)}if(s===a){Q=null;break e}var S=s.sibling;if(S!==null){S.return=s.return,Q=S;break e}Q=s.return}}if(ge=i,Nr(),_n&&typeof _n.onPostCommitFiberRoot=="function")try{_n.onPostCommitFiberRoot(Ll,e)}catch{}r=!0}return r}finally{xe=n,Qt.transition=t}}return!1}function O0(e,t,n){t=Ui(n,t),t=Jk(e,t,1),e=mr(e,t,1),t=pt(),e!==null&&(Ea(e,1,t),Rt(e,t))}function Oe(e,t,n){if(e.tag===3)O0(e,e,n);else for(;t!==null;){if(t.tag===3){O0(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(vr===null||!vr.has(r))){e=Ui(n,e),e=eC(t,e,1),t=mr(t,e,1),e=pt(),t!==null&&(Ea(t,1,e),Rt(t,e));break}}t=t.return}}function FI(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),t=pt(),e.pingedLanes|=e.suspendedLanes&n,Ye===e&&(et&n)===n&&(Ve===4||Ve===3&&(et&130023424)===et&&500>qe()-Rv?Hr(e,0):jv|=n),Rt(e,t)}function wC(e,t){t===0&&(e.mode&1?(t=ns,ns<<=1,!(ns&130023424)&&(ns=4194304)):t=1);var n=pt();e=qn(e,t),e!==null&&(Ea(e,t,n),Rt(e,n))}function qI(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),wC(e,n)}function DI(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(V(314))}r!==null&&r.delete(t),wC(e,n)}var bC;bC=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Ct.current)Et=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Et=!1,RI(e,t,n);Et=!!(e.flags&131072)}else Et=!1,Ie&&t.flags&1048576&&kk(t,ll,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Ds(e,t),e=t.pendingProps;var i=Di(t,st.current);Mi(t,n),i=bv(null,t,r,e,i,n);var o=Sv();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,jt(r)?(o=!0,al(t)):o=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,mv(t),i.updater=Bl,t.stateNode=i,i._reactInternals=t,rm(t,r,e,n),t=am(null,t,r,!0,o,n)):(t.tag=0,Ie&&o&&cv(t),ht(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Ds(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=HI(r),e=sn(r,e),i){case 0:t=om(null,t,r,e,n);break e;case 1:t=R0(null,t,r,e,n);break e;case 11:t=C0(null,t,r,e,n);break e;case 14:t=j0(null,t,r,sn(r.type,e),n);break e}throw Error(V(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:sn(r,i),om(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:sn(r,i),R0(e,t,r,i,n);case 3:e:{if(iC(t),e===null)throw Error(V(387));r=t.pendingProps,o=t.memoizedState,i=o.element,Ak(e,t),dl(t,r,null,n);var a=t.memoizedState;if(r=a.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:a.cache,pendingSuspenseBoundaries:a.pendingSuspenseBoundaries,transitions:a.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){i=Ui(Error(V(423)),t),t=N0(e,t,r,n,i);break e}else if(r!==i){i=Ui(Error(V(424)),t),t=N0(e,t,r,n,i);break e}else for($t=gr(t.stateNode.containerInfo.firstChild),zt=t,Ie=!0,cn=null,n=Nk(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Bi(),r===i){t=Dn(e,t,n);break e}ht(e,t,r,n)}t=t.child}return t;case 5:return Tk(t),e===null&&em(t),r=t.type,i=t.pendingProps,o=e!==null?e.memoizedProps:null,a=i.children,Yg(r,i)?a=null:o!==null&&Yg(r,o)&&(t.flags|=32),rC(e,t),ht(e,t,a,n),t.child;case 6:return e===null&&em(t),null;case 13:return oC(e,t,n);case 4:return vv(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Hi(t,null,r,n):ht(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:sn(r,i),C0(e,t,r,i,n);case 7:return ht(e,t,t.pendingProps,n),t.child;case 8:return ht(e,t,t.pendingProps.children,n),t.child;case 12:return ht(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,o=t.memoizedProps,a=i.value,Ee(cl,r._currentValue),r._currentValue=a,o!==null)if(pn(o.value,a)){if(o.children===i.children&&!Ct.current){t=Dn(e,t,n);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var s=o.dependencies;if(s!==null){a=o.child;for(var l=s.firstContext;l!==null;){if(l.context===r){if(o.tag===1){l=zn(-1,n&-n),l.tag=2;var c=o.updateQueue;if(c!==null){c=c.shared;var u=c.pending;u===null?l.next=l:(l.next=u.next,u.next=l),c.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),tm(o.return,n,t),s.lanes|=n;break}l=l.next}}else if(o.tag===10)a=o.type===t.type?null:o.child;else if(o.tag===18){if(a=o.return,a===null)throw Error(V(341));a.lanes|=n,s=a.alternate,s!==null&&(s.lanes|=n),tm(a,n,t),a=o.sibling}else a=o.child;if(a!==null)a.return=o;else for(a=o;a!==null;){if(a===t){a=null;break}if(o=a.sibling,o!==null){o.return=a.return,a=o;break}a=a.return}o=a}ht(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,Mi(t,n),i=Zt(i),r=r(i),t.flags|=1,ht(e,t,r,n),t.child;case 14:return r=t.type,i=sn(r,t.pendingProps),i=sn(r.type,i),j0(e,t,r,i,n);case 15:return tC(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:sn(r,i),Ds(e,t),t.tag=1,jt(r)?(e=!0,al(t)):e=!1,Mi(t,n),Zk(t,r,i),rm(t,r,i,n),am(null,t,r,!0,e,n);case 19:return aC(e,t,n);case 22:return nC(e,t,n)}throw Error(V(156,t.tag))};function SC(e,t){return YE(e,t)}function BI(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Yt(e,t,n,r){return new BI(e,t,n,r)}function Tv(e){return e=e.prototype,!(!e||!e.isReactComponent)}function HI(e){if(typeof e=="function")return Tv(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Qm)return 11;if(e===Zm)return 14}return 2}function xr(e,t){var n=e.alternate;return n===null?(n=Yt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Ws(e,t,n,r,i,o){var a=2;if(r=e,typeof e=="function")Tv(e)&&(a=1);else if(typeof e=="string")a=5;else e:switch(e){case yi:return Wr(n.children,i,o,t);case Xm:a=8,i|=8;break;case jg:return e=Yt(12,n,t,i|2),e.elementType=jg,e.lanes=o,e;case Rg:return e=Yt(13,n,t,i),e.elementType=Rg,e.lanes=o,e;case Ng:return e=Yt(19,n,t,i),e.elementType=Ng,e.lanes=o,e;case TE:return Ul(n,i,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case IE:a=10;break e;case AE:a=9;break e;case Qm:a=11;break e;case Zm:a=14;break e;case nr:a=16,r=null;break e}throw Error(V(130,e==null?e:typeof e,""))}return t=Yt(a,n,t,i),t.elementType=e,t.type=r,t.lanes=o,t}function Wr(e,t,n,r){return e=Yt(7,e,r,t),e.lanes=n,e}function Ul(e,t,n,r){return e=Yt(22,e,r,t),e.elementType=TE,e.lanes=n,e.stateNode={isHidden:!1},e}function uu(e,t,n){return e=Yt(6,e,null,t),e.lanes=n,e}function du(e,t,n){return t=Yt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function WI(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Uc(0),this.expirationTimes=Uc(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Uc(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function Pv(e,t,n,r,i,o,a,s,l){return e=new WI(e,t,n,s,l),t===1?(t=1,o===!0&&(t|=8)):t=0,o=Yt(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},mv(o),e}function UI(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:vi,key:r==null?null:""+r,children:e,containerInfo:t,implementation:n}}function _C(e){if(!e)return Er;e=e._reactInternals;e:{if(ti(e)!==e||e.tag!==1)throw Error(V(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(jt(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(V(171))}if(e.tag===1){var n=e.type;if(jt(n))return _k(e,n,t)}return t}function EC(e,t,n,r,i,o,a,s,l){return e=Pv(n,r,!0,e,i,o,a,s,l),e.context=_C(null),n=e.current,r=pt(),i=yr(n),o=zn(r,i),o.callback=t??null,mr(n,o,i),e.current.lanes=i,Ea(e,i,r),Rt(e,r),e}function Vl(e,t,n,r){var i=t.current,o=pt(),a=yr(i);return n=_C(n),t.context===null?t.context=n:t.pendingContext=n,t=zn(o,a),t.payload={element:e},r=r===void 0?null:r,r!==null&&(t.callback=r),e=mr(i,t,a),e!==null&&(hn(e,i,a,o),Os(e,i,a)),a}function xl(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function F0(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function Mv(e,t){F0(e,t),(e=e.alternate)&&F0(e,t)}function VI(){return null}var kC=typeof reportError=="function"?reportError:function(e){console.error(e)};function Lv(e){this._internalRoot=e}Gl.prototype.render=Lv.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(V(409));Vl(e,t,null,null)};Gl.prototype.unmount=Lv.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Xr(function(){Vl(null,e,null,null)}),t[Fn]=null}};function Gl(e){this._internalRoot=e}Gl.prototype.unstable_scheduleHydration=function(e){if(e){var t=nk();e={blockedOn:null,target:e,priority:t};for(var n=0;n<ar.length&&t!==0&&t<ar[n].priority;n++);ar.splice(n,0,e),n===0&&ik(e)}};function $v(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function Kl(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function q0(){}function GI(e,t,n,r,i){if(i){if(typeof r=="function"){var o=r;r=function(){var c=xl(a);o.call(c)}}var a=EC(t,r,e,0,null,!1,!1,"",q0);return e._reactRootContainer=a,e[Fn]=a.current,sa(e.nodeType===8?e.parentNode:e),Xr(),a}for(;i=e.lastChild;)e.removeChild(i);if(typeof r=="function"){var s=r;r=function(){var c=xl(l);s.call(c)}}var l=Pv(e,0,!1,null,null,!1,!1,"",q0);return e._reactRootContainer=l,e[Fn]=l.current,sa(e.nodeType===8?e.parentNode:e),Xr(function(){Vl(t,l,n,r)}),l}function Yl(e,t,n,r,i){var o=n._reactRootContainer;if(o){var a=o;if(typeof i=="function"){var s=i;i=function(){var l=xl(a);s.call(l)}}Vl(t,a,e,i)}else a=GI(n,t,e,i,r);return xl(a)}ek=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=Po(t.pendingLanes);n!==0&&(tv(t,n|1),Rt(t,qe()),!(ge&6)&&(Vi=qe()+500,Nr()))}break;case 13:Xr(function(){var r=qn(e,1);if(r!==null){var i=pt();hn(r,e,1,i)}}),Mv(e,1)}};nv=function(e){if(e.tag===13){var t=qn(e,134217728);if(t!==null){var n=pt();hn(t,e,134217728,n)}Mv(e,134217728)}};tk=function(e){if(e.tag===13){var t=yr(e),n=qn(e,t);if(n!==null){var r=pt();hn(n,e,t,r)}Mv(e,t)}};nk=function(){return xe};rk=function(e,t){var n=xe;try{return xe=e,t()}finally{xe=n}};Fg=function(e,t,n){switch(t){case"input":if(Tg(e,n),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var i=Fl(r);if(!i)throw Error(V(90));ME(r),Tg(r,i)}}}break;case"textarea":$E(e,n);break;case"select":t=n.value,t!=null&&Ii(e,!!n.multiple,t,!1)}};HE=Nv;WE=Xr;var KI={usingClientEntryPoint:!1,Events:[Ca,Si,Fl,DE,BE,Nv]},vo={findFiberByHostInstance:zr,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},YI={bundleType:vo.bundleType,version:vo.version,rendererPackageName:vo.rendererPackageName,rendererConfig:vo.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:Vn.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=GE(e),e===null?null:e.stateNode},findFiberByHostInstance:vo.findFiberByHostInstance||VI,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var hs=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!hs.isDisabled&&hs.supportsFiber)try{Ll=hs.inject(YI),_n=hs}catch{}}Dt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=KI;Dt.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!$v(t))throw Error(V(200));return UI(e,t,null,n)};Dt.createRoot=function(e,t){if(!$v(e))throw Error(V(299));var n=!1,r="",i=kC;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onRecoverableError!==void 0&&(i=t.onRecoverableError)),t=Pv(e,1,!1,null,null,n,!1,r,i),e[Fn]=t.current,sa(e.nodeType===8?e.parentNode:e),new Lv(t)};Dt.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(V(188)):(e=Object.keys(e).join(","),Error(V(268,e)));return e=GE(t),e=e===null?null:e.stateNode,e};Dt.flushSync=function(e){return Xr(e)};Dt.hydrate=function(e,t,n){if(!Kl(t))throw Error(V(200));return Yl(null,e,t,!0,n)};Dt.hydrateRoot=function(e,t,n){if(!$v(e))throw Error(V(405));var r=n!=null&&n.hydratedSources||null,i=!1,o="",a=kC;if(n!=null&&(n.unstable_strictMode===!0&&(i=!0),n.identifierPrefix!==void 0&&(o=n.identifierPrefix),n.onRecoverableError!==void 0&&(a=n.onRecoverableError)),t=EC(t,null,e,1,n??null,i,!1,o,a),e[Fn]=t.current,sa(e),r)for(e=0;e<r.length;e++)n=r[e],i=n._getVersion,i=i(n._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[n,i]:t.mutableSourceEagerHydrationData.push(n,i);return new Gl(t)};Dt.render=function(e,t,n){if(!Kl(t))throw Error(V(200));return Yl(null,e,t,!1,n)};Dt.unmountComponentAtNode=function(e){if(!Kl(e))throw Error(V(40));return e._reactRootContainer?(Xr(function(){Yl(null,null,e,!1,function(){e._reactRootContainer=null,e[Fn]=null})}),!0):!1};Dt.unstable_batchedUpdates=Nv;Dt.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!Kl(n))throw Error(V(200));if(e==null||e._reactInternals===void 0)throw Error(V(38));return Yl(e,t,n,!1,r)};Dt.version="18.3.1-next-f1338f8080-20240426";function CC(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(CC)}catch(e){console.error(e)}}CC(),CE.exports=Dt;var XI=CE.exports,D0=XI;kg.createRoot=D0.createRoot,kg.hydrateRoot=D0.hydrateRoot;const gt={findings:[],counts:{byGraph:{},byEntryPoint:{},bySeverity:{error:0,warning:0,info:0},total:0},lastUpdate:0},ym=new Set;function jC(){return gt}function Xl(e){return ym.add(e),e(gt),()=>{ym.delete(e)}}function Ql(){gt.lastUpdate=Date.now();for(const e of ym)e(gt)}function B0(e,t){gt.findings=e,t?gt.counts=t:zv(),Ql()}function QI(e){const t=new Map(gt.findings.map(n=>[n.id,n]));for(const n of e)t.set(n.id,n);gt.findings=Array.from(t.values()),zv(),Ql()}function ZI(e){const t=gt.findings.findIndex(n=>n.id===e.id);t>=0?gt.findings[t]=e:gt.findings.push(e),zv(),Ql()}function fu(e){gt.counts=e,Ql()}function JI(e,t){return gt.findings.filter(n=>n.bindings.some(r=>r.graphId===e&&(r.targetId===t||r.targetId.endsWith(`::${t}`))))}function eA(e){return!e||e.total===0?null:e.error>0?"error":e.warning>0?"warning":"info"}function zv(){const e={},t={},n={error:0,warning:0,info:0};let r=0;for(const i of gt.findings){if(i.status!=="open")continue;r+=1,n[i.severity]+=1,t[i.entryPointId]=(t[i.entryPointId]??0)+1;const o=new Set;for(const a of i.bindings){if(o.has(a.graphId))continue;o.add(a.graphId);const s=e[a.graphId]??{error:0,warning:0,info:0,total:0};s[i.severity]+=1,s.total+=1,e[a.graphId]=s}}gt.counts={byGraph:e,byEntryPoint:t,bySeverity:n,total:r}}const tA={error:{bg:"rgba(239,68,68,0.16)",fg:"#ef4444"},warning:{bg:"rgba(245,158,11,0.16)",fg:"#f59e0b"},info:{bg:"rgba(56,189,248,0.16)",fg:"#38bdf8"}};function Ra({graphId:e,onOpen:t}){const[n,r]=w.useState(null);if(w.useEffect(()=>Xl(a=>r(a.counts.byGraph[e]??null)),[e]),!n||n.total===0)return null;const i=eA(n)??"info",o=tA[i];return d.jsxs("button",{type:"button",onClick:()=>t==null?void 0:t(e),title:`${n.total} AI findings on this layer (${n.error} error · ${n.warning} warning · ${n.info} info). Click to open scoped panel.`,style:{display:"inline-flex",alignItems:"center",gap:6,padding:"3px 10px",borderRadius:999,background:o.bg,color:o.fg,fontSize:11,fontWeight:600,fontFamily:"inherit",border:"none",cursor:"pointer",outline:"none"},children:[d.jsx("span",{style:{width:7,height:7,borderRadius:"50%",background:o.fg},"aria-hidden":!0}),d.jsxs("span",{children:[n.total," ",n.total===1?"AI finding":"AI findings"]})]})}function xt(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n<e.length;n++)(r=xt(e[n]))!==""&&(t+=(t&&" ")+r);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}var RC={exports:{}},NC={},IC={exports:{}},AC={};/**
|
|
40
|
+
`+o.stack}return{value:e,source:t,stack:i,digest:null}}function uu(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function sm(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var IA=typeof WeakMap=="function"?WeakMap:Map;function tC(e,t,n){n=zn(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){xl||(xl=!0,vm=r),sm(e,t)},n}function nC(e,t,n){n=zn(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var i=t.value;n.payload=function(){return r(i)},n.callback=function(){sm(e,t)}}var o=e.stateNode;return o!==null&&typeof o.componentDidCatch=="function"&&(n.callback=function(){sm(e,t),typeof r!="function"&&(vr===null?vr=new Set([this]):vr.add(this));var a=t.stack;this.componentDidCatch(t.value,{componentStack:a!==null?a:""})}),n}function k0(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new IA;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(i.add(n),e=UA.bind(null,e,t,n),t.then(e,e))}function C0(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function j0(e,t,n,r,i){return e.mode&1?(e.flags|=65536,e.lanes=i,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=zn(-1,1),t.tag=2,mr(n,t,1))),n.lanes|=1),e)}var TA=Vn.ReactCurrentOwner,_t=!1;function gt(e,t,n,r){t.child=e===null?Ik(t,null,n,r):Wi(t,e.child,n,r)}function R0(e,t,n,r,i){n=n.render;var o=t.ref;return Li(t,i),r=Ev(e,t,n,r,o,i),n=kv(),e!==null&&!_t?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,Dn(e,t,i)):(Ie&&n&&fv(t),t.flags|=1,gt(e,t,r,i),t.child)}function N0(e,t,n,r,i){if(e===null){var o=n.type;return typeof o=="function"&&!Lv(o)&&o.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=o,rC(e,t,o,r,i)):(e=Gs(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(o=e.child,!(e.lanes&i)){var a=o.memoizedProps;if(n=n.compare,n=n!==null?n:la,n(a,r)&&e.ref===t.ref)return Dn(e,t,i)}return t.flags|=1,e=xr(o,r),e.ref=t.ref,e.return=t,t.child=e}function rC(e,t,n,r,i){if(e!==null){var o=e.memoizedProps;if(la(o,r)&&e.ref===t.ref)if(_t=!1,t.pendingProps=r=o,(e.lanes&i)!==0)e.flags&131072&&(_t=!0);else return t.lanes=e.lanes,Dn(e,t,i)}return lm(e,t,n,r,i)}function iC(e,t,n){var r=t.pendingProps,i=r.children,o=e!==null?e.memoizedState:null;if(r.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},ke(Ni,Pt),Pt|=n;else{if(!(n&1073741824))return e=o!==null?o.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,ke(Ni,Pt),Pt|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=o!==null?o.baseLanes:n,ke(Ni,Pt),Pt|=r}else o!==null?(r=o.baseLanes|n,t.memoizedState=null):r=n,ke(Ni,Pt),Pt|=r;return gt(e,t,i,n),t.child}function oC(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function lm(e,t,n,r,i){var o=Ct(n)?Vr:ct.current;return o=Bi(t,o),Li(t,i),n=Ev(e,t,n,r,o,i),r=kv(),e!==null&&!_t?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,Dn(e,t,i)):(Ie&&r&&fv(t),t.flags|=1,gt(e,t,n,i),t.child)}function A0(e,t,n,r,i){if(Ct(n)){var o=!0;cl(t)}else o=!1;if(Li(t,i),t.stateNode===null)Ws(e,t),eC(t,n,r),am(t,n,r,i),r=!0;else if(e===null){var a=t.stateNode,s=t.memoizedProps;a.props=s;var l=a.context,c=n.contextType;typeof c=="object"&&c!==null?c=Qt(c):(c=Ct(n)?Vr:ct.current,c=Bi(t,c));var u=n.getDerivedStateFromProps,f=typeof u=="function"||typeof a.getSnapshotBeforeUpdate=="function";f||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(s!==r||l!==c)&&E0(t,a,r,c),rr=!1;var h=t.memoizedState;a.state=h,pl(t,r,a,i),l=t.memoizedState,s!==r||h!==l||kt.current||rr?(typeof u=="function"&&(om(t,n,u,r),l=t.memoizedState),(s=rr||_0(t,n,s,r,h,l,c))?(f||typeof a.UNSAFE_componentWillMount!="function"&&typeof a.componentWillMount!="function"||(typeof a.componentWillMount=="function"&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount=="function"&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount=="function"&&(t.flags|=4194308)):(typeof a.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),a.props=r,a.state=l,a.context=c,r=s):(typeof a.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,Pk(e,t),s=t.memoizedProps,c=t.type===t.elementType?s:an(t.type,s),a.props=c,f=t.pendingProps,h=a.context,l=n.contextType,typeof l=="object"&&l!==null?l=Qt(l):(l=Ct(n)?Vr:ct.current,l=Bi(t,l));var p=n.getDerivedStateFromProps;(u=typeof p=="function"||typeof a.getSnapshotBeforeUpdate=="function")||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(s!==f||h!==l)&&E0(t,a,r,l),rr=!1,h=t.memoizedState,a.state=h,pl(t,r,a,i);var v=t.memoizedState;s!==f||h!==v||kt.current||rr?(typeof p=="function"&&(om(t,n,p,r),v=t.memoizedState),(c=rr||_0(t,n,c,r,h,v,l)||!1)?(u||typeof a.UNSAFE_componentWillUpdate!="function"&&typeof a.componentWillUpdate!="function"||(typeof a.componentWillUpdate=="function"&&a.componentWillUpdate(r,v,l),typeof a.UNSAFE_componentWillUpdate=="function"&&a.UNSAFE_componentWillUpdate(r,v,l)),typeof a.componentDidUpdate=="function"&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof a.componentDidUpdate!="function"||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=v),a.props=r,a.state=v,a.context=l,r=c):(typeof a.componentDidUpdate!="function"||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),r=!1)}return cm(e,t,n,r,o,i)}function cm(e,t,n,r,i,o){oC(e,t);var a=(t.flags&128)!==0;if(!r&&!a)return i&&g0(t,n,!1),Dn(e,t,o);r=t.stateNode,TA.current=t;var s=a&&typeof n.getDerivedStateFromError!="function"?null:r.render();return t.flags|=1,e!==null&&a?(t.child=Wi(t,e.child,null,o),t.child=Wi(t,null,s,o)):gt(e,t,s,o),t.memoizedState=r.state,i&&g0(t,n,!0),t.child}function aC(e){var t=e.stateNode;t.pendingContext?p0(e,t.pendingContext,t.pendingContext!==t.context):t.context&&p0(e,t.context,!1),wv(e,t.containerInfo)}function I0(e,t,n,r,i){return Hi(),pv(i),t.flags|=256,gt(e,t,n,r),t.child}var um={dehydrated:null,treeContext:null,retryLane:0};function dm(e){return{baseLanes:e,cachePool:null,transitions:null}}function sC(e,t,n){var r=t.pendingProps,i=Me.current,o=!1,a=(t.flags&128)!==0,s;if((s=a)||(s=e!==null&&e.memoizedState===null?!1:(i&2)!==0),s?(o=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(i|=1),ke(Me,i&1),e===null)return rm(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(a=r.children,e=r.fallback,o?(r=t.mode,o=t.child,a={mode:"hidden",children:a},!(r&1)&&o!==null?(o.childLanes=0,o.pendingProps=a):o=Kl(a,r,0,null),e=Wr(e,r,n,null),o.return=t,e.return=t,o.sibling=e,t.child=o,t.child.memoizedState=dm(n),t.memoizedState=um,e):Rv(t,a));if(i=e.memoizedState,i!==null&&(s=i.dehydrated,s!==null))return PA(e,t,a,r,s,i,n);if(o){o=r.fallback,a=t.mode,i=e.child,s=i.sibling;var l={mode:"hidden",children:r.children};return!(a&1)&&t.child!==i?(r=t.child,r.childLanes=0,r.pendingProps=l,t.deletions=null):(r=xr(i,l),r.subtreeFlags=i.subtreeFlags&14680064),s!==null?o=xr(s,o):(o=Wr(o,a,n,null),o.flags|=2),o.return=t,r.return=t,r.sibling=o,t.child=r,r=o,o=t.child,a=e.child.memoizedState,a=a===null?dm(n):{baseLanes:a.baseLanes|n,cachePool:null,transitions:a.transitions},o.memoizedState=a,o.childLanes=e.childLanes&~n,t.memoizedState=um,r}return o=e.child,e=o.sibling,r=xr(o,{mode:"visible",children:r.children}),!(t.mode&1)&&(r.lanes=n),r.return=t,r.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=r,t.memoizedState=null,r}function Rv(e,t){return t=Kl({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function hs(e,t,n,r){return r!==null&&pv(r),Wi(t,e.child,null,n),e=Rv(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function PA(e,t,n,r,i,o,a){if(n)return t.flags&256?(t.flags&=-257,r=uu(Error(K(422))),hs(e,t,a,r)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(o=r.fallback,i=t.mode,r=Kl({mode:"visible",children:r.children},i,0,null),o=Wr(o,i,a,null),o.flags|=2,r.return=t,o.return=t,r.sibling=o,t.child=r,t.mode&1&&Wi(t,e.child,null,a),t.child.memoizedState=dm(a),t.memoizedState=um,o);if(!(t.mode&1))return hs(e,t,a,null);if(i.data==="$!"){if(r=i.nextSibling&&i.nextSibling.dataset,r)var s=r.dgst;return r=s,o=Error(K(419)),r=uu(o,r,void 0),hs(e,t,a,r)}if(s=(a&e.childLanes)!==0,_t||s){if(r=Xe,r!==null){switch(a&-a){case 4:i=2;break;case 16:i=8;break;case 64: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:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:i=32;break;case 536870912:i=268435456;break;default:i=0}i=i&(r.suspendedLanes|a)?0:i,i!==0&&i!==o.retryLane&&(o.retryLane=i,qn(e,i),fn(r,e,i,-1))}return Mv(),r=uu(Error(K(421))),hs(e,t,a,r)}return i.data==="$?"?(t.flags|=128,t.child=e.child,t=VA.bind(null,e),i._reactRetry=t,null):(e=o.treeContext,Lt=gr(i.nextSibling),$t=t,Ie=!0,ln=null,e!==null&&(Ut[Vt++]=Tn,Ut[Vt++]=Pn,Ut[Vt++]=Gr,Tn=e.id,Pn=e.overflow,Gr=t),t=Rv(t,r.children),t.flags|=4096,t)}function T0(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),im(e.return,t,n)}function du(e,t,n,r,i){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=i)}function lC(e,t,n){var r=t.pendingProps,i=r.revealOrder,o=r.tail;if(gt(e,t,r.children,n),r=Me.current,r&2)r=r&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&T0(e,n,t);else if(e.tag===19)T0(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(ke(Me,r),!(t.mode&1))t.memoizedState=null;else switch(i){case"forwards":for(n=t.child,i=null;n!==null;)e=n.alternate,e!==null&&gl(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),du(t,!1,i,n,o);break;case"backwards":for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&gl(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}du(t,!0,n,null,o);break;case"together":du(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Ws(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Dn(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Yr|=t.lanes,!(n&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(K(153));if(t.child!==null){for(e=t.child,n=xr(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=xr(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function MA(e,t,n){switch(t.tag){case 3:aC(t),Hi();break;case 5:Mk(t);break;case 1:Ct(t.type)&&cl(t);break;case 4:wv(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,i=t.memoizedProps.value;ke(fl,r._currentValue),r._currentValue=i;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated!==null?(ke(Me,Me.current&1),t.flags|=128,null):n&t.child.childLanes?sC(e,t,n):(ke(Me,Me.current&1),e=Dn(e,t,n),e!==null?e.sibling:null);ke(Me,Me.current&1);break;case 19:if(r=(n&t.childLanes)!==0,e.flags&128){if(r)return lC(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),ke(Me,Me.current),r)break;return null;case 22:case 23:return t.lanes=0,iC(e,t,n)}return Dn(e,t,n)}var cC,fm,uC,dC;cC=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};fm=function(){};uC=function(e,t,n,r){var i=e.memoizedProps;if(i!==r){e=t.stateNode,Fr(En.current);var o=null;switch(n){case"input":i=Mg(e,i),r=Mg(e,r),o=[];break;case"select":i=$e({},i,{value:void 0}),r=$e({},r,{value:void 0}),o=[];break;case"textarea":i=zg(e,i),r=zg(e,r),o=[];break;default:typeof i.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=sl)}Fg(n,r);var a;n=null;for(c in i)if(!r.hasOwnProperty(c)&&i.hasOwnProperty(c)&&i[c]!=null)if(c==="style"){var s=i[c];for(a in s)s.hasOwnProperty(a)&&(n||(n={}),n[a]="")}else c!=="dangerouslySetInnerHTML"&&c!=="children"&&c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&c!=="autoFocus"&&(ta.hasOwnProperty(c)?o||(o=[]):(o=o||[]).push(c,null));for(c in r){var l=r[c];if(s=i!=null?i[c]:void 0,r.hasOwnProperty(c)&&l!==s&&(l!=null||s!=null))if(c==="style")if(s){for(a in s)!s.hasOwnProperty(a)||l&&l.hasOwnProperty(a)||(n||(n={}),n[a]="");for(a in l)l.hasOwnProperty(a)&&s[a]!==l[a]&&(n||(n={}),n[a]=l[a])}else n||(o||(o=[]),o.push(c,n)),n=l;else c==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,s=s?s.__html:void 0,l!=null&&s!==l&&(o=o||[]).push(c,l)):c==="children"?typeof l!="string"&&typeof l!="number"||(o=o||[]).push(c,""+l):c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&(ta.hasOwnProperty(c)?(l!=null&&c==="onScroll"&&Ce("scroll",e),o||s===l||(o=[])):(o=o||[]).push(c,l))}n&&(o=o||[]).push("style",n);var c=o;(t.updateQueue=c)&&(t.flags|=4)}};dC=function(e,t,n,r){n!==r&&(t.flags|=4)};function yo(e,t){if(!Ie)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function st(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&14680064,r|=i.flags&14680064,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function LA(e,t,n){var r=t.pendingProps;switch(hv(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return st(t),null;case 1:return Ct(t.type)&&ll(),st(t),null;case 3:return r=t.stateNode,Ui(),je(kt),je(ct),Sv(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(ds(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,ln!==null&&(wm(ln),ln=null))),fm(e,t),st(t),null;case 5:bv(t);var i=Fr(ha.current);if(n=t.type,e!==null&&t.stateNode!=null)uC(e,t,n,r,i),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(K(166));return st(t),null}if(e=Fr(En.current),ds(t)){r=t.stateNode,n=t.type;var o=t.memoizedProps;switch(r[bn]=t,r[da]=o,e=(t.mode&1)!==0,n){case"dialog":Ce("cancel",r),Ce("close",r);break;case"iframe":case"object":case"embed":Ce("load",r);break;case"video":case"audio":for(i=0;i<$o.length;i++)Ce($o[i],r);break;case"source":Ce("error",r);break;case"img":case"image":case"link":Ce("error",r),Ce("load",r);break;case"details":Ce("toggle",r);break;case"input":Dy(r,o),Ce("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!o.multiple},Ce("invalid",r);break;case"textarea":Hy(r,o),Ce("invalid",r)}Fg(n,o),i=null;for(var a in o)if(o.hasOwnProperty(a)){var s=o[a];a==="children"?typeof s=="string"?r.textContent!==s&&(o.suppressHydrationWarning!==!0&&us(r.textContent,s,e),i=["children",s]):typeof s=="number"&&r.textContent!==""+s&&(o.suppressHydrationWarning!==!0&&us(r.textContent,s,e),i=["children",""+s]):ta.hasOwnProperty(a)&&s!=null&&a==="onScroll"&&Ce("scroll",r)}switch(n){case"input":ns(r),By(r,o,!0);break;case"textarea":ns(r),Wy(r);break;case"select":case"option":break;default:typeof o.onClick=="function"&&(r.onclick=sl)}r=i,t.updateQueue=r,r!==null&&(t.flags|=4)}else{a=i.nodeType===9?i:i.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=FE(n)),e==="http://www.w3.org/1999/xhtml"?n==="script"?(e=a.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=a.createElement(n,{is:r.is}):(e=a.createElement(n),n==="select"&&(a=e,r.multiple?a.multiple=!0:r.size&&(a.size=r.size))):e=a.createElementNS(e,n),e[bn]=t,e[da]=r,cC(e,t,!1,!1),t.stateNode=e;e:{switch(a=qg(n,r),n){case"dialog":Ce("cancel",e),Ce("close",e),i=r;break;case"iframe":case"object":case"embed":Ce("load",e),i=r;break;case"video":case"audio":for(i=0;i<$o.length;i++)Ce($o[i],e);i=r;break;case"source":Ce("error",e),i=r;break;case"img":case"image":case"link":Ce("error",e),Ce("load",e),i=r;break;case"details":Ce("toggle",e),i=r;break;case"input":Dy(e,r),i=Mg(e,r),Ce("invalid",e);break;case"option":i=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},i=$e({},r,{value:void 0}),Ce("invalid",e);break;case"textarea":Hy(e,r),i=zg(e,r),Ce("invalid",e);break;default:i=r}Fg(n,i),s=i;for(o in s)if(s.hasOwnProperty(o)){var l=s[o];o==="style"?BE(e,l):o==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,l!=null&&qE(e,l)):o==="children"?typeof l=="string"?(n!=="textarea"||l!=="")&&na(e,l):typeof l=="number"&&na(e,""+l):o!=="suppressContentEditableWarning"&&o!=="suppressHydrationWarning"&&o!=="autoFocus"&&(ta.hasOwnProperty(o)?l!=null&&o==="onScroll"&&Ce("scroll",e):l!=null&&Zm(e,o,l,a))}switch(n){case"input":ns(e),By(e,r,!1);break;case"textarea":ns(e),Wy(e);break;case"option":r.value!=null&&e.setAttribute("value",""+_r(r.value));break;case"select":e.multiple=!!r.multiple,o=r.value,o!=null?Ii(e,!!r.multiple,o,!1):r.defaultValue!=null&&Ii(e,!!r.multiple,r.defaultValue,!0);break;default:typeof i.onClick=="function"&&(e.onclick=sl)}switch(n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return st(t),null;case 6:if(e&&t.stateNode!=null)dC(e,t,e.memoizedProps,r);else{if(typeof r!="string"&&t.stateNode===null)throw Error(K(166));if(n=Fr(ha.current),Fr(En.current),ds(t)){if(r=t.stateNode,n=t.memoizedProps,r[bn]=t,(o=r.nodeValue!==n)&&(e=$t,e!==null))switch(e.tag){case 3:us(r.nodeValue,n,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&us(r.nodeValue,n,(e.mode&1)!==0)}o&&(t.flags|=4)}else r=(n.nodeType===9?n:n.ownerDocument).createTextNode(r),r[bn]=t,t.stateNode=r}return st(t),null;case 13:if(je(Me),r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(Ie&&Lt!==null&&t.mode&1&&!(t.flags&128))Nk(),Hi(),t.flags|=98560,o=!1;else if(o=ds(t),r!==null&&r.dehydrated!==null){if(e===null){if(!o)throw Error(K(318));if(o=t.memoizedState,o=o!==null?o.dehydrated:null,!o)throw Error(K(317));o[bn]=t}else Hi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;st(t),o=!1}else ln!==null&&(wm(ln),ln=null),o=!0;if(!o)return t.flags&65536?t:null}return t.flags&128?(t.lanes=n,t):(r=r!==null,r!==(e!==null&&e.memoizedState!==null)&&r&&(t.child.flags|=8192,t.mode&1&&(e===null||Me.current&1?Ge===0&&(Ge=3):Mv())),t.updateQueue!==null&&(t.flags|=4),st(t),null);case 4:return Ui(),fm(e,t),e===null&&ca(t.stateNode.containerInfo),st(t),null;case 10:return vv(t.type._context),st(t),null;case 17:return Ct(t.type)&&ll(),st(t),null;case 19:if(je(Me),o=t.memoizedState,o===null)return st(t),null;if(r=(t.flags&128)!==0,a=o.rendering,a===null)if(r)yo(o,!1);else{if(Ge!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(a=gl(e),a!==null){for(t.flags|=128,yo(o,!1),r=a.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;n!==null;)o=n,e=r,o.flags&=14680066,a=o.alternate,a===null?(o.childLanes=0,o.lanes=e,o.child=null,o.subtreeFlags=0,o.memoizedProps=null,o.memoizedState=null,o.updateQueue=null,o.dependencies=null,o.stateNode=null):(o.childLanes=a.childLanes,o.lanes=a.lanes,o.child=a.child,o.subtreeFlags=0,o.deletions=null,o.memoizedProps=a.memoizedProps,o.memoizedState=a.memoizedState,o.updateQueue=a.updateQueue,o.type=a.type,e=a.dependencies,o.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return ke(Me,Me.current&1|2),t.child}e=e.sibling}o.tail!==null&&De()>Gi&&(t.flags|=128,r=!0,yo(o,!1),t.lanes=4194304)}else{if(!r)if(e=gl(a),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),yo(o,!0),o.tail===null&&o.tailMode==="hidden"&&!a.alternate&&!Ie)return st(t),null}else 2*De()-o.renderingStartTime>Gi&&n!==1073741824&&(t.flags|=128,r=!0,yo(o,!1),t.lanes=4194304);o.isBackwards?(a.sibling=t.child,t.child=a):(n=o.last,n!==null?n.sibling=a:t.child=a,o.last=a)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=De(),t.sibling=null,n=Me.current,ke(Me,r?n&1|2:n&1),t):(st(t),null);case 22:case 23:return Pv(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Pt&1073741824&&(st(t),t.subtreeFlags&6&&(t.flags|=8192)):st(t),null;case 24:return null;case 25:return null}throw Error(K(156,t.tag))}function $A(e,t){switch(hv(t),t.tag){case 1:return Ct(t.type)&&ll(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Ui(),je(kt),je(ct),Sv(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return bv(t),null;case 13:if(je(Me),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(K(340));Hi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return je(Me),null;case 4:return Ui(),null;case 10:return vv(t.type._context),null;case 22:case 23:return Pv(),null;case 24:return null;default:return null}}var ps=!1,lt=!1,zA=typeof WeakSet=="function"?WeakSet:Set,Z=null;function Ri(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Fe(e,t,r)}else n.current=null}function hm(e,t,n){try{n()}catch(r){Fe(e,t,r)}}var P0=!1;function OA(e,t){if(Xg=il,e=mk(),dv(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var a=0,s=-1,l=-1,c=0,u=0,f=e,h=null;t:for(;;){for(var p;f!==n||i!==0&&f.nodeType!==3||(s=a+i),f!==o||r!==0&&f.nodeType!==3||(l=a+r),f.nodeType===3&&(a+=f.nodeValue.length),(p=f.firstChild)!==null;)h=f,f=p;for(;;){if(f===e)break t;if(h===n&&++c===i&&(s=a),h===o&&++u===r&&(l=a),(p=f.nextSibling)!==null)break;f=h,h=f.parentNode}f=p}n=s===-1||l===-1?null:{start:s,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(Qg={focusedElem:e,selectionRange:n},il=!1,Z=t;Z!==null;)if(t=Z,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Z=e;else for(;Z!==null;){t=Z;try{var v=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(v!==null){var g=v.memoizedProps,S=v.memoizedState,m=t.stateNode,y=m.getSnapshotBeforeUpdate(t.elementType===t.type?g:an(t.type,g),S);m.__reactInternalSnapshotBeforeUpdate=y}break;case 3:var x=t.stateNode.containerInfo;x.nodeType===1?x.textContent="":x.nodeType===9&&x.documentElement&&x.removeChild(x.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(K(163))}}catch(b){Fe(t,t.return,b)}if(e=t.sibling,e!==null){e.return=t.return,Z=e;break}Z=t.return}return v=P0,P0=!1,v}function Zo(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var o=i.destroy;i.destroy=void 0,o!==void 0&&hm(t,n,o)}i=i.next}while(i!==r)}}function Vl(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function pm(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function fC(e){var t=e.alternate;t!==null&&(e.alternate=null,fC(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[bn],delete t[da],delete t[em],delete t[wA],delete t[bA])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function hC(e){return e.tag===5||e.tag===3||e.tag===4}function M0(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||hC(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function gm(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=sl));else if(r!==4&&(e=e.child,e!==null))for(gm(e,t,n),e=e.sibling;e!==null;)gm(e,t,n),e=e.sibling}function mm(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(mm(e,t,n),e=e.sibling;e!==null;)mm(e,t,n),e=e.sibling}var et=null,sn=!1;function Qn(e,t,n){for(n=n.child;n!==null;)pC(e,t,n),n=n.sibling}function pC(e,t,n){if(_n&&typeof _n.onCommitFiberUnmount=="function")try{_n.onCommitFiberUnmount(Ol,n)}catch{}switch(n.tag){case 5:lt||Ri(n,t);case 6:var r=et,i=sn;et=null,Qn(e,t,n),et=r,sn=i,et!==null&&(sn?(e=et,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):et.removeChild(n.stateNode));break;case 18:et!==null&&(sn?(e=et,n=n.stateNode,e.nodeType===8?iu(e.parentNode,n):e.nodeType===1&&iu(e,n),aa(e)):iu(et,n.stateNode));break;case 4:r=et,i=sn,et=n.stateNode.containerInfo,sn=!0,Qn(e,t,n),et=r,sn=i;break;case 0:case 11:case 14:case 15:if(!lt&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var o=i,a=o.destroy;o=o.tag,a!==void 0&&(o&2||o&4)&&hm(n,t,a),i=i.next}while(i!==r)}Qn(e,t,n);break;case 1:if(!lt&&(Ri(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){Fe(n,t,s)}Qn(e,t,n);break;case 21:Qn(e,t,n);break;case 22:n.mode&1?(lt=(r=lt)||n.memoizedState!==null,Qn(e,t,n),lt=r):Qn(e,t,n);break;default:Qn(e,t,n)}}function L0(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new zA),t.forEach(function(r){var i=GA.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function on(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var i=n[r];try{var o=e,a=t,s=a;e:for(;s!==null;){switch(s.tag){case 5:et=s.stateNode,sn=!1;break e;case 3:et=s.stateNode.containerInfo,sn=!0;break e;case 4:et=s.stateNode.containerInfo,sn=!0;break e}s=s.return}if(et===null)throw Error(K(160));pC(o,a,i),et=null,sn=!1;var l=i.alternate;l!==null&&(l.return=null),i.return=null}catch(c){Fe(i,t,c)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)gC(t,e),t=t.sibling}function gC(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(on(t,e),yn(e),r&4){try{Zo(3,e,e.return),Vl(3,e)}catch(g){Fe(e,e.return,g)}try{Zo(5,e,e.return)}catch(g){Fe(e,e.return,g)}}break;case 1:on(t,e),yn(e),r&512&&n!==null&&Ri(n,n.return);break;case 5:if(on(t,e),yn(e),r&512&&n!==null&&Ri(n,n.return),e.flags&32){var i=e.stateNode;try{na(i,"")}catch(g){Fe(e,e.return,g)}}if(r&4&&(i=e.stateNode,i!=null)){var o=e.memoizedProps,a=n!==null?n.memoizedProps:o,s=e.type,l=e.updateQueue;if(e.updateQueue=null,l!==null)try{s==="input"&&o.type==="radio"&&o.name!=null&&zE(i,o),qg(s,a);var c=qg(s,o);for(a=0;a<l.length;a+=2){var u=l[a],f=l[a+1];u==="style"?BE(i,f):u==="dangerouslySetInnerHTML"?qE(i,f):u==="children"?na(i,f):Zm(i,u,f,c)}switch(s){case"input":Lg(i,o);break;case"textarea":OE(i,o);break;case"select":var h=i._wrapperState.wasMultiple;i._wrapperState.wasMultiple=!!o.multiple;var p=o.value;p!=null?Ii(i,!!o.multiple,p,!1):h!==!!o.multiple&&(o.defaultValue!=null?Ii(i,!!o.multiple,o.defaultValue,!0):Ii(i,!!o.multiple,o.multiple?[]:"",!1))}i[da]=o}catch(g){Fe(e,e.return,g)}}break;case 6:if(on(t,e),yn(e),r&4){if(e.stateNode===null)throw Error(K(162));i=e.stateNode,o=e.memoizedProps;try{i.nodeValue=o}catch(g){Fe(e,e.return,g)}}break;case 3:if(on(t,e),yn(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{aa(t.containerInfo)}catch(g){Fe(e,e.return,g)}break;case 4:on(t,e),yn(e);break;case 13:on(t,e),yn(e),i=e.child,i.flags&8192&&(o=i.memoizedState!==null,i.stateNode.isHidden=o,!o||i.alternate!==null&&i.alternate.memoizedState!==null||(Iv=De())),r&4&&L0(e);break;case 22:if(u=n!==null&&n.memoizedState!==null,e.mode&1?(lt=(c=lt)||u,on(t,e),lt=c):on(t,e),yn(e),r&8192){if(c=e.memoizedState!==null,(e.stateNode.isHidden=c)&&!u&&e.mode&1)for(Z=e,u=e.child;u!==null;){for(f=Z=u;Z!==null;){switch(h=Z,p=h.child,h.tag){case 0:case 11:case 14:case 15:Zo(4,h,h.return);break;case 1:Ri(h,h.return);var v=h.stateNode;if(typeof v.componentWillUnmount=="function"){r=h,n=h.return;try{t=r,v.props=t.memoizedProps,v.state=t.memoizedState,v.componentWillUnmount()}catch(g){Fe(r,n,g)}}break;case 5:Ri(h,h.return);break;case 22:if(h.memoizedState!==null){z0(f);continue}}p!==null?(p.return=h,Z=p):z0(f)}u=u.sibling}e:for(u=null,f=e;;){if(f.tag===5){if(u===null){u=f;try{i=f.stateNode,c?(o=i.style,typeof o.setProperty=="function"?o.setProperty("display","none","important"):o.display="none"):(s=f.stateNode,l=f.memoizedProps.style,a=l!=null&&l.hasOwnProperty("display")?l.display:null,s.style.display=DE("display",a))}catch(g){Fe(e,e.return,g)}}}else if(f.tag===6){if(u===null)try{f.stateNode.nodeValue=c?"":f.memoizedProps}catch(g){Fe(e,e.return,g)}}else if((f.tag!==22&&f.tag!==23||f.memoizedState===null||f===e)&&f.child!==null){f.child.return=f,f=f.child;continue}if(f===e)break e;for(;f.sibling===null;){if(f.return===null||f.return===e)break e;u===f&&(u=null),f=f.return}u===f&&(u=null),f.sibling.return=f.return,f=f.sibling}}break;case 19:on(t,e),yn(e),r&4&&L0(e);break;case 21:break;default:on(t,e),yn(e)}}function yn(e){var t=e.flags;if(t&2){try{e:{for(var n=e.return;n!==null;){if(hC(n)){var r=n;break e}n=n.return}throw Error(K(160))}switch(r.tag){case 5:var i=r.stateNode;r.flags&32&&(na(i,""),r.flags&=-33);var o=M0(e);mm(e,o,i);break;case 3:case 4:var a=r.stateNode.containerInfo,s=M0(e);gm(e,s,a);break;default:throw Error(K(161))}}catch(l){Fe(e,e.return,l)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function FA(e,t,n){Z=e,mC(e)}function mC(e,t,n){for(var r=(e.mode&1)!==0;Z!==null;){var i=Z,o=i.child;if(i.tag===22&&r){var a=i.memoizedState!==null||ps;if(!a){var s=i.alternate,l=s!==null&&s.memoizedState!==null||lt;s=ps;var c=lt;if(ps=a,(lt=l)&&!c)for(Z=i;Z!==null;)a=Z,l=a.child,a.tag===22&&a.memoizedState!==null?O0(i):l!==null?(l.return=a,Z=l):O0(i);for(;o!==null;)Z=o,mC(o),o=o.sibling;Z=i,ps=s,lt=c}$0(e)}else i.subtreeFlags&8772&&o!==null?(o.return=i,Z=o):$0(e)}}function $0(e){for(;Z!==null;){var t=Z;if(t.flags&8772){var n=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:lt||Vl(5,t);break;case 1:var r=t.stateNode;if(t.flags&4&&!lt)if(n===null)r.componentDidMount();else{var i=t.elementType===t.type?n.memoizedProps:an(t.type,n.memoizedProps);r.componentDidUpdate(i,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var o=t.updateQueue;o!==null&&w0(t,o,r);break;case 3:var a=t.updateQueue;if(a!==null){if(n=null,t.child!==null)switch(t.child.tag){case 5:n=t.child.stateNode;break;case 1:n=t.child.stateNode}w0(t,a,n)}break;case 5:var s=t.stateNode;if(n===null&&t.flags&4){n=s;var l=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":l.autoFocus&&n.focus();break;case"img":l.src&&(n.src=l.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var c=t.alternate;if(c!==null){var u=c.memoizedState;if(u!==null){var f=u.dehydrated;f!==null&&aa(f)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(K(163))}lt||t.flags&512&&pm(t)}catch(h){Fe(t,t.return,h)}}if(t===e){Z=null;break}if(n=t.sibling,n!==null){n.return=t.return,Z=n;break}Z=t.return}}function z0(e){for(;Z!==null;){var t=Z;if(t===e){Z=null;break}var n=t.sibling;if(n!==null){n.return=t.return,Z=n;break}Z=t.return}}function O0(e){for(;Z!==null;){var t=Z;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{Vl(4,t)}catch(l){Fe(t,n,l)}break;case 1:var r=t.stateNode;if(typeof r.componentDidMount=="function"){var i=t.return;try{r.componentDidMount()}catch(l){Fe(t,i,l)}}var o=t.return;try{pm(t)}catch(l){Fe(t,o,l)}break;case 5:var a=t.return;try{pm(t)}catch(l){Fe(t,a,l)}}}catch(l){Fe(t,t.return,l)}if(t===e){Z=null;break}var s=t.sibling;if(s!==null){s.return=t.return,Z=s;break}Z=t.return}}var qA=Math.ceil,yl=Vn.ReactCurrentDispatcher,Nv=Vn.ReactCurrentOwner,Xt=Vn.ReactCurrentBatchConfig,me=0,Xe=null,He=null,tt=0,Pt=0,Ni=Rr(0),Ge=0,va=null,Yr=0,Gl=0,Av=0,Jo=null,St=null,Iv=0,Gi=1/0,An=null,xl=!1,vm=null,vr=null,gs=!1,dr=null,wl=0,ea=0,ym=null,Us=-1,Vs=0;function mt(){return me&6?De():Us!==-1?Us:Us=De()}function yr(e){return e.mode&1?me&2&&tt!==0?tt&-tt:_A.transition!==null?(Vs===0&&(Vs=ek()),Vs):(e=xe,e!==0||(e=window.event,e=e===void 0?16:sk(e.type)),e):1}function fn(e,t,n,r){if(50<ea)throw ea=0,ym=null,Error(K(185));Ca(e,n,r),(!(me&2)||e!==Xe)&&(e===Xe&&(!(me&2)&&(Gl|=n),Ge===4&&sr(e,tt)),jt(e,r),n===1&&me===0&&!(t.mode&1)&&(Gi=De()+500,Hl&&Nr()))}function jt(e,t){var n=e.callbackNode;_N(e,t);var r=rl(e,e===Xe?tt:0);if(r===0)n!==null&&Gy(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(n!=null&&Gy(n),t===1)e.tag===0?SA(F0.bind(null,e)):Ck(F0.bind(null,e)),yA(function(){!(me&6)&&Nr()}),n=null;else{switch(tk(r)){case 1:n=rv;break;case 4:n=ZE;break;case 16:n=nl;break;case 536870912:n=JE;break;default:n=nl}n=EC(n,vC.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function vC(e,t){if(Us=-1,Vs=0,me&6)throw Error(K(327));var n=e.callbackNode;if($i()&&e.callbackNode!==n)return null;var r=rl(e,e===Xe?tt:0);if(r===0)return null;if(r&30||r&e.expiredLanes||t)t=bl(e,r);else{t=r;var i=me;me|=2;var o=xC();(Xe!==e||tt!==t)&&(An=null,Gi=De()+500,Hr(e,t));do try{HA();break}catch(s){yC(e,s)}while(!0);mv(),yl.current=o,me=i,He!==null?t=0:(Xe=null,tt=0,t=Ge)}if(t!==0){if(t===2&&(i=Ug(e),i!==0&&(r=i,t=xm(e,i))),t===1)throw n=va,Hr(e,0),sr(e,r),jt(e,De()),n;if(t===6)sr(e,r);else{if(i=e.current.alternate,!(r&30)&&!DA(i)&&(t=bl(e,r),t===2&&(o=Ug(e),o!==0&&(r=o,t=xm(e,o))),t===1))throw n=va,Hr(e,0),sr(e,r),jt(e,De()),n;switch(e.finishedWork=i,e.finishedLanes=r,t){case 0:case 1:throw Error(K(345));case 2:Lr(e,St,An);break;case 3:if(sr(e,r),(r&130023424)===r&&(t=Iv+500-De(),10<t)){if(rl(e,0)!==0)break;if(i=e.suspendedLanes,(i&r)!==r){mt(),e.pingedLanes|=e.suspendedLanes&i;break}e.timeoutHandle=Jg(Lr.bind(null,e,St,An),t);break}Lr(e,St,An);break;case 4:if(sr(e,r),(r&4194240)===r)break;for(t=e.eventTimes,i=-1;0<r;){var a=31-dn(r);o=1<<a,a=t[a],a>i&&(i=a),r&=~o}if(r=i,r=De()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*qA(r/1960))-r,10<r){e.timeoutHandle=Jg(Lr.bind(null,e,St,An),r);break}Lr(e,St,An);break;case 5:Lr(e,St,An);break;default:throw Error(K(329))}}}return jt(e,De()),e.callbackNode===n?vC.bind(null,e):null}function xm(e,t){var n=Jo;return e.current.memoizedState.isDehydrated&&(Hr(e,t).flags|=256),e=bl(e,t),e!==2&&(t=St,St=n,t!==null&&wm(t)),e}function wm(e){St===null?St=e:St.push.apply(St,e)}function DA(e){for(var t=e;;){if(t.flags&16384){var n=t.updateQueue;if(n!==null&&(n=n.stores,n!==null))for(var r=0;r<n.length;r++){var i=n[r],o=i.getSnapshot;i=i.value;try{if(!hn(o(),i))return!1}catch{return!1}}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function sr(e,t){for(t&=~Av,t&=~Gl,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-dn(t),r=1<<n;e[n]=-1,t&=~r}}function F0(e){if(me&6)throw Error(K(327));$i();var t=rl(e,0);if(!(t&1))return jt(e,De()),null;var n=bl(e,t);if(e.tag!==0&&n===2){var r=Ug(e);r!==0&&(t=r,n=xm(e,r))}if(n===1)throw n=va,Hr(e,0),sr(e,t),jt(e,De()),n;if(n===6)throw Error(K(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Lr(e,St,An),jt(e,De()),null}function Tv(e,t){var n=me;me|=1;try{return e(t)}finally{me=n,me===0&&(Gi=De()+500,Hl&&Nr())}}function Xr(e){dr!==null&&dr.tag===0&&!(me&6)&&$i();var t=me;me|=1;var n=Xt.transition,r=xe;try{if(Xt.transition=null,xe=1,e)return e()}finally{xe=r,Xt.transition=n,me=t,!(me&6)&&Nr()}}function Pv(){Pt=Ni.current,je(Ni)}function Hr(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(n!==-1&&(e.timeoutHandle=-1,vA(n)),He!==null)for(n=He.return;n!==null;){var r=n;switch(hv(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&ll();break;case 3:Ui(),je(kt),je(ct),Sv();break;case 5:bv(r);break;case 4:Ui();break;case 13:je(Me);break;case 19:je(Me);break;case 10:vv(r.type._context);break;case 22:case 23:Pv()}n=n.return}if(Xe=e,He=e=xr(e.current,null),tt=Pt=t,Ge=0,va=null,Av=Gl=Yr=0,St=Jo=null,Or!==null){for(t=0;t<Or.length;t++)if(n=Or[t],r=n.interleaved,r!==null){n.interleaved=null;var i=r.next,o=n.pending;if(o!==null){var a=o.next;o.next=i,r.next=a}n.pending=r}Or=null}return e}function yC(e,t){do{var n=He;try{if(mv(),Bs.current=vl,ml){for(var r=Le.memoizedState;r!==null;){var i=r.queue;i!==null&&(i.pending=null),r=r.next}ml=!1}if(Kr=0,Ye=Ve=Le=null,Qo=!1,pa=0,Nv.current=null,n===null||n.return===null){Ge=1,va=t,He=null;break}e:{var o=e,a=n.return,s=n,l=t;if(t=tt,s.flags|=32768,l!==null&&typeof l=="object"&&typeof l.then=="function"){var c=l,u=s,f=u.tag;if(!(u.mode&1)&&(f===0||f===11||f===15)){var h=u.alternate;h?(u.updateQueue=h.updateQueue,u.memoizedState=h.memoizedState,u.lanes=h.lanes):(u.updateQueue=null,u.memoizedState=null)}var p=C0(a);if(p!==null){p.flags&=-257,j0(p,a,s,o,t),p.mode&1&&k0(o,c,t),t=p,l=c;var v=t.updateQueue;if(v===null){var g=new Set;g.add(l),t.updateQueue=g}else v.add(l);break e}else{if(!(t&1)){k0(o,c,t),Mv();break e}l=Error(K(426))}}else if(Ie&&s.mode&1){var S=C0(a);if(S!==null){!(S.flags&65536)&&(S.flags|=256),j0(S,a,s,o,t),pv(Vi(l,s));break e}}o=l=Vi(l,s),Ge!==4&&(Ge=2),Jo===null?Jo=[o]:Jo.push(o),o=a;do{switch(o.tag){case 3:o.flags|=65536,t&=-t,o.lanes|=t;var m=tC(o,l,t);x0(o,m);break e;case 1:s=l;var y=o.type,x=o.stateNode;if(!(o.flags&128)&&(typeof y.getDerivedStateFromError=="function"||x!==null&&typeof x.componentDidCatch=="function"&&(vr===null||!vr.has(x)))){o.flags|=65536,t&=-t,o.lanes|=t;var b=nC(o,s,t);x0(o,b);break e}}o=o.return}while(o!==null)}bC(n)}catch(C){t=C,He===n&&n!==null&&(He=n=n.return);continue}break}while(!0)}function xC(){var e=yl.current;return yl.current=vl,e===null?vl:e}function Mv(){(Ge===0||Ge===3||Ge===2)&&(Ge=4),Xe===null||!(Yr&268435455)&&!(Gl&268435455)||sr(Xe,tt)}function bl(e,t){var n=me;me|=2;var r=xC();(Xe!==e||tt!==t)&&(An=null,Hr(e,t));do try{BA();break}catch(i){yC(e,i)}while(!0);if(mv(),me=n,yl.current=r,He!==null)throw Error(K(261));return Xe=null,tt=0,Ge}function BA(){for(;He!==null;)wC(He)}function HA(){for(;He!==null&&!pN();)wC(He)}function wC(e){var t=_C(e.alternate,e,Pt);e.memoizedProps=e.pendingProps,t===null?bC(e):He=t,Nv.current=null}function bC(e){var t=e;do{var n=t.alternate;if(e=t.return,t.flags&32768){if(n=$A(n,t),n!==null){n.flags&=32767,He=n;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{Ge=6,He=null;return}}else if(n=LA(n,t,Pt),n!==null){He=n;return}if(t=t.sibling,t!==null){He=t;return}He=t=e}while(t!==null);Ge===0&&(Ge=5)}function Lr(e,t,n){var r=xe,i=Xt.transition;try{Xt.transition=null,xe=1,WA(e,t,n,r)}finally{Xt.transition=i,xe=r}return null}function WA(e,t,n,r){do $i();while(dr!==null);if(me&6)throw Error(K(327));n=e.finishedWork;var i=e.finishedLanes;if(n===null)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(K(177));e.callbackNode=null,e.callbackPriority=0;var o=n.lanes|n.childLanes;if(EN(e,o),e===Xe&&(He=Xe=null,tt=0),!(n.subtreeFlags&2064)&&!(n.flags&2064)||gs||(gs=!0,EC(nl,function(){return $i(),null})),o=(n.flags&15990)!==0,n.subtreeFlags&15990||o){o=Xt.transition,Xt.transition=null;var a=xe;xe=1;var s=me;me|=4,Nv.current=null,OA(e,n),gC(n,e),uA(Qg),il=!!Xg,Qg=Xg=null,e.current=n,FA(n),gN(),me=s,xe=a,Xt.transition=o}else e.current=n;if(gs&&(gs=!1,dr=e,wl=i),o=e.pendingLanes,o===0&&(vr=null),yN(n.stateNode),jt(e,De()),t!==null)for(r=e.onRecoverableError,n=0;n<t.length;n++)i=t[n],r(i.value,{componentStack:i.stack,digest:i.digest});if(xl)throw xl=!1,e=vm,vm=null,e;return wl&1&&e.tag!==0&&$i(),o=e.pendingLanes,o&1?e===ym?ea++:(ea=0,ym=e):ea=0,Nr(),null}function $i(){if(dr!==null){var e=tk(wl),t=Xt.transition,n=xe;try{if(Xt.transition=null,xe=16>e?16:e,dr===null)var r=!1;else{if(e=dr,dr=null,wl=0,me&6)throw Error(K(331));var i=me;for(me|=4,Z=e.current;Z!==null;){var o=Z,a=o.child;if(Z.flags&16){var s=o.deletions;if(s!==null){for(var l=0;l<s.length;l++){var c=s[l];for(Z=c;Z!==null;){var u=Z;switch(u.tag){case 0:case 11:case 15:Zo(8,u,o)}var f=u.child;if(f!==null)f.return=u,Z=f;else for(;Z!==null;){u=Z;var h=u.sibling,p=u.return;if(fC(u),u===c){Z=null;break}if(h!==null){h.return=p,Z=h;break}Z=p}}}var v=o.alternate;if(v!==null){var g=v.child;if(g!==null){v.child=null;do{var S=g.sibling;g.sibling=null,g=S}while(g!==null)}}Z=o}}if(o.subtreeFlags&2064&&a!==null)a.return=o,Z=a;else e:for(;Z!==null;){if(o=Z,o.flags&2048)switch(o.tag){case 0:case 11:case 15:Zo(9,o,o.return)}var m=o.sibling;if(m!==null){m.return=o.return,Z=m;break e}Z=o.return}}var y=e.current;for(Z=y;Z!==null;){a=Z;var x=a.child;if(a.subtreeFlags&2064&&x!==null)x.return=a,Z=x;else e:for(a=y;Z!==null;){if(s=Z,s.flags&2048)try{switch(s.tag){case 0:case 11:case 15:Vl(9,s)}}catch(C){Fe(s,s.return,C)}if(s===a){Z=null;break e}var b=s.sibling;if(b!==null){b.return=s.return,Z=b;break e}Z=s.return}}if(me=i,Nr(),_n&&typeof _n.onPostCommitFiberRoot=="function")try{_n.onPostCommitFiberRoot(Ol,e)}catch{}r=!0}return r}finally{xe=n,Xt.transition=t}}return!1}function q0(e,t,n){t=Vi(n,t),t=tC(e,t,1),e=mr(e,t,1),t=mt(),e!==null&&(Ca(e,1,t),jt(e,t))}function Fe(e,t,n){if(e.tag===3)q0(e,e,n);else for(;t!==null;){if(t.tag===3){q0(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(vr===null||!vr.has(r))){e=Vi(n,e),e=nC(t,e,1),t=mr(t,e,1),e=mt(),t!==null&&(Ca(t,1,e),jt(t,e));break}}t=t.return}}function UA(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),t=mt(),e.pingedLanes|=e.suspendedLanes&n,Xe===e&&(tt&n)===n&&(Ge===4||Ge===3&&(tt&130023424)===tt&&500>De()-Iv?Hr(e,0):Av|=n),jt(e,t)}function SC(e,t){t===0&&(e.mode&1?(t=os,os<<=1,!(os&130023424)&&(os=4194304)):t=1);var n=mt();e=qn(e,t),e!==null&&(Ca(e,t,n),jt(e,n))}function VA(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),SC(e,n)}function GA(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(K(314))}r!==null&&r.delete(t),SC(e,n)}var _C;_C=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||kt.current)_t=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return _t=!1,MA(e,t,n);_t=!!(e.flags&131072)}else _t=!1,Ie&&t.flags&1048576&&jk(t,dl,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Ws(e,t),e=t.pendingProps;var i=Bi(t,ct.current);Li(t,n),i=Ev(null,t,r,e,i,n);var o=kv();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ct(r)?(o=!0,cl(t)):o=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,xv(t),i.updater=Ul,t.stateNode=i,i._reactInternals=t,am(t,r,e,n),t=cm(null,t,r,!0,o,n)):(t.tag=0,Ie&&o&&fv(t),gt(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Ws(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=YA(r),e=an(r,e),i){case 0:t=lm(null,t,r,e,n);break e;case 1:t=A0(null,t,r,e,n);break e;case 11:t=R0(null,t,r,e,n);break e;case 14:t=N0(null,t,r,an(r.type,e),n);break e}throw Error(K(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:an(r,i),lm(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:an(r,i),A0(e,t,r,i,n);case 3:e:{if(aC(t),e===null)throw Error(K(387));r=t.pendingProps,o=t.memoizedState,i=o.element,Pk(e,t),pl(t,r,null,n);var a=t.memoizedState;if(r=a.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:a.cache,pendingSuspenseBoundaries:a.pendingSuspenseBoundaries,transitions:a.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){i=Vi(Error(K(423)),t),t=I0(e,t,r,n,i);break e}else if(r!==i){i=Vi(Error(K(424)),t),t=I0(e,t,r,n,i);break e}else for(Lt=gr(t.stateNode.containerInfo.firstChild),$t=t,Ie=!0,ln=null,n=Ik(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Hi(),r===i){t=Dn(e,t,n);break e}gt(e,t,r,n)}t=t.child}return t;case 5:return Mk(t),e===null&&rm(t),r=t.type,i=t.pendingProps,o=e!==null?e.memoizedProps:null,a=i.children,Zg(r,i)?a=null:o!==null&&Zg(r,o)&&(t.flags|=32),oC(e,t),gt(e,t,a,n),t.child;case 6:return e===null&&rm(t),null;case 13:return sC(e,t,n);case 4:return wv(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Wi(t,null,r,n):gt(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:an(r,i),R0(e,t,r,i,n);case 7:return gt(e,t,t.pendingProps,n),t.child;case 8:return gt(e,t,t.pendingProps.children,n),t.child;case 12:return gt(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,o=t.memoizedProps,a=i.value,ke(fl,r._currentValue),r._currentValue=a,o!==null)if(hn(o.value,a)){if(o.children===i.children&&!kt.current){t=Dn(e,t,n);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var s=o.dependencies;if(s!==null){a=o.child;for(var l=s.firstContext;l!==null;){if(l.context===r){if(o.tag===1){l=zn(-1,n&-n),l.tag=2;var c=o.updateQueue;if(c!==null){c=c.shared;var u=c.pending;u===null?l.next=l:(l.next=u.next,u.next=l),c.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),im(o.return,n,t),s.lanes|=n;break}l=l.next}}else if(o.tag===10)a=o.type===t.type?null:o.child;else if(o.tag===18){if(a=o.return,a===null)throw Error(K(341));a.lanes|=n,s=a.alternate,s!==null&&(s.lanes|=n),im(a,n,t),a=o.sibling}else a=o.child;if(a!==null)a.return=o;else for(a=o;a!==null;){if(a===t){a=null;break}if(o=a.sibling,o!==null){o.return=a.return,a=o;break}a=a.return}o=a}gt(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,Li(t,n),i=Qt(i),r=r(i),t.flags|=1,gt(e,t,r,n),t.child;case 14:return r=t.type,i=an(r,t.pendingProps),i=an(r.type,i),N0(e,t,r,i,n);case 15:return rC(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:an(r,i),Ws(e,t),t.tag=1,Ct(r)?(e=!0,cl(t)):e=!1,Li(t,n),eC(t,r,i),am(t,r,i,n),cm(null,t,r,!0,e,n);case 19:return lC(e,t,n);case 22:return iC(e,t,n)}throw Error(K(156,t.tag))};function EC(e,t){return QE(e,t)}function KA(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Kt(e,t,n,r){return new KA(e,t,n,r)}function Lv(e){return e=e.prototype,!(!e||!e.isReactComponent)}function YA(e){if(typeof e=="function")return Lv(e)?1:0;if(e!=null){if(e=e.$$typeof,e===ev)return 11;if(e===tv)return 14}return 2}function xr(e,t){var n=e.alternate;return n===null?(n=Kt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Gs(e,t,n,r,i,o){var a=2;if(r=e,typeof e=="function")Lv(e)&&(a=1);else if(typeof e=="string")a=5;else e:switch(e){case xi:return Wr(n.children,i,o,t);case Jm:a=8,i|=8;break;case Ag:return e=Kt(12,n,t,i|2),e.elementType=Ag,e.lanes=o,e;case Ig:return e=Kt(13,n,t,i),e.elementType=Ig,e.lanes=o,e;case Tg:return e=Kt(19,n,t,i),e.elementType=Tg,e.lanes=o,e;case ME:return Kl(n,i,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case TE:a=10;break e;case PE:a=9;break e;case ev:a=11;break e;case tv:a=14;break e;case nr:a=16,r=null;break e}throw Error(K(130,e==null?e:typeof e,""))}return t=Kt(a,n,t,i),t.elementType=e,t.type=r,t.lanes=o,t}function Wr(e,t,n,r){return e=Kt(7,e,r,t),e.lanes=n,e}function Kl(e,t,n,r){return e=Kt(22,e,r,t),e.elementType=ME,e.lanes=n,e.stateNode={isHidden:!1},e}function fu(e,t,n){return e=Kt(6,e,null,t),e.lanes=n,e}function hu(e,t,n){return t=Kt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function XA(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Gc(0),this.expirationTimes=Gc(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Gc(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function $v(e,t,n,r,i,o,a,s,l){return e=new XA(e,t,n,s,l),t===1?(t=1,o===!0&&(t|=8)):t=0,o=Kt(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},xv(o),e}function QA(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:yi,key:r==null?null:""+r,children:e,containerInfo:t,implementation:n}}function kC(e){if(!e)return Er;e=e._reactInternals;e:{if(ti(e)!==e||e.tag!==1)throw Error(K(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Ct(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(K(171))}if(e.tag===1){var n=e.type;if(Ct(n))return kk(e,n,t)}return t}function CC(e,t,n,r,i,o,a,s,l){return e=$v(n,r,!0,e,i,o,a,s,l),e.context=kC(null),n=e.current,r=mt(),i=yr(n),o=zn(r,i),o.callback=t??null,mr(n,o,i),e.current.lanes=i,Ca(e,i,r),jt(e,r),e}function Yl(e,t,n,r){var i=t.current,o=mt(),a=yr(i);return n=kC(n),t.context===null?t.context=n:t.pendingContext=n,t=zn(o,a),t.payload={element:e},r=r===void 0?null:r,r!==null&&(t.callback=r),e=mr(i,t,a),e!==null&&(fn(e,i,a,o),Ds(e,i,a)),a}function Sl(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function D0(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function zv(e,t){D0(e,t),(e=e.alternate)&&D0(e,t)}function ZA(){return null}var jC=typeof reportError=="function"?reportError:function(e){console.error(e)};function Ov(e){this._internalRoot=e}Xl.prototype.render=Ov.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(K(409));Yl(e,t,null,null)};Xl.prototype.unmount=Ov.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Xr(function(){Yl(null,e,null,null)}),t[Fn]=null}};function Xl(e){this._internalRoot=e}Xl.prototype.unstable_scheduleHydration=function(e){if(e){var t=ik();e={blockedOn:null,target:e,priority:t};for(var n=0;n<ar.length&&t!==0&&t<ar[n].priority;n++);ar.splice(n,0,e),n===0&&ak(e)}};function Fv(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function Ql(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function B0(){}function JA(e,t,n,r,i){if(i){if(typeof r=="function"){var o=r;r=function(){var c=Sl(a);o.call(c)}}var a=CC(t,r,e,0,null,!1,!1,"",B0);return e._reactRootContainer=a,e[Fn]=a.current,ca(e.nodeType===8?e.parentNode:e),Xr(),a}for(;i=e.lastChild;)e.removeChild(i);if(typeof r=="function"){var s=r;r=function(){var c=Sl(l);s.call(c)}}var l=$v(e,0,!1,null,null,!1,!1,"",B0);return e._reactRootContainer=l,e[Fn]=l.current,ca(e.nodeType===8?e.parentNode:e),Xr(function(){Yl(t,l,n,r)}),l}function Zl(e,t,n,r,i){var o=n._reactRootContainer;if(o){var a=o;if(typeof i=="function"){var s=i;i=function(){var l=Sl(a);s.call(l)}}Yl(t,a,e,i)}else a=JA(n,t,e,i,r);return Sl(a)}nk=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=Lo(t.pendingLanes);n!==0&&(iv(t,n|1),jt(t,De()),!(me&6)&&(Gi=De()+500,Nr()))}break;case 13:Xr(function(){var r=qn(e,1);if(r!==null){var i=mt();fn(r,e,1,i)}}),zv(e,1)}};ov=function(e){if(e.tag===13){var t=qn(e,134217728);if(t!==null){var n=mt();fn(t,e,134217728,n)}zv(e,134217728)}};rk=function(e){if(e.tag===13){var t=yr(e),n=qn(e,t);if(n!==null){var r=mt();fn(n,e,t,r)}zv(e,t)}};ik=function(){return xe};ok=function(e,t){var n=xe;try{return xe=e,t()}finally{xe=n}};Bg=function(e,t,n){switch(t){case"input":if(Lg(e,n),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var i=Bl(r);if(!i)throw Error(K(90));$E(r),Lg(r,i)}}}break;case"textarea":OE(e,n);break;case"select":t=n.value,t!=null&&Ii(e,!!n.multiple,t,!1)}};UE=Tv;VE=Xr;var eI={usingClientEntryPoint:!1,Events:[Ra,_i,Bl,HE,WE,Tv]},xo={findFiberByHostInstance:zr,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},tI={bundleType:xo.bundleType,version:xo.version,rendererPackageName:xo.rendererPackageName,rendererConfig:xo.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:Vn.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=YE(e),e===null?null:e.stateNode},findFiberByHostInstance:xo.findFiberByHostInstance||ZA,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var ms=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!ms.isDisabled&&ms.supportsFiber)try{Ol=ms.inject(tI),_n=ms}catch{}}qt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=eI;qt.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Fv(t))throw Error(K(200));return QA(e,t,null,n)};qt.createRoot=function(e,t){if(!Fv(e))throw Error(K(299));var n=!1,r="",i=jC;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onRecoverableError!==void 0&&(i=t.onRecoverableError)),t=$v(e,1,!1,null,null,n,!1,r,i),e[Fn]=t.current,ca(e.nodeType===8?e.parentNode:e),new Ov(t)};qt.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(K(188)):(e=Object.keys(e).join(","),Error(K(268,e)));return e=YE(t),e=e===null?null:e.stateNode,e};qt.flushSync=function(e){return Xr(e)};qt.hydrate=function(e,t,n){if(!Ql(t))throw Error(K(200));return Zl(null,e,t,!0,n)};qt.hydrateRoot=function(e,t,n){if(!Fv(e))throw Error(K(405));var r=n!=null&&n.hydratedSources||null,i=!1,o="",a=jC;if(n!=null&&(n.unstable_strictMode===!0&&(i=!0),n.identifierPrefix!==void 0&&(o=n.identifierPrefix),n.onRecoverableError!==void 0&&(a=n.onRecoverableError)),t=CC(t,null,e,1,n??null,i,!1,o,a),e[Fn]=t.current,ca(e),r)for(e=0;e<r.length;e++)n=r[e],i=n._getVersion,i=i(n._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[n,i]:t.mutableSourceEagerHydrationData.push(n,i);return new Xl(t)};qt.render=function(e,t,n){if(!Ql(t))throw Error(K(200));return Zl(null,e,t,!1,n)};qt.unmountComponentAtNode=function(e){if(!Ql(e))throw Error(K(40));return e._reactRootContainer?(Xr(function(){Zl(null,null,e,!1,function(){e._reactRootContainer=null,e[Fn]=null})}),!0):!1};qt.unstable_batchedUpdates=Tv;qt.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!Ql(n))throw Error(K(200));if(e==null||e._reactInternals===void 0)throw Error(K(38));return Zl(e,t,n,!1,r)};qt.version="18.3.1-next-f1338f8080-20240426";function RC(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(RC)}catch(e){console.error(e)}}RC(),RE.exports=qt;var nI=RE.exports,H0=nI;Rg.createRoot=H0.createRoot,Rg.hydrateRoot=H0.hydrateRoot;const nt={findings:[],counts:{byGraph:{},byEntryPoint:{},bySeverity:{error:0,warning:0,info:0},total:0},lastUpdate:0},bm=new Set;function NC(){return nt}function Jl(e){return bm.add(e),e(nt),()=>{bm.delete(e)}}function Aa(){nt.lastUpdate=Date.now();for(const e of bm)e(nt)}function W0(e,t){nt.findings=e,t?nt.counts=t:ec(),Aa()}function rI(e){const t=new Map(nt.findings.map(n=>[n.id,n]));for(const n of e)t.set(n.id,n);nt.findings=Array.from(t.values()),ec(),Aa()}function iI(e){const t=nt.findings.findIndex(n=>n.id===e.id);t>=0?nt.findings[t]=e:nt.findings.push(e),ec(),Aa()}function pu(e){nt.counts=e,Aa()}function oI(e){if(e.length===0)return;const t=new Set(e);let n=!1;nt.findings=nt.findings.map(r=>t.has(r.id)&&r.status==="open"?(n=!0,{...r,status:"stale"}):r),n&&(ec(),Aa())}function aI(e,t){return nt.findings.filter(n=>n.bindings.some(r=>r.graphId===e&&(r.targetId===t||r.targetId.endsWith(`::${t}`))))}function sI(e){return!e||e.total===0?null:e.error>0?"error":e.warning>0?"warning":"info"}function ec(){const e={},t={},n={error:0,warning:0,info:0};let r=0;for(const i of nt.findings){if(i.status!=="open")continue;r+=1,n[i.severity]+=1,t[i.entryPointId]=(t[i.entryPointId]??0)+1;const o=new Set;for(const a of i.bindings){if(o.has(a.graphId))continue;o.add(a.graphId);const s=e[a.graphId]??{error:0,warning:0,info:0,total:0};s[i.severity]+=1,s.total+=1,e[a.graphId]=s}}nt.counts={byGraph:e,byEntryPoint:t,bySeverity:n,total:r}}const lI={error:{bg:"rgba(239,68,68,0.16)",fg:"#ef4444"},warning:{bg:"rgba(245,158,11,0.16)",fg:"#f59e0b"},info:{bg:"rgba(56,189,248,0.16)",fg:"#38bdf8"}};function Ia({graphId:e,onOpen:t}){const[n,r]=w.useState(null);if(w.useEffect(()=>Jl(a=>r(a.counts.byGraph[e]??null)),[e]),!n||n.total===0)return null;const i=sI(n)??"info",o=lI[i];return d.jsxs("button",{type:"button",onClick:()=>t==null?void 0:t(e),title:`${n.total} AI findings on this layer (${n.error} error · ${n.warning} warning · ${n.info} info). Click to open scoped panel.`,style:{display:"inline-flex",alignItems:"center",gap:6,padding:"3px 10px",borderRadius:999,background:o.bg,color:o.fg,fontSize:11,fontWeight:600,fontFamily:"inherit",border:"none",cursor:"pointer",outline:"none"},children:[d.jsx("span",{style:{width:7,height:7,borderRadius:"50%",background:o.fg},"aria-hidden":!0}),d.jsxs("span",{children:[n.total," ",n.total===1?"AI finding":"AI findings"]})]})}function wt(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n<e.length;n++)(r=wt(e[n]))!==""&&(t+=(t&&" ")+r);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}var AC={exports:{}},IC={},TC={exports:{}},PC={};/**
|
|
41
41
|
* @license React
|
|
42
42
|
* use-sync-external-store-shim.production.js
|
|
43
43
|
*
|
|
@@ -45,7 +45,7 @@ Error generating stack: `+o.message+`
|
|
|
45
45
|
*
|
|
46
46
|
* This source code is licensed under the MIT license found in the
|
|
47
47
|
* LICENSE file in the root directory of this source tree.
|
|
48
|
-
*/var
|
|
48
|
+
*/var Ki=w;function cI(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var uI=typeof Object.is=="function"?Object.is:cI,dI=Ki.useState,fI=Ki.useEffect,hI=Ki.useLayoutEffect,pI=Ki.useDebugValue;function gI(e,t){var n=t(),r=dI({inst:{value:n,getSnapshot:t}}),i=r[0].inst,o=r[1];return hI(function(){i.value=n,i.getSnapshot=t,gu(i)&&o({inst:i})},[e,n,t]),fI(function(){return gu(i)&&o({inst:i}),e(function(){gu(i)&&o({inst:i})})},[e]),pI(n),n}function gu(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!uI(e,n)}catch{return!0}}function mI(e,t){return t()}var vI=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?mI:gI;PC.useSyncExternalStore=Ki.useSyncExternalStore!==void 0?Ki.useSyncExternalStore:vI;TC.exports=PC;var yI=TC.exports;/**
|
|
49
49
|
* @license React
|
|
50
50
|
* use-sync-external-store-shim/with-selector.production.js
|
|
51
51
|
*
|
|
@@ -53,20 +53,20 @@ Error generating stack: `+o.message+`
|
|
|
53
53
|
*
|
|
54
54
|
* This source code is licensed under the MIT license found in the
|
|
55
55
|
* LICENSE file in the root directory of this source tree.
|
|
56
|
-
*/var Zl=w,fA=dA;function hA(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var pA=typeof Object.is=="function"?Object.is:hA,gA=fA.useSyncExternalStore,mA=Zl.useRef,vA=Zl.useEffect,yA=Zl.useMemo,xA=Zl.useDebugValue;NC.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var o=mA(null);if(o.current===null){var a={hasValue:!1,value:null};o.current=a}else a=o.current;o=yA(function(){function l(p){if(!c){if(c=!0,u=p,p=r(p),i!==void 0&&a.hasValue){var v=a.value;if(i(v,p))return f=v}return f=p}if(v=f,pA(u,p))return v;var g=r(p);return i!==void 0&&i(v,g)?(u=p,v):(u=p,f=g)}var c=!1,u,f,h=n===void 0?null:n;return[function(){return l(t())},h===null?void 0:function(){return l(h())}]},[t,n,r,i]);var s=gA(e,o[0],o[1]);return vA(function(){a.hasValue=!0,a.value=s},[s]),xA(s),s};RC.exports=NC;var wA=RC.exports;const bA=Bm(wA),SA={},H0=e=>{let t;const n=new Set,r=(u,f)=>{const h=typeof u=="function"?u(t):u;if(!Object.is(h,t)){const p=t;t=f??(typeof h!="object"||h===null)?h:Object.assign({},t,h),n.forEach(v=>v(t,p))}},i=()=>t,l={setState:r,getState:i,getInitialState:()=>c,subscribe:u=>(n.add(u),()=>n.delete(u)),destroy:()=>{(SA?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},c=t=e(r,i,l);return l},_A=e=>e?H0(e):H0,{useDebugValue:EA}=H,{useSyncExternalStoreWithSelector:kA}=bA,CA=e=>e;function TC(e,t=CA,n){const r=kA(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return EA(r),r}const W0=(e,t)=>{const n=_A(e),r=(i,o=t)=>TC(n,i,o);return Object.assign(r,n),r},jA=(e,t)=>e?W0(e,t):W0;function lt(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[r,i]of e)if(!Object.is(i,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}var RA={value:()=>{}};function Jl(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+"")||r in n||/[\s.]/.test(r))throw new Error("illegal type: "+r);n[r]=[]}return new Us(n)}function Us(e){this._=e}function NA(e,t){return e.trim().split(/^|\s+/).map(function(n){var r="",i=n.indexOf(".");if(i>=0&&(r=n.slice(i+1),n=n.slice(0,i)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}Us.prototype=Jl.prototype={constructor:Us,on:function(e,t){var n=this._,r=NA(e+"",n),i,o=-1,a=r.length;if(arguments.length<2){for(;++o<a;)if((i=(e=r[o]).type)&&(i=IA(n[i],e.name)))return i;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++o<a;)if(i=(e=r[o]).type)n[i]=U0(n[i],e.name,t);else if(t==null)for(i in n)n[i]=U0(n[i],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new Us(e)},call:function(e,t){if((i=arguments.length-2)>0)for(var n=new Array(i),r=0,i,o;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(o=this._[e],r=0,i=o.length;r<i;++r)o[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var r=this._[e],i=0,o=r.length;i<o;++i)r[i].value.apply(t,n)}};function IA(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function U0(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=RA,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var xm="http://www.w3.org/1999/xhtml";const V0={svg:"http://www.w3.org/2000/svg",xhtml:xm,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function ec(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),V0.hasOwnProperty(t)?{space:V0[t],local:e}:e}function AA(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===xm&&t.documentElement.namespaceURI===xm?t.createElement(e):t.createElementNS(n,e)}}function TA(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function PC(e){var t=ec(e);return(t.local?TA:AA)(t)}function PA(){}function Ov(e){return e==null?PA:function(){return this.querySelector(e)}}function MA(e){typeof e!="function"&&(e=Ov(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o=t[i],a=o.length,s=r[i]=new Array(a),l,c,u=0;u<a;++u)(l=o[u])&&(c=e.call(l,l.__data__,u,o))&&("__data__"in l&&(c.__data__=l.__data__),s[u]=c);return new qt(r,this._parents)}function LA(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function $A(){return[]}function MC(e){return e==null?$A:function(){return this.querySelectorAll(e)}}function zA(e){return function(){return LA(e.apply(this,arguments))}}function OA(e){typeof e=="function"?e=zA(e):e=MC(e);for(var t=this._groups,n=t.length,r=[],i=[],o=0;o<n;++o)for(var a=t[o],s=a.length,l,c=0;c<s;++c)(l=a[c])&&(r.push(e.call(l,l.__data__,c,a)),i.push(l));return new qt(r,i)}function LC(e){return function(){return this.matches(e)}}function $C(e){return function(t){return t.matches(e)}}var FA=Array.prototype.find;function qA(e){return function(){return FA.call(this.children,e)}}function DA(){return this.firstElementChild}function BA(e){return this.select(e==null?DA:qA(typeof e=="function"?e:$C(e)))}var HA=Array.prototype.filter;function WA(){return Array.from(this.children)}function UA(e){return function(){return HA.call(this.children,e)}}function VA(e){return this.selectAll(e==null?WA:UA(typeof e=="function"?e:$C(e)))}function GA(e){typeof e!="function"&&(e=LC(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o=t[i],a=o.length,s=r[i]=[],l,c=0;c<a;++c)(l=o[c])&&e.call(l,l.__data__,c,o)&&s.push(l);return new qt(r,this._parents)}function zC(e){return new Array(e.length)}function KA(){return new qt(this._enter||this._groups.map(zC),this._parents)}function wl(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}wl.prototype={constructor:wl,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function YA(e){return function(){return e}}function XA(e,t,n,r,i,o){for(var a=0,s,l=t.length,c=o.length;a<c;++a)(s=t[a])?(s.__data__=o[a],r[a]=s):n[a]=new wl(e,o[a]);for(;a<l;++a)(s=t[a])&&(i[a]=s)}function QA(e,t,n,r,i,o,a){var s,l,c=new Map,u=t.length,f=o.length,h=new Array(u),p;for(s=0;s<u;++s)(l=t[s])&&(h[s]=p=a.call(l,l.__data__,s,t)+"",c.has(p)?i[s]=l:c.set(p,l));for(s=0;s<f;++s)p=a.call(e,o[s],s,o)+"",(l=c.get(p))?(r[s]=l,l.__data__=o[s],c.delete(p)):n[s]=new wl(e,o[s]);for(s=0;s<u;++s)(l=t[s])&&c.get(h[s])===l&&(i[s]=l)}function ZA(e){return e.__data__}function JA(e,t){if(!arguments.length)return Array.from(this,ZA);var n=t?QA:XA,r=this._parents,i=this._groups;typeof e!="function"&&(e=YA(e));for(var o=i.length,a=new Array(o),s=new Array(o),l=new Array(o),c=0;c<o;++c){var u=r[c],f=i[c],h=f.length,p=eT(e.call(u,u&&u.__data__,c,r)),v=p.length,g=s[c]=new Array(v),b=a[c]=new Array(v),m=l[c]=new Array(h);n(u,f,g,b,m,p,t);for(var y=0,x=0,S,C;y<v;++y)if(S=g[y]){for(y>=x&&(x=y+1);!(C=b[x])&&++x<v;);S._next=C||null}}return a=new qt(a,r),a._enter=s,a._exit=l,a}function eT(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function tT(){return new qt(this._exit||this._groups.map(zC),this._parents)}function nT(e,t,n){var r=this.enter(),i=this,o=this.exit();return typeof e=="function"?(r=e(r),r&&(r=r.selection())):r=r.append(e+""),t!=null&&(i=t(i),i&&(i=i.selection())),n==null?o.remove():n(o),r&&i?r.merge(i).order():i}function rT(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,o=r.length,a=Math.min(i,o),s=new Array(i),l=0;l<a;++l)for(var c=n[l],u=r[l],f=c.length,h=s[l]=new Array(f),p,v=0;v<f;++v)(p=c[v]||u[v])&&(h[v]=p);for(;l<i;++l)s[l]=n[l];return new qt(s,this._parents)}function iT(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],i=r.length-1,o=r[i],a;--i>=0;)(a=r[i])&&(o&&a.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(a,o),o=a);return this}function oT(e){e||(e=aT);function t(f,h){return f&&h?e(f.__data__,h.__data__):!f-!h}for(var n=this._groups,r=n.length,i=new Array(r),o=0;o<r;++o){for(var a=n[o],s=a.length,l=i[o]=new Array(s),c,u=0;u<s;++u)(c=a[u])&&(l[u]=c);l.sort(t)}return new qt(i,this._parents).order()}function aT(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function sT(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function lT(){return Array.from(this)}function cT(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,o=r.length;i<o;++i){var a=r[i];if(a)return a}return null}function uT(){let e=0;for(const t of this)++e;return e}function dT(){return!this.node()}function fT(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i=t[n],o=0,a=i.length,s;o<a;++o)(s=i[o])&&e.call(s,s.__data__,o,i);return this}function hT(e){return function(){this.removeAttribute(e)}}function pT(e){return function(){this.removeAttributeNS(e.space,e.local)}}function gT(e,t){return function(){this.setAttribute(e,t)}}function mT(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function vT(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function yT(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function xT(e,t){var n=ec(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?pT:hT:typeof t=="function"?n.local?yT:vT:n.local?mT:gT)(n,t))}function OC(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function wT(e){return function(){this.style.removeProperty(e)}}function bT(e,t,n){return function(){this.style.setProperty(e,t,n)}}function ST(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function _T(e,t,n){return arguments.length>1?this.each((t==null?wT:typeof t=="function"?ST:bT)(e,t,n??"")):Ki(this.node(),e)}function Ki(e,t){return e.style.getPropertyValue(t)||OC(e).getComputedStyle(e,null).getPropertyValue(t)}function ET(e){return function(){delete this[e]}}function kT(e,t){return function(){this[e]=t}}function CT(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function jT(e,t){return arguments.length>1?this.each((t==null?ET:typeof t=="function"?CT:kT)(e,t)):this.node()[e]}function FC(e){return e.trim().split(/^|\s+/)}function Fv(e){return e.classList||new qC(e)}function qC(e){this._node=e,this._names=FC(e.getAttribute("class")||"")}qC.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function DC(e,t){for(var n=Fv(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function BC(e,t){for(var n=Fv(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function RT(e){return function(){DC(this,e)}}function NT(e){return function(){BC(this,e)}}function IT(e,t){return function(){(t.apply(this,arguments)?DC:BC)(this,e)}}function AT(e,t){var n=FC(e+"");if(arguments.length<2){for(var r=Fv(this.node()),i=-1,o=n.length;++i<o;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t=="function"?IT:t?RT:NT)(n,t))}function TT(){this.textContent=""}function PT(e){return function(){this.textContent=e}}function MT(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function LT(e){return arguments.length?this.each(e==null?TT:(typeof e=="function"?MT:PT)(e)):this.node().textContent}function $T(){this.innerHTML=""}function zT(e){return function(){this.innerHTML=e}}function OT(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function FT(e){return arguments.length?this.each(e==null?$T:(typeof e=="function"?OT:zT)(e)):this.node().innerHTML}function qT(){this.nextSibling&&this.parentNode.appendChild(this)}function DT(){return this.each(qT)}function BT(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function HT(){return this.each(BT)}function WT(e){var t=typeof e=="function"?e:PC(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function UT(){return null}function VT(e,t){var n=typeof e=="function"?e:PC(e),r=t==null?UT:typeof t=="function"?t:Ov(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function GT(){var e=this.parentNode;e&&e.removeChild(this)}function KT(){return this.each(GT)}function YT(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function XT(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function QT(e){return this.select(e?XT:YT)}function ZT(e){return arguments.length?this.property("__data__",e):this.node().__data__}function JT(e){return function(t){e.call(this,t,this.__data__)}}function eP(e){return e.trim().split(/^|\s+/).map(function(t){var n="",r=t.indexOf(".");return r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function tP(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,o;n<i;++n)o=t[n],(!e.type||o.type===e.type)&&o.name===e.name?this.removeEventListener(o.type,o.listener,o.options):t[++r]=o;++r?t.length=r:delete this.__on}}}function nP(e,t,n){return function(){var r=this.__on,i,o=JT(t);if(r){for(var a=0,s=r.length;a<s;++a)if((i=r[a]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=o,i.options=n),i.value=t;return}}this.addEventListener(e.type,o,n),i={type:e.type,name:e.name,value:t,listener:o,options:n},r?r.push(i):this.__on=[i]}}function rP(e,t,n){var r=eP(e+""),i,o=r.length,a;if(arguments.length<2){var s=this.node().__on;if(s){for(var l=0,c=s.length,u;l<c;++l)for(i=0,u=s[l];i<o;++i)if((a=r[i]).type===u.type&&a.name===u.name)return u.value}return}for(s=t?nP:tP,i=0;i<o;++i)this.each(s(r[i],t,n));return this}function HC(e,t,n){var r=OC(e),i=r.CustomEvent;typeof i=="function"?i=new i(t,n):(i=r.document.createEvent("Event"),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function iP(e,t){return function(){return HC(this,e,t)}}function oP(e,t){return function(){return HC(this,e,t.apply(this,arguments))}}function aP(e,t){return this.each((typeof t=="function"?oP:iP)(e,t))}function*sP(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,o=r.length,a;i<o;++i)(a=r[i])&&(yield a)}var WC=[null];function qt(e,t){this._groups=e,this._parents=t}function Na(){return new qt([[document.documentElement]],WC)}function lP(){return this}qt.prototype=Na.prototype={constructor:qt,select:MA,selectAll:OA,selectChild:BA,selectChildren:VA,filter:GA,data:JA,enter:KA,exit:tT,join:nT,merge:rT,selection:lP,order:iT,sort:oT,call:sT,nodes:lT,node:cT,size:uT,empty:dT,each:fT,attr:xT,style:_T,property:jT,classed:AT,text:LT,html:FT,raise:DT,lower:HT,append:WT,insert:VT,remove:KT,clone:QT,datum:ZT,on:rP,dispatch:aP,[Symbol.iterator]:sP};function un(e){return typeof e=="string"?new qt([[document.querySelector(e)]],[document.documentElement]):new qt([[e]],WC)}function cP(e){let t;for(;t=e.sourceEvent;)e=t;return e}function wn(e,t){if(e=cP(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}const uP={passive:!1},ma={capture:!0,passive:!1};function pu(e){e.stopImmediatePropagation()}function $i(e){e.preventDefault(),e.stopImmediatePropagation()}function UC(e){var t=e.document.documentElement,n=un(e).on("dragstart.drag",$i,ma);"onselectstart"in t?n.on("selectstart.drag",$i,ma):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function VC(e,t){var n=e.document.documentElement,r=un(e).on("dragstart.drag",null);t&&(r.on("click.drag",$i,ma),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}const ps=e=>()=>e;function wm(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:o,x:a,y:s,dx:l,dy:c,dispatch:u}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:c,enumerable:!0,configurable:!0},_:{value:u}})}wm.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function dP(e){return!e.ctrlKey&&!e.button}function fP(){return this.parentNode}function hP(e,t){return t??{x:e.x,y:e.y}}function pP(){return navigator.maxTouchPoints||"ontouchstart"in this}function gP(){var e=dP,t=fP,n=hP,r=pP,i={},o=Jl("start","drag","end"),a=0,s,l,c,u,f=0;function h(S){S.on("mousedown.drag",p).filter(r).on("touchstart.drag",b).on("touchmove.drag",m,uP).on("touchend.drag touchcancel.drag",y).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function p(S,C){if(!(u||!e.call(this,S,C))){var R=x(this,t.call(this,S,C),S,C,"mouse");R&&(un(S.view).on("mousemove.drag",v,ma).on("mouseup.drag",g,ma),UC(S.view),pu(S),c=!1,s=S.clientX,l=S.clientY,R("start",S))}}function v(S){if($i(S),!c){var C=S.clientX-s,R=S.clientY-l;c=C*C+R*R>f}i.mouse("drag",S)}function g(S){un(S.view).on("mousemove.drag mouseup.drag",null),VC(S.view,c),$i(S),i.mouse("end",S)}function b(S,C){if(e.call(this,S,C)){var R=S.changedTouches,_=t.call(this,S,C),I=R.length,M,k;for(M=0;M<I;++M)(k=x(this,_,S,C,R[M].identifier,R[M]))&&(pu(S),k("start",S,R[M]))}}function m(S){var C=S.changedTouches,R=C.length,_,I;for(_=0;_<R;++_)(I=i[C[_].identifier])&&($i(S),I("drag",S,C[_]))}function y(S){var C=S.changedTouches,R=C.length,_,I;for(u&&clearTimeout(u),u=setTimeout(function(){u=null},500),_=0;_<R;++_)(I=i[C[_].identifier])&&(pu(S),I("end",S,C[_]))}function x(S,C,R,_,I,M){var k=o.copy(),T=wn(M||R,C),z,$,j;if((j=n.call(S,new wm("beforestart",{sourceEvent:R,target:h,identifier:I,active:a,x:T[0],y:T[1],dx:0,dy:0,dispatch:k}),_))!=null)return z=j.x-T[0]||0,$=j.y-T[1]||0,function O(E,N,A){var P=T,L;switch(E){case"start":i[I]=O,L=a++;break;case"end":delete i[I],--a;case"drag":T=wn(A||N,C),L=a;break}k.call(E,S,new wm(E,{sourceEvent:N,subject:j,target:h,identifier:I,active:L,x:T[0]+z,y:T[1]+$,dx:T[0]-P[0],dy:T[1]-P[1],dispatch:k}),_)}}return h.filter=function(S){return arguments.length?(e=typeof S=="function"?S:ps(!!S),h):e},h.container=function(S){return arguments.length?(t=typeof S=="function"?S:ps(S),h):t},h.subject=function(S){return arguments.length?(n=typeof S=="function"?S:ps(S),h):n},h.touchable=function(S){return arguments.length?(r=typeof S=="function"?S:ps(!!S),h):r},h.on=function(){var S=o.on.apply(o,arguments);return S===o?h:S},h.clickDistance=function(S){return arguments.length?(f=(S=+S)*S,h):Math.sqrt(f)},h}function qv(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function GC(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function Ia(){}var va=.7,bl=1/va,zi="\\s*([+-]?\\d+)\\s*",ya="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",kn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",mP=/^#([0-9a-f]{3,8})$/,vP=new RegExp(`^rgb\\(${zi},${zi},${zi}\\)$`),yP=new RegExp(`^rgb\\(${kn},${kn},${kn}\\)$`),xP=new RegExp(`^rgba\\(${zi},${zi},${zi},${ya}\\)$`),wP=new RegExp(`^rgba\\(${kn},${kn},${kn},${ya}\\)$`),bP=new RegExp(`^hsl\\(${ya},${kn},${kn}\\)$`),SP=new RegExp(`^hsla\\(${ya},${kn},${kn},${ya}\\)$`),G0={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};qv(Ia,xa,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:K0,formatHex:K0,formatHex8:_P,formatHsl:EP,formatRgb:Y0,toString:Y0});function K0(){return this.rgb().formatHex()}function _P(){return this.rgb().formatHex8()}function EP(){return KC(this).formatHsl()}function Y0(){return this.rgb().formatRgb()}function xa(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=mP.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?X0(t):n===3?new kt(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?gs(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?gs(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=vP.exec(e))?new kt(t[1],t[2],t[3],1):(t=yP.exec(e))?new kt(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=xP.exec(e))?gs(t[1],t[2],t[3],t[4]):(t=wP.exec(e))?gs(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=bP.exec(e))?J0(t[1],t[2]/100,t[3]/100,1):(t=SP.exec(e))?J0(t[1],t[2]/100,t[3]/100,t[4]):G0.hasOwnProperty(e)?X0(G0[e]):e==="transparent"?new kt(NaN,NaN,NaN,0):null}function X0(e){return new kt(e>>16&255,e>>8&255,e&255,1)}function gs(e,t,n,r){return r<=0&&(e=t=n=NaN),new kt(e,t,n,r)}function kP(e){return e instanceof Ia||(e=xa(e)),e?(e=e.rgb(),new kt(e.r,e.g,e.b,e.opacity)):new kt}function bm(e,t,n,r){return arguments.length===1?kP(e):new kt(e,t,n,r??1)}function kt(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}qv(kt,bm,GC(Ia,{brighter(e){return e=e==null?bl:Math.pow(bl,e),new kt(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?va:Math.pow(va,e),new kt(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new kt(Ur(this.r),Ur(this.g),Ur(this.b),Sl(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Q0,formatHex:Q0,formatHex8:CP,formatRgb:Z0,toString:Z0}));function Q0(){return`#${qr(this.r)}${qr(this.g)}${qr(this.b)}`}function CP(){return`#${qr(this.r)}${qr(this.g)}${qr(this.b)}${qr((isNaN(this.opacity)?1:this.opacity)*255)}`}function Z0(){const e=Sl(this.opacity);return`${e===1?"rgb(":"rgba("}${Ur(this.r)}, ${Ur(this.g)}, ${Ur(this.b)}${e===1?")":`, ${e})`}`}function Sl(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Ur(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function qr(e){return e=Ur(e),(e<16?"0":"")+e.toString(16)}function J0(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new dn(e,t,n,r)}function KC(e){if(e instanceof dn)return new dn(e.h,e.s,e.l,e.opacity);if(e instanceof Ia||(e=xa(e)),!e)return new dn;if(e instanceof dn)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),o=Math.max(t,n,r),a=NaN,s=o-i,l=(o+i)/2;return s?(t===o?a=(n-r)/s+(n<r)*6:n===o?a=(r-t)/s+2:a=(t-n)/s+4,s/=l<.5?o+i:2-o-i,a*=60):s=l>0&&l<1?0:a,new dn(a,s,l,e.opacity)}function jP(e,t,n,r){return arguments.length===1?KC(e):new dn(e,t,n,r??1)}function dn(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}qv(dn,jP,GC(Ia,{brighter(e){return e=e==null?bl:Math.pow(bl,e),new dn(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?va:Math.pow(va,e),new dn(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new kt(gu(e>=240?e-240:e+120,i,r),gu(e,i,r),gu(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new dn(ex(this.h),ms(this.s),ms(this.l),Sl(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Sl(this.opacity);return`${e===1?"hsl(":"hsla("}${ex(this.h)}, ${ms(this.s)*100}%, ${ms(this.l)*100}%${e===1?")":`, ${e})`}`}}));function ex(e){return e=(e||0)%360,e<0?e+360:e}function ms(e){return Math.max(0,Math.min(1,e||0))}function gu(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const YC=e=>()=>e;function RP(e,t){return function(n){return e+n*t}}function NP(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function IP(e){return(e=+e)==1?XC:function(t,n){return n-t?NP(t,n,e):YC(isNaN(t)?n:t)}}function XC(e,t){var n=t-e;return n?RP(e,n):YC(isNaN(e)?t:e)}const tx=function e(t){var n=IP(t);function r(i,o){var a=n((i=bm(i)).r,(o=bm(o)).r),s=n(i.g,o.g),l=n(i.b,o.b),c=XC(i.opacity,o.opacity);return function(u){return i.r=a(u),i.g=s(u),i.b=l(u),i.opacity=c(u),i+""}}return r.gamma=e,r}(1);function ir(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var Sm=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,mu=new RegExp(Sm.source,"g");function AP(e){return function(){return e}}function TP(e){return function(t){return e(t)+""}}function PP(e,t){var n=Sm.lastIndex=mu.lastIndex=0,r,i,o,a=-1,s=[],l=[];for(e=e+"",t=t+"";(r=Sm.exec(e))&&(i=mu.exec(t));)(o=i.index)>n&&(o=t.slice(n,o),s[a]?s[a]+=o:s[++a]=o),(r=r[0])===(i=i[0])?s[a]?s[a]+=i:s[++a]=i:(s[++a]=null,l.push({i:a,x:ir(r,i)})),n=mu.lastIndex;return n<t.length&&(o=t.slice(n),s[a]?s[a]+=o:s[++a]=o),s.length<2?l[0]?TP(l[0].x):AP(t):(t=l.length,function(c){for(var u=0,f;u<t;++u)s[(f=l[u]).i]=f.x(c);return s.join("")})}var nx=180/Math.PI,_m={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function QC(e,t,n,r,i,o){var a,s,l;return(a=Math.sqrt(e*e+t*t))&&(e/=a,t/=a),(l=e*n+t*r)&&(n-=e*l,r-=t*l),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,l/=s),e*r<t*n&&(e=-e,t=-t,l=-l,a=-a),{translateX:i,translateY:o,rotate:Math.atan2(t,e)*nx,skewX:Math.atan(l)*nx,scaleX:a,scaleY:s}}var vs;function MP(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?_m:QC(t.a,t.b,t.c,t.d,t.e,t.f)}function LP(e){return e==null||(vs||(vs=document.createElementNS("http://www.w3.org/2000/svg","g")),vs.setAttribute("transform",e),!(e=vs.transform.baseVal.consolidate()))?_m:(e=e.matrix,QC(e.a,e.b,e.c,e.d,e.e,e.f))}function ZC(e,t,n,r){function i(c){return c.length?c.pop()+" ":""}function o(c,u,f,h,p,v){if(c!==f||u!==h){var g=p.push("translate(",null,t,null,n);v.push({i:g-4,x:ir(c,f)},{i:g-2,x:ir(u,h)})}else(f||h)&&p.push("translate("+f+t+h+n)}function a(c,u,f,h){c!==u?(c-u>180?u+=360:u-c>180&&(c+=360),h.push({i:f.push(i(f)+"rotate(",null,r)-2,x:ir(c,u)})):u&&f.push(i(f)+"rotate("+u+r)}function s(c,u,f,h){c!==u?h.push({i:f.push(i(f)+"skewX(",null,r)-2,x:ir(c,u)}):u&&f.push(i(f)+"skewX("+u+r)}function l(c,u,f,h,p,v){if(c!==f||u!==h){var g=p.push(i(p)+"scale(",null,",",null,")");v.push({i:g-4,x:ir(c,f)},{i:g-2,x:ir(u,h)})}else(f!==1||h!==1)&&p.push(i(p)+"scale("+f+","+h+")")}return function(c,u){var f=[],h=[];return c=e(c),u=e(u),o(c.translateX,c.translateY,u.translateX,u.translateY,f,h),a(c.rotate,u.rotate,f,h),s(c.skewX,u.skewX,f,h),l(c.scaleX,c.scaleY,u.scaleX,u.scaleY,f,h),c=u=null,function(p){for(var v=-1,g=h.length,b;++v<g;)f[(b=h[v]).i]=b.x(p);return f.join("")}}}var $P=ZC(MP,"px, ","px)","deg)"),zP=ZC(LP,", ",")",")"),OP=1e-12;function rx(e){return((e=Math.exp(e))+1/e)/2}function FP(e){return((e=Math.exp(e))-1/e)/2}function qP(e){return((e=Math.exp(2*e))-1)/(e+1)}const DP=function e(t,n,r){function i(o,a){var s=o[0],l=o[1],c=o[2],u=a[0],f=a[1],h=a[2],p=u-s,v=f-l,g=p*p+v*v,b,m;if(g<OP)m=Math.log(h/c)/t,b=function(_){return[s+_*p,l+_*v,c*Math.exp(t*_*m)]};else{var y=Math.sqrt(g),x=(h*h-c*c+r*g)/(2*c*n*y),S=(h*h-c*c-r*g)/(2*h*n*y),C=Math.log(Math.sqrt(x*x+1)-x),R=Math.log(Math.sqrt(S*S+1)-S);m=(R-C)/t,b=function(_){var I=_*m,M=rx(C),k=c/(n*y)*(M*qP(t*I+C)-FP(C));return[s+k*p,l+k*v,c*M/rx(t*I+C)]}}return b.duration=m*1e3*t/Math.SQRT2,b}return i.rho=function(o){var a=Math.max(.001,+o),s=a*a,l=s*s;return e(a,s,l)},i}(Math.SQRT2,2,4);var Yi=0,Lo=0,yo=0,JC=1e3,_l,$o,El=0,Qr=0,tc=0,wa=typeof performance=="object"&&performance.now?performance:Date,e2=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function Dv(){return Qr||(e2(BP),Qr=wa.now()+tc)}function BP(){Qr=0}function kl(){this._call=this._time=this._next=null}kl.prototype=t2.prototype={constructor:kl,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?Dv():+n)+(t==null?0:+t),!this._next&&$o!==this&&($o?$o._next=this:_l=this,$o=this),this._call=e,this._time=n,Em()},stop:function(){this._call&&(this._call=null,this._time=1/0,Em())}};function t2(e,t,n){var r=new kl;return r.restart(e,t,n),r}function HP(){Dv(),++Yi;for(var e=_l,t;e;)(t=Qr-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Yi}function ix(){Qr=(El=wa.now())+tc,Yi=Lo=0;try{HP()}finally{Yi=0,UP(),Qr=0}}function WP(){var e=wa.now(),t=e-El;t>JC&&(tc-=t,El=e)}function UP(){for(var e,t=_l,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:_l=n);$o=e,Em(r)}function Em(e){if(!Yi){Lo&&(Lo=clearTimeout(Lo));var t=e-Qr;t>24?(e<1/0&&(Lo=setTimeout(ix,e-wa.now()-tc)),yo&&(yo=clearInterval(yo))):(yo||(El=wa.now(),yo=setInterval(WP,JC)),Yi=1,e2(ix))}}function ox(e,t,n){var r=new kl;return t=t==null?0:+t,r.restart(i=>{r.stop(),e(i+t)},t,n),r}var VP=Jl("start","end","cancel","interrupt"),GP=[],n2=0,ax=1,km=2,Vs=3,sx=4,Cm=5,Gs=6;function nc(e,t,n,r,i,o){var a=e.__transition;if(!a)e.__transition={};else if(n in a)return;KP(e,n,{name:t,index:r,group:i,on:VP,tween:GP,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:n2})}function Bv(e,t){var n=gn(e,t);if(n.state>n2)throw new Error("too late; already scheduled");return n}function Cn(e,t){var n=gn(e,t);if(n.state>Vs)throw new Error("too late; already running");return n}function gn(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function KP(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=t2(o,0,n.time);function o(c){n.state=ax,n.timer.restart(a,n.delay,n.time),n.delay<=c&&a(c-n.delay)}function a(c){var u,f,h,p;if(n.state!==ax)return l();for(u in r)if(p=r[u],p.name===n.name){if(p.state===Vs)return ox(a);p.state===sx?(p.state=Gs,p.timer.stop(),p.on.call("interrupt",e,e.__data__,p.index,p.group),delete r[u]):+u<t&&(p.state=Gs,p.timer.stop(),p.on.call("cancel",e,e.__data__,p.index,p.group),delete r[u])}if(ox(function(){n.state===Vs&&(n.state=sx,n.timer.restart(s,n.delay,n.time),s(c))}),n.state=km,n.on.call("start",e,e.__data__,n.index,n.group),n.state===km){for(n.state=Vs,i=new Array(h=n.tween.length),u=0,f=-1;u<h;++u)(p=n.tween[u].value.call(e,e.__data__,n.index,n.group))&&(i[++f]=p);i.length=f+1}}function s(c){for(var u=c<n.duration?n.ease.call(null,c/n.duration):(n.timer.restart(l),n.state=Cm,1),f=-1,h=i.length;++f<h;)i[f].call(e,u);n.state===Cm&&(n.on.call("end",e,e.__data__,n.index,n.group),l())}function l(){n.state=Gs,n.timer.stop(),delete r[t];for(var c in r)return;delete e.__transition}}function Ks(e,t){var n=e.__transition,r,i,o=!0,a;if(n){t=t==null?null:t+"";for(a in n){if((r=n[a]).name!==t){o=!1;continue}i=r.state>km&&r.state<Cm,r.state=Gs,r.timer.stop(),r.on.call(i?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete n[a]}o&&delete e.__transition}}function YP(e){return this.each(function(){Ks(this,e)})}function XP(e,t){var n,r;return function(){var i=Cn(this,e),o=i.tween;if(o!==n){r=n=o;for(var a=0,s=r.length;a<s;++a)if(r[a].name===t){r=r.slice(),r.splice(a,1);break}}i.tween=r}}function QP(e,t,n){var r,i;if(typeof n!="function")throw new Error;return function(){var o=Cn(this,e),a=o.tween;if(a!==r){i=(r=a).slice();for(var s={name:t,value:n},l=0,c=i.length;l<c;++l)if(i[l].name===t){i[l]=s;break}l===c&&i.push(s)}o.tween=i}}function ZP(e,t){var n=this._id;if(e+="",arguments.length<2){for(var r=gn(this.node(),n).tween,i=0,o=r.length,a;i<o;++i)if((a=r[i]).name===e)return a.value;return null}return this.each((t==null?XP:QP)(n,e,t))}function Hv(e,t,n){var r=e._id;return e.each(function(){var i=Cn(this,r);(i.value||(i.value={}))[t]=n.apply(this,arguments)}),function(i){return gn(i,r).value[t]}}function r2(e,t){var n;return(typeof t=="number"?ir:t instanceof xa?tx:(n=xa(t))?(t=n,tx):PP)(e,t)}function JP(e){return function(){this.removeAttribute(e)}}function eM(e){return function(){this.removeAttributeNS(e.space,e.local)}}function tM(e,t,n){var r,i=n+"",o;return function(){var a=this.getAttribute(e);return a===i?null:a===r?o:o=t(r=a,n)}}function nM(e,t,n){var r,i=n+"",o;return function(){var a=this.getAttributeNS(e.space,e.local);return a===i?null:a===r?o:o=t(r=a,n)}}function rM(e,t,n){var r,i,o;return function(){var a,s=n(this),l;return s==null?void this.removeAttribute(e):(a=this.getAttribute(e),l=s+"",a===l?null:a===r&&l===i?o:(i=l,o=t(r=a,s)))}}function iM(e,t,n){var r,i,o;return function(){var a,s=n(this),l;return s==null?void this.removeAttributeNS(e.space,e.local):(a=this.getAttributeNS(e.space,e.local),l=s+"",a===l?null:a===r&&l===i?o:(i=l,o=t(r=a,s)))}}function oM(e,t){var n=ec(e),r=n==="transform"?zP:r2;return this.attrTween(e,typeof t=="function"?(n.local?iM:rM)(n,r,Hv(this,"attr."+e,t)):t==null?(n.local?eM:JP)(n):(n.local?nM:tM)(n,r,t))}function aM(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function sM(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function lM(e,t){var n,r;function i(){var o=t.apply(this,arguments);return o!==r&&(n=(r=o)&&sM(e,o)),n}return i._value=t,i}function cM(e,t){var n,r;function i(){var o=t.apply(this,arguments);return o!==r&&(n=(r=o)&&aM(e,o)),n}return i._value=t,i}function uM(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!="function")throw new Error;var r=ec(e);return this.tween(n,(r.local?lM:cM)(r,t))}function dM(e,t){return function(){Bv(this,e).delay=+t.apply(this,arguments)}}function fM(e,t){return t=+t,function(){Bv(this,e).delay=t}}function hM(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?dM:fM)(t,e)):gn(this.node(),t).delay}function pM(e,t){return function(){Cn(this,e).duration=+t.apply(this,arguments)}}function gM(e,t){return t=+t,function(){Cn(this,e).duration=t}}function mM(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?pM:gM)(t,e)):gn(this.node(),t).duration}function vM(e,t){if(typeof t!="function")throw new Error;return function(){Cn(this,e).ease=t}}function yM(e){var t=this._id;return arguments.length?this.each(vM(t,e)):gn(this.node(),t).ease}function xM(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;Cn(this,e).ease=n}}function wM(e){if(typeof e!="function")throw new Error;return this.each(xM(this._id,e))}function bM(e){typeof e!="function"&&(e=LC(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o=t[i],a=o.length,s=r[i]=[],l,c=0;c<a;++c)(l=o[c])&&e.call(l,l.__data__,c,o)&&s.push(l);return new Bn(r,this._parents,this._name,this._id)}function SM(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,r=t.length,i=n.length,o=Math.min(r,i),a=new Array(r),s=0;s<o;++s)for(var l=t[s],c=n[s],u=l.length,f=a[s]=new Array(u),h,p=0;p<u;++p)(h=l[p]||c[p])&&(f[p]=h);for(;s<r;++s)a[s]=t[s];return new Bn(a,this._parents,this._name,this._id)}function _M(e){return(e+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||t==="start"})}function EM(e,t,n){var r,i,o=_M(t)?Bv:Cn;return function(){var a=o(this,e),s=a.on;s!==r&&(i=(r=s).copy()).on(t,n),a.on=i}}function kM(e,t){var n=this._id;return arguments.length<2?gn(this.node(),n).on.on(e):this.each(EM(n,e,t))}function CM(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function jM(){return this.on("end.remove",CM(this._id))}function RM(e){var t=this._name,n=this._id;typeof e!="function"&&(e=Ov(e));for(var r=this._groups,i=r.length,o=new Array(i),a=0;a<i;++a)for(var s=r[a],l=s.length,c=o[a]=new Array(l),u,f,h=0;h<l;++h)(u=s[h])&&(f=e.call(u,u.__data__,h,s))&&("__data__"in u&&(f.__data__=u.__data__),c[h]=f,nc(c[h],t,n,h,c,gn(u,n)));return new Bn(o,this._parents,t,n)}function NM(e){var t=this._name,n=this._id;typeof e!="function"&&(e=MC(e));for(var r=this._groups,i=r.length,o=[],a=[],s=0;s<i;++s)for(var l=r[s],c=l.length,u,f=0;f<c;++f)if(u=l[f]){for(var h=e.call(u,u.__data__,f,l),p,v=gn(u,n),g=0,b=h.length;g<b;++g)(p=h[g])&&nc(p,t,n,g,h,v);o.push(h),a.push(u)}return new Bn(o,a,t,n)}var IM=Na.prototype.constructor;function AM(){return new IM(this._groups,this._parents)}function TM(e,t){var n,r,i;return function(){var o=Ki(this,e),a=(this.style.removeProperty(e),Ki(this,e));return o===a?null:o===n&&a===r?i:i=t(n=o,r=a)}}function i2(e){return function(){this.style.removeProperty(e)}}function PM(e,t,n){var r,i=n+"",o;return function(){var a=Ki(this,e);return a===i?null:a===r?o:o=t(r=a,n)}}function MM(e,t,n){var r,i,o;return function(){var a=Ki(this,e),s=n(this),l=s+"";return s==null&&(l=s=(this.style.removeProperty(e),Ki(this,e))),a===l?null:a===r&&l===i?o:(i=l,o=t(r=a,s))}}function LM(e,t){var n,r,i,o="style."+t,a="end."+o,s;return function(){var l=Cn(this,e),c=l.on,u=l.value[o]==null?s||(s=i2(t)):void 0;(c!==n||i!==u)&&(r=(n=c).copy()).on(a,i=u),l.on=r}}function $M(e,t,n){var r=(e+="")=="transform"?$P:r2;return t==null?this.styleTween(e,TM(e,r)).on("end.style."+e,i2(e)):typeof t=="function"?this.styleTween(e,MM(e,r,Hv(this,"style."+e,t))).each(LM(this._id,e)):this.styleTween(e,PM(e,r,t),n).on("end.style."+e,null)}function zM(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function OM(e,t,n){var r,i;function o(){var a=t.apply(this,arguments);return a!==i&&(r=(i=a)&&zM(e,a,n)),r}return o._value=t,o}function FM(e,t,n){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!="function")throw new Error;return this.tween(r,OM(e,t,n??""))}function qM(e){return function(){this.textContent=e}}function DM(e){return function(){var t=e(this);this.textContent=t??""}}function BM(e){return this.tween("text",typeof e=="function"?DM(Hv(this,"text",e)):qM(e==null?"":e+""))}function HM(e){return function(t){this.textContent=e.call(this,t)}}function WM(e){var t,n;function r(){var i=e.apply(this,arguments);return i!==n&&(t=(n=i)&&HM(i)),t}return r._value=e,r}function UM(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!="function")throw new Error;return this.tween(t,WM(e))}function VM(){for(var e=this._name,t=this._id,n=o2(),r=this._groups,i=r.length,o=0;o<i;++o)for(var a=r[o],s=a.length,l,c=0;c<s;++c)if(l=a[c]){var u=gn(l,t);nc(l,e,n,c,a,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new Bn(r,this._parents,e,n)}function GM(){var e,t,n=this,r=n._id,i=n.size();return new Promise(function(o,a){var s={value:a},l={value:function(){--i===0&&o()}};n.each(function(){var c=Cn(this,r),u=c.on;u!==e&&(t=(e=u).copy(),t._.cancel.push(s),t._.interrupt.push(s),t._.end.push(l)),c.on=t}),i===0&&o()})}var KM=0;function Bn(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function o2(){return++KM}var Rn=Na.prototype;Bn.prototype={constructor:Bn,select:RM,selectAll:NM,selectChild:Rn.selectChild,selectChildren:Rn.selectChildren,filter:bM,merge:SM,selection:AM,transition:VM,call:Rn.call,nodes:Rn.nodes,node:Rn.node,size:Rn.size,empty:Rn.empty,each:Rn.each,on:kM,attr:oM,attrTween:uM,style:$M,styleTween:FM,text:BM,textTween:UM,remove:jM,tween:ZP,delay:hM,duration:mM,ease:yM,easeVarying:wM,end:GM,[Symbol.iterator]:Rn[Symbol.iterator]};function YM(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var XM={time:null,delay:0,duration:250,ease:YM};function QM(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}function ZM(e){var t,n;e instanceof Bn?(t=e._id,e=e._name):(t=o2(),(n=XM).time=Dv(),e=e==null?null:e+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var a=r[o],s=a.length,l,c=0;c<s;++c)(l=a[c])&&nc(l,e,t,c,a,n||QM(l,t));return new Bn(r,this._parents,e,t)}Na.prototype.interrupt=YP;Na.prototype.transition=ZM;const ys=e=>()=>e;function JM(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function Mn(e,t,n){this.k=e,this.x=t,this.y=n}Mn.prototype={constructor:Mn,scale:function(e){return e===1?this:new Mn(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Mn(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var wr=new Mn(1,0,0);Mn.prototype;function vu(e){e.stopImmediatePropagation()}function xo(e){e.preventDefault(),e.stopImmediatePropagation()}function eL(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function tL(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function lx(){return this.__zoom||wr}function nL(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function rL(){return navigator.maxTouchPoints||"ontouchstart"in this}function iL(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],o=e.invertY(t[0][1])-n[0][1],a=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),a>o?(o+a)/2:Math.min(0,o)||Math.max(0,a))}function oL(){var e=eL,t=tL,n=iL,r=nL,i=rL,o=[0,1/0],a=[[-1/0,-1/0],[1/0,1/0]],s=250,l=DP,c=Jl("start","zoom","end"),u,f,h,p=500,v=150,g=0,b=10;function m(j){j.property("__zoom",lx).on("wheel.zoom",I,{passive:!1}).on("mousedown.zoom",M).on("dblclick.zoom",k).filter(i).on("touchstart.zoom",T).on("touchmove.zoom",z).on("touchend.zoom touchcancel.zoom",$).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}m.transform=function(j,O,E,N){var A=j.selection?j.selection():j;A.property("__zoom",lx),j!==A?C(j,O,E,N):A.interrupt().each(function(){R(this,arguments).event(N).start().zoom(null,typeof O=="function"?O.apply(this,arguments):O).end()})},m.scaleBy=function(j,O,E,N){m.scaleTo(j,function(){var A=this.__zoom.k,P=typeof O=="function"?O.apply(this,arguments):O;return A*P},E,N)},m.scaleTo=function(j,O,E,N){m.transform(j,function(){var A=t.apply(this,arguments),P=this.__zoom,L=E==null?S(A):typeof E=="function"?E.apply(this,arguments):E,q=P.invert(L),B=typeof O=="function"?O.apply(this,arguments):O;return n(x(y(P,B),L,q),A,a)},E,N)},m.translateBy=function(j,O,E,N){m.transform(j,function(){return n(this.__zoom.translate(typeof O=="function"?O.apply(this,arguments):O,typeof E=="function"?E.apply(this,arguments):E),t.apply(this,arguments),a)},null,N)},m.translateTo=function(j,O,E,N,A){m.transform(j,function(){var P=t.apply(this,arguments),L=this.__zoom,q=N==null?S(P):typeof N=="function"?N.apply(this,arguments):N;return n(wr.translate(q[0],q[1]).scale(L.k).translate(typeof O=="function"?-O.apply(this,arguments):-O,typeof E=="function"?-E.apply(this,arguments):-E),P,a)},N,A)};function y(j,O){return O=Math.max(o[0],Math.min(o[1],O)),O===j.k?j:new Mn(O,j.x,j.y)}function x(j,O,E){var N=O[0]-E[0]*j.k,A=O[1]-E[1]*j.k;return N===j.x&&A===j.y?j:new Mn(j.k,N,A)}function S(j){return[(+j[0][0]+ +j[1][0])/2,(+j[0][1]+ +j[1][1])/2]}function C(j,O,E,N){j.on("start.zoom",function(){R(this,arguments).event(N).start()}).on("interrupt.zoom end.zoom",function(){R(this,arguments).event(N).end()}).tween("zoom",function(){var A=this,P=arguments,L=R(A,P).event(N),q=t.apply(A,P),B=E==null?S(q):typeof E=="function"?E.apply(A,P):E,Y=Math.max(q[1][0]-q[0][0],q[1][1]-q[0][1]),K=A.__zoom,J=typeof O=="function"?O.apply(A,P):O,ie=l(K.invert(B).concat(Y/K.k),J.invert(B).concat(Y/J.k));return function(ae){if(ae===1)ae=J;else{var ue=ie(ae),fe=Y/ue[2];ae=new Mn(fe,B[0]-ue[0]*fe,B[1]-ue[1]*fe)}L.zoom(null,ae)}})}function R(j,O,E){return!E&&j.__zooming||new _(j,O)}function _(j,O){this.that=j,this.args=O,this.active=0,this.sourceEvent=null,this.extent=t.apply(j,O),this.taps=0}_.prototype={event:function(j){return j&&(this.sourceEvent=j),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(j,O){return this.mouse&&j!=="mouse"&&(this.mouse[1]=O.invert(this.mouse[0])),this.touch0&&j!=="touch"&&(this.touch0[1]=O.invert(this.touch0[0])),this.touch1&&j!=="touch"&&(this.touch1[1]=O.invert(this.touch1[0])),this.that.__zoom=O,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(j){var O=un(this.that).datum();c.call(j,this.that,new JM(j,{sourceEvent:this.sourceEvent,target:m,transform:this.that.__zoom,dispatch:c}),O)}};function I(j,...O){if(!e.apply(this,arguments))return;var E=R(this,O).event(j),N=this.__zoom,A=Math.max(o[0],Math.min(o[1],N.k*Math.pow(2,r.apply(this,arguments)))),P=wn(j);if(E.wheel)(E.mouse[0][0]!==P[0]||E.mouse[0][1]!==P[1])&&(E.mouse[1]=N.invert(E.mouse[0]=P)),clearTimeout(E.wheel);else{if(N.k===A)return;E.mouse=[P,N.invert(P)],Ks(this),E.start()}xo(j),E.wheel=setTimeout(L,v),E.zoom("mouse",n(x(y(N,A),E.mouse[0],E.mouse[1]),E.extent,a));function L(){E.wheel=null,E.end()}}function M(j,...O){if(h||!e.apply(this,arguments))return;var E=j.currentTarget,N=R(this,O,!0).event(j),A=un(j.view).on("mousemove.zoom",B,!0).on("mouseup.zoom",Y,!0),P=wn(j,E),L=j.clientX,q=j.clientY;UC(j.view),vu(j),N.mouse=[P,this.__zoom.invert(P)],Ks(this),N.start();function B(K){if(xo(K),!N.moved){var J=K.clientX-L,ie=K.clientY-q;N.moved=J*J+ie*ie>g}N.event(K).zoom("mouse",n(x(N.that.__zoom,N.mouse[0]=wn(K,E),N.mouse[1]),N.extent,a))}function Y(K){A.on("mousemove.zoom mouseup.zoom",null),VC(K.view,N.moved),xo(K),N.event(K).end()}}function k(j,...O){if(e.apply(this,arguments)){var E=this.__zoom,N=wn(j.changedTouches?j.changedTouches[0]:j,this),A=E.invert(N),P=E.k*(j.shiftKey?.5:2),L=n(x(y(E,P),N,A),t.apply(this,O),a);xo(j),s>0?un(this).transition().duration(s).call(C,L,N,j):un(this).call(m.transform,L,N,j)}}function T(j,...O){if(e.apply(this,arguments)){var E=j.touches,N=E.length,A=R(this,O,j.changedTouches.length===N).event(j),P,L,q,B;for(vu(j),L=0;L<N;++L)q=E[L],B=wn(q,this),B=[B,this.__zoom.invert(B),q.identifier],A.touch0?!A.touch1&&A.touch0[2]!==B[2]&&(A.touch1=B,A.taps=0):(A.touch0=B,P=!0,A.taps=1+!!u);u&&(u=clearTimeout(u)),P&&(A.taps<2&&(f=B[0],u=setTimeout(function(){u=null},p)),Ks(this),A.start())}}function z(j,...O){if(this.__zooming){var E=R(this,O).event(j),N=j.changedTouches,A=N.length,P,L,q,B;for(xo(j),P=0;P<A;++P)L=N[P],q=wn(L,this),E.touch0&&E.touch0[2]===L.identifier?E.touch0[0]=q:E.touch1&&E.touch1[2]===L.identifier&&(E.touch1[0]=q);if(L=E.that.__zoom,E.touch1){var Y=E.touch0[0],K=E.touch0[1],J=E.touch1[0],ie=E.touch1[1],ae=(ae=J[0]-Y[0])*ae+(ae=J[1]-Y[1])*ae,ue=(ue=ie[0]-K[0])*ue+(ue=ie[1]-K[1])*ue;L=y(L,Math.sqrt(ae/ue)),q=[(Y[0]+J[0])/2,(Y[1]+J[1])/2],B=[(K[0]+ie[0])/2,(K[1]+ie[1])/2]}else if(E.touch0)q=E.touch0[0],B=E.touch0[1];else return;E.zoom("touch",n(x(L,q,B),E.extent,a))}}function $(j,...O){if(this.__zooming){var E=R(this,O).event(j),N=j.changedTouches,A=N.length,P,L;for(vu(j),h&&clearTimeout(h),h=setTimeout(function(){h=null},p),P=0;P<A;++P)L=N[P],E.touch0&&E.touch0[2]===L.identifier?delete E.touch0:E.touch1&&E.touch1[2]===L.identifier&&delete E.touch1;if(E.touch1&&!E.touch0&&(E.touch0=E.touch1,delete E.touch1),E.touch0)E.touch0[1]=this.__zoom.invert(E.touch0[0]);else if(E.end(),E.taps===2&&(L=wn(L,this),Math.hypot(f[0]-L[0],f[1]-L[1])<b)){var q=un(this).on("dblclick.zoom");q&&q.apply(this,arguments)}}}return m.wheelDelta=function(j){return arguments.length?(r=typeof j=="function"?j:ys(+j),m):r},m.filter=function(j){return arguments.length?(e=typeof j=="function"?j:ys(!!j),m):e},m.touchable=function(j){return arguments.length?(i=typeof j=="function"?j:ys(!!j),m):i},m.extent=function(j){return arguments.length?(t=typeof j=="function"?j:ys([[+j[0][0],+j[0][1]],[+j[1][0],+j[1][1]]]),m):t},m.scaleExtent=function(j){return arguments.length?(o[0]=+j[0],o[1]=+j[1],m):[o[0],o[1]]},m.translateExtent=function(j){return arguments.length?(a[0][0]=+j[0][0],a[1][0]=+j[1][0],a[0][1]=+j[0][1],a[1][1]=+j[1][1],m):[[a[0][0],a[0][1]],[a[1][0],a[1][1]]]},m.constrain=function(j){return arguments.length?(n=j,m):n},m.duration=function(j){return arguments.length?(s=+j,m):s},m.interpolate=function(j){return arguments.length?(l=j,m):l},m.on=function(){var j=c.on.apply(c,arguments);return j===c?m:j},m.clickDistance=function(j){return arguments.length?(g=(j=+j)*j,m):Math.sqrt(g)},m.tapDistance=function(j){return arguments.length?(b=+j,m):b},m}const rc=w.createContext(null),aL=rc.Provider,Hn={error001:()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,t)=>`Couldn't create edge for ${e?"target":"source"} handle id: "${e?t.targetHandle:t.sourceHandle}", edge id: ${t.id}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`},a2=Hn.error001();function $e(e,t){const n=w.useContext(rc);if(n===null)throw new Error(a2);return TC(n,e,t)}const Xe=()=>{const e=w.useContext(rc);if(e===null)throw new Error(a2);return w.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy}),[e])},sL=e=>e.userSelectionActive?"none":"all";function s2({position:e,children:t,className:n,style:r,...i}){const o=$e(sL),a=`${e}`.split("-");return H.createElement("div",{className:xt(["react-flow__panel",n,...a]),style:{...r,pointerEvents:o},...i},t)}function lL({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:H.createElement(s2,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://reactflow.dev/pro"},H.createElement("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution"},"React Flow"))}const cL=({x:e,y:t,label:n,labelStyle:r={},labelShowBg:i=!0,labelBgStyle:o={},labelBgPadding:a=[2,4],labelBgBorderRadius:s=2,children:l,className:c,...u})=>{const f=w.useRef(null),[h,p]=w.useState({x:0,y:0,width:0,height:0}),v=xt(["react-flow__edge-textwrapper",c]);return w.useEffect(()=>{if(f.current){const g=f.current.getBBox();p({x:g.x,y:g.y,width:g.width,height:g.height})}},[n]),typeof n>"u"||!n?null:H.createElement("g",{transform:`translate(${e-h.width/2} ${t-h.height/2})`,className:v,visibility:h.width?"visible":"hidden",...u},i&&H.createElement("rect",{width:h.width+2*a[0],x:-a[0],y:-a[1],height:h.height+2*a[1],className:"react-flow__edge-textbg",style:o,rx:s,ry:s}),H.createElement("text",{className:"react-flow__edge-text",y:h.height/2,dy:"0.3em",ref:f,style:r},n),l)};var uL=w.memo(cL);const Wv=e=>({width:e.offsetWidth,height:e.offsetHeight}),Xi=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),Uv=(e={x:0,y:0},t)=>({x:Xi(e.x,t[0][0],t[1][0]),y:Xi(e.y,t[0][1],t[1][1])}),cx=(e,t,n)=>e<t?Xi(Math.abs(e-t),1,50)/50:e>n?-Xi(Math.abs(e-n),1,50)/50:0,l2=(e,t)=>{const n=cx(e.x,35,t.width-35)*20,r=cx(e.y,35,t.height-35)*20;return[n,r]},c2=e=>{var t;return((t=e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},dL=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),Vv=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),fL=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),ux=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),jm=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*r)},hL=e=>Xt(e.width)&&Xt(e.height)&&Xt(e.x)&&Xt(e.y),Xt=e=>!isNaN(e)&&isFinite(e),Fe=Symbol.for("internals"),u2=["Enter"," ","Escape"],pL=(e,t)=>{},gL=e=>"nativeEvent"in e;function Rm(e){var i,o;const t=gL(e)?e.nativeEvent:e,n=((o=(i=t.composedPath)==null?void 0:i.call(t))==null?void 0:o[0])||e.target;return["INPUT","SELECT","TEXTAREA"].includes(n==null?void 0:n.nodeName)||(n==null?void 0:n.hasAttribute("contenteditable"))||!!(n!=null&&n.closest(".nokey"))}const d2=e=>"clientX"in e,br=(e,t)=>{var o,a;const n=d2(e),r=n?e.clientX:(o=e.touches)==null?void 0:o[0].clientX,i=n?e.clientY:(a=e.touches)==null?void 0:a[0].clientY;return{x:r-((t==null?void 0:t.left)??0),y:i-((t==null?void 0:t.top)??0)}},Cl=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0},Aa=({id:e,path:t,labelX:n,labelY:r,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:s,labelBgPadding:l,labelBgBorderRadius:c,style:u,markerEnd:f,markerStart:h,interactionWidth:p=20})=>H.createElement(H.Fragment,null,H.createElement("path",{id:e,style:u,d:t,fill:"none",className:"react-flow__edge-path",markerEnd:f,markerStart:h}),p&&H.createElement("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:p,className:"react-flow__edge-interaction"}),i&&Xt(n)&&Xt(r)?H.createElement(uL,{x:n,y:r,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:s,labelBgPadding:l,labelBgBorderRadius:c}):null);Aa.displayName="BaseEdge";function wo(e,t,n){return n===void 0?n:r=>{const i=t().edges.find(o=>o.id===e);i&&n(r,{...i})}}function f2({sourceX:e,sourceY:t,targetX:n,targetY:r}){const i=Math.abs(n-e)/2,o=n<e?n+i:n-i,a=Math.abs(r-t)/2,s=r<t?r+a:r-a;return[o,s,i,a]}function h2({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:i,sourceControlY:o,targetControlX:a,targetControlY:s}){const l=e*.125+i*.375+a*.375+n*.125,c=t*.125+o*.375+s*.375+r*.125,u=Math.abs(l-e),f=Math.abs(c-t);return[l,c,u,f]}var Zr;(function(e){e.Strict="strict",e.Loose="loose"})(Zr||(Zr={}));var Dr;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Dr||(Dr={}));var ba;(function(e){e.Partial="partial",e.Full="full"})(ba||(ba={}));var lr;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(lr||(lr={}));var Wn;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Wn||(Wn={}));var G;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(G||(G={}));function dx({pos:e,x1:t,y1:n,x2:r,y2:i}){return e===G.Left||e===G.Right?[.5*(t+r),n]:[t,.5*(n+i)]}function p2({sourceX:e,sourceY:t,sourcePosition:n=G.Bottom,targetX:r,targetY:i,targetPosition:o=G.Top}){const[a,s]=dx({pos:n,x1:e,y1:t,x2:r,y2:i}),[l,c]=dx({pos:o,x1:r,y1:i,x2:e,y2:t}),[u,f,h,p]=h2({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:a,sourceControlY:s,targetControlX:l,targetControlY:c});return[`M${e},${t} C${a},${s} ${l},${c} ${r},${i}`,u,f,h,p]}const Gv=w.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i=G.Bottom,targetPosition:o=G.Top,label:a,labelStyle:s,labelShowBg:l,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:f,style:h,markerEnd:p,markerStart:v,interactionWidth:g})=>{const[b,m,y]=p2({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o});return H.createElement(Aa,{path:b,labelX:m,labelY:y,label:a,labelStyle:s,labelShowBg:l,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:f,style:h,markerEnd:p,markerStart:v,interactionWidth:g})});Gv.displayName="SimpleBezierEdge";const fx={[G.Left]:{x:-1,y:0},[G.Right]:{x:1,y:0},[G.Top]:{x:0,y:-1},[G.Bottom]:{x:0,y:1}},mL=({source:e,sourcePosition:t=G.Bottom,target:n})=>t===G.Left||t===G.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1},hx=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function vL({source:e,sourcePosition:t=G.Bottom,target:n,targetPosition:r=G.Top,center:i,offset:o}){const a=fx[t],s=fx[r],l={x:e.x+a.x*o,y:e.y+a.y*o},c={x:n.x+s.x*o,y:n.y+s.y*o},u=mL({source:l,sourcePosition:t,target:c}),f=u.x!==0?"x":"y",h=u[f];let p=[],v,g;const b={x:0,y:0},m={x:0,y:0},[y,x,S,C]=f2({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(a[f]*s[f]===-1){v=i.x??y,g=i.y??x;const _=[{x:v,y:l.y},{x:v,y:c.y}],I=[{x:l.x,y:g},{x:c.x,y:g}];a[f]===h?p=f==="x"?_:I:p=f==="x"?I:_}else{const _=[{x:l.x,y:c.y}],I=[{x:c.x,y:l.y}];if(f==="x"?p=a.x===h?I:_:p=a.y===h?_:I,t===r){const $=Math.abs(e[f]-n[f]);if($<=o){const j=Math.min(o-1,o-$);a[f]===h?b[f]=(l[f]>e[f]?-1:1)*j:m[f]=(c[f]>n[f]?-1:1)*j}}if(t!==r){const $=f==="x"?"y":"x",j=a[f]===s[$],O=l[$]>c[$],E=l[$]<c[$];(a[f]===1&&(!j&&O||j&&E)||a[f]!==1&&(!j&&E||j&&O))&&(p=f==="x"?_:I)}const M={x:l.x+b.x,y:l.y+b.y},k={x:c.x+m.x,y:c.y+m.y},T=Math.max(Math.abs(M.x-p[0].x),Math.abs(k.x-p[0].x)),z=Math.max(Math.abs(M.y-p[0].y),Math.abs(k.y-p[0].y));T>=z?(v=(M.x+k.x)/2,g=p[0].y):(v=p[0].x,g=(M.y+k.y)/2)}return[[e,{x:l.x+b.x,y:l.y+b.y},...p,{x:c.x+m.x,y:c.y+m.y},n],v,g,S,C]}function yL(e,t,n,r){const i=Math.min(hx(e,t)/2,hx(t,n)/2,r),{x:o,y:a}=t;if(e.x===o&&o===n.x||e.y===a&&a===n.y)return`L${o} ${a}`;if(e.y===a){const c=e.x<n.x?-1:1,u=e.y<n.y?1:-1;return`L ${o+i*c},${a}Q ${o},${a} ${o},${a+i*u}`}const s=e.x<n.x?1:-1,l=e.y<n.y?-1:1;return`L ${o},${a+i*l}Q ${o},${a} ${o+i*s},${a}`}function Nm({sourceX:e,sourceY:t,sourcePosition:n=G.Bottom,targetX:r,targetY:i,targetPosition:o=G.Top,borderRadius:a=5,centerX:s,centerY:l,offset:c=20}){const[u,f,h,p,v]=vL({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:i},targetPosition:o,center:{x:s,y:l},offset:c});return[u.reduce((b,m,y)=>{let x="";return y>0&&y<u.length-1?x=yL(u[y-1],m,u[y+1],a):x=`${y===0?"M":"L"}${m.x} ${m.y}`,b+=x,b},""),f,h,p,v]}const ic=w.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:s,labelBgPadding:l,labelBgBorderRadius:c,style:u,sourcePosition:f=G.Bottom,targetPosition:h=G.Top,markerEnd:p,markerStart:v,pathOptions:g,interactionWidth:b})=>{const[m,y,x]=Nm({sourceX:e,sourceY:t,sourcePosition:f,targetX:n,targetY:r,targetPosition:h,borderRadius:g==null?void 0:g.borderRadius,offset:g==null?void 0:g.offset});return H.createElement(Aa,{path:m,labelX:y,labelY:x,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:s,labelBgPadding:l,labelBgBorderRadius:c,style:u,markerEnd:p,markerStart:v,interactionWidth:b})});ic.displayName="SmoothStepEdge";const Kv=w.memo(e=>{var t;return H.createElement(ic,{...e,pathOptions:w.useMemo(()=>{var n;return{borderRadius:0,offset:(n=e.pathOptions)==null?void 0:n.offset}},[(t=e.pathOptions)==null?void 0:t.offset])})});Kv.displayName="StepEdge";function xL({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[i,o,a,s]=f2({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,o,a,s]}const Yv=w.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:s,labelBgPadding:l,labelBgBorderRadius:c,style:u,markerEnd:f,markerStart:h,interactionWidth:p})=>{const[v,g,b]=xL({sourceX:e,sourceY:t,targetX:n,targetY:r});return H.createElement(Aa,{path:v,labelX:g,labelY:b,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:s,labelBgPadding:l,labelBgBorderRadius:c,style:u,markerEnd:f,markerStart:h,interactionWidth:p})});Yv.displayName="StraightEdge";function xs(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function px({pos:e,x1:t,y1:n,x2:r,y2:i,c:o}){switch(e){case G.Left:return[t-xs(t-r,o),n];case G.Right:return[t+xs(r-t,o),n];case G.Top:return[t,n-xs(n-i,o)];case G.Bottom:return[t,n+xs(i-n,o)]}}function g2({sourceX:e,sourceY:t,sourcePosition:n=G.Bottom,targetX:r,targetY:i,targetPosition:o=G.Top,curvature:a=.25}){const[s,l]=px({pos:n,x1:e,y1:t,x2:r,y2:i,c:a}),[c,u]=px({pos:o,x1:r,y1:i,x2:e,y2:t,c:a}),[f,h,p,v]=h2({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:s,sourceControlY:l,targetControlX:c,targetControlY:u});return[`M${e},${t} C${s},${l} ${c},${u} ${r},${i}`,f,h,p,v]}const jl=w.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i=G.Bottom,targetPosition:o=G.Top,label:a,labelStyle:s,labelShowBg:l,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:f,style:h,markerEnd:p,markerStart:v,pathOptions:g,interactionWidth:b})=>{const[m,y,x]=g2({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o,curvature:g==null?void 0:g.curvature});return H.createElement(Aa,{path:m,labelX:y,labelY:x,label:a,labelStyle:s,labelShowBg:l,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:f,style:h,markerEnd:p,markerStart:v,interactionWidth:b})});jl.displayName="BezierEdge";const Xv=w.createContext(null),wL=Xv.Provider;Xv.Consumer;const bL=()=>w.useContext(Xv),SL=e=>"id"in e&&"source"in e&&"target"in e,_L=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`reactflow__edge-${e}${t||""}-${n}${r||""}`,Im=(e,t)=>typeof e>"u"?"":typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`,EL=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),kL=(e,t)=>{if(!e.source||!e.target)return t;let n;return SL(e)?n={...e}:n={...e,id:_L(e)},EL(n,t)?t:t.concat(n)},Am=({x:e,y:t},[n,r,i],o,[a,s])=>{const l={x:(e-n)/i,y:(t-r)/i};return o?{x:a*Math.round(l.x/a),y:s*Math.round(l.y/s)}:l},m2=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r}),Oi=(e,t=[0,0])=>{if(!e)return{x:0,y:0,positionAbsolute:{x:0,y:0}};const n=(e.width??0)*t[0],r=(e.height??0)*t[1],i={x:e.position.x-n,y:e.position.y-r};return{...i,positionAbsolute:e.positionAbsolute?{x:e.positionAbsolute.x-n,y:e.positionAbsolute.y-r}:i}},Qv=(e,t=[0,0])=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((r,i)=>{const{x:o,y:a}=Oi(i,t).positionAbsolute;return dL(r,Vv({x:o,y:a,width:i.width||0,height:i.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return fL(n)},v2=(e,t,[n,r,i]=[0,0,1],o=!1,a=!1,s=[0,0])=>{const l={x:(t.x-n)/i,y:(t.y-r)/i,width:t.width/i,height:t.height/i},c=[];return e.forEach(u=>{const{width:f,height:h,selectable:p=!0,hidden:v=!1}=u;if(a&&!p||v)return!1;const{positionAbsolute:g}=Oi(u,s),b={x:g.x,y:g.y,width:f||0,height:h||0},m=jm(l,b),y=typeof f>"u"||typeof h>"u"||f===null||h===null,x=o&&m>0,S=(f||0)*(h||0);(y||x||m>=S||u.dragging)&&c.push(u)}),c},y2=(e,t)=>{const n=e.map(r=>r.id);return t.filter(r=>n.includes(r.source)||n.includes(r.target))},x2=(e,t,n,r,i,o=.1)=>{const a=t/(e.width*(1+o)),s=n/(e.height*(1+o)),l=Math.min(a,s),c=Xi(l,r,i),u=e.x+e.width/2,f=e.y+e.height/2,h=t/2-u*c,p=n/2-f*c;return{x:h,y:p,zoom:c}},$r=(e,t=0)=>e.transition().duration(t);function gx(e,t,n,r){return(t[n]||[]).reduce((i,o)=>{var a,s;return`${e.id}-${o.id}-${n}`!==r&&i.push({id:o.id||null,type:n,nodeId:e.id,x:(((a=e.positionAbsolute)==null?void 0:a.x)??0)+o.x+o.width/2,y:(((s=e.positionAbsolute)==null?void 0:s.y)??0)+o.y+o.height/2}),i},[])}function CL(e,t,n,r,i,o){const{x:a,y:s}=br(e),c=t.elementsFromPoint(a,s).find(v=>v.classList.contains("react-flow__handle"));if(c){const v=c.getAttribute("data-nodeid");if(v){const g=Zv(void 0,c),b=c.getAttribute("data-handleid"),m=o({nodeId:v,id:b,type:g});if(m){const y=i.find(x=>x.nodeId===v&&x.type===g&&x.id===b);return{handle:{id:b,type:g,nodeId:v,x:(y==null?void 0:y.x)||n.x,y:(y==null?void 0:y.y)||n.y},validHandleResult:m}}}}let u=[],f=1/0;if(i.forEach(v=>{const g=Math.sqrt((v.x-n.x)**2+(v.y-n.y)**2);if(g<=r){const b=o(v);g<=f&&(g<f?u=[{handle:v,validHandleResult:b}]:g===f&&u.push({handle:v,validHandleResult:b}),f=g)}}),!u.length)return{handle:null,validHandleResult:w2()};if(u.length===1)return u[0];const h=u.some(({validHandleResult:v})=>v.isValid),p=u.some(({handle:v})=>v.type==="target");return u.find(({handle:v,validHandleResult:g})=>p?v.type==="target":h?g.isValid:!0)||u[0]}const jL={source:null,target:null,sourceHandle:null,targetHandle:null},w2=()=>({handleDomNode:null,isValid:!1,connection:jL,endHandle:null});function b2(e,t,n,r,i,o,a){const s=i==="target",l=a.querySelector(`.react-flow__handle[data-id="${e==null?void 0:e.nodeId}-${e==null?void 0:e.id}-${e==null?void 0:e.type}"]`),c={...w2(),handleDomNode:l};if(l){const u=Zv(void 0,l),f=l.getAttribute("data-nodeid"),h=l.getAttribute("data-handleid"),p=l.classList.contains("connectable"),v=l.classList.contains("connectableend"),g={source:s?f:n,sourceHandle:s?h:r,target:s?n:f,targetHandle:s?r:h};c.connection=g,p&&v&&(t===Zr.Strict?s&&u==="source"||!s&&u==="target":f!==n||h!==r)&&(c.endHandle={nodeId:f,handleId:h,type:u},c.isValid=o(g))}return c}function RL({nodes:e,nodeId:t,handleId:n,handleType:r}){return e.reduce((i,o)=>{if(o[Fe]){const{handleBounds:a}=o[Fe];let s=[],l=[];a&&(s=gx(o,a,"source",`${t}-${n}-${r}`),l=gx(o,a,"target",`${t}-${n}-${r}`)),i.push(...s,...l)}return i},[])}function Zv(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function yu(e){e==null||e.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function NL(e,t){let n=null;return t?n="valid":e&&!t&&(n="invalid"),n}function S2({event:e,handleId:t,nodeId:n,onConnect:r,isTarget:i,getState:o,setState:a,isValidConnection:s,edgeUpdaterType:l,onReconnectEnd:c}){const u=c2(e.target),{connectionMode:f,domNode:h,autoPanOnConnect:p,connectionRadius:v,onConnectStart:g,panBy:b,getNodes:m,cancelConnection:y}=o();let x=0,S;const{x:C,y:R}=br(e),_=u==null?void 0:u.elementFromPoint(C,R),I=Zv(l,_),M=h==null?void 0:h.getBoundingClientRect();if(!M||!I)return;let k,T=br(e,M),z=!1,$=null,j=!1,O=null;const E=RL({nodes:m(),nodeId:n,handleId:t,handleType:I}),N=()=>{if(!p)return;const[L,q]=l2(T,M);b({x:L,y:q}),x=requestAnimationFrame(N)};a({connectionPosition:T,connectionStatus:null,connectionNodeId:n,connectionHandleId:t,connectionHandleType:I,connectionStartHandle:{nodeId:n,handleId:t,type:I},connectionEndHandle:null}),g==null||g(e,{nodeId:n,handleId:t,handleType:I});function A(L){const{transform:q}=o();T=br(L,M);const{handle:B,validHandleResult:Y}=CL(L,u,Am(T,q,!1,[1,1]),v,E,K=>b2(K,f,n,t,i?"target":"source",s,u));if(S=B,z||(N(),z=!0),O=Y.handleDomNode,$=Y.connection,j=Y.isValid,a({connectionPosition:S&&j?m2({x:S.x,y:S.y},q):T,connectionStatus:NL(!!S,j),connectionEndHandle:Y.endHandle}),!S&&!j&&!O)return yu(k);$.source!==$.target&&O&&(yu(k),k=O,O.classList.add("connecting","react-flow__handle-connecting"),O.classList.toggle("valid",j),O.classList.toggle("react-flow__handle-valid",j))}function P(L){var q,B;(S||O)&&$&&j&&(r==null||r($)),(B=(q=o()).onConnectEnd)==null||B.call(q,L),l&&(c==null||c(L)),yu(k),y(),cancelAnimationFrame(x),z=!1,j=!1,$=null,O=null,u.removeEventListener("mousemove",A),u.removeEventListener("mouseup",P),u.removeEventListener("touchmove",A),u.removeEventListener("touchend",P)}u.addEventListener("mousemove",A),u.addEventListener("mouseup",P),u.addEventListener("touchmove",A),u.addEventListener("touchend",P)}const mx=()=>!0,IL=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),AL=(e,t,n)=>r=>{const{connectionStartHandle:i,connectionEndHandle:o,connectionClickStartHandle:a}=r;return{connecting:(i==null?void 0:i.nodeId)===e&&(i==null?void 0:i.handleId)===t&&(i==null?void 0:i.type)===n||(o==null?void 0:o.nodeId)===e&&(o==null?void 0:o.handleId)===t&&(o==null?void 0:o.type)===n,clickConnecting:(a==null?void 0:a.nodeId)===e&&(a==null?void 0:a.handleId)===t&&(a==null?void 0:a.type)===n}},_2=w.forwardRef(({type:e="source",position:t=G.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:i=!0,isConnectableEnd:o=!0,id:a,onConnect:s,children:l,className:c,onMouseDown:u,onTouchStart:f,...h},p)=>{var M,k;const v=a||null,g=e==="target",b=Xe(),m=bL(),{connectOnClick:y,noPanClassName:x}=$e(IL,lt),{connecting:S,clickConnecting:C}=$e(AL(m,v,e),lt);m||(k=(M=b.getState()).onError)==null||k.call(M,"010",Hn.error010());const R=T=>{const{defaultEdgeOptions:z,onConnect:$,hasDefaultEdges:j}=b.getState(),O={...z,...T};if(j){const{edges:E,setEdges:N}=b.getState();N(kL(O,E))}$==null||$(O),s==null||s(O)},_=T=>{if(!m)return;const z=d2(T);i&&(z&&T.button===0||!z)&&S2({event:T,handleId:v,nodeId:m,onConnect:R,isTarget:g,getState:b.getState,setState:b.setState,isValidConnection:n||b.getState().isValidConnection||mx}),z?u==null||u(T):f==null||f(T)},I=T=>{const{onClickConnectStart:z,onClickConnectEnd:$,connectionClickStartHandle:j,connectionMode:O,isValidConnection:E}=b.getState();if(!m||!j&&!i)return;if(!j){z==null||z(T,{nodeId:m,handleId:v,handleType:e}),b.setState({connectionClickStartHandle:{nodeId:m,type:e,handleId:v}});return}const N=c2(T.target),A=n||E||mx,{connection:P,isValid:L}=b2({nodeId:m,id:v,type:e},O,j.nodeId,j.handleId||null,j.type,A,N);L&&R(P),$==null||$(T),b.setState({connectionClickStartHandle:null})};return H.createElement("div",{"data-handleid":v,"data-nodeid":m,"data-handlepos":t,"data-id":`${m}-${v}-${e}`,className:xt(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",x,c,{source:!g,target:g,connectable:r,connectablestart:i,connectableend:o,connecting:C,connectionindicator:r&&(i&&!S||o&&S)}]),onMouseDown:_,onTouchStart:_,onClick:y?I:void 0,ref:p,...h},l)});_2.displayName="Handle";var Ae=w.memo(_2);const E2=({data:e,isConnectable:t,targetPosition:n=G.Top,sourcePosition:r=G.Bottom})=>H.createElement(H.Fragment,null,H.createElement(Ae,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label,H.createElement(Ae,{type:"source",position:r,isConnectable:t}));E2.displayName="DefaultNode";var Tm=w.memo(E2);const k2=({data:e,isConnectable:t,sourcePosition:n=G.Bottom})=>H.createElement(H.Fragment,null,e==null?void 0:e.label,H.createElement(Ae,{type:"source",position:n,isConnectable:t}));k2.displayName="InputNode";var C2=w.memo(k2);const j2=({data:e,isConnectable:t,targetPosition:n=G.Top})=>H.createElement(H.Fragment,null,H.createElement(Ae,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label);j2.displayName="OutputNode";var R2=w.memo(j2);const Jv=()=>null;Jv.displayName="GroupNode";const TL=e=>({selectedNodes:e.getNodes().filter(t=>t.selected),selectedEdges:e.edges.filter(t=>t.selected).map(t=>({...t}))}),ws=e=>e.id;function PL(e,t){return lt(e.selectedNodes.map(ws),t.selectedNodes.map(ws))&<(e.selectedEdges.map(ws),t.selectedEdges.map(ws))}const N2=w.memo(({onSelectionChange:e})=>{const t=Xe(),{selectedNodes:n,selectedEdges:r}=$e(TL,PL);return w.useEffect(()=>{const i={nodes:n,edges:r};e==null||e(i),t.getState().onSelectionChange.forEach(o=>o(i))},[n,r,e]),null});N2.displayName="SelectionListener";const ML=e=>!!e.onSelectionChange;function LL({onSelectionChange:e}){const t=$e(ML);return e||t?H.createElement(N2,{onSelectionChange:e}):null}const $L=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset});function ui(e,t){w.useEffect(()=>{typeof e<"u"&&t(e)},[e])}function he(e,t,n){w.useEffect(()=>{typeof t<"u"&&n({[e]:t})},[t])}const zL=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:i,onConnectStart:o,onConnectEnd:a,onClickConnectStart:s,onClickConnectEnd:l,nodesDraggable:c,nodesConnectable:u,nodesFocusable:f,edgesFocusable:h,edgesUpdatable:p,elevateNodesOnSelect:v,minZoom:g,maxZoom:b,nodeExtent:m,onNodesChange:y,onEdgesChange:x,elementsSelectable:S,connectionMode:C,snapGrid:R,snapToGrid:_,translateExtent:I,connectOnClick:M,defaultEdgeOptions:k,fitView:T,fitViewOptions:z,onNodesDelete:$,onEdgesDelete:j,onNodeDrag:O,onNodeDragStart:E,onNodeDragStop:N,onSelectionDrag:A,onSelectionDragStart:P,onSelectionDragStop:L,noPanClassName:q,nodeOrigin:B,rfId:Y,autoPanOnConnect:K,autoPanOnNodeDrag:J,onError:ie,connectionRadius:ae,isValidConnection:ue,nodeDragThreshold:fe})=>{const{setNodes:me,setEdges:Ge,setDefaultNodesAndEdges:We,setMinZoom:ct,setMaxZoom:nt,setTranslateExtent:oe,setNodeExtent:Qe,reset:ne}=$e($L,lt),X=Xe();return w.useEffect(()=>{const je=r==null?void 0:r.map(ut=>({...ut,...k}));return We(n,je),()=>{ne()}},[]),he("defaultEdgeOptions",k,X.setState),he("connectionMode",C,X.setState),he("onConnect",i,X.setState),he("onConnectStart",o,X.setState),he("onConnectEnd",a,X.setState),he("onClickConnectStart",s,X.setState),he("onClickConnectEnd",l,X.setState),he("nodesDraggable",c,X.setState),he("nodesConnectable",u,X.setState),he("nodesFocusable",f,X.setState),he("edgesFocusable",h,X.setState),he("edgesUpdatable",p,X.setState),he("elementsSelectable",S,X.setState),he("elevateNodesOnSelect",v,X.setState),he("snapToGrid",_,X.setState),he("snapGrid",R,X.setState),he("onNodesChange",y,X.setState),he("onEdgesChange",x,X.setState),he("connectOnClick",M,X.setState),he("fitViewOnInit",T,X.setState),he("fitViewOnInitOptions",z,X.setState),he("onNodesDelete",$,X.setState),he("onEdgesDelete",j,X.setState),he("onNodeDrag",O,X.setState),he("onNodeDragStart",E,X.setState),he("onNodeDragStop",N,X.setState),he("onSelectionDrag",A,X.setState),he("onSelectionDragStart",P,X.setState),he("onSelectionDragStop",L,X.setState),he("noPanClassName",q,X.setState),he("nodeOrigin",B,X.setState),he("rfId",Y,X.setState),he("autoPanOnConnect",K,X.setState),he("autoPanOnNodeDrag",J,X.setState),he("onError",ie,X.setState),he("connectionRadius",ae,X.setState),he("isValidConnection",ue,X.setState),he("nodeDragThreshold",fe,X.setState),ui(e,me),ui(t,Ge),ui(g,ct),ui(b,nt),ui(I,oe),ui(m,Qe),null},vx={display:"none"},OL={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},I2="react-flow__node-desc",A2="react-flow__edge-desc",FL="react-flow__aria-live",qL=e=>e.ariaLiveMessage;function DL({rfId:e}){const t=$e(qL);return H.createElement("div",{id:`${FL}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:OL},t)}function BL({rfId:e,disableKeyboardA11y:t}){return H.createElement(H.Fragment,null,H.createElement("div",{id:`${I2}-${e}`,style:vx},"Press enter or space to select a node.",!t&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "),H.createElement("div",{id:`${A2}-${e}`,style:vx},"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."),!t&&H.createElement(DL,{rfId:e}))}var Sa=(e=null,t={actInsideInputWithModifier:!0})=>{const[n,r]=w.useState(!1),i=w.useRef(!1),o=w.useRef(new Set([])),[a,s]=w.useMemo(()=>{if(e!==null){const c=(Array.isArray(e)?e:[e]).filter(f=>typeof f=="string").map(f=>f.split("+")),u=c.reduce((f,h)=>f.concat(...h),[]);return[c,u]}return[[],[]]},[e]);return w.useEffect(()=>{const l=typeof document<"u"?document:null,c=(t==null?void 0:t.target)||l;if(e!==null){const u=p=>{if(i.current=p.ctrlKey||p.metaKey||p.shiftKey,(!i.current||i.current&&!t.actInsideInputWithModifier)&&Rm(p))return!1;const g=xx(p.code,s);o.current.add(p[g]),yx(a,o.current,!1)&&(p.preventDefault(),r(!0))},f=p=>{if((!i.current||i.current&&!t.actInsideInputWithModifier)&&Rm(p))return!1;const g=xx(p.code,s);yx(a,o.current,!0)?(r(!1),o.current.clear()):o.current.delete(p[g]),p.key==="Meta"&&o.current.clear(),i.current=!1},h=()=>{o.current.clear(),r(!1)};return c==null||c.addEventListener("keydown",u),c==null||c.addEventListener("keyup",f),window.addEventListener("blur",h),()=>{c==null||c.removeEventListener("keydown",u),c==null||c.removeEventListener("keyup",f),window.removeEventListener("blur",h)}}},[e,r]),n};function yx(e,t,n){return e.filter(r=>n||r.length===t.size).some(r=>r.every(i=>t.has(i)))}function xx(e,t){return t.includes(e)?"code":"key"}function T2(e,t,n,r){var s,l;const i=e.parentNode||e.parentId;if(!i)return n;const o=t.get(i),a=Oi(o,r);return T2(o,t,{x:(n.x??0)+a.x,y:(n.y??0)+a.y,z:(((s=o[Fe])==null?void 0:s.z)??0)>(n.z??0)?((l=o[Fe])==null?void 0:l.z)??0:n.z??0},r)}function P2(e,t,n){e.forEach(r=>{var o;const i=r.parentNode||r.parentId;if(i&&!e.has(i))throw new Error(`Parent node ${i} not found`);if(i||n!=null&&n[r.id]){const{x:a,y:s,z:l}=T2(r,e,{...r.position,z:((o=r[Fe])==null?void 0:o.z)??0},t);r.positionAbsolute={x:a,y:s},r[Fe].z=l,n!=null&&n[r.id]&&(r[Fe].isParent=!0)}})}function xu(e,t,n,r){const i=new Map,o={},a=r?1e3:0;return e.forEach(s=>{var p;const l=(Xt(s.zIndex)?s.zIndex:0)+(s.selected?a:0),c=t.get(s.id),u={...s,positionAbsolute:{x:s.position.x,y:s.position.y}},f=s.parentNode||s.parentId;f&&(o[f]=!0);const h=(c==null?void 0:c.type)&&(c==null?void 0:c.type)!==s.type;Object.defineProperty(u,Fe,{enumerable:!1,value:{handleBounds:h||(p=c==null?void 0:c[Fe])==null?void 0:p.handleBounds,z:l}}),i.set(s.id,u)}),P2(i,n,o),i}function M2(e,t={}){const{getNodes:n,width:r,height:i,minZoom:o,maxZoom:a,d3Zoom:s,d3Selection:l,fitViewOnInitDone:c,fitViewOnInit:u,nodeOrigin:f}=e(),h=t.initial&&!c&&u;if(s&&l&&(h||!t.initial)){const v=n().filter(b=>{var y;const m=t.includeHiddenNodes?b.width&&b.height:!b.hidden;return(y=t.nodes)!=null&&y.length?m&&t.nodes.some(x=>x.id===b.id):m}),g=v.every(b=>b.width&&b.height);if(v.length>0&&g){const b=Qv(v,f),{x:m,y,zoom:x}=x2(b,r,i,t.minZoom??o,t.maxZoom??a,t.padding??.1),S=wr.translate(m,y).scale(x);return typeof t.duration=="number"&&t.duration>0?s.transform($r(l,t.duration),S):s.transform(l,S),!0}}return!1}function HL(e,t){return e.forEach(n=>{const r=t.get(n.id);r&&t.set(r.id,{...r,[Fe]:r[Fe],selected:n.selected})}),new Map(t)}function WL(e,t){return t.map(n=>{const r=e.find(i=>i.id===n.id);return r&&(n.selected=r.selected),n})}function bs({changedNodes:e,changedEdges:t,get:n,set:r}){const{nodeInternals:i,edges:o,onNodesChange:a,onEdgesChange:s,hasDefaultNodes:l,hasDefaultEdges:c}=n();e!=null&&e.length&&(l&&r({nodeInternals:HL(e,i)}),a==null||a(e)),t!=null&&t.length&&(c&&r({edges:WL(t,o)}),s==null||s(t))}const di=()=>{},UL={zoomIn:di,zoomOut:di,zoomTo:di,getZoom:()=>1,setViewport:di,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:di,fitBounds:di,project:e=>e,screenToFlowPosition:e=>e,flowToScreenPosition:e=>e,viewportInitialized:!1},VL=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection}),GL=()=>{const e=Xe(),{d3Zoom:t,d3Selection:n}=$e(VL,lt);return w.useMemo(()=>n&&t?{zoomIn:i=>t.scaleBy($r(n,i==null?void 0:i.duration),1.2),zoomOut:i=>t.scaleBy($r(n,i==null?void 0:i.duration),1/1.2),zoomTo:(i,o)=>t.scaleTo($r(n,o==null?void 0:o.duration),i),getZoom:()=>e.getState().transform[2],setViewport:(i,o)=>{const[a,s,l]=e.getState().transform,c=wr.translate(i.x??a,i.y??s).scale(i.zoom??l);t.transform($r(n,o==null?void 0:o.duration),c)},getViewport:()=>{const[i,o,a]=e.getState().transform;return{x:i,y:o,zoom:a}},fitView:i=>M2(e.getState,i),setCenter:(i,o,a)=>{const{width:s,height:l,maxZoom:c}=e.getState(),u=typeof(a==null?void 0:a.zoom)<"u"?a.zoom:c,f=s/2-i*u,h=l/2-o*u,p=wr.translate(f,h).scale(u);t.transform($r(n,a==null?void 0:a.duration),p)},fitBounds:(i,o)=>{const{width:a,height:s,minZoom:l,maxZoom:c}=e.getState(),{x:u,y:f,zoom:h}=x2(i,a,s,l,c,(o==null?void 0:o.padding)??.1),p=wr.translate(u,f).scale(h);t.transform($r(n,o==null?void 0:o.duration),p)},project:i=>{const{transform:o,snapToGrid:a,snapGrid:s}=e.getState();return console.warn("[DEPRECATED] `project` is deprecated. Instead use `screenToFlowPosition`. There is no need to subtract the react flow bounds anymore! https://reactflow.dev/api-reference/types/react-flow-instance#screen-to-flow-position"),Am(i,o,a,s)},screenToFlowPosition:i=>{const{transform:o,snapToGrid:a,snapGrid:s,domNode:l}=e.getState();if(!l)return i;const{x:c,y:u}=l.getBoundingClientRect(),f={x:i.x-c,y:i.y-u};return Am(f,o,a,s)},flowToScreenPosition:i=>{const{transform:o,domNode:a}=e.getState();if(!a)return i;const{x:s,y:l}=a.getBoundingClientRect(),c=m2(i,o);return{x:c.x+s,y:c.y+l}},viewportInitialized:!0}:UL,[t,n])};function ey(){const e=GL(),t=Xe(),n=w.useCallback(()=>t.getState().getNodes().map(g=>({...g})),[]),r=w.useCallback(g=>t.getState().nodeInternals.get(g),[]),i=w.useCallback(()=>{const{edges:g=[]}=t.getState();return g.map(b=>({...b}))},[]),o=w.useCallback(g=>{const{edges:b=[]}=t.getState();return b.find(m=>m.id===g)},[]),a=w.useCallback(g=>{const{getNodes:b,setNodes:m,hasDefaultNodes:y,onNodesChange:x}=t.getState(),S=b(),C=typeof g=="function"?g(S):g;if(y)m(C);else if(x){const R=C.length===0?S.map(_=>({type:"remove",id:_.id})):C.map(_=>({item:_,type:"reset"}));x(R)}},[]),s=w.useCallback(g=>{const{edges:b=[],setEdges:m,hasDefaultEdges:y,onEdgesChange:x}=t.getState(),S=typeof g=="function"?g(b):g;if(y)m(S);else if(x){const C=S.length===0?b.map(R=>({type:"remove",id:R.id})):S.map(R=>({item:R,type:"reset"}));x(C)}},[]),l=w.useCallback(g=>{const b=Array.isArray(g)?g:[g],{getNodes:m,setNodes:y,hasDefaultNodes:x,onNodesChange:S}=t.getState();if(x){const R=[...m(),...b];y(R)}else if(S){const C=b.map(R=>({item:R,type:"add"}));S(C)}},[]),c=w.useCallback(g=>{const b=Array.isArray(g)?g:[g],{edges:m=[],setEdges:y,hasDefaultEdges:x,onEdgesChange:S}=t.getState();if(x)y([...m,...b]);else if(S){const C=b.map(R=>({item:R,type:"add"}));S(C)}},[]),u=w.useCallback(()=>{const{getNodes:g,edges:b=[],transform:m}=t.getState(),[y,x,S]=m;return{nodes:g().map(C=>({...C})),edges:b.map(C=>({...C})),viewport:{x:y,y:x,zoom:S}}},[]),f=w.useCallback(({nodes:g,edges:b})=>{const{nodeInternals:m,getNodes:y,edges:x,hasDefaultNodes:S,hasDefaultEdges:C,onNodesDelete:R,onEdgesDelete:_,onNodesChange:I,onEdgesChange:M}=t.getState(),k=(g||[]).map(O=>O.id),T=(b||[]).map(O=>O.id),z=y().reduce((O,E)=>{const N=E.parentNode||E.parentId,A=!k.includes(E.id)&&N&&O.find(L=>L.id===N);return(typeof E.deletable=="boolean"?E.deletable:!0)&&(k.includes(E.id)||A)&&O.push(E),O},[]),$=x.filter(O=>typeof O.deletable=="boolean"?O.deletable:!0),j=$.filter(O=>T.includes(O.id));if(z||j){const O=y2(z,$),E=[...j,...O],N=E.reduce((A,P)=>(A.includes(P.id)||A.push(P.id),A),[]);if((C||S)&&(C&&t.setState({edges:x.filter(A=>!N.includes(A.id))}),S&&(z.forEach(A=>{m.delete(A.id)}),t.setState({nodeInternals:new Map(m)}))),N.length>0&&(_==null||_(E),M&&M(N.map(A=>({id:A,type:"remove"})))),z.length>0&&(R==null||R(z),I)){const A=z.map(P=>({id:P.id,type:"remove"}));I(A)}}},[]),h=w.useCallback(g=>{const b=hL(g),m=b?null:t.getState().nodeInternals.get(g.id);return!b&&!m?[null,null,b]:[b?g:ux(m),m,b]},[]),p=w.useCallback((g,b=!0,m)=>{const[y,x,S]=h(g);return y?(m||t.getState().getNodes()).filter(C=>{if(!S&&(C.id===x.id||!C.positionAbsolute))return!1;const R=ux(C),_=jm(R,y);return b&&_>0||_>=y.width*y.height}):[]},[]),v=w.useCallback((g,b,m=!0)=>{const[y]=h(g);if(!y)return!1;const x=jm(y,b);return m&&x>0||x>=y.width*y.height},[]);return w.useMemo(()=>({...e,getNodes:n,getNode:r,getEdges:i,getEdge:o,setNodes:a,setEdges:s,addNodes:l,addEdges:c,toObject:u,deleteElements:f,getIntersectingNodes:p,isNodeIntersecting:v}),[e,n,r,i,o,a,s,l,c,u,f,p,v])}const KL={actInsideInputWithModifier:!1};var YL=({deleteKeyCode:e,multiSelectionKeyCode:t})=>{const n=Xe(),{deleteElements:r}=ey(),i=Sa(e,KL),o=Sa(t);w.useEffect(()=>{if(i){const{edges:a,getNodes:s}=n.getState(),l=s().filter(u=>u.selected),c=a.filter(u=>u.selected);r({nodes:l,edges:c}),n.setState({nodesSelectionActive:!1})}},[i]),w.useEffect(()=>{n.setState({multiSelectionActive:o})},[o])};function XL(e){const t=Xe();w.useEffect(()=>{let n;const r=()=>{var o,a;if(!e.current)return;const i=Wv(e.current);(i.height===0||i.width===0)&&((a=(o=t.getState()).onError)==null||a.call(o,"004",Hn.error004())),t.setState({width:i.width||500,height:i.height||500})};return r(),window.addEventListener("resize",r),e.current&&(n=new ResizeObserver(()=>r()),n.observe(e.current)),()=>{window.removeEventListener("resize",r),n&&e.current&&n.unobserve(e.current)}},[])}const ty={position:"absolute",width:"100%",height:"100%",top:0,left:0},QL=(e,t)=>e.x!==t.x||e.y!==t.y||e.zoom!==t.k,Ss=e=>({x:e.x,y:e.y,zoom:e.k}),fi=(e,t)=>e.target.closest(`.${t}`),wx=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),bx=e=>{const t=e.ctrlKey&&Cl()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t},ZL=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),JL=({onMove:e,onMoveStart:t,onMoveEnd:n,onPaneContextMenu:r,zoomOnScroll:i=!0,zoomOnPinch:o=!0,panOnScroll:a=!1,panOnScrollSpeed:s=.5,panOnScrollMode:l=Dr.Free,zoomOnDoubleClick:c=!0,elementsSelectable:u,panOnDrag:f=!0,defaultViewport:h,translateExtent:p,minZoom:v,maxZoom:g,zoomActivationKeyCode:b,preventScrolling:m=!0,children:y,noWheelClassName:x,noPanClassName:S})=>{const C=w.useRef(),R=Xe(),_=w.useRef(!1),I=w.useRef(!1),M=w.useRef(null),k=w.useRef({x:0,y:0,zoom:0}),{d3Zoom:T,d3Selection:z,d3ZoomHandler:$,userSelectionActive:j}=$e(ZL,lt),O=Sa(b),E=w.useRef(0),N=w.useRef(!1),A=w.useRef();return XL(M),w.useEffect(()=>{if(M.current){const P=M.current.getBoundingClientRect(),L=oL().scaleExtent([v,g]).translateExtent(p),q=un(M.current).call(L),B=wr.translate(h.x,h.y).scale(Xi(h.zoom,v,g)),Y=[[0,0],[P.width,P.height]],K=L.constrain()(B,Y,p);L.transform(q,K),L.wheelDelta(bx),R.setState({d3Zoom:L,d3Selection:q,d3ZoomHandler:q.on("wheel.zoom"),transform:[K.x,K.y,K.k],domNode:M.current.closest(".react-flow")})}},[]),w.useEffect(()=>{z&&T&&(a&&!O&&!j?z.on("wheel.zoom",P=>{if(fi(P,x))return!1;P.preventDefault(),P.stopImmediatePropagation();const L=z.property("__zoom").k||1;if(P.ctrlKey&&o){const ue=wn(P),fe=bx(P),me=L*Math.pow(2,fe);T.scaleTo(z,me,ue,P);return}const q=P.deltaMode===1?20:1;let B=l===Dr.Vertical?0:P.deltaX*q,Y=l===Dr.Horizontal?0:P.deltaY*q;!Cl()&&P.shiftKey&&l!==Dr.Vertical&&(B=P.deltaY*q,Y=0),T.translateBy(z,-(B/L)*s,-(Y/L)*s,{internal:!0});const K=Ss(z.property("__zoom")),{onViewportChangeStart:J,onViewportChange:ie,onViewportChangeEnd:ae}=R.getState();clearTimeout(A.current),N.current||(N.current=!0,t==null||t(P,K),J==null||J(K)),N.current&&(e==null||e(P,K),ie==null||ie(K),A.current=setTimeout(()=>{n==null||n(P,K),ae==null||ae(K),N.current=!1},150))},{passive:!1}):typeof $<"u"&&z.on("wheel.zoom",function(P,L){if(!m&&P.type==="wheel"&&!P.ctrlKey||fi(P,x))return null;P.preventDefault(),$.call(this,P,L)},{passive:!1}))},[j,a,l,z,T,$,O,o,m,x,t,e,n]),w.useEffect(()=>{T&&T.on("start",P=>{var B,Y;if(!P.sourceEvent||P.sourceEvent.internal)return null;E.current=(B=P.sourceEvent)==null?void 0:B.button;const{onViewportChangeStart:L}=R.getState(),q=Ss(P.transform);_.current=!0,k.current=q,((Y=P.sourceEvent)==null?void 0:Y.type)==="mousedown"&&R.setState({paneDragging:!0}),L==null||L(q),t==null||t(P.sourceEvent,q)})},[T,t]),w.useEffect(()=>{T&&(j&&!_.current?T.on("zoom",null):j||T.on("zoom",P=>{var q;const{onViewportChange:L}=R.getState();if(R.setState({transform:[P.transform.x,P.transform.y,P.transform.k]}),I.current=!!(r&&wx(f,E.current??0)),(e||L)&&!((q=P.sourceEvent)!=null&&q.internal)){const B=Ss(P.transform);L==null||L(B),e==null||e(P.sourceEvent,B)}}))},[j,T,e,f,r]),w.useEffect(()=>{T&&T.on("end",P=>{if(!P.sourceEvent||P.sourceEvent.internal)return null;const{onViewportChangeEnd:L}=R.getState();if(_.current=!1,R.setState({paneDragging:!1}),r&&wx(f,E.current??0)&&!I.current&&r(P.sourceEvent),I.current=!1,(n||L)&&QL(k.current,P.transform)){const q=Ss(P.transform);k.current=q,clearTimeout(C.current),C.current=setTimeout(()=>{L==null||L(q),n==null||n(P.sourceEvent,q)},a?150:0)}})},[T,a,f,n,r]),w.useEffect(()=>{T&&T.filter(P=>{const L=O||i,q=o&&P.ctrlKey;if((f===!0||Array.isArray(f)&&f.includes(1))&&P.button===1&&P.type==="mousedown"&&(fi(P,"react-flow__node")||fi(P,"react-flow__edge")))return!0;if(!f&&!L&&!a&&!c&&!o||j||!c&&P.type==="dblclick"||fi(P,x)&&P.type==="wheel"||fi(P,S)&&(P.type!=="wheel"||a&&P.type==="wheel"&&!O)||!o&&P.ctrlKey&&P.type==="wheel"||!L&&!a&&!q&&P.type==="wheel"||!f&&(P.type==="mousedown"||P.type==="touchstart")||Array.isArray(f)&&!f.includes(P.button)&&P.type==="mousedown")return!1;const B=Array.isArray(f)&&f.includes(P.button)||!P.button||P.button<=1;return(!P.ctrlKey||P.type==="wheel")&&B})},[j,T,i,o,a,c,f,u,O]),H.createElement("div",{className:"react-flow__renderer",ref:M,style:ty},y)},e3=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function t3(){const{userSelectionActive:e,userSelectionRect:t}=$e(e3,lt);return e&&t?H.createElement("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}function Sx(e,t){const n=t.parentNode||t.parentId,r=e.find(i=>i.id===n);if(r){const i=t.position.x+t.width-r.width,o=t.position.y+t.height-r.height;if(i>0||o>0||t.position.x<0||t.position.y<0){if(r.style={...r.style},r.style.width=r.style.width??r.width,r.style.height=r.style.height??r.height,i>0&&(r.style.width+=i),o>0&&(r.style.height+=o),t.position.x<0){const a=Math.abs(t.position.x);r.position.x=r.position.x-a,r.style.width+=a,t.position.x=0}if(t.position.y<0){const a=Math.abs(t.position.y);r.position.y=r.position.y-a,r.style.height+=a,t.position.y=0}r.width=r.style.width,r.height=r.style.height}}}function L2(e,t){if(e.some(r=>r.type==="reset"))return e.filter(r=>r.type==="reset").map(r=>r.item);const n=e.filter(r=>r.type==="add").map(r=>r.item);return t.reduce((r,i)=>{const o=e.filter(s=>s.id===i.id);if(o.length===0)return r.push(i),r;const a={...i};for(const s of o)if(s)switch(s.type){case"select":{a.selected=s.selected;break}case"position":{typeof s.position<"u"&&(a.position=s.position),typeof s.positionAbsolute<"u"&&(a.positionAbsolute=s.positionAbsolute),typeof s.dragging<"u"&&(a.dragging=s.dragging),a.expandParent&&Sx(r,a);break}case"dimensions":{typeof s.dimensions<"u"&&(a.width=s.dimensions.width,a.height=s.dimensions.height),typeof s.updateStyle<"u"&&(a.style={...a.style||{},...s.dimensions}),typeof s.resizing=="boolean"&&(a.resizing=s.resizing),a.expandParent&&Sx(r,a);break}case"remove":return r}return r.push(a),r},n)}function $2(e,t){return L2(e,t)}function n3(e,t){return L2(e,t)}const or=(e,t)=>({id:e,type:"select",selected:t});function Ni(e,t){return e.reduce((n,r)=>{const i=t.includes(r.id);return!r.selected&&i?(r.selected=!0,n.push(or(r.id,!0))):r.selected&&!i&&(r.selected=!1,n.push(or(r.id,!1))),n},[])}const wu=(e,t)=>n=>{n.target===t.current&&(e==null||e(n))},r3=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),z2=w.memo(({isSelecting:e,selectionMode:t=ba.Full,panOnDrag:n,onSelectionStart:r,onSelectionEnd:i,onPaneClick:o,onPaneContextMenu:a,onPaneScroll:s,onPaneMouseEnter:l,onPaneMouseMove:c,onPaneMouseLeave:u,children:f})=>{const h=w.useRef(null),p=Xe(),v=w.useRef(0),g=w.useRef(0),b=w.useRef(),{userSelectionActive:m,elementsSelectable:y,dragging:x}=$e(r3,lt),S=()=>{p.setState({userSelectionActive:!1,userSelectionRect:null}),v.current=0,g.current=0},C=$=>{o==null||o($),p.getState().resetSelectedElements(),p.setState({nodesSelectionActive:!1})},R=$=>{if(Array.isArray(n)&&(n!=null&&n.includes(2))){$.preventDefault();return}a==null||a($)},_=s?$=>s($):void 0,I=$=>{const{resetSelectedElements:j,domNode:O}=p.getState();if(b.current=O==null?void 0:O.getBoundingClientRect(),!y||!e||$.button!==0||$.target!==h.current||!b.current)return;const{x:E,y:N}=br($,b.current);j(),p.setState({userSelectionRect:{width:0,height:0,startX:E,startY:N,x:E,y:N}}),r==null||r($)},M=$=>{const{userSelectionRect:j,nodeInternals:O,edges:E,transform:N,onNodesChange:A,onEdgesChange:P,nodeOrigin:L,getNodes:q}=p.getState();if(!e||!b.current||!j)return;p.setState({userSelectionActive:!0,nodesSelectionActive:!1});const B=br($,b.current),Y=j.startX??0,K=j.startY??0,J={...j,x:B.x<Y?B.x:Y,y:B.y<K?B.y:K,width:Math.abs(B.x-Y),height:Math.abs(B.y-K)},ie=q(),ae=v2(O,J,N,t===ba.Partial,!0,L),ue=y2(ae,E).map(me=>me.id),fe=ae.map(me=>me.id);if(v.current!==fe.length){v.current=fe.length;const me=Ni(ie,fe);me.length&&(A==null||A(me))}if(g.current!==ue.length){g.current=ue.length;const me=Ni(E,ue);me.length&&(P==null||P(me))}p.setState({userSelectionRect:J})},k=$=>{if($.button!==0)return;const{userSelectionRect:j}=p.getState();!m&&j&&$.target===h.current&&(C==null||C($)),p.setState({nodesSelectionActive:v.current>0}),S(),i==null||i($)},T=$=>{m&&(p.setState({nodesSelectionActive:v.current>0}),i==null||i($)),S()},z=y&&(e||m);return H.createElement("div",{className:xt(["react-flow__pane",{dragging:x,selection:e}]),onClick:z?void 0:wu(C,h),onContextMenu:wu(R,h),onWheel:wu(_,h),onMouseEnter:z?void 0:l,onMouseDown:z?I:void 0,onMouseMove:z?M:c,onMouseUp:z?k:void 0,onMouseLeave:z?T:u,ref:h,style:ty},f,H.createElement(t3,null))});z2.displayName="Pane";function O2(e,t){const n=e.parentNode||e.parentId;if(!n)return!1;const r=t.get(n);return r?r.selected?!0:O2(r,t):!1}function _x(e,t,n){let r=e;do{if(r!=null&&r.matches(t))return!0;if(r===n.current)return!1;r=r.parentElement}while(r);return!1}function i3(e,t,n,r){return Array.from(e.values()).filter(i=>(i.selected||i.id===r)&&(!i.parentNode||i.parentId||!O2(i,e))&&(i.draggable||t&&typeof i.draggable>"u")).map(i=>{var o,a;return{id:i.id,position:i.position||{x:0,y:0},positionAbsolute:i.positionAbsolute||{x:0,y:0},distance:{x:n.x-(((o=i.positionAbsolute)==null?void 0:o.x)??0),y:n.y-(((a=i.positionAbsolute)==null?void 0:a.y)??0)},delta:{x:0,y:0},extent:i.extent,parentNode:i.parentNode||i.parentId,parentId:i.parentNode||i.parentId,width:i.width,height:i.height,expandParent:i.expandParent}})}function o3(e,t){return!t||t==="parent"?t:[t[0],[t[1][0]-(e.width||0),t[1][1]-(e.height||0)]]}function F2(e,t,n,r,i=[0,0],o){const a=o3(e,e.extent||r);let s=a;const l=e.parentNode||e.parentId;if(e.extent==="parent"&&!e.expandParent)if(l&&e.width&&e.height){const f=n.get(l),{x:h,y:p}=Oi(f,i).positionAbsolute;s=f&&Xt(h)&&Xt(p)&&Xt(f.width)&&Xt(f.height)?[[h+e.width*i[0],p+e.height*i[1]],[h+f.width-e.width+e.width*i[0],p+f.height-e.height+e.height*i[1]]]:s}else o==null||o("005",Hn.error005()),s=a;else if(e.extent&&l&&e.extent!=="parent"){const f=n.get(l),{x:h,y:p}=Oi(f,i).positionAbsolute;s=[[e.extent[0][0]+h,e.extent[0][1]+p],[e.extent[1][0]+h,e.extent[1][1]+p]]}let c={x:0,y:0};if(l){const f=n.get(l);c=Oi(f,i).positionAbsolute}const u=s&&s!=="parent"?Uv(t,s):t;return{position:{x:u.x-c.x,y:u.y-c.y},positionAbsolute:u}}function bu({nodeId:e,dragItems:t,nodeInternals:n}){const r=t.map(i=>({...n.get(i.id),position:i.position,positionAbsolute:i.positionAbsolute}));return[e?r.find(i=>i.id===e):r[0],r]}const Ex=(e,t,n,r)=>{const i=t.querySelectorAll(e);if(!i||!i.length)return null;const o=Array.from(i),a=t.getBoundingClientRect(),s={x:a.width*r[0],y:a.height*r[1]};return o.map(l=>{const c=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),position:l.getAttribute("data-handlepos"),x:(c.left-a.left-s.x)/n,y:(c.top-a.top-s.y)/n,...Wv(l)}})};function bo(e,t,n){return n===void 0?n:r=>{const i=t().nodeInternals.get(e);i&&n(r,{...i})}}function Pm({id:e,store:t,unselect:n=!1,nodeRef:r}){const{addSelectedNodes:i,unselectNodesAndEdges:o,multiSelectionActive:a,nodeInternals:s,onError:l}=t.getState(),c=s.get(e);if(!c){l==null||l("012",Hn.error012(e));return}t.setState({nodesSelectionActive:!1}),c.selected?(n||c.selected&&a)&&(o({nodes:[c],edges:[]}),requestAnimationFrame(()=>{var u;return(u=r==null?void 0:r.current)==null?void 0:u.blur()})):i([e])}function a3(){const e=Xe();return w.useCallback(({sourceEvent:n})=>{const{transform:r,snapGrid:i,snapToGrid:o}=e.getState(),a=n.touches?n.touches[0].clientX:n.clientX,s=n.touches?n.touches[0].clientY:n.clientY,l={x:(a-r[0])/r[2],y:(s-r[1])/r[2]};return{xSnapped:o?i[0]*Math.round(l.x/i[0]):l.x,ySnapped:o?i[1]*Math.round(l.y/i[1]):l.y,...l}},[])}function Su(e){return(t,n,r)=>e==null?void 0:e(t,r)}function q2({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:i,isSelectable:o,selectNodesOnDrag:a}){const s=Xe(),[l,c]=w.useState(!1),u=w.useRef([]),f=w.useRef({x:null,y:null}),h=w.useRef(0),p=w.useRef(null),v=w.useRef({x:0,y:0}),g=w.useRef(null),b=w.useRef(!1),m=w.useRef(!1),y=w.useRef(!1),x=a3();return w.useEffect(()=>{if(e!=null&&e.current){const S=un(e.current),C=({x:I,y:M})=>{const{nodeInternals:k,onNodeDrag:T,onSelectionDrag:z,updateNodePositions:$,nodeExtent:j,snapGrid:O,snapToGrid:E,nodeOrigin:N,onError:A}=s.getState();f.current={x:I,y:M};let P=!1,L={x:0,y:0,x2:0,y2:0};if(u.current.length>1&&j){const B=Qv(u.current,N);L=Vv(B)}if(u.current=u.current.map(B=>{const Y={x:I-B.distance.x,y:M-B.distance.y};E&&(Y.x=O[0]*Math.round(Y.x/O[0]),Y.y=O[1]*Math.round(Y.y/O[1]));const K=[[j[0][0],j[0][1]],[j[1][0],j[1][1]]];u.current.length>1&&j&&!B.extent&&(K[0][0]=B.positionAbsolute.x-L.x+j[0][0],K[1][0]=B.positionAbsolute.x+(B.width??0)-L.x2+j[1][0],K[0][1]=B.positionAbsolute.y-L.y+j[0][1],K[1][1]=B.positionAbsolute.y+(B.height??0)-L.y2+j[1][1]);const J=F2(B,Y,k,K,N,A);return P=P||B.position.x!==J.position.x||B.position.y!==J.position.y,B.position=J.position,B.positionAbsolute=J.positionAbsolute,B}),!P)return;$(u.current,!0,!0),c(!0);const q=i?T:Su(z);if(q&&g.current){const[B,Y]=bu({nodeId:i,dragItems:u.current,nodeInternals:k});q(g.current,B,Y)}},R=()=>{if(!p.current)return;const[I,M]=l2(v.current,p.current);if(I!==0||M!==0){const{transform:k,panBy:T}=s.getState();f.current.x=(f.current.x??0)-I/k[2],f.current.y=(f.current.y??0)-M/k[2],T({x:I,y:M})&&C(f.current)}h.current=requestAnimationFrame(R)},_=I=>{var N;const{nodeInternals:M,multiSelectionActive:k,nodesDraggable:T,unselectNodesAndEdges:z,onNodeDragStart:$,onSelectionDragStart:j}=s.getState();m.current=!0;const O=i?$:Su(j);(!a||!o)&&!k&&i&&((N=M.get(i))!=null&&N.selected||z()),i&&o&&a&&Pm({id:i,store:s,nodeRef:e});const E=x(I);if(f.current=E,u.current=i3(M,T,E,i),O&&u.current){const[A,P]=bu({nodeId:i,dragItems:u.current,nodeInternals:M});O(I.sourceEvent,A,P)}};if(t)S.on(".drag",null);else{const I=gP().on("start",M=>{const{domNode:k,nodeDragThreshold:T}=s.getState();T===0&&_(M),y.current=!1;const z=x(M);f.current=z,p.current=(k==null?void 0:k.getBoundingClientRect())||null,v.current=br(M.sourceEvent,p.current)}).on("drag",M=>{var $,j;const k=x(M),{autoPanOnNodeDrag:T,nodeDragThreshold:z}=s.getState();if(M.sourceEvent.type==="touchmove"&&M.sourceEvent.touches.length>1&&(y.current=!0),!y.current){if(!b.current&&m.current&&T&&(b.current=!0,R()),!m.current){const O=k.xSnapped-((($=f==null?void 0:f.current)==null?void 0:$.x)??0),E=k.ySnapped-(((j=f==null?void 0:f.current)==null?void 0:j.y)??0);Math.sqrt(O*O+E*E)>z&&_(M)}(f.current.x!==k.xSnapped||f.current.y!==k.ySnapped)&&u.current&&m.current&&(g.current=M.sourceEvent,v.current=br(M.sourceEvent,p.current),C(k))}}).on("end",M=>{if(!(!m.current||y.current)&&(c(!1),b.current=!1,m.current=!1,cancelAnimationFrame(h.current),u.current)){const{updateNodePositions:k,nodeInternals:T,onNodeDragStop:z,onSelectionDragStop:$}=s.getState(),j=i?z:Su($);if(k(u.current,!1,!1),j){const[O,E]=bu({nodeId:i,dragItems:u.current,nodeInternals:T});j(M.sourceEvent,O,E)}}}).filter(M=>{const k=M.target;return!M.button&&(!n||!_x(k,`.${n}`,e))&&(!r||_x(k,r,e))});return S.call(I),()=>{S.on(".drag",null)}}}},[e,t,n,r,o,s,i,a,x]),l}function D2(){const e=Xe();return w.useCallback(n=>{const{nodeInternals:r,nodeExtent:i,updateNodePositions:o,getNodes:a,snapToGrid:s,snapGrid:l,onError:c,nodesDraggable:u}=e.getState(),f=a().filter(y=>y.selected&&(y.draggable||u&&typeof y.draggable>"u")),h=s?l[0]:5,p=s?l[1]:5,v=n.isShiftPressed?4:1,g=n.x*h*v,b=n.y*p*v,m=f.map(y=>{if(y.positionAbsolute){const x={x:y.positionAbsolute.x+g,y:y.positionAbsolute.y+b};s&&(x.x=l[0]*Math.round(x.x/l[0]),x.y=l[1]*Math.round(x.y/l[1]));const{positionAbsolute:S,position:C}=F2(y,x,r,i,void 0,c);y.position=C,y.positionAbsolute=S}return y});o(m,!0,!1)},[])}const Fi={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var So=e=>{const t=({id:n,type:r,data:i,xPos:o,yPos:a,xPosOrigin:s,yPosOrigin:l,selected:c,onClick:u,onMouseEnter:f,onMouseMove:h,onMouseLeave:p,onContextMenu:v,onDoubleClick:g,style:b,className:m,isDraggable:y,isSelectable:x,isConnectable:S,isFocusable:C,selectNodesOnDrag:R,sourcePosition:_,targetPosition:I,hidden:M,resizeObserver:k,dragHandle:T,zIndex:z,isParent:$,noDragClassName:j,noPanClassName:O,initialized:E,disableKeyboardA11y:N,ariaLabel:A,rfId:P,hasHandleBounds:L})=>{const q=Xe(),B=w.useRef(null),Y=w.useRef(null),K=w.useRef(_),J=w.useRef(I),ie=w.useRef(r),ae=x||y||u||f||h||p,ue=D2(),fe=bo(n,q.getState,f),me=bo(n,q.getState,h),Ge=bo(n,q.getState,p),We=bo(n,q.getState,v),ct=bo(n,q.getState,g),nt=ne=>{const{nodeDragThreshold:X}=q.getState();if(x&&(!R||!y||X>0)&&Pm({id:n,store:q,nodeRef:B}),u){const je=q.getState().nodeInternals.get(n);je&&u(ne,{...je})}},oe=ne=>{if(!Rm(ne)&&!N)if(u2.includes(ne.key)&&x){const X=ne.key==="Escape";Pm({id:n,store:q,unselect:X,nodeRef:B})}else y&&c&&Object.prototype.hasOwnProperty.call(Fi,ne.key)&&(q.setState({ariaLiveMessage:`Moved selected node ${ne.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~o}, y: ${~~a}`}),ue({x:Fi[ne.key].x,y:Fi[ne.key].y,isShiftPressed:ne.shiftKey}))};w.useEffect(()=>()=>{Y.current&&(k==null||k.unobserve(Y.current),Y.current=null)},[]),w.useEffect(()=>{if(B.current&&!M){const ne=B.current;(!E||!L||Y.current!==ne)&&(Y.current&&(k==null||k.unobserve(Y.current)),k==null||k.observe(ne),Y.current=ne)}},[M,E,L]),w.useEffect(()=>{const ne=ie.current!==r,X=K.current!==_,je=J.current!==I;B.current&&(ne||X||je)&&(ne&&(ie.current=r),X&&(K.current=_),je&&(J.current=I),q.getState().updateNodeDimensions([{id:n,nodeElement:B.current,forceUpdate:!0}]))},[n,r,_,I]);const Qe=q2({nodeRef:B,disabled:M||!y,noDragClassName:j,handleSelector:T,nodeId:n,isSelectable:x,selectNodesOnDrag:R});return M?null:H.createElement("div",{className:xt(["react-flow__node",`react-flow__node-${r}`,{[O]:y},m,{selected:c,selectable:x,parent:$,dragging:Qe}]),ref:B,style:{zIndex:z,transform:`translate(${s}px,${l}px)`,pointerEvents:ae?"all":"none",visibility:E?"visible":"hidden",...b},"data-id":n,"data-testid":`rf__node-${n}`,onMouseEnter:fe,onMouseMove:me,onMouseLeave:Ge,onContextMenu:We,onClick:nt,onDoubleClick:ct,onKeyDown:C?oe:void 0,tabIndex:C?0:void 0,role:C?"button":void 0,"aria-describedby":N?void 0:`${I2}-${P}`,"aria-label":A},H.createElement(wL,{value:n},H.createElement(e,{id:n,data:i,type:r,xPos:o,yPos:a,selected:c,isConnectable:S,sourcePosition:_,targetPosition:I,dragging:Qe,dragHandle:T,zIndex:z})))};return t.displayName="NodeWrapper",w.memo(t)};const s3=e=>{const t=e.getNodes().filter(n=>n.selected);return{...Qv(t,e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive}};function l3({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const r=Xe(),{width:i,height:o,x:a,y:s,transformString:l,userSelectionActive:c}=$e(s3,lt),u=D2(),f=w.useRef(null);if(w.useEffect(()=>{var v;n||(v=f.current)==null||v.focus({preventScroll:!0})},[n]),q2({nodeRef:f}),c||!i||!o)return null;const h=e?v=>{const g=r.getState().getNodes().filter(b=>b.selected);e(v,g)}:void 0,p=v=>{Object.prototype.hasOwnProperty.call(Fi,v.key)&&u({x:Fi[v.key].x,y:Fi[v.key].y,isShiftPressed:v.shiftKey})};return H.createElement("div",{className:xt(["react-flow__nodesselection","react-flow__container",t]),style:{transform:l}},H.createElement("div",{ref:f,className:"react-flow__nodesselection-rect",onContextMenu:h,tabIndex:n?void 0:-1,onKeyDown:n?void 0:p,style:{width:i,height:o,top:s,left:a}}))}var c3=w.memo(l3);const u3=e=>e.nodesSelectionActive,B2=({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:a,deleteKeyCode:s,onMove:l,onMoveStart:c,onMoveEnd:u,selectionKeyCode:f,selectionOnDrag:h,selectionMode:p,onSelectionStart:v,onSelectionEnd:g,multiSelectionKeyCode:b,panActivationKeyCode:m,zoomActivationKeyCode:y,elementsSelectable:x,zoomOnScroll:S,zoomOnPinch:C,panOnScroll:R,panOnScrollSpeed:_,panOnScrollMode:I,zoomOnDoubleClick:M,panOnDrag:k,defaultViewport:T,translateExtent:z,minZoom:$,maxZoom:j,preventScrolling:O,onSelectionContextMenu:E,noWheelClassName:N,noPanClassName:A,disableKeyboardA11y:P})=>{const L=$e(u3),q=Sa(f),B=Sa(m),Y=B||k,K=B||R,J=q||h&&Y!==!0;return YL({deleteKeyCode:s,multiSelectionKeyCode:b}),H.createElement(JL,{onMove:l,onMoveStart:c,onMoveEnd:u,onPaneContextMenu:o,elementsSelectable:x,zoomOnScroll:S,zoomOnPinch:C,panOnScroll:K,panOnScrollSpeed:_,panOnScrollMode:I,zoomOnDoubleClick:M,panOnDrag:!q&&Y,defaultViewport:T,translateExtent:z,minZoom:$,maxZoom:j,zoomActivationKeyCode:y,preventScrolling:O,noWheelClassName:N,noPanClassName:A},H.createElement(z2,{onSelectionStart:v,onSelectionEnd:g,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:a,panOnDrag:Y,isSelecting:!!J,selectionMode:p},e,L&&H.createElement(c3,{onSelectionContextMenu:E,noPanClassName:A,disableKeyboardA11y:P})))};B2.displayName="FlowRenderer";var d3=w.memo(B2);function f3(e){return $e(w.useCallback(n=>e?v2(n.nodeInternals,{x:0,y:0,width:n.width,height:n.height},n.transform,!0):n.getNodes(),[e]))}function h3(e){const t={input:So(e.input||C2),default:So(e.default||Tm),output:So(e.output||R2),group:So(e.group||Jv)},n={},r=Object.keys(e).filter(i=>!["input","default","output","group"].includes(i)).reduce((i,o)=>(i[o]=So(e[o]||Tm),i),n);return{...t,...r}}const p3=({x:e,y:t,width:n,height:r,origin:i})=>!n||!r?{x:e,y:t}:i[0]<0||i[1]<0||i[0]>1||i[1]>1?{x:e,y:t}:{x:e-n*i[0],y:t-r*i[1]},g3=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),H2=e=>{const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:i,updateNodeDimensions:o,onError:a}=$e(g3,lt),s=f3(e.onlyRenderVisibleElements),l=w.useRef(),c=w.useMemo(()=>{if(typeof ResizeObserver>"u")return null;const u=new ResizeObserver(f=>{const h=f.map(p=>({id:p.target.getAttribute("data-id"),nodeElement:p.target,forceUpdate:!0}));o(h)});return l.current=u,u},[]);return w.useEffect(()=>()=>{var u;(u=l==null?void 0:l.current)==null||u.disconnect()},[]),H.createElement("div",{className:"react-flow__nodes",style:ty},s.map(u=>{var C,R,_;let f=u.type||"default";e.nodeTypes[f]||(a==null||a("003",Hn.error003(f)),f="default");const h=e.nodeTypes[f]||e.nodeTypes.default,p=!!(u.draggable||t&&typeof u.draggable>"u"),v=!!(u.selectable||i&&typeof u.selectable>"u"),g=!!(u.connectable||n&&typeof u.connectable>"u"),b=!!(u.focusable||r&&typeof u.focusable>"u"),m=e.nodeExtent?Uv(u.positionAbsolute,e.nodeExtent):u.positionAbsolute,y=(m==null?void 0:m.x)??0,x=(m==null?void 0:m.y)??0,S=p3({x:y,y:x,width:u.width??0,height:u.height??0,origin:e.nodeOrigin});return H.createElement(h,{key:u.id,id:u.id,className:u.className,style:u.style,type:f,data:u.data,sourcePosition:u.sourcePosition||G.Bottom,targetPosition:u.targetPosition||G.Top,hidden:u.hidden,xPos:y,yPos:x,xPosOrigin:S.x,yPosOrigin:S.y,selectNodesOnDrag:e.selectNodesOnDrag,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,selected:!!u.selected,isDraggable:p,isSelectable:v,isConnectable:g,isFocusable:b,resizeObserver:c,dragHandle:u.dragHandle,zIndex:((C=u[Fe])==null?void 0:C.z)??0,isParent:!!((R=u[Fe])!=null&&R.isParent),noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!u.width&&!!u.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:u.ariaLabel,hasHandleBounds:!!((_=u[Fe])!=null&&_.handleBounds)})}))};H2.displayName="NodeRenderer";var m3=w.memo(H2);const v3=(e,t,n)=>n===G.Left?e-t:n===G.Right?e+t:e,y3=(e,t,n)=>n===G.Top?e-t:n===G.Bottom?e+t:e,kx="react-flow__edgeupdater",Cx=({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:i,onMouseEnter:o,onMouseOut:a,type:s})=>H.createElement("circle",{onMouseDown:i,onMouseEnter:o,onMouseOut:a,className:xt([kx,`${kx}-${s}`]),cx:v3(t,r,e),cy:y3(n,r,e),r,stroke:"transparent",fill:"transparent"}),x3=()=>!0;var hi=e=>{const t=({id:n,className:r,type:i,data:o,onClick:a,onEdgeDoubleClick:s,selected:l,animated:c,label:u,labelStyle:f,labelShowBg:h,labelBgStyle:p,labelBgPadding:v,labelBgBorderRadius:g,style:b,source:m,target:y,sourceX:x,sourceY:S,targetX:C,targetY:R,sourcePosition:_,targetPosition:I,elementsSelectable:M,hidden:k,sourceHandleId:T,targetHandleId:z,onContextMenu:$,onMouseEnter:j,onMouseMove:O,onMouseLeave:E,reconnectRadius:N,onReconnect:A,onReconnectStart:P,onReconnectEnd:L,markerEnd:q,markerStart:B,rfId:Y,ariaLabel:K,isFocusable:J,isReconnectable:ie,pathOptions:ae,interactionWidth:ue,disableKeyboardA11y:fe})=>{const me=w.useRef(null),[Ge,We]=w.useState(!1),[ct,nt]=w.useState(!1),oe=Xe(),Qe=w.useMemo(()=>`url('#${Im(B,Y)}')`,[B,Y]),ne=w.useMemo(()=>`url('#${Im(q,Y)}')`,[q,Y]);if(k)return null;const X=Re=>{var dt;const{edges:Ze,addSelectedEdges:Ne,unselectNodesAndEdges:De,multiSelectionActive:Wt}=oe.getState(),nn=Ze.find(rn=>rn.id===n);nn&&(M&&(oe.setState({nodesSelectionActive:!1}),nn.selected&&Wt?(De({nodes:[],edges:[nn]}),(dt=me.current)==null||dt.blur()):Ne([n])),a&&a(Re,nn))},je=wo(n,oe.getState,s),ut=wo(n,oe.getState,$),wt=wo(n,oe.getState,j),ze=wo(n,oe.getState,O),we=wo(n,oe.getState,E),Se=(Re,Ze)=>{if(Re.button!==0)return;const{edges:Ne,isValidConnection:De}=oe.getState(),Wt=Ze?y:m,nn=(Ze?z:T)||null,dt=Ze?"target":"source",rn=De||x3,si=Ze,Tt=Ne.find(ye=>ye.id===n);nt(!0),P==null||P(Re,Tt,dt);const Ar=ye=>{nt(!1),L==null||L(ye,Tt,dt)};S2({event:Re,handleId:nn,nodeId:Wt,onConnect:ye=>A==null?void 0:A(Tt,ye),isTarget:si,getState:oe.getState,setState:oe.setState,isValidConnection:rn,edgeUpdaterType:dt,onReconnectEnd:Ar})},rt=Re=>Se(Re,!0),ee=Re=>Se(Re,!1),It=()=>We(!0),_e=()=>We(!1),At=!M&&!a,Ht=Re=>{var Ze;if(!fe&&u2.includes(Re.key)&&M){const{unselectNodesAndEdges:Ne,addSelectedEdges:De,edges:Wt}=oe.getState();Re.key==="Escape"?((Ze=me.current)==null||Ze.blur(),Ne({edges:[Wt.find(dt=>dt.id===n)]})):De([n])}};return H.createElement("g",{className:xt(["react-flow__edge",`react-flow__edge-${i}`,r,{selected:l,animated:c,inactive:At,updating:Ge}]),onClick:X,onDoubleClick:je,onContextMenu:ut,onMouseEnter:wt,onMouseMove:ze,onMouseLeave:we,onKeyDown:J?Ht:void 0,tabIndex:J?0:void 0,role:J?"button":"img","data-testid":`rf__edge-${n}`,"aria-label":K===null?void 0:K||`Edge from ${m} to ${y}`,"aria-describedby":J?`${A2}-${Y}`:void 0,ref:me},!ct&&H.createElement(e,{id:n,source:m,target:y,selected:l,animated:c,label:u,labelStyle:f,labelShowBg:h,labelBgStyle:p,labelBgPadding:v,labelBgBorderRadius:g,data:o,style:b,sourceX:x,sourceY:S,targetX:C,targetY:R,sourcePosition:_,targetPosition:I,sourceHandleId:T,targetHandleId:z,markerStart:Qe,markerEnd:ne,pathOptions:ae,interactionWidth:ue}),ie&&H.createElement(H.Fragment,null,(ie==="source"||ie===!0)&&H.createElement(Cx,{position:_,centerX:x,centerY:S,radius:N,onMouseDown:rt,onMouseEnter:It,onMouseOut:_e,type:"source"}),(ie==="target"||ie===!0)&&H.createElement(Cx,{position:I,centerX:C,centerY:R,radius:N,onMouseDown:ee,onMouseEnter:It,onMouseOut:_e,type:"target"})))};return t.displayName="EdgeWrapper",w.memo(t)};function w3(e){const t={default:hi(e.default||jl),straight:hi(e.bezier||Yv),step:hi(e.step||Kv),smoothstep:hi(e.step||ic),simplebezier:hi(e.simplebezier||Gv)},n={},r=Object.keys(e).filter(i=>!["default","bezier"].includes(i)).reduce((i,o)=>(i[o]=hi(e[o]||jl),i),n);return{...t,...r}}function jx(e,t,n=null){const r=((n==null?void 0:n.x)||0)+t.x,i=((n==null?void 0:n.y)||0)+t.y,o=(n==null?void 0:n.width)||t.width,a=(n==null?void 0:n.height)||t.height;switch(e){case G.Top:return{x:r+o/2,y:i};case G.Right:return{x:r+o,y:i+a/2};case G.Bottom:return{x:r+o/2,y:i+a};case G.Left:return{x:r,y:i+a/2}}}function Rx(e,t){return e?e.length===1||!t?e[0]:t&&e.find(n=>n.id===t)||null:null}const b3=(e,t,n,r,i,o)=>{const a=jx(n,e,t),s=jx(o,r,i);return{sourceX:a.x,sourceY:a.y,targetX:s.x,targetY:s.y}};function S3({sourcePos:e,targetPos:t,sourceWidth:n,sourceHeight:r,targetWidth:i,targetHeight:o,width:a,height:s,transform:l}){const c={x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x+n,t.x+i),y2:Math.max(e.y+r,t.y+o)};c.x===c.x2&&(c.x2+=1),c.y===c.y2&&(c.y2+=1);const u=Vv({x:(0-l[0])/l[2],y:(0-l[1])/l[2],width:a/l[2],height:s/l[2]}),f=Math.max(0,Math.min(u.x2,c.x2)-Math.max(u.x,c.x)),h=Math.max(0,Math.min(u.y2,c.y2)-Math.max(u.y,c.y));return Math.ceil(f*h)>0}function Nx(e){var r,i,o,a,s;const t=((r=e==null?void 0:e[Fe])==null?void 0:r.handleBounds)||null,n=t&&(e==null?void 0:e.width)&&(e==null?void 0:e.height)&&typeof((i=e==null?void 0:e.positionAbsolute)==null?void 0:i.x)<"u"&&typeof((o=e==null?void 0:e.positionAbsolute)==null?void 0:o.y)<"u";return[{x:((a=e==null?void 0:e.positionAbsolute)==null?void 0:a.x)||0,y:((s=e==null?void 0:e.positionAbsolute)==null?void 0:s.y)||0,width:(e==null?void 0:e.width)||0,height:(e==null?void 0:e.height)||0},t,!!n]}const _3=[{level:0,isMaxLevel:!0,edges:[]}];function E3(e,t,n=!1){let r=-1;const i=e.reduce((a,s)=>{var u,f;const l=Xt(s.zIndex);let c=l?s.zIndex:0;if(n){const h=t.get(s.target),p=t.get(s.source),v=s.selected||(h==null?void 0:h.selected)||(p==null?void 0:p.selected),g=Math.max(((u=p==null?void 0:p[Fe])==null?void 0:u.z)||0,((f=h==null?void 0:h[Fe])==null?void 0:f.z)||0,1e3);c=(l?s.zIndex:0)+(v?g:0)}return a[c]?a[c].push(s):a[c]=[s],r=c>r?c:r,a},{}),o=Object.entries(i).map(([a,s])=>{const l=+a;return{edges:s,level:l,isMaxLevel:l===r}});return o.length===0?_3:o}function k3(e,t,n){const r=$e(w.useCallback(i=>e?i.edges.filter(o=>{const a=t.get(o.source),s=t.get(o.target);return(a==null?void 0:a.width)&&(a==null?void 0:a.height)&&(s==null?void 0:s.width)&&(s==null?void 0:s.height)&&S3({sourcePos:a.positionAbsolute||{x:0,y:0},targetPos:s.positionAbsolute||{x:0,y:0},sourceWidth:a.width,sourceHeight:a.height,targetWidth:s.width,targetHeight:s.height,width:i.width,height:i.height,transform:i.transform})}):i.edges,[e,t]));return E3(r,t,n)}const C3=({color:e="none",strokeWidth:t=1})=>H.createElement("polyline",{style:{stroke:e,strokeWidth:t},strokeLinecap:"round",strokeLinejoin:"round",fill:"none",points:"-5,-4 0,0 -5,4"}),j3=({color:e="none",strokeWidth:t=1})=>H.createElement("polyline",{style:{stroke:e,fill:e,strokeWidth:t},strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"}),Ix={[Wn.Arrow]:C3,[Wn.ArrowClosed]:j3};function R3(e){const t=Xe();return w.useMemo(()=>{var i,o;return Object.prototype.hasOwnProperty.call(Ix,e)?Ix[e]:((o=(i=t.getState()).onError)==null||o.call(i,"009",Hn.error009(e)),null)},[e])}const N3=({id:e,type:t,color:n,width:r=12.5,height:i=12.5,markerUnits:o="strokeWidth",strokeWidth:a,orient:s="auto-start-reverse"})=>{const l=R3(t);return l?H.createElement("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${r}`,markerHeight:`${i}`,viewBox:"-10 -10 20 20",markerUnits:o,orient:s,refX:"0",refY:"0"},H.createElement(l,{color:n,strokeWidth:a})):null},I3=({defaultColor:e,rfId:t})=>n=>{const r=[];return n.edges.reduce((i,o)=>([o.markerStart,o.markerEnd].forEach(a=>{if(a&&typeof a=="object"){const s=Im(a,t);r.includes(s)||(i.push({id:s,color:a.color||e,...a}),r.push(s))}}),i),[]).sort((i,o)=>i.id.localeCompare(o.id))},W2=({defaultColor:e,rfId:t})=>{const n=$e(w.useCallback(I3({defaultColor:e,rfId:t}),[e,t]),(r,i)=>!(r.length!==i.length||r.some((o,a)=>o.id!==i[a].id)));return H.createElement("defs",null,n.map(r=>H.createElement(N3,{id:r.id,key:r.id,type:r.type,color:r.color,width:r.width,height:r.height,markerUnits:r.markerUnits,strokeWidth:r.strokeWidth,orient:r.orient})))};W2.displayName="MarkerDefinitions";var A3=w.memo(W2);const T3=e=>({nodesConnectable:e.nodesConnectable,edgesFocusable:e.edgesFocusable,edgesUpdatable:e.edgesUpdatable,elementsSelectable:e.elementsSelectable,width:e.width,height:e.height,connectionMode:e.connectionMode,nodeInternals:e.nodeInternals,onError:e.onError}),U2=({defaultMarkerColor:e,onlyRenderVisibleElements:t,elevateEdgesOnSelect:n,rfId:r,edgeTypes:i,noPanClassName:o,onEdgeContextMenu:a,onEdgeMouseEnter:s,onEdgeMouseMove:l,onEdgeMouseLeave:c,onEdgeClick:u,onEdgeDoubleClick:f,onReconnect:h,onReconnectStart:p,onReconnectEnd:v,reconnectRadius:g,children:b,disableKeyboardA11y:m})=>{const{edgesFocusable:y,edgesUpdatable:x,elementsSelectable:S,width:C,height:R,connectionMode:_,nodeInternals:I,onError:M}=$e(T3,lt),k=k3(t,I,n);return C?H.createElement(H.Fragment,null,k.map(({level:T,edges:z,isMaxLevel:$})=>H.createElement("svg",{key:T,style:{zIndex:T},width:C,height:R,className:"react-flow__edges react-flow__container"},$&&H.createElement(A3,{defaultColor:e,rfId:r}),H.createElement("g",null,z.map(j=>{const[O,E,N]=Nx(I.get(j.source)),[A,P,L]=Nx(I.get(j.target));if(!N||!L)return null;let q=j.type||"default";i[q]||(M==null||M("011",Hn.error011(q)),q="default");const B=i[q]||i.default,Y=_===Zr.Strict?P.target:(P.target??[]).concat(P.source??[]),K=Rx(E.source,j.sourceHandle),J=Rx(Y,j.targetHandle),ie=(K==null?void 0:K.position)||G.Bottom,ae=(J==null?void 0:J.position)||G.Top,ue=!!(j.focusable||y&&typeof j.focusable>"u"),fe=j.reconnectable||j.updatable,me=typeof h<"u"&&(fe||x&&typeof fe>"u");if(!K||!J)return M==null||M("008",Hn.error008(K,j)),null;const{sourceX:Ge,sourceY:We,targetX:ct,targetY:nt}=b3(O,K,ie,A,J,ae);return H.createElement(B,{key:j.id,id:j.id,className:xt([j.className,o]),type:q,data:j.data,selected:!!j.selected,animated:!!j.animated,hidden:!!j.hidden,label:j.label,labelStyle:j.labelStyle,labelShowBg:j.labelShowBg,labelBgStyle:j.labelBgStyle,labelBgPadding:j.labelBgPadding,labelBgBorderRadius:j.labelBgBorderRadius,style:j.style,source:j.source,target:j.target,sourceHandleId:j.sourceHandle,targetHandleId:j.targetHandle,markerEnd:j.markerEnd,markerStart:j.markerStart,sourceX:Ge,sourceY:We,targetX:ct,targetY:nt,sourcePosition:ie,targetPosition:ae,elementsSelectable:S,onContextMenu:a,onMouseEnter:s,onMouseMove:l,onMouseLeave:c,onClick:u,onEdgeDoubleClick:f,onReconnect:h,onReconnectStart:p,onReconnectEnd:v,reconnectRadius:g,rfId:r,ariaLabel:j.ariaLabel,isFocusable:ue,isReconnectable:me,pathOptions:"pathOptions"in j?j.pathOptions:void 0,interactionWidth:j.interactionWidth,disableKeyboardA11y:m})})))),b):null};U2.displayName="EdgeRenderer";var P3=w.memo(U2);const M3=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function L3({children:e}){const t=$e(M3);return H.createElement("div",{className:"react-flow__viewport react-flow__container",style:{transform:t}},e)}function $3(e){const t=ey(),n=w.useRef(!1);w.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const z3={[G.Left]:G.Right,[G.Right]:G.Left,[G.Top]:G.Bottom,[G.Bottom]:G.Top},V2=({nodeId:e,handleType:t,style:n,type:r=lr.Bezier,CustomComponent:i,connectionStatus:o})=>{var R,_,I;const{fromNode:a,handleId:s,toX:l,toY:c,connectionMode:u}=$e(w.useCallback(M=>({fromNode:M.nodeInternals.get(e),handleId:M.connectionHandleId,toX:(M.connectionPosition.x-M.transform[0])/M.transform[2],toY:(M.connectionPosition.y-M.transform[1])/M.transform[2],connectionMode:M.connectionMode}),[e]),lt),f=(R=a==null?void 0:a[Fe])==null?void 0:R.handleBounds;let h=f==null?void 0:f[t];if(u===Zr.Loose&&(h=h||(f==null?void 0:f[t==="source"?"target":"source"])),!a||!h)return null;const p=s?h.find(M=>M.id===s):h[0],v=p?p.x+p.width/2:(a.width??0)/2,g=p?p.y+p.height/2:a.height??0,b=(((_=a.positionAbsolute)==null?void 0:_.x)??0)+v,m=(((I=a.positionAbsolute)==null?void 0:I.y)??0)+g,y=p==null?void 0:p.position,x=y?z3[y]:null;if(!y||!x)return null;if(i)return H.createElement(i,{connectionLineType:r,connectionLineStyle:n,fromNode:a,fromHandle:p,fromX:b,fromY:m,toX:l,toY:c,fromPosition:y,toPosition:x,connectionStatus:o});let S="";const C={sourceX:b,sourceY:m,sourcePosition:y,targetX:l,targetY:c,targetPosition:x};return r===lr.Bezier?[S]=g2(C):r===lr.Step?[S]=Nm({...C,borderRadius:0}):r===lr.SmoothStep?[S]=Nm(C):r===lr.SimpleBezier?[S]=p2(C):S=`M${b},${m} ${l},${c}`,H.createElement("path",{d:S,fill:"none",className:"react-flow__connection-path",style:n})};V2.displayName="ConnectionLine";const O3=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function F3({containerStyle:e,style:t,type:n,component:r}){const{nodeId:i,handleType:o,nodesConnectable:a,width:s,height:l,connectionStatus:c}=$e(O3,lt);return!(i&&o&&s&&a)?null:H.createElement("svg",{style:e,width:s,height:l,className:"react-flow__edges react-flow__connectionline react-flow__container"},H.createElement("g",{className:xt(["react-flow__connection",c])},H.createElement(V2,{nodeId:i,handleType:o,style:t,type:n,CustomComponent:r,connectionStatus:c})))}function Ax(e,t){return w.useRef(null),Xe(),w.useMemo(()=>t(e),[e])}const G2=({nodeTypes:e,edgeTypes:t,onMove:n,onMoveStart:r,onMoveEnd:i,onInit:o,onNodeClick:a,onEdgeClick:s,onNodeDoubleClick:l,onEdgeDoubleClick:c,onNodeMouseEnter:u,onNodeMouseMove:f,onNodeMouseLeave:h,onNodeContextMenu:p,onSelectionContextMenu:v,onSelectionStart:g,onSelectionEnd:b,connectionLineType:m,connectionLineStyle:y,connectionLineComponent:x,connectionLineContainerStyle:S,selectionKeyCode:C,selectionOnDrag:R,selectionMode:_,multiSelectionKeyCode:I,panActivationKeyCode:M,zoomActivationKeyCode:k,deleteKeyCode:T,onlyRenderVisibleElements:z,elementsSelectable:$,selectNodesOnDrag:j,defaultViewport:O,translateExtent:E,minZoom:N,maxZoom:A,preventScrolling:P,defaultMarkerColor:L,zoomOnScroll:q,zoomOnPinch:B,panOnScroll:Y,panOnScrollSpeed:K,panOnScrollMode:J,zoomOnDoubleClick:ie,panOnDrag:ae,onPaneClick:ue,onPaneMouseEnter:fe,onPaneMouseMove:me,onPaneMouseLeave:Ge,onPaneScroll:We,onPaneContextMenu:ct,onEdgeContextMenu:nt,onEdgeMouseEnter:oe,onEdgeMouseMove:Qe,onEdgeMouseLeave:ne,onReconnect:X,onReconnectStart:je,onReconnectEnd:ut,reconnectRadius:wt,noDragClassName:ze,noWheelClassName:we,noPanClassName:Se,elevateEdgesOnSelect:rt,disableKeyboardA11y:ee,nodeOrigin:It,nodeExtent:_e,rfId:At})=>{const Ht=Ax(e,h3),Re=Ax(t,w3);return $3(o),H.createElement(d3,{onPaneClick:ue,onPaneMouseEnter:fe,onPaneMouseMove:me,onPaneMouseLeave:Ge,onPaneContextMenu:ct,onPaneScroll:We,deleteKeyCode:T,selectionKeyCode:C,selectionOnDrag:R,selectionMode:_,onSelectionStart:g,onSelectionEnd:b,multiSelectionKeyCode:I,panActivationKeyCode:M,zoomActivationKeyCode:k,elementsSelectable:$,onMove:n,onMoveStart:r,onMoveEnd:i,zoomOnScroll:q,zoomOnPinch:B,zoomOnDoubleClick:ie,panOnScroll:Y,panOnScrollSpeed:K,panOnScrollMode:J,panOnDrag:ae,defaultViewport:O,translateExtent:E,minZoom:N,maxZoom:A,onSelectionContextMenu:v,preventScrolling:P,noDragClassName:ze,noWheelClassName:we,noPanClassName:Se,disableKeyboardA11y:ee},H.createElement(L3,null,H.createElement(P3,{edgeTypes:Re,onEdgeClick:s,onEdgeDoubleClick:c,onlyRenderVisibleElements:z,onEdgeContextMenu:nt,onEdgeMouseEnter:oe,onEdgeMouseMove:Qe,onEdgeMouseLeave:ne,onReconnect:X,onReconnectStart:je,onReconnectEnd:ut,reconnectRadius:wt,defaultMarkerColor:L,noPanClassName:Se,elevateEdgesOnSelect:!!rt,disableKeyboardA11y:ee,rfId:At},H.createElement(F3,{style:y,type:m,component:x,containerStyle:S})),H.createElement("div",{className:"react-flow__edgelabel-renderer"}),H.createElement(m3,{nodeTypes:Ht,onNodeClick:a,onNodeDoubleClick:l,onNodeMouseEnter:u,onNodeMouseMove:f,onNodeMouseLeave:h,onNodeContextMenu:p,selectNodesOnDrag:j,onlyRenderVisibleElements:z,noPanClassName:Se,noDragClassName:ze,disableKeyboardA11y:ee,nodeOrigin:It,nodeExtent:_e,rfId:At})))};G2.displayName="GraphView";var q3=w.memo(G2);const Mm=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Zn={rfId:"1",width:0,height:0,transform:[0,0,1],nodeInternals:new Map,edges:[],onNodesChange:null,onEdgesChange:null,hasDefaultNodes:!1,hasDefaultEdges:!1,d3Zoom:null,d3Selection:null,d3ZoomHandler:void 0,minZoom:.5,maxZoom:2,translateExtent:Mm,nodeExtent:Mm,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:Zr.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],nodeDragThreshold:0,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesUpdatable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,fitViewOnInit:!1,fitViewOnInitDone:!1,fitViewOnInitOptions:void 0,onSelectionChange:[],multiSelectionActive:!1,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:pL,isValidConnection:void 0},D3=()=>jA((e,t)=>({...Zn,setNodes:n=>{const{nodeInternals:r,nodeOrigin:i,elevateNodesOnSelect:o}=t();e({nodeInternals:xu(n,r,i,o)})},getNodes:()=>Array.from(t().nodeInternals.values()),setEdges:n=>{const{defaultEdgeOptions:r={}}=t();e({edges:n.map(i=>({...r,...i}))})},setDefaultNodesAndEdges:(n,r)=>{const i=typeof n<"u",o=typeof r<"u",a=i?xu(n,new Map,t().nodeOrigin,t().elevateNodesOnSelect):new Map;e({nodeInternals:a,edges:o?r:[],hasDefaultNodes:i,hasDefaultEdges:o})},updateNodeDimensions:n=>{const{onNodesChange:r,nodeInternals:i,fitViewOnInit:o,fitViewOnInitDone:a,fitViewOnInitOptions:s,domNode:l,nodeOrigin:c}=t(),u=l==null?void 0:l.querySelector(".react-flow__viewport");if(!u)return;const f=window.getComputedStyle(u),{m22:h}=new window.DOMMatrixReadOnly(f.transform),p=n.reduce((g,b)=>{const m=i.get(b.id);if(m!=null&&m.hidden)i.set(m.id,{...m,[Fe]:{...m[Fe],handleBounds:void 0}});else if(m){const y=Wv(b.nodeElement);!!(y.width&&y.height&&(m.width!==y.width||m.height!==y.height||b.forceUpdate))&&(i.set(m.id,{...m,[Fe]:{...m[Fe],handleBounds:{source:Ex(".source",b.nodeElement,h,c),target:Ex(".target",b.nodeElement,h,c)}},...y}),g.push({id:m.id,type:"dimensions",dimensions:y}))}return g},[]);P2(i,c);const v=a||o&&!a&&M2(t,{initial:!0,...s});e({nodeInternals:new Map(i),fitViewOnInitDone:v}),(p==null?void 0:p.length)>0&&(r==null||r(p))},updateNodePositions:(n,r=!0,i=!1)=>{const{triggerNodeChanges:o}=t(),a=n.map(s=>{const l={id:s.id,type:"position",dragging:i};return r&&(l.positionAbsolute=s.positionAbsolute,l.position=s.position),l});o(a)},triggerNodeChanges:n=>{const{onNodesChange:r,nodeInternals:i,hasDefaultNodes:o,nodeOrigin:a,getNodes:s,elevateNodesOnSelect:l}=t();if(n!=null&&n.length){if(o){const c=$2(n,s()),u=xu(c,i,a,l);e({nodeInternals:u})}r==null||r(n)}},addSelectedNodes:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let a,s=null;r?a=n.map(l=>or(l,!0)):(a=Ni(o(),n),s=Ni(i,[])),bs({changedNodes:a,changedEdges:s,get:t,set:e})},addSelectedEdges:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let a,s=null;r?a=n.map(l=>or(l,!0)):(a=Ni(i,n),s=Ni(o(),[])),bs({changedNodes:s,changedEdges:a,get:t,set:e})},unselectNodesAndEdges:({nodes:n,edges:r}={})=>{const{edges:i,getNodes:o}=t(),a=n||o(),s=r||i,l=a.map(u=>(u.selected=!1,or(u.id,!1))),c=s.map(u=>or(u.id,!1));bs({changedNodes:l,changedEdges:c,get:t,set:e})},setMinZoom:n=>{const{d3Zoom:r,maxZoom:i}=t();r==null||r.scaleExtent([n,i]),e({minZoom:n})},setMaxZoom:n=>{const{d3Zoom:r,minZoom:i}=t();r==null||r.scaleExtent([i,n]),e({maxZoom:n})},setTranslateExtent:n=>{var r;(r=t().d3Zoom)==null||r.translateExtent(n),e({translateExtent:n})},resetSelectedElements:()=>{const{edges:n,getNodes:r}=t(),o=r().filter(s=>s.selected).map(s=>or(s.id,!1)),a=n.filter(s=>s.selected).map(s=>or(s.id,!1));bs({changedNodes:o,changedEdges:a,get:t,set:e})},setNodeExtent:n=>{const{nodeInternals:r}=t();r.forEach(i=>{i.positionAbsolute=Uv(i.position,n)}),e({nodeExtent:n,nodeInternals:new Map(r)})},panBy:n=>{const{transform:r,width:i,height:o,d3Zoom:a,d3Selection:s,translateExtent:l}=t();if(!a||!s||!n.x&&!n.y)return!1;const c=wr.translate(r[0]+n.x,r[1]+n.y).scale(r[2]),u=[[0,0],[i,o]],f=a==null?void 0:a.constrain()(c,u,l);return a.transform(s,f),r[0]!==f.x||r[1]!==f.y||r[2]!==f.k},cancelConnection:()=>e({connectionNodeId:Zn.connectionNodeId,connectionHandleId:Zn.connectionHandleId,connectionHandleType:Zn.connectionHandleType,connectionStatus:Zn.connectionStatus,connectionStartHandle:Zn.connectionStartHandle,connectionEndHandle:Zn.connectionEndHandle}),reset:()=>e({...Zn})}),Object.is),K2=({children:e})=>{const t=w.useRef(null);return t.current||(t.current=D3()),H.createElement(aL,{value:t.current},e)};K2.displayName="ReactFlowProvider";const Y2=({children:e})=>w.useContext(rc)?H.createElement(H.Fragment,null,e):H.createElement(K2,null,e);Y2.displayName="ReactFlowWrapper";const B3={input:C2,default:Tm,output:R2,group:Jv},H3={default:jl,straight:Yv,step:Kv,smoothstep:ic,simplebezier:Gv},W3=[0,0],U3=[15,15],V3={x:0,y:0,zoom:1},G3={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},Ta=w.forwardRef(({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:i,nodeTypes:o=B3,edgeTypes:a=H3,onNodeClick:s,onEdgeClick:l,onInit:c,onMove:u,onMoveStart:f,onMoveEnd:h,onConnect:p,onConnectStart:v,onConnectEnd:g,onClickConnectStart:b,onClickConnectEnd:m,onNodeMouseEnter:y,onNodeMouseMove:x,onNodeMouseLeave:S,onNodeContextMenu:C,onNodeDoubleClick:R,onNodeDragStart:_,onNodeDrag:I,onNodeDragStop:M,onNodesDelete:k,onEdgesDelete:T,onSelectionChange:z,onSelectionDragStart:$,onSelectionDrag:j,onSelectionDragStop:O,onSelectionContextMenu:E,onSelectionStart:N,onSelectionEnd:A,connectionMode:P=Zr.Strict,connectionLineType:L=lr.Bezier,connectionLineStyle:q,connectionLineComponent:B,connectionLineContainerStyle:Y,deleteKeyCode:K="Backspace",selectionKeyCode:J="Shift",selectionOnDrag:ie=!1,selectionMode:ae=ba.Full,panActivationKeyCode:ue="Space",multiSelectionKeyCode:fe=Cl()?"Meta":"Control",zoomActivationKeyCode:me=Cl()?"Meta":"Control",snapToGrid:Ge=!1,snapGrid:We=U3,onlyRenderVisibleElements:ct=!1,selectNodesOnDrag:nt=!0,nodesDraggable:oe,nodesConnectable:Qe,nodesFocusable:ne,nodeOrigin:X=W3,edgesFocusable:je,edgesUpdatable:ut,elementsSelectable:wt,defaultViewport:ze=V3,minZoom:we=.5,maxZoom:Se=2,translateExtent:rt=Mm,preventScrolling:ee=!0,nodeExtent:It,defaultMarkerColor:_e="#b1b1b7",zoomOnScroll:At=!0,zoomOnPinch:Ht=!0,panOnScroll:Re=!1,panOnScrollSpeed:Ze=.5,panOnScrollMode:Ne=Dr.Free,zoomOnDoubleClick:De=!0,panOnDrag:Wt=!0,onPaneClick:nn,onPaneMouseEnter:dt,onPaneMouseMove:rn,onPaneMouseLeave:si,onPaneScroll:Tt,onPaneContextMenu:Ar,children:Oa,onEdgeContextMenu:ye,onEdgeDoubleClick:bt,onEdgeMouseEnter:Yn,onEdgeMouseMove:Nc,onEdgeMouseLeave:Xn,onEdgeUpdate:Ic,onEdgeUpdateStart:Ac,onEdgeUpdateEnd:Tc,onReconnect:Pc,onReconnectStart:Mc,onReconnectEnd:Fa,reconnectRadius:Lc=10,edgeUpdaterRadius:$c=10,onNodesChange:zc,onEdgesChange:Oc,noDragClassName:qa="nodrag",noWheelClassName:Da="nowheel",noPanClassName:ao="nopan",fitView:Ba=!1,fitViewOptions:Ha,connectOnClick:Wa=!0,attributionPosition:Ua,proOptions:Va,defaultEdgeOptions:Ga,elevateNodesOnSelect:Ka=!0,elevateEdgesOnSelect:Ya=!1,disableKeyboardA11y:so=!1,autoPanOnConnect:F=!0,autoPanOnNodeDrag:D=!0,connectionRadius:W=20,isValidConnection:re,onError:Z,style:se,id:ce,nodeDragThreshold:U,...ft},te)=>{const St=ce||"1";return H.createElement("div",{...ft,style:{...se,...G3},ref:te,className:xt(["react-flow",i]),"data-testid":"rf__wrapper",id:ce},H.createElement(Y2,null,H.createElement(q3,{onInit:c,onMove:u,onMoveStart:f,onMoveEnd:h,onNodeClick:s,onEdgeClick:l,onNodeMouseEnter:y,onNodeMouseMove:x,onNodeMouseLeave:S,onNodeContextMenu:C,onNodeDoubleClick:R,nodeTypes:o,edgeTypes:a,connectionLineType:L,connectionLineStyle:q,connectionLineComponent:B,connectionLineContainerStyle:Y,selectionKeyCode:J,selectionOnDrag:ie,selectionMode:ae,deleteKeyCode:K,multiSelectionKeyCode:fe,panActivationKeyCode:ue,zoomActivationKeyCode:me,onlyRenderVisibleElements:ct,selectNodesOnDrag:nt,defaultViewport:ze,translateExtent:rt,minZoom:we,maxZoom:Se,preventScrolling:ee,zoomOnScroll:At,zoomOnPinch:Ht,zoomOnDoubleClick:De,panOnScroll:Re,panOnScrollSpeed:Ze,panOnScrollMode:Ne,panOnDrag:Wt,onPaneClick:nn,onPaneMouseEnter:dt,onPaneMouseMove:rn,onPaneMouseLeave:si,onPaneScroll:Tt,onPaneContextMenu:Ar,onSelectionContextMenu:E,onSelectionStart:N,onSelectionEnd:A,onEdgeContextMenu:ye,onEdgeDoubleClick:bt,onEdgeMouseEnter:Yn,onEdgeMouseMove:Nc,onEdgeMouseLeave:Xn,onReconnect:Pc??Ic,onReconnectStart:Mc??Ac,onReconnectEnd:Fa??Tc,reconnectRadius:Lc??$c,defaultMarkerColor:_e,noDragClassName:qa,noWheelClassName:Da,noPanClassName:ao,elevateEdgesOnSelect:Ya,rfId:St,disableKeyboardA11y:so,nodeOrigin:X,nodeExtent:It}),H.createElement(zL,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:p,onConnectStart:v,onConnectEnd:g,onClickConnectStart:b,onClickConnectEnd:m,nodesDraggable:oe,nodesConnectable:Qe,nodesFocusable:ne,edgesFocusable:je,edgesUpdatable:ut,elementsSelectable:wt,elevateNodesOnSelect:Ka,minZoom:we,maxZoom:Se,nodeExtent:It,onNodesChange:zc,onEdgesChange:Oc,snapToGrid:Ge,snapGrid:We,connectionMode:P,translateExtent:rt,connectOnClick:Wa,defaultEdgeOptions:Ga,fitView:Ba,fitViewOptions:Ha,onNodesDelete:k,onEdgesDelete:T,onNodeDragStart:_,onNodeDrag:I,onNodeDragStop:M,onSelectionDrag:j,onSelectionDragStart:$,onSelectionDragStop:O,noPanClassName:ao,nodeOrigin:X,rfId:St,autoPanOnConnect:F,autoPanOnNodeDrag:D,onError:Z,connectionRadius:W,isValidConnection:re,nodeDragThreshold:U}),H.createElement(LL,{onSelectionChange:z}),Oa,H.createElement(lL,{proOptions:Va,position:Ua}),H.createElement(BL,{rfId:St,disableKeyboardA11y:so})))});Ta.displayName="ReactFlow";function X2(e){return t=>{const[n,r]=w.useState(t),i=w.useCallback(o=>r(a=>e(o,a)),[]);return[n,r,i]}}const oc=X2($2),ac=X2(n3);function K3(){return H.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},H.createElement("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"}))}function Y3(){return H.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},H.createElement("path",{d:"M0 0h32v4.2H0z"}))}function X3(){return H.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},H.createElement("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"}))}function Q3(){return H.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},H.createElement("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"}))}function Z3(){return H.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},H.createElement("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"}))}const zo=({children:e,className:t,...n})=>H.createElement("button",{type:"button",className:xt(["react-flow__controls-button",t]),...n},e);zo.displayName="ControlButton";const J3=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom}),Q2=({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:r=!0,fitViewOptions:i,onZoomIn:o,onZoomOut:a,onFitView:s,onInteractiveChange:l,className:c,children:u,position:f="bottom-left"})=>{const h=Xe(),[p,v]=w.useState(!1),{isInteractive:g,minZoomReached:b,maxZoomReached:m}=$e(J3,lt),{zoomIn:y,zoomOut:x,fitView:S}=ey();if(w.useEffect(()=>{v(!0)},[]),!p)return null;const C=()=>{y(),o==null||o()},R=()=>{x(),a==null||a()},_=()=>{S(i),s==null||s()},I=()=>{h.setState({nodesDraggable:!g,nodesConnectable:!g,elementsSelectable:!g}),l==null||l(!g)};return H.createElement(s2,{className:xt(["react-flow__controls",c]),position:f,style:e,"data-testid":"rf__controls"},t&&H.createElement(H.Fragment,null,H.createElement(zo,{onClick:C,className:"react-flow__controls-zoomin",title:"zoom in","aria-label":"zoom in",disabled:m},H.createElement(K3,null)),H.createElement(zo,{onClick:R,className:"react-flow__controls-zoomout",title:"zoom out","aria-label":"zoom out",disabled:b},H.createElement(Y3,null))),n&&H.createElement(zo,{className:"react-flow__controls-fitview",onClick:_,title:"fit view","aria-label":"fit view"},H.createElement(X3,null)),r&&H.createElement(zo,{className:"react-flow__controls-interactive",onClick:I,title:"toggle interactivity","aria-label":"toggle interactivity"},g?H.createElement(Z3,null):H.createElement(Q3,null)),u)};Q2.displayName="Controls";var sc=w.memo(Q2),mt;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(mt||(mt={}));function e4({color:e,dimensions:t,lineWidth:n}){return H.createElement("path",{stroke:e,strokeWidth:n,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`})}function t4({color:e,radius:t}){return H.createElement("circle",{cx:t,cy:t,r:t,fill:e})}const n4={[mt.Dots]:"#91919a",[mt.Lines]:"#eee",[mt.Cross]:"#e2e2e2"},r4={[mt.Dots]:1,[mt.Lines]:1,[mt.Cross]:6},i4=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function Z2({id:e,variant:t=mt.Dots,gap:n=20,size:r,lineWidth:i=1,offset:o=2,color:a,style:s,className:l}){const c=w.useRef(null),{transform:u,patternId:f}=$e(i4,lt),h=a||n4[t],p=r||r4[t],v=t===mt.Dots,g=t===mt.Cross,b=Array.isArray(n)?n:[n,n],m=[b[0]*u[2]||1,b[1]*u[2]||1],y=p*u[2],x=g?[y,y]:m,S=v?[y/o,y/o]:[x[0]/o,x[1]/o];return H.createElement("svg",{className:xt(["react-flow__background",l]),style:{...s,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:c,"data-testid":"rf__background"},H.createElement("pattern",{id:f+e,x:u[0]%m[0],y:u[1]%m[1],width:m[0],height:m[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${S[0]},-${S[1]})`},v?H.createElement(t4,{color:h,radius:y/o}):H.createElement(e4,{dimensions:x,color:h,lineWidth:i})),H.createElement("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${f+e})`}))}Z2.displayName="Background";var lc=w.memo(Z2);const cc={added:"var(--ca-success)",deleted:"var(--ca-danger)",modified:"var(--ca-warning)",unchanged:"var(--ca-edge-unchanged)"},Ot={added:{bg:"var(--ca-added-bg)",border:"var(--ca-added-border)",glow:"var(--ca-added-glow)",text:"var(--ca-added-text)"},deleted:{bg:"var(--ca-deleted-bg)",border:"var(--ca-deleted-border)",glow:"var(--ca-deleted-glow)",text:"var(--ca-deleted-text)"},modified:{bg:"var(--ca-modified-bg)",border:"var(--ca-modified-border)",glow:"var(--ca-modified-glow)",text:"var(--ca-modified-text)"},unchanged:{bg:"var(--ca-node-bg)",border:"var(--ca-edge-unchanged)",glow:"transparent",text:"var(--ca-accent)"}},kr={added:"+",deleted:"−",modified:"~",unchanged:""},Jr={added:"solid",deleted:"dashed",modified:"dotted",unchanged:"solid"},Tx={error:"var(--ca-danger)",warning:"var(--ca-warning)",info:"var(--ca-accent)"},o4={error:"!",warning:"!",info:"i"},Px={fontSize:8,padding:"1px 6px",borderRadius:4,border:"1px solid var(--ca-border)",background:"var(--ca-surface)",color:"var(--ca-text)",cursor:"pointer",opacity:.9};function a4({reviews:e}){const[t,n]=w.useState(!1),r=w.useMemo(()=>e.filter(u=>u.status==="open"),[e]);if(!e||r.length===0)return null;const i=r.some(u=>u.severity==="error")?"error":r.some(u=>u.severity==="warning")?"warning":"info",a={position:"absolute",bottom:-8,left:-8,fontSize:8,fontWeight:700,padding:"1px 5px",borderRadius:8,background:Tx[i],color:"#fff",cursor:"pointer",zIndex:10,lineHeight:"14px",whiteSpace:"nowrap",userSelect:"none",border:"1px solid rgba(0,0,0,0.2)"};if(!t)return d.jsxs("span",{style:a,title:`${r.length} open AI review finding${r.length>1?"s":""} — click to expand`,onClick:u=>{u.stopPropagation(),n(!0)},children:[o4[i]," ",r.length]});const s={position:"absolute",bottom:-8,left:-8,zIndex:9999,background:"var(--ca-surface)",border:"1px solid var(--ca-border)",borderRadius:8,boxShadow:"var(--ca-shadow-lg, 0 4px 16px rgba(0,0,0,0.3))",padding:"8px 10px",maxWidth:320,maxHeight:280,overflow:"auto",fontSize:10,color:"var(--ca-text)",lineHeight:1.4},l={display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:6,paddingBottom:4,borderBottom:"1px solid var(--ca-border)"};function c(u,f){var h;(h=window.vscodeApi)==null||h.postMessage({type:u,reviewId:f})}return d.jsxs("div",{style:s,onClick:u=>u.stopPropagation(),onMouseDown:u=>u.stopPropagation(),children:[d.jsxs("div",{style:l,children:[d.jsxs("span",{style:{fontWeight:700,fontSize:11},children:["AI Review (",r.length,")"]}),d.jsx("span",{style:{cursor:"pointer",fontSize:12,opacity:.7,padding:"0 2px"},onClick:()=>n(!1),title:"Collapse",children:"x"})]}),r.map(u=>d.jsxs("div",{style:{marginBottom:6,paddingBottom:4,borderBottom:"1px solid var(--ca-border)"},children:[d.jsxs("div",{style:{display:"flex",gap:4,alignItems:"center",marginBottom:2},children:[d.jsx("span",{style:{fontSize:7,fontWeight:700,padding:"0 4px",borderRadius:4,background:Tx[u.severity],color:"#fff",textTransform:"uppercase"},children:u.severity}),d.jsx("span",{style:{fontSize:7,padding:"0 3px",borderRadius:3,background:"var(--ca-border)",color:"var(--ca-text)",opacity:.8},children:u.category})]}),d.jsx("div",{style:{fontWeight:600,fontSize:10,marginBottom:2},children:u.title}),d.jsx("div",{style:{fontSize:9,opacity:.85,whiteSpace:"pre-wrap",wordBreak:"break-word",marginBottom:4},children:u.body}),d.jsxs("div",{style:{display:"flex",gap:4},children:[d.jsx("button",{style:{...Px,background:"var(--ca-success)",color:"#fff",border:"none"},onClick:()=>c("resolveAiReview",u.id),title:"Mark as resolved (addressed)",children:"Resolve"}),d.jsx("button",{style:Px,onClick:()=>c("ignoreAiReview",u.id),title:"Ignore (dismiss this finding)",children:"Ignore"})]})]},u.id))]})}const Rl=w.memo(a4),s4={error:"#ef4444",warning:"#f59e0b",info:"#38bdf8"};function l4(e){return e.length===0?null:e.some(t=>t.severity==="error")?"error":e.some(t=>t.severity==="warning")?"warning":"info"}function eo({graphId:e,targetId:t,onOpen:n,style:r}){const[i,o]=w.useState([]);w.useEffect(()=>Xl(()=>o(JI(e,t))),[e,t]);const a=l4(i);if(!a)return null;const s=i.length;return d.jsx("button",{type:"button","data-testid":"ai-review-marker","aria-label":`${s} AI ${s===1?"finding":"findings"}`,title:`${s} AI ${s===1?"finding":"findings"} — click to view`,onClick:l=>{l.stopPropagation();const c=l.currentTarget.getBoundingClientRect(),u={x:c.right,y:c.top};if(n)n(u,i);else try{document.dispatchEvent(new CustomEvent("ca:openAiFindingPopover",{detail:{anchor:u,findings:i}}))}catch{}},style:{position:"absolute",top:-7,right:-7,minWidth:18,height:18,borderRadius:9,padding:"0 4px",background:s4[a],border:"2px solid var(--ca-bg, #0a0a0b)",color:"white",fontSize:9,fontWeight:700,cursor:"pointer",boxShadow:"0 0 0 1px rgba(255,255,255,0.06)",zIndex:5,display:"inline-flex",alignItems:"center",justifyContent:"center",...r},children:s})}const c4={file:"📄",import:"📦",variable:"📌",function:"ƒ",participant:"👤",statement:"▷",decision:"◇",loop:"↻",terminal:"⬤",return:"↩",section:"☰"};function u4({data:e}){var b,m,y,x;const t=e.diff||"unchanged",n=Ot[t]||Ot.unchanged,r=c4[e.type]||"•",i=t==="deleted",o=((b=e.meta)==null?void 0:b.unused)===!0,a=e.type==="section",s={background:a?"var(--ca-node-body-bg)":n.bg,border:`1.5px ${a?"solid":Jr[t]||"solid"} ${a?"var(--ca-border)":n.border}`,borderRadius:a?6:10,padding:a?"6px 12px":"10px 14px",minWidth:a?220:160,maxWidth:280,boxShadow:a?"none":`0 2px 8px ${n.glow}, 0 1px 3px rgba(0,0,0,0.3)`,opacity:i?.7:o?.45:1,cursor:"pointer",transition:"all 0.15s ease",fontFamily:"'Inter', system-ui, sans-serif"},l={fontSize:12,fontWeight:600,color:i?"var(--ca-deleted-text)":"var(--ca-text)",textDecoration:i?"line-through":"none",lineHeight:1.3,wordBreak:"break-word"},c={fontSize:10,color:"var(--ca-text-muted)",marginTop:2,fontStyle:"italic"},u={fontSize:10,color:"var(--ca-accent)",marginTop:4,padding:"4px 6px",background:"var(--ca-node-body-bg)",borderRadius:4,fontFamily:"'SF Mono', 'Fira Code', monospace",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:250},f={position:"absolute",top:-6,right:-6,fontSize:8,fontWeight:700,padding:"1px 6px",borderRadius:8,background:n.border,color:"var(--ca-bg)",textTransform:"uppercase",letterSpacing:"0.5px"},h=e.matchReason,p=((m=e.meta)==null?void 0:m.commentCount)??0,v=e.graphId,g=e.nodeId;return d.jsxs("div",{style:{position:"relative",overflow:"visible"},title:h??void 0,children:[v&&g&&d.jsx(eo,{graphId:v,targetId:g}),d.jsx(Ae,{type:"target",position:G.Left,style:{background:n.border,width:6,height:6,border:"none"}}),d.jsxs("div",{style:s,children:[d.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6},children:[d.jsx("span",{style:{fontSize:14,opacity:.7},children:r}),d.jsx("span",{style:l,children:e.label}),p>0&&d.jsxs("span",{style:{fontSize:9,fontWeight:700,padding:"1px 5px",borderRadius:8,background:"var(--ca-accent)",color:"#fff",flexShrink:0,opacity:o?.45:1},title:`${p} comment${p>1?"s":""}`,children:["💬",p]})]}),e.subtitle&&d.jsx("div",{style:c,children:e.subtitle}),e.body&&d.jsx("div",{style:u,title:e.body,children:e.body}),e.diffDetail&&d.jsxs("div",{style:{marginTop:4,fontSize:9,lineHeight:1.4},children:[e.diffDetail.deleted&&d.jsxs("div",{style:{color:"var(--ca-deleted-text)"},children:["- ",Mx(e.diffDetail.deleted,60)]}),e.diffDetail.added&&d.jsxs("div",{style:{color:"var(--ca-added-text)"},children:["+ ",Mx(e.diffDetail.added,60)]})]})]}),t!=="unchanged"&&d.jsxs("span",{style:f,children:[kr[t]," ",t]}),((x=(y=e.meta)==null?void 0:y.aiReviews)==null?void 0:x.length)>0&&d.jsx(Rl,{reviews:e.meta.aiReviews}),d.jsx(Ae,{type:"source",position:G.Right,style:{background:n.border,width:6,height:6,border:"none"}})]})}function Mx(e,t){return e.length>t?e.substring(0,t)+"...":e}const d4=w.memo(u4);function Lx(e){let t=0;for(const n of e){const r=n.codePointAt(0)??0;r>=4352&&r<=4447||r>=11904&&r<=12350||r>=12353&&r<=13311||r>=13312&&r<=19903||r>=19968&&r<=40959||r>=40960&&r<=42191||r>=44032&&r<=55203||r>=63744&&r<=64255||r>=65072&&r<=65103||r>=65280&&r<=65376||r>=65504&&r<=65510||r>=131072&&r<=196605||r>=127744&&r<=129791?t+=2:t+=1}return t}function f4(e,t){if(Lx(e)<=t)return e;let n="",r=0;for(const i of e){const o=Lx(i);if(r+o>t-3)break;n+=i,r+=o}return n+"..."}const h4={terminal:"⬤",decision:"◇",loop:"↻",return:"↩",statement:"▷"},p4={added:"var(--ca-added-border)",deleted:"var(--ca-deleted-border)",modified:"var(--ca-modified-border)"};function g4({statements:e,hasDiff:t,diff:n,colors:r,handleStyle:i}){const[o,a]=w.useState(null);return d.jsxs("div",{style:{position:"relative"},children:[d.jsx(Ae,{type:"target",position:G.Top,style:{...i,top:-4}}),d.jsx("div",{className:"flow-node-statement",style:{"--ca-node-border-color":r.border,"--ca-node-shadow-color":r.glow,background:r.bg,border:`1.5px ${Jr[n]||"solid"} var(--ca-node-border-color)`,borderRadius:10,minWidth:180,maxWidth:340,boxShadow:"0 2px 8px var(--ca-node-shadow-color), 0 1px 3px rgba(0,0,0,0.3)",cursor:"pointer",transition:"all 0.15s ease",fontFamily:"'SF Mono', 'Fira Code', monospace",overflow:"visible"},children:e.map((s,l)=>{var b;const c=s.diff||"unchanged",u=p4[c],f=c==="deleted",h=c==="added",p=c==="modified",v=s.label.length>60,g=(b=s.diffDetail)!=null&&b.deleted?`Was: ${s.diffDetail.deleted}`:v?s.label:null;return d.jsxs("div",{"data-stmt-index":l,onMouseEnter:()=>g&&a(l),onMouseLeave:()=>a(null),style:{padding:"4px 12px",fontSize:10,lineHeight:1.4,color:f?"var(--ca-deleted-text)":h?"var(--ca-added-text)":p?"var(--ca-modified-text)":"var(--ca-text)",textDecoration:f?"line-through":"none",fontWeight:h?600:400,opacity:f?.6:1,borderLeft:u?`3px solid ${u}`:"3px solid transparent",borderBottom:l<e.length-1?"1px solid var(--ca-border)":"none",whiteSpace:"pre-wrap",wordBreak:"break-word",position:"relative",background:o===l?"var(--ca-surface-hover)":"transparent"},children:[t&&c!=="unchanged"&&d.jsx("span",{style:{fontWeight:700,marginRight:4,fontSize:9},children:kr[c]}),$m(s.label,60),o===l&&g&&d.jsx("div",{style:{position:"absolute",left:0,bottom:"100%",zIndex:9999,padding:"6px 10px",background:"var(--ca-surface)",border:"1px solid var(--ca-border)",borderRadius:6,fontSize:10,color:"var(--ca-text)",whiteSpace:"pre-wrap",wordBreak:"break-word",maxWidth:420,boxShadow:"var(--ca-shadow-lg)",pointerEvents:"none",fontFamily:"'SF Mono', 'Fira Code', monospace",lineHeight:1.4},children:g})]},l)})}),n!=="unchanged"&&d.jsxs("span",{style:Lm(r),children:[kr[n]," ",n]}),d.jsx(Ae,{type:"source",position:G.Bottom,style:{...i,bottom:-4}})]})}function m4({data:e}){var x,S,C,R,_,I;const t=e.diff||"unchanged",n=Ot[t]||Ot.unchanged,r=h4[e.type]||"▷",i=e.type==="terminal",o=e.type==="return",a=e.type==="decision",s=e.type==="loop",l=a||s,c=i||o,u=t==="deleted",f=(x=e.meta)==null?void 0:x.statements,h=f&&f.length>=2,p=160,v={background:n.border,width:7,height:7,border:"2px solid var(--ca-bg)",zIndex:10};if(l)return d.jsxs("div",{style:{position:"relative",width:p,height:p},children:[d.jsx(Ae,{type:"target",position:G.Top,style:{...v,top:-4}}),d.jsx("div",{className:"flow-node-diamond",style:{"--ca-node-border-color":n.border,"--ca-node-shadow-color":n.glow,position:"absolute",top:"50%",left:"50%",width:p*.78,height:p*.78,transform:"translate(-50%, -50%) rotate(45deg)",background:n.bg,border:`1.5px ${Jr[t]||"solid"} var(--ca-node-border-color)`,borderRadius:8,boxShadow:"0 2px 12px var(--ca-node-shadow-color), 0 1px 3px rgba(0,0,0,0.4)",overflow:"hidden",opacity:u?.7:1,cursor:"pointer",transition:"all 0.15s ease"},children:d.jsxs("div",{style:{transform:"rotate(-45deg)",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",width:"140%",height:"100%",marginLeft:"-20%",padding:"4px",textAlign:"center"},children:[d.jsx("span",{style:{fontSize:10,opacity:.5,marginBottom:2},children:s?"↻":"◇"}),d.jsx("span",{title:e.label,style:{fontSize:10,fontWeight:600,color:u?"var(--ca-deleted-text)":"var(--ca-text)",textDecoration:u?"line-through":"none",lineHeight:1.2,wordBreak:"break-word",maxWidth:"90%",overflow:"hidden",display:"-webkit-box",WebkitLineClamp:3,WebkitBoxOrient:"vertical"},children:f4(e.label,35)})]})}),t!=="unchanged"&&d.jsxs("span",{style:Lm(n),children:[kr[t]," ",t]}),d.jsx(Ae,{type:"source",position:G.Bottom,style:{...v,bottom:-4}})]});if(h){const M=f.some(k=>k.diff!=="unchanged");return d.jsxs("div",{style:{position:"relative"},children:[d.jsx(g4,{statements:f,hasDiff:M,diff:t,colors:n,handleStyle:v}),((C=(S=e.meta)==null?void 0:S.aiReviews)==null?void 0:C.length)>0&&d.jsx(Rl,{reviews:e.meta.aiReviews})]})}const g={"--ca-node-border-color":n.border,"--ca-node-shadow-color":n.glow,background:n.bg,border:`1.5px ${Jr[t]||"solid"} var(--ca-node-border-color)`,borderRadius:c?999:10,padding:e.diffDetail?0:"10px 16px",minWidth:160,maxWidth:280,boxShadow:"0 2px 8px var(--ca-node-shadow-color), 0 1px 3px rgba(0,0,0,0.3)",opacity:u?.7:1,cursor:"pointer",transition:"all 0.15s ease",fontFamily:"'Inter', system-ui, sans-serif",overflow:"hidden"},b={fontSize:11,fontWeight:c?700:500,color:u?"var(--ca-deleted-text)":"var(--ca-text)",textDecoration:u?"line-through":"none",lineHeight:1.3,wordBreak:"break-word",textAlign:"center",whiteSpace:"pre-wrap"},m=e.graphId,y=e.nodeId;return d.jsxs("div",{style:{position:"relative"},children:[m&&y&&d.jsx(eo,{graphId:m,targetId:y}),d.jsx(Ae,{type:"target",position:G.Top,style:{...v,top:-4}}),d.jsx("div",{className:`flow-node-${e.type}`,style:g,title:e.label.length>40?e.label:void 0,children:e.diffDetail?d.jsxs("div",{children:[d.jsx("div",{style:{padding:"8px 14px",textAlign:"center"},children:d.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",gap:5},children:[d.jsx("span",{style:{fontSize:12,opacity:.5},children:r}),d.jsx("span",{style:b,children:e.label})]})}),e.diffDetail.deleted&&d.jsxs("div",{style:$x("deleted"),children:[d.jsx("span",{style:{fontWeight:700,marginRight:4},children:"−"}),d.jsx("span",{style:{textDecoration:"line-through"},children:$m(e.diffDetail.deleted,80)})]}),e.diffDetail.added&&d.jsxs("div",{style:$x("added"),children:[d.jsx("span",{style:{fontWeight:700,marginRight:4},children:"+"}),d.jsx("strong",{children:$m(e.diffDetail.added,80)})]})]}):d.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",gap:6},children:[d.jsx("span",{style:{fontSize:12,opacity:.5},children:r}),d.jsx("span",{style:b,children:e.label}),((R=e.meta)==null?void 0:R.commentCount)>0&&d.jsxs("span",{style:{fontSize:9,fontWeight:700,padding:"1px 5px",borderRadius:8,background:"var(--ca-accent)",color:"#fff",flexShrink:0},children:["💬",e.meta.commentCount]})]})}),t!=="unchanged"&&d.jsxs("span",{style:Lm(n),children:[kr[t]," ",t]}),((I=(_=e.meta)==null?void 0:_.aiReviews)==null?void 0:I.length)>0&&d.jsx(Rl,{reviews:e.meta.aiReviews}),d.jsx(Ae,{type:"source",position:G.Bottom,style:{...v,bottom:-4}})]})}function Lm(e){return{position:"absolute",top:-6,right:-6,fontSize:8,fontWeight:700,padding:"1px 6px",borderRadius:8,background:e.border,color:"var(--ca-bg)",textTransform:"uppercase",letterSpacing:"0.5px",zIndex:5}}function $x(e){return{background:e==="deleted"?"var(--ca-deleted-bg)":"var(--ca-added-bg)",color:e==="deleted"?"var(--ca-deleted-text)":"var(--ca-added-text)",padding:"4px 10px",fontSize:9,fontFamily:"'SF Mono', 'Fira Code', monospace",borderTop:`1px solid ${e==="deleted"?"var(--ca-deleted-border)":"var(--ca-added-border)"}`,whiteSpace:"pre-wrap",lineHeight:1.4}}function $m(e,t){return e.length>t?e.substring(0,t)+"...":e}const v4=w.memo(m4),y4={file:"📄",import:"📦",variable:"📌",function:"ƒ",participant:"👤",statement:"▷",decision:"◇",loop:"↻",terminal:"⬤",return:"↩",section:"☰",class:"◆"};function x4({id:e,data:t}){t.diff,t.items.some(s=>s.diff&&s.diff!=="unchanged");let n="var(--ca-border)";t.items.length>0&&t.items.every(s=>s.diff==="added")&&t.items.length>3&&(n=Ot.added.border);const r={background:"var(--ca-node-body-bg)",border:`1.5px solid ${n}`,borderRadius:8,minWidth:260,maxWidth:380,boxShadow:"0 4px 12px rgba(0,0,0,0.5)",fontFamily:"'Inter', system-ui, sans-serif",overflow:"hidden"},i={background:"var(--ca-border)",padding:"6px 12px",fontSize:12,fontWeight:700,color:"var(--ca-text)",textTransform:"uppercase",letterSpacing:"0.5px",display:"flex",justifyContent:"space-between",alignItems:"center"},o={display:"flex",flexDirection:"column",padding:"4px",gap:"4px",maxHeight:400,overflowY:"auto"},a=s=>{const l=s.diff||"unchanged",c=Ot[l]||Ot.unchanged,u=l==="deleted",f=y4[s.type]||"•",h={display:"flex",flexDirection:"column",padding:"6px 8px",background:c.bg,borderLeft:`3px solid ${c.border}`,borderRadius:4,cursor:"pointer",opacity:u?.7:1,transition:"background 0.15s ease"},p={display:"flex",alignItems:"center",gap:6,fontSize:11,fontWeight:600,color:u?"var(--ca-deleted-text)":"var(--ca-text)",textDecoration:u?"line-through":"none"},v={fontSize:9,color:"var(--ca-accent)",marginTop:4,marginLeft:18,fontFamily:"'SF Mono', 'Fira Code', monospace",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},g=b=>{b.stopPropagation();const m=new CustomEvent("classBlockItemClick",{detail:{nodeId:s.id,nodeData:{label:s.label,type:s.type,anchor:s.anchor}},bubbles:!0});b.currentTarget.dispatchEvent(m)};return d.jsxs("div",{style:h,onClick:g,onMouseEnter:b=>b.currentTarget.style.background=`color-mix(in srgb, ${c.bg} 85%, white)`,onMouseLeave:b=>b.currentTarget.style.background=c.bg,children:[d.jsxs("div",{style:p,children:[d.jsx("span",{style:{fontSize:13,opacity:.8},children:f}),d.jsx("span",{title:s.label,children:zx(s.label,40)}),l!=="unchanged"&&d.jsx("span",{style:{marginLeft:"auto",width:6,height:6,borderRadius:"50%",background:c.border},title:l})]}),s.body&&d.jsx("div",{style:v,title:s.body,children:zx(s.body,50)})]},s.id)};return d.jsxs("div",{style:{position:"relative"},children:[d.jsx(Ae,{type:"target",position:G.Left,style:{background:n,width:8,height:8}}),d.jsxs("div",{style:r,children:[d.jsxs("div",{style:i,children:[d.jsx("span",{children:t.label}),d.jsx("span",{style:{opacity:.6,fontSize:10},children:t.items.length})]}),d.jsx("div",{style:o,className:"nodrag nowheel",children:t.items.map(a)})]}),d.jsx(Ae,{type:"source",position:G.Right,style:{background:n,width:8,height:8}})]})}function zx(e,t){return e.length>t?e.substring(0,t)+"...":e}const w4=w.memo(x4);function ny(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var _u,Ox;function b4(){if(Ox)return _u;Ox=1;function e(){this.__data__=[],this.size=0}return _u=e,_u}var Eu,Fx;function to(){if(Fx)return Eu;Fx=1;function e(t,n){return t===n||t!==t&&n!==n}return Eu=e,Eu}var ku,qx;function uc(){if(qx)return ku;qx=1;var e=to();function t(n,r){for(var i=n.length;i--;)if(e(n[i][0],r))return i;return-1}return ku=t,ku}var Cu,Dx;function S4(){if(Dx)return Cu;Dx=1;var e=uc(),t=Array.prototype,n=t.splice;function r(i){var o=this.__data__,a=e(o,i);if(a<0)return!1;var s=o.length-1;return a==s?o.pop():n.call(o,a,1),--this.size,!0}return Cu=r,Cu}var ju,Bx;function _4(){if(Bx)return ju;Bx=1;var e=uc();function t(n){var r=this.__data__,i=e(r,n);return i<0?void 0:r[i][1]}return ju=t,ju}var Ru,Hx;function E4(){if(Hx)return Ru;Hx=1;var e=uc();function t(n){return e(this.__data__,n)>-1}return Ru=t,Ru}var Nu,Wx;function k4(){if(Wx)return Nu;Wx=1;var e=uc();function t(n,r){var i=this.__data__,o=e(i,n);return o<0?(++this.size,i.push([n,r])):i[o][1]=r,this}return Nu=t,Nu}var Iu,Ux;function dc(){if(Ux)return Iu;Ux=1;var e=b4(),t=S4(),n=_4(),r=E4(),i=k4();function o(a){var s=-1,l=a==null?0:a.length;for(this.clear();++s<l;){var c=a[s];this.set(c[0],c[1])}}return o.prototype.clear=e,o.prototype.delete=t,o.prototype.get=n,o.prototype.has=r,o.prototype.set=i,Iu=o,Iu}var Au,Vx;function C4(){if(Vx)return Au;Vx=1;var e=dc();function t(){this.__data__=new e,this.size=0}return Au=t,Au}var Tu,Gx;function j4(){if(Gx)return Tu;Gx=1;function e(t){var n=this.__data__,r=n.delete(t);return this.size=n.size,r}return Tu=e,Tu}var Pu,Kx;function R4(){if(Kx)return Pu;Kx=1;function e(t){return this.__data__.get(t)}return Pu=e,Pu}var Mu,Yx;function N4(){if(Yx)return Mu;Yx=1;function e(t){return this.__data__.has(t)}return Mu=e,Mu}var Lu,Xx;function J2(){if(Xx)return Lu;Xx=1;var e=typeof Xa=="object"&&Xa&&Xa.Object===Object&&Xa;return Lu=e,Lu}var $u,Qx;function mn(){if(Qx)return $u;Qx=1;var e=J2(),t=typeof self=="object"&&self&&self.Object===Object&&self,n=e||t||Function("return this")();return $u=n,$u}var zu,Zx;function no(){if(Zx)return zu;Zx=1;var e=mn(),t=e.Symbol;return zu=t,zu}var Ou,Jx;function I4(){if(Jx)return Ou;Jx=1;var e=no(),t=Object.prototype,n=t.hasOwnProperty,r=t.toString,i=e?e.toStringTag:void 0;function o(a){var s=n.call(a,i),l=a[i];try{a[i]=void 0;var c=!0}catch{}var u=r.call(a);return c&&(s?a[i]=l:delete a[i]),u}return Ou=o,Ou}var Fu,e1;function A4(){if(e1)return Fu;e1=1;var e=Object.prototype,t=e.toString;function n(r){return t.call(r)}return Fu=n,Fu}var qu,t1;function ni(){if(t1)return qu;t1=1;var e=no(),t=I4(),n=A4(),r="[object Null]",i="[object Undefined]",o=e?e.toStringTag:void 0;function a(s){return s==null?s===void 0?i:r:o&&o in Object(s)?t(s):n(s)}return qu=a,qu}var Du,n1;function en(){if(n1)return Du;n1=1;function e(t){var n=typeof t;return t!=null&&(n=="object"||n=="function")}return Du=e,Du}var Bu,r1;function Pa(){if(r1)return Bu;r1=1;var e=ni(),t=en(),n="[object AsyncFunction]",r="[object Function]",i="[object GeneratorFunction]",o="[object Proxy]";function a(s){if(!t(s))return!1;var l=e(s);return l==r||l==i||l==n||l==o}return Bu=a,Bu}var Hu,i1;function T4(){if(i1)return Hu;i1=1;var e=mn(),t=e["__core-js_shared__"];return Hu=t,Hu}var Wu,o1;function P4(){if(o1)return Wu;o1=1;var e=T4(),t=function(){var r=/[^.]+$/.exec(e&&e.keys&&e.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""}();function n(r){return!!t&&t in r}return Wu=n,Wu}var Uu,a1;function ej(){if(a1)return Uu;a1=1;var e=Function.prototype,t=e.toString;function n(r){if(r!=null){try{return t.call(r)}catch{}try{return r+""}catch{}}return""}return Uu=n,Uu}var Vu,s1;function M4(){if(s1)return Vu;s1=1;var e=Pa(),t=P4(),n=en(),r=ej(),i=/[\\^$.*+?()[\]{}|]/g,o=/^\[object .+?Constructor\]$/,a=Function.prototype,s=Object.prototype,l=a.toString,c=s.hasOwnProperty,u=RegExp("^"+l.call(c).replace(i,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function f(h){if(!n(h)||t(h))return!1;var p=e(h)?u:o;return p.test(r(h))}return Vu=f,Vu}var Gu,l1;function L4(){if(l1)return Gu;l1=1;function e(t,n){return t==null?void 0:t[n]}return Gu=e,Gu}var Ku,c1;function ri(){if(c1)return Ku;c1=1;var e=M4(),t=L4();function n(r,i){var o=t(r,i);return e(o)?o:void 0}return Ku=n,Ku}var Yu,u1;function ry(){if(u1)return Yu;u1=1;var e=ri(),t=mn(),n=e(t,"Map");return Yu=n,Yu}var Xu,d1;function fc(){if(d1)return Xu;d1=1;var e=ri(),t=e(Object,"create");return Xu=t,Xu}var Qu,f1;function $4(){if(f1)return Qu;f1=1;var e=fc();function t(){this.__data__=e?e(null):{},this.size=0}return Qu=t,Qu}var Zu,h1;function z4(){if(h1)return Zu;h1=1;function e(t){var n=this.has(t)&&delete this.__data__[t];return this.size-=n?1:0,n}return Zu=e,Zu}var Ju,p1;function O4(){if(p1)return Ju;p1=1;var e=fc(),t="__lodash_hash_undefined__",n=Object.prototype,r=n.hasOwnProperty;function i(o){var a=this.__data__;if(e){var s=a[o];return s===t?void 0:s}return r.call(a,o)?a[o]:void 0}return Ju=i,Ju}var ed,g1;function F4(){if(g1)return ed;g1=1;var e=fc(),t=Object.prototype,n=t.hasOwnProperty;function r(i){var o=this.__data__;return e?o[i]!==void 0:n.call(o,i)}return ed=r,ed}var td,m1;function q4(){if(m1)return td;m1=1;var e=fc(),t="__lodash_hash_undefined__";function n(r,i){var o=this.__data__;return this.size+=this.has(r)?0:1,o[r]=e&&i===void 0?t:i,this}return td=n,td}var nd,v1;function D4(){if(v1)return nd;v1=1;var e=$4(),t=z4(),n=O4(),r=F4(),i=q4();function o(a){var s=-1,l=a==null?0:a.length;for(this.clear();++s<l;){var c=a[s];this.set(c[0],c[1])}}return o.prototype.clear=e,o.prototype.delete=t,o.prototype.get=n,o.prototype.has=r,o.prototype.set=i,nd=o,nd}var rd,y1;function B4(){if(y1)return rd;y1=1;var e=D4(),t=dc(),n=ry();function r(){this.size=0,this.__data__={hash:new e,map:new(n||t),string:new e}}return rd=r,rd}var id,x1;function H4(){if(x1)return id;x1=1;function e(t){var n=typeof t;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?t!=="__proto__":t===null}return id=e,id}var od,w1;function hc(){if(w1)return od;w1=1;var e=H4();function t(n,r){var i=n.__data__;return e(r)?i[typeof r=="string"?"string":"hash"]:i.map}return od=t,od}var ad,b1;function W4(){if(b1)return ad;b1=1;var e=hc();function t(n){var r=e(this,n).delete(n);return this.size-=r?1:0,r}return ad=t,ad}var sd,S1;function U4(){if(S1)return sd;S1=1;var e=hc();function t(n){return e(this,n).get(n)}return sd=t,sd}var ld,_1;function V4(){if(_1)return ld;_1=1;var e=hc();function t(n){return e(this,n).has(n)}return ld=t,ld}var cd,E1;function G4(){if(E1)return cd;E1=1;var e=hc();function t(n,r){var i=e(this,n),o=i.size;return i.set(n,r),this.size+=i.size==o?0:1,this}return cd=t,cd}var ud,k1;function iy(){if(k1)return ud;k1=1;var e=B4(),t=W4(),n=U4(),r=V4(),i=G4();function o(a){var s=-1,l=a==null?0:a.length;for(this.clear();++s<l;){var c=a[s];this.set(c[0],c[1])}}return o.prototype.clear=e,o.prototype.delete=t,o.prototype.get=n,o.prototype.has=r,o.prototype.set=i,ud=o,ud}var dd,C1;function K4(){if(C1)return dd;C1=1;var e=dc(),t=ry(),n=iy(),r=200;function i(o,a){var s=this.__data__;if(s instanceof e){var l=s.__data__;if(!t||l.length<r-1)return l.push([o,a]),this.size=++s.size,this;s=this.__data__=new n(l)}return s.set(o,a),this.size=s.size,this}return dd=i,dd}var fd,j1;function pc(){if(j1)return fd;j1=1;var e=dc(),t=C4(),n=j4(),r=R4(),i=N4(),o=K4();function a(s){var l=this.__data__=new e(s);this.size=l.size}return a.prototype.clear=t,a.prototype.delete=n,a.prototype.get=r,a.prototype.has=i,a.prototype.set=o,fd=a,fd}var hd,R1;function oy(){if(R1)return hd;R1=1;function e(t,n){for(var r=-1,i=t==null?0:t.length;++r<i&&n(t[r],r,t)!==!1;);return t}return hd=e,hd}var pd,N1;function tj(){if(N1)return pd;N1=1;var e=ri(),t=function(){try{var n=e(Object,"defineProperty");return n({},"",{}),n}catch{}}();return pd=t,pd}var gd,I1;function gc(){if(I1)return gd;I1=1;var e=tj();function t(n,r,i){r=="__proto__"&&e?e(n,r,{configurable:!0,enumerable:!0,value:i,writable:!0}):n[r]=i}return gd=t,gd}var md,A1;function mc(){if(A1)return md;A1=1;var e=gc(),t=to(),n=Object.prototype,r=n.hasOwnProperty;function i(o,a,s){var l=o[a];(!(r.call(o,a)&&t(l,s))||s===void 0&&!(a in o))&&e(o,a,s)}return md=i,md}var vd,T1;function Ma(){if(T1)return vd;T1=1;var e=mc(),t=gc();function n(r,i,o,a){var s=!o;o||(o={});for(var l=-1,c=i.length;++l<c;){var u=i[l],f=a?a(o[u],r[u],u,o,r):void 0;f===void 0&&(f=r[u]),s?t(o,u,f):e(o,u,f)}return o}return vd=n,vd}var yd,P1;function Y4(){if(P1)return yd;P1=1;function e(t,n){for(var r=-1,i=Array(t);++r<t;)i[r]=n(r);return i}return yd=e,yd}var xd,M1;function jn(){if(M1)return xd;M1=1;function e(t){return t!=null&&typeof t=="object"}return xd=e,xd}var wd,L1;function X4(){if(L1)return wd;L1=1;var e=ni(),t=jn(),n="[object Arguments]";function r(i){return t(i)&&e(i)==n}return wd=r,wd}var bd,$1;function La(){if($1)return bd;$1=1;var e=X4(),t=jn(),n=Object.prototype,r=n.hasOwnProperty,i=n.propertyIsEnumerable,o=e(function(){return arguments}())?e:function(a){return t(a)&&r.call(a,"callee")&&!i.call(a,"callee")};return bd=o,bd}var Sd,z1;function He(){if(z1)return Sd;z1=1;var e=Array.isArray;return Sd=e,Sd}var Oo={exports:{}},_d,O1;function Q4(){if(O1)return _d;O1=1;function e(){return!1}return _d=e,_d}Oo.exports;var F1;function ro(){return F1||(F1=1,function(e,t){var n=mn(),r=Q4(),i=t&&!t.nodeType&&t,o=i&&!0&&e&&!e.nodeType&&e,a=o&&o.exports===i,s=a?n.Buffer:void 0,l=s?s.isBuffer:void 0,c=l||r;e.exports=c}(Oo,Oo.exports)),Oo.exports}var Ed,q1;function vc(){if(q1)return Ed;q1=1;var e=9007199254740991,t=/^(?:0|[1-9]\d*)$/;function n(r,i){var o=typeof r;return i=i??e,!!i&&(o=="number"||o!="symbol"&&t.test(r))&&r>-1&&r%1==0&&r<i}return Ed=n,Ed}var kd,D1;function ay(){if(D1)return kd;D1=1;var e=9007199254740991;function t(n){return typeof n=="number"&&n>-1&&n%1==0&&n<=e}return kd=t,kd}var Cd,B1;function Z4(){if(B1)return Cd;B1=1;var e=ni(),t=ay(),n=jn(),r="[object Arguments]",i="[object Array]",o="[object Boolean]",a="[object Date]",s="[object Error]",l="[object Function]",c="[object Map]",u="[object Number]",f="[object Object]",h="[object RegExp]",p="[object Set]",v="[object String]",g="[object WeakMap]",b="[object ArrayBuffer]",m="[object DataView]",y="[object Float32Array]",x="[object Float64Array]",S="[object Int8Array]",C="[object Int16Array]",R="[object Int32Array]",_="[object Uint8Array]",I="[object Uint8ClampedArray]",M="[object Uint16Array]",k="[object Uint32Array]",T={};T[y]=T[x]=T[S]=T[C]=T[R]=T[_]=T[I]=T[M]=T[k]=!0,T[r]=T[i]=T[b]=T[o]=T[m]=T[a]=T[s]=T[l]=T[c]=T[u]=T[f]=T[h]=T[p]=T[v]=T[g]=!1;function z($){return n($)&&t($.length)&&!!T[e($)]}return Cd=z,Cd}var jd,H1;function yc(){if(H1)return jd;H1=1;function e(t){return function(n){return t(n)}}return jd=e,jd}var Fo={exports:{}};Fo.exports;var W1;function sy(){return W1||(W1=1,function(e,t){var n=J2(),r=t&&!t.nodeType&&t,i=r&&!0&&e&&!e.nodeType&&e,o=i&&i.exports===r,a=o&&n.process,s=function(){try{var l=i&&i.require&&i.require("util").types;return l||a&&a.binding&&a.binding("util")}catch{}}();e.exports=s}(Fo,Fo.exports)),Fo.exports}var Rd,U1;function $a(){if(U1)return Rd;U1=1;var e=Z4(),t=yc(),n=sy(),r=n&&n.isTypedArray,i=r?t(r):e;return Rd=i,Rd}var Nd,V1;function nj(){if(V1)return Nd;V1=1;var e=Y4(),t=La(),n=He(),r=ro(),i=vc(),o=$a(),a=Object.prototype,s=a.hasOwnProperty;function l(c,u){var f=n(c),h=!f&&t(c),p=!f&&!h&&r(c),v=!f&&!h&&!p&&o(c),g=f||h||p||v,b=g?e(c.length,String):[],m=b.length;for(var y in c)(u||s.call(c,y))&&!(g&&(y=="length"||p&&(y=="offset"||y=="parent")||v&&(y=="buffer"||y=="byteLength"||y=="byteOffset")||i(y,m)))&&b.push(y);return b}return Nd=l,Nd}var Id,G1;function xc(){if(G1)return Id;G1=1;var e=Object.prototype;function t(n){var r=n&&n.constructor,i=typeof r=="function"&&r.prototype||e;return n===i}return Id=t,Id}var Ad,K1;function rj(){if(K1)return Ad;K1=1;function e(t,n){return function(r){return t(n(r))}}return Ad=e,Ad}var Td,Y1;function J4(){if(Y1)return Td;Y1=1;var e=rj(),t=e(Object.keys,Object);return Td=t,Td}var Pd,X1;function ly(){if(X1)return Pd;X1=1;var e=xc(),t=J4(),n=Object.prototype,r=n.hasOwnProperty;function i(o){if(!e(o))return t(o);var a=[];for(var s in Object(o))r.call(o,s)&&s!="constructor"&&a.push(s);return a}return Pd=i,Pd}var Md,Q1;function Gn(){if(Q1)return Md;Q1=1;var e=Pa(),t=ay();function n(r){return r!=null&&t(r.length)&&!e(r)}return Md=n,Md}var Ld,Z1;function Ir(){if(Z1)return Ld;Z1=1;var e=nj(),t=ly(),n=Gn();function r(i){return n(i)?e(i):t(i)}return Ld=r,Ld}var $d,J1;function e$(){if(J1)return $d;J1=1;var e=Ma(),t=Ir();function n(r,i){return r&&e(i,t(i),r)}return $d=n,$d}var zd,ew;function t$(){if(ew)return zd;ew=1;function e(t){var n=[];if(t!=null)for(var r in Object(t))n.push(r);return n}return zd=e,zd}var Od,tw;function n$(){if(tw)return Od;tw=1;var e=en(),t=xc(),n=t$(),r=Object.prototype,i=r.hasOwnProperty;function o(a){if(!e(a))return n(a);var s=t(a),l=[];for(var c in a)c=="constructor"&&(s||!i.call(a,c))||l.push(c);return l}return Od=o,Od}var Fd,nw;function ii(){if(nw)return Fd;nw=1;var e=nj(),t=n$(),n=Gn();function r(i){return n(i)?e(i,!0):t(i)}return Fd=r,Fd}var qd,rw;function r$(){if(rw)return qd;rw=1;var e=Ma(),t=ii();function n(r,i){return r&&e(i,t(i),r)}return qd=n,qd}var qo={exports:{}};qo.exports;var iw;function ij(){return iw||(iw=1,function(e,t){var n=mn(),r=t&&!t.nodeType&&t,i=r&&!0&&e&&!e.nodeType&&e,o=i&&i.exports===r,a=o?n.Buffer:void 0,s=a?a.allocUnsafe:void 0;function l(c,u){if(u)return c.slice();var f=c.length,h=s?s(f):new c.constructor(f);return c.copy(h),h}e.exports=l}(qo,qo.exports)),qo.exports}var Dd,ow;function oj(){if(ow)return Dd;ow=1;function e(t,n){var r=-1,i=t.length;for(n||(n=Array(i));++r<i;)n[r]=t[r];return n}return Dd=e,Dd}var Bd,aw;function aj(){if(aw)return Bd;aw=1;function e(t,n){for(var r=-1,i=t==null?0:t.length,o=0,a=[];++r<i;){var s=t[r];n(s,r,t)&&(a[o++]=s)}return a}return Bd=e,Bd}var Hd,sw;function sj(){if(sw)return Hd;sw=1;function e(){return[]}return Hd=e,Hd}var Wd,lw;function cy(){if(lw)return Wd;lw=1;var e=aj(),t=sj(),n=Object.prototype,r=n.propertyIsEnumerable,i=Object.getOwnPropertySymbols,o=i?function(a){return a==null?[]:(a=Object(a),e(i(a),function(s){return r.call(a,s)}))}:t;return Wd=o,Wd}var Ud,cw;function i$(){if(cw)return Ud;cw=1;var e=Ma(),t=cy();function n(r,i){return e(r,t(r),i)}return Ud=n,Ud}var Vd,uw;function uy(){if(uw)return Vd;uw=1;function e(t,n){for(var r=-1,i=n.length,o=t.length;++r<i;)t[o+r]=n[r];return t}return Vd=e,Vd}var Gd,dw;function wc(){if(dw)return Gd;dw=1;var e=rj(),t=e(Object.getPrototypeOf,Object);return Gd=t,Gd}var Kd,fw;function lj(){if(fw)return Kd;fw=1;var e=uy(),t=wc(),n=cy(),r=sj(),i=Object.getOwnPropertySymbols,o=i?function(a){for(var s=[];a;)e(s,n(a)),a=t(a);return s}:r;return Kd=o,Kd}var Yd,hw;function o$(){if(hw)return Yd;hw=1;var e=Ma(),t=lj();function n(r,i){return e(r,t(r),i)}return Yd=n,Yd}var Xd,pw;function cj(){if(pw)return Xd;pw=1;var e=uy(),t=He();function n(r,i,o){var a=i(r);return t(r)?a:e(a,o(r))}return Xd=n,Xd}var Qd,gw;function uj(){if(gw)return Qd;gw=1;var e=cj(),t=cy(),n=Ir();function r(i){return e(i,n,t)}return Qd=r,Qd}var Zd,mw;function a$(){if(mw)return Zd;mw=1;var e=cj(),t=lj(),n=ii();function r(i){return e(i,n,t)}return Zd=r,Zd}var Jd,vw;function s$(){if(vw)return Jd;vw=1;var e=ri(),t=mn(),n=e(t,"DataView");return Jd=n,Jd}var ef,yw;function l$(){if(yw)return ef;yw=1;var e=ri(),t=mn(),n=e(t,"Promise");return ef=n,ef}var tf,xw;function dj(){if(xw)return tf;xw=1;var e=ri(),t=mn(),n=e(t,"Set");return tf=n,tf}var nf,ww;function c$(){if(ww)return nf;ww=1;var e=ri(),t=mn(),n=e(t,"WeakMap");return nf=n,nf}var rf,bw;function io(){if(bw)return rf;bw=1;var e=s$(),t=ry(),n=l$(),r=dj(),i=c$(),o=ni(),a=ej(),s="[object Map]",l="[object Object]",c="[object Promise]",u="[object Set]",f="[object WeakMap]",h="[object DataView]",p=a(e),v=a(t),g=a(n),b=a(r),m=a(i),y=o;return(e&&y(new e(new ArrayBuffer(1)))!=h||t&&y(new t)!=s||n&&y(n.resolve())!=c||r&&y(new r)!=u||i&&y(new i)!=f)&&(y=function(x){var S=o(x),C=S==l?x.constructor:void 0,R=C?a(C):"";if(R)switch(R){case p:return h;case v:return s;case g:return c;case b:return u;case m:return f}return S}),rf=y,rf}var of,Sw;function u$(){if(Sw)return of;Sw=1;var e=Object.prototype,t=e.hasOwnProperty;function n(r){var i=r.length,o=new r.constructor(i);return i&&typeof r[0]=="string"&&t.call(r,"index")&&(o.index=r.index,o.input=r.input),o}return of=n,of}var af,_w;function fj(){if(_w)return af;_w=1;var e=mn(),t=e.Uint8Array;return af=t,af}var sf,Ew;function dy(){if(Ew)return sf;Ew=1;var e=fj();function t(n){var r=new n.constructor(n.byteLength);return new e(r).set(new e(n)),r}return sf=t,sf}var lf,kw;function d$(){if(kw)return lf;kw=1;var e=dy();function t(n,r){var i=r?e(n.buffer):n.buffer;return new n.constructor(i,n.byteOffset,n.byteLength)}return lf=t,lf}var cf,Cw;function f$(){if(Cw)return cf;Cw=1;var e=/\w*$/;function t(n){var r=new n.constructor(n.source,e.exec(n));return r.lastIndex=n.lastIndex,r}return cf=t,cf}var uf,jw;function h$(){if(jw)return uf;jw=1;var e=no(),t=e?e.prototype:void 0,n=t?t.valueOf:void 0;function r(i){return n?Object(n.call(i)):{}}return uf=r,uf}var df,Rw;function hj(){if(Rw)return df;Rw=1;var e=dy();function t(n,r){var i=r?e(n.buffer):n.buffer;return new n.constructor(i,n.byteOffset,n.length)}return df=t,df}var ff,Nw;function p$(){if(Nw)return ff;Nw=1;var e=dy(),t=d$(),n=f$(),r=h$(),i=hj(),o="[object Boolean]",a="[object Date]",s="[object Map]",l="[object Number]",c="[object RegExp]",u="[object Set]",f="[object String]",h="[object Symbol]",p="[object ArrayBuffer]",v="[object DataView]",g="[object Float32Array]",b="[object Float64Array]",m="[object Int8Array]",y="[object Int16Array]",x="[object Int32Array]",S="[object Uint8Array]",C="[object Uint8ClampedArray]",R="[object Uint16Array]",_="[object Uint32Array]";function I(M,k,T){var z=M.constructor;switch(k){case p:return e(M);case o:case a:return new z(+M);case v:return t(M,T);case g:case b:case m:case y:case x:case S:case C:case R:case _:return i(M,T);case s:return new z;case l:case f:return new z(M);case c:return n(M);case u:return new z;case h:return r(M)}}return ff=I,ff}var hf,Iw;function pj(){if(Iw)return hf;Iw=1;var e=en(),t=Object.create,n=function(){function r(){}return function(i){if(!e(i))return{};if(t)return t(i);r.prototype=i;var o=new r;return r.prototype=void 0,o}}();return hf=n,hf}var pf,Aw;function gj(){if(Aw)return pf;Aw=1;var e=pj(),t=wc(),n=xc();function r(i){return typeof i.constructor=="function"&&!n(i)?e(t(i)):{}}return pf=r,pf}var gf,Tw;function g$(){if(Tw)return gf;Tw=1;var e=io(),t=jn(),n="[object Map]";function r(i){return t(i)&&e(i)==n}return gf=r,gf}var mf,Pw;function m$(){if(Pw)return mf;Pw=1;var e=g$(),t=yc(),n=sy(),r=n&&n.isMap,i=r?t(r):e;return mf=i,mf}var vf,Mw;function v$(){if(Mw)return vf;Mw=1;var e=io(),t=jn(),n="[object Set]";function r(i){return t(i)&&e(i)==n}return vf=r,vf}var yf,Lw;function y$(){if(Lw)return yf;Lw=1;var e=v$(),t=yc(),n=sy(),r=n&&n.isSet,i=r?t(r):e;return yf=i,yf}var xf,$w;function mj(){if($w)return xf;$w=1;var e=pc(),t=oy(),n=mc(),r=e$(),i=r$(),o=ij(),a=oj(),s=i$(),l=o$(),c=uj(),u=a$(),f=io(),h=u$(),p=p$(),v=gj(),g=He(),b=ro(),m=m$(),y=en(),x=y$(),S=Ir(),C=ii(),R=1,_=2,I=4,M="[object Arguments]",k="[object Array]",T="[object Boolean]",z="[object Date]",$="[object Error]",j="[object Function]",O="[object GeneratorFunction]",E="[object Map]",N="[object Number]",A="[object Object]",P="[object RegExp]",L="[object Set]",q="[object String]",B="[object Symbol]",Y="[object WeakMap]",K="[object ArrayBuffer]",J="[object DataView]",ie="[object Float32Array]",ae="[object Float64Array]",ue="[object Int8Array]",fe="[object Int16Array]",me="[object Int32Array]",Ge="[object Uint8Array]",We="[object Uint8ClampedArray]",ct="[object Uint16Array]",nt="[object Uint32Array]",oe={};oe[M]=oe[k]=oe[K]=oe[J]=oe[T]=oe[z]=oe[ie]=oe[ae]=oe[ue]=oe[fe]=oe[me]=oe[E]=oe[N]=oe[A]=oe[P]=oe[L]=oe[q]=oe[B]=oe[Ge]=oe[We]=oe[ct]=oe[nt]=!0,oe[$]=oe[j]=oe[Y]=!1;function Qe(ne,X,je,ut,wt,ze){var we,Se=X&R,rt=X&_,ee=X&I;if(je&&(we=wt?je(ne,ut,wt,ze):je(ne)),we!==void 0)return we;if(!y(ne))return ne;var It=g(ne);if(It){if(we=h(ne),!Se)return a(ne,we)}else{var _e=f(ne),At=_e==j||_e==O;if(b(ne))return o(ne,Se);if(_e==A||_e==M||At&&!wt){if(we=rt||At?{}:v(ne),!Se)return rt?l(ne,i(we,ne)):s(ne,r(we,ne))}else{if(!oe[_e])return wt?ne:{};we=p(ne,_e,Se)}}ze||(ze=new e);var Ht=ze.get(ne);if(Ht)return Ht;ze.set(ne,we),x(ne)?ne.forEach(function(Ne){we.add(Qe(Ne,X,je,Ne,ne,ze))}):m(ne)&&ne.forEach(function(Ne,De){we.set(De,Qe(Ne,X,je,De,ne,ze))});var Re=ee?rt?u:c:rt?C:S,Ze=It?void 0:Re(ne);return t(Ze||ne,function(Ne,De){Ze&&(De=Ne,Ne=ne[De]),n(we,De,Qe(Ne,X,je,De,ne,ze))}),we}return xf=Qe,xf}var wf,zw;function x$(){if(zw)return wf;zw=1;var e=mj(),t=4;function n(r){return e(r,t)}return wf=n,wf}var bf,Ow;function fy(){if(Ow)return bf;Ow=1;function e(t){return function(){return t}}return bf=e,bf}var Sf,Fw;function w$(){if(Fw)return Sf;Fw=1;function e(t){return function(n,r,i){for(var o=-1,a=Object(n),s=i(n),l=s.length;l--;){var c=s[t?l:++o];if(r(a[c],c,a)===!1)break}return n}}return Sf=e,Sf}var _f,qw;function hy(){if(qw)return _f;qw=1;var e=w$(),t=e();return _f=t,_f}var Ef,Dw;function py(){if(Dw)return Ef;Dw=1;var e=hy(),t=Ir();function n(r,i){return r&&e(r,i,t)}return Ef=n,Ef}var kf,Bw;function b$(){if(Bw)return kf;Bw=1;var e=Gn();function t(n,r){return function(i,o){if(i==null)return i;if(!e(i))return n(i,o);for(var a=i.length,s=r?a:-1,l=Object(i);(r?s--:++s<a)&&o(l[s],s,l)!==!1;);return i}}return kf=t,kf}var Cf,Hw;function bc(){if(Hw)return Cf;Hw=1;var e=py(),t=b$(),n=t(e);return Cf=n,Cf}var jf,Ww;function oi(){if(Ww)return jf;Ww=1;function e(t){return t}return jf=e,jf}var Rf,Uw;function vj(){if(Uw)return Rf;Uw=1;var e=oi();function t(n){return typeof n=="function"?n:e}return Rf=t,Rf}var Nf,Vw;function yj(){if(Vw)return Nf;Vw=1;var e=oy(),t=bc(),n=vj(),r=He();function i(o,a){var s=r(o)?e:t;return s(o,n(a))}return Nf=i,Nf}var If,Gw;function xj(){return Gw||(Gw=1,If=yj()),If}var Af,Kw;function S$(){if(Kw)return Af;Kw=1;var e=bc();function t(n,r){var i=[];return e(n,function(o,a,s){r(o,a,s)&&i.push(o)}),i}return Af=t,Af}var Tf,Yw;function _$(){if(Yw)return Tf;Yw=1;var e="__lodash_hash_undefined__";function t(n){return this.__data__.set(n,e),this}return Tf=t,Tf}var Pf,Xw;function E$(){if(Xw)return Pf;Xw=1;function e(t){return this.__data__.has(t)}return Pf=e,Pf}var Mf,Qw;function wj(){if(Qw)return Mf;Qw=1;var e=iy(),t=_$(),n=E$();function r(i){var o=-1,a=i==null?0:i.length;for(this.__data__=new e;++o<a;)this.add(i[o])}return r.prototype.add=r.prototype.push=t,r.prototype.has=n,Mf=r,Mf}var Lf,Zw;function k$(){if(Zw)return Lf;Zw=1;function e(t,n){for(var r=-1,i=t==null?0:t.length;++r<i;)if(n(t[r],r,t))return!0;return!1}return Lf=e,Lf}var $f,Jw;function bj(){if(Jw)return $f;Jw=1;function e(t,n){return t.has(n)}return $f=e,$f}var zf,eb;function Sj(){if(eb)return zf;eb=1;var e=wj(),t=k$(),n=bj(),r=1,i=2;function o(a,s,l,c,u,f){var h=l&r,p=a.length,v=s.length;if(p!=v&&!(h&&v>p))return!1;var g=f.get(a),b=f.get(s);if(g&&b)return g==s&&b==a;var m=-1,y=!0,x=l&i?new e:void 0;for(f.set(a,s),f.set(s,a);++m<p;){var S=a[m],C=s[m];if(c)var R=h?c(C,S,m,s,a,f):c(S,C,m,a,s,f);if(R!==void 0){if(R)continue;y=!1;break}if(x){if(!t(s,function(_,I){if(!n(x,I)&&(S===_||u(S,_,l,c,f)))return x.push(I)})){y=!1;break}}else if(!(S===C||u(S,C,l,c,f))){y=!1;break}}return f.delete(a),f.delete(s),y}return zf=o,zf}var Of,tb;function C$(){if(tb)return Of;tb=1;function e(t){var n=-1,r=Array(t.size);return t.forEach(function(i,o){r[++n]=[o,i]}),r}return Of=e,Of}var Ff,nb;function gy(){if(nb)return Ff;nb=1;function e(t){var n=-1,r=Array(t.size);return t.forEach(function(i){r[++n]=i}),r}return Ff=e,Ff}var qf,rb;function j$(){if(rb)return qf;rb=1;var e=no(),t=fj(),n=to(),r=Sj(),i=C$(),o=gy(),a=1,s=2,l="[object Boolean]",c="[object Date]",u="[object Error]",f="[object Map]",h="[object Number]",p="[object RegExp]",v="[object Set]",g="[object String]",b="[object Symbol]",m="[object ArrayBuffer]",y="[object DataView]",x=e?e.prototype:void 0,S=x?x.valueOf:void 0;function C(R,_,I,M,k,T,z){switch(I){case y:if(R.byteLength!=_.byteLength||R.byteOffset!=_.byteOffset)return!1;R=R.buffer,_=_.buffer;case m:return!(R.byteLength!=_.byteLength||!T(new t(R),new t(_)));case l:case c:case h:return n(+R,+_);case u:return R.name==_.name&&R.message==_.message;case p:case g:return R==_+"";case f:var $=i;case v:var j=M&a;if($||($=o),R.size!=_.size&&!j)return!1;var O=z.get(R);if(O)return O==_;M|=s,z.set(R,_);var E=r($(R),$(_),M,k,T,z);return z.delete(R),E;case b:if(S)return S.call(R)==S.call(_)}return!1}return qf=C,qf}var Df,ib;function R$(){if(ib)return Df;ib=1;var e=uj(),t=1,n=Object.prototype,r=n.hasOwnProperty;function i(o,a,s,l,c,u){var f=s&t,h=e(o),p=h.length,v=e(a),g=v.length;if(p!=g&&!f)return!1;for(var b=p;b--;){var m=h[b];if(!(f?m in a:r.call(a,m)))return!1}var y=u.get(o),x=u.get(a);if(y&&x)return y==a&&x==o;var S=!0;u.set(o,a),u.set(a,o);for(var C=f;++b<p;){m=h[b];var R=o[m],_=a[m];if(l)var I=f?l(_,R,m,a,o,u):l(R,_,m,o,a,u);if(!(I===void 0?R===_||c(R,_,s,l,u):I)){S=!1;break}C||(C=m=="constructor")}if(S&&!C){var M=o.constructor,k=a.constructor;M!=k&&"constructor"in o&&"constructor"in a&&!(typeof M=="function"&&M instanceof M&&typeof k=="function"&&k instanceof k)&&(S=!1)}return u.delete(o),u.delete(a),S}return Df=i,Df}var Bf,ob;function N$(){if(ob)return Bf;ob=1;var e=pc(),t=Sj(),n=j$(),r=R$(),i=io(),o=He(),a=ro(),s=$a(),l=1,c="[object Arguments]",u="[object Array]",f="[object Object]",h=Object.prototype,p=h.hasOwnProperty;function v(g,b,m,y,x,S){var C=o(g),R=o(b),_=C?u:i(g),I=R?u:i(b);_=_==c?f:_,I=I==c?f:I;var M=_==f,k=I==f,T=_==I;if(T&&a(g)){if(!a(b))return!1;C=!0,M=!1}if(T&&!M)return S||(S=new e),C||s(g)?t(g,b,m,y,x,S):n(g,b,_,m,y,x,S);if(!(m&l)){var z=M&&p.call(g,"__wrapped__"),$=k&&p.call(b,"__wrapped__");if(z||$){var j=z?g.value():g,O=$?b.value():b;return S||(S=new e),x(j,O,m,y,S)}}return T?(S||(S=new e),r(g,b,m,y,x,S)):!1}return Bf=v,Bf}var Hf,ab;function _j(){if(ab)return Hf;ab=1;var e=N$(),t=jn();function n(r,i,o,a,s){return r===i?!0:r==null||i==null||!t(r)&&!t(i)?r!==r&&i!==i:e(r,i,o,a,n,s)}return Hf=n,Hf}var Wf,sb;function I$(){if(sb)return Wf;sb=1;var e=pc(),t=_j(),n=1,r=2;function i(o,a,s,l){var c=s.length,u=c,f=!l;if(o==null)return!u;for(o=Object(o);c--;){var h=s[c];if(f&&h[2]?h[1]!==o[h[0]]:!(h[0]in o))return!1}for(;++c<u;){h=s[c];var p=h[0],v=o[p],g=h[1];if(f&&h[2]){if(v===void 0&&!(p in o))return!1}else{var b=new e;if(l)var m=l(v,g,p,o,a,b);if(!(m===void 0?t(g,v,n|r,l,b):m))return!1}}return!0}return Wf=i,Wf}var Uf,lb;function Ej(){if(lb)return Uf;lb=1;var e=en();function t(n){return n===n&&!e(n)}return Uf=t,Uf}var Vf,cb;function A$(){if(cb)return Vf;cb=1;var e=Ej(),t=Ir();function n(r){for(var i=t(r),o=i.length;o--;){var a=i[o],s=r[a];i[o]=[a,s,e(s)]}return i}return Vf=n,Vf}var Gf,ub;function kj(){if(ub)return Gf;ub=1;function e(t,n){return function(r){return r==null?!1:r[t]===n&&(n!==void 0||t in Object(r))}}return Gf=e,Gf}var Kf,db;function T$(){if(db)return Kf;db=1;var e=I$(),t=A$(),n=kj();function r(i){var o=t(i);return o.length==1&&o[0][2]?n(o[0][0],o[0][1]):function(a){return a===i||e(a,i,o)}}return Kf=r,Kf}var Yf,fb;function oo(){if(fb)return Yf;fb=1;var e=ni(),t=jn(),n="[object Symbol]";function r(i){return typeof i=="symbol"||t(i)&&e(i)==n}return Yf=r,Yf}var Xf,hb;function my(){if(hb)return Xf;hb=1;var e=He(),t=oo(),n=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,r=/^\w*$/;function i(o,a){if(e(o))return!1;var s=typeof o;return s=="number"||s=="symbol"||s=="boolean"||o==null||t(o)?!0:r.test(o)||!n.test(o)||a!=null&&o in Object(a)}return Xf=i,Xf}var Qf,pb;function P$(){if(pb)return Qf;pb=1;var e=iy(),t="Expected a function";function n(r,i){if(typeof r!="function"||i!=null&&typeof i!="function")throw new TypeError(t);var o=function(){var a=arguments,s=i?i.apply(this,a):a[0],l=o.cache;if(l.has(s))return l.get(s);var c=r.apply(this,a);return o.cache=l.set(s,c)||l,c};return o.cache=new(n.Cache||e),o}return n.Cache=e,Qf=n,Qf}var Zf,gb;function M$(){if(gb)return Zf;gb=1;var e=P$(),t=500;function n(r){var i=e(r,function(a){return o.size===t&&o.clear(),a}),o=i.cache;return i}return Zf=n,Zf}var Jf,mb;function L$(){if(mb)return Jf;mb=1;var e=M$(),t=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,n=/\\(\\)?/g,r=e(function(i){var o=[];return i.charCodeAt(0)===46&&o.push(""),i.replace(t,function(a,s,l,c){o.push(l?c.replace(n,"$1"):s||a)}),o});return Jf=r,Jf}var eh,vb;function Sc(){if(vb)return eh;vb=1;function e(t,n){for(var r=-1,i=t==null?0:t.length,o=Array(i);++r<i;)o[r]=n(t[r],r,t);return o}return eh=e,eh}var th,yb;function $$(){if(yb)return th;yb=1;var e=no(),t=Sc(),n=He(),r=oo(),i=e?e.prototype:void 0,o=i?i.toString:void 0;function a(s){if(typeof s=="string")return s;if(n(s))return t(s,a)+"";if(r(s))return o?o.call(s):"";var l=s+"";return l=="0"&&1/s==-1/0?"-0":l}return th=a,th}var nh,xb;function Cj(){if(xb)return nh;xb=1;var e=$$();function t(n){return n==null?"":e(n)}return nh=t,nh}var rh,wb;function _c(){if(wb)return rh;wb=1;var e=He(),t=my(),n=L$(),r=Cj();function i(o,a){return e(o)?o:t(o,a)?[o]:n(r(o))}return rh=i,rh}var ih,bb;function za(){if(bb)return ih;bb=1;var e=oo();function t(n){if(typeof n=="string"||e(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}return ih=t,ih}var oh,Sb;function Ec(){if(Sb)return oh;Sb=1;var e=_c(),t=za();function n(r,i){i=e(i,r);for(var o=0,a=i.length;r!=null&&o<a;)r=r[t(i[o++])];return o&&o==a?r:void 0}return oh=n,oh}var ah,_b;function z$(){if(_b)return ah;_b=1;var e=Ec();function t(n,r,i){var o=n==null?void 0:e(n,r);return o===void 0?i:o}return ah=t,ah}var sh,Eb;function O$(){if(Eb)return sh;Eb=1;function e(t,n){return t!=null&&n in Object(t)}return sh=e,sh}var lh,kb;function jj(){if(kb)return lh;kb=1;var e=_c(),t=La(),n=He(),r=vc(),i=ay(),o=za();function a(s,l,c){l=e(l,s);for(var u=-1,f=l.length,h=!1;++u<f;){var p=o(l[u]);if(!(h=s!=null&&c(s,p)))break;s=s[p]}return h||++u!=f?h:(f=s==null?0:s.length,!!f&&i(f)&&r(p,f)&&(n(s)||t(s)))}return lh=a,lh}var ch,Cb;function Rj(){if(Cb)return ch;Cb=1;var e=O$(),t=jj();function n(r,i){return r!=null&&t(r,i,e)}return ch=n,ch}var uh,jb;function F$(){if(jb)return uh;jb=1;var e=_j(),t=z$(),n=Rj(),r=my(),i=Ej(),o=kj(),a=za(),s=1,l=2;function c(u,f){return r(u)&&i(f)?o(a(u),f):function(h){var p=t(h,u);return p===void 0&&p===f?n(h,u):e(f,p,s|l)}}return uh=c,uh}var dh,Rb;function Nj(){if(Rb)return dh;Rb=1;function e(t){return function(n){return n==null?void 0:n[t]}}return dh=e,dh}var fh,Nb;function q$(){if(Nb)return fh;Nb=1;var e=Ec();function t(n){return function(r){return e(r,n)}}return fh=t,fh}var hh,Ib;function D$(){if(Ib)return hh;Ib=1;var e=Nj(),t=q$(),n=my(),r=za();function i(o){return n(o)?e(r(o)):t(o)}return hh=i,hh}var ph,Ab;function Kn(){if(Ab)return ph;Ab=1;var e=T$(),t=F$(),n=oi(),r=He(),i=D$();function o(a){return typeof a=="function"?a:a==null?n:typeof a=="object"?r(a)?t(a[0],a[1]):e(a):i(a)}return ph=o,ph}var gh,Tb;function Ij(){if(Tb)return gh;Tb=1;var e=aj(),t=S$(),n=Kn(),r=He();function i(o,a){var s=r(o)?e:t;return s(o,n(a,3))}return gh=i,gh}var mh,Pb;function B$(){if(Pb)return mh;Pb=1;var e=Object.prototype,t=e.hasOwnProperty;function n(r,i){return r!=null&&t.call(r,i)}return mh=n,mh}var vh,Mb;function Aj(){if(Mb)return vh;Mb=1;var e=B$(),t=jj();function n(r,i){return r!=null&&t(r,i,e)}return vh=n,vh}var yh,Lb;function H$(){if(Lb)return yh;Lb=1;var e=ly(),t=io(),n=La(),r=He(),i=Gn(),o=ro(),a=xc(),s=$a(),l="[object Map]",c="[object Set]",u=Object.prototype,f=u.hasOwnProperty;function h(p){if(p==null)return!0;if(i(p)&&(r(p)||typeof p=="string"||typeof p.splice=="function"||o(p)||s(p)||n(p)))return!p.length;var v=t(p);if(v==l||v==c)return!p.size;if(a(p))return!e(p).length;for(var g in p)if(f.call(p,g))return!1;return!0}return yh=h,yh}var xh,$b;function Tj(){if($b)return xh;$b=1;function e(t){return t===void 0}return xh=e,xh}var wh,zb;function Pj(){if(zb)return wh;zb=1;var e=bc(),t=Gn();function n(r,i){var o=-1,a=t(r)?Array(r.length):[];return e(r,function(s,l,c){a[++o]=i(s,l,c)}),a}return wh=n,wh}var bh,Ob;function Mj(){if(Ob)return bh;Ob=1;var e=Sc(),t=Kn(),n=Pj(),r=He();function i(o,a){var s=r(o)?e:n;return s(o,t(a,3))}return bh=i,bh}var Sh,Fb;function W$(){if(Fb)return Sh;Fb=1;function e(t,n,r,i){var o=-1,a=t==null?0:t.length;for(i&&a&&(r=t[++o]);++o<a;)r=n(r,t[o],o,t);return r}return Sh=e,Sh}var _h,qb;function U$(){if(qb)return _h;qb=1;function e(t,n,r,i,o){return o(t,function(a,s,l){r=i?(i=!1,a):n(r,a,s,l)}),r}return _h=e,_h}var Eh,Db;function Lj(){if(Db)return Eh;Db=1;var e=W$(),t=bc(),n=Kn(),r=U$(),i=He();function o(a,s,l){var c=i(a)?e:r,u=arguments.length<3;return c(a,n(s,4),l,u,t)}return Eh=o,Eh}var kh,Bb;function V$(){if(Bb)return kh;Bb=1;var e=ni(),t=He(),n=jn(),r="[object String]";function i(o){return typeof o=="string"||!t(o)&&n(o)&&e(o)==r}return kh=i,kh}var Ch,Hb;function G$(){if(Hb)return Ch;Hb=1;var e=Nj(),t=e("length");return Ch=t,Ch}var jh,Wb;function K$(){if(Wb)return jh;Wb=1;var e="\\ud800-\\udfff",t="\\u0300-\\u036f",n="\\ufe20-\\ufe2f",r="\\u20d0-\\u20ff",i=t+n+r,o="\\ufe0e\\ufe0f",a="\\u200d",s=RegExp("["+a+e+i+o+"]");function l(c){return s.test(c)}return jh=l,jh}var Rh,Ub;function Y$(){if(Ub)return Rh;Ub=1;var e="\\ud800-\\udfff",t="\\u0300-\\u036f",n="\\ufe20-\\ufe2f",r="\\u20d0-\\u20ff",i=t+n+r,o="\\ufe0e\\ufe0f",a="["+e+"]",s="["+i+"]",l="\\ud83c[\\udffb-\\udfff]",c="(?:"+s+"|"+l+")",u="[^"+e+"]",f="(?:\\ud83c[\\udde6-\\uddff]){2}",h="[\\ud800-\\udbff][\\udc00-\\udfff]",p="\\u200d",v=c+"?",g="["+o+"]?",b="(?:"+p+"(?:"+[u,f,h].join("|")+")"+g+v+")*",m=g+v+b,y="(?:"+[u+s+"?",s,f,h,a].join("|")+")",x=RegExp(l+"(?="+l+")|"+y+m,"g");function S(C){for(var R=x.lastIndex=0;x.test(C);)++R;return R}return Rh=S,Rh}var Nh,Vb;function X$(){if(Vb)return Nh;Vb=1;var e=G$(),t=K$(),n=Y$();function r(i){return t(i)?n(i):e(i)}return Nh=r,Nh}var Ih,Gb;function Q$(){if(Gb)return Ih;Gb=1;var e=ly(),t=io(),n=Gn(),r=V$(),i=X$(),o="[object Map]",a="[object Set]";function s(l){if(l==null)return 0;if(n(l))return r(l)?i(l):l.length;var c=t(l);return c==o||c==a?l.size:e(l).length}return Ih=s,Ih}var Ah,Kb;function Z$(){if(Kb)return Ah;Kb=1;var e=oy(),t=pj(),n=py(),r=Kn(),i=wc(),o=He(),a=ro(),s=Pa(),l=en(),c=$a();function u(f,h,p){var v=o(f),g=v||a(f)||c(f);if(h=r(h,4),p==null){var b=f&&f.constructor;g?p=v?new b:[]:l(f)?p=s(b)?t(i(f)):{}:p={}}return(g?e:n)(f,function(m,y,x){return h(p,m,y,x)}),p}return Ah=u,Ah}var Th,Yb;function J$(){if(Yb)return Th;Yb=1;var e=no(),t=La(),n=He(),r=e?e.isConcatSpreadable:void 0;function i(o){return n(o)||t(o)||!!(r&&o&&o[r])}return Th=i,Th}var Ph,Xb;function vy(){if(Xb)return Ph;Xb=1;var e=uy(),t=J$();function n(r,i,o,a,s){var l=-1,c=r.length;for(o||(o=t),s||(s=[]);++l<c;){var u=r[l];i>0&&o(u)?i>1?n(u,i-1,o,a,s):e(s,u):a||(s[s.length]=u)}return s}return Ph=n,Ph}var Mh,Qb;function ez(){if(Qb)return Mh;Qb=1;function e(t,n,r){switch(r.length){case 0:return t.call(n);case 1:return t.call(n,r[0]);case 2:return t.call(n,r[0],r[1]);case 3:return t.call(n,r[0],r[1],r[2])}return t.apply(n,r)}return Mh=e,Mh}var Lh,Zb;function $j(){if(Zb)return Lh;Zb=1;var e=ez(),t=Math.max;function n(r,i,o){return i=t(i===void 0?r.length-1:i,0),function(){for(var a=arguments,s=-1,l=t(a.length-i,0),c=Array(l);++s<l;)c[s]=a[i+s];s=-1;for(var u=Array(i+1);++s<i;)u[s]=a[s];return u[i]=o(c),e(r,this,u)}}return Lh=n,Lh}var $h,Jb;function tz(){if(Jb)return $h;Jb=1;var e=fy(),t=tj(),n=oi(),r=t?function(i,o){return t(i,"toString",{configurable:!0,enumerable:!1,value:e(o),writable:!0})}:n;return $h=r,$h}var zh,eS;function nz(){if(eS)return zh;eS=1;var e=800,t=16,n=Date.now;function r(i){var o=0,a=0;return function(){var s=n(),l=t-(s-a);if(a=s,l>0){if(++o>=e)return arguments[0]}else o=0;return i.apply(void 0,arguments)}}return zh=r,zh}var Oh,tS;function zj(){if(tS)return Oh;tS=1;var e=tz(),t=nz(),n=t(e);return Oh=n,Oh}var Fh,nS;function kc(){if(nS)return Fh;nS=1;var e=oi(),t=$j(),n=zj();function r(i,o){return n(t(i,o,e),i+"")}return Fh=r,Fh}var qh,rS;function Oj(){if(rS)return qh;rS=1;function e(t,n,r,i){for(var o=t.length,a=r+(i?1:-1);i?a--:++a<o;)if(n(t[a],a,t))return a;return-1}return qh=e,qh}var Dh,iS;function rz(){if(iS)return Dh;iS=1;function e(t){return t!==t}return Dh=e,Dh}var Bh,oS;function iz(){if(oS)return Bh;oS=1;function e(t,n,r){for(var i=r-1,o=t.length;++i<o;)if(t[i]===n)return i;return-1}return Bh=e,Bh}var Hh,aS;function oz(){if(aS)return Hh;aS=1;var e=Oj(),t=rz(),n=iz();function r(i,o,a){return o===o?n(i,o,a):e(i,t,a)}return Hh=r,Hh}var Wh,sS;function az(){if(sS)return Wh;sS=1;var e=oz();function t(n,r){var i=n==null?0:n.length;return!!i&&e(n,r,0)>-1}return Wh=t,Wh}var Uh,lS;function sz(){if(lS)return Uh;lS=1;function e(t,n,r){for(var i=-1,o=t==null?0:t.length;++i<o;)if(r(n,t[i]))return!0;return!1}return Uh=e,Uh}var Vh,cS;function lz(){if(cS)return Vh;cS=1;function e(){}return Vh=e,Vh}var Gh,uS;function cz(){if(uS)return Gh;uS=1;var e=dj(),t=lz(),n=gy(),r=1/0,i=e&&1/n(new e([,-0]))[1]==r?function(o){return new e(o)}:t;return Gh=i,Gh}var Kh,dS;function uz(){if(dS)return Kh;dS=1;var e=wj(),t=az(),n=sz(),r=bj(),i=cz(),o=gy(),a=200;function s(l,c,u){var f=-1,h=t,p=l.length,v=!0,g=[],b=g;if(u)v=!1,h=n;else if(p>=a){var m=c?null:i(l);if(m)return o(m);v=!1,h=r,b=new e}else b=c?[]:g;e:for(;++f<p;){var y=l[f],x=c?c(y):y;if(y=u||y!==0?y:0,v&&x===x){for(var S=b.length;S--;)if(b[S]===x)continue e;c&&b.push(x),g.push(y)}else h(b,x,u)||(b!==g&&b.push(x),g.push(y))}return g}return Kh=s,Kh}var Yh,fS;function Fj(){if(fS)return Yh;fS=1;var e=Gn(),t=jn();function n(r){return t(r)&&e(r)}return Yh=n,Yh}var Xh,hS;function dz(){if(hS)return Xh;hS=1;var e=vy(),t=kc(),n=uz(),r=Fj(),i=t(function(o){return n(e(o,1,r,!0))});return Xh=i,Xh}var Qh,pS;function fz(){if(pS)return Qh;pS=1;var e=Sc();function t(n,r){return e(r,function(i){return n[i]})}return Qh=t,Qh}var Zh,gS;function qj(){if(gS)return Zh;gS=1;var e=fz(),t=Ir();function n(r){return r==null?[]:e(r,t(r))}return Zh=n,Zh}var Jh,mS;function tn(){if(mS)return Jh;mS=1;var e;if(typeof ny=="function")try{e={clone:x$(),constant:fy(),each:xj(),filter:Ij(),has:Aj(),isArray:He(),isEmpty:H$(),isFunction:Pa(),isUndefined:Tj(),keys:Ir(),map:Mj(),reduce:Lj(),size:Q$(),transform:Z$(),union:dz(),values:qj()}}catch{}return e||(e=window._),Jh=e,Jh}var ep,vS;function yy(){if(vS)return ep;vS=1;var e=tn();ep=i;var t="\0",n="\0",r="";function i(u){this._isDirected=e.has(u,"directed")?u.directed:!0,this._isMultigraph=e.has(u,"multigraph")?u.multigraph:!1,this._isCompound=e.has(u,"compound")?u.compound:!1,this._label=void 0,this._defaultNodeLabelFn=e.constant(void 0),this._defaultEdgeLabelFn=e.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[n]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}i.prototype._nodeCount=0,i.prototype._edgeCount=0,i.prototype.isDirected=function(){return this._isDirected},i.prototype.isMultigraph=function(){return this._isMultigraph},i.prototype.isCompound=function(){return this._isCompound},i.prototype.setGraph=function(u){return this._label=u,this},i.prototype.graph=function(){return this._label},i.prototype.setDefaultNodeLabel=function(u){return e.isFunction(u)||(u=e.constant(u)),this._defaultNodeLabelFn=u,this},i.prototype.nodeCount=function(){return this._nodeCount},i.prototype.nodes=function(){return e.keys(this._nodes)},i.prototype.sources=function(){var u=this;return e.filter(this.nodes(),function(f){return e.isEmpty(u._in[f])})},i.prototype.sinks=function(){var u=this;return e.filter(this.nodes(),function(f){return e.isEmpty(u._out[f])})},i.prototype.setNodes=function(u,f){var h=arguments,p=this;return e.each(u,function(v){h.length>1?p.setNode(v,f):p.setNode(v)}),this},i.prototype.setNode=function(u,f){return e.has(this._nodes,u)?(arguments.length>1&&(this._nodes[u]=f),this):(this._nodes[u]=arguments.length>1?f:this._defaultNodeLabelFn(u),this._isCompound&&(this._parent[u]=n,this._children[u]={},this._children[n][u]=!0),this._in[u]={},this._preds[u]={},this._out[u]={},this._sucs[u]={},++this._nodeCount,this)},i.prototype.node=function(u){return this._nodes[u]},i.prototype.hasNode=function(u){return e.has(this._nodes,u)},i.prototype.removeNode=function(u){var f=this;if(e.has(this._nodes,u)){var h=function(p){f.removeEdge(f._edgeObjs[p])};delete this._nodes[u],this._isCompound&&(this._removeFromParentsChildList(u),delete this._parent[u],e.each(this.children(u),function(p){f.setParent(p)}),delete this._children[u]),e.each(e.keys(this._in[u]),h),delete this._in[u],delete this._preds[u],e.each(e.keys(this._out[u]),h),delete this._out[u],delete this._sucs[u],--this._nodeCount}return this},i.prototype.setParent=function(u,f){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(e.isUndefined(f))f=n;else{f+="";for(var h=f;!e.isUndefined(h);h=this.parent(h))if(h===u)throw new Error("Setting "+f+" as parent of "+u+" would create a cycle");this.setNode(f)}return this.setNode(u),this._removeFromParentsChildList(u),this._parent[u]=f,this._children[f][u]=!0,this},i.prototype._removeFromParentsChildList=function(u){delete this._children[this._parent[u]][u]},i.prototype.parent=function(u){if(this._isCompound){var f=this._parent[u];if(f!==n)return f}},i.prototype.children=function(u){if(e.isUndefined(u)&&(u=n),this._isCompound){var f=this._children[u];if(f)return e.keys(f)}else{if(u===n)return this.nodes();if(this.hasNode(u))return[]}},i.prototype.predecessors=function(u){var f=this._preds[u];if(f)return e.keys(f)},i.prototype.successors=function(u){var f=this._sucs[u];if(f)return e.keys(f)},i.prototype.neighbors=function(u){var f=this.predecessors(u);if(f)return e.union(f,this.successors(u))},i.prototype.isLeaf=function(u){var f;return this.isDirected()?f=this.successors(u):f=this.neighbors(u),f.length===0},i.prototype.filterNodes=function(u){var f=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});f.setGraph(this.graph());var h=this;e.each(this._nodes,function(g,b){u(b)&&f.setNode(b,g)}),e.each(this._edgeObjs,function(g){f.hasNode(g.v)&&f.hasNode(g.w)&&f.setEdge(g,h.edge(g))});var p={};function v(g){var b=h.parent(g);return b===void 0||f.hasNode(b)?(p[g]=b,b):b in p?p[b]:v(b)}return this._isCompound&&e.each(f.nodes(),function(g){f.setParent(g,v(g))}),f},i.prototype.setDefaultEdgeLabel=function(u){return e.isFunction(u)||(u=e.constant(u)),this._defaultEdgeLabelFn=u,this},i.prototype.edgeCount=function(){return this._edgeCount},i.prototype.edges=function(){return e.values(this._edgeObjs)},i.prototype.setPath=function(u,f){var h=this,p=arguments;return e.reduce(u,function(v,g){return p.length>1?h.setEdge(v,g,f):h.setEdge(v,g),g}),this},i.prototype.setEdge=function(){var u,f,h,p,v=!1,g=arguments[0];typeof g=="object"&&g!==null&&"v"in g?(u=g.v,f=g.w,h=g.name,arguments.length===2&&(p=arguments[1],v=!0)):(u=g,f=arguments[1],h=arguments[3],arguments.length>2&&(p=arguments[2],v=!0)),u=""+u,f=""+f,e.isUndefined(h)||(h=""+h);var b=s(this._isDirected,u,f,h);if(e.has(this._edgeLabels,b))return v&&(this._edgeLabels[b]=p),this;if(!e.isUndefined(h)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(u),this.setNode(f),this._edgeLabels[b]=v?p:this._defaultEdgeLabelFn(u,f,h);var m=l(this._isDirected,u,f,h);return u=m.v,f=m.w,Object.freeze(m),this._edgeObjs[b]=m,o(this._preds[f],u),o(this._sucs[u],f),this._in[f][b]=m,this._out[u][b]=m,this._edgeCount++,this},i.prototype.edge=function(u,f,h){var p=arguments.length===1?c(this._isDirected,arguments[0]):s(this._isDirected,u,f,h);return this._edgeLabels[p]},i.prototype.hasEdge=function(u,f,h){var p=arguments.length===1?c(this._isDirected,arguments[0]):s(this._isDirected,u,f,h);return e.has(this._edgeLabels,p)},i.prototype.removeEdge=function(u,f,h){var p=arguments.length===1?c(this._isDirected,arguments[0]):s(this._isDirected,u,f,h),v=this._edgeObjs[p];return v&&(u=v.v,f=v.w,delete this._edgeLabels[p],delete this._edgeObjs[p],a(this._preds[f],u),a(this._sucs[u],f),delete this._in[f][p],delete this._out[u][p],this._edgeCount--),this},i.prototype.inEdges=function(u,f){var h=this._in[u];if(h){var p=e.values(h);return f?e.filter(p,function(v){return v.v===f}):p}},i.prototype.outEdges=function(u,f){var h=this._out[u];if(h){var p=e.values(h);return f?e.filter(p,function(v){return v.w===f}):p}},i.prototype.nodeEdges=function(u,f){var h=this.inEdges(u,f);if(h)return h.concat(this.outEdges(u,f))};function o(u,f){u[f]?u[f]++:u[f]=1}function a(u,f){--u[f]||delete u[f]}function s(u,f,h,p){var v=""+f,g=""+h;if(!u&&v>g){var b=v;v=g,g=b}return v+r+g+r+(e.isUndefined(p)?t:p)}function l(u,f,h,p){var v=""+f,g=""+h;if(!u&&v>g){var b=v;v=g,g=b}var m={v,w:g};return p&&(m.name=p),m}function c(u,f){return s(u,f.v,f.w,f.name)}return ep}var tp,yS;function hz(){return yS||(yS=1,tp="2.1.8"),tp}var np,xS;function pz(){return xS||(xS=1,np={Graph:yy(),version:hz()}),np}var rp,wS;function gz(){if(wS)return rp;wS=1;var e=tn(),t=yy();rp={write:n,read:o};function n(a){var s={options:{directed:a.isDirected(),multigraph:a.isMultigraph(),compound:a.isCompound()},nodes:r(a),edges:i(a)};return e.isUndefined(a.graph())||(s.value=e.clone(a.graph())),s}function r(a){return e.map(a.nodes(),function(s){var l=a.node(s),c=a.parent(s),u={v:s};return e.isUndefined(l)||(u.value=l),e.isUndefined(c)||(u.parent=c),u})}function i(a){return e.map(a.edges(),function(s){var l=a.edge(s),c={v:s.v,w:s.w};return e.isUndefined(s.name)||(c.name=s.name),e.isUndefined(l)||(c.value=l),c})}function o(a){var s=new t(a.options).setGraph(a.value);return e.each(a.nodes,function(l){s.setNode(l.v,l.value),l.parent&&s.setParent(l.v,l.parent)}),e.each(a.edges,function(l){s.setEdge({v:l.v,w:l.w,name:l.name},l.value)}),s}return rp}var ip,bS;function mz(){if(bS)return ip;bS=1;var e=tn();ip=t;function t(n){var r={},i=[],o;function a(s){e.has(r,s)||(r[s]=!0,o.push(s),e.each(n.successors(s),a),e.each(n.predecessors(s),a))}return e.each(n.nodes(),function(s){o=[],a(s),o.length&&i.push(o)}),i}return ip}var op,SS;function Dj(){if(SS)return op;SS=1;var e=tn();op=t;function t(){this._arr=[],this._keyIndices={}}return t.prototype.size=function(){return this._arr.length},t.prototype.keys=function(){return this._arr.map(function(n){return n.key})},t.prototype.has=function(n){return e.has(this._keyIndices,n)},t.prototype.priority=function(n){var r=this._keyIndices[n];if(r!==void 0)return this._arr[r].priority},t.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},t.prototype.add=function(n,r){var i=this._keyIndices;if(n=String(n),!e.has(i,n)){var o=this._arr,a=o.length;return i[n]=a,o.push({key:n,priority:r}),this._decrease(a),!0}return!1},t.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var n=this._arr.pop();return delete this._keyIndices[n.key],this._heapify(0),n.key},t.prototype.decrease=function(n,r){var i=this._keyIndices[n];if(r>this._arr[i].priority)throw new Error("New priority is greater than current priority. Key: "+n+" Old: "+this._arr[i].priority+" New: "+r);this._arr[i].priority=r,this._decrease(i)},t.prototype._heapify=function(n){var r=this._arr,i=2*n,o=i+1,a=n;i<r.length&&(a=r[i].priority<r[a].priority?i:a,o<r.length&&(a=r[o].priority<r[a].priority?o:a),a!==n&&(this._swap(n,a),this._heapify(a)))},t.prototype._decrease=function(n){for(var r=this._arr,i=r[n].priority,o;n!==0&&(o=n>>1,!(r[o].priority<i));)this._swap(n,o),n=o},t.prototype._swap=function(n,r){var i=this._arr,o=this._keyIndices,a=i[n],s=i[r];i[n]=s,i[r]=a,o[s.key]=n,o[a.key]=r},op}var ap,_S;function Bj(){if(_S)return ap;_S=1;var e=tn(),t=Dj();ap=r;var n=e.constant(1);function r(o,a,s,l){return i(o,String(a),s||n,l||function(c){return o.outEdges(c)})}function i(o,a,s,l){var c={},u=new t,f,h,p=function(v){var g=v.v!==f?v.v:v.w,b=c[g],m=s(v),y=h.distance+m;if(m<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+v+" Weight: "+m);y<b.distance&&(b.distance=y,b.predecessor=f,u.decrease(g,y))};for(o.nodes().forEach(function(v){var g=v===a?0:Number.POSITIVE_INFINITY;c[v]={distance:g},u.add(v,g)});u.size()>0&&(f=u.removeMin(),h=c[f],h.distance!==Number.POSITIVE_INFINITY);)l(f).forEach(p);return c}return ap}var sp,ES;function vz(){if(ES)return sp;ES=1;var e=Bj(),t=tn();sp=n;function n(r,i,o){return t.transform(r.nodes(),function(a,s){a[s]=e(r,s,i,o)},{})}return sp}var lp,kS;function Hj(){if(kS)return lp;kS=1;var e=tn();lp=t;function t(n){var r=0,i=[],o={},a=[];function s(l){var c=o[l]={onStack:!0,lowlink:r,index:r++};if(i.push(l),n.successors(l).forEach(function(h){e.has(o,h)?o[h].onStack&&(c.lowlink=Math.min(c.lowlink,o[h].index)):(s(h),c.lowlink=Math.min(c.lowlink,o[h].lowlink))}),c.lowlink===c.index){var u=[],f;do f=i.pop(),o[f].onStack=!1,u.push(f);while(l!==f);a.push(u)}}return n.nodes().forEach(function(l){e.has(o,l)||s(l)}),a}return lp}var cp,CS;function yz(){if(CS)return cp;CS=1;var e=tn(),t=Hj();cp=n;function n(r){return e.filter(t(r),function(i){return i.length>1||i.length===1&&r.hasEdge(i[0],i[0])})}return cp}var up,jS;function xz(){if(jS)return up;jS=1;var e=tn();up=n;var t=e.constant(1);function n(i,o,a){return r(i,o||t,a||function(s){return i.outEdges(s)})}function r(i,o,a){var s={},l=i.nodes();return l.forEach(function(c){s[c]={},s[c][c]={distance:0},l.forEach(function(u){c!==u&&(s[c][u]={distance:Number.POSITIVE_INFINITY})}),a(c).forEach(function(u){var f=u.v===c?u.w:u.v,h=o(u);s[c][f]={distance:h,predecessor:c}})}),l.forEach(function(c){var u=s[c];l.forEach(function(f){var h=s[f];l.forEach(function(p){var v=h[c],g=u[p],b=h[p],m=v.distance+g.distance;m<b.distance&&(b.distance=m,b.predecessor=g.predecessor)})})}),s}return up}var dp,RS;function Wj(){if(RS)return dp;RS=1;var e=tn();dp=t,t.CycleException=n;function t(r){var i={},o={},a=[];function s(l){if(e.has(o,l))throw new n;e.has(i,l)||(o[l]=!0,i[l]=!0,e.each(r.predecessors(l),s),delete o[l],a.push(l))}if(e.each(r.sinks(),s),e.size(i)!==r.nodeCount())throw new n;return a}function n(){}return n.prototype=new Error,dp}var fp,NS;function wz(){if(NS)return fp;NS=1;var e=Wj();fp=t;function t(n){try{e(n)}catch(r){if(r instanceof e.CycleException)return!1;throw r}return!0}return fp}var hp,IS;function Uj(){if(IS)return hp;IS=1;var e=tn();hp=t;function t(r,i,o){e.isArray(i)||(i=[i]);var a=(r.isDirected()?r.successors:r.neighbors).bind(r),s=[],l={};return e.each(i,function(c){if(!r.hasNode(c))throw new Error("Graph does not have node: "+c);n(r,c,o==="post",l,a,s)}),s}function n(r,i,o,a,s,l){e.has(a,i)||(a[i]=!0,o||l.push(i),e.each(s(i),function(c){n(r,c,o,a,s,l)}),o&&l.push(i))}return hp}var pp,AS;function bz(){if(AS)return pp;AS=1;var e=Uj();pp=t;function t(n,r){return e(n,r,"post")}return pp}var gp,TS;function Sz(){if(TS)return gp;TS=1;var e=Uj();gp=t;function t(n,r){return e(n,r,"pre")}return gp}var mp,PS;function _z(){if(PS)return mp;PS=1;var e=tn(),t=yy(),n=Dj();mp=r;function r(i,o){var a=new t,s={},l=new n,c;function u(h){var p=h.v===c?h.w:h.v,v=l.priority(p);if(v!==void 0){var g=o(h);g<v&&(s[p]=c,l.decrease(p,g))}}if(i.nodeCount()===0)return a;e.each(i.nodes(),function(h){l.add(h,Number.POSITIVE_INFINITY),a.setNode(h)}),l.decrease(i.nodes()[0],0);for(var f=!1;l.size()>0;){if(c=l.removeMin(),e.has(s,c))a.setEdge(c,s[c]);else{if(f)throw new Error("Input graph is not connected: "+i);f=!0}i.nodeEdges(c).forEach(u)}return a}return mp}var vp,MS;function Ez(){return MS||(MS=1,vp={components:mz(),dijkstra:Bj(),dijkstraAll:vz(),findCycles:yz(),floydWarshall:xz(),isAcyclic:wz(),postorder:bz(),preorder:Sz(),prim:_z(),tarjan:Hj(),topsort:Wj()}),vp}var yp,LS;function kz(){if(LS)return yp;LS=1;var e=pz();return yp={Graph:e.Graph,json:gz(),alg:Ez(),version:e.version},yp}var Nl;if(typeof ny=="function")try{Nl=kz()}catch{}Nl||(Nl=window.graphlib);var vn=Nl,xp,$S;function Cz(){if($S)return xp;$S=1;var e=mj(),t=1,n=4;function r(i){return e(i,t|n)}return xp=r,xp}var wp,zS;function Cc(){if(zS)return wp;zS=1;var e=to(),t=Gn(),n=vc(),r=en();function i(o,a,s){if(!r(s))return!1;var l=typeof a;return(l=="number"?t(s)&&n(a,s.length):l=="string"&&a in s)?e(s[a],o):!1}return wp=i,wp}var bp,OS;function jz(){if(OS)return bp;OS=1;var e=kc(),t=to(),n=Cc(),r=ii(),i=Object.prototype,o=i.hasOwnProperty,a=e(function(s,l){s=Object(s);var c=-1,u=l.length,f=u>2?l[2]:void 0;for(f&&n(l[0],l[1],f)&&(u=1);++c<u;)for(var h=l[c],p=r(h),v=-1,g=p.length;++v<g;){var b=p[v],m=s[b];(m===void 0||t(m,i[b])&&!o.call(s,b))&&(s[b]=h[b])}return s});return bp=a,bp}var Sp,FS;function Rz(){if(FS)return Sp;FS=1;var e=Kn(),t=Gn(),n=Ir();function r(i){return function(o,a,s){var l=Object(o);if(!t(o)){var c=e(a,3);o=n(o),a=function(f){return c(l[f],f,l)}}var u=i(o,a,s);return u>-1?l[c?o[u]:u]:void 0}}return Sp=r,Sp}var _p,qS;function Nz(){if(qS)return _p;qS=1;var e=/\s/;function t(n){for(var r=n.length;r--&&e.test(n.charAt(r)););return r}return _p=t,_p}var Ep,DS;function Iz(){if(DS)return Ep;DS=1;var e=Nz(),t=/^\s+/;function n(r){return r&&r.slice(0,e(r)+1).replace(t,"")}return Ep=n,Ep}var kp,BS;function Az(){if(BS)return kp;BS=1;var e=Iz(),t=en(),n=oo(),r=NaN,i=/^[-+]0x[0-9a-f]+$/i,o=/^0b[01]+$/i,a=/^0o[0-7]+$/i,s=parseInt;function l(c){if(typeof c=="number")return c;if(n(c))return r;if(t(c)){var u=typeof c.valueOf=="function"?c.valueOf():c;c=t(u)?u+"":u}if(typeof c!="string")return c===0?c:+c;c=e(c);var f=o.test(c);return f||a.test(c)?s(c.slice(2),f?2:8):i.test(c)?r:+c}return kp=l,kp}var Cp,HS;function Vj(){if(HS)return Cp;HS=1;var e=Az(),t=1/0,n=17976931348623157e292;function r(i){if(!i)return i===0?i:0;if(i=e(i),i===t||i===-t){var o=i<0?-1:1;return o*n}return i===i?i:0}return Cp=r,Cp}var jp,WS;function Tz(){if(WS)return jp;WS=1;var e=Vj();function t(n){var r=e(n),i=r%1;return r===r?i?r-i:r:0}return jp=t,jp}var Rp,US;function Pz(){if(US)return Rp;US=1;var e=Oj(),t=Kn(),n=Tz(),r=Math.max;function i(o,a,s){var l=o==null?0:o.length;if(!l)return-1;var c=s==null?0:n(s);return c<0&&(c=r(l+c,0)),e(o,t(a,3),c)}return Rp=i,Rp}var Np,VS;function Mz(){if(VS)return Np;VS=1;var e=Rz(),t=Pz(),n=e(t);return Np=n,Np}var Ip,GS;function Gj(){if(GS)return Ip;GS=1;var e=vy();function t(n){var r=n==null?0:n.length;return r?e(n,1):[]}return Ip=t,Ip}var Ap,KS;function Lz(){if(KS)return Ap;KS=1;var e=hy(),t=vj(),n=ii();function r(i,o){return i==null?i:e(i,t(o),n)}return Ap=r,Ap}var Tp,YS;function $z(){if(YS)return Tp;YS=1;function e(t){var n=t==null?0:t.length;return n?t[n-1]:void 0}return Tp=e,Tp}var Pp,XS;function zz(){if(XS)return Pp;XS=1;var e=gc(),t=py(),n=Kn();function r(i,o){var a={};return o=n(o,3),t(i,function(s,l,c){e(a,l,o(s,l,c))}),a}return Pp=r,Pp}var Mp,QS;function xy(){if(QS)return Mp;QS=1;var e=oo();function t(n,r,i){for(var o=-1,a=n.length;++o<a;){var s=n[o],l=r(s);if(l!=null&&(c===void 0?l===l&&!e(l):i(l,c)))var c=l,u=s}return u}return Mp=t,Mp}var Lp,ZS;function Oz(){if(ZS)return Lp;ZS=1;function e(t,n){return t>n}return Lp=e,Lp}var $p,JS;function Fz(){if(JS)return $p;JS=1;var e=xy(),t=Oz(),n=oi();function r(i){return i&&i.length?e(i,n,t):void 0}return $p=r,$p}var zp,e_;function Kj(){if(e_)return zp;e_=1;var e=gc(),t=to();function n(r,i,o){(o!==void 0&&!t(r[i],o)||o===void 0&&!(i in r))&&e(r,i,o)}return zp=n,zp}var Op,t_;function qz(){if(t_)return Op;t_=1;var e=ni(),t=wc(),n=jn(),r="[object Object]",i=Function.prototype,o=Object.prototype,a=i.toString,s=o.hasOwnProperty,l=a.call(Object);function c(u){if(!n(u)||e(u)!=r)return!1;var f=t(u);if(f===null)return!0;var h=s.call(f,"constructor")&&f.constructor;return typeof h=="function"&&h instanceof h&&a.call(h)==l}return Op=c,Op}var Fp,n_;function Yj(){if(n_)return Fp;n_=1;function e(t,n){if(!(n==="constructor"&&typeof t[n]=="function")&&n!="__proto__")return t[n]}return Fp=e,Fp}var qp,r_;function Dz(){if(r_)return qp;r_=1;var e=Ma(),t=ii();function n(r){return e(r,t(r))}return qp=n,qp}var Dp,i_;function Bz(){if(i_)return Dp;i_=1;var e=Kj(),t=ij(),n=hj(),r=oj(),i=gj(),o=La(),a=He(),s=Fj(),l=ro(),c=Pa(),u=en(),f=qz(),h=$a(),p=Yj(),v=Dz();function g(b,m,y,x,S,C,R){var _=p(b,y),I=p(m,y),M=R.get(I);if(M){e(b,y,M);return}var k=C?C(_,I,y+"",b,m,R):void 0,T=k===void 0;if(T){var z=a(I),$=!z&&l(I),j=!z&&!$&&h(I);k=I,z||$||j?a(_)?k=_:s(_)?k=r(_):$?(T=!1,k=t(I,!0)):j?(T=!1,k=n(I,!0)):k=[]:f(I)||o(I)?(k=_,o(_)?k=v(_):(!u(_)||c(_))&&(k=i(I))):T=!1}T&&(R.set(I,k),S(k,I,x,C,R),R.delete(I)),e(b,y,k)}return Dp=g,Dp}var Bp,o_;function Hz(){if(o_)return Bp;o_=1;var e=pc(),t=Kj(),n=hy(),r=Bz(),i=en(),o=ii(),a=Yj();function s(l,c,u,f,h){l!==c&&n(c,function(p,v){if(h||(h=new e),i(p))r(l,c,v,u,s,f,h);else{var g=f?f(a(l,v),p,v+"",l,c,h):void 0;g===void 0&&(g=p),t(l,v,g)}},o)}return Bp=s,Bp}var Hp,a_;function Wz(){if(a_)return Hp;a_=1;var e=kc(),t=Cc();function n(r){return e(function(i,o){var a=-1,s=o.length,l=s>1?o[s-1]:void 0,c=s>2?o[2]:void 0;for(l=r.length>3&&typeof l=="function"?(s--,l):void 0,c&&t(o[0],o[1],c)&&(l=s<3?void 0:l,s=1),i=Object(i);++a<s;){var u=o[a];u&&r(i,u,a,l)}return i})}return Hp=n,Hp}var Wp,s_;function Uz(){if(s_)return Wp;s_=1;var e=Hz(),t=Wz(),n=t(function(r,i,o){e(r,i,o)});return Wp=n,Wp}var Up,l_;function Xj(){if(l_)return Up;l_=1;function e(t,n){return t<n}return Up=e,Up}var Vp,c_;function Vz(){if(c_)return Vp;c_=1;var e=xy(),t=Xj(),n=oi();function r(i){return i&&i.length?e(i,n,t):void 0}return Vp=r,Vp}var Gp,u_;function Gz(){if(u_)return Gp;u_=1;var e=xy(),t=Kn(),n=Xj();function r(i,o){return i&&i.length?e(i,t(o,2),n):void 0}return Gp=r,Gp}var Kp,d_;function Kz(){if(d_)return Kp;d_=1;var e=mn(),t=function(){return e.Date.now()};return Kp=t,Kp}var Yp,f_;function Yz(){if(f_)return Yp;f_=1;var e=mc(),t=_c(),n=vc(),r=en(),i=za();function o(a,s,l,c){if(!r(a))return a;s=t(s,a);for(var u=-1,f=s.length,h=f-1,p=a;p!=null&&++u<f;){var v=i(s[u]),g=l;if(v==="__proto__"||v==="constructor"||v==="prototype")return a;if(u!=h){var b=p[v];g=c?c(b,v,p):void 0,g===void 0&&(g=r(b)?b:n(s[u+1])?[]:{})}e(p,v,g),p=p[v]}return a}return Yp=o,Yp}var Xp,h_;function Xz(){if(h_)return Xp;h_=1;var e=Ec(),t=Yz(),n=_c();function r(i,o,a){for(var s=-1,l=o.length,c={};++s<l;){var u=o[s],f=e(i,u);a(f,u)&&t(c,n(u,i),f)}return c}return Xp=r,Xp}var Qp,p_;function Qz(){if(p_)return Qp;p_=1;var e=Xz(),t=Rj();function n(r,i){return e(r,i,function(o,a){return t(r,a)})}return Qp=n,Qp}var Zp,g_;function Zz(){if(g_)return Zp;g_=1;var e=Gj(),t=$j(),n=zj();function r(i){return n(t(i,void 0,e),i+"")}return Zp=r,Zp}var Jp,m_;function Jz(){if(m_)return Jp;m_=1;var e=Qz(),t=Zz(),n=t(function(r,i){return r==null?{}:e(r,i)});return Jp=n,Jp}var eg,v_;function eO(){if(v_)return eg;v_=1;var e=Math.ceil,t=Math.max;function n(r,i,o,a){for(var s=-1,l=t(e((i-r)/(o||1)),0),c=Array(l);l--;)c[a?l:++s]=r,r+=o;return c}return eg=n,eg}var tg,y_;function tO(){if(y_)return tg;y_=1;var e=eO(),t=Cc(),n=Vj();function r(i){return function(o,a,s){return s&&typeof s!="number"&&t(o,a,s)&&(a=s=void 0),o=n(o),a===void 0?(a=o,o=0):a=n(a),s=s===void 0?o<a?1:-1:n(s),e(o,a,s,i)}}return tg=r,tg}var ng,x_;function nO(){if(x_)return ng;x_=1;var e=tO(),t=e();return ng=t,ng}var rg,w_;function rO(){if(w_)return rg;w_=1;function e(t,n){var r=t.length;for(t.sort(n);r--;)t[r]=t[r].value;return t}return rg=e,rg}var ig,b_;function iO(){if(b_)return ig;b_=1;var e=oo();function t(n,r){if(n!==r){var i=n!==void 0,o=n===null,a=n===n,s=e(n),l=r!==void 0,c=r===null,u=r===r,f=e(r);if(!c&&!f&&!s&&n>r||s&&l&&u&&!c&&!f||o&&l&&u||!i&&u||!a)return 1;if(!o&&!s&&!f&&n<r||f&&i&&a&&!o&&!s||c&&i&&a||!l&&a||!u)return-1}return 0}return ig=t,ig}var og,S_;function oO(){if(S_)return og;S_=1;var e=iO();function t(n,r,i){for(var o=-1,a=n.criteria,s=r.criteria,l=a.length,c=i.length;++o<l;){var u=e(a[o],s[o]);if(u){if(o>=c)return u;var f=i[o];return u*(f=="desc"?-1:1)}}return n.index-r.index}return og=t,og}var ag,__;function aO(){if(__)return ag;__=1;var e=Sc(),t=Ec(),n=Kn(),r=Pj(),i=rO(),o=yc(),a=oO(),s=oi(),l=He();function c(u,f,h){f.length?f=e(f,function(g){return l(g)?function(b){return t(b,g.length===1?g[0]:g)}:g}):f=[s];var p=-1;f=e(f,o(n));var v=r(u,function(g,b,m){var y=e(f,function(x){return x(g)});return{criteria:y,index:++p,value:g}});return i(v,function(g,b){return a(g,b,h)})}return ag=c,ag}var sg,E_;function sO(){if(E_)return sg;E_=1;var e=vy(),t=aO(),n=kc(),r=Cc(),i=n(function(o,a){if(o==null)return[];var s=a.length;return s>1&&r(o,a[0],a[1])?a=[]:s>2&&r(a[0],a[1],a[2])&&(a=[a[0]]),t(o,e(a,1),[])});return sg=i,sg}var lg,k_;function lO(){if(k_)return lg;k_=1;var e=Cj(),t=0;function n(r){var i=++t;return e(r)+i}return lg=n,lg}var cg,C_;function cO(){if(C_)return cg;C_=1;function e(t,n,r){for(var i=-1,o=t.length,a=n.length,s={};++i<o;){var l=i<a?n[i]:void 0;r(s,t[i],l)}return s}return cg=e,cg}var ug,j_;function uO(){if(j_)return ug;j_=1;var e=mc(),t=cO();function n(r,i){return t(r||[],i||[],e)}return ug=n,ug}var Il;if(typeof ny=="function")try{Il={cloneDeep:Cz(),constant:fy(),defaults:jz(),each:xj(),filter:Ij(),find:Mz(),flatten:Gj(),forEach:yj(),forIn:Lz(),has:Aj(),isUndefined:Tj(),last:$z(),map:Mj(),mapValues:zz(),max:Fz(),merge:Uz(),min:Vz(),minBy:Gz(),now:Kz(),pick:Jz(),range:nO(),reduce:Lj(),sortBy:sO(),uniqueId:lO(),values:qj(),zipObject:uO()}}catch{}Il||(Il=window._);var Te=Il,dO=jc;function jc(){var e={};e._next=e._prev=e,this._sentinel=e}jc.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;if(t!==e)return Qj(t),t};jc.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&Qj(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t};jc.prototype.toString=function(){for(var e=[],t=this._sentinel,n=t._prev;n!==t;)e.push(JSON.stringify(n,fO)),n=n._prev;return"["+e.join(", ")+"]"};function Qj(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function fO(e,t){if(e!=="_next"&&e!=="_prev")return t}var Ln=Te,hO=vn.Graph,pO=dO,gO=vO,mO=Ln.constant(1);function vO(e,t){if(e.nodeCount()<=1)return[];var n=xO(e,t||mO),r=yO(n.graph,n.buckets,n.zeroIdx);return Ln.flatten(Ln.map(r,function(i){return e.outEdges(i.v,i.w)}),!0)}function yO(e,t,n){for(var r=[],i=t[t.length-1],o=t[0],a;e.nodeCount();){for(;a=o.dequeue();)dg(e,t,n,a);for(;a=i.dequeue();)dg(e,t,n,a);if(e.nodeCount()){for(var s=t.length-2;s>0;--s)if(a=t[s].dequeue(),a){r=r.concat(dg(e,t,n,a,!0));break}}}return r}function dg(e,t,n,r,i){var o=i?[]:void 0;return Ln.forEach(e.inEdges(r.v),function(a){var s=e.edge(a),l=e.node(a.v);i&&o.push({v:a.v,w:a.w}),l.out-=s,zm(t,n,l)}),Ln.forEach(e.outEdges(r.v),function(a){var s=e.edge(a),l=a.w,c=e.node(l);c.in-=s,zm(t,n,c)}),e.removeNode(r.v),o}function xO(e,t){var n=new hO,r=0,i=0;Ln.forEach(e.nodes(),function(s){n.setNode(s,{v:s,in:0,out:0})}),Ln.forEach(e.edges(),function(s){var l=n.edge(s.v,s.w)||0,c=t(s),u=l+c;n.setEdge(s.v,s.w,u),i=Math.max(i,n.node(s.v).out+=c),r=Math.max(r,n.node(s.w).in+=c)});var o=Ln.range(i+r+3).map(function(){return new pO}),a=r+1;return Ln.forEach(n.nodes(),function(s){zm(o,a,n.node(s))}),{graph:n,buckets:o,zeroIdx:a}}function zm(e,t,n){n.out?n.in?e[n.out-n.in+t].enqueue(n):e[e.length-1].enqueue(n):e[0].enqueue(n)}var Br=Te,wO=gO,bO={run:SO,undo:EO};function SO(e){var t=e.graph().acyclicer==="greedy"?wO(e,n(e)):_O(e);Br.forEach(t,function(r){var i=e.edge(r);e.removeEdge(r),i.forwardName=r.name,i.reversed=!0,e.setEdge(r.w,r.v,i,Br.uniqueId("rev"))});function n(r){return function(i){return r.edge(i).weight}}}function _O(e){var t=[],n={},r={};function i(o){Br.has(r,o)||(r[o]=!0,n[o]=!0,Br.forEach(e.outEdges(o),function(a){Br.has(n,a.w)?t.push(a):i(a.w)}),delete n[o])}return Br.forEach(e.nodes(),i),t}function EO(e){Br.forEach(e.edges(),function(t){var n=e.edge(t);if(n.reversed){e.removeEdge(t);var r=n.forwardName;delete n.reversed,delete n.forwardName,e.setEdge(t.w,t.v,n,r)}})}var ve=Te,Zj=vn.Graph,Nt={addDummyNode:Jj,simplify:kO,asNonCompoundGraph:CO,successorWeights:jO,predecessorWeights:RO,intersectRect:NO,buildLayerMatrix:IO,normalizeRanks:AO,removeEmptyRanks:TO,addBorderNode:PO,maxRank:eR,partition:MO,time:LO,notime:$O};function Jj(e,t,n,r){var i;do i=ve.uniqueId(r);while(e.hasNode(i));return n.dummy=t,e.setNode(i,n),i}function kO(e){var t=new Zj().setGraph(e.graph());return ve.forEach(e.nodes(),function(n){t.setNode(n,e.node(n))}),ve.forEach(e.edges(),function(n){var r=t.edge(n.v,n.w)||{weight:0,minlen:1},i=e.edge(n);t.setEdge(n.v,n.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})}),t}function CO(e){var t=new Zj({multigraph:e.isMultigraph()}).setGraph(e.graph());return ve.forEach(e.nodes(),function(n){e.children(n).length||t.setNode(n,e.node(n))}),ve.forEach(e.edges(),function(n){t.setEdge(n,e.edge(n))}),t}function jO(e){var t=ve.map(e.nodes(),function(n){var r={};return ve.forEach(e.outEdges(n),function(i){r[i.w]=(r[i.w]||0)+e.edge(i).weight}),r});return ve.zipObject(e.nodes(),t)}function RO(e){var t=ve.map(e.nodes(),function(n){var r={};return ve.forEach(e.inEdges(n),function(i){r[i.v]=(r[i.v]||0)+e.edge(i).weight}),r});return ve.zipObject(e.nodes(),t)}function NO(e,t){var n=e.x,r=e.y,i=t.x-n,o=t.y-r,a=e.width/2,s=e.height/2;if(!i&&!o)throw new Error("Not possible to find intersection inside of the rectangle");var l,c;return Math.abs(o)*a>Math.abs(i)*s?(o<0&&(s=-s),l=s*i/o,c=s):(i<0&&(a=-a),l=a,c=a*o/i),{x:n+l,y:r+c}}function IO(e){var t=ve.map(ve.range(eR(e)+1),function(){return[]});return ve.forEach(e.nodes(),function(n){var r=e.node(n),i=r.rank;ve.isUndefined(i)||(t[i][r.order]=n)}),t}function AO(e){var t=ve.min(ve.map(e.nodes(),function(n){return e.node(n).rank}));ve.forEach(e.nodes(),function(n){var r=e.node(n);ve.has(r,"rank")&&(r.rank-=t)})}function TO(e){var t=ve.min(ve.map(e.nodes(),function(o){return e.node(o).rank})),n=[];ve.forEach(e.nodes(),function(o){var a=e.node(o).rank-t;n[a]||(n[a]=[]),n[a].push(o)});var r=0,i=e.graph().nodeRankFactor;ve.forEach(n,function(o,a){ve.isUndefined(o)&&a%i!==0?--r:r&&ve.forEach(o,function(s){e.node(s).rank+=r})})}function PO(e,t,n,r){var i={width:0,height:0};return arguments.length>=4&&(i.rank=n,i.order=r),Jj(e,"border",i,t)}function eR(e){return ve.max(ve.map(e.nodes(),function(t){var n=e.node(t).rank;if(!ve.isUndefined(n))return n}))}function MO(e,t){var n={lhs:[],rhs:[]};return ve.forEach(e,function(r){t(r)?n.lhs.push(r):n.rhs.push(r)}),n}function LO(e,t){var n=ve.now();try{return t()}finally{console.log(e+" time: "+(ve.now()-n)+"ms")}}function $O(e,t){return t()}var tR=Te,zO=Nt,OO={run:FO,undo:DO};function FO(e){e.graph().dummyChains=[],tR.forEach(e.edges(),function(t){qO(e,t)})}function qO(e,t){var n=t.v,r=e.node(n).rank,i=t.w,o=e.node(i).rank,a=t.name,s=e.edge(t),l=s.labelRank;if(o!==r+1){e.removeEdge(t);var c,u,f;for(f=0,++r;r<o;++f,++r)s.points=[],u={width:0,height:0,edgeLabel:s,edgeObj:t,rank:r},c=zO.addDummyNode(e,"edge",u,"_d"),r===l&&(u.width=s.width,u.height=s.height,u.dummy="edge-label",u.labelpos=s.labelpos),e.setEdge(n,c,{weight:s.weight},a),f===0&&e.graph().dummyChains.push(c),n=c;e.setEdge(n,i,{weight:s.weight},a)}}function DO(e){tR.forEach(e.graph().dummyChains,function(t){var n=e.node(t),r=n.edgeLabel,i;for(e.setEdge(n.edgeObj,r);n.dummy;)i=e.successors(t)[0],e.removeNode(t),r.points.push({x:n.x,y:n.y}),n.dummy==="edge-label"&&(r.x=n.x,r.y=n.y,r.width=n.width,r.height=n.height),t=i,n=e.node(t)})}var _s=Te,Rc={longestPath:BO,slack:HO};function BO(e){var t={};function n(r){var i=e.node(r);if(_s.has(t,r))return i.rank;t[r]=!0;var o=_s.min(_s.map(e.outEdges(r),function(a){return n(a.w)-e.edge(a).minlen}));return(o===Number.POSITIVE_INFINITY||o===void 0||o===null)&&(o=0),i.rank=o}_s.forEach(e.sources(),n)}function HO(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var Al=Te,WO=vn.Graph,Tl=Rc.slack,nR=UO;function UO(e){var t=new WO({directed:!1}),n=e.nodes()[0],r=e.nodeCount();t.setNode(n,{});for(var i,o;VO(t,e)<r;)i=GO(t,e),o=t.hasNode(i.v)?Tl(e,i):-Tl(e,i),KO(t,e,o);return t}function VO(e,t){function n(r){Al.forEach(t.nodeEdges(r),function(i){var o=i.v,a=r===o?i.w:o;!e.hasNode(a)&&!Tl(t,i)&&(e.setNode(a,{}),e.setEdge(r,a,{}),n(a))})}return Al.forEach(e.nodes(),n),e.nodeCount()}function GO(e,t){return Al.minBy(t.edges(),function(n){if(e.hasNode(n.v)!==e.hasNode(n.w))return Tl(t,n)})}function KO(e,t,n){Al.forEach(e.nodes(),function(r){t.node(r).rank+=n})}var Un=Te,YO=nR,XO=Rc.slack,QO=Rc.longestPath,ZO=vn.alg.preorder,JO=vn.alg.postorder,eF=Nt.simplify,tF=ai;ai.initLowLimValues=by;ai.initCutValues=wy;ai.calcCutValue=rR;ai.leaveEdge=oR;ai.enterEdge=aR;ai.exchangeEdges=sR;function ai(e){e=eF(e),QO(e);var t=YO(e);by(t),wy(t,e);for(var n,r;n=oR(t);)r=aR(t,e,n),sR(t,e,n,r)}function wy(e,t){var n=JO(e,e.nodes());n=n.slice(0,n.length-1),Un.forEach(n,function(r){nF(e,t,r)})}function nF(e,t,n){var r=e.node(n),i=r.parent;e.edge(n,i).cutvalue=rR(e,t,n)}function rR(e,t,n){var r=e.node(n),i=r.parent,o=!0,a=t.edge(n,i),s=0;return a||(o=!1,a=t.edge(i,n)),s=a.weight,Un.forEach(t.nodeEdges(n),function(l){var c=l.v===n,u=c?l.w:l.v;if(u!==i){var f=c===o,h=t.edge(l).weight;if(s+=f?h:-h,iF(e,n,u)){var p=e.edge(n,u).cutvalue;s+=f?-p:p}}}),s}function by(e,t){arguments.length<2&&(t=e.nodes()[0]),iR(e,{},1,t)}function iR(e,t,n,r,i){var o=n,a=e.node(r);return t[r]=!0,Un.forEach(e.neighbors(r),function(s){Un.has(t,s)||(n=iR(e,t,n,s,r))}),a.low=o,a.lim=n++,i?a.parent=i:delete a.parent,n}function oR(e){return Un.find(e.edges(),function(t){return e.edge(t).cutvalue<0})}function aR(e,t,n){var r=n.v,i=n.w;t.hasEdge(r,i)||(r=n.w,i=n.v);var o=e.node(r),a=e.node(i),s=o,l=!1;o.lim>a.lim&&(s=a,l=!0);var c=Un.filter(t.edges(),function(u){return l===R_(e,e.node(u.v),s)&&l!==R_(e,e.node(u.w),s)});return Un.minBy(c,function(u){return XO(t,u)})}function sR(e,t,n,r){var i=n.v,o=n.w;e.removeEdge(i,o),e.setEdge(r.v,r.w,{}),by(e),wy(e,t),rF(e,t)}function rF(e,t){var n=Un.find(e.nodes(),function(i){return!t.node(i).parent}),r=ZO(e,n);r=r.slice(1),Un.forEach(r,function(i){var o=e.node(i).parent,a=t.edge(i,o),s=!1;a||(a=t.edge(o,i),s=!0),t.node(i).rank=t.node(o).rank+(s?a.minlen:-a.minlen)})}function iF(e,t,n){return e.hasEdge(t,n)}function R_(e,t,n){return n.low<=t.lim&&t.lim<=n.lim}var oF=Rc,lR=oF.longestPath,aF=nR,sF=tF,lF=cF;function cF(e){switch(e.graph().ranker){case"network-simplex":N_(e);break;case"tight-tree":dF(e);break;case"longest-path":uF(e);break;default:N_(e)}}var uF=lR;function dF(e){lR(e),aF(e)}function N_(e){sF(e)}var Om=Te,fF=hF;function hF(e){var t=gF(e);Om.forEach(e.graph().dummyChains,function(n){for(var r=e.node(n),i=r.edgeObj,o=pF(e,t,i.v,i.w),a=o.path,s=o.lca,l=0,c=a[l],u=!0;n!==i.w;){if(r=e.node(n),u){for(;(c=a[l])!==s&&e.node(c).maxRank<r.rank;)l++;c===s&&(u=!1)}if(!u){for(;l<a.length-1&&e.node(c=a[l+1]).minRank<=r.rank;)l++;c=a[l]}e.setParent(n,c),n=e.successors(n)[0]}})}function pF(e,t,n,r){var i=[],o=[],a=Math.min(t[n].low,t[r].low),s=Math.max(t[n].lim,t[r].lim),l,c;l=n;do l=e.parent(l),i.push(l);while(l&&(t[l].low>a||s>t[l].lim));for(c=l,l=r;(l=e.parent(l))!==c;)o.push(l);return{path:i.concat(o.reverse()),lca:c}}function gF(e){var t={},n=0;function r(i){var o=n;Om.forEach(e.children(i),r),t[i]={low:o,lim:n++}}return Om.forEach(e.children(),r),t}var $n=Te,Fm=Nt,mF={run:vF,cleanup:wF};function vF(e){var t=Fm.addDummyNode(e,"root",{},"_root"),n=yF(e),r=$n.max($n.values(n))-1,i=2*r+1;e.graph().nestingRoot=t,$n.forEach(e.edges(),function(a){e.edge(a).minlen*=i});var o=xF(e)+1;$n.forEach(e.children(),function(a){cR(e,t,i,o,r,n,a)}),e.graph().nodeRankFactor=i}function cR(e,t,n,r,i,o,a){var s=e.children(a);if(!s.length){a!==t&&e.setEdge(t,a,{weight:0,minlen:n});return}var l=Fm.addBorderNode(e,"_bt"),c=Fm.addBorderNode(e,"_bb"),u=e.node(a);e.setParent(l,a),u.borderTop=l,e.setParent(c,a),u.borderBottom=c,$n.forEach(s,function(f){cR(e,t,n,r,i,o,f);var h=e.node(f),p=h.borderTop?h.borderTop:f,v=h.borderBottom?h.borderBottom:f,g=h.borderTop?r:2*r,b=p!==v?1:i-o[a]+1;e.setEdge(l,p,{weight:g,minlen:b,nestingEdge:!0}),e.setEdge(v,c,{weight:g,minlen:b,nestingEdge:!0})}),e.parent(a)||e.setEdge(t,l,{weight:0,minlen:i+o[a]})}function yF(e){var t={};function n(r,i){var o=e.children(r);o&&o.length&&$n.forEach(o,function(a){n(a,i+1)}),t[r]=i}return $n.forEach(e.children(),function(r){n(r,1)}),t}function xF(e){return $n.reduce(e.edges(),function(t,n){return t+e.edge(n).weight},0)}function wF(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,$n.forEach(e.edges(),function(n){var r=e.edge(n);r.nestingEdge&&e.removeEdge(n)})}var fg=Te,bF=Nt,SF=_F;function _F(e){function t(n){var r=e.children(n),i=e.node(n);if(r.length&&fg.forEach(r,t),fg.has(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var o=i.minRank,a=i.maxRank+1;o<a;++o)I_(e,"borderLeft","_bl",n,i,o),I_(e,"borderRight","_br",n,i,o)}}fg.forEach(e.children(),t)}function I_(e,t,n,r,i,o){var a={width:0,height:0,rank:o,borderType:t},s=i[t][o-1],l=bF.addDummyNode(e,"border",a,n);i[t][o]=l,e.setParent(l,r),s&&e.setEdge(s,l,{weight:1})}var Sn=Te,EF={adjust:kF,undo:CF};function kF(e){var t=e.graph().rankdir.toLowerCase();(t==="lr"||t==="rl")&&uR(e)}function CF(e){var t=e.graph().rankdir.toLowerCase();(t==="bt"||t==="rl")&&jF(e),(t==="lr"||t==="rl")&&(RF(e),uR(e))}function uR(e){Sn.forEach(e.nodes(),function(t){A_(e.node(t))}),Sn.forEach(e.edges(),function(t){A_(e.edge(t))})}function A_(e){var t=e.width;e.width=e.height,e.height=t}function jF(e){Sn.forEach(e.nodes(),function(t){hg(e.node(t))}),Sn.forEach(e.edges(),function(t){var n=e.edge(t);Sn.forEach(n.points,hg),Sn.has(n,"y")&&hg(n)})}function hg(e){e.y=-e.y}function RF(e){Sn.forEach(e.nodes(),function(t){pg(e.node(t))}),Sn.forEach(e.edges(),function(t){var n=e.edge(t);Sn.forEach(n.points,pg),Sn.has(n,"x")&&pg(n)})}function pg(e){var t=e.x;e.x=e.y,e.y=t}var Nn=Te,NF=IF;function IF(e){var t={},n=Nn.filter(e.nodes(),function(s){return!e.children(s).length}),r=Nn.max(Nn.map(n,function(s){return e.node(s).rank})),i=Nn.map(Nn.range(r+1),function(){return[]});function o(s){if(!Nn.has(t,s)){t[s]=!0;var l=e.node(s);i[l.rank].push(s),Nn.forEach(e.successors(s),o)}}var a=Nn.sortBy(n,function(s){return e.node(s).rank});return Nn.forEach(a,o),i}var Jn=Te,AF=TF;function TF(e,t){for(var n=0,r=1;r<t.length;++r)n+=PF(e,t[r-1],t[r]);return n}function PF(e,t,n){for(var r=Jn.zipObject(n,Jn.map(n,function(c,u){return u})),i=Jn.flatten(Jn.map(t,function(c){return Jn.sortBy(Jn.map(e.outEdges(c),function(u){return{pos:r[u.w],weight:e.edge(u).weight}}),"pos")}),!0),o=1;o<n.length;)o<<=1;var a=2*o-1;o-=1;var s=Jn.map(new Array(a),function(){return 0}),l=0;return Jn.forEach(i.forEach(function(c){var u=c.pos+o;s[u]+=c.weight;for(var f=0;u>0;)u%2&&(f+=s[u+1]),u=u-1>>1,s[u]+=c.weight;l+=c.weight*f})),l}var T_=Te,MF=LF;function LF(e,t){return T_.map(t,function(n){var r=e.inEdges(n);if(r.length){var i=T_.reduce(r,function(o,a){var s=e.edge(a),l=e.node(a.v);return{sum:o.sum+s.weight*l.order,weight:o.weight+s.weight}},{sum:0,weight:0});return{v:n,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:n}})}var Lt=Te,$F=zF;function zF(e,t){var n={};Lt.forEach(e,function(i,o){var a=n[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:o};Lt.isUndefined(i.barycenter)||(a.barycenter=i.barycenter,a.weight=i.weight)}),Lt.forEach(t.edges(),function(i){var o=n[i.v],a=n[i.w];!Lt.isUndefined(o)&&!Lt.isUndefined(a)&&(a.indegree++,o.out.push(n[i.w]))});var r=Lt.filter(n,function(i){return!i.indegree});return OF(r)}function OF(e){var t=[];function n(o){return function(a){a.merged||(Lt.isUndefined(a.barycenter)||Lt.isUndefined(o.barycenter)||a.barycenter>=o.barycenter)&&FF(o,a)}}function r(o){return function(a){a.in.push(o),--a.indegree===0&&e.push(a)}}for(;e.length;){var i=e.pop();t.push(i),Lt.forEach(i.in.reverse(),n(i)),Lt.forEach(i.out,r(i))}return Lt.map(Lt.filter(t,function(o){return!o.merged}),function(o){return Lt.pick(o,["vs","i","barycenter","weight"])})}function FF(e,t){var n=0,r=0;e.weight&&(n+=e.barycenter*e.weight,r+=e.weight),t.weight&&(n+=t.barycenter*t.weight,r+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=n/r,e.weight=r,e.i=Math.min(t.i,e.i),t.merged=!0}var Do=Te,qF=Nt,DF=BF;function BF(e,t){var n=qF.partition(e,function(u){return Do.has(u,"barycenter")}),r=n.lhs,i=Do.sortBy(n.rhs,function(u){return-u.i}),o=[],a=0,s=0,l=0;r.sort(HF(!!t)),l=P_(o,i,l),Do.forEach(r,function(u){l+=u.vs.length,o.push(u.vs),a+=u.barycenter*u.weight,s+=u.weight,l=P_(o,i,l)});var c={vs:Do.flatten(o,!0)};return s&&(c.barycenter=a/s,c.weight=s),c}function P_(e,t,n){for(var r;t.length&&(r=Do.last(t)).i<=n;)t.pop(),e.push(r.vs),n++;return n}function HF(e){return function(t,n){return t.barycenter<n.barycenter?-1:t.barycenter>n.barycenter?1:e?n.i-t.i:t.i-n.i}}var cr=Te,WF=MF,UF=$F,VF=DF,GF=dR;function dR(e,t,n,r){var i=e.children(t),o=e.node(t),a=o?o.borderLeft:void 0,s=o?o.borderRight:void 0,l={};a&&(i=cr.filter(i,function(v){return v!==a&&v!==s}));var c=WF(e,i);cr.forEach(c,function(v){if(e.children(v.v).length){var g=dR(e,v.v,n,r);l[v.v]=g,cr.has(g,"barycenter")&&YF(v,g)}});var u=UF(c,n);KF(u,l);var f=VF(u,r);if(a&&(f.vs=cr.flatten([a,f.vs,s],!0),e.predecessors(a).length)){var h=e.node(e.predecessors(a)[0]),p=e.node(e.predecessors(s)[0]);cr.has(f,"barycenter")||(f.barycenter=0,f.weight=0),f.barycenter=(f.barycenter*f.weight+h.order+p.order)/(f.weight+2),f.weight+=2}return f}function KF(e,t){cr.forEach(e,function(n){n.vs=cr.flatten(n.vs.map(function(r){return t[r]?t[r].vs:r}),!0)})}function YF(e,t){cr.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var Bo=Te,XF=vn.Graph,QF=ZF;function ZF(e,t,n){var r=JF(e),i=new XF({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(function(o){return e.node(o)});return Bo.forEach(e.nodes(),function(o){var a=e.node(o),s=e.parent(o);(a.rank===t||a.minRank<=t&&t<=a.maxRank)&&(i.setNode(o),i.setParent(o,s||r),Bo.forEach(e[n](o),function(l){var c=l.v===o?l.w:l.v,u=i.edge(c,o),f=Bo.isUndefined(u)?0:u.weight;i.setEdge(c,o,{weight:e.edge(l).weight+f})}),Bo.has(a,"minRank")&&i.setNode(o,{borderLeft:a.borderLeft[t],borderRight:a.borderRight[t]}))}),i}function JF(e){for(var t;e.hasNode(t=Bo.uniqueId("_root")););return t}var e6=Te,t6=n6;function n6(e,t,n){var r={},i;e6.forEach(n,function(o){for(var a=e.parent(o),s,l;a;){if(s=e.parent(a),s?(l=r[s],r[s]=a):(l=i,i=a),l&&l!==a){t.setEdge(l,a);return}a=s}})}var Sr=Te,r6=NF,i6=AF,o6=GF,a6=QF,s6=t6,l6=vn.Graph,M_=Nt,c6=u6;function u6(e){var t=M_.maxRank(e),n=L_(e,Sr.range(1,t+1),"inEdges"),r=L_(e,Sr.range(t-1,-1,-1),"outEdges"),i=r6(e);$_(e,i);for(var o=Number.POSITIVE_INFINITY,a,s=0,l=0;l<4;++s,++l){d6(s%2?n:r,s%4>=2),i=M_.buildLayerMatrix(e);var c=i6(e,i);c<o&&(l=0,a=Sr.cloneDeep(i),o=c)}$_(e,a)}function L_(e,t,n){return Sr.map(t,function(r){return a6(e,r,n)})}function d6(e,t){var n=new l6;Sr.forEach(e,function(r){var i=r.graph().root,o=o6(r,i,n,t);Sr.forEach(o.vs,function(a,s){r.node(a).order=s}),s6(r,n,o.vs)})}function $_(e,t){Sr.forEach(t,function(n){Sr.forEach(n,function(r,i){e.node(r).order=i})})}var le=Te,f6=vn.Graph,h6=Nt,p6={positionX:k6};function g6(e,t){var n={};function r(i,o){var a=0,s=0,l=i.length,c=le.last(o);return le.forEach(o,function(u,f){var h=v6(e,u),p=h?e.node(h).order:l;(h||u===c)&&(le.forEach(o.slice(s,f+1),function(v){le.forEach(e.predecessors(v),function(g){var b=e.node(g),m=b.order;(m<a||p<m)&&!(b.dummy&&e.node(v).dummy)&&fR(n,g,v)})}),s=f+1,a=p)}),o}return le.reduce(t,r),n}function m6(e,t){var n={};function r(o,a,s,l,c){var u;le.forEach(le.range(a,s),function(f){u=o[f],e.node(u).dummy&&le.forEach(e.predecessors(u),function(h){var p=e.node(h);p.dummy&&(p.order<l||p.order>c)&&fR(n,h,u)})})}function i(o,a){var s=-1,l,c=0;return le.forEach(a,function(u,f){if(e.node(u).dummy==="border"){var h=e.predecessors(u);h.length&&(l=e.node(h[0]).order,r(a,c,f,s,l),c=f,s=l)}r(a,c,a.length,l,o.length)}),a}return le.reduce(t,i),n}function v6(e,t){if(e.node(t).dummy)return le.find(e.predecessors(t),function(n){return e.node(n).dummy})}function fR(e,t,n){if(t>n){var r=t;t=n,n=r}var i=e[t];i||(e[t]=i={}),i[n]=!0}function y6(e,t,n){if(t>n){var r=t;t=n,n=r}return le.has(e[t],n)}function x6(e,t,n,r){var i={},o={},a={};return le.forEach(t,function(s){le.forEach(s,function(l,c){i[l]=l,o[l]=l,a[l]=c})}),le.forEach(t,function(s){var l=-1;le.forEach(s,function(c){var u=r(c);if(u.length){u=le.sortBy(u,function(g){return a[g]});for(var f=(u.length-1)/2,h=Math.floor(f),p=Math.ceil(f);h<=p;++h){var v=u[h];o[c]===c&&l<a[v]&&!y6(n,c,v)&&(o[v]=c,o[c]=i[c]=i[v],l=a[v])}}})}),{root:i,align:o}}function w6(e,t,n,r,i){var o={},a=b6(e,t,n,i),s=i?"borderLeft":"borderRight";function l(f,h){for(var p=a.nodes(),v=p.pop(),g={};v;)g[v]?f(v):(g[v]=!0,p.push(v),p=p.concat(h(v))),v=p.pop()}function c(f){o[f]=a.inEdges(f).reduce(function(h,p){return Math.max(h,o[p.v]+a.edge(p))},0)}function u(f){var h=a.outEdges(f).reduce(function(v,g){return Math.min(v,o[g.w]-a.edge(g))},Number.POSITIVE_INFINITY),p=e.node(f);h!==Number.POSITIVE_INFINITY&&p.borderType!==s&&(o[f]=Math.max(o[f],h))}return l(c,a.predecessors.bind(a)),l(u,a.successors.bind(a)),le.forEach(r,function(f){o[f]=o[n[f]]}),o}function b6(e,t,n,r){var i=new f6,o=e.graph(),a=C6(o.nodesep,o.edgesep,r);return le.forEach(t,function(s){var l;le.forEach(s,function(c){var u=n[c];if(i.setNode(u),l){var f=n[l],h=i.edge(f,u);i.setEdge(f,u,Math.max(a(e,c,l),h||0))}l=c})}),i}function S6(e,t){return le.minBy(le.values(t),function(n){var r=Number.NEGATIVE_INFINITY,i=Number.POSITIVE_INFINITY;return le.forIn(n,function(o,a){var s=j6(e,a)/2;r=Math.max(o+s,r),i=Math.min(o-s,i)}),r-i})}function _6(e,t){var n=le.values(t),r=le.min(n),i=le.max(n);le.forEach(["u","d"],function(o){le.forEach(["l","r"],function(a){var s=o+a,l=e[s],c;if(l!==t){var u=le.values(l);c=a==="l"?r-le.min(u):i-le.max(u),c&&(e[s]=le.mapValues(l,function(f){return f+c}))}})})}function E6(e,t){return le.mapValues(e.ul,function(n,r){if(t)return e[t.toLowerCase()][r];var i=le.sortBy(le.map(e,r));return(i[1]+i[2])/2})}function k6(e){var t=h6.buildLayerMatrix(e),n=le.merge(g6(e,t),m6(e,t)),r={},i;le.forEach(["u","d"],function(a){i=a==="u"?t:le.values(t).reverse(),le.forEach(["l","r"],function(s){s==="r"&&(i=le.map(i,function(f){return le.values(f).reverse()}));var l=(a==="u"?e.predecessors:e.successors).bind(e),c=x6(e,i,n,l),u=w6(e,i,c.root,c.align,s==="r");s==="r"&&(u=le.mapValues(u,function(f){return-f})),r[a+s]=u})});var o=S6(e,r);return _6(r,o),E6(r,e.graph().align)}function C6(e,t,n){return function(r,i,o){var a=r.node(i),s=r.node(o),l=0,c;if(l+=a.width/2,le.has(a,"labelpos"))switch(a.labelpos.toLowerCase()){case"l":c=-a.width/2;break;case"r":c=a.width/2;break}if(c&&(l+=n?c:-c),c=0,l+=(a.dummy?t:e)/2,l+=(s.dummy?t:e)/2,l+=s.width/2,le.has(s,"labelpos"))switch(s.labelpos.toLowerCase()){case"l":c=s.width/2;break;case"r":c=-s.width/2;break}return c&&(l+=n?c:-c),c=0,l}}function j6(e,t){return e.node(t).width}var Ho=Te,hR=Nt,R6=p6.positionX,N6=I6;function I6(e){e=hR.asNonCompoundGraph(e),A6(e),Ho.forEach(R6(e),function(t,n){e.node(n).x=t})}function A6(e){var t=hR.buildLayerMatrix(e),n=e.graph().ranksep,r=0;Ho.forEach(t,function(i){var o=Ho.max(Ho.map(i,function(a){return e.node(a).height}));Ho.forEach(i,function(a){e.node(a).y=r+o/2}),r+=o+n})}var de=Te,z_=bO,O_=OO,T6=lF,P6=Nt.normalizeRanks,M6=fF,L6=Nt.removeEmptyRanks,F_=mF,$6=SF,q_=EF,z6=c6,O6=N6,Cr=Nt,F6=vn.Graph,q6=D6;function D6(e,t){var n=t&&t.debugTiming?Cr.time:Cr.notime;n("layout",function(){var r=n(" buildLayoutGraph",function(){return Z6(e)});n(" runLayout",function(){B6(r,n)}),n(" updateInputGraph",function(){H6(e,r)})})}function B6(e,t){t(" makeSpaceForEdgeLabels",function(){J6(e)}),t(" removeSelfEdges",function(){l8(e)}),t(" acyclic",function(){z_.run(e)}),t(" nestingGraph.run",function(){F_.run(e)}),t(" rank",function(){T6(Cr.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){e8(e)}),t(" removeEmptyRanks",function(){L6(e)}),t(" nestingGraph.cleanup",function(){F_.cleanup(e)}),t(" normalizeRanks",function(){P6(e)}),t(" assignRankMinMax",function(){t8(e)}),t(" removeEdgeLabelProxies",function(){n8(e)}),t(" normalize.run",function(){O_.run(e)}),t(" parentDummyChains",function(){M6(e)}),t(" addBorderSegments",function(){$6(e)}),t(" order",function(){z6(e)}),t(" insertSelfEdges",function(){c8(e)}),t(" adjustCoordinateSystem",function(){q_.adjust(e)}),t(" position",function(){O6(e)}),t(" positionSelfEdges",function(){u8(e)}),t(" removeBorderNodes",function(){s8(e)}),t(" normalize.undo",function(){O_.undo(e)}),t(" fixupEdgeLabelCoords",function(){o8(e)}),t(" undoCoordinateSystem",function(){q_.undo(e)}),t(" translateGraph",function(){r8(e)}),t(" assignNodeIntersects",function(){i8(e)}),t(" reversePoints",function(){a8(e)}),t(" acyclic.undo",function(){z_.undo(e)})}function H6(e,t){de.forEach(e.nodes(),function(n){var r=e.node(n),i=t.node(n);r&&(r.x=i.x,r.y=i.y,t.children(n).length&&(r.width=i.width,r.height=i.height))}),de.forEach(e.edges(),function(n){var r=e.edge(n),i=t.edge(n);r.points=i.points,de.has(i,"x")&&(r.x=i.x,r.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}var W6=["nodesep","edgesep","ranksep","marginx","marginy"],U6={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},V6=["acyclicer","ranker","rankdir","align"],G6=["width","height"],K6={width:0,height:0},Y6=["minlen","weight","width","height","labeloffset"],X6={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},Q6=["labelpos"];function Z6(e){var t=new F6({multigraph:!0,compound:!0}),n=mg(e.graph());return t.setGraph(de.merge({},U6,gg(n,W6),de.pick(n,V6))),de.forEach(e.nodes(),function(r){var i=mg(e.node(r));t.setNode(r,de.defaults(gg(i,G6),K6)),t.setParent(r,e.parent(r))}),de.forEach(e.edges(),function(r){var i=mg(e.edge(r));t.setEdge(r,de.merge({},X6,gg(i,Y6),de.pick(i,Q6)))}),t}function J6(e){var t=e.graph();t.ranksep/=2,de.forEach(e.edges(),function(n){var r=e.edge(n);r.minlen*=2,r.labelpos.toLowerCase()!=="c"&&(t.rankdir==="TB"||t.rankdir==="BT"?r.width+=r.labeloffset:r.height+=r.labeloffset)})}function e8(e){de.forEach(e.edges(),function(t){var n=e.edge(t);if(n.width&&n.height){var r=e.node(t.v),i=e.node(t.w),o={rank:(i.rank-r.rank)/2+r.rank,e:t};Cr.addDummyNode(e,"edge-proxy",o,"_ep")}})}function t8(e){var t=0;de.forEach(e.nodes(),function(n){var r=e.node(n);r.borderTop&&(r.minRank=e.node(r.borderTop).rank,r.maxRank=e.node(r.borderBottom).rank,t=de.max(t,r.maxRank))}),e.graph().maxRank=t}function n8(e){de.forEach(e.nodes(),function(t){var n=e.node(t);n.dummy==="edge-proxy"&&(e.edge(n.e).labelRank=n.rank,e.removeNode(t))})}function r8(e){var t=Number.POSITIVE_INFINITY,n=0,r=Number.POSITIVE_INFINITY,i=0,o=e.graph(),a=o.marginx||0,s=o.marginy||0;function l(c){var u=c.x,f=c.y,h=c.width,p=c.height;t=Math.min(t,u-h/2),n=Math.max(n,u+h/2),r=Math.min(r,f-p/2),i=Math.max(i,f+p/2)}de.forEach(e.nodes(),function(c){l(e.node(c))}),de.forEach(e.edges(),function(c){var u=e.edge(c);de.has(u,"x")&&l(u)}),t-=a,r-=s,de.forEach(e.nodes(),function(c){var u=e.node(c);u.x-=t,u.y-=r}),de.forEach(e.edges(),function(c){var u=e.edge(c);de.forEach(u.points,function(f){f.x-=t,f.y-=r}),de.has(u,"x")&&(u.x-=t),de.has(u,"y")&&(u.y-=r)}),o.width=n-t+a,o.height=i-r+s}function i8(e){de.forEach(e.edges(),function(t){var n=e.edge(t),r=e.node(t.v),i=e.node(t.w),o,a;n.points?(o=n.points[0],a=n.points[n.points.length-1]):(n.points=[],o=i,a=r),n.points.unshift(Cr.intersectRect(r,o)),n.points.push(Cr.intersectRect(i,a))})}function o8(e){de.forEach(e.edges(),function(t){var n=e.edge(t);if(de.has(n,"x"))switch((n.labelpos==="l"||n.labelpos==="r")&&(n.width-=n.labeloffset),n.labelpos){case"l":n.x-=n.width/2+n.labeloffset;break;case"r":n.x+=n.width/2+n.labeloffset;break}})}function a8(e){de.forEach(e.edges(),function(t){var n=e.edge(t);n.reversed&&n.points.reverse()})}function s8(e){de.forEach(e.nodes(),function(t){if(e.children(t).length){var n=e.node(t),r=e.node(n.borderTop),i=e.node(n.borderBottom),o=e.node(de.last(n.borderLeft)),a=e.node(de.last(n.borderRight));n.width=Math.abs(a.x-o.x),n.height=Math.abs(i.y-r.y),n.x=o.x+n.width/2,n.y=r.y+n.height/2}}),de.forEach(e.nodes(),function(t){e.node(t).dummy==="border"&&e.removeNode(t)})}function l8(e){de.forEach(e.edges(),function(t){if(t.v===t.w){var n=e.node(t.v);n.selfEdges||(n.selfEdges=[]),n.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function c8(e){var t=Cr.buildLayerMatrix(e);de.forEach(t,function(n){var r=0;de.forEach(n,function(i,o){var a=e.node(i);a.order=o+r,de.forEach(a.selfEdges,function(s){Cr.addDummyNode(e,"selfedge",{width:s.label.width,height:s.label.height,rank:a.rank,order:o+ ++r,e:s.e,label:s.label},"_se")}),delete a.selfEdges})})}function u8(e){de.forEach(e.nodes(),function(t){var n=e.node(t);if(n.dummy==="selfedge"){var r=e.node(n.e.v),i=r.x+r.width/2,o=r.y,a=n.x-i,s=r.height/2;e.setEdge(n.e,n.label),e.removeNode(t),n.label.points=[{x:i+2*a/3,y:o-s},{x:i+5*a/6,y:o-s},{x:i+a,y:o},{x:i+5*a/6,y:o+s},{x:i+2*a/3,y:o+s}],n.label.x=n.x,n.label.y=n.y}})}function gg(e,t){return de.mapValues(de.pick(e,t),Number)}function mg(e){var t={};return de.forEach(e,function(n,r){t[r.toLowerCase()]=n}),t}var Es=Te,d8=Nt,f8=vn.Graph,h8={debugOrdering:p8};function p8(e){var t=d8.buildLayerMatrix(e),n=new f8({compound:!0,multigraph:!0}).setGraph({});return Es.forEach(e.nodes(),function(r){n.setNode(r,{label:r}),n.setParent(r,"layer"+e.node(r).rank)}),Es.forEach(e.edges(),function(r){n.setEdge(r.v,r.w,{},r.name)}),Es.forEach(t,function(r,i){var o="layer"+i;n.setNode(o,{rank:"same"}),Es.reduce(r,function(a,s){return n.setEdge(a,s,{style:"invis"}),s})}),n}var g8="0.8.5",m8={graphlib:vn,layout:q6,debug:h8,util:{time:Nt.time,notime:Nt.notime},version:g8};const D_=Bm(m8),pR=200,gR=80,v8=5,er=new Map;function y8(e,t,n){const r=e.map(o=>{var l,c,u;const a=((l=o.data)==null?void 0:l.width)||(((c=o.data)==null?void 0:c.type)==="section"?220:pR),s=((u=o.data)==null?void 0:u.height)||gR;return`${o.id}@${a}x${s}`}).sort().join(","),i=t.map(o=>`${o.source}-${o.target}`).sort().join(",");return`${n}:${r}:${i}`}function x8(e){return e<=2?2:e<=6?3:e<=12?4:Math.max(4,Math.ceil(Math.sqrt(e)))}function w8(e,t){const n=new Set;for(const o of t)n.add(o.source),n.add(o.target);const r=[],i=[];for(const o of e)n.has(o.id)?i.push(o):r.push(o);return{isolated:r,connected:i}}function mR(e,t,n="LR",r=pR,i=gR){var u,f,h,p,v;const o=y8(e,t,n),a=n==="TB"?G.Bottom:G.Right,s=n==="TB"?G.Top:G.Left;let l;if(er.has(o))l=er.get(o),er.delete(o),er.set(o,l);else{const{isolated:g,connected:b}=w8(e,t),m=new D_.graphlib.Graph;m.setDefaultEdgeLabel(()=>({})),m.setGraph({rankdir:n,nodesep:n==="TB"?60:50,ranksep:80,marginx:30,marginy:30});for(const R of b){const _=((u=R.data)==null?void 0:u.width)||(((f=R.data)==null?void 0:f.type)==="section"?220:r),I=((h=R.data)==null?void 0:h.height)||i;m.setNode(R.id,{width:_,height:I})}for(const R of t)m.setEdge(R.source,R.target);b.length>0&&D_.layout(m),l=new Map;let y=1/0,x=-1/0,S=1/0,C=-1/0;for(const R of b){const _=m.node(R.id);if(!_)continue;const I=((p=R.data)==null?void 0:p.width)||r,M=((v=R.data)==null?void 0:v.height)||i,k=_.x-I/2,T=_.y-M/2;l.set(R.id,{x:k,y:T}),k<y&&(y=k),k+I>x&&(x=k+I),T<S&&(S=T),T+M>C&&(C=T+M)}if(g.length>0){const R=x8(g.length),_=r+40,I=i+30;let M,k;b.length===0?(M=30,k=30):n==="LR"?(M=x+80,k=S):(M=y,k=C+80),g.forEach((T,z)=>{const $=z%R,j=Math.floor(z/R);l.set(T.id,{x:M+$*_,y:k+j*I})})}if(er.size>=v8){const R=er.keys().next().value;R!==void 0&&er.delete(R)}er.set(o,l)}return{nodes:e.map(g=>{const b=l.get(g.id);return b?{...g,position:{x:b.x,y:b.y},sourcePosition:a,targetPosition:s}:g}),edges:t}}const B_=Ot,H_=cc,b8={express:"#68d391",fastify:"#63b3ed",nestjs:"#fc8181",koa:"#f6ad55",django:"#44b884",flask:"#a0aec0",fastapi:"#009688",spring:"#6db33f",micronaut:"#a0aec0",gin:"#00add8",echo:"#00add8",chi:"#00add8",fiber:"#00add8",actix:"#dea584",axum:"#dea584",rocket:"#dea584",aspnet:"#512bd4",laravel:"#ff2d20",symfony:"#a0aec0",rails:"#cc0000",sinatra:"#cc0000",vapor:"#a0aec0",unknown:"#a0aec0"},S8={express:"#16a34a",fastify:"#2563eb",nestjs:"#dc2626",koa:"#d97706",django:"#15803d",flask:"#4b5563",fastapi:"#0d9488",spring:"#4d7c0f",micronaut:"#4b5563",gin:"#0284c7",echo:"#0284c7",chi:"#0284c7",fiber:"#0284c7",actix:"#c2410c",axum:"#c2410c",rocket:"#c2410c",aspnet:"#6d28d9",laravel:"#dc2626",symfony:"#4b5563",rails:"#b91c1c",sinatra:"#b91c1c",vapor:"#4b5563",unknown:"#6b7280"};function _8(e){const n=document.documentElement.dataset.theme==="light"?S8:b8;return n[e]??n.unknown}function E8({data:e}){var h,p,v,g,b,m,y,x,S;const t=e.diff||"unchanged",n=((h=e.meta)==null?void 0:h.external)===!0,r=B_[t]||B_.unchanged,i=t==="deleted",o=((p=e.meta)==null?void 0:p.technology)??"unknown",a=_8(o),s=((v=e.meta)==null?void 0:v.infra)===!0,l=(g=e.meta)==null?void 0:g.kind;function c(){return s?l==="database"?"🗄️":l==="cache"?"⚡":l==="queue"?"📨":"🔌":n?"🌐":"⬡"}const u=s&&t!=="unchanged",f={background:u?r.bg:s?"var(--ca-infra-bg)":n?"var(--ca-external-bg)":r.bg,border:`2px ${Jr[t]||"solid"} ${u?r.border:s?"var(--ca-infra-border)":n?"var(--ca-border)":r.border}`,borderRadius:s?8:14,padding:"14px 18px",minWidth:s||n?130:180,maxWidth:260,boxShadow:u?`0 4px 16px ${r.glow}, 0 1px 4px rgba(0,0,0,0.4)`:s||n?"none":`0 4px 16px ${r.glow}, 0 1px 4px rgba(0,0,0,0.4)`,opacity:i?.7:1,cursor:s?"default":"pointer",fontFamily:"'Inter', system-ui, sans-serif",position:"relative"};return d.jsxs("div",{style:{position:"relative"},children:[d.jsx(eo,{graphId:"microservice:workspace",targetId:String(e.id??"")}),d.jsxs("div",{style:f,children:[d.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[d.jsx("span",{style:{fontSize:18},children:c()}),d.jsx("span",{style:{fontSize:13,fontWeight:700,color:i?"var(--ca-deleted-text)":"var(--ca-text)",textDecoration:i?"line-through":"none"},children:e.label}),((b=e.meta)==null?void 0:b.commentCount)>0&&d.jsxs("span",{style:{fontSize:9,fontWeight:700,padding:"1px 5px",borderRadius:8,background:"var(--ca-accent)",color:"#fff",flexShrink:0},children:["💬",e.meta.commentCount]}),t!=="unchanged"&&d.jsxs("span",{style:{marginLeft:"auto",fontSize:8,fontWeight:700,padding:"2px 6px",borderRadius:8,background:r.border,color:"var(--ca-bg)",textTransform:"uppercase"},children:[kr[t]," ",t]})]}),!n&&!s&&d.jsxs(d.Fragment,{children:[o!=="unknown"&&d.jsx("div",{style:{display:"flex",alignItems:"center",gap:6,marginTop:6},children:d.jsx("span",{style:{fontSize:9,padding:"1px 6px",borderRadius:8,background:`${a}22`,color:a,fontWeight:600,border:`1px solid ${a}44`},children:o.toUpperCase()})}),d.jsxs("div",{style:{marginTop:8,fontSize:10,color:"var(--ca-accent)"},children:[(((m=e.meta)==null?void 0:m.exposedApiCount)??0)>0&&d.jsxs("div",{children:["🔗 ",e.meta.exposedApiCount," API",e.meta.exposedApiCount!==1?"s":""," exposed"]}),((y=e.meta)==null?void 0:y.rootPath)&&d.jsx("div",{style:{color:"var(--ca-text-muted)",marginTop:2,fontFamily:"'SF Mono', monospace",fontSize:9},children:e.meta.rootPath||"."})]}),((S=(x=e.meta)==null?void 0:x.consumedServices)==null?void 0:S.length)>0&&d.jsxs("div",{style:{marginTop:6,fontSize:9,color:"var(--ca-text-muted)"},children:["Calls: ",e.meta.consumedServices.map(C=>C.replace("service:","")).join(", ")]})]}),(n||s)&&d.jsx("div",{style:{fontSize:9,color:"var(--ca-text-muted)",marginTop:4},children:s?`«${l??"external"}»`:"«external»"}),!n&&!s&&d.jsx("div",{style:{marginTop:8,fontSize:9,color:"var(--ca-text-muted)",textAlign:"right",opacity:.6},children:"Explore features →"})]}),d.jsx(Ae,{type:"target",position:G.Left,style:{left:-5,width:10,height:10,borderRadius:"50%",background:n?"var(--ca-edge-unchanged)":r.border,border:"none"}}),d.jsx(Ae,{type:"source",position:G.Right,style:{right:-5,width:10,height:10,borderRadius:"50%",background:n?"var(--ca-edge-unchanged)":r.border,border:"none"}})]})}const vR=w.memo(E8),k8=vR,C8={serviceNode:vR};function j8(e){const t=e.nodes.map(r=>({id:r.id,type:"serviceNode",data:{label:r.label,subtitle:r.subtitle,diff:r.diff,type:r.type,meta:r.meta,anchor:r.anchor},position:{x:0,y:0}})),n=e.edges.map(r=>{var o;const i=H_[r.diff||"unchanged"]??H_.unchanged;return{id:r.id,source:r.source,target:r.target,label:r.label??"",type:"smoothstep",animated:r.diff==="added",style:{stroke:i,strokeWidth:2.5,strokeDasharray:r.diff==="deleted"?"6,4":r.diff==="modified"?"3,3":void 0,opacity:r.diff==="deleted"?.45:1},labelStyle:{fontSize:10,fill:"var(--ca-edge-label-text)",fontFamily:"'Inter', sans-serif",fontWeight:500},labelBgStyle:{fill:"var(--ca-label-bg)",fillOpacity:1},markerEnd:{type:Wn.ArrowClosed,color:i,width:16,height:16},data:{diff:r.diff,anchor:(o=e.anchors)==null?void 0:o[r.id]}}});return mR(t,n,"LR")}function R8({graph:e,onNodeClick:t,onNodeRightClick:n,onEdgeClick:r,highlightedNodes:i,commentCounts:o,aiReviews:a}){var S;const{nodes:s,edges:l}=w.useMemo(()=>j8(e),[e]),c=w.useMemo(()=>{let C=s;if(o&&Object.keys(o).length>0&&(C=C.map(_=>{const I=o[_.id];return I?{..._,data:{..._.data,meta:{..._.data.meta,commentCount:I}}}:_})),a&&Object.keys(a).length>0&&(C=C.map(_=>{const I=a[_.id];return I?{..._,data:{..._.data,meta:{..._.data.meta,aiReviews:I}}}:_})),!i||Object.keys(i).length===0)return C;const R=new Set;for(const _ of Object.keys(i))i[_]==="nl-query"&&R.add(_.split("::")[0]);return R.size===0?C:C.map(_=>{var T,z;const I=(z=(T=_.data)==null?void 0:T.meta)==null?void 0:z.rootPath;if(!I)return _;const M=I.endsWith("/")?I:I+"/";return[...R].some($=>$.startsWith(M)||$===I)?{..._,style:{..._.style,outline:"2px solid var(--ca-nl-query)",outlineOffset:"2px",borderRadius:"8px"}}:_})},[s,i,o,a]),[u,f,h]=oc(c),[p,v,g]=ac(l);w.useEffect(()=>{f(c),v(l)},[c,l,f,v]);const b=w.useCallback((C,R)=>{t(R.id,R.data,C)},[t]),m=w.useCallback((C,R)=>{C.preventDefault(),n==null||n(R.id,R.data,C)},[n]),y=w.useCallback((C,R)=>{r(R.id,R.data)},[r]),x=w.useMemo(()=>({total:e.nodes.filter(C=>{var R;return!((R=C.meta)!=null&&R.external)}).length,infraTotal:e.nodes.filter(C=>{var R;return((R=C.meta)==null?void 0:R.infra)===!0}).length,added:e.nodes.filter(C=>C.diff==="added").length,deleted:e.nodes.filter(C=>C.diff==="deleted").length,modified:e.nodes.filter(C=>C.diff==="modified").length}),[e]);return d.jsxs("div",{style:{width:"100%",height:"100%",position:"relative"},children:[d.jsxs("div",{className:"ca-header",children:[d.jsxs("div",{className:"ca-header-title",children:[d.jsx("span",{className:"ca-header-badge",children:"System Design"}),d.jsx("span",{style:{fontWeight:700},children:((S=e.meta)==null?void 0:S.repoName)??"workspace"}),d.jsx("span",{style:{color:"var(--ca-text-muted)",fontWeight:400},children:"·"}),d.jsxs("span",{children:[x.total," service",x.total!==1?"s":""]}),x.infraTotal>0&&d.jsxs("span",{style:{color:"var(--ca-text-muted)"},children:["· ",x.infraTotal," infra"]})]}),d.jsxs("div",{className:"ca-header-stats",children:[d.jsx(Ra,{graphId:"microservice:workspace",onOpen:C=>{var R;(R=window.vscodeApi)==null||R.postMessage({type:"openAiReviewPanel",graphId:C}),document.dispatchEvent(new CustomEvent("ca:openAiReviewPanel",{detail:{graphId:C}}))}}),x.added>0&&d.jsxs("span",{className:"ca-stat",children:[d.jsx("span",{className:"ca-stat-dot added"})," ",x.added," added"]}),x.deleted>0&&d.jsxs("span",{className:"ca-stat",children:[d.jsx("span",{className:"ca-stat-dot deleted"})," ",x.deleted," removed"]}),x.modified>0&&d.jsxs("span",{className:"ca-stat",children:[d.jsx("span",{className:"ca-stat-dot modified"})," ",x.modified," modified"]}),x.added===0&&x.deleted===0&&x.modified===0&&d.jsx("span",{className:"ca-stat",style:{color:"var(--ca-text-muted)"},children:"No changes"})]})]}),d.jsx("div",{className:"ca-seq-hint",children:e.nodes.length>0?d.jsxs(d.Fragment,{children:["Click a service to explore its ",d.jsx("strong",{children:"feature domains"})]}):d.jsxs(d.Fragment,{children:["No services detected. CodeAtlas works best with ",d.jsx("strong",{children:"multi-service or feature-based"})," repos."]})}),d.jsxs(Ta,{nodes:u,edges:p,onNodesChange:h,onEdgesChange:g,onNodeClick:b,onNodeContextMenu:m,onEdgeClick:y,nodeTypes:C8,fitView:!0,fitViewOptions:{padding:.3},minZoom:.05,maxZoom:2.5,defaultEdgeOptions:{type:"smoothstep"},proOptions:{hideAttribution:!0},children:[d.jsx(lc,{variant:mt.Dots,gap:20,size:1,color:getComputedStyle(document.documentElement).getPropertyValue("--ca-dot-grid").trim()||"#888"}),d.jsx(sc,{position:"bottom-left"})]})]})}const W_={client:"👤",actor:"👤",database:"🗄️",cache:"⚡",storage:"📦",service:"🌐",module:"📦",function:"ƒ",file:"📄"};function N8({data:e}){return e.isLifeline?d.jsx(A8,{data:e}):d.jsx(I8,{data:e})}function I8({data:e}){var v,g,b;const t=e.diff||"unchanged",n=Ot[t]||Ot.unchanged,r=t==="deleted",i=(e.subtitle||"").replace(/[«»]/g,"").toLowerCase().trim(),o=W_[i]||W_[e.kind||""]||"•",a=typeof e.maxNodeWidth=="number"?e.maxNodeWidth:240,s={"--ca-node-border-color":n.border,"--ca-node-shadow-color":n.glow,background:n.bg,border:`2px ${Jr[t]||"solid"} var(--ca-node-border-color)`,borderRadius:12,padding:"12px 16px",minWidth:Math.min(180,a),maxWidth:a,textAlign:"center",boxShadow:"0 4px 16px var(--ca-node-shadow-color), 0 2px 4px rgba(0,0,0,0.3)",opacity:r?.7:1,cursor:"pointer",transition:"all 0.2s ease",fontFamily:"'Inter', system-ui, sans-serif",position:"relative"},l={fontSize:13,fontWeight:700,color:r?"var(--ca-deleted-text)":"var(--ca-text)",textDecoration:r?"line-through":"none",lineHeight:1.3,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:200},c={fontSize:10,color:"var(--ca-accent)",marginTop:2,letterSpacing:"0.5px",fontWeight:500},u={fontSize:10,color:"var(--ca-text-muted)",marginTop:6,padding:"3px 6px",background:"var(--ca-node-body-bg)",borderRadius:4,fontFamily:"'SF Mono', 'Fira Code', monospace",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:220},f={position:"absolute",top:-8,right:-8,fontSize:8,fontWeight:700,padding:"2px 7px",borderRadius:10,background:n.border,color:"var(--ca-bg)",textTransform:"uppercase",letterSpacing:"0.5px"},h=e.graphId,p=e.nodeId;return d.jsxs("div",{style:{position:"relative"},children:[h&&p&&d.jsx(eo,{graphId:h,targetId:p}),d.jsx(Ae,{type:"target",position:G.Top,style:{background:n.border,width:6,height:6,border:"none",opacity:0}}),d.jsxs("div",{style:s,className:"ca-seq-participant",children:[d.jsx("div",{style:{fontSize:20,marginBottom:4,opacity:.7},children:o}),d.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",gap:4},children:[d.jsx("div",{style:l,title:e.label,children:e.label}),((v=e.meta)==null?void 0:v.commentCount)>0&&d.jsxs("span",{style:{fontSize:9,fontWeight:700,padding:"1px 5px",borderRadius:8,background:"var(--ca-accent)",color:"#fff",flexShrink:0},children:["💬",e.meta.commentCount]})]}),e.subtitle&&d.jsx("div",{style:c,children:e.subtitle}),e.body&&!e.diffDetail&&d.jsx("div",{style:u,title:e.body,children:e.body}),e.diffDetail&&d.jsxs("div",{style:{marginTop:4,fontSize:9,lineHeight:1.4,textAlign:"left"},children:[e.diffDetail.deleted&&d.jsxs("div",{style:{color:"var(--ca-deleted-text)"},children:["- ",U_(e.diffDetail.deleted,40)]}),e.diffDetail.added&&d.jsxs("div",{style:{color:"var(--ca-added-text)"},children:["+ ",U_(e.diffDetail.added,40)]})]})]}),t!=="unchanged"&&d.jsxs("span",{style:f,children:[kr[t]," ",t]}),((b=(g=e.meta)==null?void 0:g.aiReviews)==null?void 0:b.length)>0&&d.jsx(Rl,{reviews:e.meta.aiReviews}),d.jsx(Ae,{type:"source",position:G.Bottom,style:{background:n.border,width:6,height:6,border:"none",opacity:0}})]})}function A8({data:e}){const t=e.lifelineHeight||400,n=e.diff||"unchanged",r=Ot[n]||Ot.unchanged,i=n==="unchanged"?"var(--ca-text-muted)":r.border;return d.jsxs("div",{style:{position:"relative",width:2,height:t},children:[d.jsx(Ae,{type:"target",position:G.Top,style:{background:"transparent",width:1,height:1,border:"none",top:0}}),d.jsx("div",{style:{position:"absolute",left:0,top:0,width:2,height:"100%",background:`repeating-linear-gradient(to bottom, ${i} 0px, ${i} 6px, transparent 6px, transparent 12px)`,opacity:.6}}),d.jsx(Ae,{type:"source",position:G.Bottom,style:{background:"transparent",width:1,height:1,border:"none",bottom:0}})]})}function U_(e,t){return e.length>t?e.substring(0,t)+"...":e}const T8=w.memo(N8);function P8({sourcePosition:e,targetPosition:t}){return d.jsxs("div",{style:{width:1,height:1,opacity:0},children:[d.jsx(Ae,{type:"target",position:t,style:{opacity:0}}),d.jsx(Ae,{type:"source",position:e,style:{opacity:0}})]})}const M8={sequenceNode:T8,anchorNode:P8},V_=300,L8=220,$8=30,G_=40,z8=160,K_=50,O8=20;function F8(e){return e<=4?V_:Math.max(L8,Math.round(V_-(e-4)*10))}const Y_=cc;function q8(e){const t=[],n=[],r=e.nodes.filter(f=>f.type==="participant"||f.type==="ghost"),i=e.edges.filter(f=>f.edgeType==="message"||f.diff==="deleted"),o=f=>{var p;if(f.label==="API Client")return 0;const h=((p=f.meta)==null?void 0:p.participantKind)??f.subtitle??"";return h.includes("module")||h.includes("handler")||h.includes("function")?1:h.includes("service")||h.includes("database")||h.includes("external")?3:f.type==="ghost"?4:2},a=[...r].sort((f,h)=>{const p=o(f),v=o(h);return p!==v?p-v:f.label.localeCompare(h.label)}),s=new Map;a.forEach((f,h)=>s.set(f.id,h));const l=F8(a.length),c=Math.max(300,(i.length+2)*K_),u=Math.max(140,l-$8);return a.forEach((f,h)=>{const p=h*l+40;t.push({id:f.id,type:"sequenceNode",data:{label:f.label,subtitle:f.subtitle,body:f.body,type:f.type,kind:f.kind,diff:f.diff,diffDetail:f.diffDetail,anchor:f.anchor,isLifeline:!1,participantIndex:h,maxNodeWidth:u,graphId:e.graphId,nodeId:f.id},position:{x:p,y:G_},sourcePosition:G.Bottom,targetPosition:G.Top});const v=`lifeline_${f.id}`;t.push({id:v,type:"sequenceNode",data:{label:"",type:"lifeline",diff:f.diff,isLifeline:!0,lifelineHeight:c,participantIndex:h,anchor:f.anchor},position:{x:p+89,y:G_+80+O8},sourcePosition:G.Bottom,targetPosition:G.Top,selectable:!1,draggable:!1})}),i.forEach((f,h)=>{var E,N,A,P,L,q,B,Y;const p=s.get(f.source),v=s.get(f.target);if(p==null||v==null)return;const g=z8+(h+1)*K_,b=p*l+40+90,m=v*l+40+90,y=p===v,x=p>v,S=f.diff||"unchanged",C=a[v],R=(C==null?void 0:C.diff)!=="unchanged"?C==null?void 0:C.diff:void 0,_=S==="unchanged"&&R?R:S,I=Y_[_]||Y_.unchanged,M=_==="deleted",k=Math.abs(v-p),T=y?30:Math.max(18,k*25),z=f.label||"",$=z.length>T?z.slice(0,T-1)+"…":z,j=`msg_src_${f.id}`,O=`msg_tgt_${f.id}`;y?(t.push({id:j,type:"anchorNode",data:{label:""},position:{x:b-1,y:g},style:{width:2,height:2,background:"transparent",border:"none",padding:0},sourcePosition:G.Right,targetPosition:G.Right,selectable:!1,draggable:!1}),t.push({id:O,type:"anchorNode",data:{label:""},position:{x:b-1,y:g+24},style:{width:2,height:2,background:"transparent",border:"none",padding:0},sourcePosition:G.Right,targetPosition:G.Right,selectable:!1,draggable:!1}),n.push({id:f.id,source:j,target:O,label:$,type:"smoothstep",animated:_==="added",style:{stroke:I,strokeWidth:M?1:(E=f.meta)!=null&&E.isReturn?1.5:2,strokeDasharray:M?"6,4":_==="modified"?"3,3":(N=f.meta)!=null&&N.isReturn?"6,3":void 0,opacity:M?.5:(A=f.meta)!=null&&A.isReturn?.7:1},labelStyle:{fontSize:11,fontFamily:"'SF Mono', 'Fira Code', monospace",fill:_!=="unchanged"?I:"var(--ca-edge-label-text)",fontWeight:_!=="unchanged"?700:500},labelBgStyle:{fill:"var(--ca-label-bg)",fillOpacity:.85,rx:4,ry:4},labelBgPadding:[6,4],markerEnd:{type:Wn.ArrowClosed,color:I,width:14,height:14},data:{diff:f.diff,anchor:(P=e.anchors)==null?void 0:P[f.id],source:f.source,target:f.target,edgeType:f.edgeType,sourceParticipant:a[p],targetParticipant:a[v]}})):(t.push({id:j,type:"anchorNode",data:{label:""},position:{x:b-1,y:g},style:{width:2,height:2,background:"transparent",border:"none",padding:0},sourcePosition:x?G.Left:G.Right,targetPosition:x?G.Right:G.Left,selectable:!1,draggable:!1}),t.push({id:O,type:"anchorNode",data:{label:""},position:{x:m-1,y:g},style:{width:2,height:2,background:"transparent",border:"none",padding:0},sourcePosition:x?G.Right:G.Left,targetPosition:x?G.Left:G.Right,selectable:!1,draggable:!1}),n.push({id:f.id,source:j,target:O,label:$,type:"straight",animated:_==="added",style:{stroke:I,strokeWidth:M?1:(L=f.meta)!=null&&L.isReturn?1.5:2,strokeDasharray:M?"6,4":_==="modified"?"3,3":(q=f.meta)!=null&&q.isReturn?"6,3":void 0,opacity:M?.5:(B=f.meta)!=null&&B.isReturn?.7:1},labelStyle:{fontSize:11,fontFamily:"'SF Mono', 'Fira Code', monospace",fill:_!=="unchanged"?I:"var(--ca-edge-label-text)",fontWeight:_!=="unchanged"?700:500},labelBgStyle:{fill:"var(--ca-label-bg)",fillOpacity:1,rx:4,ry:4},labelBgPadding:[6,4],markerEnd:{type:Wn.ArrowClosed,color:I,width:14,height:14},data:{diff:f.diff,anchor:(Y=e.anchors)==null?void 0:Y[f.id],source:f.source,target:f.target,edgeType:f.edgeType,sourceParticipant:a[p],targetParticipant:a[v]}}))}),{nodes:t,edges:n}}function D8({graph:e,onNodeClick:t,onNodeRightClick:n,onEdgeClick:r,highlightedNodes:i,commentCounts:o,aiReviews:a}){var k;const[s,l]=w.useState("");w.useEffect(()=>{l("")},[e]);const{nodes:c,edges:u}=w.useMemo(()=>q8(e),[e]),[f,h,p]=oc(c),[v,g,b]=ac(u),m=w.useMemo(()=>{if(!i||Object.keys(i).length===0)return null;const T=new Set;for(const z of Object.keys(i))i[z]==="nl-query"&&T.add(z.split("::")[0]);return T.size>0?T:null},[i]),y=w.useMemo(()=>{let T=c;if(o&&Object.keys(o).length>0&&(T=T.map($=>{var O,E;if((O=$.data)!=null&&O.isLifeline)return $;const j=o[$.id];return j?{...$,data:{...$.data,meta:{...(E=$.data)==null?void 0:E.meta,commentCount:j}}}:$})),a&&Object.keys(a).length>0&&(T=T.map($=>{var O,E;if((O=$.data)!=null&&O.isLifeline)return $;const j=a[$.id];return j?{...$,data:{...$.data,meta:{...(E=$.data)==null?void 0:E.meta,aiReviews:j}}}:$})),m&&(T=T.map($=>{var E,N;if((E=$.data)!=null&&E.isLifeline)return $;const j=(N=$.data)==null?void 0:N.anchor;return!(j!=null&&j.filePath)||!m.has(j.filePath)?$:{...$,style:{...$.style,outline:"2px solid var(--ca-nl-query)",outlineOffset:"2px",borderRadius:"6px"}}})),!s)return T;const z=s.toLowerCase();return T.map($=>{var E,N;if((E=$.data)!=null&&E.isLifeline)return $;const O=(((N=$.data)==null?void 0:N.label)??"").toLowerCase().includes(z);return{...$,data:{...$.data,dimmed:!O}}})},[c,s,m,o,a]),x=w.useMemo(()=>{var z,$,j;const T=new Map;for(const O of c)($=(z=O.data)==null?void 0:z.anchor)!=null&&$.filePath&&!((j=O.data)!=null&&j.isLifeline)&&T.set(O.id,O.data.anchor.filePath);return T},[c]),S=w.useMemo(()=>{let T=u;if(m&&x.size>0&&(T=T.map($=>{const j=x.get($.source),O=x.get($.target),E=j&&m.has(j),N=O&&m.has(O);return E&&N?{...$,style:{...$.style,stroke:"var(--ca-nl-query)",strokeWidth:2.5}}:$})),!s)return T;const z=s.toLowerCase();return T.map($=>{var E;const O=(typeof $.label=="string"?$.label:"").toLowerCase().includes(z);return{...$,style:{...$.style,opacity:O?((E=$.style)==null?void 0:E.opacity)??1:.15}}})},[u,s,m,x]);w.useEffect(()=>{h(y),g(S)},[y,S,h,g]);const C=w.useCallback((T,z)=>{var $;($=z.data)!=null&&$.isLifeline||z.type==="default"||t(z.id,z.data,T)},[t]),R=w.useCallback((T,z)=>{var $;($=z.data)!=null&&$.isLifeline||z.type==="default"||(T.preventDefault(),n==null||n(z.id,z.data,T))},[n]),_=w.useCallback((T,z)=>{r(z.id,z.data)},[r]),I=w.useMemo(()=>{const T=e.nodes.filter(N=>N.type==="participant"),z=T.filter(N=>N.diff==="added").length,$=T.filter(N=>N.diff==="deleted").length,j=T.filter(N=>N.diff==="modified").length,O=e.edges.filter(N=>N.edgeType==="message"),E=O.filter(N=>N.diff==="modified"||N.diff==="added"||N.diff==="deleted").length;return{participants:T.length,messages:O.length,added:z,deleted:$,modified:j,changedMsgs:E}},[e]),M=((k=e.meta)==null?void 0:k.fileName)||e.graphId;return d.jsxs("div",{style:{width:"100%",height:"100%",position:"relative"},children:[d.jsxs("div",{className:"ca-header",children:[d.jsxs("div",{className:"ca-header-title",children:[d.jsx("span",{className:"ca-header-badge ca-badge-sequence",children:"API Sequence"}),d.jsx("span",{children:M})]}),d.jsxs("div",{className:"ca-header-stats",children:[d.jsx(Ra,{graphId:String(e.id??""),onOpen:T=>document.dispatchEvent(new CustomEvent("ca:openAiReviewPanel",{detail:{graphId:T}}))}),d.jsxs("span",{className:"ca-stat",children:["👤 ",I.participants," participant",I.participants!==1?"s":""]}),d.jsxs("span",{className:"ca-stat",children:["→ ",I.messages," message",I.messages!==1?"s":""]}),I.added>0&&d.jsxs("span",{className:"ca-stat",children:[d.jsx("span",{className:"ca-stat-dot added"})," ",I.added," added"]}),I.deleted>0&&d.jsxs("span",{className:"ca-stat",children:[d.jsx("span",{className:"ca-stat-dot deleted"})," ",I.deleted," deleted"]}),I.modified>0&&d.jsxs("span",{className:"ca-stat",children:[d.jsx("span",{className:"ca-stat-dot modified"})," ",I.modified," modified"]}),I.changedMsgs>0&&d.jsxs("span",{className:"ca-stat",children:[d.jsx("span",{className:"ca-stat-dot modified"})," ",I.changedMsgs," msg change",I.changedMsgs!==1?"s":""]})]})]}),d.jsxs("div",{className:"ca-seq-hint",style:{display:"flex",alignItems:"center",gap:12},children:[d.jsx("span",{style:{flex:1},children:I.participants>0?d.jsxs(d.Fragment,{children:["Click a participant to open its ",d.jsx("strong",{children:"File Diagram"})," · Click a message to open ",d.jsx("strong",{children:"Function Flow"})]}):d.jsx(d.Fragment,{children:"No external calls detected in this handler. The function doesn't call other services or modules."})}),I.participants>0&&d.jsx("input",{type:"text",placeholder:"Filter messages...",value:s,onChange:T=>l(T.target.value),style:{width:160,padding:"3px 8px",fontSize:10,background:"var(--ca-surface)",border:"1px solid var(--ca-border)",borderRadius:4,color:"var(--ca-text)",outline:"none"}})]}),d.jsxs(Ta,{nodes:f,edges:v,onNodesChange:p,onEdgesChange:b,onNodeClick:C,onNodeContextMenu:R,onEdgeClick:_,nodeTypes:M8,fitView:!0,fitViewOptions:{padding:.3},minZoom:.05,maxZoom:2.5,defaultEdgeOptions:{type:"straight"},proOptions:{hideAttribution:!0},nodesDraggable:!1,nodesConnectable:!1,children:[d.jsx(lc,{variant:mt.Dots,gap:16,size:1,color:getComputedStyle(document.documentElement).getPropertyValue("--ca-dot-grid").trim()||"#888"}),d.jsx(sc,{position:"bottom-left"})]})]})}const X_=Ot,Q_=cc,B8=300,H8=185,W8=80,U8=60;function V8(e){return e<=2?2:e<=6?3:4}function G8({data:e}){var c,u,f,h;const t=e.diff||"unchanged",n=X_[t]||X_.unchanged,r=t==="deleted",i=((c=e.meta)==null?void 0:c.cohesion)??0,o=e.dimmed??!1,a=e.highlighted??!1,s={background:n.bg,border:`2px ${Jr[t]||"solid"} ${n.border}`,borderRadius:12,padding:"12px 16px",minWidth:200,maxWidth:300,boxShadow:a?`0 8px 32px ${n.glow}, 0 2px 8px rgba(0,0,0,0.6)`:`0 3px 12px ${n.glow}, 0 1px 4px rgba(0,0,0,0.4)`,opacity:o?.2:r?.7:1,cursor:"pointer",fontFamily:"'Inter', system-ui, sans-serif",position:"relative",transform:a?"scale(1.03)":"scale(1)",transition:"opacity 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease"},l={height:3,borderRadius:2,background:`linear-gradient(to right, ${n.border} ${i}%, var(--ca-border) ${i}%)`,marginTop:8,opacity:.7};return d.jsxs("div",{style:{position:"relative"},children:[d.jsx(eo,{graphId:"feature:workspace",targetId:String(e.id??""),style:{top:-7,left:-7,right:"auto"}}),t!=="unchanged"&&d.jsxs("span",{style:{position:"absolute",top:-8,right:-8,fontSize:8,fontWeight:700,padding:"2px 6px",borderRadius:8,background:n.border,color:"var(--ca-bg)",textTransform:"uppercase",zIndex:1},children:[kr[t]," ",t]}),d.jsxs("div",{style:s,children:[d.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:4},children:[d.jsx("span",{style:{fontSize:16},children:"⬡"}),d.jsx("span",{style:{fontSize:13,fontWeight:700,color:r?"var(--ca-deleted-text)":"var(--ca-text)",textDecoration:r?"line-through":"none"},children:e.label}),((u=e.meta)==null?void 0:u.commentCount)>0&&d.jsxs("span",{style:{fontSize:9,fontWeight:700,padding:"1px 5px",borderRadius:8,background:"var(--ca-accent)",color:"#fff",flexShrink:0},children:["💬",e.meta.commentCount]})]}),d.jsx("div",{style:{fontSize:10,color:"var(--ca-text-muted)",fontStyle:"italic"},children:e.subtitle}),d.jsxs("div",{style:{display:"flex",gap:12,marginTop:6,fontSize:10,color:"var(--ca-accent)"},children:[d.jsxs("span",{title:"API entry points",children:["🔗 ",(()=>{var v,g,b,m;const p=((g=(v=e.meta)==null?void 0:v.apisInCluster)==null?void 0:g.length)??((m=(b=e.meta)==null?void 0:b.entryPoints)==null?void 0:m.length)??0;return`${p} API${p!==1?"s":""}`})()]}),d.jsxs("span",{title:"Internal cohesion",children:["◉ ",i,"% cohesion"]})]}),d.jsx("div",{style:l,title:`${i}% internal calls`}),(f=e.meta)!=null&&f.subClusters&&Object.keys(e.meta.subClusters).length>=2?d.jsx("div",{style:{marginTop:8,display:"flex",flexWrap:"wrap",gap:4},children:Object.values(e.meta.subClusters).map(p=>{var b,m;const v=p.files??[],g=e.nlHighlighted&&v.some(y=>{var x;return(x=e._nlHighlightedFiles)==null?void 0:x.has(y)});return d.jsxs("span",{"data-subcluster-id":p.id,style:{fontSize:9,padding:"2px 6px",background:g?"var(--ca-nl-query-bg)":"var(--ca-node-body-bg)",border:`1px solid ${g?"var(--ca-nl-query)":"var(--ca-border)"}`,borderRadius:6,color:g?"var(--ca-nl-query)":"var(--ca-accent)",fontFamily:"'Inter', sans-serif",cursor:"pointer"},title:`${((b=p.files)==null?void 0:b.length)??0} files`,children:[p.label," (",((m=p.files)==null?void 0:m.length)??0,")"]},p.id)})}):((h=e.meta)==null?void 0:h.files)&&d.jsxs("div",{style:{marginTop:8,display:"flex",flexWrap:"wrap",gap:3},children:[e.meta.files.slice(0,4).map(p=>d.jsx("span",{style:{fontSize:9,padding:"1px 5px",background:"var(--ca-node-body-bg)",borderRadius:4,color:"var(--ca-accent)",fontFamily:"'SF Mono', monospace"},children:p.split("/").pop()},p)),e.meta.files.length>4&&d.jsxs("span",{style:{fontSize:9,color:"var(--ca-text-muted)"},children:["+",e.meta.files.length-4," more"]})]}),d.jsx("div",{style:{marginTop:6,fontSize:9,color:"var(--ca-text-muted)",textAlign:"right",opacity:.6},children:"View APIs →"})]}),d.jsx(Ae,{type:"target",position:G.Left,style:{left:-5,width:10,height:10,borderRadius:"50%",background:n.border,border:"none"}}),d.jsx(Ae,{type:"source",position:G.Right,style:{right:-5,width:10,height:10,borderRadius:"50%",background:n.border,border:"none"}})]})}const K8={clusterNode:w.memo(G8)};function Y8(e){const t=e.nodes.length,n=V8(t),r=e.nodes.map((o,a)=>({id:o.id,type:"clusterNode",data:{label:o.label,subtitle:o.subtitle,diff:o.diff,type:o.type,meta:o.meta,anchor:o.anchor,dimmed:!1,highlighted:!1},position:{x:a%n*(B8+W8),y:Math.floor(a/n)*(H8+U8)}})),i=e.edges.map(o=>{const a=Q_[o.diff||"unchanged"]??Q_.unchanged;return{id:o.id,source:o.source,target:o.target,label:o.label??"",type:"smoothstep",animated:o.diff==="added",style:{stroke:a,strokeWidth:2,strokeDasharray:o.diff==="deleted"?"6,4":o.diff==="modified"?"3,3":void 0,opacity:o.diff==="deleted"?.5:.85},labelStyle:{fontSize:10,fill:"var(--ca-edge-label-text)",fontFamily:"'Inter', sans-serif"},labelBgStyle:{fill:"var(--ca-label-bg)",fillOpacity:1},markerEnd:{type:Wn.ArrowClosed,color:a,width:14,height:14},data:{diff:o.diff,callCount:o.callCount,baseColor:a}}});return{nodes:r,edges:i}}function X8({graph:e,onNodeClick:t,onNodeRightClick:n,onEdgeClick:r,highlightedNodes:i,commentCounts:o,aiReviews:a}){var k;const[s,l]=w.useState(null),{nodes:c,edges:u}=w.useMemo(()=>Y8(e),[e]),[f,h,p]=oc(c),[v,g,b]=ac(u);w.useEffect(()=>{h(c),g(u)},[c,u,h,g]);const m=w.useMemo(()=>{if(!i||Object.keys(i).length===0)return null;const T=new Set;for(const z of Object.keys(i))i[z]==="nl-query"&&T.add(z.split("::")[0]);return T.size>0?T:null},[i]),y=w.useMemo(()=>{let T=f;if(o&&Object.keys(o).length>0&&(T=T.map($=>{const j=o[$.id];return j?{...$,data:{...$.data,meta:{...$.data.meta,commentCount:j}}}:$})),a&&Object.keys(a).length>0&&(T=T.map($=>{const j=a[$.id];return j?{...$,data:{...$.data,meta:{...$.data.meta,aiReviews:j}}}:$})),m&&(T=T.map($=>{var E,N;return(((N=(E=$.data)==null?void 0:E.meta)==null?void 0:N.files)??[]).some(A=>m.has(A))?{...$,style:{...$.style,outline:"2px solid var(--ca-nl-query)",outlineOffset:"2px",borderRadius:"8px"},data:{...$.data,nlHighlighted:!0,_nlHighlightedFiles:m}}:$})),!s)return T;const z=new Set([s]);for(const $ of e.edges)$.source===s&&z.add($.target),$.target===s&&z.add($.source);return T.map($=>({...$,data:{...$.data,dimmed:!z.has($.id),highlighted:$.id===s}}))},[f,s,e.edges,m]),x=w.useMemo(()=>{if(!s)return v;const T=new Set;for(const z of e.edges)(z.source===s||z.target===s)&&T.add(z.id);return v.map(z=>{var $,j;return{...z,style:{...z.style,stroke:T.has(z.id)?(($=z.data)==null?void 0:$.baseColor)??((j=z.style)==null?void 0:j.stroke):"var(--ca-border)",strokeWidth:T.has(z.id)?3:1,opacity:T.has(z.id)?1:.15}}})},[v,s,e.edges]),S=w.useCallback((T,z)=>{t(z.id,z.data,T)},[t]),C=w.useCallback((T,z)=>{T.preventDefault(),n==null||n(z.id,z.data,T)},[n]),R=w.useCallback((T,z)=>{r(z.id,z.data)},[r]),_=w.useCallback((T,z)=>{l(z.id)},[]),I=w.useCallback(()=>{l(null)},[]),M=w.useMemo(()=>({total:e.nodes.length,added:e.nodes.filter(T=>T.diff==="added").length,deleted:e.nodes.filter(T=>T.diff==="deleted").length,modified:e.nodes.filter(T=>T.diff==="modified").length}),[e]);return d.jsxs("div",{style:{width:"100%",height:"100%",position:"relative"},children:[d.jsxs("div",{className:"ca-header",children:[d.jsxs("div",{className:"ca-header-title",children:[d.jsx("span",{className:"ca-header-badge",children:"Feature Areas"}),d.jsxs("span",{children:[((k=e.meta)==null?void 0:k.clusterCount)??M.total," domains"]})]}),d.jsxs("div",{className:"ca-header-stats",children:[d.jsx(Ra,{graphId:String(e.graphId??e.id??"feature:workspace"),onOpen:T=>document.dispatchEvent(new CustomEvent("ca:openAiReviewPanel",{detail:{graphId:T}}))}),d.jsxs("span",{className:"ca-stat",children:["Clusters: ",M.total]}),M.added>0&&d.jsxs("span",{className:"ca-stat",children:[d.jsx("span",{className:"ca-stat-dot added"})," ",M.added," added"]}),M.deleted>0&&d.jsxs("span",{className:"ca-stat",children:[d.jsx("span",{className:"ca-stat-dot deleted"})," ",M.deleted," deleted"]}),M.modified>0&&d.jsxs("span",{className:"ca-stat",children:[d.jsx("span",{className:"ca-stat-dot modified"})," ",M.modified," modified"]})]})]}),d.jsx("div",{className:"ca-seq-hint",children:e.nodes.length>0?d.jsxs(d.Fragment,{children:["Click a cluster to view its ",d.jsx("strong",{children:"APIs & subsystems"}),e.edges.length>0&&d.jsx("span",{children:" · Hover to highlight connections"})]}):d.jsxs(d.Fragment,{children:["No clusters detected. Run ",d.jsx("strong",{children:"Initialize"})," to analyze the codebase."]})}),d.jsxs(Ta,{nodes:y,edges:x,onNodesChange:p,onEdgesChange:b,onNodeClick:S,onNodeContextMenu:C,onEdgeClick:R,onNodeMouseEnter:_,onNodeMouseLeave:I,nodeTypes:K8,fitView:!0,fitViewOptions:{padding:.25},minZoom:.05,maxZoom:2.5,defaultEdgeOptions:{type:"smoothstep"},proOptions:{hideAttribution:!0},children:[d.jsx(lc,{variant:mt.Dots,gap:20,size:1,color:getComputedStyle(document.documentElement).getPropertyValue("--ca-dot-grid").trim()||"#888"}),d.jsx(sc,{position:"bottom-left"})]})]})}function Kt(e,t){var n;try{const r=e.startsWith("webview.")?e:`webview.${e}`;(n=window.vscodeApi)==null||n.postMessage({type:"webviewAnalytics",event:r,properties:t??{}})}catch{}}const qm={GET:"var(--ca-success)",POST:"var(--ca-accent)",PUT:"var(--ca-warning)",PATCH:"var(--ca-color-patch)",DELETE:"var(--ca-danger)",HEAD:"var(--ca-color-purple)",OPTIONS:"var(--ca-color-teal)",SCREEN:"var(--ca-color-blue)",NAV_ROUTE:"var(--ca-color-teal)",NETWORK:"var(--ca-color-orange)",DI_BINDING:"var(--ca-color-purple)",WS:"var(--ca-color-blue)",SSE:"var(--ca-color-teal)",SUBSCRIPTION:"var(--ca-color-blue)",GRPC:"var(--ca-color-purple)",RPC:"var(--ca-color-purple)",JOB:"var(--ca-color-orange)",MQ_CONSUMER:"var(--ca-color-orange)",CLI_COMMAND:"var(--ca-color-teal)",FILTER:"var(--ca-color-purple)",MIDDLEWARE:"var(--ca-color-purple)",SERVLET_FILTER:"var(--ca-color-purple)",HANDLER_INTERCEPTOR:"var(--ca-color-purple)",AOP_ASPECT:"var(--ca-color-purple)",AOP_BEFORE:"var(--ca-color-purple)",AOP_AROUND:"var(--ca-color-purple)",AOP_AFTER:"var(--ca-color-purple)",DB_MIGRATION:"var(--ca-warning)",DB_SEED:"var(--ca-success)",SIGNAL:"var(--ca-color-orange)",SOCKET_EVENT:"var(--ca-color-blue)",MODEL_HOOK:"var(--ca-warning)",HEALTH:"var(--ca-success)",PUSH_HANDLER:"var(--ca-danger)",BG_TASK:"var(--ca-color-orange)",LIFECYCLE:"var(--ca-color-purple)",WIDGET:"var(--ca-color-teal)",CONTENT_PROVIDER:"var(--ca-color-purple)",DEEP_LINK:"var(--ca-color-blue)"},Q8={database:"var(--ca-warning)",module:"var(--ca-accent)",actor:"var(--ca-success)",framework:"var(--ca-color-purple)"},Z_={added:"var(--ca-success)",modified:"var(--ca-warning)",deleted:"var(--ca-danger)",unchanged:"transparent"},J_={added:"+",modified:"~",deleted:"−"},yR=new Set(["SCREEN","NAV_ROUTE","NETWORK","DI_BINDING"]),Z8=new Set(["GET","POST","PUT","PATCH","DELETE","HEAD","OPTIONS","ANY","ROUTE","INCLUDE","MOUNT","PATH","CONTROLLER","RESOURCE","SERVER_ACTION","STATIC_PATHS","DATA_FETCH"]),J8=new Set(["WS","SSE","SUBSCRIPTION","GRPC","RPC","SOCKET_EVENT"]),eq=new Set(["JOB","MQ_CONSUMER"]),tq=new Set(["CLI_COMMAND"]),nq=new Set(["DB_MIGRATION","DB_SEED","SIGNAL","MODEL_HOOK"]),rq=new Set(["FILTER","MIDDLEWARE","SERVLET_FILTER","HANDLER_INTERCEPTOR","AOP_ASPECT","AOP_BEFORE","AOP_AROUND","AOP_AFTER","AOP_AFTERRETURNING","AOP_AFTERTHROWING","EVENT_LISTENER","EVENT_EMIT","DI_DEPENDENCY"]),iq=new Set(["HEALTH"]),oq=new Set(["PUSH_HANDLER","BG_TASK","LIFECYCLE","DEEP_LINK","WIDGET","CONTENT_PROVIDER"]),ks=[{key:"realtime",title:"Real-Time",icon:"⚡",color:"var(--ca-color-blue)",match:e=>J8.has(e)},{key:"jobs",title:"Background Jobs",icon:"⚙️",color:"var(--ca-color-orange)",match:e=>eq.has(e)},{key:"cli",title:"CLI Commands",icon:">_",color:"var(--ca-color-teal)",match:e=>tq.has(e)},{key:"data",title:"Data Lifecycle",icon:"🗄",color:"var(--ca-warning)",match:e=>nq.has(e)},{key:"hooks",title:"Request Hooks",icon:"🔗",color:"var(--ca-color-purple)",match:e=>rq.has(e)},{key:"observability",title:"Observability",icon:"📈",color:"var(--ca-success)",match:e=>iq.has(e)},{key:"mobile-lifecycle",title:"Mobile Lifecycle",icon:"🔔",color:"var(--ca-color-purple)",match:e=>oq.has(e)}];function aq(e){return/\.dart$/.test(e)?"Flutter":/\.(?:java|kt|kts)$/.test(e)?"Android":/\.swift$/.test(e)?"iOS":/\.(?:tsx?|jsx?)$/.test(e)?"React":null}const sq={Flutter:"🐦",Android:"📱",iOS:"🍎",React:"⚛️"},lq=["ALL","GET","POST","PUT","PATCH","DELETE"];function Pr({api:e,onApiClick:t,showFile:n,nlHighlighted:r}){var l,c,u,f,h,p;const i=e.diff??"unchanged",o=(l=e.meta)==null?void 0:l.clusterId,a=o?`api-list:${o}`:"",s=`${String(e.method??"").toUpperCase()}:${e.route??""}::entry`;return d.jsxs("div",{className:"ca-api-row",onClick:v=>i!=="deleted"&&t(e,v),title:`Open sequence diagram for ${e.method} ${e.route}`,style:{position:"relative",borderLeft:r?"3px solid var(--ca-nl-query)":`3px solid ${Z_[i]??"transparent"}`,background:r?"var(--ca-nl-query-bg)":void 0,opacity:i==="deleted"?.5:1,cursor:i==="deleted"?"default":"pointer"},children:[a&&d.jsx(eo,{graphId:a,targetId:s,style:{top:2,right:2}}),d.jsx("span",{className:"ca-method-badge",style:{background:qm[e.method]??"var(--ca-edge-unchanged)"},children:e.method}),yR.has(e.method)&&(()=>{const v=aq(e.filePath);return v?d.jsx("span",{title:v,style:{fontSize:11,marginRight:2,flexShrink:0},children:sq[v]}):null})(),((c=e.meta)==null?void 0:c.webhook)&&d.jsx("span",{title:`Webhook${e.meta.webhookProvider?` (${e.meta.webhookProvider})`:""}`,style:{fontSize:11,marginRight:2,flexShrink:0},children:"⚡"}),((u=e.meta)==null?void 0:u.auth)&&d.jsx("span",{title:`Auth: ${e.meta.auth}${(f=e.meta.middlewares)!=null&&f.length?` (${e.meta.middlewares.join(", ")})`:""}`,style:{fontSize:11,marginRight:2,flexShrink:0},children:e.meta.auth==="required"?"🔒":"🔓"}),((h=e.meta)==null?void 0:h.error)&&d.jsx("span",{title:"Error-handling middleware (4-arg)",style:{fontSize:11,marginRight:2,flexShrink:0},children:"⚠"}),((p=e.meta)==null?void 0:p.dynamicRange)&&d.jsxs("span",{title:`Loop-registered: ${e.meta.dynamicRange.count} routes (${e.meta.dynamicRange.var} from ${e.meta.dynamicRange.from} to ${e.meta.dynamicRange.to})`,style:{fontSize:11,marginRight:2,flexShrink:0,color:"var(--ca-text-muted)"},children:["×",e.meta.dynamicRange.count]}),d.jsx("span",{className:"ca-api-route",children:e.route}),n&&d.jsx("span",{className:"ca-api-handler",style:{color:"var(--ca-text-muted)",fontStyle:"italic"},title:e.filePath,children:e.filePath.split("/").slice(-2).join("/")}),!n&&d.jsx("span",{className:"ca-api-handler",children:e.handlerName}),J_[i]&&d.jsx("span",{style:{marginLeft:"auto",color:Z_[i],fontWeight:700,fontSize:13,minWidth:16,textAlign:"center",flexShrink:0},children:J_[i]})]})}function tr({title:e,icon:t,color:n,count:r,children:i,defaultOpen:o,headerExtra:a,onHeaderClick:s,headerTitle:l,onToggle:c}){const[u,f]=w.useState(o??r>0);if(r===0)return null;const h=()=>{const p=!u;f(p),c==null||c(p)};return d.jsxs("div",{style:{marginBottom:8},children:[d.jsxs("div",{onClick:p=>{p.target.closest(".ca-collapsible-caret")||!s?h():s(p)},title:l,style:{display:"flex",alignItems:"center",gap:6,padding:"6px 12px",cursor:"pointer",fontSize:11,fontWeight:700,color:n,borderLeft:`3px solid ${n}`,background:"var(--ca-node-body-bg)"},children:[d.jsx("span",{className:"ca-collapsible-caret",onClick:p=>{p.stopPropagation(),h()},style:{fontSize:10,padding:"0 2px"},children:u?"▼":"▶"}),t&&d.jsx("span",{children:t}),d.jsx("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e}),a,d.jsxs("span",{style:{marginLeft:"auto",fontSize:10,fontWeight:400,color:"var(--ca-text-muted)",flexShrink:0},children:["(",r,")"]})]}),u&&d.jsx("div",{style:{paddingLeft:4},children:i})]})}function cq({graph:e,onApiClick:t,onFileClick:n,highlightedNodes:r}){const{clusterLabel:i,serviceId:o,apis:a=[],files:s=[],subsystems:l=[],screens:c=[],navRoutes:u=[],networkCalls:f=[],diBindings:h=[]}=e.meta,[p,v]=w.useState("ALL"),[g,b]=w.useState(""),[m,y]=w.useState(""),x=w.useRef(null);w.useEffect(()=>{const E=setTimeout(()=>y(g),200);return()=>clearTimeout(E)},[g]),w.useEffect(()=>{const E=N=>{var A,P;N.key==="/"&&((A=document.activeElement)==null?void 0:A.tagName)!=="INPUT"&&!document.querySelector(".ca-modal-overlay")&&(N.preventDefault(),(P=x.current)==null||P.focus())};return document.addEventListener("keydown",E),()=>document.removeEventListener("keydown",E)},[]);const S=w.useCallback(E=>{if(!r)return!1;const N=`${E.filePath}::${E.handlerName}`;return r[N]==="nl-query"},[r]),C=w.useMemo(()=>{const E={},N=m.toLowerCase(),A=N?a.filter(P=>P.route.toLowerCase().includes(N)||P.handlerName.toLowerCase().includes(N)):a;for(const P of A)E[P.method]=(E[P.method]||0)+1;return E},[a,m]),R=w.useMemo(()=>a.filter(E=>{const N=p==="ALL"||E.method===p,A=m.toLowerCase(),P=!A||E.route.toLowerCase().includes(A)||E.handlerName.toLowerCase().includes(A);return N&&P}),[a,p,m]),_=w.useCallback(E=>{if(!m)return E;const N=m.toLowerCase();return E.filter(A=>A.route.toLowerCase().includes(N)||A.handlerName.toLowerCase().includes(N)||A.filePath.toLowerCase().includes(N))},[m]),I=w.useMemo(()=>_(c),[c,_]),M=w.useMemo(()=>_(u),[u,_]),k=w.useMemo(()=>_(f),[f,_]),T=w.useMemo(()=>_(h),[h,_]),z=w.useMemo(()=>{const E={added:[],modified:[],deleted:[]};for(const N of R)N.diff&&N.diff!=="unchanged"&&E[N.diff].push(N);return E},[R]),$=z.added.length+z.modified.length+z.deleted.length>0,j=w.useMemo(()=>{const E={};for(const N of ks)E[N.key]=[];for(const N of R)if(!(N.diff&&N.diff!=="unchanged")){for(const A of ks)if(A.match(N.method)){E[A.key].push(N);break}}return E},[R]),O=w.useMemo(()=>{const E=new Map;for(const N of R){if(N.diff&&N.diff!=="unchanged"||yR.has(N.method))continue;const A=Z8.has(N.method),P=ks.some(L=>L.match(N.method));!A&&P||(E.has(N.filePath)||E.set(N.filePath,[]),E.get(N.filePath).push(N))}return E},[R]);return d.jsxs("div",{className:"ca-api-list",children:[d.jsxs("div",{className:"ca-api-panel-top",children:[d.jsxs("div",{className:"ca-header-title",children:[d.jsx("span",{className:"ca-header-badge",children:"Feature Detail"}),d.jsx("span",{children:i??e.graphId})]}),d.jsxs("div",{className:"ca-header-stats",children:[d.jsx(Ra,{graphId:String(e.graphId??""),onOpen:E=>document.dispatchEvent(new CustomEvent("ca:openAiReviewPanel",{detail:{graphId:E}}))}),o&&d.jsxs("span",{className:"ca-stat",children:["Service: ",o.replace("service:","")]}),a.length>0&&d.jsxs("span",{className:"ca-stat",children:[a.length," API",a.length!==1?"s":""]}),c.length>0&&d.jsxs("span",{className:"ca-stat",children:[c.length," screen",c.length!==1?"s":""]}),f.length>0&&d.jsxs("span",{className:"ca-stat",children:[f.length," network call",f.length!==1?"s":""]}),d.jsxs("span",{className:"ca-stat",children:[s.length," file",s.length!==1?"s":""]})]})]}),d.jsxs("div",{className:"ca-api-filter-bar",children:[d.jsx("input",{ref:x,className:"ca-api-search",type:"text",placeholder:"Filter by route or handler… (press /)",value:g,onChange:E=>b(E.target.value)}),d.jsx("div",{className:"ca-method-tabs",children:lq.map(E=>{const N=Object.values(C).reduce((P,L)=>P+L,0),A=E==="ALL"?N:C[E]??0;return E!=="ALL"&&A===0?null:d.jsxs("button",{className:`ca-method-tab${p===E?" active":""}`,style:p===E&&E!=="ALL"?{borderColor:qm[E],color:qm[E]}:void 0,onClick:()=>v(E),children:[E,d.jsx("span",{className:"ca-method-tab-count",children:A})]},E)})})]}),d.jsxs("div",{className:"ca-api-list-main",children:[R.length===0&&d.jsx("div",{className:"ca-api-list-empty",children:a.length===0?d.jsxs(d.Fragment,{children:[d.jsx("p",{children:"No API endpoints or screens detected in this area."}),d.jsxs("p",{style:{fontSize:"0.85em",opacity:.8},children:["This may be a library or utility module without HTTP routes. Try exploring individual files at the ",d.jsx("strong",{children:"File level (L4)"})," or function control flow at the ",d.jsx("strong",{children:"Flow level (L5)"})," instead."]})]}):d.jsx("p",{children:"No results match your filter."})}),$&&d.jsx(tr,{title:"Changes",color:"var(--ca-warning)",count:z.added.length+z.modified.length+z.deleted.length,defaultOpen:!0,headerExtra:d.jsxs(d.Fragment,{children:[z.added.length>0&&d.jsxs("span",{className:"ca-changes-pill added",children:[z.added.length," added"]}),z.modified.length>0&&d.jsxs("span",{className:"ca-changes-pill modified",children:[z.modified.length," modified"]}),z.deleted.length>0&&d.jsxs("span",{className:"ca-changes-pill deleted",children:[z.deleted.length," deleted"]})]}),children:d.jsx("div",{className:"ca-api-rows",children:[...z.added,...z.modified,...z.deleted].map(E=>d.jsx(Pr,{api:E,onApiClick:t,showFile:!0,nlHighlighted:S(E)},E.apiId))})}),ks.map(E=>{const N=j[E.key];return!N||N.length===0?null:d.jsx(tr,{title:E.title,icon:E.icon,color:E.color,count:N.length,defaultOpen:!0,onToggle:A=>{A&&Kt("entry_point_section_opened",{section:E.key,count:N.length})},children:d.jsx("div",{className:"ca-api-rows",children:N.map(A=>d.jsx(Pr,{api:A,onApiClick:t,showFile:!0,nlHighlighted:S(A)},A.apiId))})},E.key)}),[...O.entries()].map(([E,N])=>d.jsx(tr,{title:E.split("/").pop()||E,icon:"📄",color:"var(--ca-edge-unchanged)",count:N.length,defaultOpen:!0,headerTitle:N.length>0?`Click filename to open sequence: ${N[0].method} ${N[0].route}`:`Open file diagram: ${E}`,onHeaderClick:A=>{N.length>0?t(N[0],A):n(E,A)},headerExtra:d.jsx("span",{style:{fontSize:10,fontWeight:400,color:"var(--ca-text-muted)",flex:"0 1 auto",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:E,children:E}),children:d.jsx("div",{className:"ca-api-rows",children:N.map(A=>d.jsx(Pr,{api:A,onApiClick:t,nlHighlighted:S(A)},A.apiId))})},E)),d.jsx(tr,{title:"Screens / Pages",icon:"📱",color:"var(--ca-color-blue)",count:I.length,onToggle:E=>{E&&Kt("mobile_section_opened",{section:"screens",count:I.length})},children:I.map(E=>d.jsx(Pr,{api:E,showFile:!0,onApiClick:(N,A)=>n(E.filePath,A),nlHighlighted:S(E)},E.apiId))}),d.jsx(tr,{title:"Navigation Routes",icon:"🧭",color:"var(--ca-color-teal)",count:M.length,onToggle:E=>{E&&Kt("mobile_section_opened",{section:"nav_routes",count:M.length})},children:M.map(E=>d.jsx(Pr,{api:E,showFile:!0,onApiClick:(N,A)=>n(E.filePath,A),nlHighlighted:S(E)},E.apiId))}),d.jsx(tr,{title:"Network Calls",icon:"🌐",color:"var(--ca-color-orange)",count:k.length,onToggle:E=>{E&&Kt("mobile_section_opened",{section:"network",count:k.length})},children:k.map(E=>d.jsx(Pr,{api:E,showFile:!0,onApiClick:(N,A)=>n(E.filePath,A),nlHighlighted:S(E)},E.apiId))}),d.jsx(tr,{title:"Dependencies",icon:"📦",color:"var(--ca-color-purple)",count:T.length,onToggle:E=>{E&&Kt("mobile_section_opened",{section:"dependencies",count:T.length})},children:T.map(E=>d.jsx(Pr,{api:E,showFile:!0,onApiClick:(N,A)=>n(E.filePath,A),nlHighlighted:S(E)},E.apiId))}),d.jsx(tr,{title:"Subsystems",icon:"🧩",color:"var(--ca-accent)",count:l.length,defaultOpen:!1,children:d.jsx("div",{className:"ca-api-subsystems-body",children:l.map(E=>d.jsxs("div",{className:`ca-api-row ca-api-row-subsystem${E.filePath?" ca-clickable":""}`,onClick:N=>E.filePath&&n(E.filePath,N),title:E.filePath?`Open file diagram: ${E.filePath}`:E.label,children:[d.jsx("span",{className:"ca-method-badge",style:{background:Q8[E.kind]??"var(--ca-edge-unchanged)"},children:E.kind}),d.jsx("span",{className:"ca-api-route",children:E.label}),E.filePath&&d.jsx("span",{className:"ca-api-handler",style:{color:"var(--ca-text-muted)"},children:E.filePath})]},E.label))})})]})]})}const be={overlay:{position:"absolute",top:0,right:0,width:360,height:"100%",background:"var(--ca-bg)",borderLeft:"1px solid var(--ca-border)",boxShadow:"-4px 0 20px rgba(0,0,0,0.3)",display:"flex",flexDirection:"column",fontFamily:"'Inter', system-ui, sans-serif",zIndex:1e3,overflowY:"auto"},header:{padding:"14px 16px 10px",borderBottom:"1px solid var(--ca-border)",display:"flex",alignItems:"center",gap:8,flexShrink:0},title:{fontSize:13,fontWeight:700,color:"var(--ca-text)",flex:1},closeBtn:{background:"none",border:"none",color:"var(--ca-text-muted)",cursor:"pointer",fontSize:16,padding:"2px 6px",borderRadius:4,lineHeight:1},summaryRow:{display:"flex",gap:8,padding:"8px 16px",borderBottom:"1px solid var(--ca-border)",flexWrap:"wrap",flexShrink:0},section:{padding:"10px 16px 4px"},sectionHeader:{fontSize:10,fontWeight:700,letterSpacing:"0.08em",textTransform:"uppercase",marginBottom:6,display:"flex",alignItems:"center",gap:6},entry:{display:"flex",alignItems:"flex-start",gap:8,padding:"5px 6px",borderRadius:6,cursor:"pointer",marginBottom:2},entryIcon:{fontSize:10,marginTop:2,flexShrink:0},entryBody:{flex:1,minWidth:0},entryFn:{fontSize:11,fontWeight:600,color:"var(--ca-text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},entryFile:{fontSize:9,color:"var(--ca-text-muted)",fontFamily:"'SF Mono', 'Fira Code', monospace",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},entryMeta:{fontSize:9,flexShrink:0,textAlign:"right"},empty:{fontSize:11,color:"var(--ca-text-muted)",padding:"6px 6px",fontStyle:"italic"},changedSection:{padding:"8px 16px",borderBottom:"1px solid var(--ca-border)"},changedFile:{fontSize:10,color:"var(--ca-success)",fontFamily:"'SF Mono', 'Fira Code', monospace",padding:"1px 0"}};function _o(e){return{fontSize:10,padding:"2px 7px",borderRadius:10,background:`${e}22`,color:e,border:`1px solid ${e}44`,fontWeight:600}}function vg({fn:e,color:t,onNavigate:n}){const r=e.filePath.split("/").slice(-2).join("/"),i=e.edgeConfidence!=null?`${Math.round(e.edgeConfidence*100)}%`:null,o=e.edgeKind??"calls";return d.jsxs("div",{style:be.entry,onClick:()=>n(e.filePath),title:`${e.key}
|
|
56
|
+
*/var tc=w,xI=yI;function wI(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var bI=typeof Object.is=="function"?Object.is:wI,SI=xI.useSyncExternalStore,_I=tc.useRef,EI=tc.useEffect,kI=tc.useMemo,CI=tc.useDebugValue;IC.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var o=_I(null);if(o.current===null){var a={hasValue:!1,value:null};o.current=a}else a=o.current;o=kI(function(){function l(p){if(!c){if(c=!0,u=p,p=r(p),i!==void 0&&a.hasValue){var v=a.value;if(i(v,p))return f=v}return f=p}if(v=f,bI(u,p))return v;var g=r(p);return i!==void 0&&i(v,g)?(u=p,v):(u=p,f=g)}var c=!1,u,f,h=n===void 0?null:n;return[function(){return l(t())},h===null?void 0:function(){return l(h())}]},[t,n,r,i]);var s=SI(e,o[0],o[1]);return EI(function(){a.hasValue=!0,a.value=s},[s]),CI(s),s};AC.exports=IC;var jI=AC.exports;const RI=Um(jI),NI={},U0=e=>{let t;const n=new Set,r=(u,f)=>{const h=typeof u=="function"?u(t):u;if(!Object.is(h,t)){const p=t;t=f??(typeof h!="object"||h===null)?h:Object.assign({},t,h),n.forEach(v=>v(t,p))}},i=()=>t,l={setState:r,getState:i,getInitialState:()=>c,subscribe:u=>(n.add(u),()=>n.delete(u)),destroy:()=>{(NI?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},c=t=e(r,i,l);return l},AI=e=>e?U0(e):U0,{useDebugValue:II}=H,{useSyncExternalStoreWithSelector:TI}=RI,PI=e=>e;function MC(e,t=PI,n){const r=TI(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return II(r),r}const V0=(e,t)=>{const n=AI(e),r=(i,o=t)=>MC(n,i,o);return Object.assign(r,n),r},MI=(e,t)=>e?V0(e,t):V0;function ut(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[r,i]of e)if(!Object.is(i,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}var LI={value:()=>{}};function nc(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+"")||r in n||/[\s.]/.test(r))throw new Error("illegal type: "+r);n[r]=[]}return new Ks(n)}function Ks(e){this._=e}function $I(e,t){return e.trim().split(/^|\s+/).map(function(n){var r="",i=n.indexOf(".");if(i>=0&&(r=n.slice(i+1),n=n.slice(0,i)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}Ks.prototype=nc.prototype={constructor:Ks,on:function(e,t){var n=this._,r=$I(e+"",n),i,o=-1,a=r.length;if(arguments.length<2){for(;++o<a;)if((i=(e=r[o]).type)&&(i=zI(n[i],e.name)))return i;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++o<a;)if(i=(e=r[o]).type)n[i]=G0(n[i],e.name,t);else if(t==null)for(i in n)n[i]=G0(n[i],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new Ks(e)},call:function(e,t){if((i=arguments.length-2)>0)for(var n=new Array(i),r=0,i,o;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(o=this._[e],r=0,i=o.length;r<i;++r)o[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var r=this._[e],i=0,o=r.length;i<o;++i)r[i].value.apply(t,n)}};function zI(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function G0(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=LI,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var Sm="http://www.w3.org/1999/xhtml";const K0={svg:"http://www.w3.org/2000/svg",xhtml:Sm,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function rc(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),K0.hasOwnProperty(t)?{space:K0[t],local:e}:e}function OI(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===Sm&&t.documentElement.namespaceURI===Sm?t.createElement(e):t.createElementNS(n,e)}}function FI(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function LC(e){var t=rc(e);return(t.local?FI:OI)(t)}function qI(){}function qv(e){return e==null?qI:function(){return this.querySelector(e)}}function DI(e){typeof e!="function"&&(e=qv(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o=t[i],a=o.length,s=r[i]=new Array(a),l,c,u=0;u<a;++u)(l=o[u])&&(c=e.call(l,l.__data__,u,o))&&("__data__"in l&&(c.__data__=l.__data__),s[u]=c);return new Ft(r,this._parents)}function BI(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function HI(){return[]}function $C(e){return e==null?HI:function(){return this.querySelectorAll(e)}}function WI(e){return function(){return BI(e.apply(this,arguments))}}function UI(e){typeof e=="function"?e=WI(e):e=$C(e);for(var t=this._groups,n=t.length,r=[],i=[],o=0;o<n;++o)for(var a=t[o],s=a.length,l,c=0;c<s;++c)(l=a[c])&&(r.push(e.call(l,l.__data__,c,a)),i.push(l));return new Ft(r,i)}function zC(e){return function(){return this.matches(e)}}function OC(e){return function(t){return t.matches(e)}}var VI=Array.prototype.find;function GI(e){return function(){return VI.call(this.children,e)}}function KI(){return this.firstElementChild}function YI(e){return this.select(e==null?KI:GI(typeof e=="function"?e:OC(e)))}var XI=Array.prototype.filter;function QI(){return Array.from(this.children)}function ZI(e){return function(){return XI.call(this.children,e)}}function JI(e){return this.selectAll(e==null?QI:ZI(typeof e=="function"?e:OC(e)))}function eT(e){typeof e!="function"&&(e=zC(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o=t[i],a=o.length,s=r[i]=[],l,c=0;c<a;++c)(l=o[c])&&e.call(l,l.__data__,c,o)&&s.push(l);return new Ft(r,this._parents)}function FC(e){return new Array(e.length)}function tT(){return new Ft(this._enter||this._groups.map(FC),this._parents)}function _l(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}_l.prototype={constructor:_l,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function nT(e){return function(){return e}}function rT(e,t,n,r,i,o){for(var a=0,s,l=t.length,c=o.length;a<c;++a)(s=t[a])?(s.__data__=o[a],r[a]=s):n[a]=new _l(e,o[a]);for(;a<l;++a)(s=t[a])&&(i[a]=s)}function iT(e,t,n,r,i,o,a){var s,l,c=new Map,u=t.length,f=o.length,h=new Array(u),p;for(s=0;s<u;++s)(l=t[s])&&(h[s]=p=a.call(l,l.__data__,s,t)+"",c.has(p)?i[s]=l:c.set(p,l));for(s=0;s<f;++s)p=a.call(e,o[s],s,o)+"",(l=c.get(p))?(r[s]=l,l.__data__=o[s],c.delete(p)):n[s]=new _l(e,o[s]);for(s=0;s<u;++s)(l=t[s])&&c.get(h[s])===l&&(i[s]=l)}function oT(e){return e.__data__}function aT(e,t){if(!arguments.length)return Array.from(this,oT);var n=t?iT:rT,r=this._parents,i=this._groups;typeof e!="function"&&(e=nT(e));for(var o=i.length,a=new Array(o),s=new Array(o),l=new Array(o),c=0;c<o;++c){var u=r[c],f=i[c],h=f.length,p=sT(e.call(u,u&&u.__data__,c,r)),v=p.length,g=s[c]=new Array(v),S=a[c]=new Array(v),m=l[c]=new Array(h);n(u,f,g,S,m,p,t);for(var y=0,x=0,b,C;y<v;++y)if(b=g[y]){for(y>=x&&(x=y+1);!(C=S[x])&&++x<v;);b._next=C||null}}return a=new Ft(a,r),a._enter=s,a._exit=l,a}function sT(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function lT(){return new Ft(this._exit||this._groups.map(FC),this._parents)}function cT(e,t,n){var r=this.enter(),i=this,o=this.exit();return typeof e=="function"?(r=e(r),r&&(r=r.selection())):r=r.append(e+""),t!=null&&(i=t(i),i&&(i=i.selection())),n==null?o.remove():n(o),r&&i?r.merge(i).order():i}function uT(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,o=r.length,a=Math.min(i,o),s=new Array(i),l=0;l<a;++l)for(var c=n[l],u=r[l],f=c.length,h=s[l]=new Array(f),p,v=0;v<f;++v)(p=c[v]||u[v])&&(h[v]=p);for(;l<i;++l)s[l]=n[l];return new Ft(s,this._parents)}function dT(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],i=r.length-1,o=r[i],a;--i>=0;)(a=r[i])&&(o&&a.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(a,o),o=a);return this}function fT(e){e||(e=hT);function t(f,h){return f&&h?e(f.__data__,h.__data__):!f-!h}for(var n=this._groups,r=n.length,i=new Array(r),o=0;o<r;++o){for(var a=n[o],s=a.length,l=i[o]=new Array(s),c,u=0;u<s;++u)(c=a[u])&&(l[u]=c);l.sort(t)}return new Ft(i,this._parents).order()}function hT(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function pT(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function gT(){return Array.from(this)}function mT(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,o=r.length;i<o;++i){var a=r[i];if(a)return a}return null}function vT(){let e=0;for(const t of this)++e;return e}function yT(){return!this.node()}function xT(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i=t[n],o=0,a=i.length,s;o<a;++o)(s=i[o])&&e.call(s,s.__data__,o,i);return this}function wT(e){return function(){this.removeAttribute(e)}}function bT(e){return function(){this.removeAttributeNS(e.space,e.local)}}function ST(e,t){return function(){this.setAttribute(e,t)}}function _T(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function ET(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function kT(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function CT(e,t){var n=rc(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?bT:wT:typeof t=="function"?n.local?kT:ET:n.local?_T:ST)(n,t))}function qC(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function jT(e){return function(){this.style.removeProperty(e)}}function RT(e,t,n){return function(){this.style.setProperty(e,t,n)}}function NT(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function AT(e,t,n){return arguments.length>1?this.each((t==null?jT:typeof t=="function"?NT:RT)(e,t,n??"")):Yi(this.node(),e)}function Yi(e,t){return e.style.getPropertyValue(t)||qC(e).getComputedStyle(e,null).getPropertyValue(t)}function IT(e){return function(){delete this[e]}}function TT(e,t){return function(){this[e]=t}}function PT(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function MT(e,t){return arguments.length>1?this.each((t==null?IT:typeof t=="function"?PT:TT)(e,t)):this.node()[e]}function DC(e){return e.trim().split(/^|\s+/)}function Dv(e){return e.classList||new BC(e)}function BC(e){this._node=e,this._names=DC(e.getAttribute("class")||"")}BC.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function HC(e,t){for(var n=Dv(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function WC(e,t){for(var n=Dv(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function LT(e){return function(){HC(this,e)}}function $T(e){return function(){WC(this,e)}}function zT(e,t){return function(){(t.apply(this,arguments)?HC:WC)(this,e)}}function OT(e,t){var n=DC(e+"");if(arguments.length<2){for(var r=Dv(this.node()),i=-1,o=n.length;++i<o;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t=="function"?zT:t?LT:$T)(n,t))}function FT(){this.textContent=""}function qT(e){return function(){this.textContent=e}}function DT(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function BT(e){return arguments.length?this.each(e==null?FT:(typeof e=="function"?DT:qT)(e)):this.node().textContent}function HT(){this.innerHTML=""}function WT(e){return function(){this.innerHTML=e}}function UT(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function VT(e){return arguments.length?this.each(e==null?HT:(typeof e=="function"?UT:WT)(e)):this.node().innerHTML}function GT(){this.nextSibling&&this.parentNode.appendChild(this)}function KT(){return this.each(GT)}function YT(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function XT(){return this.each(YT)}function QT(e){var t=typeof e=="function"?e:LC(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function ZT(){return null}function JT(e,t){var n=typeof e=="function"?e:LC(e),r=t==null?ZT:typeof t=="function"?t:qv(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function eP(){var e=this.parentNode;e&&e.removeChild(this)}function tP(){return this.each(eP)}function nP(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function rP(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function iP(e){return this.select(e?rP:nP)}function oP(e){return arguments.length?this.property("__data__",e):this.node().__data__}function aP(e){return function(t){e.call(this,t,this.__data__)}}function sP(e){return e.trim().split(/^|\s+/).map(function(t){var n="",r=t.indexOf(".");return r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function lP(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,o;n<i;++n)o=t[n],(!e.type||o.type===e.type)&&o.name===e.name?this.removeEventListener(o.type,o.listener,o.options):t[++r]=o;++r?t.length=r:delete this.__on}}}function cP(e,t,n){return function(){var r=this.__on,i,o=aP(t);if(r){for(var a=0,s=r.length;a<s;++a)if((i=r[a]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=o,i.options=n),i.value=t;return}}this.addEventListener(e.type,o,n),i={type:e.type,name:e.name,value:t,listener:o,options:n},r?r.push(i):this.__on=[i]}}function uP(e,t,n){var r=sP(e+""),i,o=r.length,a;if(arguments.length<2){var s=this.node().__on;if(s){for(var l=0,c=s.length,u;l<c;++l)for(i=0,u=s[l];i<o;++i)if((a=r[i]).type===u.type&&a.name===u.name)return u.value}return}for(s=t?cP:lP,i=0;i<o;++i)this.each(s(r[i],t,n));return this}function UC(e,t,n){var r=qC(e),i=r.CustomEvent;typeof i=="function"?i=new i(t,n):(i=r.document.createEvent("Event"),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function dP(e,t){return function(){return UC(this,e,t)}}function fP(e,t){return function(){return UC(this,e,t.apply(this,arguments))}}function hP(e,t){return this.each((typeof t=="function"?fP:dP)(e,t))}function*pP(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,o=r.length,a;i<o;++i)(a=r[i])&&(yield a)}var VC=[null];function Ft(e,t){this._groups=e,this._parents=t}function Ta(){return new Ft([[document.documentElement]],VC)}function gP(){return this}Ft.prototype=Ta.prototype={constructor:Ft,select:DI,selectAll:UI,selectChild:YI,selectChildren:JI,filter:eT,data:aT,enter:tT,exit:lT,join:cT,merge:uT,selection:gP,order:dT,sort:fT,call:pT,nodes:gT,node:mT,size:vT,empty:yT,each:xT,attr:CT,style:AT,property:MT,classed:OT,text:BT,html:VT,raise:KT,lower:XT,append:QT,insert:JT,remove:tP,clone:iP,datum:oP,on:uP,dispatch:hP,[Symbol.iterator]:pP};function cn(e){return typeof e=="string"?new Ft([[document.querySelector(e)]],[document.documentElement]):new Ft([[e]],VC)}function mP(e){let t;for(;t=e.sourceEvent;)e=t;return e}function wn(e,t){if(e=mP(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}const vP={passive:!1},ya={capture:!0,passive:!1};function mu(e){e.stopImmediatePropagation()}function zi(e){e.preventDefault(),e.stopImmediatePropagation()}function GC(e){var t=e.document.documentElement,n=cn(e).on("dragstart.drag",zi,ya);"onselectstart"in t?n.on("selectstart.drag",zi,ya):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function KC(e,t){var n=e.document.documentElement,r=cn(e).on("dragstart.drag",null);t&&(r.on("click.drag",zi,ya),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}const vs=e=>()=>e;function _m(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:o,x:a,y:s,dx:l,dy:c,dispatch:u}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:c,enumerable:!0,configurable:!0},_:{value:u}})}_m.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function yP(e){return!e.ctrlKey&&!e.button}function xP(){return this.parentNode}function wP(e,t){return t??{x:e.x,y:e.y}}function bP(){return navigator.maxTouchPoints||"ontouchstart"in this}function SP(){var e=yP,t=xP,n=wP,r=bP,i={},o=nc("start","drag","end"),a=0,s,l,c,u,f=0;function h(b){b.on("mousedown.drag",p).filter(r).on("touchstart.drag",S).on("touchmove.drag",m,vP).on("touchend.drag touchcancel.drag",y).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function p(b,C){if(!(u||!e.call(this,b,C))){var N=x(this,t.call(this,b,C),b,C,"mouse");N&&(cn(b.view).on("mousemove.drag",v,ya).on("mouseup.drag",g,ya),GC(b.view),mu(b),c=!1,s=b.clientX,l=b.clientY,N("start",b))}}function v(b){if(zi(b),!c){var C=b.clientX-s,N=b.clientY-l;c=C*C+N*N>f}i.mouse("drag",b)}function g(b){cn(b.view).on("mousemove.drag mouseup.drag",null),KC(b.view,c),zi(b),i.mouse("end",b)}function S(b,C){if(e.call(this,b,C)){var N=b.changedTouches,E=t.call(this,b,C),R=N.length,T,_;for(T=0;T<R;++T)(_=x(this,E,b,C,N[T].identifier,N[T]))&&(mu(b),_("start",b,N[T]))}}function m(b){var C=b.changedTouches,N=C.length,E,R;for(E=0;E<N;++E)(R=i[C[E].identifier])&&(zi(b),R("drag",b,C[E]))}function y(b){var C=b.changedTouches,N=C.length,E,R;for(u&&clearTimeout(u),u=setTimeout(function(){u=null},500),E=0;E<N;++E)(R=i[C[E].identifier])&&(mu(b),R("end",b,C[E]))}function x(b,C,N,E,R,T){var _=o.copy(),I=wn(T||N,C),z,$,j;if((j=n.call(b,new _m("beforestart",{sourceEvent:N,target:h,identifier:R,active:a,x:I[0],y:I[1],dx:0,dy:0,dispatch:_}),E))!=null)return z=j.x-I[0]||0,$=j.y-I[1]||0,function F(k,L,M){var P=I,A;switch(k){case"start":i[R]=F,A=a++;break;case"end":delete i[R],--a;case"drag":I=wn(M||L,C),A=a;break}_.call(k,b,new _m(k,{sourceEvent:L,subject:j,target:h,identifier:R,active:A,x:I[0]+z,y:I[1]+$,dx:I[0]-P[0],dy:I[1]-P[1],dispatch:_}),E)}}return h.filter=function(b){return arguments.length?(e=typeof b=="function"?b:vs(!!b),h):e},h.container=function(b){return arguments.length?(t=typeof b=="function"?b:vs(b),h):t},h.subject=function(b){return arguments.length?(n=typeof b=="function"?b:vs(b),h):n},h.touchable=function(b){return arguments.length?(r=typeof b=="function"?b:vs(!!b),h):r},h.on=function(){var b=o.on.apply(o,arguments);return b===o?h:b},h.clickDistance=function(b){return arguments.length?(f=(b=+b)*b,h):Math.sqrt(f)},h}function Bv(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function YC(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function Pa(){}var xa=.7,El=1/xa,Oi="\\s*([+-]?\\d+)\\s*",wa="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",kn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",_P=/^#([0-9a-f]{3,8})$/,EP=new RegExp(`^rgb\\(${Oi},${Oi},${Oi}\\)$`),kP=new RegExp(`^rgb\\(${kn},${kn},${kn}\\)$`),CP=new RegExp(`^rgba\\(${Oi},${Oi},${Oi},${wa}\\)$`),jP=new RegExp(`^rgba\\(${kn},${kn},${kn},${wa}\\)$`),RP=new RegExp(`^hsl\\(${wa},${kn},${kn}\\)$`),NP=new RegExp(`^hsla\\(${wa},${kn},${kn},${wa}\\)$`),Y0={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Bv(Pa,ba,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:X0,formatHex:X0,formatHex8:AP,formatHsl:IP,formatRgb:Q0,toString:Q0});function X0(){return this.rgb().formatHex()}function AP(){return this.rgb().formatHex8()}function IP(){return XC(this).formatHsl()}function Q0(){return this.rgb().formatRgb()}function ba(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=_P.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?Z0(t):n===3?new Et(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?ys(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?ys(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=EP.exec(e))?new Et(t[1],t[2],t[3],1):(t=kP.exec(e))?new Et(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=CP.exec(e))?ys(t[1],t[2],t[3],t[4]):(t=jP.exec(e))?ys(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=RP.exec(e))?tx(t[1],t[2]/100,t[3]/100,1):(t=NP.exec(e))?tx(t[1],t[2]/100,t[3]/100,t[4]):Y0.hasOwnProperty(e)?Z0(Y0[e]):e==="transparent"?new Et(NaN,NaN,NaN,0):null}function Z0(e){return new Et(e>>16&255,e>>8&255,e&255,1)}function ys(e,t,n,r){return r<=0&&(e=t=n=NaN),new Et(e,t,n,r)}function TP(e){return e instanceof Pa||(e=ba(e)),e?(e=e.rgb(),new Et(e.r,e.g,e.b,e.opacity)):new Et}function Em(e,t,n,r){return arguments.length===1?TP(e):new Et(e,t,n,r??1)}function Et(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Bv(Et,Em,YC(Pa,{brighter(e){return e=e==null?El:Math.pow(El,e),new Et(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?xa:Math.pow(xa,e),new Et(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Et(Ur(this.r),Ur(this.g),Ur(this.b),kl(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:J0,formatHex:J0,formatHex8:PP,formatRgb:ex,toString:ex}));function J0(){return`#${qr(this.r)}${qr(this.g)}${qr(this.b)}`}function PP(){return`#${qr(this.r)}${qr(this.g)}${qr(this.b)}${qr((isNaN(this.opacity)?1:this.opacity)*255)}`}function ex(){const e=kl(this.opacity);return`${e===1?"rgb(":"rgba("}${Ur(this.r)}, ${Ur(this.g)}, ${Ur(this.b)}${e===1?")":`, ${e})`}`}function kl(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Ur(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function qr(e){return e=Ur(e),(e<16?"0":"")+e.toString(16)}function tx(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new un(e,t,n,r)}function XC(e){if(e instanceof un)return new un(e.h,e.s,e.l,e.opacity);if(e instanceof Pa||(e=ba(e)),!e)return new un;if(e instanceof un)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),o=Math.max(t,n,r),a=NaN,s=o-i,l=(o+i)/2;return s?(t===o?a=(n-r)/s+(n<r)*6:n===o?a=(r-t)/s+2:a=(t-n)/s+4,s/=l<.5?o+i:2-o-i,a*=60):s=l>0&&l<1?0:a,new un(a,s,l,e.opacity)}function MP(e,t,n,r){return arguments.length===1?XC(e):new un(e,t,n,r??1)}function un(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Bv(un,MP,YC(Pa,{brighter(e){return e=e==null?El:Math.pow(El,e),new un(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?xa:Math.pow(xa,e),new un(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new Et(vu(e>=240?e-240:e+120,i,r),vu(e,i,r),vu(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new un(nx(this.h),xs(this.s),xs(this.l),kl(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=kl(this.opacity);return`${e===1?"hsl(":"hsla("}${nx(this.h)}, ${xs(this.s)*100}%, ${xs(this.l)*100}%${e===1?")":`, ${e})`}`}}));function nx(e){return e=(e||0)%360,e<0?e+360:e}function xs(e){return Math.max(0,Math.min(1,e||0))}function vu(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const QC=e=>()=>e;function LP(e,t){return function(n){return e+n*t}}function $P(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function zP(e){return(e=+e)==1?ZC:function(t,n){return n-t?$P(t,n,e):QC(isNaN(t)?n:t)}}function ZC(e,t){var n=t-e;return n?LP(e,n):QC(isNaN(e)?t:e)}const rx=function e(t){var n=zP(t);function r(i,o){var a=n((i=Em(i)).r,(o=Em(o)).r),s=n(i.g,o.g),l=n(i.b,o.b),c=ZC(i.opacity,o.opacity);return function(u){return i.r=a(u),i.g=s(u),i.b=l(u),i.opacity=c(u),i+""}}return r.gamma=e,r}(1);function ir(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var km=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,yu=new RegExp(km.source,"g");function OP(e){return function(){return e}}function FP(e){return function(t){return e(t)+""}}function qP(e,t){var n=km.lastIndex=yu.lastIndex=0,r,i,o,a=-1,s=[],l=[];for(e=e+"",t=t+"";(r=km.exec(e))&&(i=yu.exec(t));)(o=i.index)>n&&(o=t.slice(n,o),s[a]?s[a]+=o:s[++a]=o),(r=r[0])===(i=i[0])?s[a]?s[a]+=i:s[++a]=i:(s[++a]=null,l.push({i:a,x:ir(r,i)})),n=yu.lastIndex;return n<t.length&&(o=t.slice(n),s[a]?s[a]+=o:s[++a]=o),s.length<2?l[0]?FP(l[0].x):OP(t):(t=l.length,function(c){for(var u=0,f;u<t;++u)s[(f=l[u]).i]=f.x(c);return s.join("")})}var ix=180/Math.PI,Cm={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function JC(e,t,n,r,i,o){var a,s,l;return(a=Math.sqrt(e*e+t*t))&&(e/=a,t/=a),(l=e*n+t*r)&&(n-=e*l,r-=t*l),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,l/=s),e*r<t*n&&(e=-e,t=-t,l=-l,a=-a),{translateX:i,translateY:o,rotate:Math.atan2(t,e)*ix,skewX:Math.atan(l)*ix,scaleX:a,scaleY:s}}var ws;function DP(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?Cm:JC(t.a,t.b,t.c,t.d,t.e,t.f)}function BP(e){return e==null||(ws||(ws=document.createElementNS("http://www.w3.org/2000/svg","g")),ws.setAttribute("transform",e),!(e=ws.transform.baseVal.consolidate()))?Cm:(e=e.matrix,JC(e.a,e.b,e.c,e.d,e.e,e.f))}function e2(e,t,n,r){function i(c){return c.length?c.pop()+" ":""}function o(c,u,f,h,p,v){if(c!==f||u!==h){var g=p.push("translate(",null,t,null,n);v.push({i:g-4,x:ir(c,f)},{i:g-2,x:ir(u,h)})}else(f||h)&&p.push("translate("+f+t+h+n)}function a(c,u,f,h){c!==u?(c-u>180?u+=360:u-c>180&&(c+=360),h.push({i:f.push(i(f)+"rotate(",null,r)-2,x:ir(c,u)})):u&&f.push(i(f)+"rotate("+u+r)}function s(c,u,f,h){c!==u?h.push({i:f.push(i(f)+"skewX(",null,r)-2,x:ir(c,u)}):u&&f.push(i(f)+"skewX("+u+r)}function l(c,u,f,h,p,v){if(c!==f||u!==h){var g=p.push(i(p)+"scale(",null,",",null,")");v.push({i:g-4,x:ir(c,f)},{i:g-2,x:ir(u,h)})}else(f!==1||h!==1)&&p.push(i(p)+"scale("+f+","+h+")")}return function(c,u){var f=[],h=[];return c=e(c),u=e(u),o(c.translateX,c.translateY,u.translateX,u.translateY,f,h),a(c.rotate,u.rotate,f,h),s(c.skewX,u.skewX,f,h),l(c.scaleX,c.scaleY,u.scaleX,u.scaleY,f,h),c=u=null,function(p){for(var v=-1,g=h.length,S;++v<g;)f[(S=h[v]).i]=S.x(p);return f.join("")}}}var HP=e2(DP,"px, ","px)","deg)"),WP=e2(BP,", ",")",")"),UP=1e-12;function ox(e){return((e=Math.exp(e))+1/e)/2}function VP(e){return((e=Math.exp(e))-1/e)/2}function GP(e){return((e=Math.exp(2*e))-1)/(e+1)}const KP=function e(t,n,r){function i(o,a){var s=o[0],l=o[1],c=o[2],u=a[0],f=a[1],h=a[2],p=u-s,v=f-l,g=p*p+v*v,S,m;if(g<UP)m=Math.log(h/c)/t,S=function(E){return[s+E*p,l+E*v,c*Math.exp(t*E*m)]};else{var y=Math.sqrt(g),x=(h*h-c*c+r*g)/(2*c*n*y),b=(h*h-c*c-r*g)/(2*h*n*y),C=Math.log(Math.sqrt(x*x+1)-x),N=Math.log(Math.sqrt(b*b+1)-b);m=(N-C)/t,S=function(E){var R=E*m,T=ox(C),_=c/(n*y)*(T*GP(t*R+C)-VP(C));return[s+_*p,l+_*v,c*T/ox(t*R+C)]}}return S.duration=m*1e3*t/Math.SQRT2,S}return i.rho=function(o){var a=Math.max(.001,+o),s=a*a,l=s*s;return e(a,s,l)},i}(Math.SQRT2,2,4);var Xi=0,zo=0,wo=0,t2=1e3,Cl,Oo,jl=0,Qr=0,ic=0,Sa=typeof performance=="object"&&performance.now?performance:Date,n2=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function Hv(){return Qr||(n2(YP),Qr=Sa.now()+ic)}function YP(){Qr=0}function Rl(){this._call=this._time=this._next=null}Rl.prototype=r2.prototype={constructor:Rl,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?Hv():+n)+(t==null?0:+t),!this._next&&Oo!==this&&(Oo?Oo._next=this:Cl=this,Oo=this),this._call=e,this._time=n,jm()},stop:function(){this._call&&(this._call=null,this._time=1/0,jm())}};function r2(e,t,n){var r=new Rl;return r.restart(e,t,n),r}function XP(){Hv(),++Xi;for(var e=Cl,t;e;)(t=Qr-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Xi}function ax(){Qr=(jl=Sa.now())+ic,Xi=zo=0;try{XP()}finally{Xi=0,ZP(),Qr=0}}function QP(){var e=Sa.now(),t=e-jl;t>t2&&(ic-=t,jl=e)}function ZP(){for(var e,t=Cl,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:Cl=n);Oo=e,jm(r)}function jm(e){if(!Xi){zo&&(zo=clearTimeout(zo));var t=e-Qr;t>24?(e<1/0&&(zo=setTimeout(ax,e-Sa.now()-ic)),wo&&(wo=clearInterval(wo))):(wo||(jl=Sa.now(),wo=setInterval(QP,t2)),Xi=1,n2(ax))}}function sx(e,t,n){var r=new Rl;return t=t==null?0:+t,r.restart(i=>{r.stop(),e(i+t)},t,n),r}var JP=nc("start","end","cancel","interrupt"),eM=[],i2=0,lx=1,Rm=2,Ys=3,cx=4,Nm=5,Xs=6;function oc(e,t,n,r,i,o){var a=e.__transition;if(!a)e.__transition={};else if(n in a)return;tM(e,n,{name:t,index:r,group:i,on:JP,tween:eM,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:i2})}function Wv(e,t){var n=pn(e,t);if(n.state>i2)throw new Error("too late; already scheduled");return n}function Cn(e,t){var n=pn(e,t);if(n.state>Ys)throw new Error("too late; already running");return n}function pn(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function tM(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=r2(o,0,n.time);function o(c){n.state=lx,n.timer.restart(a,n.delay,n.time),n.delay<=c&&a(c-n.delay)}function a(c){var u,f,h,p;if(n.state!==lx)return l();for(u in r)if(p=r[u],p.name===n.name){if(p.state===Ys)return sx(a);p.state===cx?(p.state=Xs,p.timer.stop(),p.on.call("interrupt",e,e.__data__,p.index,p.group),delete r[u]):+u<t&&(p.state=Xs,p.timer.stop(),p.on.call("cancel",e,e.__data__,p.index,p.group),delete r[u])}if(sx(function(){n.state===Ys&&(n.state=cx,n.timer.restart(s,n.delay,n.time),s(c))}),n.state=Rm,n.on.call("start",e,e.__data__,n.index,n.group),n.state===Rm){for(n.state=Ys,i=new Array(h=n.tween.length),u=0,f=-1;u<h;++u)(p=n.tween[u].value.call(e,e.__data__,n.index,n.group))&&(i[++f]=p);i.length=f+1}}function s(c){for(var u=c<n.duration?n.ease.call(null,c/n.duration):(n.timer.restart(l),n.state=Nm,1),f=-1,h=i.length;++f<h;)i[f].call(e,u);n.state===Nm&&(n.on.call("end",e,e.__data__,n.index,n.group),l())}function l(){n.state=Xs,n.timer.stop(),delete r[t];for(var c in r)return;delete e.__transition}}function Qs(e,t){var n=e.__transition,r,i,o=!0,a;if(n){t=t==null?null:t+"";for(a in n){if((r=n[a]).name!==t){o=!1;continue}i=r.state>Rm&&r.state<Nm,r.state=Xs,r.timer.stop(),r.on.call(i?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete n[a]}o&&delete e.__transition}}function nM(e){return this.each(function(){Qs(this,e)})}function rM(e,t){var n,r;return function(){var i=Cn(this,e),o=i.tween;if(o!==n){r=n=o;for(var a=0,s=r.length;a<s;++a)if(r[a].name===t){r=r.slice(),r.splice(a,1);break}}i.tween=r}}function iM(e,t,n){var r,i;if(typeof n!="function")throw new Error;return function(){var o=Cn(this,e),a=o.tween;if(a!==r){i=(r=a).slice();for(var s={name:t,value:n},l=0,c=i.length;l<c;++l)if(i[l].name===t){i[l]=s;break}l===c&&i.push(s)}o.tween=i}}function oM(e,t){var n=this._id;if(e+="",arguments.length<2){for(var r=pn(this.node(),n).tween,i=0,o=r.length,a;i<o;++i)if((a=r[i]).name===e)return a.value;return null}return this.each((t==null?rM:iM)(n,e,t))}function Uv(e,t,n){var r=e._id;return e.each(function(){var i=Cn(this,r);(i.value||(i.value={}))[t]=n.apply(this,arguments)}),function(i){return pn(i,r).value[t]}}function o2(e,t){var n;return(typeof t=="number"?ir:t instanceof ba?rx:(n=ba(t))?(t=n,rx):qP)(e,t)}function aM(e){return function(){this.removeAttribute(e)}}function sM(e){return function(){this.removeAttributeNS(e.space,e.local)}}function lM(e,t,n){var r,i=n+"",o;return function(){var a=this.getAttribute(e);return a===i?null:a===r?o:o=t(r=a,n)}}function cM(e,t,n){var r,i=n+"",o;return function(){var a=this.getAttributeNS(e.space,e.local);return a===i?null:a===r?o:o=t(r=a,n)}}function uM(e,t,n){var r,i,o;return function(){var a,s=n(this),l;return s==null?void this.removeAttribute(e):(a=this.getAttribute(e),l=s+"",a===l?null:a===r&&l===i?o:(i=l,o=t(r=a,s)))}}function dM(e,t,n){var r,i,o;return function(){var a,s=n(this),l;return s==null?void this.removeAttributeNS(e.space,e.local):(a=this.getAttributeNS(e.space,e.local),l=s+"",a===l?null:a===r&&l===i?o:(i=l,o=t(r=a,s)))}}function fM(e,t){var n=rc(e),r=n==="transform"?WP:o2;return this.attrTween(e,typeof t=="function"?(n.local?dM:uM)(n,r,Uv(this,"attr."+e,t)):t==null?(n.local?sM:aM)(n):(n.local?cM:lM)(n,r,t))}function hM(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function pM(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function gM(e,t){var n,r;function i(){var o=t.apply(this,arguments);return o!==r&&(n=(r=o)&&pM(e,o)),n}return i._value=t,i}function mM(e,t){var n,r;function i(){var o=t.apply(this,arguments);return o!==r&&(n=(r=o)&&hM(e,o)),n}return i._value=t,i}function vM(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!="function")throw new Error;var r=rc(e);return this.tween(n,(r.local?gM:mM)(r,t))}function yM(e,t){return function(){Wv(this,e).delay=+t.apply(this,arguments)}}function xM(e,t){return t=+t,function(){Wv(this,e).delay=t}}function wM(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?yM:xM)(t,e)):pn(this.node(),t).delay}function bM(e,t){return function(){Cn(this,e).duration=+t.apply(this,arguments)}}function SM(e,t){return t=+t,function(){Cn(this,e).duration=t}}function _M(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?bM:SM)(t,e)):pn(this.node(),t).duration}function EM(e,t){if(typeof t!="function")throw new Error;return function(){Cn(this,e).ease=t}}function kM(e){var t=this._id;return arguments.length?this.each(EM(t,e)):pn(this.node(),t).ease}function CM(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;Cn(this,e).ease=n}}function jM(e){if(typeof e!="function")throw new Error;return this.each(CM(this._id,e))}function RM(e){typeof e!="function"&&(e=zC(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o=t[i],a=o.length,s=r[i]=[],l,c=0;c<a;++c)(l=o[c])&&e.call(l,l.__data__,c,o)&&s.push(l);return new Bn(r,this._parents,this._name,this._id)}function NM(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,r=t.length,i=n.length,o=Math.min(r,i),a=new Array(r),s=0;s<o;++s)for(var l=t[s],c=n[s],u=l.length,f=a[s]=new Array(u),h,p=0;p<u;++p)(h=l[p]||c[p])&&(f[p]=h);for(;s<r;++s)a[s]=t[s];return new Bn(a,this._parents,this._name,this._id)}function AM(e){return(e+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||t==="start"})}function IM(e,t,n){var r,i,o=AM(t)?Wv:Cn;return function(){var a=o(this,e),s=a.on;s!==r&&(i=(r=s).copy()).on(t,n),a.on=i}}function TM(e,t){var n=this._id;return arguments.length<2?pn(this.node(),n).on.on(e):this.each(IM(n,e,t))}function PM(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function MM(){return this.on("end.remove",PM(this._id))}function LM(e){var t=this._name,n=this._id;typeof e!="function"&&(e=qv(e));for(var r=this._groups,i=r.length,o=new Array(i),a=0;a<i;++a)for(var s=r[a],l=s.length,c=o[a]=new Array(l),u,f,h=0;h<l;++h)(u=s[h])&&(f=e.call(u,u.__data__,h,s))&&("__data__"in u&&(f.__data__=u.__data__),c[h]=f,oc(c[h],t,n,h,c,pn(u,n)));return new Bn(o,this._parents,t,n)}function $M(e){var t=this._name,n=this._id;typeof e!="function"&&(e=$C(e));for(var r=this._groups,i=r.length,o=[],a=[],s=0;s<i;++s)for(var l=r[s],c=l.length,u,f=0;f<c;++f)if(u=l[f]){for(var h=e.call(u,u.__data__,f,l),p,v=pn(u,n),g=0,S=h.length;g<S;++g)(p=h[g])&&oc(p,t,n,g,h,v);o.push(h),a.push(u)}return new Bn(o,a,t,n)}var zM=Ta.prototype.constructor;function OM(){return new zM(this._groups,this._parents)}function FM(e,t){var n,r,i;return function(){var o=Yi(this,e),a=(this.style.removeProperty(e),Yi(this,e));return o===a?null:o===n&&a===r?i:i=t(n=o,r=a)}}function a2(e){return function(){this.style.removeProperty(e)}}function qM(e,t,n){var r,i=n+"",o;return function(){var a=Yi(this,e);return a===i?null:a===r?o:o=t(r=a,n)}}function DM(e,t,n){var r,i,o;return function(){var a=Yi(this,e),s=n(this),l=s+"";return s==null&&(l=s=(this.style.removeProperty(e),Yi(this,e))),a===l?null:a===r&&l===i?o:(i=l,o=t(r=a,s))}}function BM(e,t){var n,r,i,o="style."+t,a="end."+o,s;return function(){var l=Cn(this,e),c=l.on,u=l.value[o]==null?s||(s=a2(t)):void 0;(c!==n||i!==u)&&(r=(n=c).copy()).on(a,i=u),l.on=r}}function HM(e,t,n){var r=(e+="")=="transform"?HP:o2;return t==null?this.styleTween(e,FM(e,r)).on("end.style."+e,a2(e)):typeof t=="function"?this.styleTween(e,DM(e,r,Uv(this,"style."+e,t))).each(BM(this._id,e)):this.styleTween(e,qM(e,r,t),n).on("end.style."+e,null)}function WM(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function UM(e,t,n){var r,i;function o(){var a=t.apply(this,arguments);return a!==i&&(r=(i=a)&&WM(e,a,n)),r}return o._value=t,o}function VM(e,t,n){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!="function")throw new Error;return this.tween(r,UM(e,t,n??""))}function GM(e){return function(){this.textContent=e}}function KM(e){return function(){var t=e(this);this.textContent=t??""}}function YM(e){return this.tween("text",typeof e=="function"?KM(Uv(this,"text",e)):GM(e==null?"":e+""))}function XM(e){return function(t){this.textContent=e.call(this,t)}}function QM(e){var t,n;function r(){var i=e.apply(this,arguments);return i!==n&&(t=(n=i)&&XM(i)),t}return r._value=e,r}function ZM(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!="function")throw new Error;return this.tween(t,QM(e))}function JM(){for(var e=this._name,t=this._id,n=s2(),r=this._groups,i=r.length,o=0;o<i;++o)for(var a=r[o],s=a.length,l,c=0;c<s;++c)if(l=a[c]){var u=pn(l,t);oc(l,e,n,c,a,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new Bn(r,this._parents,e,n)}function eL(){var e,t,n=this,r=n._id,i=n.size();return new Promise(function(o,a){var s={value:a},l={value:function(){--i===0&&o()}};n.each(function(){var c=Cn(this,r),u=c.on;u!==e&&(t=(e=u).copy(),t._.cancel.push(s),t._.interrupt.push(s),t._.end.push(l)),c.on=t}),i===0&&o()})}var tL=0;function Bn(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function s2(){return++tL}var Rn=Ta.prototype;Bn.prototype={constructor:Bn,select:LM,selectAll:$M,selectChild:Rn.selectChild,selectChildren:Rn.selectChildren,filter:RM,merge:NM,selection:OM,transition:JM,call:Rn.call,nodes:Rn.nodes,node:Rn.node,size:Rn.size,empty:Rn.empty,each:Rn.each,on:TM,attr:fM,attrTween:vM,style:HM,styleTween:VM,text:YM,textTween:ZM,remove:MM,tween:oM,delay:wM,duration:_M,ease:kM,easeVarying:jM,end:eL,[Symbol.iterator]:Rn[Symbol.iterator]};function nL(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var rL={time:null,delay:0,duration:250,ease:nL};function iL(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}function oL(e){var t,n;e instanceof Bn?(t=e._id,e=e._name):(t=s2(),(n=rL).time=Hv(),e=e==null?null:e+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var a=r[o],s=a.length,l,c=0;c<s;++c)(l=a[c])&&oc(l,e,t,c,a,n||iL(l,t));return new Bn(r,this._parents,e,t)}Ta.prototype.interrupt=nM;Ta.prototype.transition=oL;const bs=e=>()=>e;function aL(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function Mn(e,t,n){this.k=e,this.x=t,this.y=n}Mn.prototype={constructor:Mn,scale:function(e){return e===1?this:new Mn(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Mn(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var wr=new Mn(1,0,0);Mn.prototype;function xu(e){e.stopImmediatePropagation()}function bo(e){e.preventDefault(),e.stopImmediatePropagation()}function sL(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function lL(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function ux(){return this.__zoom||wr}function cL(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function uL(){return navigator.maxTouchPoints||"ontouchstart"in this}function dL(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],o=e.invertY(t[0][1])-n[0][1],a=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),a>o?(o+a)/2:Math.min(0,o)||Math.max(0,a))}function fL(){var e=sL,t=lL,n=dL,r=cL,i=uL,o=[0,1/0],a=[[-1/0,-1/0],[1/0,1/0]],s=250,l=KP,c=nc("start","zoom","end"),u,f,h,p=500,v=150,g=0,S=10;function m(j){j.property("__zoom",ux).on("wheel.zoom",R,{passive:!1}).on("mousedown.zoom",T).on("dblclick.zoom",_).filter(i).on("touchstart.zoom",I).on("touchmove.zoom",z).on("touchend.zoom touchcancel.zoom",$).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}m.transform=function(j,F,k,L){var M=j.selection?j.selection():j;M.property("__zoom",ux),j!==M?C(j,F,k,L):M.interrupt().each(function(){N(this,arguments).event(L).start().zoom(null,typeof F=="function"?F.apply(this,arguments):F).end()})},m.scaleBy=function(j,F,k,L){m.scaleTo(j,function(){var M=this.__zoom.k,P=typeof F=="function"?F.apply(this,arguments):F;return M*P},k,L)},m.scaleTo=function(j,F,k,L){m.transform(j,function(){var M=t.apply(this,arguments),P=this.__zoom,A=k==null?b(M):typeof k=="function"?k.apply(this,arguments):k,q=P.invert(A),D=typeof F=="function"?F.apply(this,arguments):F;return n(x(y(P,D),A,q),M,a)},k,L)},m.translateBy=function(j,F,k,L){m.transform(j,function(){return n(this.__zoom.translate(typeof F=="function"?F.apply(this,arguments):F,typeof k=="function"?k.apply(this,arguments):k),t.apply(this,arguments),a)},null,L)},m.translateTo=function(j,F,k,L,M){m.transform(j,function(){var P=t.apply(this,arguments),A=this.__zoom,q=L==null?b(P):typeof L=="function"?L.apply(this,arguments):L;return n(wr.translate(q[0],q[1]).scale(A.k).translate(typeof F=="function"?-F.apply(this,arguments):-F,typeof k=="function"?-k.apply(this,arguments):-k),P,a)},L,M)};function y(j,F){return F=Math.max(o[0],Math.min(o[1],F)),F===j.k?j:new Mn(F,j.x,j.y)}function x(j,F,k){var L=F[0]-k[0]*j.k,M=F[1]-k[1]*j.k;return L===j.x&&M===j.y?j:new Mn(j.k,L,M)}function b(j){return[(+j[0][0]+ +j[1][0])/2,(+j[0][1]+ +j[1][1])/2]}function C(j,F,k,L){j.on("start.zoom",function(){N(this,arguments).event(L).start()}).on("interrupt.zoom end.zoom",function(){N(this,arguments).event(L).end()}).tween("zoom",function(){var M=this,P=arguments,A=N(M,P).event(L),q=t.apply(M,P),D=k==null?b(q):typeof k=="function"?k.apply(M,P):k,W=Math.max(q[1][0]-q[0][0],q[1][1]-q[0][1]),V=M.__zoom,J=typeof F=="function"?F.apply(M,P):F,te=l(V.invert(D).concat(W/V.k),J.invert(D).concat(W/J.k));return function(se){if(se===1)se=J;else{var ue=te(se),ge=W/ue[2];se=new Mn(ge,D[0]-ue[0]*ge,D[1]-ue[1]*ge)}A.zoom(null,se)}})}function N(j,F,k){return!k&&j.__zooming||new E(j,F)}function E(j,F){this.that=j,this.args=F,this.active=0,this.sourceEvent=null,this.extent=t.apply(j,F),this.taps=0}E.prototype={event:function(j){return j&&(this.sourceEvent=j),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(j,F){return this.mouse&&j!=="mouse"&&(this.mouse[1]=F.invert(this.mouse[0])),this.touch0&&j!=="touch"&&(this.touch0[1]=F.invert(this.touch0[0])),this.touch1&&j!=="touch"&&(this.touch1[1]=F.invert(this.touch1[0])),this.that.__zoom=F,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(j){var F=cn(this.that).datum();c.call(j,this.that,new aL(j,{sourceEvent:this.sourceEvent,target:m,transform:this.that.__zoom,dispatch:c}),F)}};function R(j,...F){if(!e.apply(this,arguments))return;var k=N(this,F).event(j),L=this.__zoom,M=Math.max(o[0],Math.min(o[1],L.k*Math.pow(2,r.apply(this,arguments)))),P=wn(j);if(k.wheel)(k.mouse[0][0]!==P[0]||k.mouse[0][1]!==P[1])&&(k.mouse[1]=L.invert(k.mouse[0]=P)),clearTimeout(k.wheel);else{if(L.k===M)return;k.mouse=[P,L.invert(P)],Qs(this),k.start()}bo(j),k.wheel=setTimeout(A,v),k.zoom("mouse",n(x(y(L,M),k.mouse[0],k.mouse[1]),k.extent,a));function A(){k.wheel=null,k.end()}}function T(j,...F){if(h||!e.apply(this,arguments))return;var k=j.currentTarget,L=N(this,F,!0).event(j),M=cn(j.view).on("mousemove.zoom",D,!0).on("mouseup.zoom",W,!0),P=wn(j,k),A=j.clientX,q=j.clientY;GC(j.view),xu(j),L.mouse=[P,this.__zoom.invert(P)],Qs(this),L.start();function D(V){if(bo(V),!L.moved){var J=V.clientX-A,te=V.clientY-q;L.moved=J*J+te*te>g}L.event(V).zoom("mouse",n(x(L.that.__zoom,L.mouse[0]=wn(V,k),L.mouse[1]),L.extent,a))}function W(V){M.on("mousemove.zoom mouseup.zoom",null),KC(V.view,L.moved),bo(V),L.event(V).end()}}function _(j,...F){if(e.apply(this,arguments)){var k=this.__zoom,L=wn(j.changedTouches?j.changedTouches[0]:j,this),M=k.invert(L),P=k.k*(j.shiftKey?.5:2),A=n(x(y(k,P),L,M),t.apply(this,F),a);bo(j),s>0?cn(this).transition().duration(s).call(C,A,L,j):cn(this).call(m.transform,A,L,j)}}function I(j,...F){if(e.apply(this,arguments)){var k=j.touches,L=k.length,M=N(this,F,j.changedTouches.length===L).event(j),P,A,q,D;for(xu(j),A=0;A<L;++A)q=k[A],D=wn(q,this),D=[D,this.__zoom.invert(D),q.identifier],M.touch0?!M.touch1&&M.touch0[2]!==D[2]&&(M.touch1=D,M.taps=0):(M.touch0=D,P=!0,M.taps=1+!!u);u&&(u=clearTimeout(u)),P&&(M.taps<2&&(f=D[0],u=setTimeout(function(){u=null},p)),Qs(this),M.start())}}function z(j,...F){if(this.__zooming){var k=N(this,F).event(j),L=j.changedTouches,M=L.length,P,A,q,D;for(bo(j),P=0;P<M;++P)A=L[P],q=wn(A,this),k.touch0&&k.touch0[2]===A.identifier?k.touch0[0]=q:k.touch1&&k.touch1[2]===A.identifier&&(k.touch1[0]=q);if(A=k.that.__zoom,k.touch1){var W=k.touch0[0],V=k.touch0[1],J=k.touch1[0],te=k.touch1[1],se=(se=J[0]-W[0])*se+(se=J[1]-W[1])*se,ue=(ue=te[0]-V[0])*ue+(ue=te[1]-V[1])*ue;A=y(A,Math.sqrt(se/ue)),q=[(W[0]+J[0])/2,(W[1]+J[1])/2],D=[(V[0]+te[0])/2,(V[1]+te[1])/2]}else if(k.touch0)q=k.touch0[0],D=k.touch0[1];else return;k.zoom("touch",n(x(A,q,D),k.extent,a))}}function $(j,...F){if(this.__zooming){var k=N(this,F).event(j),L=j.changedTouches,M=L.length,P,A;for(xu(j),h&&clearTimeout(h),h=setTimeout(function(){h=null},p),P=0;P<M;++P)A=L[P],k.touch0&&k.touch0[2]===A.identifier?delete k.touch0:k.touch1&&k.touch1[2]===A.identifier&&delete k.touch1;if(k.touch1&&!k.touch0&&(k.touch0=k.touch1,delete k.touch1),k.touch0)k.touch0[1]=this.__zoom.invert(k.touch0[0]);else if(k.end(),k.taps===2&&(A=wn(A,this),Math.hypot(f[0]-A[0],f[1]-A[1])<S)){var q=cn(this).on("dblclick.zoom");q&&q.apply(this,arguments)}}}return m.wheelDelta=function(j){return arguments.length?(r=typeof j=="function"?j:bs(+j),m):r},m.filter=function(j){return arguments.length?(e=typeof j=="function"?j:bs(!!j),m):e},m.touchable=function(j){return arguments.length?(i=typeof j=="function"?j:bs(!!j),m):i},m.extent=function(j){return arguments.length?(t=typeof j=="function"?j:bs([[+j[0][0],+j[0][1]],[+j[1][0],+j[1][1]]]),m):t},m.scaleExtent=function(j){return arguments.length?(o[0]=+j[0],o[1]=+j[1],m):[o[0],o[1]]},m.translateExtent=function(j){return arguments.length?(a[0][0]=+j[0][0],a[1][0]=+j[1][0],a[0][1]=+j[0][1],a[1][1]=+j[1][1],m):[[a[0][0],a[0][1]],[a[1][0],a[1][1]]]},m.constrain=function(j){return arguments.length?(n=j,m):n},m.duration=function(j){return arguments.length?(s=+j,m):s},m.interpolate=function(j){return arguments.length?(l=j,m):l},m.on=function(){var j=c.on.apply(c,arguments);return j===c?m:j},m.clickDistance=function(j){return arguments.length?(g=(j=+j)*j,m):Math.sqrt(g)},m.tapDistance=function(j){return arguments.length?(S=+j,m):S},m}const ac=w.createContext(null),hL=ac.Provider,Hn={error001:()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,t)=>`Couldn't create edge for ${e?"target":"source"} handle id: "${e?t.targetHandle:t.sourceHandle}", edge id: ${t.id}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`},l2=Hn.error001();function ze(e,t){const n=w.useContext(ac);if(n===null)throw new Error(l2);return MC(n,e,t)}const Qe=()=>{const e=w.useContext(ac);if(e===null)throw new Error(l2);return w.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy}),[e])},pL=e=>e.userSelectionActive?"none":"all";function c2({position:e,children:t,className:n,style:r,...i}){const o=ze(pL),a=`${e}`.split("-");return H.createElement("div",{className:wt(["react-flow__panel",n,...a]),style:{...r,pointerEvents:o},...i},t)}function gL({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:H.createElement(c2,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://reactflow.dev/pro"},H.createElement("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution"},"React Flow"))}const mL=({x:e,y:t,label:n,labelStyle:r={},labelShowBg:i=!0,labelBgStyle:o={},labelBgPadding:a=[2,4],labelBgBorderRadius:s=2,children:l,className:c,...u})=>{const f=w.useRef(null),[h,p]=w.useState({x:0,y:0,width:0,height:0}),v=wt(["react-flow__edge-textwrapper",c]);return w.useEffect(()=>{if(f.current){const g=f.current.getBBox();p({x:g.x,y:g.y,width:g.width,height:g.height})}},[n]),typeof n>"u"||!n?null:H.createElement("g",{transform:`translate(${e-h.width/2} ${t-h.height/2})`,className:v,visibility:h.width?"visible":"hidden",...u},i&&H.createElement("rect",{width:h.width+2*a[0],x:-a[0],y:-a[1],height:h.height+2*a[1],className:"react-flow__edge-textbg",style:o,rx:s,ry:s}),H.createElement("text",{className:"react-flow__edge-text",y:h.height/2,dy:"0.3em",ref:f,style:r},n),l)};var vL=w.memo(mL);const Vv=e=>({width:e.offsetWidth,height:e.offsetHeight}),Qi=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),Gv=(e={x:0,y:0},t)=>({x:Qi(e.x,t[0][0],t[1][0]),y:Qi(e.y,t[0][1],t[1][1])}),dx=(e,t,n)=>e<t?Qi(Math.abs(e-t),1,50)/50:e>n?-Qi(Math.abs(e-n),1,50)/50:0,u2=(e,t)=>{const n=dx(e.x,35,t.width-35)*20,r=dx(e.y,35,t.height-35)*20;return[n,r]},d2=e=>{var t;return((t=e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},yL=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),Kv=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),xL=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),fx=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),Am=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*r)},wL=e=>Yt(e.width)&&Yt(e.height)&&Yt(e.x)&&Yt(e.y),Yt=e=>!isNaN(e)&&isFinite(e),qe=Symbol.for("internals"),f2=["Enter"," ","Escape"],bL=(e,t)=>{},SL=e=>"nativeEvent"in e;function Im(e){var i,o;const t=SL(e)?e.nativeEvent:e,n=((o=(i=t.composedPath)==null?void 0:i.call(t))==null?void 0:o[0])||e.target;return["INPUT","SELECT","TEXTAREA"].includes(n==null?void 0:n.nodeName)||(n==null?void 0:n.hasAttribute("contenteditable"))||!!(n!=null&&n.closest(".nokey"))}const h2=e=>"clientX"in e,br=(e,t)=>{var o,a;const n=h2(e),r=n?e.clientX:(o=e.touches)==null?void 0:o[0].clientX,i=n?e.clientY:(a=e.touches)==null?void 0:a[0].clientY;return{x:r-((t==null?void 0:t.left)??0),y:i-((t==null?void 0:t.top)??0)}},Nl=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0},Ma=({id:e,path:t,labelX:n,labelY:r,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:s,labelBgPadding:l,labelBgBorderRadius:c,style:u,markerEnd:f,markerStart:h,interactionWidth:p=20})=>H.createElement(H.Fragment,null,H.createElement("path",{id:e,style:u,d:t,fill:"none",className:"react-flow__edge-path",markerEnd:f,markerStart:h}),p&&H.createElement("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:p,className:"react-flow__edge-interaction"}),i&&Yt(n)&&Yt(r)?H.createElement(vL,{x:n,y:r,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:s,labelBgPadding:l,labelBgBorderRadius:c}):null);Ma.displayName="BaseEdge";function So(e,t,n){return n===void 0?n:r=>{const i=t().edges.find(o=>o.id===e);i&&n(r,{...i})}}function p2({sourceX:e,sourceY:t,targetX:n,targetY:r}){const i=Math.abs(n-e)/2,o=n<e?n+i:n-i,a=Math.abs(r-t)/2,s=r<t?r+a:r-a;return[o,s,i,a]}function g2({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:i,sourceControlY:o,targetControlX:a,targetControlY:s}){const l=e*.125+i*.375+a*.375+n*.125,c=t*.125+o*.375+s*.375+r*.125,u=Math.abs(l-e),f=Math.abs(c-t);return[l,c,u,f]}var Zr;(function(e){e.Strict="strict",e.Loose="loose"})(Zr||(Zr={}));var Dr;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Dr||(Dr={}));var _a;(function(e){e.Partial="partial",e.Full="full"})(_a||(_a={}));var lr;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(lr||(lr={}));var Wn;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Wn||(Wn={}));var Y;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(Y||(Y={}));function hx({pos:e,x1:t,y1:n,x2:r,y2:i}){return e===Y.Left||e===Y.Right?[.5*(t+r),n]:[t,.5*(n+i)]}function m2({sourceX:e,sourceY:t,sourcePosition:n=Y.Bottom,targetX:r,targetY:i,targetPosition:o=Y.Top}){const[a,s]=hx({pos:n,x1:e,y1:t,x2:r,y2:i}),[l,c]=hx({pos:o,x1:r,y1:i,x2:e,y2:t}),[u,f,h,p]=g2({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:a,sourceControlY:s,targetControlX:l,targetControlY:c});return[`M${e},${t} C${a},${s} ${l},${c} ${r},${i}`,u,f,h,p]}const Yv=w.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i=Y.Bottom,targetPosition:o=Y.Top,label:a,labelStyle:s,labelShowBg:l,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:f,style:h,markerEnd:p,markerStart:v,interactionWidth:g})=>{const[S,m,y]=m2({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o});return H.createElement(Ma,{path:S,labelX:m,labelY:y,label:a,labelStyle:s,labelShowBg:l,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:f,style:h,markerEnd:p,markerStart:v,interactionWidth:g})});Yv.displayName="SimpleBezierEdge";const px={[Y.Left]:{x:-1,y:0},[Y.Right]:{x:1,y:0},[Y.Top]:{x:0,y:-1},[Y.Bottom]:{x:0,y:1}},_L=({source:e,sourcePosition:t=Y.Bottom,target:n})=>t===Y.Left||t===Y.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1},gx=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function EL({source:e,sourcePosition:t=Y.Bottom,target:n,targetPosition:r=Y.Top,center:i,offset:o}){const a=px[t],s=px[r],l={x:e.x+a.x*o,y:e.y+a.y*o},c={x:n.x+s.x*o,y:n.y+s.y*o},u=_L({source:l,sourcePosition:t,target:c}),f=u.x!==0?"x":"y",h=u[f];let p=[],v,g;const S={x:0,y:0},m={x:0,y:0},[y,x,b,C]=p2({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(a[f]*s[f]===-1){v=i.x??y,g=i.y??x;const E=[{x:v,y:l.y},{x:v,y:c.y}],R=[{x:l.x,y:g},{x:c.x,y:g}];a[f]===h?p=f==="x"?E:R:p=f==="x"?R:E}else{const E=[{x:l.x,y:c.y}],R=[{x:c.x,y:l.y}];if(f==="x"?p=a.x===h?R:E:p=a.y===h?E:R,t===r){const $=Math.abs(e[f]-n[f]);if($<=o){const j=Math.min(o-1,o-$);a[f]===h?S[f]=(l[f]>e[f]?-1:1)*j:m[f]=(c[f]>n[f]?-1:1)*j}}if(t!==r){const $=f==="x"?"y":"x",j=a[f]===s[$],F=l[$]>c[$],k=l[$]<c[$];(a[f]===1&&(!j&&F||j&&k)||a[f]!==1&&(!j&&k||j&&F))&&(p=f==="x"?E:R)}const T={x:l.x+S.x,y:l.y+S.y},_={x:c.x+m.x,y:c.y+m.y},I=Math.max(Math.abs(T.x-p[0].x),Math.abs(_.x-p[0].x)),z=Math.max(Math.abs(T.y-p[0].y),Math.abs(_.y-p[0].y));I>=z?(v=(T.x+_.x)/2,g=p[0].y):(v=p[0].x,g=(T.y+_.y)/2)}return[[e,{x:l.x+S.x,y:l.y+S.y},...p,{x:c.x+m.x,y:c.y+m.y},n],v,g,b,C]}function kL(e,t,n,r){const i=Math.min(gx(e,t)/2,gx(t,n)/2,r),{x:o,y:a}=t;if(e.x===o&&o===n.x||e.y===a&&a===n.y)return`L${o} ${a}`;if(e.y===a){const c=e.x<n.x?-1:1,u=e.y<n.y?1:-1;return`L ${o+i*c},${a}Q ${o},${a} ${o},${a+i*u}`}const s=e.x<n.x?1:-1,l=e.y<n.y?-1:1;return`L ${o},${a+i*l}Q ${o},${a} ${o+i*s},${a}`}function Tm({sourceX:e,sourceY:t,sourcePosition:n=Y.Bottom,targetX:r,targetY:i,targetPosition:o=Y.Top,borderRadius:a=5,centerX:s,centerY:l,offset:c=20}){const[u,f,h,p,v]=EL({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:i},targetPosition:o,center:{x:s,y:l},offset:c});return[u.reduce((S,m,y)=>{let x="";return y>0&&y<u.length-1?x=kL(u[y-1],m,u[y+1],a):x=`${y===0?"M":"L"}${m.x} ${m.y}`,S+=x,S},""),f,h,p,v]}const sc=w.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:s,labelBgPadding:l,labelBgBorderRadius:c,style:u,sourcePosition:f=Y.Bottom,targetPosition:h=Y.Top,markerEnd:p,markerStart:v,pathOptions:g,interactionWidth:S})=>{const[m,y,x]=Tm({sourceX:e,sourceY:t,sourcePosition:f,targetX:n,targetY:r,targetPosition:h,borderRadius:g==null?void 0:g.borderRadius,offset:g==null?void 0:g.offset});return H.createElement(Ma,{path:m,labelX:y,labelY:x,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:s,labelBgPadding:l,labelBgBorderRadius:c,style:u,markerEnd:p,markerStart:v,interactionWidth:S})});sc.displayName="SmoothStepEdge";const Xv=w.memo(e=>{var t;return H.createElement(sc,{...e,pathOptions:w.useMemo(()=>{var n;return{borderRadius:0,offset:(n=e.pathOptions)==null?void 0:n.offset}},[(t=e.pathOptions)==null?void 0:t.offset])})});Xv.displayName="StepEdge";function CL({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[i,o,a,s]=p2({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,o,a,s]}const Qv=w.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:s,labelBgPadding:l,labelBgBorderRadius:c,style:u,markerEnd:f,markerStart:h,interactionWidth:p})=>{const[v,g,S]=CL({sourceX:e,sourceY:t,targetX:n,targetY:r});return H.createElement(Ma,{path:v,labelX:g,labelY:S,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:s,labelBgPadding:l,labelBgBorderRadius:c,style:u,markerEnd:f,markerStart:h,interactionWidth:p})});Qv.displayName="StraightEdge";function Ss(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function mx({pos:e,x1:t,y1:n,x2:r,y2:i,c:o}){switch(e){case Y.Left:return[t-Ss(t-r,o),n];case Y.Right:return[t+Ss(r-t,o),n];case Y.Top:return[t,n-Ss(n-i,o)];case Y.Bottom:return[t,n+Ss(i-n,o)]}}function v2({sourceX:e,sourceY:t,sourcePosition:n=Y.Bottom,targetX:r,targetY:i,targetPosition:o=Y.Top,curvature:a=.25}){const[s,l]=mx({pos:n,x1:e,y1:t,x2:r,y2:i,c:a}),[c,u]=mx({pos:o,x1:r,y1:i,x2:e,y2:t,c:a}),[f,h,p,v]=g2({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:s,sourceControlY:l,targetControlX:c,targetControlY:u});return[`M${e},${t} C${s},${l} ${c},${u} ${r},${i}`,f,h,p,v]}const Al=w.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i=Y.Bottom,targetPosition:o=Y.Top,label:a,labelStyle:s,labelShowBg:l,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:f,style:h,markerEnd:p,markerStart:v,pathOptions:g,interactionWidth:S})=>{const[m,y,x]=v2({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o,curvature:g==null?void 0:g.curvature});return H.createElement(Ma,{path:m,labelX:y,labelY:x,label:a,labelStyle:s,labelShowBg:l,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:f,style:h,markerEnd:p,markerStart:v,interactionWidth:S})});Al.displayName="BezierEdge";const Zv=w.createContext(null),jL=Zv.Provider;Zv.Consumer;const RL=()=>w.useContext(Zv),NL=e=>"id"in e&&"source"in e&&"target"in e,AL=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`reactflow__edge-${e}${t||""}-${n}${r||""}`,Pm=(e,t)=>typeof e>"u"?"":typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`,IL=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),TL=(e,t)=>{if(!e.source||!e.target)return t;let n;return NL(e)?n={...e}:n={...e,id:AL(e)},IL(n,t)?t:t.concat(n)},Mm=({x:e,y:t},[n,r,i],o,[a,s])=>{const l={x:(e-n)/i,y:(t-r)/i};return o?{x:a*Math.round(l.x/a),y:s*Math.round(l.y/s)}:l},y2=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r}),Fi=(e,t=[0,0])=>{if(!e)return{x:0,y:0,positionAbsolute:{x:0,y:0}};const n=(e.width??0)*t[0],r=(e.height??0)*t[1],i={x:e.position.x-n,y:e.position.y-r};return{...i,positionAbsolute:e.positionAbsolute?{x:e.positionAbsolute.x-n,y:e.positionAbsolute.y-r}:i}},Jv=(e,t=[0,0])=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((r,i)=>{const{x:o,y:a}=Fi(i,t).positionAbsolute;return yL(r,Kv({x:o,y:a,width:i.width||0,height:i.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return xL(n)},x2=(e,t,[n,r,i]=[0,0,1],o=!1,a=!1,s=[0,0])=>{const l={x:(t.x-n)/i,y:(t.y-r)/i,width:t.width/i,height:t.height/i},c=[];return e.forEach(u=>{const{width:f,height:h,selectable:p=!0,hidden:v=!1}=u;if(a&&!p||v)return!1;const{positionAbsolute:g}=Fi(u,s),S={x:g.x,y:g.y,width:f||0,height:h||0},m=Am(l,S),y=typeof f>"u"||typeof h>"u"||f===null||h===null,x=o&&m>0,b=(f||0)*(h||0);(y||x||m>=b||u.dragging)&&c.push(u)}),c},w2=(e,t)=>{const n=e.map(r=>r.id);return t.filter(r=>n.includes(r.source)||n.includes(r.target))},b2=(e,t,n,r,i,o=.1)=>{const a=t/(e.width*(1+o)),s=n/(e.height*(1+o)),l=Math.min(a,s),c=Qi(l,r,i),u=e.x+e.width/2,f=e.y+e.height/2,h=t/2-u*c,p=n/2-f*c;return{x:h,y:p,zoom:c}},$r=(e,t=0)=>e.transition().duration(t);function vx(e,t,n,r){return(t[n]||[]).reduce((i,o)=>{var a,s;return`${e.id}-${o.id}-${n}`!==r&&i.push({id:o.id||null,type:n,nodeId:e.id,x:(((a=e.positionAbsolute)==null?void 0:a.x)??0)+o.x+o.width/2,y:(((s=e.positionAbsolute)==null?void 0:s.y)??0)+o.y+o.height/2}),i},[])}function PL(e,t,n,r,i,o){const{x:a,y:s}=br(e),c=t.elementsFromPoint(a,s).find(v=>v.classList.contains("react-flow__handle"));if(c){const v=c.getAttribute("data-nodeid");if(v){const g=ey(void 0,c),S=c.getAttribute("data-handleid"),m=o({nodeId:v,id:S,type:g});if(m){const y=i.find(x=>x.nodeId===v&&x.type===g&&x.id===S);return{handle:{id:S,type:g,nodeId:v,x:(y==null?void 0:y.x)||n.x,y:(y==null?void 0:y.y)||n.y},validHandleResult:m}}}}let u=[],f=1/0;if(i.forEach(v=>{const g=Math.sqrt((v.x-n.x)**2+(v.y-n.y)**2);if(g<=r){const S=o(v);g<=f&&(g<f?u=[{handle:v,validHandleResult:S}]:g===f&&u.push({handle:v,validHandleResult:S}),f=g)}}),!u.length)return{handle:null,validHandleResult:S2()};if(u.length===1)return u[0];const h=u.some(({validHandleResult:v})=>v.isValid),p=u.some(({handle:v})=>v.type==="target");return u.find(({handle:v,validHandleResult:g})=>p?v.type==="target":h?g.isValid:!0)||u[0]}const ML={source:null,target:null,sourceHandle:null,targetHandle:null},S2=()=>({handleDomNode:null,isValid:!1,connection:ML,endHandle:null});function _2(e,t,n,r,i,o,a){const s=i==="target",l=a.querySelector(`.react-flow__handle[data-id="${e==null?void 0:e.nodeId}-${e==null?void 0:e.id}-${e==null?void 0:e.type}"]`),c={...S2(),handleDomNode:l};if(l){const u=ey(void 0,l),f=l.getAttribute("data-nodeid"),h=l.getAttribute("data-handleid"),p=l.classList.contains("connectable"),v=l.classList.contains("connectableend"),g={source:s?f:n,sourceHandle:s?h:r,target:s?n:f,targetHandle:s?r:h};c.connection=g,p&&v&&(t===Zr.Strict?s&&u==="source"||!s&&u==="target":f!==n||h!==r)&&(c.endHandle={nodeId:f,handleId:h,type:u},c.isValid=o(g))}return c}function LL({nodes:e,nodeId:t,handleId:n,handleType:r}){return e.reduce((i,o)=>{if(o[qe]){const{handleBounds:a}=o[qe];let s=[],l=[];a&&(s=vx(o,a,"source",`${t}-${n}-${r}`),l=vx(o,a,"target",`${t}-${n}-${r}`)),i.push(...s,...l)}return i},[])}function ey(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function wu(e){e==null||e.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function $L(e,t){let n=null;return t?n="valid":e&&!t&&(n="invalid"),n}function E2({event:e,handleId:t,nodeId:n,onConnect:r,isTarget:i,getState:o,setState:a,isValidConnection:s,edgeUpdaterType:l,onReconnectEnd:c}){const u=d2(e.target),{connectionMode:f,domNode:h,autoPanOnConnect:p,connectionRadius:v,onConnectStart:g,panBy:S,getNodes:m,cancelConnection:y}=o();let x=0,b;const{x:C,y:N}=br(e),E=u==null?void 0:u.elementFromPoint(C,N),R=ey(l,E),T=h==null?void 0:h.getBoundingClientRect();if(!T||!R)return;let _,I=br(e,T),z=!1,$=null,j=!1,F=null;const k=LL({nodes:m(),nodeId:n,handleId:t,handleType:R}),L=()=>{if(!p)return;const[A,q]=u2(I,T);S({x:A,y:q}),x=requestAnimationFrame(L)};a({connectionPosition:I,connectionStatus:null,connectionNodeId:n,connectionHandleId:t,connectionHandleType:R,connectionStartHandle:{nodeId:n,handleId:t,type:R},connectionEndHandle:null}),g==null||g(e,{nodeId:n,handleId:t,handleType:R});function M(A){const{transform:q}=o();I=br(A,T);const{handle:D,validHandleResult:W}=PL(A,u,Mm(I,q,!1,[1,1]),v,k,V=>_2(V,f,n,t,i?"target":"source",s,u));if(b=D,z||(L(),z=!0),F=W.handleDomNode,$=W.connection,j=W.isValid,a({connectionPosition:b&&j?y2({x:b.x,y:b.y},q):I,connectionStatus:$L(!!b,j),connectionEndHandle:W.endHandle}),!b&&!j&&!F)return wu(_);$.source!==$.target&&F&&(wu(_),_=F,F.classList.add("connecting","react-flow__handle-connecting"),F.classList.toggle("valid",j),F.classList.toggle("react-flow__handle-valid",j))}function P(A){var q,D;(b||F)&&$&&j&&(r==null||r($)),(D=(q=o()).onConnectEnd)==null||D.call(q,A),l&&(c==null||c(A)),wu(_),y(),cancelAnimationFrame(x),z=!1,j=!1,$=null,F=null,u.removeEventListener("mousemove",M),u.removeEventListener("mouseup",P),u.removeEventListener("touchmove",M),u.removeEventListener("touchend",P)}u.addEventListener("mousemove",M),u.addEventListener("mouseup",P),u.addEventListener("touchmove",M),u.addEventListener("touchend",P)}const yx=()=>!0,zL=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),OL=(e,t,n)=>r=>{const{connectionStartHandle:i,connectionEndHandle:o,connectionClickStartHandle:a}=r;return{connecting:(i==null?void 0:i.nodeId)===e&&(i==null?void 0:i.handleId)===t&&(i==null?void 0:i.type)===n||(o==null?void 0:o.nodeId)===e&&(o==null?void 0:o.handleId)===t&&(o==null?void 0:o.type)===n,clickConnecting:(a==null?void 0:a.nodeId)===e&&(a==null?void 0:a.handleId)===t&&(a==null?void 0:a.type)===n}},k2=w.forwardRef(({type:e="source",position:t=Y.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:i=!0,isConnectableEnd:o=!0,id:a,onConnect:s,children:l,className:c,onMouseDown:u,onTouchStart:f,...h},p)=>{var T,_;const v=a||null,g=e==="target",S=Qe(),m=RL(),{connectOnClick:y,noPanClassName:x}=ze(zL,ut),{connecting:b,clickConnecting:C}=ze(OL(m,v,e),ut);m||(_=(T=S.getState()).onError)==null||_.call(T,"010",Hn.error010());const N=I=>{const{defaultEdgeOptions:z,onConnect:$,hasDefaultEdges:j}=S.getState(),F={...z,...I};if(j){const{edges:k,setEdges:L}=S.getState();L(TL(F,k))}$==null||$(F),s==null||s(F)},E=I=>{if(!m)return;const z=h2(I);i&&(z&&I.button===0||!z)&&E2({event:I,handleId:v,nodeId:m,onConnect:N,isTarget:g,getState:S.getState,setState:S.setState,isValidConnection:n||S.getState().isValidConnection||yx}),z?u==null||u(I):f==null||f(I)},R=I=>{const{onClickConnectStart:z,onClickConnectEnd:$,connectionClickStartHandle:j,connectionMode:F,isValidConnection:k}=S.getState();if(!m||!j&&!i)return;if(!j){z==null||z(I,{nodeId:m,handleId:v,handleType:e}),S.setState({connectionClickStartHandle:{nodeId:m,type:e,handleId:v}});return}const L=d2(I.target),M=n||k||yx,{connection:P,isValid:A}=_2({nodeId:m,id:v,type:e},F,j.nodeId,j.handleId||null,j.type,M,L);A&&N(P),$==null||$(I),S.setState({connectionClickStartHandle:null})};return H.createElement("div",{"data-handleid":v,"data-nodeid":m,"data-handlepos":t,"data-id":`${m}-${v}-${e}`,className:wt(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",x,c,{source:!g,target:g,connectable:r,connectablestart:i,connectableend:o,connecting:C,connectionindicator:r&&(i&&!b||o&&b)}]),onMouseDown:E,onTouchStart:E,onClick:y?R:void 0,ref:p,...h},l)});k2.displayName="Handle";var Te=w.memo(k2);const C2=({data:e,isConnectable:t,targetPosition:n=Y.Top,sourcePosition:r=Y.Bottom})=>H.createElement(H.Fragment,null,H.createElement(Te,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label,H.createElement(Te,{type:"source",position:r,isConnectable:t}));C2.displayName="DefaultNode";var Lm=w.memo(C2);const j2=({data:e,isConnectable:t,sourcePosition:n=Y.Bottom})=>H.createElement(H.Fragment,null,e==null?void 0:e.label,H.createElement(Te,{type:"source",position:n,isConnectable:t}));j2.displayName="InputNode";var R2=w.memo(j2);const N2=({data:e,isConnectable:t,targetPosition:n=Y.Top})=>H.createElement(H.Fragment,null,H.createElement(Te,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label);N2.displayName="OutputNode";var A2=w.memo(N2);const ty=()=>null;ty.displayName="GroupNode";const FL=e=>({selectedNodes:e.getNodes().filter(t=>t.selected),selectedEdges:e.edges.filter(t=>t.selected).map(t=>({...t}))}),_s=e=>e.id;function qL(e,t){return ut(e.selectedNodes.map(_s),t.selectedNodes.map(_s))&&ut(e.selectedEdges.map(_s),t.selectedEdges.map(_s))}const I2=w.memo(({onSelectionChange:e})=>{const t=Qe(),{selectedNodes:n,selectedEdges:r}=ze(FL,qL);return w.useEffect(()=>{const i={nodes:n,edges:r};e==null||e(i),t.getState().onSelectionChange.forEach(o=>o(i))},[n,r,e]),null});I2.displayName="SelectionListener";const DL=e=>!!e.onSelectionChange;function BL({onSelectionChange:e}){const t=ze(DL);return e||t?H.createElement(I2,{onSelectionChange:e}):null}const HL=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset});function di(e,t){w.useEffect(()=>{typeof e<"u"&&t(e)},[e])}function fe(e,t,n){w.useEffect(()=>{typeof t<"u"&&n({[e]:t})},[t])}const WL=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:i,onConnectStart:o,onConnectEnd:a,onClickConnectStart:s,onClickConnectEnd:l,nodesDraggable:c,nodesConnectable:u,nodesFocusable:f,edgesFocusable:h,edgesUpdatable:p,elevateNodesOnSelect:v,minZoom:g,maxZoom:S,nodeExtent:m,onNodesChange:y,onEdgesChange:x,elementsSelectable:b,connectionMode:C,snapGrid:N,snapToGrid:E,translateExtent:R,connectOnClick:T,defaultEdgeOptions:_,fitView:I,fitViewOptions:z,onNodesDelete:$,onEdgesDelete:j,onNodeDrag:F,onNodeDragStart:k,onNodeDragStop:L,onSelectionDrag:M,onSelectionDragStart:P,onSelectionDragStop:A,noPanClassName:q,nodeOrigin:D,rfId:W,autoPanOnConnect:V,autoPanOnNodeDrag:J,onError:te,connectionRadius:se,isValidConnection:ue,nodeDragThreshold:ge})=>{const{setNodes:ve,setEdges:Ke,setDefaultNodesAndEdges:Ue,setMinZoom:dt,setMaxZoom:it,setTranslateExtent:oe,setNodeExtent:Ze,reset:re}=ze(HL,ut),Q=Qe();return w.useEffect(()=>{const Re=r==null?void 0:r.map(ft=>({...ft,..._}));return Ue(n,Re),()=>{re()}},[]),fe("defaultEdgeOptions",_,Q.setState),fe("connectionMode",C,Q.setState),fe("onConnect",i,Q.setState),fe("onConnectStart",o,Q.setState),fe("onConnectEnd",a,Q.setState),fe("onClickConnectStart",s,Q.setState),fe("onClickConnectEnd",l,Q.setState),fe("nodesDraggable",c,Q.setState),fe("nodesConnectable",u,Q.setState),fe("nodesFocusable",f,Q.setState),fe("edgesFocusable",h,Q.setState),fe("edgesUpdatable",p,Q.setState),fe("elementsSelectable",b,Q.setState),fe("elevateNodesOnSelect",v,Q.setState),fe("snapToGrid",E,Q.setState),fe("snapGrid",N,Q.setState),fe("onNodesChange",y,Q.setState),fe("onEdgesChange",x,Q.setState),fe("connectOnClick",T,Q.setState),fe("fitViewOnInit",I,Q.setState),fe("fitViewOnInitOptions",z,Q.setState),fe("onNodesDelete",$,Q.setState),fe("onEdgesDelete",j,Q.setState),fe("onNodeDrag",F,Q.setState),fe("onNodeDragStart",k,Q.setState),fe("onNodeDragStop",L,Q.setState),fe("onSelectionDrag",M,Q.setState),fe("onSelectionDragStart",P,Q.setState),fe("onSelectionDragStop",A,Q.setState),fe("noPanClassName",q,Q.setState),fe("nodeOrigin",D,Q.setState),fe("rfId",W,Q.setState),fe("autoPanOnConnect",V,Q.setState),fe("autoPanOnNodeDrag",J,Q.setState),fe("onError",te,Q.setState),fe("connectionRadius",se,Q.setState),fe("isValidConnection",ue,Q.setState),fe("nodeDragThreshold",ge,Q.setState),di(e,ve),di(t,Ke),di(g,dt),di(S,it),di(R,oe),di(m,Ze),null},xx={display:"none"},UL={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},T2="react-flow__node-desc",P2="react-flow__edge-desc",VL="react-flow__aria-live",GL=e=>e.ariaLiveMessage;function KL({rfId:e}){const t=ze(GL);return H.createElement("div",{id:`${VL}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:UL},t)}function YL({rfId:e,disableKeyboardA11y:t}){return H.createElement(H.Fragment,null,H.createElement("div",{id:`${T2}-${e}`,style:xx},"Press enter or space to select a node.",!t&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "),H.createElement("div",{id:`${P2}-${e}`,style:xx},"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."),!t&&H.createElement(KL,{rfId:e}))}var Ea=(e=null,t={actInsideInputWithModifier:!0})=>{const[n,r]=w.useState(!1),i=w.useRef(!1),o=w.useRef(new Set([])),[a,s]=w.useMemo(()=>{if(e!==null){const c=(Array.isArray(e)?e:[e]).filter(f=>typeof f=="string").map(f=>f.split("+")),u=c.reduce((f,h)=>f.concat(...h),[]);return[c,u]}return[[],[]]},[e]);return w.useEffect(()=>{const l=typeof document<"u"?document:null,c=(t==null?void 0:t.target)||l;if(e!==null){const u=p=>{if(i.current=p.ctrlKey||p.metaKey||p.shiftKey,(!i.current||i.current&&!t.actInsideInputWithModifier)&&Im(p))return!1;const g=bx(p.code,s);o.current.add(p[g]),wx(a,o.current,!1)&&(p.preventDefault(),r(!0))},f=p=>{if((!i.current||i.current&&!t.actInsideInputWithModifier)&&Im(p))return!1;const g=bx(p.code,s);wx(a,o.current,!0)?(r(!1),o.current.clear()):o.current.delete(p[g]),p.key==="Meta"&&o.current.clear(),i.current=!1},h=()=>{o.current.clear(),r(!1)};return c==null||c.addEventListener("keydown",u),c==null||c.addEventListener("keyup",f),window.addEventListener("blur",h),()=>{c==null||c.removeEventListener("keydown",u),c==null||c.removeEventListener("keyup",f),window.removeEventListener("blur",h)}}},[e,r]),n};function wx(e,t,n){return e.filter(r=>n||r.length===t.size).some(r=>r.every(i=>t.has(i)))}function bx(e,t){return t.includes(e)?"code":"key"}function M2(e,t,n,r){var s,l;const i=e.parentNode||e.parentId;if(!i)return n;const o=t.get(i),a=Fi(o,r);return M2(o,t,{x:(n.x??0)+a.x,y:(n.y??0)+a.y,z:(((s=o[qe])==null?void 0:s.z)??0)>(n.z??0)?((l=o[qe])==null?void 0:l.z)??0:n.z??0},r)}function L2(e,t,n){e.forEach(r=>{var o;const i=r.parentNode||r.parentId;if(i&&!e.has(i))throw new Error(`Parent node ${i} not found`);if(i||n!=null&&n[r.id]){const{x:a,y:s,z:l}=M2(r,e,{...r.position,z:((o=r[qe])==null?void 0:o.z)??0},t);r.positionAbsolute={x:a,y:s},r[qe].z=l,n!=null&&n[r.id]&&(r[qe].isParent=!0)}})}function bu(e,t,n,r){const i=new Map,o={},a=r?1e3:0;return e.forEach(s=>{var p;const l=(Yt(s.zIndex)?s.zIndex:0)+(s.selected?a:0),c=t.get(s.id),u={...s,positionAbsolute:{x:s.position.x,y:s.position.y}},f=s.parentNode||s.parentId;f&&(o[f]=!0);const h=(c==null?void 0:c.type)&&(c==null?void 0:c.type)!==s.type;Object.defineProperty(u,qe,{enumerable:!1,value:{handleBounds:h||(p=c==null?void 0:c[qe])==null?void 0:p.handleBounds,z:l}}),i.set(s.id,u)}),L2(i,n,o),i}function $2(e,t={}){const{getNodes:n,width:r,height:i,minZoom:o,maxZoom:a,d3Zoom:s,d3Selection:l,fitViewOnInitDone:c,fitViewOnInit:u,nodeOrigin:f}=e(),h=t.initial&&!c&&u;if(s&&l&&(h||!t.initial)){const v=n().filter(S=>{var y;const m=t.includeHiddenNodes?S.width&&S.height:!S.hidden;return(y=t.nodes)!=null&&y.length?m&&t.nodes.some(x=>x.id===S.id):m}),g=v.every(S=>S.width&&S.height);if(v.length>0&&g){const S=Jv(v,f),{x:m,y,zoom:x}=b2(S,r,i,t.minZoom??o,t.maxZoom??a,t.padding??.1),b=wr.translate(m,y).scale(x);return typeof t.duration=="number"&&t.duration>0?s.transform($r(l,t.duration),b):s.transform(l,b),!0}}return!1}function XL(e,t){return e.forEach(n=>{const r=t.get(n.id);r&&t.set(r.id,{...r,[qe]:r[qe],selected:n.selected})}),new Map(t)}function QL(e,t){return t.map(n=>{const r=e.find(i=>i.id===n.id);return r&&(n.selected=r.selected),n})}function Es({changedNodes:e,changedEdges:t,get:n,set:r}){const{nodeInternals:i,edges:o,onNodesChange:a,onEdgesChange:s,hasDefaultNodes:l,hasDefaultEdges:c}=n();e!=null&&e.length&&(l&&r({nodeInternals:XL(e,i)}),a==null||a(e)),t!=null&&t.length&&(c&&r({edges:QL(t,o)}),s==null||s(t))}const fi=()=>{},ZL={zoomIn:fi,zoomOut:fi,zoomTo:fi,getZoom:()=>1,setViewport:fi,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:fi,fitBounds:fi,project:e=>e,screenToFlowPosition:e=>e,flowToScreenPosition:e=>e,viewportInitialized:!1},JL=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection}),e3=()=>{const e=Qe(),{d3Zoom:t,d3Selection:n}=ze(JL,ut);return w.useMemo(()=>n&&t?{zoomIn:i=>t.scaleBy($r(n,i==null?void 0:i.duration),1.2),zoomOut:i=>t.scaleBy($r(n,i==null?void 0:i.duration),1/1.2),zoomTo:(i,o)=>t.scaleTo($r(n,o==null?void 0:o.duration),i),getZoom:()=>e.getState().transform[2],setViewport:(i,o)=>{const[a,s,l]=e.getState().transform,c=wr.translate(i.x??a,i.y??s).scale(i.zoom??l);t.transform($r(n,o==null?void 0:o.duration),c)},getViewport:()=>{const[i,o,a]=e.getState().transform;return{x:i,y:o,zoom:a}},fitView:i=>$2(e.getState,i),setCenter:(i,o,a)=>{const{width:s,height:l,maxZoom:c}=e.getState(),u=typeof(a==null?void 0:a.zoom)<"u"?a.zoom:c,f=s/2-i*u,h=l/2-o*u,p=wr.translate(f,h).scale(u);t.transform($r(n,a==null?void 0:a.duration),p)},fitBounds:(i,o)=>{const{width:a,height:s,minZoom:l,maxZoom:c}=e.getState(),{x:u,y:f,zoom:h}=b2(i,a,s,l,c,(o==null?void 0:o.padding)??.1),p=wr.translate(u,f).scale(h);t.transform($r(n,o==null?void 0:o.duration),p)},project:i=>{const{transform:o,snapToGrid:a,snapGrid:s}=e.getState();return console.warn("[DEPRECATED] `project` is deprecated. Instead use `screenToFlowPosition`. There is no need to subtract the react flow bounds anymore! https://reactflow.dev/api-reference/types/react-flow-instance#screen-to-flow-position"),Mm(i,o,a,s)},screenToFlowPosition:i=>{const{transform:o,snapToGrid:a,snapGrid:s,domNode:l}=e.getState();if(!l)return i;const{x:c,y:u}=l.getBoundingClientRect(),f={x:i.x-c,y:i.y-u};return Mm(f,o,a,s)},flowToScreenPosition:i=>{const{transform:o,domNode:a}=e.getState();if(!a)return i;const{x:s,y:l}=a.getBoundingClientRect(),c=y2(i,o);return{x:c.x+s,y:c.y+l}},viewportInitialized:!0}:ZL,[t,n])};function ny(){const e=e3(),t=Qe(),n=w.useCallback(()=>t.getState().getNodes().map(g=>({...g})),[]),r=w.useCallback(g=>t.getState().nodeInternals.get(g),[]),i=w.useCallback(()=>{const{edges:g=[]}=t.getState();return g.map(S=>({...S}))},[]),o=w.useCallback(g=>{const{edges:S=[]}=t.getState();return S.find(m=>m.id===g)},[]),a=w.useCallback(g=>{const{getNodes:S,setNodes:m,hasDefaultNodes:y,onNodesChange:x}=t.getState(),b=S(),C=typeof g=="function"?g(b):g;if(y)m(C);else if(x){const N=C.length===0?b.map(E=>({type:"remove",id:E.id})):C.map(E=>({item:E,type:"reset"}));x(N)}},[]),s=w.useCallback(g=>{const{edges:S=[],setEdges:m,hasDefaultEdges:y,onEdgesChange:x}=t.getState(),b=typeof g=="function"?g(S):g;if(y)m(b);else if(x){const C=b.length===0?S.map(N=>({type:"remove",id:N.id})):b.map(N=>({item:N,type:"reset"}));x(C)}},[]),l=w.useCallback(g=>{const S=Array.isArray(g)?g:[g],{getNodes:m,setNodes:y,hasDefaultNodes:x,onNodesChange:b}=t.getState();if(x){const N=[...m(),...S];y(N)}else if(b){const C=S.map(N=>({item:N,type:"add"}));b(C)}},[]),c=w.useCallback(g=>{const S=Array.isArray(g)?g:[g],{edges:m=[],setEdges:y,hasDefaultEdges:x,onEdgesChange:b}=t.getState();if(x)y([...m,...S]);else if(b){const C=S.map(N=>({item:N,type:"add"}));b(C)}},[]),u=w.useCallback(()=>{const{getNodes:g,edges:S=[],transform:m}=t.getState(),[y,x,b]=m;return{nodes:g().map(C=>({...C})),edges:S.map(C=>({...C})),viewport:{x:y,y:x,zoom:b}}},[]),f=w.useCallback(({nodes:g,edges:S})=>{const{nodeInternals:m,getNodes:y,edges:x,hasDefaultNodes:b,hasDefaultEdges:C,onNodesDelete:N,onEdgesDelete:E,onNodesChange:R,onEdgesChange:T}=t.getState(),_=(g||[]).map(F=>F.id),I=(S||[]).map(F=>F.id),z=y().reduce((F,k)=>{const L=k.parentNode||k.parentId,M=!_.includes(k.id)&&L&&F.find(A=>A.id===L);return(typeof k.deletable=="boolean"?k.deletable:!0)&&(_.includes(k.id)||M)&&F.push(k),F},[]),$=x.filter(F=>typeof F.deletable=="boolean"?F.deletable:!0),j=$.filter(F=>I.includes(F.id));if(z||j){const F=w2(z,$),k=[...j,...F],L=k.reduce((M,P)=>(M.includes(P.id)||M.push(P.id),M),[]);if((C||b)&&(C&&t.setState({edges:x.filter(M=>!L.includes(M.id))}),b&&(z.forEach(M=>{m.delete(M.id)}),t.setState({nodeInternals:new Map(m)}))),L.length>0&&(E==null||E(k),T&&T(L.map(M=>({id:M,type:"remove"})))),z.length>0&&(N==null||N(z),R)){const M=z.map(P=>({id:P.id,type:"remove"}));R(M)}}},[]),h=w.useCallback(g=>{const S=wL(g),m=S?null:t.getState().nodeInternals.get(g.id);return!S&&!m?[null,null,S]:[S?g:fx(m),m,S]},[]),p=w.useCallback((g,S=!0,m)=>{const[y,x,b]=h(g);return y?(m||t.getState().getNodes()).filter(C=>{if(!b&&(C.id===x.id||!C.positionAbsolute))return!1;const N=fx(C),E=Am(N,y);return S&&E>0||E>=y.width*y.height}):[]},[]),v=w.useCallback((g,S,m=!0)=>{const[y]=h(g);if(!y)return!1;const x=Am(y,S);return m&&x>0||x>=y.width*y.height},[]);return w.useMemo(()=>({...e,getNodes:n,getNode:r,getEdges:i,getEdge:o,setNodes:a,setEdges:s,addNodes:l,addEdges:c,toObject:u,deleteElements:f,getIntersectingNodes:p,isNodeIntersecting:v}),[e,n,r,i,o,a,s,l,c,u,f,p,v])}const t3={actInsideInputWithModifier:!1};var n3=({deleteKeyCode:e,multiSelectionKeyCode:t})=>{const n=Qe(),{deleteElements:r}=ny(),i=Ea(e,t3),o=Ea(t);w.useEffect(()=>{if(i){const{edges:a,getNodes:s}=n.getState(),l=s().filter(u=>u.selected),c=a.filter(u=>u.selected);r({nodes:l,edges:c}),n.setState({nodesSelectionActive:!1})}},[i]),w.useEffect(()=>{n.setState({multiSelectionActive:o})},[o])};function r3(e){const t=Qe();w.useEffect(()=>{let n;const r=()=>{var o,a;if(!e.current)return;const i=Vv(e.current);(i.height===0||i.width===0)&&((a=(o=t.getState()).onError)==null||a.call(o,"004",Hn.error004())),t.setState({width:i.width||500,height:i.height||500})};return r(),window.addEventListener("resize",r),e.current&&(n=new ResizeObserver(()=>r()),n.observe(e.current)),()=>{window.removeEventListener("resize",r),n&&e.current&&n.unobserve(e.current)}},[])}const ry={position:"absolute",width:"100%",height:"100%",top:0,left:0},i3=(e,t)=>e.x!==t.x||e.y!==t.y||e.zoom!==t.k,ks=e=>({x:e.x,y:e.y,zoom:e.k}),hi=(e,t)=>e.target.closest(`.${t}`),Sx=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),_x=e=>{const t=e.ctrlKey&&Nl()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t},o3=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),a3=({onMove:e,onMoveStart:t,onMoveEnd:n,onPaneContextMenu:r,zoomOnScroll:i=!0,zoomOnPinch:o=!0,panOnScroll:a=!1,panOnScrollSpeed:s=.5,panOnScrollMode:l=Dr.Free,zoomOnDoubleClick:c=!0,elementsSelectable:u,panOnDrag:f=!0,defaultViewport:h,translateExtent:p,minZoom:v,maxZoom:g,zoomActivationKeyCode:S,preventScrolling:m=!0,children:y,noWheelClassName:x,noPanClassName:b})=>{const C=w.useRef(),N=Qe(),E=w.useRef(!1),R=w.useRef(!1),T=w.useRef(null),_=w.useRef({x:0,y:0,zoom:0}),{d3Zoom:I,d3Selection:z,d3ZoomHandler:$,userSelectionActive:j}=ze(o3,ut),F=Ea(S),k=w.useRef(0),L=w.useRef(!1),M=w.useRef();return r3(T),w.useEffect(()=>{if(T.current){const P=T.current.getBoundingClientRect(),A=fL().scaleExtent([v,g]).translateExtent(p),q=cn(T.current).call(A),D=wr.translate(h.x,h.y).scale(Qi(h.zoom,v,g)),W=[[0,0],[P.width,P.height]],V=A.constrain()(D,W,p);A.transform(q,V),A.wheelDelta(_x),N.setState({d3Zoom:A,d3Selection:q,d3ZoomHandler:q.on("wheel.zoom"),transform:[V.x,V.y,V.k],domNode:T.current.closest(".react-flow")})}},[]),w.useEffect(()=>{z&&I&&(a&&!F&&!j?z.on("wheel.zoom",P=>{if(hi(P,x))return!1;P.preventDefault(),P.stopImmediatePropagation();const A=z.property("__zoom").k||1;if(P.ctrlKey&&o){const ue=wn(P),ge=_x(P),ve=A*Math.pow(2,ge);I.scaleTo(z,ve,ue,P);return}const q=P.deltaMode===1?20:1;let D=l===Dr.Vertical?0:P.deltaX*q,W=l===Dr.Horizontal?0:P.deltaY*q;!Nl()&&P.shiftKey&&l!==Dr.Vertical&&(D=P.deltaY*q,W=0),I.translateBy(z,-(D/A)*s,-(W/A)*s,{internal:!0});const V=ks(z.property("__zoom")),{onViewportChangeStart:J,onViewportChange:te,onViewportChangeEnd:se}=N.getState();clearTimeout(M.current),L.current||(L.current=!0,t==null||t(P,V),J==null||J(V)),L.current&&(e==null||e(P,V),te==null||te(V),M.current=setTimeout(()=>{n==null||n(P,V),se==null||se(V),L.current=!1},150))},{passive:!1}):typeof $<"u"&&z.on("wheel.zoom",function(P,A){if(!m&&P.type==="wheel"&&!P.ctrlKey||hi(P,x))return null;P.preventDefault(),$.call(this,P,A)},{passive:!1}))},[j,a,l,z,I,$,F,o,m,x,t,e,n]),w.useEffect(()=>{I&&I.on("start",P=>{var D,W;if(!P.sourceEvent||P.sourceEvent.internal)return null;k.current=(D=P.sourceEvent)==null?void 0:D.button;const{onViewportChangeStart:A}=N.getState(),q=ks(P.transform);E.current=!0,_.current=q,((W=P.sourceEvent)==null?void 0:W.type)==="mousedown"&&N.setState({paneDragging:!0}),A==null||A(q),t==null||t(P.sourceEvent,q)})},[I,t]),w.useEffect(()=>{I&&(j&&!E.current?I.on("zoom",null):j||I.on("zoom",P=>{var q;const{onViewportChange:A}=N.getState();if(N.setState({transform:[P.transform.x,P.transform.y,P.transform.k]}),R.current=!!(r&&Sx(f,k.current??0)),(e||A)&&!((q=P.sourceEvent)!=null&&q.internal)){const D=ks(P.transform);A==null||A(D),e==null||e(P.sourceEvent,D)}}))},[j,I,e,f,r]),w.useEffect(()=>{I&&I.on("end",P=>{if(!P.sourceEvent||P.sourceEvent.internal)return null;const{onViewportChangeEnd:A}=N.getState();if(E.current=!1,N.setState({paneDragging:!1}),r&&Sx(f,k.current??0)&&!R.current&&r(P.sourceEvent),R.current=!1,(n||A)&&i3(_.current,P.transform)){const q=ks(P.transform);_.current=q,clearTimeout(C.current),C.current=setTimeout(()=>{A==null||A(q),n==null||n(P.sourceEvent,q)},a?150:0)}})},[I,a,f,n,r]),w.useEffect(()=>{I&&I.filter(P=>{const A=F||i,q=o&&P.ctrlKey;if((f===!0||Array.isArray(f)&&f.includes(1))&&P.button===1&&P.type==="mousedown"&&(hi(P,"react-flow__node")||hi(P,"react-flow__edge")))return!0;if(!f&&!A&&!a&&!c&&!o||j||!c&&P.type==="dblclick"||hi(P,x)&&P.type==="wheel"||hi(P,b)&&(P.type!=="wheel"||a&&P.type==="wheel"&&!F)||!o&&P.ctrlKey&&P.type==="wheel"||!A&&!a&&!q&&P.type==="wheel"||!f&&(P.type==="mousedown"||P.type==="touchstart")||Array.isArray(f)&&!f.includes(P.button)&&P.type==="mousedown")return!1;const D=Array.isArray(f)&&f.includes(P.button)||!P.button||P.button<=1;return(!P.ctrlKey||P.type==="wheel")&&D})},[j,I,i,o,a,c,f,u,F]),H.createElement("div",{className:"react-flow__renderer",ref:T,style:ry},y)},s3=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function l3(){const{userSelectionActive:e,userSelectionRect:t}=ze(s3,ut);return e&&t?H.createElement("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}function Ex(e,t){const n=t.parentNode||t.parentId,r=e.find(i=>i.id===n);if(r){const i=t.position.x+t.width-r.width,o=t.position.y+t.height-r.height;if(i>0||o>0||t.position.x<0||t.position.y<0){if(r.style={...r.style},r.style.width=r.style.width??r.width,r.style.height=r.style.height??r.height,i>0&&(r.style.width+=i),o>0&&(r.style.height+=o),t.position.x<0){const a=Math.abs(t.position.x);r.position.x=r.position.x-a,r.style.width+=a,t.position.x=0}if(t.position.y<0){const a=Math.abs(t.position.y);r.position.y=r.position.y-a,r.style.height+=a,t.position.y=0}r.width=r.style.width,r.height=r.style.height}}}function z2(e,t){if(e.some(r=>r.type==="reset"))return e.filter(r=>r.type==="reset").map(r=>r.item);const n=e.filter(r=>r.type==="add").map(r=>r.item);return t.reduce((r,i)=>{const o=e.filter(s=>s.id===i.id);if(o.length===0)return r.push(i),r;const a={...i};for(const s of o)if(s)switch(s.type){case"select":{a.selected=s.selected;break}case"position":{typeof s.position<"u"&&(a.position=s.position),typeof s.positionAbsolute<"u"&&(a.positionAbsolute=s.positionAbsolute),typeof s.dragging<"u"&&(a.dragging=s.dragging),a.expandParent&&Ex(r,a);break}case"dimensions":{typeof s.dimensions<"u"&&(a.width=s.dimensions.width,a.height=s.dimensions.height),typeof s.updateStyle<"u"&&(a.style={...a.style||{},...s.dimensions}),typeof s.resizing=="boolean"&&(a.resizing=s.resizing),a.expandParent&&Ex(r,a);break}case"remove":return r}return r.push(a),r},n)}function O2(e,t){return z2(e,t)}function c3(e,t){return z2(e,t)}const or=(e,t)=>({id:e,type:"select",selected:t});function Ai(e,t){return e.reduce((n,r)=>{const i=t.includes(r.id);return!r.selected&&i?(r.selected=!0,n.push(or(r.id,!0))):r.selected&&!i&&(r.selected=!1,n.push(or(r.id,!1))),n},[])}const Su=(e,t)=>n=>{n.target===t.current&&(e==null||e(n))},u3=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),F2=w.memo(({isSelecting:e,selectionMode:t=_a.Full,panOnDrag:n,onSelectionStart:r,onSelectionEnd:i,onPaneClick:o,onPaneContextMenu:a,onPaneScroll:s,onPaneMouseEnter:l,onPaneMouseMove:c,onPaneMouseLeave:u,children:f})=>{const h=w.useRef(null),p=Qe(),v=w.useRef(0),g=w.useRef(0),S=w.useRef(),{userSelectionActive:m,elementsSelectable:y,dragging:x}=ze(u3,ut),b=()=>{p.setState({userSelectionActive:!1,userSelectionRect:null}),v.current=0,g.current=0},C=$=>{o==null||o($),p.getState().resetSelectedElements(),p.setState({nodesSelectionActive:!1})},N=$=>{if(Array.isArray(n)&&(n!=null&&n.includes(2))){$.preventDefault();return}a==null||a($)},E=s?$=>s($):void 0,R=$=>{const{resetSelectedElements:j,domNode:F}=p.getState();if(S.current=F==null?void 0:F.getBoundingClientRect(),!y||!e||$.button!==0||$.target!==h.current||!S.current)return;const{x:k,y:L}=br($,S.current);j(),p.setState({userSelectionRect:{width:0,height:0,startX:k,startY:L,x:k,y:L}}),r==null||r($)},T=$=>{const{userSelectionRect:j,nodeInternals:F,edges:k,transform:L,onNodesChange:M,onEdgesChange:P,nodeOrigin:A,getNodes:q}=p.getState();if(!e||!S.current||!j)return;p.setState({userSelectionActive:!0,nodesSelectionActive:!1});const D=br($,S.current),W=j.startX??0,V=j.startY??0,J={...j,x:D.x<W?D.x:W,y:D.y<V?D.y:V,width:Math.abs(D.x-W),height:Math.abs(D.y-V)},te=q(),se=x2(F,J,L,t===_a.Partial,!0,A),ue=w2(se,k).map(ve=>ve.id),ge=se.map(ve=>ve.id);if(v.current!==ge.length){v.current=ge.length;const ve=Ai(te,ge);ve.length&&(M==null||M(ve))}if(g.current!==ue.length){g.current=ue.length;const ve=Ai(k,ue);ve.length&&(P==null||P(ve))}p.setState({userSelectionRect:J})},_=$=>{if($.button!==0)return;const{userSelectionRect:j}=p.getState();!m&&j&&$.target===h.current&&(C==null||C($)),p.setState({nodesSelectionActive:v.current>0}),b(),i==null||i($)},I=$=>{m&&(p.setState({nodesSelectionActive:v.current>0}),i==null||i($)),b()},z=y&&(e||m);return H.createElement("div",{className:wt(["react-flow__pane",{dragging:x,selection:e}]),onClick:z?void 0:Su(C,h),onContextMenu:Su(N,h),onWheel:Su(E,h),onMouseEnter:z?void 0:l,onMouseDown:z?R:void 0,onMouseMove:z?T:c,onMouseUp:z?_:void 0,onMouseLeave:z?I:u,ref:h,style:ry},f,H.createElement(l3,null))});F2.displayName="Pane";function q2(e,t){const n=e.parentNode||e.parentId;if(!n)return!1;const r=t.get(n);return r?r.selected?!0:q2(r,t):!1}function kx(e,t,n){let r=e;do{if(r!=null&&r.matches(t))return!0;if(r===n.current)return!1;r=r.parentElement}while(r);return!1}function d3(e,t,n,r){return Array.from(e.values()).filter(i=>(i.selected||i.id===r)&&(!i.parentNode||i.parentId||!q2(i,e))&&(i.draggable||t&&typeof i.draggable>"u")).map(i=>{var o,a;return{id:i.id,position:i.position||{x:0,y:0},positionAbsolute:i.positionAbsolute||{x:0,y:0},distance:{x:n.x-(((o=i.positionAbsolute)==null?void 0:o.x)??0),y:n.y-(((a=i.positionAbsolute)==null?void 0:a.y)??0)},delta:{x:0,y:0},extent:i.extent,parentNode:i.parentNode||i.parentId,parentId:i.parentNode||i.parentId,width:i.width,height:i.height,expandParent:i.expandParent}})}function f3(e,t){return!t||t==="parent"?t:[t[0],[t[1][0]-(e.width||0),t[1][1]-(e.height||0)]]}function D2(e,t,n,r,i=[0,0],o){const a=f3(e,e.extent||r);let s=a;const l=e.parentNode||e.parentId;if(e.extent==="parent"&&!e.expandParent)if(l&&e.width&&e.height){const f=n.get(l),{x:h,y:p}=Fi(f,i).positionAbsolute;s=f&&Yt(h)&&Yt(p)&&Yt(f.width)&&Yt(f.height)?[[h+e.width*i[0],p+e.height*i[1]],[h+f.width-e.width+e.width*i[0],p+f.height-e.height+e.height*i[1]]]:s}else o==null||o("005",Hn.error005()),s=a;else if(e.extent&&l&&e.extent!=="parent"){const f=n.get(l),{x:h,y:p}=Fi(f,i).positionAbsolute;s=[[e.extent[0][0]+h,e.extent[0][1]+p],[e.extent[1][0]+h,e.extent[1][1]+p]]}let c={x:0,y:0};if(l){const f=n.get(l);c=Fi(f,i).positionAbsolute}const u=s&&s!=="parent"?Gv(t,s):t;return{position:{x:u.x-c.x,y:u.y-c.y},positionAbsolute:u}}function _u({nodeId:e,dragItems:t,nodeInternals:n}){const r=t.map(i=>({...n.get(i.id),position:i.position,positionAbsolute:i.positionAbsolute}));return[e?r.find(i=>i.id===e):r[0],r]}const Cx=(e,t,n,r)=>{const i=t.querySelectorAll(e);if(!i||!i.length)return null;const o=Array.from(i),a=t.getBoundingClientRect(),s={x:a.width*r[0],y:a.height*r[1]};return o.map(l=>{const c=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),position:l.getAttribute("data-handlepos"),x:(c.left-a.left-s.x)/n,y:(c.top-a.top-s.y)/n,...Vv(l)}})};function _o(e,t,n){return n===void 0?n:r=>{const i=t().nodeInternals.get(e);i&&n(r,{...i})}}function $m({id:e,store:t,unselect:n=!1,nodeRef:r}){const{addSelectedNodes:i,unselectNodesAndEdges:o,multiSelectionActive:a,nodeInternals:s,onError:l}=t.getState(),c=s.get(e);if(!c){l==null||l("012",Hn.error012(e));return}t.setState({nodesSelectionActive:!1}),c.selected?(n||c.selected&&a)&&(o({nodes:[c],edges:[]}),requestAnimationFrame(()=>{var u;return(u=r==null?void 0:r.current)==null?void 0:u.blur()})):i([e])}function h3(){const e=Qe();return w.useCallback(({sourceEvent:n})=>{const{transform:r,snapGrid:i,snapToGrid:o}=e.getState(),a=n.touches?n.touches[0].clientX:n.clientX,s=n.touches?n.touches[0].clientY:n.clientY,l={x:(a-r[0])/r[2],y:(s-r[1])/r[2]};return{xSnapped:o?i[0]*Math.round(l.x/i[0]):l.x,ySnapped:o?i[1]*Math.round(l.y/i[1]):l.y,...l}},[])}function Eu(e){return(t,n,r)=>e==null?void 0:e(t,r)}function B2({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:i,isSelectable:o,selectNodesOnDrag:a}){const s=Qe(),[l,c]=w.useState(!1),u=w.useRef([]),f=w.useRef({x:null,y:null}),h=w.useRef(0),p=w.useRef(null),v=w.useRef({x:0,y:0}),g=w.useRef(null),S=w.useRef(!1),m=w.useRef(!1),y=w.useRef(!1),x=h3();return w.useEffect(()=>{if(e!=null&&e.current){const b=cn(e.current),C=({x:R,y:T})=>{const{nodeInternals:_,onNodeDrag:I,onSelectionDrag:z,updateNodePositions:$,nodeExtent:j,snapGrid:F,snapToGrid:k,nodeOrigin:L,onError:M}=s.getState();f.current={x:R,y:T};let P=!1,A={x:0,y:0,x2:0,y2:0};if(u.current.length>1&&j){const D=Jv(u.current,L);A=Kv(D)}if(u.current=u.current.map(D=>{const W={x:R-D.distance.x,y:T-D.distance.y};k&&(W.x=F[0]*Math.round(W.x/F[0]),W.y=F[1]*Math.round(W.y/F[1]));const V=[[j[0][0],j[0][1]],[j[1][0],j[1][1]]];u.current.length>1&&j&&!D.extent&&(V[0][0]=D.positionAbsolute.x-A.x+j[0][0],V[1][0]=D.positionAbsolute.x+(D.width??0)-A.x2+j[1][0],V[0][1]=D.positionAbsolute.y-A.y+j[0][1],V[1][1]=D.positionAbsolute.y+(D.height??0)-A.y2+j[1][1]);const J=D2(D,W,_,V,L,M);return P=P||D.position.x!==J.position.x||D.position.y!==J.position.y,D.position=J.position,D.positionAbsolute=J.positionAbsolute,D}),!P)return;$(u.current,!0,!0),c(!0);const q=i?I:Eu(z);if(q&&g.current){const[D,W]=_u({nodeId:i,dragItems:u.current,nodeInternals:_});q(g.current,D,W)}},N=()=>{if(!p.current)return;const[R,T]=u2(v.current,p.current);if(R!==0||T!==0){const{transform:_,panBy:I}=s.getState();f.current.x=(f.current.x??0)-R/_[2],f.current.y=(f.current.y??0)-T/_[2],I({x:R,y:T})&&C(f.current)}h.current=requestAnimationFrame(N)},E=R=>{var L;const{nodeInternals:T,multiSelectionActive:_,nodesDraggable:I,unselectNodesAndEdges:z,onNodeDragStart:$,onSelectionDragStart:j}=s.getState();m.current=!0;const F=i?$:Eu(j);(!a||!o)&&!_&&i&&((L=T.get(i))!=null&&L.selected||z()),i&&o&&a&&$m({id:i,store:s,nodeRef:e});const k=x(R);if(f.current=k,u.current=d3(T,I,k,i),F&&u.current){const[M,P]=_u({nodeId:i,dragItems:u.current,nodeInternals:T});F(R.sourceEvent,M,P)}};if(t)b.on(".drag",null);else{const R=SP().on("start",T=>{const{domNode:_,nodeDragThreshold:I}=s.getState();I===0&&E(T),y.current=!1;const z=x(T);f.current=z,p.current=(_==null?void 0:_.getBoundingClientRect())||null,v.current=br(T.sourceEvent,p.current)}).on("drag",T=>{var $,j;const _=x(T),{autoPanOnNodeDrag:I,nodeDragThreshold:z}=s.getState();if(T.sourceEvent.type==="touchmove"&&T.sourceEvent.touches.length>1&&(y.current=!0),!y.current){if(!S.current&&m.current&&I&&(S.current=!0,N()),!m.current){const F=_.xSnapped-((($=f==null?void 0:f.current)==null?void 0:$.x)??0),k=_.ySnapped-(((j=f==null?void 0:f.current)==null?void 0:j.y)??0);Math.sqrt(F*F+k*k)>z&&E(T)}(f.current.x!==_.xSnapped||f.current.y!==_.ySnapped)&&u.current&&m.current&&(g.current=T.sourceEvent,v.current=br(T.sourceEvent,p.current),C(_))}}).on("end",T=>{if(!(!m.current||y.current)&&(c(!1),S.current=!1,m.current=!1,cancelAnimationFrame(h.current),u.current)){const{updateNodePositions:_,nodeInternals:I,onNodeDragStop:z,onSelectionDragStop:$}=s.getState(),j=i?z:Eu($);if(_(u.current,!1,!1),j){const[F,k]=_u({nodeId:i,dragItems:u.current,nodeInternals:I});j(T.sourceEvent,F,k)}}}).filter(T=>{const _=T.target;return!T.button&&(!n||!kx(_,`.${n}`,e))&&(!r||kx(_,r,e))});return b.call(R),()=>{b.on(".drag",null)}}}},[e,t,n,r,o,s,i,a,x]),l}function H2(){const e=Qe();return w.useCallback(n=>{const{nodeInternals:r,nodeExtent:i,updateNodePositions:o,getNodes:a,snapToGrid:s,snapGrid:l,onError:c,nodesDraggable:u}=e.getState(),f=a().filter(y=>y.selected&&(y.draggable||u&&typeof y.draggable>"u")),h=s?l[0]:5,p=s?l[1]:5,v=n.isShiftPressed?4:1,g=n.x*h*v,S=n.y*p*v,m=f.map(y=>{if(y.positionAbsolute){const x={x:y.positionAbsolute.x+g,y:y.positionAbsolute.y+S};s&&(x.x=l[0]*Math.round(x.x/l[0]),x.y=l[1]*Math.round(x.y/l[1]));const{positionAbsolute:b,position:C}=D2(y,x,r,i,void 0,c);y.position=C,y.positionAbsolute=b}return y});o(m,!0,!1)},[])}const qi={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var Eo=e=>{const t=({id:n,type:r,data:i,xPos:o,yPos:a,xPosOrigin:s,yPosOrigin:l,selected:c,onClick:u,onMouseEnter:f,onMouseMove:h,onMouseLeave:p,onContextMenu:v,onDoubleClick:g,style:S,className:m,isDraggable:y,isSelectable:x,isConnectable:b,isFocusable:C,selectNodesOnDrag:N,sourcePosition:E,targetPosition:R,hidden:T,resizeObserver:_,dragHandle:I,zIndex:z,isParent:$,noDragClassName:j,noPanClassName:F,initialized:k,disableKeyboardA11y:L,ariaLabel:M,rfId:P,hasHandleBounds:A})=>{const q=Qe(),D=w.useRef(null),W=w.useRef(null),V=w.useRef(E),J=w.useRef(R),te=w.useRef(r),se=x||y||u||f||h||p,ue=H2(),ge=_o(n,q.getState,f),ve=_o(n,q.getState,h),Ke=_o(n,q.getState,p),Ue=_o(n,q.getState,v),dt=_o(n,q.getState,g),it=re=>{const{nodeDragThreshold:Q}=q.getState();if(x&&(!N||!y||Q>0)&&$m({id:n,store:q,nodeRef:D}),u){const Re=q.getState().nodeInternals.get(n);Re&&u(re,{...Re})}},oe=re=>{if(!Im(re)&&!L)if(f2.includes(re.key)&&x){const Q=re.key==="Escape";$m({id:n,store:q,unselect:Q,nodeRef:D})}else y&&c&&Object.prototype.hasOwnProperty.call(qi,re.key)&&(q.setState({ariaLiveMessage:`Moved selected node ${re.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~o}, y: ${~~a}`}),ue({x:qi[re.key].x,y:qi[re.key].y,isShiftPressed:re.shiftKey}))};w.useEffect(()=>()=>{W.current&&(_==null||_.unobserve(W.current),W.current=null)},[]),w.useEffect(()=>{if(D.current&&!T){const re=D.current;(!k||!A||W.current!==re)&&(W.current&&(_==null||_.unobserve(W.current)),_==null||_.observe(re),W.current=re)}},[T,k,A]),w.useEffect(()=>{const re=te.current!==r,Q=V.current!==E,Re=J.current!==R;D.current&&(re||Q||Re)&&(re&&(te.current=r),Q&&(V.current=E),Re&&(J.current=R),q.getState().updateNodeDimensions([{id:n,nodeElement:D.current,forceUpdate:!0}]))},[n,r,E,R]);const Ze=B2({nodeRef:D,disabled:T||!y,noDragClassName:j,handleSelector:I,nodeId:n,isSelectable:x,selectNodesOnDrag:N});return T?null:H.createElement("div",{className:wt(["react-flow__node",`react-flow__node-${r}`,{[F]:y},m,{selected:c,selectable:x,parent:$,dragging:Ze}]),ref:D,style:{zIndex:z,transform:`translate(${s}px,${l}px)`,pointerEvents:se?"all":"none",visibility:k?"visible":"hidden",...S},"data-id":n,"data-testid":`rf__node-${n}`,onMouseEnter:ge,onMouseMove:ve,onMouseLeave:Ke,onContextMenu:Ue,onClick:it,onDoubleClick:dt,onKeyDown:C?oe:void 0,tabIndex:C?0:void 0,role:C?"button":void 0,"aria-describedby":L?void 0:`${T2}-${P}`,"aria-label":M},H.createElement(jL,{value:n},H.createElement(e,{id:n,data:i,type:r,xPos:o,yPos:a,selected:c,isConnectable:b,sourcePosition:E,targetPosition:R,dragging:Ze,dragHandle:I,zIndex:z})))};return t.displayName="NodeWrapper",w.memo(t)};const p3=e=>{const t=e.getNodes().filter(n=>n.selected);return{...Jv(t,e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive}};function g3({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const r=Qe(),{width:i,height:o,x:a,y:s,transformString:l,userSelectionActive:c}=ze(p3,ut),u=H2(),f=w.useRef(null);if(w.useEffect(()=>{var v;n||(v=f.current)==null||v.focus({preventScroll:!0})},[n]),B2({nodeRef:f}),c||!i||!o)return null;const h=e?v=>{const g=r.getState().getNodes().filter(S=>S.selected);e(v,g)}:void 0,p=v=>{Object.prototype.hasOwnProperty.call(qi,v.key)&&u({x:qi[v.key].x,y:qi[v.key].y,isShiftPressed:v.shiftKey})};return H.createElement("div",{className:wt(["react-flow__nodesselection","react-flow__container",t]),style:{transform:l}},H.createElement("div",{ref:f,className:"react-flow__nodesselection-rect",onContextMenu:h,tabIndex:n?void 0:-1,onKeyDown:n?void 0:p,style:{width:i,height:o,top:s,left:a}}))}var m3=w.memo(g3);const v3=e=>e.nodesSelectionActive,W2=({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:a,deleteKeyCode:s,onMove:l,onMoveStart:c,onMoveEnd:u,selectionKeyCode:f,selectionOnDrag:h,selectionMode:p,onSelectionStart:v,onSelectionEnd:g,multiSelectionKeyCode:S,panActivationKeyCode:m,zoomActivationKeyCode:y,elementsSelectable:x,zoomOnScroll:b,zoomOnPinch:C,panOnScroll:N,panOnScrollSpeed:E,panOnScrollMode:R,zoomOnDoubleClick:T,panOnDrag:_,defaultViewport:I,translateExtent:z,minZoom:$,maxZoom:j,preventScrolling:F,onSelectionContextMenu:k,noWheelClassName:L,noPanClassName:M,disableKeyboardA11y:P})=>{const A=ze(v3),q=Ea(f),D=Ea(m),W=D||_,V=D||N,J=q||h&&W!==!0;return n3({deleteKeyCode:s,multiSelectionKeyCode:S}),H.createElement(a3,{onMove:l,onMoveStart:c,onMoveEnd:u,onPaneContextMenu:o,elementsSelectable:x,zoomOnScroll:b,zoomOnPinch:C,panOnScroll:V,panOnScrollSpeed:E,panOnScrollMode:R,zoomOnDoubleClick:T,panOnDrag:!q&&W,defaultViewport:I,translateExtent:z,minZoom:$,maxZoom:j,zoomActivationKeyCode:y,preventScrolling:F,noWheelClassName:L,noPanClassName:M},H.createElement(F2,{onSelectionStart:v,onSelectionEnd:g,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:a,panOnDrag:W,isSelecting:!!J,selectionMode:p},e,A&&H.createElement(m3,{onSelectionContextMenu:k,noPanClassName:M,disableKeyboardA11y:P})))};W2.displayName="FlowRenderer";var y3=w.memo(W2);function x3(e){return ze(w.useCallback(n=>e?x2(n.nodeInternals,{x:0,y:0,width:n.width,height:n.height},n.transform,!0):n.getNodes(),[e]))}function w3(e){const t={input:Eo(e.input||R2),default:Eo(e.default||Lm),output:Eo(e.output||A2),group:Eo(e.group||ty)},n={},r=Object.keys(e).filter(i=>!["input","default","output","group"].includes(i)).reduce((i,o)=>(i[o]=Eo(e[o]||Lm),i),n);return{...t,...r}}const b3=({x:e,y:t,width:n,height:r,origin:i})=>!n||!r?{x:e,y:t}:i[0]<0||i[1]<0||i[0]>1||i[1]>1?{x:e,y:t}:{x:e-n*i[0],y:t-r*i[1]},S3=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),U2=e=>{const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:i,updateNodeDimensions:o,onError:a}=ze(S3,ut),s=x3(e.onlyRenderVisibleElements),l=w.useRef(),c=w.useMemo(()=>{if(typeof ResizeObserver>"u")return null;const u=new ResizeObserver(f=>{const h=f.map(p=>({id:p.target.getAttribute("data-id"),nodeElement:p.target,forceUpdate:!0}));o(h)});return l.current=u,u},[]);return w.useEffect(()=>()=>{var u;(u=l==null?void 0:l.current)==null||u.disconnect()},[]),H.createElement("div",{className:"react-flow__nodes",style:ry},s.map(u=>{var C,N,E;let f=u.type||"default";e.nodeTypes[f]||(a==null||a("003",Hn.error003(f)),f="default");const h=e.nodeTypes[f]||e.nodeTypes.default,p=!!(u.draggable||t&&typeof u.draggable>"u"),v=!!(u.selectable||i&&typeof u.selectable>"u"),g=!!(u.connectable||n&&typeof u.connectable>"u"),S=!!(u.focusable||r&&typeof u.focusable>"u"),m=e.nodeExtent?Gv(u.positionAbsolute,e.nodeExtent):u.positionAbsolute,y=(m==null?void 0:m.x)??0,x=(m==null?void 0:m.y)??0,b=b3({x:y,y:x,width:u.width??0,height:u.height??0,origin:e.nodeOrigin});return H.createElement(h,{key:u.id,id:u.id,className:u.className,style:u.style,type:f,data:u.data,sourcePosition:u.sourcePosition||Y.Bottom,targetPosition:u.targetPosition||Y.Top,hidden:u.hidden,xPos:y,yPos:x,xPosOrigin:b.x,yPosOrigin:b.y,selectNodesOnDrag:e.selectNodesOnDrag,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,selected:!!u.selected,isDraggable:p,isSelectable:v,isConnectable:g,isFocusable:S,resizeObserver:c,dragHandle:u.dragHandle,zIndex:((C=u[qe])==null?void 0:C.z)??0,isParent:!!((N=u[qe])!=null&&N.isParent),noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!u.width&&!!u.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:u.ariaLabel,hasHandleBounds:!!((E=u[qe])!=null&&E.handleBounds)})}))};U2.displayName="NodeRenderer";var _3=w.memo(U2);const E3=(e,t,n)=>n===Y.Left?e-t:n===Y.Right?e+t:e,k3=(e,t,n)=>n===Y.Top?e-t:n===Y.Bottom?e+t:e,jx="react-flow__edgeupdater",Rx=({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:i,onMouseEnter:o,onMouseOut:a,type:s})=>H.createElement("circle",{onMouseDown:i,onMouseEnter:o,onMouseOut:a,className:wt([jx,`${jx}-${s}`]),cx:E3(t,r,e),cy:k3(n,r,e),r,stroke:"transparent",fill:"transparent"}),C3=()=>!0;var pi=e=>{const t=({id:n,className:r,type:i,data:o,onClick:a,onEdgeDoubleClick:s,selected:l,animated:c,label:u,labelStyle:f,labelShowBg:h,labelBgStyle:p,labelBgPadding:v,labelBgBorderRadius:g,style:S,source:m,target:y,sourceX:x,sourceY:b,targetX:C,targetY:N,sourcePosition:E,targetPosition:R,elementsSelectable:T,hidden:_,sourceHandleId:I,targetHandleId:z,onContextMenu:$,onMouseEnter:j,onMouseMove:F,onMouseLeave:k,reconnectRadius:L,onReconnect:M,onReconnectStart:P,onReconnectEnd:A,markerEnd:q,markerStart:D,rfId:W,ariaLabel:V,isFocusable:J,isReconnectable:te,pathOptions:se,interactionWidth:ue,disableKeyboardA11y:ge})=>{const ve=w.useRef(null),[Ke,Ue]=w.useState(!1),[dt,it]=w.useState(!1),oe=Qe(),Ze=w.useMemo(()=>`url('#${Pm(D,W)}')`,[D,W]),re=w.useMemo(()=>`url('#${Pm(q,W)}')`,[q,W]);if(_)return null;const Q=Ne=>{var ht;const{edges:Je,addSelectedEdges:Ae,unselectNodesAndEdges:Be,multiSelectionActive:Ht}=oe.getState(),tn=Je.find(nn=>nn.id===n);tn&&(T&&(oe.setState({nodesSelectionActive:!1}),tn.selected&&Ht?(Be({nodes:[],edges:[tn]}),(ht=ve.current)==null||ht.blur()):Ae([n])),a&&a(Ne,tn))},Re=So(n,oe.getState,s),ft=So(n,oe.getState,$),bt=So(n,oe.getState,j),Oe=So(n,oe.getState,F),we=So(n,oe.getState,k),Se=(Ne,Je)=>{if(Ne.button!==0)return;const{edges:Ae,isValidConnection:Be}=oe.getState(),Ht=Je?y:m,tn=(Je?z:I)||null,ht=Je?"target":"source",nn=Be||C3,si=Je,It=Ae.find(pe=>pe.id===n);it(!0),P==null||P(Ne,It,ht);const Ir=pe=>{it(!1),A==null||A(pe,It,ht)};E2({event:Ne,handleId:tn,nodeId:Ht,onConnect:pe=>M==null?void 0:M(It,pe),isTarget:si,getState:oe.getState,setState:oe.setState,isValidConnection:nn,edgeUpdaterType:ht,onReconnectEnd:Ir})},ot=Ne=>Se(Ne,!0),ne=Ne=>Se(Ne,!1),Nt=()=>Ue(!0),_e=()=>Ue(!1),At=!T&&!a,Bt=Ne=>{var Je;if(!ge&&f2.includes(Ne.key)&&T){const{unselectNodesAndEdges:Ae,addSelectedEdges:Be,edges:Ht}=oe.getState();Ne.key==="Escape"?((Je=ve.current)==null||Je.blur(),Ae({edges:[Ht.find(ht=>ht.id===n)]})):Be([n])}};return H.createElement("g",{className:wt(["react-flow__edge",`react-flow__edge-${i}`,r,{selected:l,animated:c,inactive:At,updating:Ke}]),onClick:Q,onDoubleClick:Re,onContextMenu:ft,onMouseEnter:bt,onMouseMove:Oe,onMouseLeave:we,onKeyDown:J?Bt:void 0,tabIndex:J?0:void 0,role:J?"button":"img","data-testid":`rf__edge-${n}`,"aria-label":V===null?void 0:V||`Edge from ${m} to ${y}`,"aria-describedby":J?`${P2}-${W}`:void 0,ref:ve},!dt&&H.createElement(e,{id:n,source:m,target:y,selected:l,animated:c,label:u,labelStyle:f,labelShowBg:h,labelBgStyle:p,labelBgPadding:v,labelBgBorderRadius:g,data:o,style:S,sourceX:x,sourceY:b,targetX:C,targetY:N,sourcePosition:E,targetPosition:R,sourceHandleId:I,targetHandleId:z,markerStart:Ze,markerEnd:re,pathOptions:se,interactionWidth:ue}),te&&H.createElement(H.Fragment,null,(te==="source"||te===!0)&&H.createElement(Rx,{position:E,centerX:x,centerY:b,radius:L,onMouseDown:ot,onMouseEnter:Nt,onMouseOut:_e,type:"source"}),(te==="target"||te===!0)&&H.createElement(Rx,{position:R,centerX:C,centerY:N,radius:L,onMouseDown:ne,onMouseEnter:Nt,onMouseOut:_e,type:"target"})))};return t.displayName="EdgeWrapper",w.memo(t)};function j3(e){const t={default:pi(e.default||Al),straight:pi(e.bezier||Qv),step:pi(e.step||Xv),smoothstep:pi(e.step||sc),simplebezier:pi(e.simplebezier||Yv)},n={},r=Object.keys(e).filter(i=>!["default","bezier"].includes(i)).reduce((i,o)=>(i[o]=pi(e[o]||Al),i),n);return{...t,...r}}function Nx(e,t,n=null){const r=((n==null?void 0:n.x)||0)+t.x,i=((n==null?void 0:n.y)||0)+t.y,o=(n==null?void 0:n.width)||t.width,a=(n==null?void 0:n.height)||t.height;switch(e){case Y.Top:return{x:r+o/2,y:i};case Y.Right:return{x:r+o,y:i+a/2};case Y.Bottom:return{x:r+o/2,y:i+a};case Y.Left:return{x:r,y:i+a/2}}}function Ax(e,t){return e?e.length===1||!t?e[0]:t&&e.find(n=>n.id===t)||null:null}const R3=(e,t,n,r,i,o)=>{const a=Nx(n,e,t),s=Nx(o,r,i);return{sourceX:a.x,sourceY:a.y,targetX:s.x,targetY:s.y}};function N3({sourcePos:e,targetPos:t,sourceWidth:n,sourceHeight:r,targetWidth:i,targetHeight:o,width:a,height:s,transform:l}){const c={x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x+n,t.x+i),y2:Math.max(e.y+r,t.y+o)};c.x===c.x2&&(c.x2+=1),c.y===c.y2&&(c.y2+=1);const u=Kv({x:(0-l[0])/l[2],y:(0-l[1])/l[2],width:a/l[2],height:s/l[2]}),f=Math.max(0,Math.min(u.x2,c.x2)-Math.max(u.x,c.x)),h=Math.max(0,Math.min(u.y2,c.y2)-Math.max(u.y,c.y));return Math.ceil(f*h)>0}function Ix(e){var r,i,o,a,s;const t=((r=e==null?void 0:e[qe])==null?void 0:r.handleBounds)||null,n=t&&(e==null?void 0:e.width)&&(e==null?void 0:e.height)&&typeof((i=e==null?void 0:e.positionAbsolute)==null?void 0:i.x)<"u"&&typeof((o=e==null?void 0:e.positionAbsolute)==null?void 0:o.y)<"u";return[{x:((a=e==null?void 0:e.positionAbsolute)==null?void 0:a.x)||0,y:((s=e==null?void 0:e.positionAbsolute)==null?void 0:s.y)||0,width:(e==null?void 0:e.width)||0,height:(e==null?void 0:e.height)||0},t,!!n]}const A3=[{level:0,isMaxLevel:!0,edges:[]}];function I3(e,t,n=!1){let r=-1;const i=e.reduce((a,s)=>{var u,f;const l=Yt(s.zIndex);let c=l?s.zIndex:0;if(n){const h=t.get(s.target),p=t.get(s.source),v=s.selected||(h==null?void 0:h.selected)||(p==null?void 0:p.selected),g=Math.max(((u=p==null?void 0:p[qe])==null?void 0:u.z)||0,((f=h==null?void 0:h[qe])==null?void 0:f.z)||0,1e3);c=(l?s.zIndex:0)+(v?g:0)}return a[c]?a[c].push(s):a[c]=[s],r=c>r?c:r,a},{}),o=Object.entries(i).map(([a,s])=>{const l=+a;return{edges:s,level:l,isMaxLevel:l===r}});return o.length===0?A3:o}function T3(e,t,n){const r=ze(w.useCallback(i=>e?i.edges.filter(o=>{const a=t.get(o.source),s=t.get(o.target);return(a==null?void 0:a.width)&&(a==null?void 0:a.height)&&(s==null?void 0:s.width)&&(s==null?void 0:s.height)&&N3({sourcePos:a.positionAbsolute||{x:0,y:0},targetPos:s.positionAbsolute||{x:0,y:0},sourceWidth:a.width,sourceHeight:a.height,targetWidth:s.width,targetHeight:s.height,width:i.width,height:i.height,transform:i.transform})}):i.edges,[e,t]));return I3(r,t,n)}const P3=({color:e="none",strokeWidth:t=1})=>H.createElement("polyline",{style:{stroke:e,strokeWidth:t},strokeLinecap:"round",strokeLinejoin:"round",fill:"none",points:"-5,-4 0,0 -5,4"}),M3=({color:e="none",strokeWidth:t=1})=>H.createElement("polyline",{style:{stroke:e,fill:e,strokeWidth:t},strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"}),Tx={[Wn.Arrow]:P3,[Wn.ArrowClosed]:M3};function L3(e){const t=Qe();return w.useMemo(()=>{var i,o;return Object.prototype.hasOwnProperty.call(Tx,e)?Tx[e]:((o=(i=t.getState()).onError)==null||o.call(i,"009",Hn.error009(e)),null)},[e])}const $3=({id:e,type:t,color:n,width:r=12.5,height:i=12.5,markerUnits:o="strokeWidth",strokeWidth:a,orient:s="auto-start-reverse"})=>{const l=L3(t);return l?H.createElement("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${r}`,markerHeight:`${i}`,viewBox:"-10 -10 20 20",markerUnits:o,orient:s,refX:"0",refY:"0"},H.createElement(l,{color:n,strokeWidth:a})):null},z3=({defaultColor:e,rfId:t})=>n=>{const r=[];return n.edges.reduce((i,o)=>([o.markerStart,o.markerEnd].forEach(a=>{if(a&&typeof a=="object"){const s=Pm(a,t);r.includes(s)||(i.push({id:s,color:a.color||e,...a}),r.push(s))}}),i),[]).sort((i,o)=>i.id.localeCompare(o.id))},V2=({defaultColor:e,rfId:t})=>{const n=ze(w.useCallback(z3({defaultColor:e,rfId:t}),[e,t]),(r,i)=>!(r.length!==i.length||r.some((o,a)=>o.id!==i[a].id)));return H.createElement("defs",null,n.map(r=>H.createElement($3,{id:r.id,key:r.id,type:r.type,color:r.color,width:r.width,height:r.height,markerUnits:r.markerUnits,strokeWidth:r.strokeWidth,orient:r.orient})))};V2.displayName="MarkerDefinitions";var O3=w.memo(V2);const F3=e=>({nodesConnectable:e.nodesConnectable,edgesFocusable:e.edgesFocusable,edgesUpdatable:e.edgesUpdatable,elementsSelectable:e.elementsSelectable,width:e.width,height:e.height,connectionMode:e.connectionMode,nodeInternals:e.nodeInternals,onError:e.onError}),G2=({defaultMarkerColor:e,onlyRenderVisibleElements:t,elevateEdgesOnSelect:n,rfId:r,edgeTypes:i,noPanClassName:o,onEdgeContextMenu:a,onEdgeMouseEnter:s,onEdgeMouseMove:l,onEdgeMouseLeave:c,onEdgeClick:u,onEdgeDoubleClick:f,onReconnect:h,onReconnectStart:p,onReconnectEnd:v,reconnectRadius:g,children:S,disableKeyboardA11y:m})=>{const{edgesFocusable:y,edgesUpdatable:x,elementsSelectable:b,width:C,height:N,connectionMode:E,nodeInternals:R,onError:T}=ze(F3,ut),_=T3(t,R,n);return C?H.createElement(H.Fragment,null,_.map(({level:I,edges:z,isMaxLevel:$})=>H.createElement("svg",{key:I,style:{zIndex:I},width:C,height:N,className:"react-flow__edges react-flow__container"},$&&H.createElement(O3,{defaultColor:e,rfId:r}),H.createElement("g",null,z.map(j=>{const[F,k,L]=Ix(R.get(j.source)),[M,P,A]=Ix(R.get(j.target));if(!L||!A)return null;let q=j.type||"default";i[q]||(T==null||T("011",Hn.error011(q)),q="default");const D=i[q]||i.default,W=E===Zr.Strict?P.target:(P.target??[]).concat(P.source??[]),V=Ax(k.source,j.sourceHandle),J=Ax(W,j.targetHandle),te=(V==null?void 0:V.position)||Y.Bottom,se=(J==null?void 0:J.position)||Y.Top,ue=!!(j.focusable||y&&typeof j.focusable>"u"),ge=j.reconnectable||j.updatable,ve=typeof h<"u"&&(ge||x&&typeof ge>"u");if(!V||!J)return T==null||T("008",Hn.error008(V,j)),null;const{sourceX:Ke,sourceY:Ue,targetX:dt,targetY:it}=R3(F,V,te,M,J,se);return H.createElement(D,{key:j.id,id:j.id,className:wt([j.className,o]),type:q,data:j.data,selected:!!j.selected,animated:!!j.animated,hidden:!!j.hidden,label:j.label,labelStyle:j.labelStyle,labelShowBg:j.labelShowBg,labelBgStyle:j.labelBgStyle,labelBgPadding:j.labelBgPadding,labelBgBorderRadius:j.labelBgBorderRadius,style:j.style,source:j.source,target:j.target,sourceHandleId:j.sourceHandle,targetHandleId:j.targetHandle,markerEnd:j.markerEnd,markerStart:j.markerStart,sourceX:Ke,sourceY:Ue,targetX:dt,targetY:it,sourcePosition:te,targetPosition:se,elementsSelectable:b,onContextMenu:a,onMouseEnter:s,onMouseMove:l,onMouseLeave:c,onClick:u,onEdgeDoubleClick:f,onReconnect:h,onReconnectStart:p,onReconnectEnd:v,reconnectRadius:g,rfId:r,ariaLabel:j.ariaLabel,isFocusable:ue,isReconnectable:ve,pathOptions:"pathOptions"in j?j.pathOptions:void 0,interactionWidth:j.interactionWidth,disableKeyboardA11y:m})})))),S):null};G2.displayName="EdgeRenderer";var q3=w.memo(G2);const D3=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function B3({children:e}){const t=ze(D3);return H.createElement("div",{className:"react-flow__viewport react-flow__container",style:{transform:t}},e)}function H3(e){const t=ny(),n=w.useRef(!1);w.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const W3={[Y.Left]:Y.Right,[Y.Right]:Y.Left,[Y.Top]:Y.Bottom,[Y.Bottom]:Y.Top},K2=({nodeId:e,handleType:t,style:n,type:r=lr.Bezier,CustomComponent:i,connectionStatus:o})=>{var N,E,R;const{fromNode:a,handleId:s,toX:l,toY:c,connectionMode:u}=ze(w.useCallback(T=>({fromNode:T.nodeInternals.get(e),handleId:T.connectionHandleId,toX:(T.connectionPosition.x-T.transform[0])/T.transform[2],toY:(T.connectionPosition.y-T.transform[1])/T.transform[2],connectionMode:T.connectionMode}),[e]),ut),f=(N=a==null?void 0:a[qe])==null?void 0:N.handleBounds;let h=f==null?void 0:f[t];if(u===Zr.Loose&&(h=h||(f==null?void 0:f[t==="source"?"target":"source"])),!a||!h)return null;const p=s?h.find(T=>T.id===s):h[0],v=p?p.x+p.width/2:(a.width??0)/2,g=p?p.y+p.height/2:a.height??0,S=(((E=a.positionAbsolute)==null?void 0:E.x)??0)+v,m=(((R=a.positionAbsolute)==null?void 0:R.y)??0)+g,y=p==null?void 0:p.position,x=y?W3[y]:null;if(!y||!x)return null;if(i)return H.createElement(i,{connectionLineType:r,connectionLineStyle:n,fromNode:a,fromHandle:p,fromX:S,fromY:m,toX:l,toY:c,fromPosition:y,toPosition:x,connectionStatus:o});let b="";const C={sourceX:S,sourceY:m,sourcePosition:y,targetX:l,targetY:c,targetPosition:x};return r===lr.Bezier?[b]=v2(C):r===lr.Step?[b]=Tm({...C,borderRadius:0}):r===lr.SmoothStep?[b]=Tm(C):r===lr.SimpleBezier?[b]=m2(C):b=`M${S},${m} ${l},${c}`,H.createElement("path",{d:b,fill:"none",className:"react-flow__connection-path",style:n})};K2.displayName="ConnectionLine";const U3=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function V3({containerStyle:e,style:t,type:n,component:r}){const{nodeId:i,handleType:o,nodesConnectable:a,width:s,height:l,connectionStatus:c}=ze(U3,ut);return!(i&&o&&s&&a)?null:H.createElement("svg",{style:e,width:s,height:l,className:"react-flow__edges react-flow__connectionline react-flow__container"},H.createElement("g",{className:wt(["react-flow__connection",c])},H.createElement(K2,{nodeId:i,handleType:o,style:t,type:n,CustomComponent:r,connectionStatus:c})))}function Px(e,t){return w.useRef(null),Qe(),w.useMemo(()=>t(e),[e])}const Y2=({nodeTypes:e,edgeTypes:t,onMove:n,onMoveStart:r,onMoveEnd:i,onInit:o,onNodeClick:a,onEdgeClick:s,onNodeDoubleClick:l,onEdgeDoubleClick:c,onNodeMouseEnter:u,onNodeMouseMove:f,onNodeMouseLeave:h,onNodeContextMenu:p,onSelectionContextMenu:v,onSelectionStart:g,onSelectionEnd:S,connectionLineType:m,connectionLineStyle:y,connectionLineComponent:x,connectionLineContainerStyle:b,selectionKeyCode:C,selectionOnDrag:N,selectionMode:E,multiSelectionKeyCode:R,panActivationKeyCode:T,zoomActivationKeyCode:_,deleteKeyCode:I,onlyRenderVisibleElements:z,elementsSelectable:$,selectNodesOnDrag:j,defaultViewport:F,translateExtent:k,minZoom:L,maxZoom:M,preventScrolling:P,defaultMarkerColor:A,zoomOnScroll:q,zoomOnPinch:D,panOnScroll:W,panOnScrollSpeed:V,panOnScrollMode:J,zoomOnDoubleClick:te,panOnDrag:se,onPaneClick:ue,onPaneMouseEnter:ge,onPaneMouseMove:ve,onPaneMouseLeave:Ke,onPaneScroll:Ue,onPaneContextMenu:dt,onEdgeContextMenu:it,onEdgeMouseEnter:oe,onEdgeMouseMove:Ze,onEdgeMouseLeave:re,onReconnect:Q,onReconnectStart:Re,onReconnectEnd:ft,reconnectRadius:bt,noDragClassName:Oe,noWheelClassName:we,noPanClassName:Se,elevateEdgesOnSelect:ot,disableKeyboardA11y:ne,nodeOrigin:Nt,nodeExtent:_e,rfId:At})=>{const Bt=Px(e,w3),Ne=Px(t,j3);return H3(o),H.createElement(y3,{onPaneClick:ue,onPaneMouseEnter:ge,onPaneMouseMove:ve,onPaneMouseLeave:Ke,onPaneContextMenu:dt,onPaneScroll:Ue,deleteKeyCode:I,selectionKeyCode:C,selectionOnDrag:N,selectionMode:E,onSelectionStart:g,onSelectionEnd:S,multiSelectionKeyCode:R,panActivationKeyCode:T,zoomActivationKeyCode:_,elementsSelectable:$,onMove:n,onMoveStart:r,onMoveEnd:i,zoomOnScroll:q,zoomOnPinch:D,zoomOnDoubleClick:te,panOnScroll:W,panOnScrollSpeed:V,panOnScrollMode:J,panOnDrag:se,defaultViewport:F,translateExtent:k,minZoom:L,maxZoom:M,onSelectionContextMenu:v,preventScrolling:P,noDragClassName:Oe,noWheelClassName:we,noPanClassName:Se,disableKeyboardA11y:ne},H.createElement(B3,null,H.createElement(q3,{edgeTypes:Ne,onEdgeClick:s,onEdgeDoubleClick:c,onlyRenderVisibleElements:z,onEdgeContextMenu:it,onEdgeMouseEnter:oe,onEdgeMouseMove:Ze,onEdgeMouseLeave:re,onReconnect:Q,onReconnectStart:Re,onReconnectEnd:ft,reconnectRadius:bt,defaultMarkerColor:A,noPanClassName:Se,elevateEdgesOnSelect:!!ot,disableKeyboardA11y:ne,rfId:At},H.createElement(V3,{style:y,type:m,component:x,containerStyle:b})),H.createElement("div",{className:"react-flow__edgelabel-renderer"}),H.createElement(_3,{nodeTypes:Bt,onNodeClick:a,onNodeDoubleClick:l,onNodeMouseEnter:u,onNodeMouseMove:f,onNodeMouseLeave:h,onNodeContextMenu:p,selectNodesOnDrag:j,onlyRenderVisibleElements:z,noPanClassName:Se,noDragClassName:Oe,disableKeyboardA11y:ne,nodeOrigin:Nt,nodeExtent:_e,rfId:At})))};Y2.displayName="GraphView";var G3=w.memo(Y2);const zm=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Zn={rfId:"1",width:0,height:0,transform:[0,0,1],nodeInternals:new Map,edges:[],onNodesChange:null,onEdgesChange:null,hasDefaultNodes:!1,hasDefaultEdges:!1,d3Zoom:null,d3Selection:null,d3ZoomHandler:void 0,minZoom:.5,maxZoom:2,translateExtent:zm,nodeExtent:zm,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:Zr.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],nodeDragThreshold:0,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesUpdatable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,fitViewOnInit:!1,fitViewOnInitDone:!1,fitViewOnInitOptions:void 0,onSelectionChange:[],multiSelectionActive:!1,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:bL,isValidConnection:void 0},K3=()=>MI((e,t)=>({...Zn,setNodes:n=>{const{nodeInternals:r,nodeOrigin:i,elevateNodesOnSelect:o}=t();e({nodeInternals:bu(n,r,i,o)})},getNodes:()=>Array.from(t().nodeInternals.values()),setEdges:n=>{const{defaultEdgeOptions:r={}}=t();e({edges:n.map(i=>({...r,...i}))})},setDefaultNodesAndEdges:(n,r)=>{const i=typeof n<"u",o=typeof r<"u",a=i?bu(n,new Map,t().nodeOrigin,t().elevateNodesOnSelect):new Map;e({nodeInternals:a,edges:o?r:[],hasDefaultNodes:i,hasDefaultEdges:o})},updateNodeDimensions:n=>{const{onNodesChange:r,nodeInternals:i,fitViewOnInit:o,fitViewOnInitDone:a,fitViewOnInitOptions:s,domNode:l,nodeOrigin:c}=t(),u=l==null?void 0:l.querySelector(".react-flow__viewport");if(!u)return;const f=window.getComputedStyle(u),{m22:h}=new window.DOMMatrixReadOnly(f.transform),p=n.reduce((g,S)=>{const m=i.get(S.id);if(m!=null&&m.hidden)i.set(m.id,{...m,[qe]:{...m[qe],handleBounds:void 0}});else if(m){const y=Vv(S.nodeElement);!!(y.width&&y.height&&(m.width!==y.width||m.height!==y.height||S.forceUpdate))&&(i.set(m.id,{...m,[qe]:{...m[qe],handleBounds:{source:Cx(".source",S.nodeElement,h,c),target:Cx(".target",S.nodeElement,h,c)}},...y}),g.push({id:m.id,type:"dimensions",dimensions:y}))}return g},[]);L2(i,c);const v=a||o&&!a&&$2(t,{initial:!0,...s});e({nodeInternals:new Map(i),fitViewOnInitDone:v}),(p==null?void 0:p.length)>0&&(r==null||r(p))},updateNodePositions:(n,r=!0,i=!1)=>{const{triggerNodeChanges:o}=t(),a=n.map(s=>{const l={id:s.id,type:"position",dragging:i};return r&&(l.positionAbsolute=s.positionAbsolute,l.position=s.position),l});o(a)},triggerNodeChanges:n=>{const{onNodesChange:r,nodeInternals:i,hasDefaultNodes:o,nodeOrigin:a,getNodes:s,elevateNodesOnSelect:l}=t();if(n!=null&&n.length){if(o){const c=O2(n,s()),u=bu(c,i,a,l);e({nodeInternals:u})}r==null||r(n)}},addSelectedNodes:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let a,s=null;r?a=n.map(l=>or(l,!0)):(a=Ai(o(),n),s=Ai(i,[])),Es({changedNodes:a,changedEdges:s,get:t,set:e})},addSelectedEdges:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let a,s=null;r?a=n.map(l=>or(l,!0)):(a=Ai(i,n),s=Ai(o(),[])),Es({changedNodes:s,changedEdges:a,get:t,set:e})},unselectNodesAndEdges:({nodes:n,edges:r}={})=>{const{edges:i,getNodes:o}=t(),a=n||o(),s=r||i,l=a.map(u=>(u.selected=!1,or(u.id,!1))),c=s.map(u=>or(u.id,!1));Es({changedNodes:l,changedEdges:c,get:t,set:e})},setMinZoom:n=>{const{d3Zoom:r,maxZoom:i}=t();r==null||r.scaleExtent([n,i]),e({minZoom:n})},setMaxZoom:n=>{const{d3Zoom:r,minZoom:i}=t();r==null||r.scaleExtent([i,n]),e({maxZoom:n})},setTranslateExtent:n=>{var r;(r=t().d3Zoom)==null||r.translateExtent(n),e({translateExtent:n})},resetSelectedElements:()=>{const{edges:n,getNodes:r}=t(),o=r().filter(s=>s.selected).map(s=>or(s.id,!1)),a=n.filter(s=>s.selected).map(s=>or(s.id,!1));Es({changedNodes:o,changedEdges:a,get:t,set:e})},setNodeExtent:n=>{const{nodeInternals:r}=t();r.forEach(i=>{i.positionAbsolute=Gv(i.position,n)}),e({nodeExtent:n,nodeInternals:new Map(r)})},panBy:n=>{const{transform:r,width:i,height:o,d3Zoom:a,d3Selection:s,translateExtent:l}=t();if(!a||!s||!n.x&&!n.y)return!1;const c=wr.translate(r[0]+n.x,r[1]+n.y).scale(r[2]),u=[[0,0],[i,o]],f=a==null?void 0:a.constrain()(c,u,l);return a.transform(s,f),r[0]!==f.x||r[1]!==f.y||r[2]!==f.k},cancelConnection:()=>e({connectionNodeId:Zn.connectionNodeId,connectionHandleId:Zn.connectionHandleId,connectionHandleType:Zn.connectionHandleType,connectionStatus:Zn.connectionStatus,connectionStartHandle:Zn.connectionStartHandle,connectionEndHandle:Zn.connectionEndHandle}),reset:()=>e({...Zn})}),Object.is),X2=({children:e})=>{const t=w.useRef(null);return t.current||(t.current=K3()),H.createElement(hL,{value:t.current},e)};X2.displayName="ReactFlowProvider";const Q2=({children:e})=>w.useContext(ac)?H.createElement(H.Fragment,null,e):H.createElement(X2,null,e);Q2.displayName="ReactFlowWrapper";const Y3={input:R2,default:Lm,output:A2,group:ty},X3={default:Al,straight:Qv,step:Xv,smoothstep:sc,simplebezier:Yv},Q3=[0,0],Z3=[15,15],J3={x:0,y:0,zoom:1},e4={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},La=w.forwardRef(({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:i,nodeTypes:o=Y3,edgeTypes:a=X3,onNodeClick:s,onEdgeClick:l,onInit:c,onMove:u,onMoveStart:f,onMoveEnd:h,onConnect:p,onConnectStart:v,onConnectEnd:g,onClickConnectStart:S,onClickConnectEnd:m,onNodeMouseEnter:y,onNodeMouseMove:x,onNodeMouseLeave:b,onNodeContextMenu:C,onNodeDoubleClick:N,onNodeDragStart:E,onNodeDrag:R,onNodeDragStop:T,onNodesDelete:_,onEdgesDelete:I,onSelectionChange:z,onSelectionDragStart:$,onSelectionDrag:j,onSelectionDragStop:F,onSelectionContextMenu:k,onSelectionStart:L,onSelectionEnd:M,connectionMode:P=Zr.Strict,connectionLineType:A=lr.Bezier,connectionLineStyle:q,connectionLineComponent:D,connectionLineContainerStyle:W,deleteKeyCode:V="Backspace",selectionKeyCode:J="Shift",selectionOnDrag:te=!1,selectionMode:se=_a.Full,panActivationKeyCode:ue="Space",multiSelectionKeyCode:ge=Nl()?"Meta":"Control",zoomActivationKeyCode:ve=Nl()?"Meta":"Control",snapToGrid:Ke=!1,snapGrid:Ue=Z3,onlyRenderVisibleElements:dt=!1,selectNodesOnDrag:it=!0,nodesDraggable:oe,nodesConnectable:Ze,nodesFocusable:re,nodeOrigin:Q=Q3,edgesFocusable:Re,edgesUpdatable:ft,elementsSelectable:bt,defaultViewport:Oe=J3,minZoom:we=.5,maxZoom:Se=2,translateExtent:ot=zm,preventScrolling:ne=!0,nodeExtent:Nt,defaultMarkerColor:_e="#b1b1b7",zoomOnScroll:At=!0,zoomOnPinch:Bt=!0,panOnScroll:Ne=!1,panOnScrollSpeed:Je=.5,panOnScrollMode:Ae=Dr.Free,zoomOnDoubleClick:Be=!0,panOnDrag:Ht=!0,onPaneClick:tn,onPaneMouseEnter:ht,onPaneMouseMove:nn,onPaneMouseLeave:si,onPaneScroll:It,onPaneContextMenu:Ir,children:Da,onEdgeContextMenu:pe,onEdgeDoubleClick:pt,onEdgeMouseEnter:Yn,onEdgeMouseMove:li,onEdgeMouseLeave:Tc,onEdgeUpdate:Xn,onEdgeUpdateStart:Pc,onEdgeUpdateEnd:Mc,onReconnect:Lc,onReconnectStart:so,onReconnectEnd:$c,reconnectRadius:Ba=10,edgeUpdaterRadius:zc=10,onNodesChange:Oc,onEdgesChange:Fc,noDragClassName:qc="nodrag",noWheelClassName:Ha="nowheel",noPanClassName:lo="nopan",fitView:Wa=!1,fitViewOptions:Ua,connectOnClick:Va=!0,attributionPosition:Ga,proOptions:Ka,defaultEdgeOptions:Ya,elevateNodesOnSelect:Xa=!0,elevateEdgesOnSelect:Qa=!1,disableKeyboardA11y:co=!1,autoPanOnConnect:Za=!0,autoPanOnNodeDrag:O=!0,connectionRadius:B=20,isValidConnection:U,onError:ie,style:ee,id:ae,nodeDragThreshold:ce,...G},Ee)=>{const X=ae||"1";return H.createElement("div",{...G,style:{...ee,...e4},ref:Ee,className:wt(["react-flow",i]),"data-testid":"rf__wrapper",id:ae},H.createElement(Q2,null,H.createElement(G3,{onInit:c,onMove:u,onMoveStart:f,onMoveEnd:h,onNodeClick:s,onEdgeClick:l,onNodeMouseEnter:y,onNodeMouseMove:x,onNodeMouseLeave:b,onNodeContextMenu:C,onNodeDoubleClick:N,nodeTypes:o,edgeTypes:a,connectionLineType:A,connectionLineStyle:q,connectionLineComponent:D,connectionLineContainerStyle:W,selectionKeyCode:J,selectionOnDrag:te,selectionMode:se,deleteKeyCode:V,multiSelectionKeyCode:ge,panActivationKeyCode:ue,zoomActivationKeyCode:ve,onlyRenderVisibleElements:dt,selectNodesOnDrag:it,defaultViewport:Oe,translateExtent:ot,minZoom:we,maxZoom:Se,preventScrolling:ne,zoomOnScroll:At,zoomOnPinch:Bt,zoomOnDoubleClick:Be,panOnScroll:Ne,panOnScrollSpeed:Je,panOnScrollMode:Ae,panOnDrag:Ht,onPaneClick:tn,onPaneMouseEnter:ht,onPaneMouseMove:nn,onPaneMouseLeave:si,onPaneScroll:It,onPaneContextMenu:Ir,onSelectionContextMenu:k,onSelectionStart:L,onSelectionEnd:M,onEdgeContextMenu:pe,onEdgeDoubleClick:pt,onEdgeMouseEnter:Yn,onEdgeMouseMove:li,onEdgeMouseLeave:Tc,onReconnect:Lc??Xn,onReconnectStart:so??Pc,onReconnectEnd:$c??Mc,reconnectRadius:Ba??zc,defaultMarkerColor:_e,noDragClassName:qc,noWheelClassName:Ha,noPanClassName:lo,elevateEdgesOnSelect:Qa,rfId:X,disableKeyboardA11y:co,nodeOrigin:Q,nodeExtent:Nt}),H.createElement(WL,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:p,onConnectStart:v,onConnectEnd:g,onClickConnectStart:S,onClickConnectEnd:m,nodesDraggable:oe,nodesConnectable:Ze,nodesFocusable:re,edgesFocusable:Re,edgesUpdatable:ft,elementsSelectable:bt,elevateNodesOnSelect:Xa,minZoom:we,maxZoom:Se,nodeExtent:Nt,onNodesChange:Oc,onEdgesChange:Fc,snapToGrid:Ke,snapGrid:Ue,connectionMode:P,translateExtent:ot,connectOnClick:Va,defaultEdgeOptions:Ya,fitView:Wa,fitViewOptions:Ua,onNodesDelete:_,onEdgesDelete:I,onNodeDragStart:E,onNodeDrag:R,onNodeDragStop:T,onSelectionDrag:j,onSelectionDragStart:$,onSelectionDragStop:F,noPanClassName:lo,nodeOrigin:Q,rfId:X,autoPanOnConnect:Za,autoPanOnNodeDrag:O,onError:ie,connectionRadius:B,isValidConnection:U,nodeDragThreshold:ce}),H.createElement(BL,{onSelectionChange:z}),Da,H.createElement(gL,{proOptions:Ka,position:Ga}),H.createElement(YL,{rfId:X,disableKeyboardA11y:co})))});La.displayName="ReactFlow";function Z2(e){return t=>{const[n,r]=w.useState(t),i=w.useCallback(o=>r(a=>e(o,a)),[]);return[n,r,i]}}const lc=Z2(O2),cc=Z2(c3);function t4(){return H.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},H.createElement("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"}))}function n4(){return H.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},H.createElement("path",{d:"M0 0h32v4.2H0z"}))}function r4(){return H.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},H.createElement("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"}))}function i4(){return H.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},H.createElement("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"}))}function o4(){return H.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},H.createElement("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"}))}const Fo=({children:e,className:t,...n})=>H.createElement("button",{type:"button",className:wt(["react-flow__controls-button",t]),...n},e);Fo.displayName="ControlButton";const a4=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom}),J2=({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:r=!0,fitViewOptions:i,onZoomIn:o,onZoomOut:a,onFitView:s,onInteractiveChange:l,className:c,children:u,position:f="bottom-left"})=>{const h=Qe(),[p,v]=w.useState(!1),{isInteractive:g,minZoomReached:S,maxZoomReached:m}=ze(a4,ut),{zoomIn:y,zoomOut:x,fitView:b}=ny();if(w.useEffect(()=>{v(!0)},[]),!p)return null;const C=()=>{y(),o==null||o()},N=()=>{x(),a==null||a()},E=()=>{b(i),s==null||s()},R=()=>{h.setState({nodesDraggable:!g,nodesConnectable:!g,elementsSelectable:!g}),l==null||l(!g)};return H.createElement(c2,{className:wt(["react-flow__controls",c]),position:f,style:e,"data-testid":"rf__controls"},t&&H.createElement(H.Fragment,null,H.createElement(Fo,{onClick:C,className:"react-flow__controls-zoomin",title:"zoom in","aria-label":"zoom in",disabled:m},H.createElement(t4,null)),H.createElement(Fo,{onClick:N,className:"react-flow__controls-zoomout",title:"zoom out","aria-label":"zoom out",disabled:S},H.createElement(n4,null))),n&&H.createElement(Fo,{className:"react-flow__controls-fitview",onClick:E,title:"fit view","aria-label":"fit view"},H.createElement(r4,null)),r&&H.createElement(Fo,{className:"react-flow__controls-interactive",onClick:R,title:"toggle interactivity","aria-label":"toggle interactivity"},g?H.createElement(o4,null):H.createElement(i4,null)),u)};J2.displayName="Controls";var uc=w.memo(J2),vt;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(vt||(vt={}));function s4({color:e,dimensions:t,lineWidth:n}){return H.createElement("path",{stroke:e,strokeWidth:n,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`})}function l4({color:e,radius:t}){return H.createElement("circle",{cx:t,cy:t,r:t,fill:e})}const c4={[vt.Dots]:"#91919a",[vt.Lines]:"#eee",[vt.Cross]:"#e2e2e2"},u4={[vt.Dots]:1,[vt.Lines]:1,[vt.Cross]:6},d4=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function ej({id:e,variant:t=vt.Dots,gap:n=20,size:r,lineWidth:i=1,offset:o=2,color:a,style:s,className:l}){const c=w.useRef(null),{transform:u,patternId:f}=ze(d4,ut),h=a||c4[t],p=r||u4[t],v=t===vt.Dots,g=t===vt.Cross,S=Array.isArray(n)?n:[n,n],m=[S[0]*u[2]||1,S[1]*u[2]||1],y=p*u[2],x=g?[y,y]:m,b=v?[y/o,y/o]:[x[0]/o,x[1]/o];return H.createElement("svg",{className:wt(["react-flow__background",l]),style:{...s,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:c,"data-testid":"rf__background"},H.createElement("pattern",{id:f+e,x:u[0]%m[0],y:u[1]%m[1],width:m[0],height:m[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${b[0]},-${b[1]})`},v?H.createElement(l4,{color:h,radius:y/o}):H.createElement(s4,{dimensions:x,color:h,lineWidth:i})),H.createElement("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${f+e})`}))}ej.displayName="Background";var dc=w.memo(ej);const fc={added:"var(--ca-success)",deleted:"var(--ca-danger)",modified:"var(--ca-warning)",unchanged:"var(--ca-edge-unchanged)"},zt={added:{bg:"var(--ca-added-bg)",border:"var(--ca-added-border)",glow:"var(--ca-added-glow)",text:"var(--ca-added-text)"},deleted:{bg:"var(--ca-deleted-bg)",border:"var(--ca-deleted-border)",glow:"var(--ca-deleted-glow)",text:"var(--ca-deleted-text)"},modified:{bg:"var(--ca-modified-bg)",border:"var(--ca-modified-border)",glow:"var(--ca-modified-glow)",text:"var(--ca-modified-text)"},unchanged:{bg:"var(--ca-node-bg)",border:"var(--ca-edge-unchanged)",glow:"transparent",text:"var(--ca-accent)"}},kr={added:"+",deleted:"−",modified:"~",unchanged:""},Jr={added:"solid",deleted:"dashed",modified:"dotted",unchanged:"solid"},Mx={error:"var(--ca-danger)",warning:"var(--ca-warning)",info:"var(--ca-accent)"},f4={error:"!",warning:"!",info:"i"},Lx={fontSize:8,padding:"1px 6px",borderRadius:4,border:"1px solid var(--ca-border)",background:"var(--ca-surface)",color:"var(--ca-text)",cursor:"pointer",opacity:.9};function h4({reviews:e}){const[t,n]=w.useState(!1),r=w.useMemo(()=>e.filter(u=>u.status==="open"),[e]);if(!e||r.length===0)return null;const i=r.some(u=>u.severity==="error")?"error":r.some(u=>u.severity==="warning")?"warning":"info",a={position:"absolute",bottom:-8,left:-8,fontSize:8,fontWeight:700,padding:"1px 5px",borderRadius:8,background:Mx[i],color:"#fff",cursor:"pointer",zIndex:10,lineHeight:"14px",whiteSpace:"nowrap",userSelect:"none",border:"1px solid rgba(0,0,0,0.2)"};if(!t)return d.jsxs("span",{style:a,title:`${r.length} open AI review finding${r.length>1?"s":""} — click to expand`,onClick:u=>{u.stopPropagation(),n(!0)},children:[f4[i]," ",r.length]});const s={position:"absolute",bottom:-8,left:-8,zIndex:9999,background:"var(--ca-surface)",border:"1px solid var(--ca-border)",borderRadius:8,boxShadow:"var(--ca-shadow-lg, 0 4px 16px rgba(0,0,0,0.3))",padding:"8px 10px",maxWidth:320,maxHeight:280,overflow:"auto",fontSize:10,color:"var(--ca-text)",lineHeight:1.4},l={display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:6,paddingBottom:4,borderBottom:"1px solid var(--ca-border)"};function c(u,f){var h;(h=window.vscodeApi)==null||h.postMessage({type:u,reviewId:f})}return d.jsxs("div",{style:s,onClick:u=>u.stopPropagation(),onMouseDown:u=>u.stopPropagation(),children:[d.jsxs("div",{style:l,children:[d.jsxs("span",{style:{fontWeight:700,fontSize:11},children:["AI Review (",r.length,")"]}),d.jsx("span",{style:{cursor:"pointer",fontSize:12,opacity:.7,padding:"0 2px"},onClick:()=>n(!1),title:"Collapse",children:"x"})]}),r.map(u=>d.jsxs("div",{style:{marginBottom:6,paddingBottom:4,borderBottom:"1px solid var(--ca-border)"},children:[d.jsxs("div",{style:{display:"flex",gap:4,alignItems:"center",marginBottom:2},children:[d.jsx("span",{style:{fontSize:7,fontWeight:700,padding:"0 4px",borderRadius:4,background:Mx[u.severity],color:"#fff",textTransform:"uppercase"},children:u.severity}),d.jsx("span",{style:{fontSize:7,padding:"0 3px",borderRadius:3,background:"var(--ca-border)",color:"var(--ca-text)",opacity:.8},children:u.category})]}),d.jsx("div",{style:{fontWeight:600,fontSize:10,marginBottom:2},children:u.title}),d.jsx("div",{style:{fontSize:9,opacity:.85,whiteSpace:"pre-wrap",wordBreak:"break-word",marginBottom:4},children:u.body}),d.jsxs("div",{style:{display:"flex",gap:4},children:[d.jsx("button",{style:{...Lx,background:"var(--ca-success)",color:"#fff",border:"none"},onClick:()=>c("resolveAiReview",u.id),title:"Mark as resolved (addressed)",children:"Resolve"}),d.jsx("button",{style:Lx,onClick:()=>c("ignoreAiReview",u.id),title:"Ignore (dismiss this finding)",children:"Ignore"})]})]},u.id))]})}const Il=w.memo(h4),p4={error:"#ef4444",warning:"#f59e0b",info:"#38bdf8"};function g4(e){return e.length===0?null:e.some(t=>t.severity==="error")?"error":e.some(t=>t.severity==="warning")?"warning":"info"}function to({graphId:e,targetId:t,onOpen:n,style:r}){const[i,o]=w.useState([]);w.useEffect(()=>Jl(()=>o(aI(e,t))),[e,t]);const a=g4(i);if(!a)return null;const s=i.length;return d.jsx("button",{type:"button","data-testid":"ai-review-marker","aria-label":`${s} AI ${s===1?"finding":"findings"}`,title:`${s} AI ${s===1?"finding":"findings"} — click to view`,onClick:l=>{l.stopPropagation();const c=l.currentTarget.getBoundingClientRect(),u={x:c.right,y:c.top};if(n)n(u,i);else try{document.dispatchEvent(new CustomEvent("ca:openAiFindingPopover",{detail:{anchor:u,findings:i}}))}catch{}},style:{position:"absolute",top:-7,right:-7,minWidth:18,height:18,borderRadius:9,padding:"0 4px",background:p4[a],border:"2px solid var(--ca-bg, #0a0a0b)",color:"white",fontSize:9,fontWeight:700,cursor:"pointer",boxShadow:"0 0 0 1px rgba(255,255,255,0.06)",zIndex:5,display:"inline-flex",alignItems:"center",justifyContent:"center",...r},children:s})}const m4={file:"📄",import:"📦",variable:"📌",function:"ƒ",participant:"👤",statement:"▷",decision:"◇",loop:"↻",terminal:"⬤",return:"↩",section:"☰"};function v4({data:e}){var S,m,y,x;const t=e.diff||"unchanged",n=zt[t]||zt.unchanged,r=m4[e.type]||"•",i=t==="deleted",o=((S=e.meta)==null?void 0:S.unused)===!0,a=e.type==="section",s={background:a?"var(--ca-node-body-bg)":n.bg,border:`1.5px ${a?"solid":Jr[t]||"solid"} ${a?"var(--ca-border)":n.border}`,borderRadius:a?6:10,padding:a?"6px 12px":"10px 14px",minWidth:a?220:160,maxWidth:280,boxShadow:a?"none":`0 2px 8px ${n.glow}, 0 1px 3px rgba(0,0,0,0.3)`,opacity:i?.7:o?.45:1,cursor:"pointer",transition:"all 0.15s ease",fontFamily:"'Inter', system-ui, sans-serif"},l={fontSize:12,fontWeight:600,color:i?"var(--ca-deleted-text)":"var(--ca-text)",textDecoration:i?"line-through":"none",lineHeight:1.3,wordBreak:"break-word"},c={fontSize:10,color:"var(--ca-text-muted)",marginTop:2,fontStyle:"italic"},u={fontSize:10,color:"var(--ca-accent)",marginTop:4,padding:"4px 6px",background:"var(--ca-node-body-bg)",borderRadius:4,fontFamily:"'SF Mono', 'Fira Code', monospace",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:250},f={position:"absolute",top:-6,right:-6,fontSize:8,fontWeight:700,padding:"1px 6px",borderRadius:8,background:n.border,color:"var(--ca-bg)",textTransform:"uppercase",letterSpacing:"0.5px"},h=e.matchReason,p=((m=e.meta)==null?void 0:m.commentCount)??0,v=e.graphId,g=e.nodeId;return d.jsxs("div",{style:{position:"relative",overflow:"visible"},title:h??void 0,children:[v&&g&&d.jsx(to,{graphId:v,targetId:g}),d.jsx(Te,{type:"target",position:Y.Left,style:{background:n.border,width:6,height:6,border:"none"}}),d.jsxs("div",{style:s,children:[d.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6},children:[d.jsx("span",{style:{fontSize:14,opacity:.7},children:r}),d.jsx("span",{style:l,children:e.label}),p>0&&d.jsxs("button",{type:"button",onClick:b=>{b.stopPropagation(),window.dispatchEvent(new CustomEvent("codeatlas:open-comments"))},style:{fontSize:9,fontWeight:700,padding:"1px 5px",borderRadius:8,background:"var(--ca-accent)",color:"#fff",flexShrink:0,border:"none",cursor:"pointer",opacity:o?.45:1},title:`${p} comment${p>1?"s":""} — click to open Comments`,"aria-label":`Open ${p} comment${p>1?"s":""}`,children:["💬",p]})]}),e.subtitle&&d.jsx("div",{style:c,children:e.subtitle}),e.body&&d.jsx("div",{style:u,title:e.body,children:e.body}),e.diffDetail&&d.jsxs("div",{style:{marginTop:4,fontSize:9,lineHeight:1.4},children:[e.diffDetail.deleted&&d.jsxs("div",{style:{color:"var(--ca-deleted-text)"},children:["- ",$x(e.diffDetail.deleted,60)]}),e.diffDetail.added&&d.jsxs("div",{style:{color:"var(--ca-added-text)"},children:["+ ",$x(e.diffDetail.added,60)]})]})]}),t!=="unchanged"&&d.jsxs("span",{style:f,children:[kr[t]," ",t]}),((x=(y=e.meta)==null?void 0:y.aiReviews)==null?void 0:x.length)>0&&d.jsx(Il,{reviews:e.meta.aiReviews}),d.jsx(Te,{type:"source",position:Y.Right,style:{background:n.border,width:6,height:6,border:"none"}})]})}function $x(e,t){return e.length>t?e.substring(0,t)+"...":e}const y4=w.memo(v4);function zx(e){let t=0;for(const n of e){const r=n.codePointAt(0)??0;r>=4352&&r<=4447||r>=11904&&r<=12350||r>=12353&&r<=13311||r>=13312&&r<=19903||r>=19968&&r<=40959||r>=40960&&r<=42191||r>=44032&&r<=55203||r>=63744&&r<=64255||r>=65072&&r<=65103||r>=65280&&r<=65376||r>=65504&&r<=65510||r>=131072&&r<=196605||r>=127744&&r<=129791?t+=2:t+=1}return t}function x4(e,t){if(zx(e)<=t)return e;let n="",r=0;for(const i of e){const o=zx(i);if(r+o>t-3)break;n+=i,r+=o}return n+"..."}const w4={terminal:"⬤",decision:"◇",loop:"↻",return:"↩",statement:"▷"},b4={added:"var(--ca-added-border)",deleted:"var(--ca-deleted-border)",modified:"var(--ca-modified-border)"};function S4({statements:e,hasDiff:t,diff:n,colors:r,handleStyle:i}){const[o,a]=w.useState(null);return d.jsxs("div",{style:{position:"relative"},children:[d.jsx(Te,{type:"target",position:Y.Top,style:{...i,top:-4}}),d.jsx("div",{className:"flow-node-statement",style:{"--ca-node-border-color":r.border,"--ca-node-shadow-color":r.glow,background:r.bg,border:`1.5px ${Jr[n]||"solid"} var(--ca-node-border-color)`,borderRadius:10,minWidth:180,maxWidth:340,boxShadow:"0 2px 8px var(--ca-node-shadow-color), 0 1px 3px rgba(0,0,0,0.3)",cursor:"pointer",transition:"all 0.15s ease",fontFamily:"'SF Mono', 'Fira Code', monospace",overflow:"visible"},children:e.map((s,l)=>{var S;const c=s.diff||"unchanged",u=b4[c],f=c==="deleted",h=c==="added",p=c==="modified",v=s.label.length>60,g=(S=s.diffDetail)!=null&&S.deleted?`Was: ${s.diffDetail.deleted}`:v?s.label:null;return d.jsxs("div",{"data-stmt-index":l,onMouseEnter:()=>g&&a(l),onMouseLeave:()=>a(null),style:{padding:"4px 12px",fontSize:10,lineHeight:1.4,color:f?"var(--ca-deleted-text)":h?"var(--ca-added-text)":p?"var(--ca-modified-text)":"var(--ca-text)",textDecoration:f?"line-through":"none",fontWeight:h?600:400,opacity:f?.6:1,borderLeft:u?`3px solid ${u}`:"3px solid transparent",borderBottom:l<e.length-1?"1px solid var(--ca-border)":"none",whiteSpace:"pre-wrap",wordBreak:"break-word",position:"relative",background:o===l?"var(--ca-surface-hover)":"transparent"},children:[t&&c!=="unchanged"&&d.jsx("span",{style:{fontWeight:700,marginRight:4,fontSize:9},children:kr[c]}),Fm(s.label,60),o===l&&g&&d.jsx("div",{style:{position:"absolute",left:0,bottom:"100%",zIndex:9999,padding:"6px 10px",background:"var(--ca-surface)",border:"1px solid var(--ca-border)",borderRadius:6,fontSize:10,color:"var(--ca-text)",whiteSpace:"pre-wrap",wordBreak:"break-word",maxWidth:420,boxShadow:"var(--ca-shadow-lg)",pointerEvents:"none",fontFamily:"'SF Mono', 'Fira Code', monospace",lineHeight:1.4},children:g})]},l)})}),n!=="unchanged"&&d.jsxs("span",{style:Om(r),children:[kr[n]," ",n]}),d.jsx(Te,{type:"source",position:Y.Bottom,style:{...i,bottom:-4}})]})}function _4({data:e}){var x,b,C,N,E,R;const t=e.diff||"unchanged",n=zt[t]||zt.unchanged,r=w4[e.type]||"▷",i=e.type==="terminal",o=e.type==="return",a=e.type==="decision",s=e.type==="loop",l=a||s,c=i||o,u=t==="deleted",f=(x=e.meta)==null?void 0:x.statements,h=f&&f.length>=2,p=160,v={background:n.border,width:7,height:7,border:"2px solid var(--ca-bg)",zIndex:10};if(l)return d.jsxs("div",{style:{position:"relative",width:p,height:p},children:[d.jsx(Te,{type:"target",position:Y.Top,style:{...v,top:-4}}),d.jsx("div",{className:"flow-node-diamond",style:{"--ca-node-border-color":n.border,"--ca-node-shadow-color":n.glow,position:"absolute",top:"50%",left:"50%",width:p*.78,height:p*.78,transform:"translate(-50%, -50%) rotate(45deg)",background:n.bg,border:`1.5px ${Jr[t]||"solid"} var(--ca-node-border-color)`,borderRadius:8,boxShadow:"0 2px 12px var(--ca-node-shadow-color), 0 1px 3px rgba(0,0,0,0.4)",overflow:"hidden",opacity:u?.7:1,cursor:"pointer",transition:"all 0.15s ease"},children:d.jsxs("div",{style:{transform:"rotate(-45deg)",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",width:"140%",height:"100%",marginLeft:"-20%",padding:"4px",textAlign:"center"},children:[d.jsx("span",{style:{fontSize:10,opacity:.5,marginBottom:2},children:s?"↻":"◇"}),d.jsx("span",{title:e.label,style:{fontSize:10,fontWeight:600,color:u?"var(--ca-deleted-text)":"var(--ca-text)",textDecoration:u?"line-through":"none",lineHeight:1.2,wordBreak:"break-word",maxWidth:"90%",overflow:"hidden",display:"-webkit-box",WebkitLineClamp:3,WebkitBoxOrient:"vertical"},children:x4(e.label,35)})]})}),t!=="unchanged"&&d.jsxs("span",{style:Om(n),children:[kr[t]," ",t]}),d.jsx(Te,{type:"source",position:Y.Bottom,style:{...v,bottom:-4}})]});if(h){const T=f.some(_=>_.diff!=="unchanged");return d.jsxs("div",{style:{position:"relative"},children:[d.jsx(S4,{statements:f,hasDiff:T,diff:t,colors:n,handleStyle:v}),((C=(b=e.meta)==null?void 0:b.aiReviews)==null?void 0:C.length)>0&&d.jsx(Il,{reviews:e.meta.aiReviews})]})}const g={"--ca-node-border-color":n.border,"--ca-node-shadow-color":n.glow,background:n.bg,border:`1.5px ${Jr[t]||"solid"} var(--ca-node-border-color)`,borderRadius:c?999:10,padding:e.diffDetail?0:"10px 16px",minWidth:160,maxWidth:280,boxShadow:"0 2px 8px var(--ca-node-shadow-color), 0 1px 3px rgba(0,0,0,0.3)",opacity:u?.7:1,cursor:"pointer",transition:"all 0.15s ease",fontFamily:"'Inter', system-ui, sans-serif",overflow:"hidden"},S={fontSize:11,fontWeight:c?700:500,color:u?"var(--ca-deleted-text)":"var(--ca-text)",textDecoration:u?"line-through":"none",lineHeight:1.3,wordBreak:"break-word",textAlign:"center",whiteSpace:"pre-wrap"},m=e.graphId,y=e.nodeId;return d.jsxs("div",{style:{position:"relative"},children:[m&&y&&d.jsx(to,{graphId:m,targetId:y}),d.jsx(Te,{type:"target",position:Y.Top,style:{...v,top:-4}}),d.jsx("div",{className:`flow-node-${e.type}`,style:g,title:e.label.length>40?e.label:void 0,children:e.diffDetail?d.jsxs("div",{children:[d.jsx("div",{style:{padding:"8px 14px",textAlign:"center"},children:d.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",gap:5},children:[d.jsx("span",{style:{fontSize:12,opacity:.5},children:r}),d.jsx("span",{style:S,children:e.label})]})}),e.diffDetail.deleted&&d.jsxs("div",{style:Ox("deleted"),children:[d.jsx("span",{style:{fontWeight:700,marginRight:4},children:"−"}),d.jsx("span",{style:{textDecoration:"line-through"},children:Fm(e.diffDetail.deleted,80)})]}),e.diffDetail.added&&d.jsxs("div",{style:Ox("added"),children:[d.jsx("span",{style:{fontWeight:700,marginRight:4},children:"+"}),d.jsx("strong",{children:Fm(e.diffDetail.added,80)})]})]}):d.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",gap:6},children:[d.jsx("span",{style:{fontSize:12,opacity:.5},children:r}),d.jsx("span",{style:S,children:e.label}),((N=e.meta)==null?void 0:N.commentCount)>0&&d.jsxs("button",{type:"button",onClick:T=>{T.stopPropagation(),window.dispatchEvent(new CustomEvent("codeatlas:open-comments"))},style:{fontSize:9,fontWeight:700,padding:"1px 5px",borderRadius:8,background:"var(--ca-accent)",color:"#fff",flexShrink:0,border:"none",cursor:"pointer"},title:`${e.meta.commentCount} comment${e.meta.commentCount>1?"s":""} — click to open Comments`,"aria-label":`Open ${e.meta.commentCount} comment${e.meta.commentCount>1?"s":""}`,children:["💬",e.meta.commentCount]})]})}),t!=="unchanged"&&d.jsxs("span",{style:Om(n),children:[kr[t]," ",t]}),((R=(E=e.meta)==null?void 0:E.aiReviews)==null?void 0:R.length)>0&&d.jsx(Il,{reviews:e.meta.aiReviews}),d.jsx(Te,{type:"source",position:Y.Bottom,style:{...v,bottom:-4}})]})}function Om(e){return{position:"absolute",top:-6,right:-6,fontSize:8,fontWeight:700,padding:"1px 6px",borderRadius:8,background:e.border,color:"var(--ca-bg)",textTransform:"uppercase",letterSpacing:"0.5px",zIndex:5}}function Ox(e){return{background:e==="deleted"?"var(--ca-deleted-bg)":"var(--ca-added-bg)",color:e==="deleted"?"var(--ca-deleted-text)":"var(--ca-added-text)",padding:"4px 10px",fontSize:9,fontFamily:"'SF Mono', 'Fira Code', monospace",borderTop:`1px solid ${e==="deleted"?"var(--ca-deleted-border)":"var(--ca-added-border)"}`,whiteSpace:"pre-wrap",lineHeight:1.4}}function Fm(e,t){return e.length>t?e.substring(0,t)+"...":e}const E4=w.memo(_4),k4={file:"📄",import:"📦",variable:"📌",function:"ƒ",participant:"👤",statement:"▷",decision:"◇",loop:"↻",terminal:"⬤",return:"↩",section:"☰",class:"◆"};function C4({id:e,data:t}){t.diff,t.items.some(s=>s.diff&&s.diff!=="unchanged");let n="var(--ca-border)";t.items.length>0&&t.items.every(s=>s.diff==="added")&&t.items.length>3&&(n=zt.added.border);const r={background:"var(--ca-node-body-bg)",border:`1.5px solid ${n}`,borderRadius:8,minWidth:260,maxWidth:380,boxShadow:"0 4px 12px rgba(0,0,0,0.5)",fontFamily:"'Inter', system-ui, sans-serif",overflow:"hidden"},i={background:"var(--ca-border)",padding:"6px 12px",fontSize:12,fontWeight:700,color:"var(--ca-text)",textTransform:"uppercase",letterSpacing:"0.5px",display:"flex",justifyContent:"space-between",alignItems:"center"},o={display:"flex",flexDirection:"column",padding:"4px",gap:"4px",maxHeight:400,overflowY:"auto"},a=s=>{const l=s.diff||"unchanged",c=zt[l]||zt.unchanged,u=l==="deleted",f=k4[s.type]||"•",h={display:"flex",flexDirection:"column",padding:"6px 8px",background:c.bg,borderLeft:`3px solid ${c.border}`,borderRadius:4,cursor:"pointer",opacity:u?.7:1,transition:"background 0.15s ease"},p={display:"flex",alignItems:"center",gap:6,fontSize:11,fontWeight:600,color:u?"var(--ca-deleted-text)":"var(--ca-text)",textDecoration:u?"line-through":"none"},v={fontSize:9,color:"var(--ca-accent)",marginTop:4,marginLeft:18,fontFamily:"'SF Mono', 'Fira Code', monospace",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},g=S=>{S.stopPropagation();const m=new CustomEvent("classBlockItemClick",{detail:{nodeId:s.id,nodeData:{label:s.label,type:s.type,anchor:s.anchor}},bubbles:!0});S.currentTarget.dispatchEvent(m)};return d.jsxs("div",{style:h,onClick:g,onMouseEnter:S=>S.currentTarget.style.background=`color-mix(in srgb, ${c.bg} 85%, white)`,onMouseLeave:S=>S.currentTarget.style.background=c.bg,children:[d.jsxs("div",{style:p,children:[d.jsx("span",{style:{fontSize:13,opacity:.8},children:f}),d.jsx("span",{title:s.label,children:Fx(s.label,40)}),l!=="unchanged"&&d.jsx("span",{style:{marginLeft:"auto",width:6,height:6,borderRadius:"50%",background:c.border},title:l})]}),s.body&&d.jsx("div",{style:v,title:s.body,children:Fx(s.body,50)})]},s.id)};return d.jsxs("div",{style:{position:"relative"},children:[d.jsx(Te,{type:"target",position:Y.Left,style:{background:n,width:8,height:8}}),d.jsxs("div",{style:r,children:[d.jsxs("div",{style:i,children:[d.jsx("span",{children:t.label}),d.jsx("span",{style:{opacity:.6,fontSize:10},children:t.items.length})]}),d.jsx("div",{style:o,className:"nodrag nowheel",children:t.items.map(a)})]}),d.jsx(Te,{type:"source",position:Y.Right,style:{background:n,width:8,height:8}})]})}function Fx(e,t){return e.length>t?e.substring(0,t)+"...":e}const j4=w.memo(C4);function iy(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var ku,qx;function R4(){if(qx)return ku;qx=1;function e(){this.__data__=[],this.size=0}return ku=e,ku}var Cu,Dx;function no(){if(Dx)return Cu;Dx=1;function e(t,n){return t===n||t!==t&&n!==n}return Cu=e,Cu}var ju,Bx;function hc(){if(Bx)return ju;Bx=1;var e=no();function t(n,r){for(var i=n.length;i--;)if(e(n[i][0],r))return i;return-1}return ju=t,ju}var Ru,Hx;function N4(){if(Hx)return Ru;Hx=1;var e=hc(),t=Array.prototype,n=t.splice;function r(i){var o=this.__data__,a=e(o,i);if(a<0)return!1;var s=o.length-1;return a==s?o.pop():n.call(o,a,1),--this.size,!0}return Ru=r,Ru}var Nu,Wx;function A4(){if(Wx)return Nu;Wx=1;var e=hc();function t(n){var r=this.__data__,i=e(r,n);return i<0?void 0:r[i][1]}return Nu=t,Nu}var Au,Ux;function I4(){if(Ux)return Au;Ux=1;var e=hc();function t(n){return e(this.__data__,n)>-1}return Au=t,Au}var Iu,Vx;function T4(){if(Vx)return Iu;Vx=1;var e=hc();function t(n,r){var i=this.__data__,o=e(i,n);return o<0?(++this.size,i.push([n,r])):i[o][1]=r,this}return Iu=t,Iu}var Tu,Gx;function pc(){if(Gx)return Tu;Gx=1;var e=R4(),t=N4(),n=A4(),r=I4(),i=T4();function o(a){var s=-1,l=a==null?0:a.length;for(this.clear();++s<l;){var c=a[s];this.set(c[0],c[1])}}return o.prototype.clear=e,o.prototype.delete=t,o.prototype.get=n,o.prototype.has=r,o.prototype.set=i,Tu=o,Tu}var Pu,Kx;function P4(){if(Kx)return Pu;Kx=1;var e=pc();function t(){this.__data__=new e,this.size=0}return Pu=t,Pu}var Mu,Yx;function M4(){if(Yx)return Mu;Yx=1;function e(t){var n=this.__data__,r=n.delete(t);return this.size=n.size,r}return Mu=e,Mu}var Lu,Xx;function L4(){if(Xx)return Lu;Xx=1;function e(t){return this.__data__.get(t)}return Lu=e,Lu}var $u,Qx;function $4(){if(Qx)return $u;Qx=1;function e(t){return this.__data__.has(t)}return $u=e,$u}var zu,Zx;function tj(){if(Zx)return zu;Zx=1;var e=typeof Ja=="object"&&Ja&&Ja.Object===Object&&Ja;return zu=e,zu}var Ou,Jx;function gn(){if(Jx)return Ou;Jx=1;var e=tj(),t=typeof self=="object"&&self&&self.Object===Object&&self,n=e||t||Function("return this")();return Ou=n,Ou}var Fu,e1;function ro(){if(e1)return Fu;e1=1;var e=gn(),t=e.Symbol;return Fu=t,Fu}var qu,t1;function z4(){if(t1)return qu;t1=1;var e=ro(),t=Object.prototype,n=t.hasOwnProperty,r=t.toString,i=e?e.toStringTag:void 0;function o(a){var s=n.call(a,i),l=a[i];try{a[i]=void 0;var c=!0}catch{}var u=r.call(a);return c&&(s?a[i]=l:delete a[i]),u}return qu=o,qu}var Du,n1;function O4(){if(n1)return Du;n1=1;var e=Object.prototype,t=e.toString;function n(r){return t.call(r)}return Du=n,Du}var Bu,r1;function ni(){if(r1)return Bu;r1=1;var e=ro(),t=z4(),n=O4(),r="[object Null]",i="[object Undefined]",o=e?e.toStringTag:void 0;function a(s){return s==null?s===void 0?i:r:o&&o in Object(s)?t(s):n(s)}return Bu=a,Bu}var Hu,i1;function Jt(){if(i1)return Hu;i1=1;function e(t){var n=typeof t;return t!=null&&(n=="object"||n=="function")}return Hu=e,Hu}var Wu,o1;function $a(){if(o1)return Wu;o1=1;var e=ni(),t=Jt(),n="[object AsyncFunction]",r="[object Function]",i="[object GeneratorFunction]",o="[object Proxy]";function a(s){if(!t(s))return!1;var l=e(s);return l==r||l==i||l==n||l==o}return Wu=a,Wu}var Uu,a1;function F4(){if(a1)return Uu;a1=1;var e=gn(),t=e["__core-js_shared__"];return Uu=t,Uu}var Vu,s1;function q4(){if(s1)return Vu;s1=1;var e=F4(),t=function(){var r=/[^.]+$/.exec(e&&e.keys&&e.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""}();function n(r){return!!t&&t in r}return Vu=n,Vu}var Gu,l1;function nj(){if(l1)return Gu;l1=1;var e=Function.prototype,t=e.toString;function n(r){if(r!=null){try{return t.call(r)}catch{}try{return r+""}catch{}}return""}return Gu=n,Gu}var Ku,c1;function D4(){if(c1)return Ku;c1=1;var e=$a(),t=q4(),n=Jt(),r=nj(),i=/[\\^$.*+?()[\]{}|]/g,o=/^\[object .+?Constructor\]$/,a=Function.prototype,s=Object.prototype,l=a.toString,c=s.hasOwnProperty,u=RegExp("^"+l.call(c).replace(i,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function f(h){if(!n(h)||t(h))return!1;var p=e(h)?u:o;return p.test(r(h))}return Ku=f,Ku}var Yu,u1;function B4(){if(u1)return Yu;u1=1;function e(t,n){return t==null?void 0:t[n]}return Yu=e,Yu}var Xu,d1;function ri(){if(d1)return Xu;d1=1;var e=D4(),t=B4();function n(r,i){var o=t(r,i);return e(o)?o:void 0}return Xu=n,Xu}var Qu,f1;function oy(){if(f1)return Qu;f1=1;var e=ri(),t=gn(),n=e(t,"Map");return Qu=n,Qu}var Zu,h1;function gc(){if(h1)return Zu;h1=1;var e=ri(),t=e(Object,"create");return Zu=t,Zu}var Ju,p1;function H4(){if(p1)return Ju;p1=1;var e=gc();function t(){this.__data__=e?e(null):{},this.size=0}return Ju=t,Ju}var ed,g1;function W4(){if(g1)return ed;g1=1;function e(t){var n=this.has(t)&&delete this.__data__[t];return this.size-=n?1:0,n}return ed=e,ed}var td,m1;function U4(){if(m1)return td;m1=1;var e=gc(),t="__lodash_hash_undefined__",n=Object.prototype,r=n.hasOwnProperty;function i(o){var a=this.__data__;if(e){var s=a[o];return s===t?void 0:s}return r.call(a,o)?a[o]:void 0}return td=i,td}var nd,v1;function V4(){if(v1)return nd;v1=1;var e=gc(),t=Object.prototype,n=t.hasOwnProperty;function r(i){var o=this.__data__;return e?o[i]!==void 0:n.call(o,i)}return nd=r,nd}var rd,y1;function G4(){if(y1)return rd;y1=1;var e=gc(),t="__lodash_hash_undefined__";function n(r,i){var o=this.__data__;return this.size+=this.has(r)?0:1,o[r]=e&&i===void 0?t:i,this}return rd=n,rd}var id,x1;function K4(){if(x1)return id;x1=1;var e=H4(),t=W4(),n=U4(),r=V4(),i=G4();function o(a){var s=-1,l=a==null?0:a.length;for(this.clear();++s<l;){var c=a[s];this.set(c[0],c[1])}}return o.prototype.clear=e,o.prototype.delete=t,o.prototype.get=n,o.prototype.has=r,o.prototype.set=i,id=o,id}var od,w1;function Y4(){if(w1)return od;w1=1;var e=K4(),t=pc(),n=oy();function r(){this.size=0,this.__data__={hash:new e,map:new(n||t),string:new e}}return od=r,od}var ad,b1;function X4(){if(b1)return ad;b1=1;function e(t){var n=typeof t;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?t!=="__proto__":t===null}return ad=e,ad}var sd,S1;function mc(){if(S1)return sd;S1=1;var e=X4();function t(n,r){var i=n.__data__;return e(r)?i[typeof r=="string"?"string":"hash"]:i.map}return sd=t,sd}var ld,_1;function Q4(){if(_1)return ld;_1=1;var e=mc();function t(n){var r=e(this,n).delete(n);return this.size-=r?1:0,r}return ld=t,ld}var cd,E1;function Z4(){if(E1)return cd;E1=1;var e=mc();function t(n){return e(this,n).get(n)}return cd=t,cd}var ud,k1;function J4(){if(k1)return ud;k1=1;var e=mc();function t(n){return e(this,n).has(n)}return ud=t,ud}var dd,C1;function e$(){if(C1)return dd;C1=1;var e=mc();function t(n,r){var i=e(this,n),o=i.size;return i.set(n,r),this.size+=i.size==o?0:1,this}return dd=t,dd}var fd,j1;function ay(){if(j1)return fd;j1=1;var e=Y4(),t=Q4(),n=Z4(),r=J4(),i=e$();function o(a){var s=-1,l=a==null?0:a.length;for(this.clear();++s<l;){var c=a[s];this.set(c[0],c[1])}}return o.prototype.clear=e,o.prototype.delete=t,o.prototype.get=n,o.prototype.has=r,o.prototype.set=i,fd=o,fd}var hd,R1;function t$(){if(R1)return hd;R1=1;var e=pc(),t=oy(),n=ay(),r=200;function i(o,a){var s=this.__data__;if(s instanceof e){var l=s.__data__;if(!t||l.length<r-1)return l.push([o,a]),this.size=++s.size,this;s=this.__data__=new n(l)}return s.set(o,a),this.size=s.size,this}return hd=i,hd}var pd,N1;function vc(){if(N1)return pd;N1=1;var e=pc(),t=P4(),n=M4(),r=L4(),i=$4(),o=t$();function a(s){var l=this.__data__=new e(s);this.size=l.size}return a.prototype.clear=t,a.prototype.delete=n,a.prototype.get=r,a.prototype.has=i,a.prototype.set=o,pd=a,pd}var gd,A1;function sy(){if(A1)return gd;A1=1;function e(t,n){for(var r=-1,i=t==null?0:t.length;++r<i&&n(t[r],r,t)!==!1;);return t}return gd=e,gd}var md,I1;function rj(){if(I1)return md;I1=1;var e=ri(),t=function(){try{var n=e(Object,"defineProperty");return n({},"",{}),n}catch{}}();return md=t,md}var vd,T1;function yc(){if(T1)return vd;T1=1;var e=rj();function t(n,r,i){r=="__proto__"&&e?e(n,r,{configurable:!0,enumerable:!0,value:i,writable:!0}):n[r]=i}return vd=t,vd}var yd,P1;function xc(){if(P1)return yd;P1=1;var e=yc(),t=no(),n=Object.prototype,r=n.hasOwnProperty;function i(o,a,s){var l=o[a];(!(r.call(o,a)&&t(l,s))||s===void 0&&!(a in o))&&e(o,a,s)}return yd=i,yd}var xd,M1;function za(){if(M1)return xd;M1=1;var e=xc(),t=yc();function n(r,i,o,a){var s=!o;o||(o={});for(var l=-1,c=i.length;++l<c;){var u=i[l],f=a?a(o[u],r[u],u,o,r):void 0;f===void 0&&(f=r[u]),s?t(o,u,f):e(o,u,f)}return o}return xd=n,xd}var wd,L1;function n$(){if(L1)return wd;L1=1;function e(t,n){for(var r=-1,i=Array(t);++r<t;)i[r]=n(r);return i}return wd=e,wd}var bd,$1;function jn(){if($1)return bd;$1=1;function e(t){return t!=null&&typeof t=="object"}return bd=e,bd}var Sd,z1;function r$(){if(z1)return Sd;z1=1;var e=ni(),t=jn(),n="[object Arguments]";function r(i){return t(i)&&e(i)==n}return Sd=r,Sd}var _d,O1;function Oa(){if(O1)return _d;O1=1;var e=r$(),t=jn(),n=Object.prototype,r=n.hasOwnProperty,i=n.propertyIsEnumerable,o=e(function(){return arguments}())?e:function(a){return t(a)&&r.call(a,"callee")&&!i.call(a,"callee")};return _d=o,_d}var Ed,F1;function We(){if(F1)return Ed;F1=1;var e=Array.isArray;return Ed=e,Ed}var qo={exports:{}},kd,q1;function i$(){if(q1)return kd;q1=1;function e(){return!1}return kd=e,kd}qo.exports;var D1;function io(){return D1||(D1=1,function(e,t){var n=gn(),r=i$(),i=t&&!t.nodeType&&t,o=i&&!0&&e&&!e.nodeType&&e,a=o&&o.exports===i,s=a?n.Buffer:void 0,l=s?s.isBuffer:void 0,c=l||r;e.exports=c}(qo,qo.exports)),qo.exports}var Cd,B1;function wc(){if(B1)return Cd;B1=1;var e=9007199254740991,t=/^(?:0|[1-9]\d*)$/;function n(r,i){var o=typeof r;return i=i??e,!!i&&(o=="number"||o!="symbol"&&t.test(r))&&r>-1&&r%1==0&&r<i}return Cd=n,Cd}var jd,H1;function ly(){if(H1)return jd;H1=1;var e=9007199254740991;function t(n){return typeof n=="number"&&n>-1&&n%1==0&&n<=e}return jd=t,jd}var Rd,W1;function o$(){if(W1)return Rd;W1=1;var e=ni(),t=ly(),n=jn(),r="[object Arguments]",i="[object Array]",o="[object Boolean]",a="[object Date]",s="[object Error]",l="[object Function]",c="[object Map]",u="[object Number]",f="[object Object]",h="[object RegExp]",p="[object Set]",v="[object String]",g="[object WeakMap]",S="[object ArrayBuffer]",m="[object DataView]",y="[object Float32Array]",x="[object Float64Array]",b="[object Int8Array]",C="[object Int16Array]",N="[object Int32Array]",E="[object Uint8Array]",R="[object Uint8ClampedArray]",T="[object Uint16Array]",_="[object Uint32Array]",I={};I[y]=I[x]=I[b]=I[C]=I[N]=I[E]=I[R]=I[T]=I[_]=!0,I[r]=I[i]=I[S]=I[o]=I[m]=I[a]=I[s]=I[l]=I[c]=I[u]=I[f]=I[h]=I[p]=I[v]=I[g]=!1;function z($){return n($)&&t($.length)&&!!I[e($)]}return Rd=z,Rd}var Nd,U1;function bc(){if(U1)return Nd;U1=1;function e(t){return function(n){return t(n)}}return Nd=e,Nd}var Do={exports:{}};Do.exports;var V1;function cy(){return V1||(V1=1,function(e,t){var n=tj(),r=t&&!t.nodeType&&t,i=r&&!0&&e&&!e.nodeType&&e,o=i&&i.exports===r,a=o&&n.process,s=function(){try{var l=i&&i.require&&i.require("util").types;return l||a&&a.binding&&a.binding("util")}catch{}}();e.exports=s}(Do,Do.exports)),Do.exports}var Ad,G1;function Fa(){if(G1)return Ad;G1=1;var e=o$(),t=bc(),n=cy(),r=n&&n.isTypedArray,i=r?t(r):e;return Ad=i,Ad}var Id,K1;function ij(){if(K1)return Id;K1=1;var e=n$(),t=Oa(),n=We(),r=io(),i=wc(),o=Fa(),a=Object.prototype,s=a.hasOwnProperty;function l(c,u){var f=n(c),h=!f&&t(c),p=!f&&!h&&r(c),v=!f&&!h&&!p&&o(c),g=f||h||p||v,S=g?e(c.length,String):[],m=S.length;for(var y in c)(u||s.call(c,y))&&!(g&&(y=="length"||p&&(y=="offset"||y=="parent")||v&&(y=="buffer"||y=="byteLength"||y=="byteOffset")||i(y,m)))&&S.push(y);return S}return Id=l,Id}var Td,Y1;function Sc(){if(Y1)return Td;Y1=1;var e=Object.prototype;function t(n){var r=n&&n.constructor,i=typeof r=="function"&&r.prototype||e;return n===i}return Td=t,Td}var Pd,X1;function oj(){if(X1)return Pd;X1=1;function e(t,n){return function(r){return t(n(r))}}return Pd=e,Pd}var Md,Q1;function a$(){if(Q1)return Md;Q1=1;var e=oj(),t=e(Object.keys,Object);return Md=t,Md}var Ld,Z1;function uy(){if(Z1)return Ld;Z1=1;var e=Sc(),t=a$(),n=Object.prototype,r=n.hasOwnProperty;function i(o){if(!e(o))return t(o);var a=[];for(var s in Object(o))r.call(o,s)&&s!="constructor"&&a.push(s);return a}return Ld=i,Ld}var $d,J1;function Gn(){if(J1)return $d;J1=1;var e=$a(),t=ly();function n(r){return r!=null&&t(r.length)&&!e(r)}return $d=n,$d}var zd,ew;function Ar(){if(ew)return zd;ew=1;var e=ij(),t=uy(),n=Gn();function r(i){return n(i)?e(i):t(i)}return zd=r,zd}var Od,tw;function s$(){if(tw)return Od;tw=1;var e=za(),t=Ar();function n(r,i){return r&&e(i,t(i),r)}return Od=n,Od}var Fd,nw;function l$(){if(nw)return Fd;nw=1;function e(t){var n=[];if(t!=null)for(var r in Object(t))n.push(r);return n}return Fd=e,Fd}var qd,rw;function c$(){if(rw)return qd;rw=1;var e=Jt(),t=Sc(),n=l$(),r=Object.prototype,i=r.hasOwnProperty;function o(a){if(!e(a))return n(a);var s=t(a),l=[];for(var c in a)c=="constructor"&&(s||!i.call(a,c))||l.push(c);return l}return qd=o,qd}var Dd,iw;function ii(){if(iw)return Dd;iw=1;var e=ij(),t=c$(),n=Gn();function r(i){return n(i)?e(i,!0):t(i)}return Dd=r,Dd}var Bd,ow;function u$(){if(ow)return Bd;ow=1;var e=za(),t=ii();function n(r,i){return r&&e(i,t(i),r)}return Bd=n,Bd}var Bo={exports:{}};Bo.exports;var aw;function aj(){return aw||(aw=1,function(e,t){var n=gn(),r=t&&!t.nodeType&&t,i=r&&!0&&e&&!e.nodeType&&e,o=i&&i.exports===r,a=o?n.Buffer:void 0,s=a?a.allocUnsafe:void 0;function l(c,u){if(u)return c.slice();var f=c.length,h=s?s(f):new c.constructor(f);return c.copy(h),h}e.exports=l}(Bo,Bo.exports)),Bo.exports}var Hd,sw;function sj(){if(sw)return Hd;sw=1;function e(t,n){var r=-1,i=t.length;for(n||(n=Array(i));++r<i;)n[r]=t[r];return n}return Hd=e,Hd}var Wd,lw;function lj(){if(lw)return Wd;lw=1;function e(t,n){for(var r=-1,i=t==null?0:t.length,o=0,a=[];++r<i;){var s=t[r];n(s,r,t)&&(a[o++]=s)}return a}return Wd=e,Wd}var Ud,cw;function cj(){if(cw)return Ud;cw=1;function e(){return[]}return Ud=e,Ud}var Vd,uw;function dy(){if(uw)return Vd;uw=1;var e=lj(),t=cj(),n=Object.prototype,r=n.propertyIsEnumerable,i=Object.getOwnPropertySymbols,o=i?function(a){return a==null?[]:(a=Object(a),e(i(a),function(s){return r.call(a,s)}))}:t;return Vd=o,Vd}var Gd,dw;function d$(){if(dw)return Gd;dw=1;var e=za(),t=dy();function n(r,i){return e(r,t(r),i)}return Gd=n,Gd}var Kd,fw;function fy(){if(fw)return Kd;fw=1;function e(t,n){for(var r=-1,i=n.length,o=t.length;++r<i;)t[o+r]=n[r];return t}return Kd=e,Kd}var Yd,hw;function _c(){if(hw)return Yd;hw=1;var e=oj(),t=e(Object.getPrototypeOf,Object);return Yd=t,Yd}var Xd,pw;function uj(){if(pw)return Xd;pw=1;var e=fy(),t=_c(),n=dy(),r=cj(),i=Object.getOwnPropertySymbols,o=i?function(a){for(var s=[];a;)e(s,n(a)),a=t(a);return s}:r;return Xd=o,Xd}var Qd,gw;function f$(){if(gw)return Qd;gw=1;var e=za(),t=uj();function n(r,i){return e(r,t(r),i)}return Qd=n,Qd}var Zd,mw;function dj(){if(mw)return Zd;mw=1;var e=fy(),t=We();function n(r,i,o){var a=i(r);return t(r)?a:e(a,o(r))}return Zd=n,Zd}var Jd,vw;function fj(){if(vw)return Jd;vw=1;var e=dj(),t=dy(),n=Ar();function r(i){return e(i,n,t)}return Jd=r,Jd}var ef,yw;function h$(){if(yw)return ef;yw=1;var e=dj(),t=uj(),n=ii();function r(i){return e(i,n,t)}return ef=r,ef}var tf,xw;function p$(){if(xw)return tf;xw=1;var e=ri(),t=gn(),n=e(t,"DataView");return tf=n,tf}var nf,ww;function g$(){if(ww)return nf;ww=1;var e=ri(),t=gn(),n=e(t,"Promise");return nf=n,nf}var rf,bw;function hj(){if(bw)return rf;bw=1;var e=ri(),t=gn(),n=e(t,"Set");return rf=n,rf}var of,Sw;function m$(){if(Sw)return of;Sw=1;var e=ri(),t=gn(),n=e(t,"WeakMap");return of=n,of}var af,_w;function oo(){if(_w)return af;_w=1;var e=p$(),t=oy(),n=g$(),r=hj(),i=m$(),o=ni(),a=nj(),s="[object Map]",l="[object Object]",c="[object Promise]",u="[object Set]",f="[object WeakMap]",h="[object DataView]",p=a(e),v=a(t),g=a(n),S=a(r),m=a(i),y=o;return(e&&y(new e(new ArrayBuffer(1)))!=h||t&&y(new t)!=s||n&&y(n.resolve())!=c||r&&y(new r)!=u||i&&y(new i)!=f)&&(y=function(x){var b=o(x),C=b==l?x.constructor:void 0,N=C?a(C):"";if(N)switch(N){case p:return h;case v:return s;case g:return c;case S:return u;case m:return f}return b}),af=y,af}var sf,Ew;function v$(){if(Ew)return sf;Ew=1;var e=Object.prototype,t=e.hasOwnProperty;function n(r){var i=r.length,o=new r.constructor(i);return i&&typeof r[0]=="string"&&t.call(r,"index")&&(o.index=r.index,o.input=r.input),o}return sf=n,sf}var lf,kw;function pj(){if(kw)return lf;kw=1;var e=gn(),t=e.Uint8Array;return lf=t,lf}var cf,Cw;function hy(){if(Cw)return cf;Cw=1;var e=pj();function t(n){var r=new n.constructor(n.byteLength);return new e(r).set(new e(n)),r}return cf=t,cf}var uf,jw;function y$(){if(jw)return uf;jw=1;var e=hy();function t(n,r){var i=r?e(n.buffer):n.buffer;return new n.constructor(i,n.byteOffset,n.byteLength)}return uf=t,uf}var df,Rw;function x$(){if(Rw)return df;Rw=1;var e=/\w*$/;function t(n){var r=new n.constructor(n.source,e.exec(n));return r.lastIndex=n.lastIndex,r}return df=t,df}var ff,Nw;function w$(){if(Nw)return ff;Nw=1;var e=ro(),t=e?e.prototype:void 0,n=t?t.valueOf:void 0;function r(i){return n?Object(n.call(i)):{}}return ff=r,ff}var hf,Aw;function gj(){if(Aw)return hf;Aw=1;var e=hy();function t(n,r){var i=r?e(n.buffer):n.buffer;return new n.constructor(i,n.byteOffset,n.length)}return hf=t,hf}var pf,Iw;function b$(){if(Iw)return pf;Iw=1;var e=hy(),t=y$(),n=x$(),r=w$(),i=gj(),o="[object Boolean]",a="[object Date]",s="[object Map]",l="[object Number]",c="[object RegExp]",u="[object Set]",f="[object String]",h="[object Symbol]",p="[object ArrayBuffer]",v="[object DataView]",g="[object Float32Array]",S="[object Float64Array]",m="[object Int8Array]",y="[object Int16Array]",x="[object Int32Array]",b="[object Uint8Array]",C="[object Uint8ClampedArray]",N="[object Uint16Array]",E="[object Uint32Array]";function R(T,_,I){var z=T.constructor;switch(_){case p:return e(T);case o:case a:return new z(+T);case v:return t(T,I);case g:case S:case m:case y:case x:case b:case C:case N:case E:return i(T,I);case s:return new z;case l:case f:return new z(T);case c:return n(T);case u:return new z;case h:return r(T)}}return pf=R,pf}var gf,Tw;function mj(){if(Tw)return gf;Tw=1;var e=Jt(),t=Object.create,n=function(){function r(){}return function(i){if(!e(i))return{};if(t)return t(i);r.prototype=i;var o=new r;return r.prototype=void 0,o}}();return gf=n,gf}var mf,Pw;function vj(){if(Pw)return mf;Pw=1;var e=mj(),t=_c(),n=Sc();function r(i){return typeof i.constructor=="function"&&!n(i)?e(t(i)):{}}return mf=r,mf}var vf,Mw;function S$(){if(Mw)return vf;Mw=1;var e=oo(),t=jn(),n="[object Map]";function r(i){return t(i)&&e(i)==n}return vf=r,vf}var yf,Lw;function _$(){if(Lw)return yf;Lw=1;var e=S$(),t=bc(),n=cy(),r=n&&n.isMap,i=r?t(r):e;return yf=i,yf}var xf,$w;function E$(){if($w)return xf;$w=1;var e=oo(),t=jn(),n="[object Set]";function r(i){return t(i)&&e(i)==n}return xf=r,xf}var wf,zw;function k$(){if(zw)return wf;zw=1;var e=E$(),t=bc(),n=cy(),r=n&&n.isSet,i=r?t(r):e;return wf=i,wf}var bf,Ow;function yj(){if(Ow)return bf;Ow=1;var e=vc(),t=sy(),n=xc(),r=s$(),i=u$(),o=aj(),a=sj(),s=d$(),l=f$(),c=fj(),u=h$(),f=oo(),h=v$(),p=b$(),v=vj(),g=We(),S=io(),m=_$(),y=Jt(),x=k$(),b=Ar(),C=ii(),N=1,E=2,R=4,T="[object Arguments]",_="[object Array]",I="[object Boolean]",z="[object Date]",$="[object Error]",j="[object Function]",F="[object GeneratorFunction]",k="[object Map]",L="[object Number]",M="[object Object]",P="[object RegExp]",A="[object Set]",q="[object String]",D="[object Symbol]",W="[object WeakMap]",V="[object ArrayBuffer]",J="[object DataView]",te="[object Float32Array]",se="[object Float64Array]",ue="[object Int8Array]",ge="[object Int16Array]",ve="[object Int32Array]",Ke="[object Uint8Array]",Ue="[object Uint8ClampedArray]",dt="[object Uint16Array]",it="[object Uint32Array]",oe={};oe[T]=oe[_]=oe[V]=oe[J]=oe[I]=oe[z]=oe[te]=oe[se]=oe[ue]=oe[ge]=oe[ve]=oe[k]=oe[L]=oe[M]=oe[P]=oe[A]=oe[q]=oe[D]=oe[Ke]=oe[Ue]=oe[dt]=oe[it]=!0,oe[$]=oe[j]=oe[W]=!1;function Ze(re,Q,Re,ft,bt,Oe){var we,Se=Q&N,ot=Q&E,ne=Q&R;if(Re&&(we=bt?Re(re,ft,bt,Oe):Re(re)),we!==void 0)return we;if(!y(re))return re;var Nt=g(re);if(Nt){if(we=h(re),!Se)return a(re,we)}else{var _e=f(re),At=_e==j||_e==F;if(S(re))return o(re,Se);if(_e==M||_e==T||At&&!bt){if(we=ot||At?{}:v(re),!Se)return ot?l(re,i(we,re)):s(re,r(we,re))}else{if(!oe[_e])return bt?re:{};we=p(re,_e,Se)}}Oe||(Oe=new e);var Bt=Oe.get(re);if(Bt)return Bt;Oe.set(re,we),x(re)?re.forEach(function(Ae){we.add(Ze(Ae,Q,Re,Ae,re,Oe))}):m(re)&&re.forEach(function(Ae,Be){we.set(Be,Ze(Ae,Q,Re,Be,re,Oe))});var Ne=ne?ot?u:c:ot?C:b,Je=Nt?void 0:Ne(re);return t(Je||re,function(Ae,Be){Je&&(Be=Ae,Ae=re[Be]),n(we,Be,Ze(Ae,Q,Re,Be,re,Oe))}),we}return bf=Ze,bf}var Sf,Fw;function C$(){if(Fw)return Sf;Fw=1;var e=yj(),t=4;function n(r){return e(r,t)}return Sf=n,Sf}var _f,qw;function py(){if(qw)return _f;qw=1;function e(t){return function(){return t}}return _f=e,_f}var Ef,Dw;function j$(){if(Dw)return Ef;Dw=1;function e(t){return function(n,r,i){for(var o=-1,a=Object(n),s=i(n),l=s.length;l--;){var c=s[t?l:++o];if(r(a[c],c,a)===!1)break}return n}}return Ef=e,Ef}var kf,Bw;function gy(){if(Bw)return kf;Bw=1;var e=j$(),t=e();return kf=t,kf}var Cf,Hw;function my(){if(Hw)return Cf;Hw=1;var e=gy(),t=Ar();function n(r,i){return r&&e(r,i,t)}return Cf=n,Cf}var jf,Ww;function R$(){if(Ww)return jf;Ww=1;var e=Gn();function t(n,r){return function(i,o){if(i==null)return i;if(!e(i))return n(i,o);for(var a=i.length,s=r?a:-1,l=Object(i);(r?s--:++s<a)&&o(l[s],s,l)!==!1;);return i}}return jf=t,jf}var Rf,Uw;function Ec(){if(Uw)return Rf;Uw=1;var e=my(),t=R$(),n=t(e);return Rf=n,Rf}var Nf,Vw;function oi(){if(Vw)return Nf;Vw=1;function e(t){return t}return Nf=e,Nf}var Af,Gw;function xj(){if(Gw)return Af;Gw=1;var e=oi();function t(n){return typeof n=="function"?n:e}return Af=t,Af}var If,Kw;function wj(){if(Kw)return If;Kw=1;var e=sy(),t=Ec(),n=xj(),r=We();function i(o,a){var s=r(o)?e:t;return s(o,n(a))}return If=i,If}var Tf,Yw;function bj(){return Yw||(Yw=1,Tf=wj()),Tf}var Pf,Xw;function N$(){if(Xw)return Pf;Xw=1;var e=Ec();function t(n,r){var i=[];return e(n,function(o,a,s){r(o,a,s)&&i.push(o)}),i}return Pf=t,Pf}var Mf,Qw;function A$(){if(Qw)return Mf;Qw=1;var e="__lodash_hash_undefined__";function t(n){return this.__data__.set(n,e),this}return Mf=t,Mf}var Lf,Zw;function I$(){if(Zw)return Lf;Zw=1;function e(t){return this.__data__.has(t)}return Lf=e,Lf}var $f,Jw;function Sj(){if(Jw)return $f;Jw=1;var e=ay(),t=A$(),n=I$();function r(i){var o=-1,a=i==null?0:i.length;for(this.__data__=new e;++o<a;)this.add(i[o])}return r.prototype.add=r.prototype.push=t,r.prototype.has=n,$f=r,$f}var zf,eb;function T$(){if(eb)return zf;eb=1;function e(t,n){for(var r=-1,i=t==null?0:t.length;++r<i;)if(n(t[r],r,t))return!0;return!1}return zf=e,zf}var Of,tb;function _j(){if(tb)return Of;tb=1;function e(t,n){return t.has(n)}return Of=e,Of}var Ff,nb;function Ej(){if(nb)return Ff;nb=1;var e=Sj(),t=T$(),n=_j(),r=1,i=2;function o(a,s,l,c,u,f){var h=l&r,p=a.length,v=s.length;if(p!=v&&!(h&&v>p))return!1;var g=f.get(a),S=f.get(s);if(g&&S)return g==s&&S==a;var m=-1,y=!0,x=l&i?new e:void 0;for(f.set(a,s),f.set(s,a);++m<p;){var b=a[m],C=s[m];if(c)var N=h?c(C,b,m,s,a,f):c(b,C,m,a,s,f);if(N!==void 0){if(N)continue;y=!1;break}if(x){if(!t(s,function(E,R){if(!n(x,R)&&(b===E||u(b,E,l,c,f)))return x.push(R)})){y=!1;break}}else if(!(b===C||u(b,C,l,c,f))){y=!1;break}}return f.delete(a),f.delete(s),y}return Ff=o,Ff}var qf,rb;function P$(){if(rb)return qf;rb=1;function e(t){var n=-1,r=Array(t.size);return t.forEach(function(i,o){r[++n]=[o,i]}),r}return qf=e,qf}var Df,ib;function vy(){if(ib)return Df;ib=1;function e(t){var n=-1,r=Array(t.size);return t.forEach(function(i){r[++n]=i}),r}return Df=e,Df}var Bf,ob;function M$(){if(ob)return Bf;ob=1;var e=ro(),t=pj(),n=no(),r=Ej(),i=P$(),o=vy(),a=1,s=2,l="[object Boolean]",c="[object Date]",u="[object Error]",f="[object Map]",h="[object Number]",p="[object RegExp]",v="[object Set]",g="[object String]",S="[object Symbol]",m="[object ArrayBuffer]",y="[object DataView]",x=e?e.prototype:void 0,b=x?x.valueOf:void 0;function C(N,E,R,T,_,I,z){switch(R){case y:if(N.byteLength!=E.byteLength||N.byteOffset!=E.byteOffset)return!1;N=N.buffer,E=E.buffer;case m:return!(N.byteLength!=E.byteLength||!I(new t(N),new t(E)));case l:case c:case h:return n(+N,+E);case u:return N.name==E.name&&N.message==E.message;case p:case g:return N==E+"";case f:var $=i;case v:var j=T&a;if($||($=o),N.size!=E.size&&!j)return!1;var F=z.get(N);if(F)return F==E;T|=s,z.set(N,E);var k=r($(N),$(E),T,_,I,z);return z.delete(N),k;case S:if(b)return b.call(N)==b.call(E)}return!1}return Bf=C,Bf}var Hf,ab;function L$(){if(ab)return Hf;ab=1;var e=fj(),t=1,n=Object.prototype,r=n.hasOwnProperty;function i(o,a,s,l,c,u){var f=s&t,h=e(o),p=h.length,v=e(a),g=v.length;if(p!=g&&!f)return!1;for(var S=p;S--;){var m=h[S];if(!(f?m in a:r.call(a,m)))return!1}var y=u.get(o),x=u.get(a);if(y&&x)return y==a&&x==o;var b=!0;u.set(o,a),u.set(a,o);for(var C=f;++S<p;){m=h[S];var N=o[m],E=a[m];if(l)var R=f?l(E,N,m,a,o,u):l(N,E,m,o,a,u);if(!(R===void 0?N===E||c(N,E,s,l,u):R)){b=!1;break}C||(C=m=="constructor")}if(b&&!C){var T=o.constructor,_=a.constructor;T!=_&&"constructor"in o&&"constructor"in a&&!(typeof T=="function"&&T instanceof T&&typeof _=="function"&&_ instanceof _)&&(b=!1)}return u.delete(o),u.delete(a),b}return Hf=i,Hf}var Wf,sb;function $$(){if(sb)return Wf;sb=1;var e=vc(),t=Ej(),n=M$(),r=L$(),i=oo(),o=We(),a=io(),s=Fa(),l=1,c="[object Arguments]",u="[object Array]",f="[object Object]",h=Object.prototype,p=h.hasOwnProperty;function v(g,S,m,y,x,b){var C=o(g),N=o(S),E=C?u:i(g),R=N?u:i(S);E=E==c?f:E,R=R==c?f:R;var T=E==f,_=R==f,I=E==R;if(I&&a(g)){if(!a(S))return!1;C=!0,T=!1}if(I&&!T)return b||(b=new e),C||s(g)?t(g,S,m,y,x,b):n(g,S,E,m,y,x,b);if(!(m&l)){var z=T&&p.call(g,"__wrapped__"),$=_&&p.call(S,"__wrapped__");if(z||$){var j=z?g.value():g,F=$?S.value():S;return b||(b=new e),x(j,F,m,y,b)}}return I?(b||(b=new e),r(g,S,m,y,x,b)):!1}return Wf=v,Wf}var Uf,lb;function kj(){if(lb)return Uf;lb=1;var e=$$(),t=jn();function n(r,i,o,a,s){return r===i?!0:r==null||i==null||!t(r)&&!t(i)?r!==r&&i!==i:e(r,i,o,a,n,s)}return Uf=n,Uf}var Vf,cb;function z$(){if(cb)return Vf;cb=1;var e=vc(),t=kj(),n=1,r=2;function i(o,a,s,l){var c=s.length,u=c,f=!l;if(o==null)return!u;for(o=Object(o);c--;){var h=s[c];if(f&&h[2]?h[1]!==o[h[0]]:!(h[0]in o))return!1}for(;++c<u;){h=s[c];var p=h[0],v=o[p],g=h[1];if(f&&h[2]){if(v===void 0&&!(p in o))return!1}else{var S=new e;if(l)var m=l(v,g,p,o,a,S);if(!(m===void 0?t(g,v,n|r,l,S):m))return!1}}return!0}return Vf=i,Vf}var Gf,ub;function Cj(){if(ub)return Gf;ub=1;var e=Jt();function t(n){return n===n&&!e(n)}return Gf=t,Gf}var Kf,db;function O$(){if(db)return Kf;db=1;var e=Cj(),t=Ar();function n(r){for(var i=t(r),o=i.length;o--;){var a=i[o],s=r[a];i[o]=[a,s,e(s)]}return i}return Kf=n,Kf}var Yf,fb;function jj(){if(fb)return Yf;fb=1;function e(t,n){return function(r){return r==null?!1:r[t]===n&&(n!==void 0||t in Object(r))}}return Yf=e,Yf}var Xf,hb;function F$(){if(hb)return Xf;hb=1;var e=z$(),t=O$(),n=jj();function r(i){var o=t(i);return o.length==1&&o[0][2]?n(o[0][0],o[0][1]):function(a){return a===i||e(a,i,o)}}return Xf=r,Xf}var Qf,pb;function ao(){if(pb)return Qf;pb=1;var e=ni(),t=jn(),n="[object Symbol]";function r(i){return typeof i=="symbol"||t(i)&&e(i)==n}return Qf=r,Qf}var Zf,gb;function yy(){if(gb)return Zf;gb=1;var e=We(),t=ao(),n=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,r=/^\w*$/;function i(o,a){if(e(o))return!1;var s=typeof o;return s=="number"||s=="symbol"||s=="boolean"||o==null||t(o)?!0:r.test(o)||!n.test(o)||a!=null&&o in Object(a)}return Zf=i,Zf}var Jf,mb;function q$(){if(mb)return Jf;mb=1;var e=ay(),t="Expected a function";function n(r,i){if(typeof r!="function"||i!=null&&typeof i!="function")throw new TypeError(t);var o=function(){var a=arguments,s=i?i.apply(this,a):a[0],l=o.cache;if(l.has(s))return l.get(s);var c=r.apply(this,a);return o.cache=l.set(s,c)||l,c};return o.cache=new(n.Cache||e),o}return n.Cache=e,Jf=n,Jf}var eh,vb;function D$(){if(vb)return eh;vb=1;var e=q$(),t=500;function n(r){var i=e(r,function(a){return o.size===t&&o.clear(),a}),o=i.cache;return i}return eh=n,eh}var th,yb;function B$(){if(yb)return th;yb=1;var e=D$(),t=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,n=/\\(\\)?/g,r=e(function(i){var o=[];return i.charCodeAt(0)===46&&o.push(""),i.replace(t,function(a,s,l,c){o.push(l?c.replace(n,"$1"):s||a)}),o});return th=r,th}var nh,xb;function kc(){if(xb)return nh;xb=1;function e(t,n){for(var r=-1,i=t==null?0:t.length,o=Array(i);++r<i;)o[r]=n(t[r],r,t);return o}return nh=e,nh}var rh,wb;function H$(){if(wb)return rh;wb=1;var e=ro(),t=kc(),n=We(),r=ao(),i=e?e.prototype:void 0,o=i?i.toString:void 0;function a(s){if(typeof s=="string")return s;if(n(s))return t(s,a)+"";if(r(s))return o?o.call(s):"";var l=s+"";return l=="0"&&1/s==-1/0?"-0":l}return rh=a,rh}var ih,bb;function Rj(){if(bb)return ih;bb=1;var e=H$();function t(n){return n==null?"":e(n)}return ih=t,ih}var oh,Sb;function Cc(){if(Sb)return oh;Sb=1;var e=We(),t=yy(),n=B$(),r=Rj();function i(o,a){return e(o)?o:t(o,a)?[o]:n(r(o))}return oh=i,oh}var ah,_b;function qa(){if(_b)return ah;_b=1;var e=ao();function t(n){if(typeof n=="string"||e(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}return ah=t,ah}var sh,Eb;function jc(){if(Eb)return sh;Eb=1;var e=Cc(),t=qa();function n(r,i){i=e(i,r);for(var o=0,a=i.length;r!=null&&o<a;)r=r[t(i[o++])];return o&&o==a?r:void 0}return sh=n,sh}var lh,kb;function W$(){if(kb)return lh;kb=1;var e=jc();function t(n,r,i){var o=n==null?void 0:e(n,r);return o===void 0?i:o}return lh=t,lh}var ch,Cb;function U$(){if(Cb)return ch;Cb=1;function e(t,n){return t!=null&&n in Object(t)}return ch=e,ch}var uh,jb;function Nj(){if(jb)return uh;jb=1;var e=Cc(),t=Oa(),n=We(),r=wc(),i=ly(),o=qa();function a(s,l,c){l=e(l,s);for(var u=-1,f=l.length,h=!1;++u<f;){var p=o(l[u]);if(!(h=s!=null&&c(s,p)))break;s=s[p]}return h||++u!=f?h:(f=s==null?0:s.length,!!f&&i(f)&&r(p,f)&&(n(s)||t(s)))}return uh=a,uh}var dh,Rb;function Aj(){if(Rb)return dh;Rb=1;var e=U$(),t=Nj();function n(r,i){return r!=null&&t(r,i,e)}return dh=n,dh}var fh,Nb;function V$(){if(Nb)return fh;Nb=1;var e=kj(),t=W$(),n=Aj(),r=yy(),i=Cj(),o=jj(),a=qa(),s=1,l=2;function c(u,f){return r(u)&&i(f)?o(a(u),f):function(h){var p=t(h,u);return p===void 0&&p===f?n(h,u):e(f,p,s|l)}}return fh=c,fh}var hh,Ab;function Ij(){if(Ab)return hh;Ab=1;function e(t){return function(n){return n==null?void 0:n[t]}}return hh=e,hh}var ph,Ib;function G$(){if(Ib)return ph;Ib=1;var e=jc();function t(n){return function(r){return e(r,n)}}return ph=t,ph}var gh,Tb;function K$(){if(Tb)return gh;Tb=1;var e=Ij(),t=G$(),n=yy(),r=qa();function i(o){return n(o)?e(r(o)):t(o)}return gh=i,gh}var mh,Pb;function Kn(){if(Pb)return mh;Pb=1;var e=F$(),t=V$(),n=oi(),r=We(),i=K$();function o(a){return typeof a=="function"?a:a==null?n:typeof a=="object"?r(a)?t(a[0],a[1]):e(a):i(a)}return mh=o,mh}var vh,Mb;function Tj(){if(Mb)return vh;Mb=1;var e=lj(),t=N$(),n=Kn(),r=We();function i(o,a){var s=r(o)?e:t;return s(o,n(a,3))}return vh=i,vh}var yh,Lb;function Y$(){if(Lb)return yh;Lb=1;var e=Object.prototype,t=e.hasOwnProperty;function n(r,i){return r!=null&&t.call(r,i)}return yh=n,yh}var xh,$b;function Pj(){if($b)return xh;$b=1;var e=Y$(),t=Nj();function n(r,i){return r!=null&&t(r,i,e)}return xh=n,xh}var wh,zb;function X$(){if(zb)return wh;zb=1;var e=uy(),t=oo(),n=Oa(),r=We(),i=Gn(),o=io(),a=Sc(),s=Fa(),l="[object Map]",c="[object Set]",u=Object.prototype,f=u.hasOwnProperty;function h(p){if(p==null)return!0;if(i(p)&&(r(p)||typeof p=="string"||typeof p.splice=="function"||o(p)||s(p)||n(p)))return!p.length;var v=t(p);if(v==l||v==c)return!p.size;if(a(p))return!e(p).length;for(var g in p)if(f.call(p,g))return!1;return!0}return wh=h,wh}var bh,Ob;function Mj(){if(Ob)return bh;Ob=1;function e(t){return t===void 0}return bh=e,bh}var Sh,Fb;function Lj(){if(Fb)return Sh;Fb=1;var e=Ec(),t=Gn();function n(r,i){var o=-1,a=t(r)?Array(r.length):[];return e(r,function(s,l,c){a[++o]=i(s,l,c)}),a}return Sh=n,Sh}var _h,qb;function $j(){if(qb)return _h;qb=1;var e=kc(),t=Kn(),n=Lj(),r=We();function i(o,a){var s=r(o)?e:n;return s(o,t(a,3))}return _h=i,_h}var Eh,Db;function Q$(){if(Db)return Eh;Db=1;function e(t,n,r,i){var o=-1,a=t==null?0:t.length;for(i&&a&&(r=t[++o]);++o<a;)r=n(r,t[o],o,t);return r}return Eh=e,Eh}var kh,Bb;function Z$(){if(Bb)return kh;Bb=1;function e(t,n,r,i,o){return o(t,function(a,s,l){r=i?(i=!1,a):n(r,a,s,l)}),r}return kh=e,kh}var Ch,Hb;function zj(){if(Hb)return Ch;Hb=1;var e=Q$(),t=Ec(),n=Kn(),r=Z$(),i=We();function o(a,s,l){var c=i(a)?e:r,u=arguments.length<3;return c(a,n(s,4),l,u,t)}return Ch=o,Ch}var jh,Wb;function J$(){if(Wb)return jh;Wb=1;var e=ni(),t=We(),n=jn(),r="[object String]";function i(o){return typeof o=="string"||!t(o)&&n(o)&&e(o)==r}return jh=i,jh}var Rh,Ub;function ez(){if(Ub)return Rh;Ub=1;var e=Ij(),t=e("length");return Rh=t,Rh}var Nh,Vb;function tz(){if(Vb)return Nh;Vb=1;var e="\\ud800-\\udfff",t="\\u0300-\\u036f",n="\\ufe20-\\ufe2f",r="\\u20d0-\\u20ff",i=t+n+r,o="\\ufe0e\\ufe0f",a="\\u200d",s=RegExp("["+a+e+i+o+"]");function l(c){return s.test(c)}return Nh=l,Nh}var Ah,Gb;function nz(){if(Gb)return Ah;Gb=1;var e="\\ud800-\\udfff",t="\\u0300-\\u036f",n="\\ufe20-\\ufe2f",r="\\u20d0-\\u20ff",i=t+n+r,o="\\ufe0e\\ufe0f",a="["+e+"]",s="["+i+"]",l="\\ud83c[\\udffb-\\udfff]",c="(?:"+s+"|"+l+")",u="[^"+e+"]",f="(?:\\ud83c[\\udde6-\\uddff]){2}",h="[\\ud800-\\udbff][\\udc00-\\udfff]",p="\\u200d",v=c+"?",g="["+o+"]?",S="(?:"+p+"(?:"+[u,f,h].join("|")+")"+g+v+")*",m=g+v+S,y="(?:"+[u+s+"?",s,f,h,a].join("|")+")",x=RegExp(l+"(?="+l+")|"+y+m,"g");function b(C){for(var N=x.lastIndex=0;x.test(C);)++N;return N}return Ah=b,Ah}var Ih,Kb;function rz(){if(Kb)return Ih;Kb=1;var e=ez(),t=tz(),n=nz();function r(i){return t(i)?n(i):e(i)}return Ih=r,Ih}var Th,Yb;function iz(){if(Yb)return Th;Yb=1;var e=uy(),t=oo(),n=Gn(),r=J$(),i=rz(),o="[object Map]",a="[object Set]";function s(l){if(l==null)return 0;if(n(l))return r(l)?i(l):l.length;var c=t(l);return c==o||c==a?l.size:e(l).length}return Th=s,Th}var Ph,Xb;function oz(){if(Xb)return Ph;Xb=1;var e=sy(),t=mj(),n=my(),r=Kn(),i=_c(),o=We(),a=io(),s=$a(),l=Jt(),c=Fa();function u(f,h,p){var v=o(f),g=v||a(f)||c(f);if(h=r(h,4),p==null){var S=f&&f.constructor;g?p=v?new S:[]:l(f)?p=s(S)?t(i(f)):{}:p={}}return(g?e:n)(f,function(m,y,x){return h(p,m,y,x)}),p}return Ph=u,Ph}var Mh,Qb;function az(){if(Qb)return Mh;Qb=1;var e=ro(),t=Oa(),n=We(),r=e?e.isConcatSpreadable:void 0;function i(o){return n(o)||t(o)||!!(r&&o&&o[r])}return Mh=i,Mh}var Lh,Zb;function xy(){if(Zb)return Lh;Zb=1;var e=fy(),t=az();function n(r,i,o,a,s){var l=-1,c=r.length;for(o||(o=t),s||(s=[]);++l<c;){var u=r[l];i>0&&o(u)?i>1?n(u,i-1,o,a,s):e(s,u):a||(s[s.length]=u)}return s}return Lh=n,Lh}var $h,Jb;function sz(){if(Jb)return $h;Jb=1;function e(t,n,r){switch(r.length){case 0:return t.call(n);case 1:return t.call(n,r[0]);case 2:return t.call(n,r[0],r[1]);case 3:return t.call(n,r[0],r[1],r[2])}return t.apply(n,r)}return $h=e,$h}var zh,eS;function Oj(){if(eS)return zh;eS=1;var e=sz(),t=Math.max;function n(r,i,o){return i=t(i===void 0?r.length-1:i,0),function(){for(var a=arguments,s=-1,l=t(a.length-i,0),c=Array(l);++s<l;)c[s]=a[i+s];s=-1;for(var u=Array(i+1);++s<i;)u[s]=a[s];return u[i]=o(c),e(r,this,u)}}return zh=n,zh}var Oh,tS;function lz(){if(tS)return Oh;tS=1;var e=py(),t=rj(),n=oi(),r=t?function(i,o){return t(i,"toString",{configurable:!0,enumerable:!1,value:e(o),writable:!0})}:n;return Oh=r,Oh}var Fh,nS;function cz(){if(nS)return Fh;nS=1;var e=800,t=16,n=Date.now;function r(i){var o=0,a=0;return function(){var s=n(),l=t-(s-a);if(a=s,l>0){if(++o>=e)return arguments[0]}else o=0;return i.apply(void 0,arguments)}}return Fh=r,Fh}var qh,rS;function Fj(){if(rS)return qh;rS=1;var e=lz(),t=cz(),n=t(e);return qh=n,qh}var Dh,iS;function Rc(){if(iS)return Dh;iS=1;var e=oi(),t=Oj(),n=Fj();function r(i,o){return n(t(i,o,e),i+"")}return Dh=r,Dh}var Bh,oS;function qj(){if(oS)return Bh;oS=1;function e(t,n,r,i){for(var o=t.length,a=r+(i?1:-1);i?a--:++a<o;)if(n(t[a],a,t))return a;return-1}return Bh=e,Bh}var Hh,aS;function uz(){if(aS)return Hh;aS=1;function e(t){return t!==t}return Hh=e,Hh}var Wh,sS;function dz(){if(sS)return Wh;sS=1;function e(t,n,r){for(var i=r-1,o=t.length;++i<o;)if(t[i]===n)return i;return-1}return Wh=e,Wh}var Uh,lS;function fz(){if(lS)return Uh;lS=1;var e=qj(),t=uz(),n=dz();function r(i,o,a){return o===o?n(i,o,a):e(i,t,a)}return Uh=r,Uh}var Vh,cS;function hz(){if(cS)return Vh;cS=1;var e=fz();function t(n,r){var i=n==null?0:n.length;return!!i&&e(n,r,0)>-1}return Vh=t,Vh}var Gh,uS;function pz(){if(uS)return Gh;uS=1;function e(t,n,r){for(var i=-1,o=t==null?0:t.length;++i<o;)if(r(n,t[i]))return!0;return!1}return Gh=e,Gh}var Kh,dS;function gz(){if(dS)return Kh;dS=1;function e(){}return Kh=e,Kh}var Yh,fS;function mz(){if(fS)return Yh;fS=1;var e=hj(),t=gz(),n=vy(),r=1/0,i=e&&1/n(new e([,-0]))[1]==r?function(o){return new e(o)}:t;return Yh=i,Yh}var Xh,hS;function vz(){if(hS)return Xh;hS=1;var e=Sj(),t=hz(),n=pz(),r=_j(),i=mz(),o=vy(),a=200;function s(l,c,u){var f=-1,h=t,p=l.length,v=!0,g=[],S=g;if(u)v=!1,h=n;else if(p>=a){var m=c?null:i(l);if(m)return o(m);v=!1,h=r,S=new e}else S=c?[]:g;e:for(;++f<p;){var y=l[f],x=c?c(y):y;if(y=u||y!==0?y:0,v&&x===x){for(var b=S.length;b--;)if(S[b]===x)continue e;c&&S.push(x),g.push(y)}else h(S,x,u)||(S!==g&&S.push(x),g.push(y))}return g}return Xh=s,Xh}var Qh,pS;function Dj(){if(pS)return Qh;pS=1;var e=Gn(),t=jn();function n(r){return t(r)&&e(r)}return Qh=n,Qh}var Zh,gS;function yz(){if(gS)return Zh;gS=1;var e=xy(),t=Rc(),n=vz(),r=Dj(),i=t(function(o){return n(e(o,1,r,!0))});return Zh=i,Zh}var Jh,mS;function xz(){if(mS)return Jh;mS=1;var e=kc();function t(n,r){return e(r,function(i){return n[i]})}return Jh=t,Jh}var ep,vS;function Bj(){if(vS)return ep;vS=1;var e=xz(),t=Ar();function n(r){return r==null?[]:e(r,t(r))}return ep=n,ep}var tp,yS;function en(){if(yS)return tp;yS=1;var e;if(typeof iy=="function")try{e={clone:C$(),constant:py(),each:bj(),filter:Tj(),has:Pj(),isArray:We(),isEmpty:X$(),isFunction:$a(),isUndefined:Mj(),keys:Ar(),map:$j(),reduce:zj(),size:iz(),transform:oz(),union:yz(),values:Bj()}}catch{}return e||(e=window._),tp=e,tp}var np,xS;function wy(){if(xS)return np;xS=1;var e=en();np=i;var t="\0",n="\0",r="";function i(u){this._isDirected=e.has(u,"directed")?u.directed:!0,this._isMultigraph=e.has(u,"multigraph")?u.multigraph:!1,this._isCompound=e.has(u,"compound")?u.compound:!1,this._label=void 0,this._defaultNodeLabelFn=e.constant(void 0),this._defaultEdgeLabelFn=e.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[n]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}i.prototype._nodeCount=0,i.prototype._edgeCount=0,i.prototype.isDirected=function(){return this._isDirected},i.prototype.isMultigraph=function(){return this._isMultigraph},i.prototype.isCompound=function(){return this._isCompound},i.prototype.setGraph=function(u){return this._label=u,this},i.prototype.graph=function(){return this._label},i.prototype.setDefaultNodeLabel=function(u){return e.isFunction(u)||(u=e.constant(u)),this._defaultNodeLabelFn=u,this},i.prototype.nodeCount=function(){return this._nodeCount},i.prototype.nodes=function(){return e.keys(this._nodes)},i.prototype.sources=function(){var u=this;return e.filter(this.nodes(),function(f){return e.isEmpty(u._in[f])})},i.prototype.sinks=function(){var u=this;return e.filter(this.nodes(),function(f){return e.isEmpty(u._out[f])})},i.prototype.setNodes=function(u,f){var h=arguments,p=this;return e.each(u,function(v){h.length>1?p.setNode(v,f):p.setNode(v)}),this},i.prototype.setNode=function(u,f){return e.has(this._nodes,u)?(arguments.length>1&&(this._nodes[u]=f),this):(this._nodes[u]=arguments.length>1?f:this._defaultNodeLabelFn(u),this._isCompound&&(this._parent[u]=n,this._children[u]={},this._children[n][u]=!0),this._in[u]={},this._preds[u]={},this._out[u]={},this._sucs[u]={},++this._nodeCount,this)},i.prototype.node=function(u){return this._nodes[u]},i.prototype.hasNode=function(u){return e.has(this._nodes,u)},i.prototype.removeNode=function(u){var f=this;if(e.has(this._nodes,u)){var h=function(p){f.removeEdge(f._edgeObjs[p])};delete this._nodes[u],this._isCompound&&(this._removeFromParentsChildList(u),delete this._parent[u],e.each(this.children(u),function(p){f.setParent(p)}),delete this._children[u]),e.each(e.keys(this._in[u]),h),delete this._in[u],delete this._preds[u],e.each(e.keys(this._out[u]),h),delete this._out[u],delete this._sucs[u],--this._nodeCount}return this},i.prototype.setParent=function(u,f){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(e.isUndefined(f))f=n;else{f+="";for(var h=f;!e.isUndefined(h);h=this.parent(h))if(h===u)throw new Error("Setting "+f+" as parent of "+u+" would create a cycle");this.setNode(f)}return this.setNode(u),this._removeFromParentsChildList(u),this._parent[u]=f,this._children[f][u]=!0,this},i.prototype._removeFromParentsChildList=function(u){delete this._children[this._parent[u]][u]},i.prototype.parent=function(u){if(this._isCompound){var f=this._parent[u];if(f!==n)return f}},i.prototype.children=function(u){if(e.isUndefined(u)&&(u=n),this._isCompound){var f=this._children[u];if(f)return e.keys(f)}else{if(u===n)return this.nodes();if(this.hasNode(u))return[]}},i.prototype.predecessors=function(u){var f=this._preds[u];if(f)return e.keys(f)},i.prototype.successors=function(u){var f=this._sucs[u];if(f)return e.keys(f)},i.prototype.neighbors=function(u){var f=this.predecessors(u);if(f)return e.union(f,this.successors(u))},i.prototype.isLeaf=function(u){var f;return this.isDirected()?f=this.successors(u):f=this.neighbors(u),f.length===0},i.prototype.filterNodes=function(u){var f=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});f.setGraph(this.graph());var h=this;e.each(this._nodes,function(g,S){u(S)&&f.setNode(S,g)}),e.each(this._edgeObjs,function(g){f.hasNode(g.v)&&f.hasNode(g.w)&&f.setEdge(g,h.edge(g))});var p={};function v(g){var S=h.parent(g);return S===void 0||f.hasNode(S)?(p[g]=S,S):S in p?p[S]:v(S)}return this._isCompound&&e.each(f.nodes(),function(g){f.setParent(g,v(g))}),f},i.prototype.setDefaultEdgeLabel=function(u){return e.isFunction(u)||(u=e.constant(u)),this._defaultEdgeLabelFn=u,this},i.prototype.edgeCount=function(){return this._edgeCount},i.prototype.edges=function(){return e.values(this._edgeObjs)},i.prototype.setPath=function(u,f){var h=this,p=arguments;return e.reduce(u,function(v,g){return p.length>1?h.setEdge(v,g,f):h.setEdge(v,g),g}),this},i.prototype.setEdge=function(){var u,f,h,p,v=!1,g=arguments[0];typeof g=="object"&&g!==null&&"v"in g?(u=g.v,f=g.w,h=g.name,arguments.length===2&&(p=arguments[1],v=!0)):(u=g,f=arguments[1],h=arguments[3],arguments.length>2&&(p=arguments[2],v=!0)),u=""+u,f=""+f,e.isUndefined(h)||(h=""+h);var S=s(this._isDirected,u,f,h);if(e.has(this._edgeLabels,S))return v&&(this._edgeLabels[S]=p),this;if(!e.isUndefined(h)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(u),this.setNode(f),this._edgeLabels[S]=v?p:this._defaultEdgeLabelFn(u,f,h);var m=l(this._isDirected,u,f,h);return u=m.v,f=m.w,Object.freeze(m),this._edgeObjs[S]=m,o(this._preds[f],u),o(this._sucs[u],f),this._in[f][S]=m,this._out[u][S]=m,this._edgeCount++,this},i.prototype.edge=function(u,f,h){var p=arguments.length===1?c(this._isDirected,arguments[0]):s(this._isDirected,u,f,h);return this._edgeLabels[p]},i.prototype.hasEdge=function(u,f,h){var p=arguments.length===1?c(this._isDirected,arguments[0]):s(this._isDirected,u,f,h);return e.has(this._edgeLabels,p)},i.prototype.removeEdge=function(u,f,h){var p=arguments.length===1?c(this._isDirected,arguments[0]):s(this._isDirected,u,f,h),v=this._edgeObjs[p];return v&&(u=v.v,f=v.w,delete this._edgeLabels[p],delete this._edgeObjs[p],a(this._preds[f],u),a(this._sucs[u],f),delete this._in[f][p],delete this._out[u][p],this._edgeCount--),this},i.prototype.inEdges=function(u,f){var h=this._in[u];if(h){var p=e.values(h);return f?e.filter(p,function(v){return v.v===f}):p}},i.prototype.outEdges=function(u,f){var h=this._out[u];if(h){var p=e.values(h);return f?e.filter(p,function(v){return v.w===f}):p}},i.prototype.nodeEdges=function(u,f){var h=this.inEdges(u,f);if(h)return h.concat(this.outEdges(u,f))};function o(u,f){u[f]?u[f]++:u[f]=1}function a(u,f){--u[f]||delete u[f]}function s(u,f,h,p){var v=""+f,g=""+h;if(!u&&v>g){var S=v;v=g,g=S}return v+r+g+r+(e.isUndefined(p)?t:p)}function l(u,f,h,p){var v=""+f,g=""+h;if(!u&&v>g){var S=v;v=g,g=S}var m={v,w:g};return p&&(m.name=p),m}function c(u,f){return s(u,f.v,f.w,f.name)}return np}var rp,wS;function wz(){return wS||(wS=1,rp="2.1.8"),rp}var ip,bS;function bz(){return bS||(bS=1,ip={Graph:wy(),version:wz()}),ip}var op,SS;function Sz(){if(SS)return op;SS=1;var e=en(),t=wy();op={write:n,read:o};function n(a){var s={options:{directed:a.isDirected(),multigraph:a.isMultigraph(),compound:a.isCompound()},nodes:r(a),edges:i(a)};return e.isUndefined(a.graph())||(s.value=e.clone(a.graph())),s}function r(a){return e.map(a.nodes(),function(s){var l=a.node(s),c=a.parent(s),u={v:s};return e.isUndefined(l)||(u.value=l),e.isUndefined(c)||(u.parent=c),u})}function i(a){return e.map(a.edges(),function(s){var l=a.edge(s),c={v:s.v,w:s.w};return e.isUndefined(s.name)||(c.name=s.name),e.isUndefined(l)||(c.value=l),c})}function o(a){var s=new t(a.options).setGraph(a.value);return e.each(a.nodes,function(l){s.setNode(l.v,l.value),l.parent&&s.setParent(l.v,l.parent)}),e.each(a.edges,function(l){s.setEdge({v:l.v,w:l.w,name:l.name},l.value)}),s}return op}var ap,_S;function _z(){if(_S)return ap;_S=1;var e=en();ap=t;function t(n){var r={},i=[],o;function a(s){e.has(r,s)||(r[s]=!0,o.push(s),e.each(n.successors(s),a),e.each(n.predecessors(s),a))}return e.each(n.nodes(),function(s){o=[],a(s),o.length&&i.push(o)}),i}return ap}var sp,ES;function Hj(){if(ES)return sp;ES=1;var e=en();sp=t;function t(){this._arr=[],this._keyIndices={}}return t.prototype.size=function(){return this._arr.length},t.prototype.keys=function(){return this._arr.map(function(n){return n.key})},t.prototype.has=function(n){return e.has(this._keyIndices,n)},t.prototype.priority=function(n){var r=this._keyIndices[n];if(r!==void 0)return this._arr[r].priority},t.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},t.prototype.add=function(n,r){var i=this._keyIndices;if(n=String(n),!e.has(i,n)){var o=this._arr,a=o.length;return i[n]=a,o.push({key:n,priority:r}),this._decrease(a),!0}return!1},t.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var n=this._arr.pop();return delete this._keyIndices[n.key],this._heapify(0),n.key},t.prototype.decrease=function(n,r){var i=this._keyIndices[n];if(r>this._arr[i].priority)throw new Error("New priority is greater than current priority. Key: "+n+" Old: "+this._arr[i].priority+" New: "+r);this._arr[i].priority=r,this._decrease(i)},t.prototype._heapify=function(n){var r=this._arr,i=2*n,o=i+1,a=n;i<r.length&&(a=r[i].priority<r[a].priority?i:a,o<r.length&&(a=r[o].priority<r[a].priority?o:a),a!==n&&(this._swap(n,a),this._heapify(a)))},t.prototype._decrease=function(n){for(var r=this._arr,i=r[n].priority,o;n!==0&&(o=n>>1,!(r[o].priority<i));)this._swap(n,o),n=o},t.prototype._swap=function(n,r){var i=this._arr,o=this._keyIndices,a=i[n],s=i[r];i[n]=s,i[r]=a,o[s.key]=n,o[a.key]=r},sp}var lp,kS;function Wj(){if(kS)return lp;kS=1;var e=en(),t=Hj();lp=r;var n=e.constant(1);function r(o,a,s,l){return i(o,String(a),s||n,l||function(c){return o.outEdges(c)})}function i(o,a,s,l){var c={},u=new t,f,h,p=function(v){var g=v.v!==f?v.v:v.w,S=c[g],m=s(v),y=h.distance+m;if(m<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+v+" Weight: "+m);y<S.distance&&(S.distance=y,S.predecessor=f,u.decrease(g,y))};for(o.nodes().forEach(function(v){var g=v===a?0:Number.POSITIVE_INFINITY;c[v]={distance:g},u.add(v,g)});u.size()>0&&(f=u.removeMin(),h=c[f],h.distance!==Number.POSITIVE_INFINITY);)l(f).forEach(p);return c}return lp}var cp,CS;function Ez(){if(CS)return cp;CS=1;var e=Wj(),t=en();cp=n;function n(r,i,o){return t.transform(r.nodes(),function(a,s){a[s]=e(r,s,i,o)},{})}return cp}var up,jS;function Uj(){if(jS)return up;jS=1;var e=en();up=t;function t(n){var r=0,i=[],o={},a=[];function s(l){var c=o[l]={onStack:!0,lowlink:r,index:r++};if(i.push(l),n.successors(l).forEach(function(h){e.has(o,h)?o[h].onStack&&(c.lowlink=Math.min(c.lowlink,o[h].index)):(s(h),c.lowlink=Math.min(c.lowlink,o[h].lowlink))}),c.lowlink===c.index){var u=[],f;do f=i.pop(),o[f].onStack=!1,u.push(f);while(l!==f);a.push(u)}}return n.nodes().forEach(function(l){e.has(o,l)||s(l)}),a}return up}var dp,RS;function kz(){if(RS)return dp;RS=1;var e=en(),t=Uj();dp=n;function n(r){return e.filter(t(r),function(i){return i.length>1||i.length===1&&r.hasEdge(i[0],i[0])})}return dp}var fp,NS;function Cz(){if(NS)return fp;NS=1;var e=en();fp=n;var t=e.constant(1);function n(i,o,a){return r(i,o||t,a||function(s){return i.outEdges(s)})}function r(i,o,a){var s={},l=i.nodes();return l.forEach(function(c){s[c]={},s[c][c]={distance:0},l.forEach(function(u){c!==u&&(s[c][u]={distance:Number.POSITIVE_INFINITY})}),a(c).forEach(function(u){var f=u.v===c?u.w:u.v,h=o(u);s[c][f]={distance:h,predecessor:c}})}),l.forEach(function(c){var u=s[c];l.forEach(function(f){var h=s[f];l.forEach(function(p){var v=h[c],g=u[p],S=h[p],m=v.distance+g.distance;m<S.distance&&(S.distance=m,S.predecessor=g.predecessor)})})}),s}return fp}var hp,AS;function Vj(){if(AS)return hp;AS=1;var e=en();hp=t,t.CycleException=n;function t(r){var i={},o={},a=[];function s(l){if(e.has(o,l))throw new n;e.has(i,l)||(o[l]=!0,i[l]=!0,e.each(r.predecessors(l),s),delete o[l],a.push(l))}if(e.each(r.sinks(),s),e.size(i)!==r.nodeCount())throw new n;return a}function n(){}return n.prototype=new Error,hp}var pp,IS;function jz(){if(IS)return pp;IS=1;var e=Vj();pp=t;function t(n){try{e(n)}catch(r){if(r instanceof e.CycleException)return!1;throw r}return!0}return pp}var gp,TS;function Gj(){if(TS)return gp;TS=1;var e=en();gp=t;function t(r,i,o){e.isArray(i)||(i=[i]);var a=(r.isDirected()?r.successors:r.neighbors).bind(r),s=[],l={};return e.each(i,function(c){if(!r.hasNode(c))throw new Error("Graph does not have node: "+c);n(r,c,o==="post",l,a,s)}),s}function n(r,i,o,a,s,l){e.has(a,i)||(a[i]=!0,o||l.push(i),e.each(s(i),function(c){n(r,c,o,a,s,l)}),o&&l.push(i))}return gp}var mp,PS;function Rz(){if(PS)return mp;PS=1;var e=Gj();mp=t;function t(n,r){return e(n,r,"post")}return mp}var vp,MS;function Nz(){if(MS)return vp;MS=1;var e=Gj();vp=t;function t(n,r){return e(n,r,"pre")}return vp}var yp,LS;function Az(){if(LS)return yp;LS=1;var e=en(),t=wy(),n=Hj();yp=r;function r(i,o){var a=new t,s={},l=new n,c;function u(h){var p=h.v===c?h.w:h.v,v=l.priority(p);if(v!==void 0){var g=o(h);g<v&&(s[p]=c,l.decrease(p,g))}}if(i.nodeCount()===0)return a;e.each(i.nodes(),function(h){l.add(h,Number.POSITIVE_INFINITY),a.setNode(h)}),l.decrease(i.nodes()[0],0);for(var f=!1;l.size()>0;){if(c=l.removeMin(),e.has(s,c))a.setEdge(c,s[c]);else{if(f)throw new Error("Input graph is not connected: "+i);f=!0}i.nodeEdges(c).forEach(u)}return a}return yp}var xp,$S;function Iz(){return $S||($S=1,xp={components:_z(),dijkstra:Wj(),dijkstraAll:Ez(),findCycles:kz(),floydWarshall:Cz(),isAcyclic:jz(),postorder:Rz(),preorder:Nz(),prim:Az(),tarjan:Uj(),topsort:Vj()}),xp}var wp,zS;function Tz(){if(zS)return wp;zS=1;var e=bz();return wp={Graph:e.Graph,json:Sz(),alg:Iz(),version:e.version},wp}var Tl;if(typeof iy=="function")try{Tl=Tz()}catch{}Tl||(Tl=window.graphlib);var mn=Tl,bp,OS;function Pz(){if(OS)return bp;OS=1;var e=yj(),t=1,n=4;function r(i){return e(i,t|n)}return bp=r,bp}var Sp,FS;function Nc(){if(FS)return Sp;FS=1;var e=no(),t=Gn(),n=wc(),r=Jt();function i(o,a,s){if(!r(s))return!1;var l=typeof a;return(l=="number"?t(s)&&n(a,s.length):l=="string"&&a in s)?e(s[a],o):!1}return Sp=i,Sp}var _p,qS;function Mz(){if(qS)return _p;qS=1;var e=Rc(),t=no(),n=Nc(),r=ii(),i=Object.prototype,o=i.hasOwnProperty,a=e(function(s,l){s=Object(s);var c=-1,u=l.length,f=u>2?l[2]:void 0;for(f&&n(l[0],l[1],f)&&(u=1);++c<u;)for(var h=l[c],p=r(h),v=-1,g=p.length;++v<g;){var S=p[v],m=s[S];(m===void 0||t(m,i[S])&&!o.call(s,S))&&(s[S]=h[S])}return s});return _p=a,_p}var Ep,DS;function Lz(){if(DS)return Ep;DS=1;var e=Kn(),t=Gn(),n=Ar();function r(i){return function(o,a,s){var l=Object(o);if(!t(o)){var c=e(a,3);o=n(o),a=function(f){return c(l[f],f,l)}}var u=i(o,a,s);return u>-1?l[c?o[u]:u]:void 0}}return Ep=r,Ep}var kp,BS;function $z(){if(BS)return kp;BS=1;var e=/\s/;function t(n){for(var r=n.length;r--&&e.test(n.charAt(r)););return r}return kp=t,kp}var Cp,HS;function zz(){if(HS)return Cp;HS=1;var e=$z(),t=/^\s+/;function n(r){return r&&r.slice(0,e(r)+1).replace(t,"")}return Cp=n,Cp}var jp,WS;function Oz(){if(WS)return jp;WS=1;var e=zz(),t=Jt(),n=ao(),r=NaN,i=/^[-+]0x[0-9a-f]+$/i,o=/^0b[01]+$/i,a=/^0o[0-7]+$/i,s=parseInt;function l(c){if(typeof c=="number")return c;if(n(c))return r;if(t(c)){var u=typeof c.valueOf=="function"?c.valueOf():c;c=t(u)?u+"":u}if(typeof c!="string")return c===0?c:+c;c=e(c);var f=o.test(c);return f||a.test(c)?s(c.slice(2),f?2:8):i.test(c)?r:+c}return jp=l,jp}var Rp,US;function Kj(){if(US)return Rp;US=1;var e=Oz(),t=1/0,n=17976931348623157e292;function r(i){if(!i)return i===0?i:0;if(i=e(i),i===t||i===-t){var o=i<0?-1:1;return o*n}return i===i?i:0}return Rp=r,Rp}var Np,VS;function Fz(){if(VS)return Np;VS=1;var e=Kj();function t(n){var r=e(n),i=r%1;return r===r?i?r-i:r:0}return Np=t,Np}var Ap,GS;function qz(){if(GS)return Ap;GS=1;var e=qj(),t=Kn(),n=Fz(),r=Math.max;function i(o,a,s){var l=o==null?0:o.length;if(!l)return-1;var c=s==null?0:n(s);return c<0&&(c=r(l+c,0)),e(o,t(a,3),c)}return Ap=i,Ap}var Ip,KS;function Dz(){if(KS)return Ip;KS=1;var e=Lz(),t=qz(),n=e(t);return Ip=n,Ip}var Tp,YS;function Yj(){if(YS)return Tp;YS=1;var e=xy();function t(n){var r=n==null?0:n.length;return r?e(n,1):[]}return Tp=t,Tp}var Pp,XS;function Bz(){if(XS)return Pp;XS=1;var e=gy(),t=xj(),n=ii();function r(i,o){return i==null?i:e(i,t(o),n)}return Pp=r,Pp}var Mp,QS;function Hz(){if(QS)return Mp;QS=1;function e(t){var n=t==null?0:t.length;return n?t[n-1]:void 0}return Mp=e,Mp}var Lp,ZS;function Wz(){if(ZS)return Lp;ZS=1;var e=yc(),t=my(),n=Kn();function r(i,o){var a={};return o=n(o,3),t(i,function(s,l,c){e(a,l,o(s,l,c))}),a}return Lp=r,Lp}var $p,JS;function by(){if(JS)return $p;JS=1;var e=ao();function t(n,r,i){for(var o=-1,a=n.length;++o<a;){var s=n[o],l=r(s);if(l!=null&&(c===void 0?l===l&&!e(l):i(l,c)))var c=l,u=s}return u}return $p=t,$p}var zp,e_;function Uz(){if(e_)return zp;e_=1;function e(t,n){return t>n}return zp=e,zp}var Op,t_;function Vz(){if(t_)return Op;t_=1;var e=by(),t=Uz(),n=oi();function r(i){return i&&i.length?e(i,n,t):void 0}return Op=r,Op}var Fp,n_;function Xj(){if(n_)return Fp;n_=1;var e=yc(),t=no();function n(r,i,o){(o!==void 0&&!t(r[i],o)||o===void 0&&!(i in r))&&e(r,i,o)}return Fp=n,Fp}var qp,r_;function Gz(){if(r_)return qp;r_=1;var e=ni(),t=_c(),n=jn(),r="[object Object]",i=Function.prototype,o=Object.prototype,a=i.toString,s=o.hasOwnProperty,l=a.call(Object);function c(u){if(!n(u)||e(u)!=r)return!1;var f=t(u);if(f===null)return!0;var h=s.call(f,"constructor")&&f.constructor;return typeof h=="function"&&h instanceof h&&a.call(h)==l}return qp=c,qp}var Dp,i_;function Qj(){if(i_)return Dp;i_=1;function e(t,n){if(!(n==="constructor"&&typeof t[n]=="function")&&n!="__proto__")return t[n]}return Dp=e,Dp}var Bp,o_;function Kz(){if(o_)return Bp;o_=1;var e=za(),t=ii();function n(r){return e(r,t(r))}return Bp=n,Bp}var Hp,a_;function Yz(){if(a_)return Hp;a_=1;var e=Xj(),t=aj(),n=gj(),r=sj(),i=vj(),o=Oa(),a=We(),s=Dj(),l=io(),c=$a(),u=Jt(),f=Gz(),h=Fa(),p=Qj(),v=Kz();function g(S,m,y,x,b,C,N){var E=p(S,y),R=p(m,y),T=N.get(R);if(T){e(S,y,T);return}var _=C?C(E,R,y+"",S,m,N):void 0,I=_===void 0;if(I){var z=a(R),$=!z&&l(R),j=!z&&!$&&h(R);_=R,z||$||j?a(E)?_=E:s(E)?_=r(E):$?(I=!1,_=t(R,!0)):j?(I=!1,_=n(R,!0)):_=[]:f(R)||o(R)?(_=E,o(E)?_=v(E):(!u(E)||c(E))&&(_=i(R))):I=!1}I&&(N.set(R,_),b(_,R,x,C,N),N.delete(R)),e(S,y,_)}return Hp=g,Hp}var Wp,s_;function Xz(){if(s_)return Wp;s_=1;var e=vc(),t=Xj(),n=gy(),r=Yz(),i=Jt(),o=ii(),a=Qj();function s(l,c,u,f,h){l!==c&&n(c,function(p,v){if(h||(h=new e),i(p))r(l,c,v,u,s,f,h);else{var g=f?f(a(l,v),p,v+"",l,c,h):void 0;g===void 0&&(g=p),t(l,v,g)}},o)}return Wp=s,Wp}var Up,l_;function Qz(){if(l_)return Up;l_=1;var e=Rc(),t=Nc();function n(r){return e(function(i,o){var a=-1,s=o.length,l=s>1?o[s-1]:void 0,c=s>2?o[2]:void 0;for(l=r.length>3&&typeof l=="function"?(s--,l):void 0,c&&t(o[0],o[1],c)&&(l=s<3?void 0:l,s=1),i=Object(i);++a<s;){var u=o[a];u&&r(i,u,a,l)}return i})}return Up=n,Up}var Vp,c_;function Zz(){if(c_)return Vp;c_=1;var e=Xz(),t=Qz(),n=t(function(r,i,o){e(r,i,o)});return Vp=n,Vp}var Gp,u_;function Zj(){if(u_)return Gp;u_=1;function e(t,n){return t<n}return Gp=e,Gp}var Kp,d_;function Jz(){if(d_)return Kp;d_=1;var e=by(),t=Zj(),n=oi();function r(i){return i&&i.length?e(i,n,t):void 0}return Kp=r,Kp}var Yp,f_;function eO(){if(f_)return Yp;f_=1;var e=by(),t=Kn(),n=Zj();function r(i,o){return i&&i.length?e(i,t(o,2),n):void 0}return Yp=r,Yp}var Xp,h_;function tO(){if(h_)return Xp;h_=1;var e=gn(),t=function(){return e.Date.now()};return Xp=t,Xp}var Qp,p_;function nO(){if(p_)return Qp;p_=1;var e=xc(),t=Cc(),n=wc(),r=Jt(),i=qa();function o(a,s,l,c){if(!r(a))return a;s=t(s,a);for(var u=-1,f=s.length,h=f-1,p=a;p!=null&&++u<f;){var v=i(s[u]),g=l;if(v==="__proto__"||v==="constructor"||v==="prototype")return a;if(u!=h){var S=p[v];g=c?c(S,v,p):void 0,g===void 0&&(g=r(S)?S:n(s[u+1])?[]:{})}e(p,v,g),p=p[v]}return a}return Qp=o,Qp}var Zp,g_;function rO(){if(g_)return Zp;g_=1;var e=jc(),t=nO(),n=Cc();function r(i,o,a){for(var s=-1,l=o.length,c={};++s<l;){var u=o[s],f=e(i,u);a(f,u)&&t(c,n(u,i),f)}return c}return Zp=r,Zp}var Jp,m_;function iO(){if(m_)return Jp;m_=1;var e=rO(),t=Aj();function n(r,i){return e(r,i,function(o,a){return t(r,a)})}return Jp=n,Jp}var eg,v_;function oO(){if(v_)return eg;v_=1;var e=Yj(),t=Oj(),n=Fj();function r(i){return n(t(i,void 0,e),i+"")}return eg=r,eg}var tg,y_;function aO(){if(y_)return tg;y_=1;var e=iO(),t=oO(),n=t(function(r,i){return r==null?{}:e(r,i)});return tg=n,tg}var ng,x_;function sO(){if(x_)return ng;x_=1;var e=Math.ceil,t=Math.max;function n(r,i,o,a){for(var s=-1,l=t(e((i-r)/(o||1)),0),c=Array(l);l--;)c[a?l:++s]=r,r+=o;return c}return ng=n,ng}var rg,w_;function lO(){if(w_)return rg;w_=1;var e=sO(),t=Nc(),n=Kj();function r(i){return function(o,a,s){return s&&typeof s!="number"&&t(o,a,s)&&(a=s=void 0),o=n(o),a===void 0?(a=o,o=0):a=n(a),s=s===void 0?o<a?1:-1:n(s),e(o,a,s,i)}}return rg=r,rg}var ig,b_;function cO(){if(b_)return ig;b_=1;var e=lO(),t=e();return ig=t,ig}var og,S_;function uO(){if(S_)return og;S_=1;function e(t,n){var r=t.length;for(t.sort(n);r--;)t[r]=t[r].value;return t}return og=e,og}var ag,__;function dO(){if(__)return ag;__=1;var e=ao();function t(n,r){if(n!==r){var i=n!==void 0,o=n===null,a=n===n,s=e(n),l=r!==void 0,c=r===null,u=r===r,f=e(r);if(!c&&!f&&!s&&n>r||s&&l&&u&&!c&&!f||o&&l&&u||!i&&u||!a)return 1;if(!o&&!s&&!f&&n<r||f&&i&&a&&!o&&!s||c&&i&&a||!l&&a||!u)return-1}return 0}return ag=t,ag}var sg,E_;function fO(){if(E_)return sg;E_=1;var e=dO();function t(n,r,i){for(var o=-1,a=n.criteria,s=r.criteria,l=a.length,c=i.length;++o<l;){var u=e(a[o],s[o]);if(u){if(o>=c)return u;var f=i[o];return u*(f=="desc"?-1:1)}}return n.index-r.index}return sg=t,sg}var lg,k_;function hO(){if(k_)return lg;k_=1;var e=kc(),t=jc(),n=Kn(),r=Lj(),i=uO(),o=bc(),a=fO(),s=oi(),l=We();function c(u,f,h){f.length?f=e(f,function(g){return l(g)?function(S){return t(S,g.length===1?g[0]:g)}:g}):f=[s];var p=-1;f=e(f,o(n));var v=r(u,function(g,S,m){var y=e(f,function(x){return x(g)});return{criteria:y,index:++p,value:g}});return i(v,function(g,S){return a(g,S,h)})}return lg=c,lg}var cg,C_;function pO(){if(C_)return cg;C_=1;var e=xy(),t=hO(),n=Rc(),r=Nc(),i=n(function(o,a){if(o==null)return[];var s=a.length;return s>1&&r(o,a[0],a[1])?a=[]:s>2&&r(a[0],a[1],a[2])&&(a=[a[0]]),t(o,e(a,1),[])});return cg=i,cg}var ug,j_;function gO(){if(j_)return ug;j_=1;var e=Rj(),t=0;function n(r){var i=++t;return e(r)+i}return ug=n,ug}var dg,R_;function mO(){if(R_)return dg;R_=1;function e(t,n,r){for(var i=-1,o=t.length,a=n.length,s={};++i<o;){var l=i<a?n[i]:void 0;r(s,t[i],l)}return s}return dg=e,dg}var fg,N_;function vO(){if(N_)return fg;N_=1;var e=xc(),t=mO();function n(r,i){return t(r||[],i||[],e)}return fg=n,fg}var Pl;if(typeof iy=="function")try{Pl={cloneDeep:Pz(),constant:py(),defaults:Mz(),each:bj(),filter:Tj(),find:Dz(),flatten:Yj(),forEach:wj(),forIn:Bz(),has:Pj(),isUndefined:Mj(),last:Hz(),map:$j(),mapValues:Wz(),max:Vz(),merge:Zz(),min:Jz(),minBy:eO(),now:tO(),pick:aO(),range:cO(),reduce:zj(),sortBy:pO(),uniqueId:gO(),values:Bj(),zipObject:vO()}}catch{}Pl||(Pl=window._);var Pe=Pl,yO=Ac;function Ac(){var e={};e._next=e._prev=e,this._sentinel=e}Ac.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;if(t!==e)return Jj(t),t};Ac.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&Jj(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t};Ac.prototype.toString=function(){for(var e=[],t=this._sentinel,n=t._prev;n!==t;)e.push(JSON.stringify(n,xO)),n=n._prev;return"["+e.join(", ")+"]"};function Jj(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function xO(e,t){if(e!=="_next"&&e!=="_prev")return t}var Ln=Pe,wO=mn.Graph,bO=yO,SO=EO,_O=Ln.constant(1);function EO(e,t){if(e.nodeCount()<=1)return[];var n=CO(e,t||_O),r=kO(n.graph,n.buckets,n.zeroIdx);return Ln.flatten(Ln.map(r,function(i){return e.outEdges(i.v,i.w)}),!0)}function kO(e,t,n){for(var r=[],i=t[t.length-1],o=t[0],a;e.nodeCount();){for(;a=o.dequeue();)hg(e,t,n,a);for(;a=i.dequeue();)hg(e,t,n,a);if(e.nodeCount()){for(var s=t.length-2;s>0;--s)if(a=t[s].dequeue(),a){r=r.concat(hg(e,t,n,a,!0));break}}}return r}function hg(e,t,n,r,i){var o=i?[]:void 0;return Ln.forEach(e.inEdges(r.v),function(a){var s=e.edge(a),l=e.node(a.v);i&&o.push({v:a.v,w:a.w}),l.out-=s,qm(t,n,l)}),Ln.forEach(e.outEdges(r.v),function(a){var s=e.edge(a),l=a.w,c=e.node(l);c.in-=s,qm(t,n,c)}),e.removeNode(r.v),o}function CO(e,t){var n=new wO,r=0,i=0;Ln.forEach(e.nodes(),function(s){n.setNode(s,{v:s,in:0,out:0})}),Ln.forEach(e.edges(),function(s){var l=n.edge(s.v,s.w)||0,c=t(s),u=l+c;n.setEdge(s.v,s.w,u),i=Math.max(i,n.node(s.v).out+=c),r=Math.max(r,n.node(s.w).in+=c)});var o=Ln.range(i+r+3).map(function(){return new bO}),a=r+1;return Ln.forEach(n.nodes(),function(s){qm(o,a,n.node(s))}),{graph:n,buckets:o,zeroIdx:a}}function qm(e,t,n){n.out?n.in?e[n.out-n.in+t].enqueue(n):e[e.length-1].enqueue(n):e[0].enqueue(n)}var Br=Pe,jO=SO,RO={run:NO,undo:IO};function NO(e){var t=e.graph().acyclicer==="greedy"?jO(e,n(e)):AO(e);Br.forEach(t,function(r){var i=e.edge(r);e.removeEdge(r),i.forwardName=r.name,i.reversed=!0,e.setEdge(r.w,r.v,i,Br.uniqueId("rev"))});function n(r){return function(i){return r.edge(i).weight}}}function AO(e){var t=[],n={},r={};function i(o){Br.has(r,o)||(r[o]=!0,n[o]=!0,Br.forEach(e.outEdges(o),function(a){Br.has(n,a.w)?t.push(a):i(a.w)}),delete n[o])}return Br.forEach(e.nodes(),i),t}function IO(e){Br.forEach(e.edges(),function(t){var n=e.edge(t);if(n.reversed){e.removeEdge(t);var r=n.forwardName;delete n.reversed,delete n.forwardName,e.setEdge(t.w,t.v,n,r)}})}var ye=Pe,eR=mn.Graph,Rt={addDummyNode:tR,simplify:TO,asNonCompoundGraph:PO,successorWeights:MO,predecessorWeights:LO,intersectRect:$O,buildLayerMatrix:zO,normalizeRanks:OO,removeEmptyRanks:FO,addBorderNode:qO,maxRank:nR,partition:DO,time:BO,notime:HO};function tR(e,t,n,r){var i;do i=ye.uniqueId(r);while(e.hasNode(i));return n.dummy=t,e.setNode(i,n),i}function TO(e){var t=new eR().setGraph(e.graph());return ye.forEach(e.nodes(),function(n){t.setNode(n,e.node(n))}),ye.forEach(e.edges(),function(n){var r=t.edge(n.v,n.w)||{weight:0,minlen:1},i=e.edge(n);t.setEdge(n.v,n.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})}),t}function PO(e){var t=new eR({multigraph:e.isMultigraph()}).setGraph(e.graph());return ye.forEach(e.nodes(),function(n){e.children(n).length||t.setNode(n,e.node(n))}),ye.forEach(e.edges(),function(n){t.setEdge(n,e.edge(n))}),t}function MO(e){var t=ye.map(e.nodes(),function(n){var r={};return ye.forEach(e.outEdges(n),function(i){r[i.w]=(r[i.w]||0)+e.edge(i).weight}),r});return ye.zipObject(e.nodes(),t)}function LO(e){var t=ye.map(e.nodes(),function(n){var r={};return ye.forEach(e.inEdges(n),function(i){r[i.v]=(r[i.v]||0)+e.edge(i).weight}),r});return ye.zipObject(e.nodes(),t)}function $O(e,t){var n=e.x,r=e.y,i=t.x-n,o=t.y-r,a=e.width/2,s=e.height/2;if(!i&&!o)throw new Error("Not possible to find intersection inside of the rectangle");var l,c;return Math.abs(o)*a>Math.abs(i)*s?(o<0&&(s=-s),l=s*i/o,c=s):(i<0&&(a=-a),l=a,c=a*o/i),{x:n+l,y:r+c}}function zO(e){var t=ye.map(ye.range(nR(e)+1),function(){return[]});return ye.forEach(e.nodes(),function(n){var r=e.node(n),i=r.rank;ye.isUndefined(i)||(t[i][r.order]=n)}),t}function OO(e){var t=ye.min(ye.map(e.nodes(),function(n){return e.node(n).rank}));ye.forEach(e.nodes(),function(n){var r=e.node(n);ye.has(r,"rank")&&(r.rank-=t)})}function FO(e){var t=ye.min(ye.map(e.nodes(),function(o){return e.node(o).rank})),n=[];ye.forEach(e.nodes(),function(o){var a=e.node(o).rank-t;n[a]||(n[a]=[]),n[a].push(o)});var r=0,i=e.graph().nodeRankFactor;ye.forEach(n,function(o,a){ye.isUndefined(o)&&a%i!==0?--r:r&&ye.forEach(o,function(s){e.node(s).rank+=r})})}function qO(e,t,n,r){var i={width:0,height:0};return arguments.length>=4&&(i.rank=n,i.order=r),tR(e,"border",i,t)}function nR(e){return ye.max(ye.map(e.nodes(),function(t){var n=e.node(t).rank;if(!ye.isUndefined(n))return n}))}function DO(e,t){var n={lhs:[],rhs:[]};return ye.forEach(e,function(r){t(r)?n.lhs.push(r):n.rhs.push(r)}),n}function BO(e,t){var n=ye.now();try{return t()}finally{console.log(e+" time: "+(ye.now()-n)+"ms")}}function HO(e,t){return t()}var rR=Pe,WO=Rt,UO={run:VO,undo:KO};function VO(e){e.graph().dummyChains=[],rR.forEach(e.edges(),function(t){GO(e,t)})}function GO(e,t){var n=t.v,r=e.node(n).rank,i=t.w,o=e.node(i).rank,a=t.name,s=e.edge(t),l=s.labelRank;if(o!==r+1){e.removeEdge(t);var c,u,f;for(f=0,++r;r<o;++f,++r)s.points=[],u={width:0,height:0,edgeLabel:s,edgeObj:t,rank:r},c=WO.addDummyNode(e,"edge",u,"_d"),r===l&&(u.width=s.width,u.height=s.height,u.dummy="edge-label",u.labelpos=s.labelpos),e.setEdge(n,c,{weight:s.weight},a),f===0&&e.graph().dummyChains.push(c),n=c;e.setEdge(n,i,{weight:s.weight},a)}}function KO(e){rR.forEach(e.graph().dummyChains,function(t){var n=e.node(t),r=n.edgeLabel,i;for(e.setEdge(n.edgeObj,r);n.dummy;)i=e.successors(t)[0],e.removeNode(t),r.points.push({x:n.x,y:n.y}),n.dummy==="edge-label"&&(r.x=n.x,r.y=n.y,r.width=n.width,r.height=n.height),t=i,n=e.node(t)})}var Cs=Pe,Ic={longestPath:YO,slack:XO};function YO(e){var t={};function n(r){var i=e.node(r);if(Cs.has(t,r))return i.rank;t[r]=!0;var o=Cs.min(Cs.map(e.outEdges(r),function(a){return n(a.w)-e.edge(a).minlen}));return(o===Number.POSITIVE_INFINITY||o===void 0||o===null)&&(o=0),i.rank=o}Cs.forEach(e.sources(),n)}function XO(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}var Ml=Pe,QO=mn.Graph,Ll=Ic.slack,iR=ZO;function ZO(e){var t=new QO({directed:!1}),n=e.nodes()[0],r=e.nodeCount();t.setNode(n,{});for(var i,o;JO(t,e)<r;)i=eF(t,e),o=t.hasNode(i.v)?Ll(e,i):-Ll(e,i),tF(t,e,o);return t}function JO(e,t){function n(r){Ml.forEach(t.nodeEdges(r),function(i){var o=i.v,a=r===o?i.w:o;!e.hasNode(a)&&!Ll(t,i)&&(e.setNode(a,{}),e.setEdge(r,a,{}),n(a))})}return Ml.forEach(e.nodes(),n),e.nodeCount()}function eF(e,t){return Ml.minBy(t.edges(),function(n){if(e.hasNode(n.v)!==e.hasNode(n.w))return Ll(t,n)})}function tF(e,t,n){Ml.forEach(e.nodes(),function(r){t.node(r).rank+=n})}var Un=Pe,nF=iR,rF=Ic.slack,iF=Ic.longestPath,oF=mn.alg.preorder,aF=mn.alg.postorder,sF=Rt.simplify,lF=ai;ai.initLowLimValues=_y;ai.initCutValues=Sy;ai.calcCutValue=oR;ai.leaveEdge=sR;ai.enterEdge=lR;ai.exchangeEdges=cR;function ai(e){e=sF(e),iF(e);var t=nF(e);_y(t),Sy(t,e);for(var n,r;n=sR(t);)r=lR(t,e,n),cR(t,e,n,r)}function Sy(e,t){var n=aF(e,e.nodes());n=n.slice(0,n.length-1),Un.forEach(n,function(r){cF(e,t,r)})}function cF(e,t,n){var r=e.node(n),i=r.parent;e.edge(n,i).cutvalue=oR(e,t,n)}function oR(e,t,n){var r=e.node(n),i=r.parent,o=!0,a=t.edge(n,i),s=0;return a||(o=!1,a=t.edge(i,n)),s=a.weight,Un.forEach(t.nodeEdges(n),function(l){var c=l.v===n,u=c?l.w:l.v;if(u!==i){var f=c===o,h=t.edge(l).weight;if(s+=f?h:-h,dF(e,n,u)){var p=e.edge(n,u).cutvalue;s+=f?-p:p}}}),s}function _y(e,t){arguments.length<2&&(t=e.nodes()[0]),aR(e,{},1,t)}function aR(e,t,n,r,i){var o=n,a=e.node(r);return t[r]=!0,Un.forEach(e.neighbors(r),function(s){Un.has(t,s)||(n=aR(e,t,n,s,r))}),a.low=o,a.lim=n++,i?a.parent=i:delete a.parent,n}function sR(e){return Un.find(e.edges(),function(t){return e.edge(t).cutvalue<0})}function lR(e,t,n){var r=n.v,i=n.w;t.hasEdge(r,i)||(r=n.w,i=n.v);var o=e.node(r),a=e.node(i),s=o,l=!1;o.lim>a.lim&&(s=a,l=!0);var c=Un.filter(t.edges(),function(u){return l===A_(e,e.node(u.v),s)&&l!==A_(e,e.node(u.w),s)});return Un.minBy(c,function(u){return rF(t,u)})}function cR(e,t,n,r){var i=n.v,o=n.w;e.removeEdge(i,o),e.setEdge(r.v,r.w,{}),_y(e),Sy(e,t),uF(e,t)}function uF(e,t){var n=Un.find(e.nodes(),function(i){return!t.node(i).parent}),r=oF(e,n);r=r.slice(1),Un.forEach(r,function(i){var o=e.node(i).parent,a=t.edge(i,o),s=!1;a||(a=t.edge(o,i),s=!0),t.node(i).rank=t.node(o).rank+(s?a.minlen:-a.minlen)})}function dF(e,t,n){return e.hasEdge(t,n)}function A_(e,t,n){return n.low<=t.lim&&t.lim<=n.lim}var fF=Ic,uR=fF.longestPath,hF=iR,pF=lF,gF=mF;function mF(e){switch(e.graph().ranker){case"network-simplex":I_(e);break;case"tight-tree":yF(e);break;case"longest-path":vF(e);break;default:I_(e)}}var vF=uR;function yF(e){uR(e),hF(e)}function I_(e){pF(e)}var Dm=Pe,xF=wF;function wF(e){var t=SF(e);Dm.forEach(e.graph().dummyChains,function(n){for(var r=e.node(n),i=r.edgeObj,o=bF(e,t,i.v,i.w),a=o.path,s=o.lca,l=0,c=a[l],u=!0;n!==i.w;){if(r=e.node(n),u){for(;(c=a[l])!==s&&e.node(c).maxRank<r.rank;)l++;c===s&&(u=!1)}if(!u){for(;l<a.length-1&&e.node(c=a[l+1]).minRank<=r.rank;)l++;c=a[l]}e.setParent(n,c),n=e.successors(n)[0]}})}function bF(e,t,n,r){var i=[],o=[],a=Math.min(t[n].low,t[r].low),s=Math.max(t[n].lim,t[r].lim),l,c;l=n;do l=e.parent(l),i.push(l);while(l&&(t[l].low>a||s>t[l].lim));for(c=l,l=r;(l=e.parent(l))!==c;)o.push(l);return{path:i.concat(o.reverse()),lca:c}}function SF(e){var t={},n=0;function r(i){var o=n;Dm.forEach(e.children(i),r),t[i]={low:o,lim:n++}}return Dm.forEach(e.children(),r),t}var $n=Pe,Bm=Rt,_F={run:EF,cleanup:jF};function EF(e){var t=Bm.addDummyNode(e,"root",{},"_root"),n=kF(e),r=$n.max($n.values(n))-1,i=2*r+1;e.graph().nestingRoot=t,$n.forEach(e.edges(),function(a){e.edge(a).minlen*=i});var o=CF(e)+1;$n.forEach(e.children(),function(a){dR(e,t,i,o,r,n,a)}),e.graph().nodeRankFactor=i}function dR(e,t,n,r,i,o,a){var s=e.children(a);if(!s.length){a!==t&&e.setEdge(t,a,{weight:0,minlen:n});return}var l=Bm.addBorderNode(e,"_bt"),c=Bm.addBorderNode(e,"_bb"),u=e.node(a);e.setParent(l,a),u.borderTop=l,e.setParent(c,a),u.borderBottom=c,$n.forEach(s,function(f){dR(e,t,n,r,i,o,f);var h=e.node(f),p=h.borderTop?h.borderTop:f,v=h.borderBottom?h.borderBottom:f,g=h.borderTop?r:2*r,S=p!==v?1:i-o[a]+1;e.setEdge(l,p,{weight:g,minlen:S,nestingEdge:!0}),e.setEdge(v,c,{weight:g,minlen:S,nestingEdge:!0})}),e.parent(a)||e.setEdge(t,l,{weight:0,minlen:i+o[a]})}function kF(e){var t={};function n(r,i){var o=e.children(r);o&&o.length&&$n.forEach(o,function(a){n(a,i+1)}),t[r]=i}return $n.forEach(e.children(),function(r){n(r,1)}),t}function CF(e){return $n.reduce(e.edges(),function(t,n){return t+e.edge(n).weight},0)}function jF(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,$n.forEach(e.edges(),function(n){var r=e.edge(n);r.nestingEdge&&e.removeEdge(n)})}var pg=Pe,RF=Rt,NF=AF;function AF(e){function t(n){var r=e.children(n),i=e.node(n);if(r.length&&pg.forEach(r,t),pg.has(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var o=i.minRank,a=i.maxRank+1;o<a;++o)T_(e,"borderLeft","_bl",n,i,o),T_(e,"borderRight","_br",n,i,o)}}pg.forEach(e.children(),t)}function T_(e,t,n,r,i,o){var a={width:0,height:0,rank:o,borderType:t},s=i[t][o-1],l=RF.addDummyNode(e,"border",a,n);i[t][o]=l,e.setParent(l,r),s&&e.setEdge(s,l,{weight:1})}var Sn=Pe,IF={adjust:TF,undo:PF};function TF(e){var t=e.graph().rankdir.toLowerCase();(t==="lr"||t==="rl")&&fR(e)}function PF(e){var t=e.graph().rankdir.toLowerCase();(t==="bt"||t==="rl")&&MF(e),(t==="lr"||t==="rl")&&(LF(e),fR(e))}function fR(e){Sn.forEach(e.nodes(),function(t){P_(e.node(t))}),Sn.forEach(e.edges(),function(t){P_(e.edge(t))})}function P_(e){var t=e.width;e.width=e.height,e.height=t}function MF(e){Sn.forEach(e.nodes(),function(t){gg(e.node(t))}),Sn.forEach(e.edges(),function(t){var n=e.edge(t);Sn.forEach(n.points,gg),Sn.has(n,"y")&&gg(n)})}function gg(e){e.y=-e.y}function LF(e){Sn.forEach(e.nodes(),function(t){mg(e.node(t))}),Sn.forEach(e.edges(),function(t){var n=e.edge(t);Sn.forEach(n.points,mg),Sn.has(n,"x")&&mg(n)})}function mg(e){var t=e.x;e.x=e.y,e.y=t}var Nn=Pe,$F=zF;function zF(e){var t={},n=Nn.filter(e.nodes(),function(s){return!e.children(s).length}),r=Nn.max(Nn.map(n,function(s){return e.node(s).rank})),i=Nn.map(Nn.range(r+1),function(){return[]});function o(s){if(!Nn.has(t,s)){t[s]=!0;var l=e.node(s);i[l.rank].push(s),Nn.forEach(e.successors(s),o)}}var a=Nn.sortBy(n,function(s){return e.node(s).rank});return Nn.forEach(a,o),i}var Jn=Pe,OF=FF;function FF(e,t){for(var n=0,r=1;r<t.length;++r)n+=qF(e,t[r-1],t[r]);return n}function qF(e,t,n){for(var r=Jn.zipObject(n,Jn.map(n,function(c,u){return u})),i=Jn.flatten(Jn.map(t,function(c){return Jn.sortBy(Jn.map(e.outEdges(c),function(u){return{pos:r[u.w],weight:e.edge(u).weight}}),"pos")}),!0),o=1;o<n.length;)o<<=1;var a=2*o-1;o-=1;var s=Jn.map(new Array(a),function(){return 0}),l=0;return Jn.forEach(i.forEach(function(c){var u=c.pos+o;s[u]+=c.weight;for(var f=0;u>0;)u%2&&(f+=s[u+1]),u=u-1>>1,s[u]+=c.weight;l+=c.weight*f})),l}var M_=Pe,DF=BF;function BF(e,t){return M_.map(t,function(n){var r=e.inEdges(n);if(r.length){var i=M_.reduce(r,function(o,a){var s=e.edge(a),l=e.node(a.v);return{sum:o.sum+s.weight*l.order,weight:o.weight+s.weight}},{sum:0,weight:0});return{v:n,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:n}})}var Mt=Pe,HF=WF;function WF(e,t){var n={};Mt.forEach(e,function(i,o){var a=n[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:o};Mt.isUndefined(i.barycenter)||(a.barycenter=i.barycenter,a.weight=i.weight)}),Mt.forEach(t.edges(),function(i){var o=n[i.v],a=n[i.w];!Mt.isUndefined(o)&&!Mt.isUndefined(a)&&(a.indegree++,o.out.push(n[i.w]))});var r=Mt.filter(n,function(i){return!i.indegree});return UF(r)}function UF(e){var t=[];function n(o){return function(a){a.merged||(Mt.isUndefined(a.barycenter)||Mt.isUndefined(o.barycenter)||a.barycenter>=o.barycenter)&&VF(o,a)}}function r(o){return function(a){a.in.push(o),--a.indegree===0&&e.push(a)}}for(;e.length;){var i=e.pop();t.push(i),Mt.forEach(i.in.reverse(),n(i)),Mt.forEach(i.out,r(i))}return Mt.map(Mt.filter(t,function(o){return!o.merged}),function(o){return Mt.pick(o,["vs","i","barycenter","weight"])})}function VF(e,t){var n=0,r=0;e.weight&&(n+=e.barycenter*e.weight,r+=e.weight),t.weight&&(n+=t.barycenter*t.weight,r+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=n/r,e.weight=r,e.i=Math.min(t.i,e.i),t.merged=!0}var Ho=Pe,GF=Rt,KF=YF;function YF(e,t){var n=GF.partition(e,function(u){return Ho.has(u,"barycenter")}),r=n.lhs,i=Ho.sortBy(n.rhs,function(u){return-u.i}),o=[],a=0,s=0,l=0;r.sort(XF(!!t)),l=L_(o,i,l),Ho.forEach(r,function(u){l+=u.vs.length,o.push(u.vs),a+=u.barycenter*u.weight,s+=u.weight,l=L_(o,i,l)});var c={vs:Ho.flatten(o,!0)};return s&&(c.barycenter=a/s,c.weight=s),c}function L_(e,t,n){for(var r;t.length&&(r=Ho.last(t)).i<=n;)t.pop(),e.push(r.vs),n++;return n}function XF(e){return function(t,n){return t.barycenter<n.barycenter?-1:t.barycenter>n.barycenter?1:e?n.i-t.i:t.i-n.i}}var cr=Pe,QF=DF,ZF=HF,JF=KF,e6=hR;function hR(e,t,n,r){var i=e.children(t),o=e.node(t),a=o?o.borderLeft:void 0,s=o?o.borderRight:void 0,l={};a&&(i=cr.filter(i,function(v){return v!==a&&v!==s}));var c=QF(e,i);cr.forEach(c,function(v){if(e.children(v.v).length){var g=hR(e,v.v,n,r);l[v.v]=g,cr.has(g,"barycenter")&&n6(v,g)}});var u=ZF(c,n);t6(u,l);var f=JF(u,r);if(a&&(f.vs=cr.flatten([a,f.vs,s],!0),e.predecessors(a).length)){var h=e.node(e.predecessors(a)[0]),p=e.node(e.predecessors(s)[0]);cr.has(f,"barycenter")||(f.barycenter=0,f.weight=0),f.barycenter=(f.barycenter*f.weight+h.order+p.order)/(f.weight+2),f.weight+=2}return f}function t6(e,t){cr.forEach(e,function(n){n.vs=cr.flatten(n.vs.map(function(r){return t[r]?t[r].vs:r}),!0)})}function n6(e,t){cr.isUndefined(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}var Wo=Pe,r6=mn.Graph,i6=o6;function o6(e,t,n){var r=a6(e),i=new r6({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(function(o){return e.node(o)});return Wo.forEach(e.nodes(),function(o){var a=e.node(o),s=e.parent(o);(a.rank===t||a.minRank<=t&&t<=a.maxRank)&&(i.setNode(o),i.setParent(o,s||r),Wo.forEach(e[n](o),function(l){var c=l.v===o?l.w:l.v,u=i.edge(c,o),f=Wo.isUndefined(u)?0:u.weight;i.setEdge(c,o,{weight:e.edge(l).weight+f})}),Wo.has(a,"minRank")&&i.setNode(o,{borderLeft:a.borderLeft[t],borderRight:a.borderRight[t]}))}),i}function a6(e){for(var t;e.hasNode(t=Wo.uniqueId("_root")););return t}var s6=Pe,l6=c6;function c6(e,t,n){var r={},i;s6.forEach(n,function(o){for(var a=e.parent(o),s,l;a;){if(s=e.parent(a),s?(l=r[s],r[s]=a):(l=i,i=a),l&&l!==a){t.setEdge(l,a);return}a=s}})}var Sr=Pe,u6=$F,d6=OF,f6=e6,h6=i6,p6=l6,g6=mn.Graph,$_=Rt,m6=v6;function v6(e){var t=$_.maxRank(e),n=z_(e,Sr.range(1,t+1),"inEdges"),r=z_(e,Sr.range(t-1,-1,-1),"outEdges"),i=u6(e);O_(e,i);for(var o=Number.POSITIVE_INFINITY,a,s=0,l=0;l<4;++s,++l){y6(s%2?n:r,s%4>=2),i=$_.buildLayerMatrix(e);var c=d6(e,i);c<o&&(l=0,a=Sr.cloneDeep(i),o=c)}O_(e,a)}function z_(e,t,n){return Sr.map(t,function(r){return h6(e,r,n)})}function y6(e,t){var n=new g6;Sr.forEach(e,function(r){var i=r.graph().root,o=f6(r,i,n,t);Sr.forEach(o.vs,function(a,s){r.node(a).order=s}),p6(r,n,o.vs)})}function O_(e,t){Sr.forEach(t,function(n){Sr.forEach(n,function(r,i){e.node(r).order=i})})}var le=Pe,x6=mn.Graph,w6=Rt,b6={positionX:T6};function S6(e,t){var n={};function r(i,o){var a=0,s=0,l=i.length,c=le.last(o);return le.forEach(o,function(u,f){var h=E6(e,u),p=h?e.node(h).order:l;(h||u===c)&&(le.forEach(o.slice(s,f+1),function(v){le.forEach(e.predecessors(v),function(g){var S=e.node(g),m=S.order;(m<a||p<m)&&!(S.dummy&&e.node(v).dummy)&&pR(n,g,v)})}),s=f+1,a=p)}),o}return le.reduce(t,r),n}function _6(e,t){var n={};function r(o,a,s,l,c){var u;le.forEach(le.range(a,s),function(f){u=o[f],e.node(u).dummy&&le.forEach(e.predecessors(u),function(h){var p=e.node(h);p.dummy&&(p.order<l||p.order>c)&&pR(n,h,u)})})}function i(o,a){var s=-1,l,c=0;return le.forEach(a,function(u,f){if(e.node(u).dummy==="border"){var h=e.predecessors(u);h.length&&(l=e.node(h[0]).order,r(a,c,f,s,l),c=f,s=l)}r(a,c,a.length,l,o.length)}),a}return le.reduce(t,i),n}function E6(e,t){if(e.node(t).dummy)return le.find(e.predecessors(t),function(n){return e.node(n).dummy})}function pR(e,t,n){if(t>n){var r=t;t=n,n=r}var i=e[t];i||(e[t]=i={}),i[n]=!0}function k6(e,t,n){if(t>n){var r=t;t=n,n=r}return le.has(e[t],n)}function C6(e,t,n,r){var i={},o={},a={};return le.forEach(t,function(s){le.forEach(s,function(l,c){i[l]=l,o[l]=l,a[l]=c})}),le.forEach(t,function(s){var l=-1;le.forEach(s,function(c){var u=r(c);if(u.length){u=le.sortBy(u,function(g){return a[g]});for(var f=(u.length-1)/2,h=Math.floor(f),p=Math.ceil(f);h<=p;++h){var v=u[h];o[c]===c&&l<a[v]&&!k6(n,c,v)&&(o[v]=c,o[c]=i[c]=i[v],l=a[v])}}})}),{root:i,align:o}}function j6(e,t,n,r,i){var o={},a=R6(e,t,n,i),s=i?"borderLeft":"borderRight";function l(f,h){for(var p=a.nodes(),v=p.pop(),g={};v;)g[v]?f(v):(g[v]=!0,p.push(v),p=p.concat(h(v))),v=p.pop()}function c(f){o[f]=a.inEdges(f).reduce(function(h,p){return Math.max(h,o[p.v]+a.edge(p))},0)}function u(f){var h=a.outEdges(f).reduce(function(v,g){return Math.min(v,o[g.w]-a.edge(g))},Number.POSITIVE_INFINITY),p=e.node(f);h!==Number.POSITIVE_INFINITY&&p.borderType!==s&&(o[f]=Math.max(o[f],h))}return l(c,a.predecessors.bind(a)),l(u,a.successors.bind(a)),le.forEach(r,function(f){o[f]=o[n[f]]}),o}function R6(e,t,n,r){var i=new x6,o=e.graph(),a=P6(o.nodesep,o.edgesep,r);return le.forEach(t,function(s){var l;le.forEach(s,function(c){var u=n[c];if(i.setNode(u),l){var f=n[l],h=i.edge(f,u);i.setEdge(f,u,Math.max(a(e,c,l),h||0))}l=c})}),i}function N6(e,t){return le.minBy(le.values(t),function(n){var r=Number.NEGATIVE_INFINITY,i=Number.POSITIVE_INFINITY;return le.forIn(n,function(o,a){var s=M6(e,a)/2;r=Math.max(o+s,r),i=Math.min(o-s,i)}),r-i})}function A6(e,t){var n=le.values(t),r=le.min(n),i=le.max(n);le.forEach(["u","d"],function(o){le.forEach(["l","r"],function(a){var s=o+a,l=e[s],c;if(l!==t){var u=le.values(l);c=a==="l"?r-le.min(u):i-le.max(u),c&&(e[s]=le.mapValues(l,function(f){return f+c}))}})})}function I6(e,t){return le.mapValues(e.ul,function(n,r){if(t)return e[t.toLowerCase()][r];var i=le.sortBy(le.map(e,r));return(i[1]+i[2])/2})}function T6(e){var t=w6.buildLayerMatrix(e),n=le.merge(S6(e,t),_6(e,t)),r={},i;le.forEach(["u","d"],function(a){i=a==="u"?t:le.values(t).reverse(),le.forEach(["l","r"],function(s){s==="r"&&(i=le.map(i,function(f){return le.values(f).reverse()}));var l=(a==="u"?e.predecessors:e.successors).bind(e),c=C6(e,i,n,l),u=j6(e,i,c.root,c.align,s==="r");s==="r"&&(u=le.mapValues(u,function(f){return-f})),r[a+s]=u})});var o=N6(e,r);return A6(r,o),I6(r,e.graph().align)}function P6(e,t,n){return function(r,i,o){var a=r.node(i),s=r.node(o),l=0,c;if(l+=a.width/2,le.has(a,"labelpos"))switch(a.labelpos.toLowerCase()){case"l":c=-a.width/2;break;case"r":c=a.width/2;break}if(c&&(l+=n?c:-c),c=0,l+=(a.dummy?t:e)/2,l+=(s.dummy?t:e)/2,l+=s.width/2,le.has(s,"labelpos"))switch(s.labelpos.toLowerCase()){case"l":c=s.width/2;break;case"r":c=-s.width/2;break}return c&&(l+=n?c:-c),c=0,l}}function M6(e,t){return e.node(t).width}var Uo=Pe,gR=Rt,L6=b6.positionX,$6=z6;function z6(e){e=gR.asNonCompoundGraph(e),O6(e),Uo.forEach(L6(e),function(t,n){e.node(n).x=t})}function O6(e){var t=gR.buildLayerMatrix(e),n=e.graph().ranksep,r=0;Uo.forEach(t,function(i){var o=Uo.max(Uo.map(i,function(a){return e.node(a).height}));Uo.forEach(i,function(a){e.node(a).y=r+o/2}),r+=o+n})}var de=Pe,F_=RO,q_=UO,F6=gF,q6=Rt.normalizeRanks,D6=xF,B6=Rt.removeEmptyRanks,D_=_F,H6=NF,B_=IF,W6=m6,U6=$6,Cr=Rt,V6=mn.Graph,G6=K6;function K6(e,t){var n=t&&t.debugTiming?Cr.time:Cr.notime;n("layout",function(){var r=n(" buildLayoutGraph",function(){return o8(e)});n(" runLayout",function(){Y6(r,n)}),n(" updateInputGraph",function(){X6(e,r)})})}function Y6(e,t){t(" makeSpaceForEdgeLabels",function(){a8(e)}),t(" removeSelfEdges",function(){g8(e)}),t(" acyclic",function(){F_.run(e)}),t(" nestingGraph.run",function(){D_.run(e)}),t(" rank",function(){F6(Cr.asNonCompoundGraph(e))}),t(" injectEdgeLabelProxies",function(){s8(e)}),t(" removeEmptyRanks",function(){B6(e)}),t(" nestingGraph.cleanup",function(){D_.cleanup(e)}),t(" normalizeRanks",function(){q6(e)}),t(" assignRankMinMax",function(){l8(e)}),t(" removeEdgeLabelProxies",function(){c8(e)}),t(" normalize.run",function(){q_.run(e)}),t(" parentDummyChains",function(){D6(e)}),t(" addBorderSegments",function(){H6(e)}),t(" order",function(){W6(e)}),t(" insertSelfEdges",function(){m8(e)}),t(" adjustCoordinateSystem",function(){B_.adjust(e)}),t(" position",function(){U6(e)}),t(" positionSelfEdges",function(){v8(e)}),t(" removeBorderNodes",function(){p8(e)}),t(" normalize.undo",function(){q_.undo(e)}),t(" fixupEdgeLabelCoords",function(){f8(e)}),t(" undoCoordinateSystem",function(){B_.undo(e)}),t(" translateGraph",function(){u8(e)}),t(" assignNodeIntersects",function(){d8(e)}),t(" reversePoints",function(){h8(e)}),t(" acyclic.undo",function(){F_.undo(e)})}function X6(e,t){de.forEach(e.nodes(),function(n){var r=e.node(n),i=t.node(n);r&&(r.x=i.x,r.y=i.y,t.children(n).length&&(r.width=i.width,r.height=i.height))}),de.forEach(e.edges(),function(n){var r=e.edge(n),i=t.edge(n);r.points=i.points,de.has(i,"x")&&(r.x=i.x,r.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}var Q6=["nodesep","edgesep","ranksep","marginx","marginy"],Z6={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},J6=["acyclicer","ranker","rankdir","align"],e8=["width","height"],t8={width:0,height:0},n8=["minlen","weight","width","height","labeloffset"],r8={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},i8=["labelpos"];function o8(e){var t=new V6({multigraph:!0,compound:!0}),n=yg(e.graph());return t.setGraph(de.merge({},Z6,vg(n,Q6),de.pick(n,J6))),de.forEach(e.nodes(),function(r){var i=yg(e.node(r));t.setNode(r,de.defaults(vg(i,e8),t8)),t.setParent(r,e.parent(r))}),de.forEach(e.edges(),function(r){var i=yg(e.edge(r));t.setEdge(r,de.merge({},r8,vg(i,n8),de.pick(i,i8)))}),t}function a8(e){var t=e.graph();t.ranksep/=2,de.forEach(e.edges(),function(n){var r=e.edge(n);r.minlen*=2,r.labelpos.toLowerCase()!=="c"&&(t.rankdir==="TB"||t.rankdir==="BT"?r.width+=r.labeloffset:r.height+=r.labeloffset)})}function s8(e){de.forEach(e.edges(),function(t){var n=e.edge(t);if(n.width&&n.height){var r=e.node(t.v),i=e.node(t.w),o={rank:(i.rank-r.rank)/2+r.rank,e:t};Cr.addDummyNode(e,"edge-proxy",o,"_ep")}})}function l8(e){var t=0;de.forEach(e.nodes(),function(n){var r=e.node(n);r.borderTop&&(r.minRank=e.node(r.borderTop).rank,r.maxRank=e.node(r.borderBottom).rank,t=de.max(t,r.maxRank))}),e.graph().maxRank=t}function c8(e){de.forEach(e.nodes(),function(t){var n=e.node(t);n.dummy==="edge-proxy"&&(e.edge(n.e).labelRank=n.rank,e.removeNode(t))})}function u8(e){var t=Number.POSITIVE_INFINITY,n=0,r=Number.POSITIVE_INFINITY,i=0,o=e.graph(),a=o.marginx||0,s=o.marginy||0;function l(c){var u=c.x,f=c.y,h=c.width,p=c.height;t=Math.min(t,u-h/2),n=Math.max(n,u+h/2),r=Math.min(r,f-p/2),i=Math.max(i,f+p/2)}de.forEach(e.nodes(),function(c){l(e.node(c))}),de.forEach(e.edges(),function(c){var u=e.edge(c);de.has(u,"x")&&l(u)}),t-=a,r-=s,de.forEach(e.nodes(),function(c){var u=e.node(c);u.x-=t,u.y-=r}),de.forEach(e.edges(),function(c){var u=e.edge(c);de.forEach(u.points,function(f){f.x-=t,f.y-=r}),de.has(u,"x")&&(u.x-=t),de.has(u,"y")&&(u.y-=r)}),o.width=n-t+a,o.height=i-r+s}function d8(e){de.forEach(e.edges(),function(t){var n=e.edge(t),r=e.node(t.v),i=e.node(t.w),o,a;n.points?(o=n.points[0],a=n.points[n.points.length-1]):(n.points=[],o=i,a=r),n.points.unshift(Cr.intersectRect(r,o)),n.points.push(Cr.intersectRect(i,a))})}function f8(e){de.forEach(e.edges(),function(t){var n=e.edge(t);if(de.has(n,"x"))switch((n.labelpos==="l"||n.labelpos==="r")&&(n.width-=n.labeloffset),n.labelpos){case"l":n.x-=n.width/2+n.labeloffset;break;case"r":n.x+=n.width/2+n.labeloffset;break}})}function h8(e){de.forEach(e.edges(),function(t){var n=e.edge(t);n.reversed&&n.points.reverse()})}function p8(e){de.forEach(e.nodes(),function(t){if(e.children(t).length){var n=e.node(t),r=e.node(n.borderTop),i=e.node(n.borderBottom),o=e.node(de.last(n.borderLeft)),a=e.node(de.last(n.borderRight));n.width=Math.abs(a.x-o.x),n.height=Math.abs(i.y-r.y),n.x=o.x+n.width/2,n.y=r.y+n.height/2}}),de.forEach(e.nodes(),function(t){e.node(t).dummy==="border"&&e.removeNode(t)})}function g8(e){de.forEach(e.edges(),function(t){if(t.v===t.w){var n=e.node(t.v);n.selfEdges||(n.selfEdges=[]),n.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function m8(e){var t=Cr.buildLayerMatrix(e);de.forEach(t,function(n){var r=0;de.forEach(n,function(i,o){var a=e.node(i);a.order=o+r,de.forEach(a.selfEdges,function(s){Cr.addDummyNode(e,"selfedge",{width:s.label.width,height:s.label.height,rank:a.rank,order:o+ ++r,e:s.e,label:s.label},"_se")}),delete a.selfEdges})})}function v8(e){de.forEach(e.nodes(),function(t){var n=e.node(t);if(n.dummy==="selfedge"){var r=e.node(n.e.v),i=r.x+r.width/2,o=r.y,a=n.x-i,s=r.height/2;e.setEdge(n.e,n.label),e.removeNode(t),n.label.points=[{x:i+2*a/3,y:o-s},{x:i+5*a/6,y:o-s},{x:i+a,y:o},{x:i+5*a/6,y:o+s},{x:i+2*a/3,y:o+s}],n.label.x=n.x,n.label.y=n.y}})}function vg(e,t){return de.mapValues(de.pick(e,t),Number)}function yg(e){var t={};return de.forEach(e,function(n,r){t[r.toLowerCase()]=n}),t}var js=Pe,y8=Rt,x8=mn.Graph,w8={debugOrdering:b8};function b8(e){var t=y8.buildLayerMatrix(e),n=new x8({compound:!0,multigraph:!0}).setGraph({});return js.forEach(e.nodes(),function(r){n.setNode(r,{label:r}),n.setParent(r,"layer"+e.node(r).rank)}),js.forEach(e.edges(),function(r){n.setEdge(r.v,r.w,{},r.name)}),js.forEach(t,function(r,i){var o="layer"+i;n.setNode(o,{rank:"same"}),js.reduce(r,function(a,s){return n.setEdge(a,s,{style:"invis"}),s})}),n}var S8="0.8.5",_8={graphlib:mn,layout:G6,debug:w8,util:{time:Rt.time,notime:Rt.notime},version:S8};const H_=Um(_8),mR=200,vR=80,E8=5,er=new Map;function k8(e,t,n){const r=e.map(o=>{var l,c,u;const a=((l=o.data)==null?void 0:l.width)||(((c=o.data)==null?void 0:c.type)==="section"?220:mR),s=((u=o.data)==null?void 0:u.height)||vR;return`${o.id}@${a}x${s}`}).sort().join(","),i=t.map(o=>`${o.source}-${o.target}`).sort().join(",");return`${n}:${r}:${i}`}function C8(e){return e<=2?2:e<=6?3:e<=12?4:Math.max(4,Math.ceil(Math.sqrt(e)))}function j8(e,t){const n=new Set;for(const o of t)n.add(o.source),n.add(o.target);const r=[],i=[];for(const o of e)n.has(o.id)?i.push(o):r.push(o);return{isolated:r,connected:i}}function yR(e,t,n="LR",r=mR,i=vR){var u,f,h,p,v;const o=k8(e,t,n),a=n==="TB"?Y.Bottom:Y.Right,s=n==="TB"?Y.Top:Y.Left;let l;if(er.has(o))l=er.get(o),er.delete(o),er.set(o,l);else{const{isolated:g,connected:S}=j8(e,t),m=new H_.graphlib.Graph;m.setDefaultEdgeLabel(()=>({})),m.setGraph({rankdir:n,nodesep:n==="TB"?60:50,ranksep:80,marginx:30,marginy:30});for(const N of S){const E=((u=N.data)==null?void 0:u.width)||(((f=N.data)==null?void 0:f.type)==="section"?220:r),R=((h=N.data)==null?void 0:h.height)||i;m.setNode(N.id,{width:E,height:R})}for(const N of t)m.setEdge(N.source,N.target);S.length>0&&H_.layout(m),l=new Map;let y=1/0,x=-1/0,b=1/0,C=-1/0;for(const N of S){const E=m.node(N.id);if(!E)continue;const R=((p=N.data)==null?void 0:p.width)||r,T=((v=N.data)==null?void 0:v.height)||i,_=E.x-R/2,I=E.y-T/2;l.set(N.id,{x:_,y:I}),_<y&&(y=_),_+R>x&&(x=_+R),I<b&&(b=I),I+T>C&&(C=I+T)}if(g.length>0){const N=C8(g.length),E=r+40,R=i+30;let T,_;S.length===0?(T=30,_=30):n==="LR"?(T=x+80,_=b):(T=y,_=C+80),g.forEach((I,z)=>{const $=z%N,j=Math.floor(z/N);l.set(I.id,{x:T+$*E,y:_+j*R})})}if(er.size>=E8){const N=er.keys().next().value;N!==void 0&&er.delete(N)}er.set(o,l)}return{nodes:e.map(g=>{const S=l.get(g.id);return S?{...g,position:{x:S.x,y:S.y},sourcePosition:a,targetPosition:s}:g}),edges:t}}const W_=zt,U_=fc,R8={express:"#68d391",fastify:"#63b3ed",nestjs:"#fc8181",koa:"#f6ad55",django:"#44b884",flask:"#a0aec0",fastapi:"#009688",spring:"#6db33f",micronaut:"#a0aec0",gin:"#00add8",echo:"#00add8",chi:"#00add8",fiber:"#00add8",actix:"#dea584",axum:"#dea584",rocket:"#dea584",aspnet:"#512bd4",laravel:"#ff2d20",symfony:"#a0aec0",rails:"#cc0000",sinatra:"#cc0000",vapor:"#a0aec0",unknown:"#a0aec0"},N8={express:"#16a34a",fastify:"#2563eb",nestjs:"#dc2626",koa:"#d97706",django:"#15803d",flask:"#4b5563",fastapi:"#0d9488",spring:"#4d7c0f",micronaut:"#4b5563",gin:"#0284c7",echo:"#0284c7",chi:"#0284c7",fiber:"#0284c7",actix:"#c2410c",axum:"#c2410c",rocket:"#c2410c",aspnet:"#6d28d9",laravel:"#dc2626",symfony:"#4b5563",rails:"#b91c1c",sinatra:"#b91c1c",vapor:"#4b5563",unknown:"#6b7280"};function A8(e){const n=document.documentElement.dataset.theme==="light"?N8:R8;return n[e]??n.unknown}function I8({data:e}){var h,p,v,g,S,m,y,x,b;const t=e.diff||"unchanged",n=((h=e.meta)==null?void 0:h.external)===!0,r=W_[t]||W_.unchanged,i=t==="deleted",o=((p=e.meta)==null?void 0:p.technology)??"unknown",a=A8(o),s=((v=e.meta)==null?void 0:v.infra)===!0,l=(g=e.meta)==null?void 0:g.kind;function c(){return s?l==="database"?"🗄️":l==="cache"?"⚡":l==="queue"?"📨":"🔌":n?"🌐":"⬡"}const u=s&&t!=="unchanged",f={background:u?r.bg:s?"var(--ca-infra-bg)":n?"var(--ca-external-bg)":r.bg,border:`2px ${Jr[t]||"solid"} ${u?r.border:s?"var(--ca-infra-border)":n?"var(--ca-border)":r.border}`,borderRadius:s?8:14,padding:"14px 18px",minWidth:s||n?130:180,maxWidth:260,boxShadow:u?`0 4px 16px ${r.glow}, 0 1px 4px rgba(0,0,0,0.4)`:s||n?"none":`0 4px 16px ${r.glow}, 0 1px 4px rgba(0,0,0,0.4)`,opacity:i?.7:1,cursor:s?"default":"pointer",fontFamily:"'Inter', system-ui, sans-serif",position:"relative"};return d.jsxs("div",{style:{position:"relative"},children:[d.jsx(to,{graphId:"microservice:workspace",targetId:String(e.id??"")}),d.jsxs("div",{style:f,children:[d.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[d.jsx("span",{style:{fontSize:18},children:c()}),d.jsx("span",{style:{fontSize:13,fontWeight:700,color:i?"var(--ca-deleted-text)":"var(--ca-text)",textDecoration:i?"line-through":"none"},children:e.label}),((S=e.meta)==null?void 0:S.commentCount)>0&&d.jsxs("button",{type:"button",onClick:C=>{C.stopPropagation(),window.dispatchEvent(new CustomEvent("codeatlas:open-comments"))},style:{fontSize:9,fontWeight:700,padding:"1px 5px",borderRadius:8,background:"var(--ca-accent)",color:"#fff",flexShrink:0,border:"none",cursor:"pointer"},title:`${e.meta.commentCount} comment${e.meta.commentCount>1?"s":""} — click to open Comments`,"aria-label":`Open ${e.meta.commentCount} comment${e.meta.commentCount>1?"s":""}`,children:["💬",e.meta.commentCount]}),t!=="unchanged"&&d.jsxs("span",{style:{marginLeft:"auto",fontSize:8,fontWeight:700,padding:"2px 6px",borderRadius:8,background:r.border,color:"var(--ca-bg)",textTransform:"uppercase"},children:[kr[t]," ",t]})]}),!n&&!s&&d.jsxs(d.Fragment,{children:[o!=="unknown"&&d.jsx("div",{style:{display:"flex",alignItems:"center",gap:6,marginTop:6},children:d.jsx("span",{style:{fontSize:9,padding:"1px 6px",borderRadius:8,background:`${a}22`,color:a,fontWeight:600,border:`1px solid ${a}44`},children:o.toUpperCase()})}),d.jsxs("div",{style:{marginTop:8,fontSize:10,color:"var(--ca-accent)"},children:[(((m=e.meta)==null?void 0:m.exposedApiCount)??0)>0&&d.jsxs("div",{children:["🔗 ",e.meta.exposedApiCount," API",e.meta.exposedApiCount!==1?"s":""," exposed"]}),((y=e.meta)==null?void 0:y.rootPath)&&d.jsx("div",{style:{color:"var(--ca-text-muted)",marginTop:2,fontFamily:"'SF Mono', monospace",fontSize:9},children:e.meta.rootPath||"."})]}),((b=(x=e.meta)==null?void 0:x.consumedServices)==null?void 0:b.length)>0&&d.jsxs("div",{style:{marginTop:6,fontSize:9,color:"var(--ca-text-muted)"},children:["Calls: ",e.meta.consumedServices.map(C=>C.replace("service:","")).join(", ")]})]}),(n||s)&&d.jsx("div",{style:{fontSize:9,color:"var(--ca-text-muted)",marginTop:4},children:s?`«${l??"external"}»`:"«external»"}),!n&&!s&&d.jsx("div",{style:{marginTop:8,fontSize:9,color:"var(--ca-text-muted)",textAlign:"right",opacity:.6},children:"Explore features →"})]}),d.jsx(Te,{type:"target",position:Y.Left,style:{left:-5,width:10,height:10,borderRadius:"50%",background:n?"var(--ca-edge-unchanged)":r.border,border:"none"}}),d.jsx(Te,{type:"source",position:Y.Right,style:{right:-5,width:10,height:10,borderRadius:"50%",background:n?"var(--ca-edge-unchanged)":r.border,border:"none"}})]})}const xR=w.memo(I8),T8=xR,P8={serviceNode:xR};function M8(e){const t=e.nodes.map(r=>({id:r.id,type:"serviceNode",data:{label:r.label,subtitle:r.subtitle,diff:r.diff,type:r.type,meta:r.meta,anchor:r.anchor},position:{x:0,y:0}})),n=e.edges.map(r=>{var o;const i=U_[r.diff||"unchanged"]??U_.unchanged;return{id:r.id,source:r.source,target:r.target,label:r.label??"",type:"smoothstep",animated:r.diff==="added",style:{stroke:i,strokeWidth:2.5,strokeDasharray:r.diff==="deleted"?"6,4":r.diff==="modified"?"3,3":void 0,opacity:r.diff==="deleted"?.45:1},labelStyle:{fontSize:10,fill:"var(--ca-edge-label-text)",fontFamily:"'Inter', sans-serif",fontWeight:500},labelBgStyle:{fill:"var(--ca-label-bg)",fillOpacity:1},markerEnd:{type:Wn.ArrowClosed,color:i,width:16,height:16},data:{diff:r.diff,anchor:(o=e.anchors)==null?void 0:o[r.id]}}});return yR(t,n,"LR")}function L8({graph:e,onNodeClick:t,onNodeRightClick:n,onEdgeClick:r,highlightedNodes:i,commentCounts:o,aiReviews:a}){var b;const{nodes:s,edges:l}=w.useMemo(()=>M8(e),[e]),c=w.useMemo(()=>{let C=s;if(o&&Object.keys(o).length>0&&(C=C.map(E=>{const R=o[E.id];return R?{...E,data:{...E.data,meta:{...E.data.meta,commentCount:R}}}:E})),a&&Object.keys(a).length>0&&(C=C.map(E=>{const R=a[E.id];return R?{...E,data:{...E.data,meta:{...E.data.meta,aiReviews:R}}}:E})),!i||Object.keys(i).length===0)return C;const N=new Set;for(const E of Object.keys(i))i[E]==="nl-query"&&N.add(E.split("::")[0]);return N.size===0?C:C.map(E=>{var I,z;const R=(z=(I=E.data)==null?void 0:I.meta)==null?void 0:z.rootPath;if(!R)return E;const T=R.endsWith("/")?R:R+"/";return[...N].some($=>$.startsWith(T)||$===R)?{...E,style:{...E.style,outline:"2px solid var(--ca-nl-query)",outlineOffset:"2px",borderRadius:"8px"}}:E})},[s,i,o,a]),[u,f,h]=lc(c),[p,v,g]=cc(l);w.useEffect(()=>{f(c),v(l)},[c,l,f,v]);const S=w.useCallback((C,N)=>{t(N.id,N.data,C)},[t]),m=w.useCallback((C,N)=>{C.preventDefault(),n==null||n(N.id,N.data,C)},[n]),y=w.useCallback((C,N)=>{r(N.id,N.data)},[r]),x=w.useMemo(()=>({total:e.nodes.filter(C=>{var N;return!((N=C.meta)!=null&&N.external)}).length,infraTotal:e.nodes.filter(C=>{var N;return((N=C.meta)==null?void 0:N.infra)===!0}).length,added:e.nodes.filter(C=>C.diff==="added").length,deleted:e.nodes.filter(C=>C.diff==="deleted").length,modified:e.nodes.filter(C=>C.diff==="modified").length}),[e]);return d.jsxs("div",{style:{width:"100%",height:"100%",position:"relative"},children:[d.jsxs("div",{className:"ca-header",children:[d.jsxs("div",{className:"ca-header-title",children:[d.jsx("span",{className:"ca-header-badge",children:"System Design"}),d.jsx("span",{style:{fontWeight:700},children:((b=e.meta)==null?void 0:b.repoName)??"workspace"}),d.jsx("span",{style:{color:"var(--ca-text-muted)",fontWeight:400},children:"·"}),d.jsxs("span",{children:[x.total," service",x.total!==1?"s":""]}),x.infraTotal>0&&d.jsxs("span",{style:{color:"var(--ca-text-muted)"},children:["· ",x.infraTotal," infra"]})]}),d.jsxs("div",{className:"ca-header-stats",children:[d.jsx(Ia,{graphId:"microservice:workspace",onOpen:C=>{var N;(N=window.vscodeApi)==null||N.postMessage({type:"openAiReviewPanel",graphId:C}),document.dispatchEvent(new CustomEvent("ca:openAiReviewPanel",{detail:{graphId:C}}))}}),x.added>0&&d.jsxs("span",{className:"ca-stat",children:[d.jsx("span",{className:"ca-stat-dot added"})," ",x.added," added"]}),x.deleted>0&&d.jsxs("span",{className:"ca-stat",children:[d.jsx("span",{className:"ca-stat-dot deleted"})," ",x.deleted," removed"]}),x.modified>0&&d.jsxs("span",{className:"ca-stat",children:[d.jsx("span",{className:"ca-stat-dot modified"})," ",x.modified," modified"]}),x.added===0&&x.deleted===0&&x.modified===0&&d.jsx("span",{className:"ca-stat",style:{color:"var(--ca-text-muted)"},children:"No changes"})]})]}),d.jsx("div",{className:"ca-seq-hint",children:e.nodes.length>0?d.jsxs(d.Fragment,{children:["Click a service to explore its ",d.jsx("strong",{children:"feature domains"})]}):d.jsxs(d.Fragment,{children:["No services detected. CodeAtlas works best with ",d.jsx("strong",{children:"multi-service or feature-based"})," repos."]})}),d.jsxs(La,{nodes:u,edges:p,onNodesChange:h,onEdgesChange:g,onNodeClick:S,onNodeContextMenu:m,onEdgeClick:y,nodeTypes:P8,fitView:!0,fitViewOptions:{padding:.3},minZoom:.05,maxZoom:2.5,defaultEdgeOptions:{type:"smoothstep"},proOptions:{hideAttribution:!0},children:[d.jsx(dc,{variant:vt.Dots,gap:20,size:1,color:getComputedStyle(document.documentElement).getPropertyValue("--ca-dot-grid").trim()||"#888"}),d.jsx(uc,{position:"bottom-left"})]})]})}const V_={client:"👤",actor:"👤",database:"🗄️",cache:"⚡",storage:"📦",service:"🌐",module:"📦",function:"ƒ",file:"📄"};function $8({data:e}){return e.isLifeline?d.jsx(O8,{data:e}):d.jsx(z8,{data:e})}function z8({data:e}){var v,g,S;const t=e.diff||"unchanged",n=zt[t]||zt.unchanged,r=t==="deleted",i=(e.subtitle||"").replace(/[«»]/g,"").toLowerCase().trim(),o=V_[i]||V_[e.kind||""]||"•",a=typeof e.maxNodeWidth=="number"?e.maxNodeWidth:240,s={"--ca-node-border-color":n.border,"--ca-node-shadow-color":n.glow,background:n.bg,border:`2px ${Jr[t]||"solid"} var(--ca-node-border-color)`,borderRadius:12,padding:"12px 16px",minWidth:Math.min(180,a),maxWidth:a,textAlign:"center",boxShadow:"0 4px 16px var(--ca-node-shadow-color), 0 2px 4px rgba(0,0,0,0.3)",opacity:r?.7:1,cursor:"pointer",transition:"all 0.2s ease",fontFamily:"'Inter', system-ui, sans-serif",position:"relative"},l={fontSize:13,fontWeight:700,color:r?"var(--ca-deleted-text)":"var(--ca-text)",textDecoration:r?"line-through":"none",lineHeight:1.3,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:200},c={fontSize:10,color:"var(--ca-accent)",marginTop:2,letterSpacing:"0.5px",fontWeight:500},u={fontSize:10,color:"var(--ca-text-muted)",marginTop:6,padding:"3px 6px",background:"var(--ca-node-body-bg)",borderRadius:4,fontFamily:"'SF Mono', 'Fira Code', monospace",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:220},f={position:"absolute",top:-8,right:-8,fontSize:8,fontWeight:700,padding:"2px 7px",borderRadius:10,background:n.border,color:"var(--ca-bg)",textTransform:"uppercase",letterSpacing:"0.5px"},h=e.graphId,p=e.nodeId;return d.jsxs("div",{style:{position:"relative"},children:[h&&p&&d.jsx(to,{graphId:h,targetId:p}),d.jsx(Te,{type:"target",position:Y.Top,style:{background:n.border,width:6,height:6,border:"none",opacity:0}}),d.jsxs("div",{style:s,className:"ca-seq-participant",children:[d.jsx("div",{style:{fontSize:20,marginBottom:4,opacity:.7},children:o}),d.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",gap:4},children:[d.jsx("div",{style:l,title:e.label,children:e.label}),((v=e.meta)==null?void 0:v.commentCount)>0&&d.jsxs("button",{type:"button",onClick:m=>{m.stopPropagation(),window.dispatchEvent(new CustomEvent("codeatlas:open-comments"))},style:{fontSize:9,fontWeight:700,padding:"1px 5px",borderRadius:8,background:"var(--ca-accent)",color:"#fff",flexShrink:0,border:"none",cursor:"pointer"},title:`${e.meta.commentCount} comment${e.meta.commentCount>1?"s":""} — click to open Comments`,"aria-label":`Open ${e.meta.commentCount} comment${e.meta.commentCount>1?"s":""}`,children:["💬",e.meta.commentCount]})]}),e.subtitle&&d.jsx("div",{style:c,children:e.subtitle}),e.body&&!e.diffDetail&&d.jsx("div",{style:u,title:e.body,children:e.body}),e.diffDetail&&d.jsxs("div",{style:{marginTop:4,fontSize:9,lineHeight:1.4,textAlign:"left"},children:[e.diffDetail.deleted&&d.jsxs("div",{style:{color:"var(--ca-deleted-text)"},children:["- ",G_(e.diffDetail.deleted,40)]}),e.diffDetail.added&&d.jsxs("div",{style:{color:"var(--ca-added-text)"},children:["+ ",G_(e.diffDetail.added,40)]})]})]}),t!=="unchanged"&&d.jsxs("span",{style:f,children:[kr[t]," ",t]}),((S=(g=e.meta)==null?void 0:g.aiReviews)==null?void 0:S.length)>0&&d.jsx(Il,{reviews:e.meta.aiReviews}),d.jsx(Te,{type:"source",position:Y.Bottom,style:{background:n.border,width:6,height:6,border:"none",opacity:0}})]})}function O8({data:e}){const t=e.lifelineHeight||400,n=e.diff||"unchanged",r=zt[n]||zt.unchanged,i=n==="unchanged"?"var(--ca-text-muted)":r.border;return d.jsxs("div",{style:{position:"relative",width:2,height:t},children:[d.jsx(Te,{type:"target",position:Y.Top,style:{background:"transparent",width:1,height:1,border:"none",top:0}}),d.jsx("div",{style:{position:"absolute",left:0,top:0,width:2,height:"100%",background:`repeating-linear-gradient(to bottom, ${i} 0px, ${i} 6px, transparent 6px, transparent 12px)`,opacity:.6}}),d.jsx(Te,{type:"source",position:Y.Bottom,style:{background:"transparent",width:1,height:1,border:"none",bottom:0}})]})}function G_(e,t){return e.length>t?e.substring(0,t)+"...":e}const F8=w.memo($8);function q8({sourcePosition:e,targetPosition:t}){return d.jsxs("div",{style:{width:1,height:1,opacity:0},children:[d.jsx(Te,{type:"target",position:t,style:{opacity:0}}),d.jsx(Te,{type:"source",position:e,style:{opacity:0}})]})}const D8={sequenceNode:F8,anchorNode:q8},K_=300,B8=220,H8=30,Y_=40,W8=160,X_=50,U8=20;function V8(e){return e<=4?K_:Math.max(B8,Math.round(K_-(e-4)*10))}const Q_=fc;function G8(e){const t=[],n=[],r=e.nodes.filter(f=>f.type==="participant"||f.type==="ghost"),i=e.edges.filter(f=>f.edgeType==="message"||f.diff==="deleted"),o=f=>{var p;if(f.label==="API Client")return 0;const h=((p=f.meta)==null?void 0:p.participantKind)??f.subtitle??"";return h.includes("module")||h.includes("handler")||h.includes("function")?1:h.includes("service")||h.includes("database")||h.includes("external")?3:f.type==="ghost"?4:2},a=[...r].sort((f,h)=>{const p=o(f),v=o(h);return p!==v?p-v:f.label.localeCompare(h.label)}),s=new Map;a.forEach((f,h)=>s.set(f.id,h));const l=V8(a.length),c=Math.max(300,(i.length+2)*X_),u=Math.max(140,l-H8);return a.forEach((f,h)=>{const p=h*l+40;t.push({id:f.id,type:"sequenceNode",data:{label:f.label,subtitle:f.subtitle,body:f.body,type:f.type,kind:f.kind,diff:f.diff,diffDetail:f.diffDetail,anchor:f.anchor,isLifeline:!1,participantIndex:h,maxNodeWidth:u,graphId:e.graphId,nodeId:f.id},position:{x:p,y:Y_},sourcePosition:Y.Bottom,targetPosition:Y.Top});const v=`lifeline_${f.id}`;t.push({id:v,type:"sequenceNode",data:{label:"",type:"lifeline",diff:f.diff,isLifeline:!0,lifelineHeight:c,participantIndex:h,anchor:f.anchor},position:{x:p+89,y:Y_+80+U8},sourcePosition:Y.Bottom,targetPosition:Y.Top,selectable:!1,draggable:!1})}),i.forEach((f,h)=>{var k,L,M,P,A,q,D,W;const p=s.get(f.source),v=s.get(f.target);if(p==null||v==null)return;const g=W8+(h+1)*X_,S=p*l+40+90,m=v*l+40+90,y=p===v,x=p>v,b=f.diff||"unchanged",C=a[v],N=(C==null?void 0:C.diff)!=="unchanged"?C==null?void 0:C.diff:void 0,E=b==="unchanged"&&N?N:b,R=Q_[E]||Q_.unchanged,T=E==="deleted",_=Math.abs(v-p),I=y?30:Math.max(18,_*25),z=f.label||"",$=z.length>I?z.slice(0,I-1)+"…":z,j=`msg_src_${f.id}`,F=`msg_tgt_${f.id}`;y?(t.push({id:j,type:"anchorNode",data:{label:""},position:{x:S-1,y:g},style:{width:2,height:2,background:"transparent",border:"none",padding:0},sourcePosition:Y.Right,targetPosition:Y.Right,selectable:!1,draggable:!1}),t.push({id:F,type:"anchorNode",data:{label:""},position:{x:S-1,y:g+24},style:{width:2,height:2,background:"transparent",border:"none",padding:0},sourcePosition:Y.Right,targetPosition:Y.Right,selectable:!1,draggable:!1}),n.push({id:f.id,source:j,target:F,label:$,type:"smoothstep",animated:E==="added",style:{stroke:R,strokeWidth:T?1:(k=f.meta)!=null&&k.isReturn?1.5:2,strokeDasharray:T?"6,4":E==="modified"?"3,3":(L=f.meta)!=null&&L.isReturn?"6,3":void 0,opacity:T?.5:(M=f.meta)!=null&&M.isReturn?.7:1},labelStyle:{fontSize:11,fontFamily:"'SF Mono', 'Fira Code', monospace",fill:E!=="unchanged"?R:"var(--ca-edge-label-text)",fontWeight:E!=="unchanged"?700:500},labelBgStyle:{fill:"var(--ca-label-bg)",fillOpacity:.85,rx:4,ry:4},labelBgPadding:[6,4],markerEnd:{type:Wn.ArrowClosed,color:R,width:14,height:14},data:{diff:f.diff,anchor:(P=e.anchors)==null?void 0:P[f.id],source:f.source,target:f.target,edgeType:f.edgeType,sourceParticipant:a[p],targetParticipant:a[v]}})):(t.push({id:j,type:"anchorNode",data:{label:""},position:{x:S-1,y:g},style:{width:2,height:2,background:"transparent",border:"none",padding:0},sourcePosition:x?Y.Left:Y.Right,targetPosition:x?Y.Right:Y.Left,selectable:!1,draggable:!1}),t.push({id:F,type:"anchorNode",data:{label:""},position:{x:m-1,y:g},style:{width:2,height:2,background:"transparent",border:"none",padding:0},sourcePosition:x?Y.Right:Y.Left,targetPosition:x?Y.Left:Y.Right,selectable:!1,draggable:!1}),n.push({id:f.id,source:j,target:F,label:$,type:"straight",animated:E==="added",style:{stroke:R,strokeWidth:T?1:(A=f.meta)!=null&&A.isReturn?1.5:2,strokeDasharray:T?"6,4":E==="modified"?"3,3":(q=f.meta)!=null&&q.isReturn?"6,3":void 0,opacity:T?.5:(D=f.meta)!=null&&D.isReturn?.7:1},labelStyle:{fontSize:11,fontFamily:"'SF Mono', 'Fira Code', monospace",fill:E!=="unchanged"?R:"var(--ca-edge-label-text)",fontWeight:E!=="unchanged"?700:500},labelBgStyle:{fill:"var(--ca-label-bg)",fillOpacity:1,rx:4,ry:4},labelBgPadding:[6,4],markerEnd:{type:Wn.ArrowClosed,color:R,width:14,height:14},data:{diff:f.diff,anchor:(W=e.anchors)==null?void 0:W[f.id],source:f.source,target:f.target,edgeType:f.edgeType,sourceParticipant:a[p],targetParticipant:a[v]}}))}),{nodes:t,edges:n}}function K8({graph:e,onNodeClick:t,onNodeRightClick:n,onEdgeClick:r,highlightedNodes:i,commentCounts:o,aiReviews:a}){var _;const[s,l]=w.useState("");w.useEffect(()=>{l("")},[e]);const{nodes:c,edges:u}=w.useMemo(()=>G8(e),[e]),[f,h,p]=lc(c),[v,g,S]=cc(u),m=w.useMemo(()=>{if(!i||Object.keys(i).length===0)return null;const I=new Set;for(const z of Object.keys(i))i[z]==="nl-query"&&I.add(z.split("::")[0]);return I.size>0?I:null},[i]),y=w.useMemo(()=>{let I=c;if(o&&Object.keys(o).length>0&&(I=I.map($=>{var F,k;if((F=$.data)!=null&&F.isLifeline)return $;const j=o[$.id];return j?{...$,data:{...$.data,meta:{...(k=$.data)==null?void 0:k.meta,commentCount:j}}}:$})),a&&Object.keys(a).length>0&&(I=I.map($=>{var F,k;if((F=$.data)!=null&&F.isLifeline)return $;const j=a[$.id];return j?{...$,data:{...$.data,meta:{...(k=$.data)==null?void 0:k.meta,aiReviews:j}}}:$})),m&&(I=I.map($=>{var k,L;if((k=$.data)!=null&&k.isLifeline)return $;const j=(L=$.data)==null?void 0:L.anchor;return!(j!=null&&j.filePath)||!m.has(j.filePath)?$:{...$,style:{...$.style,outline:"2px solid var(--ca-nl-query)",outlineOffset:"2px",borderRadius:"6px"}}})),!s)return I;const z=s.toLowerCase();return I.map($=>{var k,L;if((k=$.data)!=null&&k.isLifeline)return $;const F=(((L=$.data)==null?void 0:L.label)??"").toLowerCase().includes(z);return{...$,data:{...$.data,dimmed:!F}}})},[c,s,m,o,a]),x=w.useMemo(()=>{var z,$,j;const I=new Map;for(const F of c)($=(z=F.data)==null?void 0:z.anchor)!=null&&$.filePath&&!((j=F.data)!=null&&j.isLifeline)&&I.set(F.id,F.data.anchor.filePath);return I},[c]),b=w.useMemo(()=>{let I=u;if(m&&x.size>0&&(I=I.map($=>{const j=x.get($.source),F=x.get($.target),k=j&&m.has(j),L=F&&m.has(F);return k&&L?{...$,style:{...$.style,stroke:"var(--ca-nl-query)",strokeWidth:2.5}}:$})),!s)return I;const z=s.toLowerCase();return I.map($=>{var k;const F=(typeof $.label=="string"?$.label:"").toLowerCase().includes(z);return{...$,style:{...$.style,opacity:F?((k=$.style)==null?void 0:k.opacity)??1:.15}}})},[u,s,m,x]);w.useEffect(()=>{h(y),g(b)},[y,b,h,g]);const C=w.useCallback((I,z)=>{var $;($=z.data)!=null&&$.isLifeline||z.type==="default"||t(z.id,z.data,I)},[t]),N=w.useCallback((I,z)=>{var $;($=z.data)!=null&&$.isLifeline||z.type==="default"||(I.preventDefault(),n==null||n(z.id,z.data,I))},[n]),E=w.useCallback((I,z)=>{r(z.id,z.data)},[r]),R=w.useMemo(()=>{const I=e.nodes.filter(L=>L.type==="participant"),z=I.filter(L=>L.diff==="added").length,$=I.filter(L=>L.diff==="deleted").length,j=I.filter(L=>L.diff==="modified").length,F=e.edges.filter(L=>L.edgeType==="message"),k=F.filter(L=>L.diff==="modified"||L.diff==="added"||L.diff==="deleted").length;return{participants:I.length,messages:F.length,added:z,deleted:$,modified:j,changedMsgs:k}},[e]),T=((_=e.meta)==null?void 0:_.fileName)||e.graphId;return d.jsxs("div",{style:{width:"100%",height:"100%",position:"relative"},children:[d.jsxs("div",{className:"ca-header",children:[d.jsxs("div",{className:"ca-header-title",children:[d.jsx("span",{className:"ca-header-badge ca-badge-sequence",children:"API Sequence"}),d.jsx("span",{children:T})]}),d.jsxs("div",{className:"ca-header-stats",children:[d.jsx(Ia,{graphId:String(e.id??""),onOpen:I=>document.dispatchEvent(new CustomEvent("ca:openAiReviewPanel",{detail:{graphId:I}}))}),d.jsxs("span",{className:"ca-stat",children:["👤 ",R.participants," participant",R.participants!==1?"s":""]}),d.jsxs("span",{className:"ca-stat",children:["→ ",R.messages," message",R.messages!==1?"s":""]}),R.added>0&&d.jsxs("span",{className:"ca-stat",children:[d.jsx("span",{className:"ca-stat-dot added"})," ",R.added," added"]}),R.deleted>0&&d.jsxs("span",{className:"ca-stat",children:[d.jsx("span",{className:"ca-stat-dot deleted"})," ",R.deleted," deleted"]}),R.modified>0&&d.jsxs("span",{className:"ca-stat",children:[d.jsx("span",{className:"ca-stat-dot modified"})," ",R.modified," modified"]}),R.changedMsgs>0&&d.jsxs("span",{className:"ca-stat",children:[d.jsx("span",{className:"ca-stat-dot modified"})," ",R.changedMsgs," msg change",R.changedMsgs!==1?"s":""]})]})]}),d.jsxs("div",{className:"ca-seq-hint",style:{display:"flex",alignItems:"center",gap:12},children:[d.jsx("span",{style:{flex:1},children:R.participants>0?d.jsxs(d.Fragment,{children:["Click a participant to open its ",d.jsx("strong",{children:"File Diagram"})," · Click a message to open ",d.jsx("strong",{children:"Function Flow"})]}):d.jsx(d.Fragment,{children:"No external calls detected in this handler. The function doesn't call other services or modules."})}),R.participants>0&&d.jsx("input",{type:"text",placeholder:"Filter messages...",value:s,onChange:I=>l(I.target.value),style:{width:160,padding:"3px 8px",fontSize:10,background:"var(--ca-surface)",border:"1px solid var(--ca-border)",borderRadius:4,color:"var(--ca-text)",outline:"none"}})]}),d.jsxs(La,{nodes:f,edges:v,onNodesChange:p,onEdgesChange:S,onNodeClick:C,onNodeContextMenu:N,onEdgeClick:E,nodeTypes:D8,fitView:!0,fitViewOptions:{padding:.3},minZoom:.05,maxZoom:2.5,defaultEdgeOptions:{type:"straight"},proOptions:{hideAttribution:!0},nodesDraggable:!1,nodesConnectable:!1,children:[d.jsx(dc,{variant:vt.Dots,gap:16,size:1,color:getComputedStyle(document.documentElement).getPropertyValue("--ca-dot-grid").trim()||"#888"}),d.jsx(uc,{position:"bottom-left"})]})]})}const Z_=zt,J_=fc,Y8=300,X8=185,Q8=80,Z8=60;function J8(e){return e<=2?2:e<=6?3:4}function eq({data:e}){var c,u,f,h;const t=e.diff||"unchanged",n=Z_[t]||Z_.unchanged,r=t==="deleted",i=((c=e.meta)==null?void 0:c.cohesion)??0,o=e.dimmed??!1,a=e.highlighted??!1,s={background:n.bg,border:`2px ${Jr[t]||"solid"} ${n.border}`,borderRadius:12,padding:"12px 16px",minWidth:200,maxWidth:300,boxShadow:a?`0 8px 32px ${n.glow}, 0 2px 8px rgba(0,0,0,0.6)`:`0 3px 12px ${n.glow}, 0 1px 4px rgba(0,0,0,0.4)`,opacity:o?.2:r?.7:1,cursor:"pointer",fontFamily:"'Inter', system-ui, sans-serif",position:"relative",transform:a?"scale(1.03)":"scale(1)",transition:"opacity 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease"},l={height:3,borderRadius:2,background:`linear-gradient(to right, ${n.border} ${i}%, var(--ca-border) ${i}%)`,marginTop:8,opacity:.7};return d.jsxs("div",{style:{position:"relative"},children:[d.jsx(to,{graphId:"feature:workspace",targetId:String(e.id??""),style:{top:-7,left:-7,right:"auto"}}),t!=="unchanged"&&d.jsxs("span",{style:{position:"absolute",top:-8,right:-8,fontSize:8,fontWeight:700,padding:"2px 6px",borderRadius:8,background:n.border,color:"var(--ca-bg)",textTransform:"uppercase",zIndex:1},children:[kr[t]," ",t]}),d.jsxs("div",{style:s,children:[d.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:4},children:[d.jsx("span",{style:{fontSize:16},children:"⬡"}),d.jsx("span",{style:{fontSize:13,fontWeight:700,color:r?"var(--ca-deleted-text)":"var(--ca-text)",textDecoration:r?"line-through":"none"},children:e.label}),((u=e.meta)==null?void 0:u.commentCount)>0&&d.jsxs("button",{type:"button",onClick:p=>{p.stopPropagation(),window.dispatchEvent(new CustomEvent("codeatlas:open-comments"))},style:{fontSize:9,fontWeight:700,padding:"1px 5px",borderRadius:8,background:"var(--ca-accent)",color:"#fff",flexShrink:0,border:"none",cursor:"pointer"},title:`${e.meta.commentCount} comment${e.meta.commentCount>1?"s":""} — click to open Comments`,"aria-label":`Open ${e.meta.commentCount} comment${e.meta.commentCount>1?"s":""}`,children:["💬",e.meta.commentCount]})]}),d.jsx("div",{style:{fontSize:10,color:"var(--ca-text-muted)",fontStyle:"italic"},children:e.subtitle}),d.jsxs("div",{style:{display:"flex",gap:12,marginTop:6,fontSize:10,color:"var(--ca-accent)"},children:[d.jsxs("span",{title:"API entry points",children:["🔗 ",(()=>{var v,g,S,m;const p=((g=(v=e.meta)==null?void 0:v.apisInCluster)==null?void 0:g.length)??((m=(S=e.meta)==null?void 0:S.entryPoints)==null?void 0:m.length)??0;return`${p} API${p!==1?"s":""}`})()]}),d.jsxs("span",{title:"Internal cohesion",children:["◉ ",i,"% cohesion"]})]}),d.jsx("div",{style:l,title:`${i}% internal calls`}),(f=e.meta)!=null&&f.subClusters&&Object.keys(e.meta.subClusters).length>=2?d.jsx("div",{style:{marginTop:8,display:"flex",flexWrap:"wrap",gap:4},children:Object.values(e.meta.subClusters).map(p=>{var S,m;const v=p.files??[],g=e.nlHighlighted&&v.some(y=>{var x;return(x=e._nlHighlightedFiles)==null?void 0:x.has(y)});return d.jsxs("span",{"data-subcluster-id":p.id,style:{fontSize:9,padding:"2px 6px",background:g?"var(--ca-nl-query-bg)":"var(--ca-node-body-bg)",border:`1px solid ${g?"var(--ca-nl-query)":"var(--ca-border)"}`,borderRadius:6,color:g?"var(--ca-nl-query)":"var(--ca-accent)",fontFamily:"'Inter', sans-serif",cursor:"pointer"},title:`${((S=p.files)==null?void 0:S.length)??0} files`,children:[p.label," (",((m=p.files)==null?void 0:m.length)??0,")"]},p.id)})}):((h=e.meta)==null?void 0:h.files)&&d.jsxs("div",{style:{marginTop:8,display:"flex",flexWrap:"wrap",gap:3},children:[e.meta.files.slice(0,4).map(p=>d.jsx("span",{style:{fontSize:9,padding:"1px 5px",background:"var(--ca-node-body-bg)",borderRadius:4,color:"var(--ca-accent)",fontFamily:"'SF Mono', monospace"},children:p.split("/").pop()},p)),e.meta.files.length>4&&d.jsxs("span",{style:{fontSize:9,color:"var(--ca-text-muted)"},children:["+",e.meta.files.length-4," more"]})]}),d.jsx("div",{style:{marginTop:6,fontSize:9,color:"var(--ca-text-muted)",textAlign:"right",opacity:.6},children:"View APIs →"})]}),d.jsx(Te,{type:"target",position:Y.Left,style:{left:-5,width:10,height:10,borderRadius:"50%",background:n.border,border:"none"}}),d.jsx(Te,{type:"source",position:Y.Right,style:{right:-5,width:10,height:10,borderRadius:"50%",background:n.border,border:"none"}})]})}const tq={clusterNode:w.memo(eq)};function nq(e){const t=e.nodes.length,n=J8(t),r=e.nodes.map((o,a)=>({id:o.id,type:"clusterNode",data:{label:o.label,subtitle:o.subtitle,diff:o.diff,type:o.type,meta:o.meta,anchor:o.anchor,dimmed:!1,highlighted:!1},position:{x:a%n*(Y8+Q8),y:Math.floor(a/n)*(X8+Z8)}})),i=e.edges.map(o=>{const a=J_[o.diff||"unchanged"]??J_.unchanged;return{id:o.id,source:o.source,target:o.target,label:o.label??"",type:"smoothstep",animated:o.diff==="added",style:{stroke:a,strokeWidth:2,strokeDasharray:o.diff==="deleted"?"6,4":o.diff==="modified"?"3,3":void 0,opacity:o.diff==="deleted"?.5:.85},labelStyle:{fontSize:10,fill:"var(--ca-edge-label-text)",fontFamily:"'Inter', sans-serif"},labelBgStyle:{fill:"var(--ca-label-bg)",fillOpacity:1},markerEnd:{type:Wn.ArrowClosed,color:a,width:14,height:14},data:{diff:o.diff,callCount:o.callCount,baseColor:a}}});return{nodes:r,edges:i}}function rq({graph:e,onNodeClick:t,onNodeRightClick:n,onEdgeClick:r,highlightedNodes:i,commentCounts:o,aiReviews:a}){var _;const[s,l]=w.useState(null),{nodes:c,edges:u}=w.useMemo(()=>nq(e),[e]),[f,h,p]=lc(c),[v,g,S]=cc(u);w.useEffect(()=>{h(c),g(u)},[c,u,h,g]);const m=w.useMemo(()=>{if(!i||Object.keys(i).length===0)return null;const I=new Set;for(const z of Object.keys(i))i[z]==="nl-query"&&I.add(z.split("::")[0]);return I.size>0?I:null},[i]),y=w.useMemo(()=>{let I=f;if(o&&Object.keys(o).length>0&&(I=I.map($=>{const j=o[$.id];return j?{...$,data:{...$.data,meta:{...$.data.meta,commentCount:j}}}:$})),a&&Object.keys(a).length>0&&(I=I.map($=>{const j=a[$.id];return j?{...$,data:{...$.data,meta:{...$.data.meta,aiReviews:j}}}:$})),m&&(I=I.map($=>{var k,L;return(((L=(k=$.data)==null?void 0:k.meta)==null?void 0:L.files)??[]).some(M=>m.has(M))?{...$,style:{...$.style,outline:"2px solid var(--ca-nl-query)",outlineOffset:"2px",borderRadius:"8px"},data:{...$.data,nlHighlighted:!0,_nlHighlightedFiles:m}}:$})),!s)return I;const z=new Set([s]);for(const $ of e.edges)$.source===s&&z.add($.target),$.target===s&&z.add($.source);return I.map($=>({...$,data:{...$.data,dimmed:!z.has($.id),highlighted:$.id===s}}))},[f,s,e.edges,m]),x=w.useMemo(()=>{if(!s)return v;const I=new Set;for(const z of e.edges)(z.source===s||z.target===s)&&I.add(z.id);return v.map(z=>{var $,j;return{...z,style:{...z.style,stroke:I.has(z.id)?(($=z.data)==null?void 0:$.baseColor)??((j=z.style)==null?void 0:j.stroke):"var(--ca-border)",strokeWidth:I.has(z.id)?3:1,opacity:I.has(z.id)?1:.15}}})},[v,s,e.edges]),b=w.useCallback((I,z)=>{t(z.id,z.data,I)},[t]),C=w.useCallback((I,z)=>{I.preventDefault(),n==null||n(z.id,z.data,I)},[n]),N=w.useCallback((I,z)=>{r(z.id,z.data)},[r]),E=w.useCallback((I,z)=>{l(z.id)},[]),R=w.useCallback(()=>{l(null)},[]),T=w.useMemo(()=>({total:e.nodes.length,added:e.nodes.filter(I=>I.diff==="added").length,deleted:e.nodes.filter(I=>I.diff==="deleted").length,modified:e.nodes.filter(I=>I.diff==="modified").length}),[e]);return d.jsxs("div",{style:{width:"100%",height:"100%",position:"relative"},children:[d.jsxs("div",{className:"ca-header",children:[d.jsxs("div",{className:"ca-header-title",children:[d.jsx("span",{className:"ca-header-badge",children:"Feature Areas"}),d.jsxs("span",{children:[((_=e.meta)==null?void 0:_.clusterCount)??T.total," domains"]})]}),d.jsxs("div",{className:"ca-header-stats",children:[d.jsx(Ia,{graphId:String(e.graphId??e.id??"feature:workspace"),onOpen:I=>document.dispatchEvent(new CustomEvent("ca:openAiReviewPanel",{detail:{graphId:I}}))}),d.jsxs("span",{className:"ca-stat",children:["Clusters: ",T.total]}),T.added>0&&d.jsxs("span",{className:"ca-stat",children:[d.jsx("span",{className:"ca-stat-dot added"})," ",T.added," added"]}),T.deleted>0&&d.jsxs("span",{className:"ca-stat",children:[d.jsx("span",{className:"ca-stat-dot deleted"})," ",T.deleted," deleted"]}),T.modified>0&&d.jsxs("span",{className:"ca-stat",children:[d.jsx("span",{className:"ca-stat-dot modified"})," ",T.modified," modified"]})]})]}),d.jsx("div",{className:"ca-seq-hint",children:e.nodes.length>0?d.jsxs(d.Fragment,{children:["Click a cluster to view its ",d.jsx("strong",{children:"APIs & subsystems"}),e.edges.length>0&&d.jsx("span",{children:" · Hover to highlight connections"})]}):d.jsxs(d.Fragment,{children:["No clusters detected. Run ",d.jsx("strong",{children:"Initialize"})," to analyze the codebase."]})}),d.jsxs(La,{nodes:y,edges:x,onNodesChange:p,onEdgesChange:S,onNodeClick:b,onNodeContextMenu:C,onEdgeClick:N,onNodeMouseEnter:E,onNodeMouseLeave:R,nodeTypes:tq,fitView:!0,fitViewOptions:{padding:.25},minZoom:.05,maxZoom:2.5,defaultEdgeOptions:{type:"smoothstep"},proOptions:{hideAttribution:!0},children:[d.jsx(dc,{variant:vt.Dots,gap:20,size:1,color:getComputedStyle(document.documentElement).getPropertyValue("--ca-dot-grid").trim()||"#888"}),d.jsx(uc,{position:"bottom-left"})]})]})}function Gt(e,t){var n;try{const r=e.startsWith("webview.")?e:`webview.${e}`;(n=window.vscodeApi)==null||n.postMessage({type:"webviewAnalytics",event:r,properties:t??{}})}catch{}}const Hm={GET:"var(--ca-success)",POST:"var(--ca-accent)",PUT:"var(--ca-warning)",PATCH:"var(--ca-color-patch)",DELETE:"var(--ca-danger)",HEAD:"var(--ca-color-purple)",OPTIONS:"var(--ca-color-teal)",SCREEN:"var(--ca-color-blue)",NAV_ROUTE:"var(--ca-color-teal)",NETWORK:"var(--ca-color-orange)",DI_BINDING:"var(--ca-color-purple)",WS:"var(--ca-color-blue)",SSE:"var(--ca-color-teal)",SUBSCRIPTION:"var(--ca-color-blue)",GRPC:"var(--ca-color-purple)",RPC:"var(--ca-color-purple)",JOB:"var(--ca-color-orange)",MQ_CONSUMER:"var(--ca-color-orange)",CLI_COMMAND:"var(--ca-color-teal)",FILTER:"var(--ca-color-purple)",MIDDLEWARE:"var(--ca-color-purple)",SERVLET_FILTER:"var(--ca-color-purple)",HANDLER_INTERCEPTOR:"var(--ca-color-purple)",AOP_ASPECT:"var(--ca-color-purple)",AOP_BEFORE:"var(--ca-color-purple)",AOP_AROUND:"var(--ca-color-purple)",AOP_AFTER:"var(--ca-color-purple)",DB_MIGRATION:"var(--ca-warning)",DB_SEED:"var(--ca-success)",SIGNAL:"var(--ca-color-orange)",SOCKET_EVENT:"var(--ca-color-blue)",MODEL_HOOK:"var(--ca-warning)",HEALTH:"var(--ca-success)",PUSH_HANDLER:"var(--ca-danger)",BG_TASK:"var(--ca-color-orange)",LIFECYCLE:"var(--ca-color-purple)",WIDGET:"var(--ca-color-teal)",CONTENT_PROVIDER:"var(--ca-color-purple)",DEEP_LINK:"var(--ca-color-blue)"},iq={database:"var(--ca-warning)",module:"var(--ca-accent)",actor:"var(--ca-success)",framework:"var(--ca-color-purple)"},eE={added:"var(--ca-success)",modified:"var(--ca-warning)",deleted:"var(--ca-danger)",unchanged:"transparent"},tE={added:"+",modified:"~",deleted:"−"},wR=new Set(["SCREEN","NAV_ROUTE","NETWORK","DI_BINDING"]),oq=new Set(["GET","POST","PUT","PATCH","DELETE","HEAD","OPTIONS","ANY","ROUTE","INCLUDE","MOUNT","PATH","CONTROLLER","RESOURCE","SERVER_ACTION","STATIC_PATHS","DATA_FETCH"]),aq=new Set(["WS","SSE","SUBSCRIPTION","GRPC","RPC","SOCKET_EVENT"]),sq=new Set(["JOB","MQ_CONSUMER"]),lq=new Set(["CLI_COMMAND"]),cq=new Set(["DB_MIGRATION","DB_SEED","SIGNAL","MODEL_HOOK"]),uq=new Set(["FILTER","MIDDLEWARE","SERVLET_FILTER","HANDLER_INTERCEPTOR","AOP_ASPECT","AOP_BEFORE","AOP_AROUND","AOP_AFTER","AOP_AFTERRETURNING","AOP_AFTERTHROWING","EVENT_LISTENER","EVENT_EMIT","DI_DEPENDENCY"]),dq=new Set(["HEALTH"]),fq=new Set(["PUSH_HANDLER","BG_TASK","LIFECYCLE","DEEP_LINK","WIDGET","CONTENT_PROVIDER"]),Rs=[{key:"realtime",title:"Real-Time",icon:"⚡",color:"var(--ca-color-blue)",match:e=>aq.has(e)},{key:"jobs",title:"Background Jobs",icon:"⚙️",color:"var(--ca-color-orange)",match:e=>sq.has(e)},{key:"cli",title:"CLI Commands",icon:">_",color:"var(--ca-color-teal)",match:e=>lq.has(e)},{key:"data",title:"Data Lifecycle",icon:"🗄",color:"var(--ca-warning)",match:e=>cq.has(e)},{key:"hooks",title:"Request Hooks",icon:"🔗",color:"var(--ca-color-purple)",match:e=>uq.has(e)},{key:"observability",title:"Observability",icon:"📈",color:"var(--ca-success)",match:e=>dq.has(e)},{key:"mobile-lifecycle",title:"Mobile Lifecycle",icon:"🔔",color:"var(--ca-color-purple)",match:e=>fq.has(e)}];function hq(e){return/\.dart$/.test(e)?"Flutter":/\.(?:java|kt|kts)$/.test(e)?"Android":/\.swift$/.test(e)?"iOS":/\.(?:tsx?|jsx?)$/.test(e)?"React":null}const pq={Flutter:"🐦",Android:"📱",iOS:"🍎",React:"⚛️"},gq=["ALL","GET","POST","PUT","PATCH","DELETE"];function Pr({api:e,onApiClick:t,showFile:n,nlHighlighted:r}){var l,c,u,f,h,p;const i=e.diff??"unchanged",o=(l=e.meta)==null?void 0:l.clusterId,a=o?`api-list:${o}`:"",s=`${String(e.method??"").toUpperCase()}:${e.route??""}::entry`;return d.jsxs("div",{className:"ca-api-row",onClick:v=>i!=="deleted"&&t(e,v),title:`Open sequence diagram for ${e.method} ${e.route}`,style:{position:"relative",borderLeft:r?"3px solid var(--ca-nl-query)":`3px solid ${eE[i]??"transparent"}`,background:r?"var(--ca-nl-query-bg)":void 0,opacity:i==="deleted"?.5:1,cursor:i==="deleted"?"default":"pointer"},children:[a&&d.jsx(to,{graphId:a,targetId:s,style:{top:2,right:2}}),d.jsx("span",{className:"ca-method-badge",style:{background:Hm[e.method]??"var(--ca-edge-unchanged)"},children:e.method}),wR.has(e.method)&&(()=>{const v=hq(e.filePath);return v?d.jsx("span",{title:v,style:{fontSize:11,marginRight:2,flexShrink:0},children:pq[v]}):null})(),((c=e.meta)==null?void 0:c.webhook)&&d.jsx("span",{title:`Webhook${e.meta.webhookProvider?` (${e.meta.webhookProvider})`:""}`,style:{fontSize:11,marginRight:2,flexShrink:0},children:"⚡"}),((u=e.meta)==null?void 0:u.auth)&&d.jsx("span",{title:`Auth: ${e.meta.auth}${(f=e.meta.middlewares)!=null&&f.length?` (${e.meta.middlewares.join(", ")})`:""}`,style:{fontSize:11,marginRight:2,flexShrink:0},children:e.meta.auth==="required"?"🔒":"🔓"}),((h=e.meta)==null?void 0:h.error)&&d.jsx("span",{title:"Error-handling middleware (4-arg)",style:{fontSize:11,marginRight:2,flexShrink:0},children:"⚠"}),((p=e.meta)==null?void 0:p.dynamicRange)&&d.jsxs("span",{title:`Loop-registered: ${e.meta.dynamicRange.count} routes (${e.meta.dynamicRange.var} from ${e.meta.dynamicRange.from} to ${e.meta.dynamicRange.to})`,style:{fontSize:11,marginRight:2,flexShrink:0,color:"var(--ca-text-muted)"},children:["×",e.meta.dynamicRange.count]}),d.jsx("span",{className:"ca-api-route",children:e.route}),n&&d.jsx("span",{className:"ca-api-handler",style:{color:"var(--ca-text-muted)",fontStyle:"italic"},title:e.filePath,children:e.filePath.split("/").slice(-2).join("/")}),!n&&d.jsx("span",{className:"ca-api-handler",children:e.handlerName}),tE[i]&&d.jsx("span",{style:{marginLeft:"auto",color:eE[i],fontWeight:700,fontSize:13,minWidth:16,textAlign:"center",flexShrink:0},children:tE[i]})]})}function tr({title:e,icon:t,color:n,count:r,children:i,defaultOpen:o,headerExtra:a,onHeaderClick:s,headerTitle:l,onToggle:c}){const[u,f]=w.useState(o??r>0);if(r===0)return null;const h=()=>{const p=!u;f(p),c==null||c(p)};return d.jsxs("div",{style:{marginBottom:8},children:[d.jsxs("div",{onClick:p=>{p.target.closest(".ca-collapsible-caret")||!s?h():s(p)},title:l,style:{display:"flex",alignItems:"center",gap:6,padding:"6px 12px",cursor:"pointer",fontSize:11,fontWeight:700,color:n,borderLeft:`3px solid ${n}`,background:"var(--ca-node-body-bg)"},children:[d.jsx("span",{className:"ca-collapsible-caret",onClick:p=>{p.stopPropagation(),h()},style:{fontSize:10,padding:"0 2px"},children:u?"▼":"▶"}),t&&d.jsx("span",{children:t}),d.jsx("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e}),a,d.jsxs("span",{style:{marginLeft:"auto",fontSize:10,fontWeight:400,color:"var(--ca-text-muted)",flexShrink:0},children:["(",r,")"]})]}),u&&d.jsx("div",{style:{paddingLeft:4},children:i})]})}function mq({graph:e,onApiClick:t,onFileClick:n,highlightedNodes:r}){const{clusterLabel:i,serviceId:o,apis:a=[],files:s=[],subsystems:l=[],screens:c=[],navRoutes:u=[],networkCalls:f=[],diBindings:h=[]}=e.meta,[p,v]=w.useState("ALL"),[g,S]=w.useState(""),[m,y]=w.useState(""),x=w.useRef(null);w.useEffect(()=>{const k=setTimeout(()=>y(g),200);return()=>clearTimeout(k)},[g]),w.useEffect(()=>{const k=L=>{var M,P;L.key==="/"&&((M=document.activeElement)==null?void 0:M.tagName)!=="INPUT"&&!document.querySelector(".ca-modal-overlay")&&(L.preventDefault(),(P=x.current)==null||P.focus())};return document.addEventListener("keydown",k),()=>document.removeEventListener("keydown",k)},[]);const b=w.useCallback(k=>{if(!r)return!1;const L=`${k.filePath}::${k.handlerName}`;return r[L]==="nl-query"},[r]),C=w.useMemo(()=>{const k={},L=m.toLowerCase(),M=L?a.filter(P=>P.route.toLowerCase().includes(L)||P.handlerName.toLowerCase().includes(L)):a;for(const P of M)k[P.method]=(k[P.method]||0)+1;return k},[a,m]),N=w.useMemo(()=>a.filter(k=>{const L=p==="ALL"||k.method===p,M=m.toLowerCase(),P=!M||k.route.toLowerCase().includes(M)||k.handlerName.toLowerCase().includes(M);return L&&P}),[a,p,m]),E=w.useCallback(k=>{if(!m)return k;const L=m.toLowerCase();return k.filter(M=>M.route.toLowerCase().includes(L)||M.handlerName.toLowerCase().includes(L)||M.filePath.toLowerCase().includes(L))},[m]),R=w.useMemo(()=>E(c),[c,E]),T=w.useMemo(()=>E(u),[u,E]),_=w.useMemo(()=>E(f),[f,E]),I=w.useMemo(()=>E(h),[h,E]),z=w.useMemo(()=>{const k={added:[],modified:[],deleted:[]};for(const L of N)L.diff&&L.diff!=="unchanged"&&k[L.diff].push(L);return k},[N]),$=z.added.length+z.modified.length+z.deleted.length>0,j=w.useMemo(()=>{const k={};for(const L of Rs)k[L.key]=[];for(const L of N)if(!(L.diff&&L.diff!=="unchanged")){for(const M of Rs)if(M.match(L.method)){k[M.key].push(L);break}}return k},[N]),F=w.useMemo(()=>{const k=new Map;for(const L of N){if(L.diff&&L.diff!=="unchanged"||wR.has(L.method))continue;const M=oq.has(L.method),P=Rs.some(A=>A.match(L.method));!M&&P||(k.has(L.filePath)||k.set(L.filePath,[]),k.get(L.filePath).push(L))}return k},[N]);return d.jsxs("div",{className:"ca-api-list",children:[d.jsxs("div",{className:"ca-api-panel-top",children:[d.jsxs("div",{className:"ca-header-title",children:[d.jsx("span",{className:"ca-header-badge",children:"Feature Detail"}),d.jsx("span",{children:i??e.graphId})]}),d.jsxs("div",{className:"ca-header-stats",children:[d.jsx(Ia,{graphId:String(e.graphId??""),onOpen:k=>document.dispatchEvent(new CustomEvent("ca:openAiReviewPanel",{detail:{graphId:k}}))}),o&&d.jsxs("span",{className:"ca-stat",children:["Service: ",o.replace("service:","")]}),a.length>0&&d.jsxs("span",{className:"ca-stat",children:[a.length," API",a.length!==1?"s":""]}),c.length>0&&d.jsxs("span",{className:"ca-stat",children:[c.length," screen",c.length!==1?"s":""]}),f.length>0&&d.jsxs("span",{className:"ca-stat",children:[f.length," network call",f.length!==1?"s":""]}),d.jsxs("span",{className:"ca-stat",children:[s.length," file",s.length!==1?"s":""]})]})]}),d.jsxs("div",{className:"ca-api-filter-bar",children:[d.jsx("input",{ref:x,className:"ca-api-search",type:"text",placeholder:"Filter by route or handler… (press /)",value:g,onChange:k=>S(k.target.value)}),d.jsx("div",{className:"ca-method-tabs",children:gq.map(k=>{const L=Object.values(C).reduce((P,A)=>P+A,0),M=k==="ALL"?L:C[k]??0;return k!=="ALL"&&M===0?null:d.jsxs("button",{className:`ca-method-tab${p===k?" active":""}`,style:p===k&&k!=="ALL"?{borderColor:Hm[k],color:Hm[k]}:void 0,onClick:()=>v(k),children:[k,d.jsx("span",{className:"ca-method-tab-count",children:M})]},k)})})]}),d.jsxs("div",{className:"ca-api-list-main",children:[N.length===0&&d.jsx("div",{className:"ca-api-list-empty",children:a.length===0?d.jsxs(d.Fragment,{children:[d.jsx("p",{children:"No API endpoints or screens detected in this area."}),d.jsxs("p",{style:{fontSize:"0.85em",opacity:.8},children:["This may be a library or utility module without HTTP routes. Try exploring individual files at the ",d.jsx("strong",{children:"File level (L4)"})," or function control flow at the ",d.jsx("strong",{children:"Flow level (L5)"})," instead."]})]}):d.jsx("p",{children:"No results match your filter."})}),$&&d.jsx(tr,{title:"Changes",color:"var(--ca-warning)",count:z.added.length+z.modified.length+z.deleted.length,defaultOpen:!0,headerExtra:d.jsxs(d.Fragment,{children:[z.added.length>0&&d.jsxs("span",{className:"ca-changes-pill added",children:[z.added.length," added"]}),z.modified.length>0&&d.jsxs("span",{className:"ca-changes-pill modified",children:[z.modified.length," modified"]}),z.deleted.length>0&&d.jsxs("span",{className:"ca-changes-pill deleted",children:[z.deleted.length," deleted"]})]}),children:d.jsx("div",{className:"ca-api-rows",children:[...z.added,...z.modified,...z.deleted].map(k=>d.jsx(Pr,{api:k,onApiClick:t,showFile:!0,nlHighlighted:b(k)},k.apiId))})}),Rs.map(k=>{const L=j[k.key];return!L||L.length===0?null:d.jsx(tr,{title:k.title,icon:k.icon,color:k.color,count:L.length,defaultOpen:!0,onToggle:M=>{M&&Gt("entry_point_section_opened",{section:k.key,count:L.length})},children:d.jsx("div",{className:"ca-api-rows",children:L.map(M=>d.jsx(Pr,{api:M,onApiClick:t,showFile:!0,nlHighlighted:b(M)},M.apiId))})},k.key)}),[...F.entries()].map(([k,L])=>d.jsx(tr,{title:k.split("/").pop()||k,icon:"📄",color:"var(--ca-edge-unchanged)",count:L.length,defaultOpen:!0,headerTitle:L.length>0?`Click filename to open sequence: ${L[0].method} ${L[0].route}`:`Open file diagram: ${k}`,onHeaderClick:M=>{L.length>0?t(L[0],M):n(k,M)},headerExtra:d.jsx("span",{style:{fontSize:10,fontWeight:400,color:"var(--ca-text-muted)",flex:"0 1 auto",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:k,children:k}),children:d.jsx("div",{className:"ca-api-rows",children:L.map(M=>d.jsx(Pr,{api:M,onApiClick:t,nlHighlighted:b(M)},M.apiId))})},k)),d.jsx(tr,{title:"Screens / Pages",icon:"📱",color:"var(--ca-color-blue)",count:R.length,onToggle:k=>{k&&Gt("mobile_section_opened",{section:"screens",count:R.length})},children:R.map(k=>d.jsx(Pr,{api:k,showFile:!0,onApiClick:(L,M)=>n(k.filePath,M),nlHighlighted:b(k)},k.apiId))}),d.jsx(tr,{title:"Navigation Routes",icon:"🧭",color:"var(--ca-color-teal)",count:T.length,onToggle:k=>{k&&Gt("mobile_section_opened",{section:"nav_routes",count:T.length})},children:T.map(k=>d.jsx(Pr,{api:k,showFile:!0,onApiClick:(L,M)=>n(k.filePath,M),nlHighlighted:b(k)},k.apiId))}),d.jsx(tr,{title:"Network Calls",icon:"🌐",color:"var(--ca-color-orange)",count:_.length,onToggle:k=>{k&&Gt("mobile_section_opened",{section:"network",count:_.length})},children:_.map(k=>d.jsx(Pr,{api:k,showFile:!0,onApiClick:(L,M)=>n(k.filePath,M),nlHighlighted:b(k)},k.apiId))}),d.jsx(tr,{title:"Dependencies",icon:"📦",color:"var(--ca-color-purple)",count:I.length,onToggle:k=>{k&&Gt("mobile_section_opened",{section:"dependencies",count:I.length})},children:I.map(k=>d.jsx(Pr,{api:k,showFile:!0,onApiClick:(L,M)=>n(k.filePath,M),nlHighlighted:b(k)},k.apiId))}),d.jsx(tr,{title:"Subsystems",icon:"🧩",color:"var(--ca-accent)",count:l.length,defaultOpen:!1,children:d.jsx("div",{className:"ca-api-subsystems-body",children:l.map(k=>d.jsxs("div",{className:`ca-api-row ca-api-row-subsystem${k.filePath?" ca-clickable":""}`,onClick:L=>k.filePath&&n(k.filePath,L),title:k.filePath?`Open file diagram: ${k.filePath}`:k.label,children:[d.jsx("span",{className:"ca-method-badge",style:{background:iq[k.kind]??"var(--ca-edge-unchanged)"},children:k.kind}),d.jsx("span",{className:"ca-api-route",children:k.label}),k.filePath&&d.jsx("span",{className:"ca-api-handler",style:{color:"var(--ca-text-muted)"},children:k.filePath})]},k.label))})})]})]})}const be={overlay:{position:"absolute",top:0,right:0,width:360,height:"100%",background:"var(--ca-bg)",borderLeft:"1px solid var(--ca-border)",boxShadow:"-4px 0 20px rgba(0,0,0,0.3)",display:"flex",flexDirection:"column",fontFamily:"'Inter', system-ui, sans-serif",zIndex:1e3,overflowY:"auto"},header:{padding:"14px 16px 10px",borderBottom:"1px solid var(--ca-border)",display:"flex",alignItems:"center",gap:8,flexShrink:0},title:{fontSize:13,fontWeight:700,color:"var(--ca-text)",flex:1},closeBtn:{background:"none",border:"none",color:"var(--ca-text-muted)",cursor:"pointer",fontSize:16,padding:"2px 6px",borderRadius:4,lineHeight:1},summaryRow:{display:"flex",gap:8,padding:"8px 16px",borderBottom:"1px solid var(--ca-border)",flexWrap:"wrap",flexShrink:0},section:{padding:"10px 16px 4px"},sectionHeader:{fontSize:10,fontWeight:700,letterSpacing:"0.08em",textTransform:"uppercase",marginBottom:6,display:"flex",alignItems:"center",gap:6},entry:{display:"flex",alignItems:"flex-start",gap:8,padding:"5px 6px",borderRadius:6,cursor:"pointer",marginBottom:2},entryIcon:{fontSize:10,marginTop:2,flexShrink:0},entryBody:{flex:1,minWidth:0},entryFn:{fontSize:11,fontWeight:600,color:"var(--ca-text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},entryFile:{fontSize:9,color:"var(--ca-text-muted)",fontFamily:"'SF Mono', 'Fira Code', monospace",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},entryMeta:{fontSize:9,flexShrink:0,textAlign:"right"},empty:{fontSize:11,color:"var(--ca-text-muted)",padding:"6px 6px",fontStyle:"italic"},changedSection:{padding:"8px 16px",borderBottom:"1px solid var(--ca-border)"},changedFile:{fontSize:10,color:"var(--ca-success)",fontFamily:"'SF Mono', 'Fira Code', monospace",padding:"1px 0"}};function ko(e){return{fontSize:10,padding:"2px 7px",borderRadius:10,background:`${e}22`,color:e,border:`1px solid ${e}44`,fontWeight:600}}function xg({fn:e,color:t,onNavigate:n}){const r=e.filePath.split("/").slice(-2).join("/"),i=e.edgeConfidence!=null?`${Math.round(e.edgeConfidence*100)}%`:null,o=e.edgeKind??"calls";return d.jsxs("div",{style:be.entry,onClick:()=>n(e.filePath),title:`${e.key}
|
|
57
57
|
Depth: ${e.depth}${i?`
|
|
58
58
|
Confidence: ${i}`:""}
|
|
59
|
-
Kind: ${o}`,onMouseEnter:a=>{a.currentTarget.style.background="var(--ca-surface)"},onMouseLeave:a=>{a.currentTarget.style.background="transparent"},children:[d.jsx("span",{style:{...be.entryIcon,color:t},children:e.depth===1?"●":"○"}),d.jsxs("div",{style:be.entryBody,children:[d.jsx("div",{style:be.entryFn,children:e.functionName}),d.jsx("div",{style:be.entryFile,children:r})]}),d.jsxs("div",{style:{...be.entryMeta,color:"var(--ca-text-muted)"},children:[i&&d.jsx("div",{style:{color:t},children:i}),d.jsx("div",{children:o})]})]})}function Eo({impact:e,onClose:t,onNavigate:n}){var h,p,v;const[r,i]=w.useState(()=>localStorage.getItem("ca-impact-minimized")==="true"),o=e.impactedFunctions.filter(g=>g.impactKind==="direct"),a=e.impactedFunctions.filter(g=>g.impactKind==="transitive"&&g.depth>1),s=e.impactedFunctions.filter(g=>g.impactKind==="review-required"),l=w.useCallback(g=>{g.key==="Escape"&&t()},[t]);w.useEffect(()=>(document.addEventListener("keydown",l),()=>document.removeEventListener("keydown",l)),[l]);const c=((h=e.changedFiles[0])==null?void 0:h.split("/").pop())??"unknown",{summary:u}=e,f=g=>{i(g),localStorage.setItem("ca-impact-minimized",String(g))};return r?d.jsx("div",{style:{...be.overlay,width:40,cursor:"pointer"},onClick:()=>f(!1),title:"Expand blast radius panel",children:d.jsx("div",{style:{...be.header,justifyContent:"center",padding:"14px 8px"},children:d.jsx("span",{style:{fontSize:14},children:"⚡"})})}):d.jsxs("div",{style:be.overlay,children:[d.jsxs("div",{style:be.header,children:[d.jsx("span",{style:{fontSize:14},children:"⚡"}),d.jsxs("span",{style:be.title,children:["Blast Radius — ",c]}),d.jsx("button",{style:be.closeBtn,onClick:()=>f(!0),title:"Minimize","aria-label":"Minimize panel",children:"─"}),d.jsx("button",{style:be.closeBtn,onClick:t,title:"Close (Esc)","aria-label":"Close impact panel",children:"✕"})]}),d.jsxs("div",{style:be.summaryRow,children:[d.jsxs("span",{style:_o("var(--ca-danger)"),children:[u.directImpacts," changed"]}),d.jsxs("span",{style:_o("var(--ca-warning)"),children:[u.transitiveImpacts," callers"]}),(u.reviewRequired??0)>0&&d.jsxs("span",{style:_o("var(--ca-warning)"),children:[u.reviewRequired," review"]}),u.clustersAffected>0&&d.jsxs("span",{style:_o("var(--ca-accent)"),children:[u.clustersAffected," cluster",u.clustersAffected!==1?"s":""]}),u.servicesAffected>0&&d.jsxs("span",{style:_o("var(--ca-success)"),children:[u.servicesAffected," service",u.servicesAffected!==1?"s":""]})]}),e.changedFiles.length>0&&d.jsxs("div",{style:be.changedSection,children:[d.jsx("div",{style:{...be.sectionHeader,color:"var(--ca-text-muted)"},children:"Changed"}),e.changedFiles.map(g=>d.jsx("div",{style:be.changedFile,title:g,children:g.split("/").slice(-2).join("/")},g))]}),d.jsxs("div",{style:be.section,children:[d.jsxs("div",{style:{...be.sectionHeader,color:"var(--ca-danger)"},children:[d.jsx("span",{children:"🔴"})," Will Break",d.jsxs("span",{style:{color:"var(--ca-text-muted)",fontWeight:400,textTransform:"none",letterSpacing:0},children:["(",o.length,")"]})]}),o.length===0?d.jsx("div",{style:be.empty,children:"No direct callers"}):o.map(g=>d.jsx(vg,{fn:g,color:"var(--ca-danger)",onNavigate:n},g.key))]}),d.jsxs("div",{style:be.section,children:[d.jsxs("div",{style:{...be.sectionHeader,color:"var(--ca-warning)"},children:[d.jsx("span",{children:"🟡"})," Likely Affected",d.jsxs("span",{style:{color:"var(--ca-text-muted)",fontWeight:400,textTransform:"none",letterSpacing:0},children:["(",a.length,")"]})]}),a.length===0?d.jsx("div",{style:be.empty,children:"No transitive callers"}):a.map(g=>d.jsx(vg,{fn:g,color:"var(--ca-warning)",onNavigate:n},g.key))]}),s.length>0&&d.jsxs("div",{style:be.section,children:[d.jsxs("div",{style:{...be.sectionHeader,color:"var(--ca-warning)"},children:[d.jsx("span",{children:"🟡"})," Review Required",d.jsxs("span",{style:{color:"var(--ca-text-muted)",fontWeight:400,textTransform:"none",letterSpacing:0},children:["(",s.length,")"]})]}),s.map(g=>d.jsx(vg,{fn:g,color:"var(--ca-warning)",onNavigate:n},g.key))]}),(e.affectedClusterIds.length>0||e.affectedServiceIds.length>0)&&d.jsxs("div",{style:{...be.section,paddingBottom:16},children:[d.jsx("div",{style:{...be.sectionHeader,color:"var(--ca-accent)"},children:"Affected Domains"}),e.affectedClusterIds.map(g=>d.jsxs("div",{style:{fontSize:10,color:"var(--ca-accent)",padding:"1px 0"},children:["⬡ ",g.replace("cluster:","")]},g)),e.affectedServiceIds.map(g=>d.jsxs("div",{style:{fontSize:10,color:"var(--ca-success)",padding:"1px 0"},children:["⬡ ",g.replace("service:","")," (service)"]},g))]}),d.jsxs("div",{style:{marginTop:"auto",padding:"8px 16px",borderTop:"1px solid var(--ca-border)",fontSize:9,color:"var(--ca-text-muted)",flexShrink:0},children:["depth ≤ ",((p=e.options)==null?void 0:p.maxDepth)??4,(((v=e.options)==null?void 0:v.minConfidence)??0)>0&&` · conf ≥ ${Math.round(e.options.minConfidence*100)}%`]})]})}function ko({title:e,icon:t,count:n,color:r,children:i}){return d.jsxs("div",{style:{background:"var(--ca-surface)",border:"1px solid var(--ca-border)",borderLeft:n>0?`3px solid ${r}`:"1px solid var(--ca-border)",borderRadius:8,padding:14,marginBottom:10},children:[d.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:8},children:[d.jsx("span",{children:t}),d.jsx("span",{style:{fontSize:13,fontWeight:700,color:"var(--ca-text)",flex:1},children:e}),d.jsx("span",{style:{fontSize:11,fontWeight:700,padding:"2px 8px",borderRadius:10,background:n>0?`${r}22`:"var(--ca-node-body-bg)",color:n>0?r:"var(--ca-text-muted)"},children:n})]}),i]})}function Cs({items:e,max:t,onNavigate:n,color:r}){return e.length===0?d.jsx("div",{style:{fontSize:11,color:"var(--ca-text-muted)",fontStyle:"italic"},children:"None found"}):d.jsxs("div",{children:[e.slice(0,t).map((i,o)=>d.jsx("div",{onClick:()=>n(i.split("::")[0]),style:{fontSize:10,padding:"3px 6px",borderRadius:4,cursor:"pointer",fontFamily:"var(--ca-font-mono)",color:r,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},onMouseEnter:a=>a.currentTarget.style.background="var(--ca-node-body-bg)",onMouseLeave:a=>a.currentTarget.style.background="transparent",title:i,children:i},o)),e.length>t&&d.jsxs("div",{style:{fontSize:9,color:"var(--ca-text-muted)",padding:"2px 6px"},children:["+",e.length-t," more"]})]})}function uq({health:e,onNavigate:t}){const n=e.deadFunctions.length+e.godFiles.length+e.highCouplingFiles.length+e.cyclicDependencies.length+e.orphanedClusters.length;return d.jsxs("div",{style:{padding:16,maxWidth:600,margin:"0 auto",fontFamily:"var(--ca-font-sans)",color:"var(--ca-text)"},children:[d.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:16},children:[d.jsx("span",{style:{fontSize:20},children:"🏥"}),d.jsxs("div",{children:[d.jsx("div",{style:{fontSize:15,fontWeight:700},children:"Code Health Report"}),d.jsx("div",{style:{fontSize:11,color:"var(--ca-text-muted)"},children:n===0?"No issues found":`${n} issue${n!==1?"s":""} detected`})]})]}),d.jsx(ko,{title:"Cyclic Dependencies",icon:"🔄",count:e.cyclicDependencies.length,color:"var(--ca-danger)",children:e.cyclicDependencies.length===0?d.jsx("div",{style:{fontSize:11,color:"var(--ca-text-muted)",fontStyle:"italic"},children:"None found"}):[...e.cyclicDependencies].sort((r,i)=>i.length-r.length).slice(0,8).map((r,i)=>d.jsxs("div",{style:{fontSize:10,padding:"3px 6px",fontFamily:"var(--ca-font-mono)",color:"var(--ca-danger)"},children:[r.join(" → ")," → ",r[0]]},i))}),d.jsx(ko,{title:"Dead Functions",icon:"💀",count:e.deadFunctions.length,color:"var(--ca-danger)",children:d.jsx(Cs,{items:e.deadFunctions,max:15,onNavigate:t,color:"var(--ca-danger)"})}),d.jsx(ko,{title:"High Coupling",icon:"🔗",count:e.highCouplingFiles.length,color:"var(--ca-warning)",children:d.jsx(Cs,{items:e.highCouplingFiles,max:10,onNavigate:t,color:"var(--ca-warning)"})}),d.jsx(ko,{title:"God Files",icon:"📦",count:e.godFiles.length,color:"var(--ca-warning)",children:d.jsx(Cs,{items:e.godFiles,max:10,onNavigate:t,color:"var(--ca-warning)"})}),d.jsx(ko,{title:"Orphaned Clusters",icon:"🏝️",count:e.orphanedClusters.length,color:"var(--ca-text-muted)",children:d.jsx(Cs,{items:e.orphanedClusters,max:10,onNavigate:t,color:"var(--ca-accent)"})})]})}const dq={atlasNode:d4,flowNode:v4,classBlockNode:w4,serviceNode:k8},eE=cc;function fq(e,t,n){var c,u;const r=e.type==="flow",i=e.nodes.filter(f=>!f.hidden),o=i.map(f=>{var p;let h=r?"flowNode":"atlasNode";return!r&&f.meta&&Array.isArray(f.meta.items)&&(h="classBlockNode"),f.type==="service"&&(h="serviceNode"),{id:f.id,type:h,data:{label:f.label,subtitle:f.subtitle,body:f.body,type:f.type,diff:f.diff,diffDetail:f.diffDetail,anchor:f.anchor,meta:f.meta,items:(p=f.meta)==null?void 0:p.items,graphId:e.graphId,nodeId:f.id},position:{x:0,y:0}}}),a=e.edges.filter(f=>!f.hidden),s=new Set;if(n)for(const f of i){const h=(c=f.anchor)==null?void 0:c.filePath,p=(u=f.anchor)==null?void 0:u.symbol,v=h&&p?`${h}::${p}`:void 0;(v&&n[v]==="nl-query"||h&&n[`${h}::*`]==="nl-query")&&s.add(f.id)}const l=a.map(f=>{var b,m,y;const p=!(f.diff&&f.diff!=="unchanged")&&s.has(f.source)&&s.has(f.target),v=p?"var(--ca-nl-query)":eE[f.diff||"unchanged"]||eE.unchanged,g=f.diff==="deleted";return{id:f.id,source:f.source,target:f.target,label:f.label||"",type:"smoothstep",animated:f.diff==="added",style:{stroke:v,strokeWidth:p?2:g?1:1.5,strokeDasharray:g?"6,4":(b=f.meta)!=null&&b.loopBack?"4,3":void 0,opacity:g?.5:(m=f.meta)!=null&&m.loopBack?.6:1},labelStyle:{fontSize:10,fontFamily:"'Inter', system-ui",fill:"var(--ca-edge-label-text)",fontWeight:f.diff==="added"||f.diff==="deleted"?600:400},labelBgStyle:{fill:"var(--ca-label-bg)",fillOpacity:1},markerEnd:{type:Wn.ArrowClosed,color:v,width:12,height:12},data:{diff:f.diff,anchor:(y=e.anchors)==null?void 0:y[f.id]}}});return mR(o,l,t)}function hq({graph:e,mode:t,onNodeClick:n,onNodeRightClick:r,onEdgeClick:i,impactData:o,highlightedNodes:a,highlightReasons:s,commentCounts:l,aiReviews:c,onImpactClose:u,onImpactNavigate:f}){var $,j,O;const h=t==="flow"?"TB":"LR",p=w.useRef(null);w.useEffect(()=>{const E=p.current;if(!E)return;const N=A=>{const P=A,{nodeId:L,nodeData:q}=P.detail;n(L,q,P)};return E.addEventListener("classBlockItemClick",N),()=>E.removeEventListener("classBlockItemClick",N)},[n]);const{nodes:v,edges:g}=w.useMemo(()=>fq(e,h,a),[e,h,a]),b=w.useMemo(()=>{const E=a&&Object.keys(a).length>0,N=l&&Object.keys(l).length>0,A=c&&Object.keys(c).length>0;return!E&&!N&&!A?v:v.map(P=>{var me,Ge;let L=P.data;N&&l[P.id]!=null&&(L={...L,meta:{...L.meta,commentCount:l[P.id]}}),A&&c[P.id]&&(L={...L,meta:{...L.meta,aiReviews:c[P.id]}});const q=(me=L==null?void 0:L.anchor)==null?void 0:me.filePath,B=(Ge=L==null?void 0:L.anchor)==null?void 0:Ge.symbol,Y=q&&B?`${q}::${B}`:void 0,K=Y&&a?a[Y]:void 0,J=!K&&q&&a?a[`${q}::*`]:void 0,ie=K??J;if(!ie)return L!==P.data?{...P,data:L}:P;const ae=K?Y:`${q}::*`,ue=ie==="direct"?"var(--ca-danger)":ie==="transitive"?"var(--ca-warning)":ie==="nl-query"?"var(--ca-nl-query)":"var(--ca-modified-border)",fe=s==null?void 0:s[ae];return{...P,style:{...P.style,outline:`2px solid ${ue}`,outlineOffset:"2px",borderRadius:"6px"},data:{...L,...fe?{matchReason:fe}:{}}}})},[v,a,s,l,c]),[m,y,x]=oc(b),[S,C,R]=ac(g);w.useEffect(()=>{y(b),C(g)},[b,g,y,C]);const _=w.useCallback((E,N)=>{n(N.id,N.data,E)},[n]),I=w.useCallback((E,N)=>{E.preventDefault(),r==null||r(N.id,N.data,E)},[r]),M=w.useCallback((E,N)=>{i(N.id,N.data)},[i]),k=w.useMemo(()=>{const E=e.nodes.filter(L=>L.type!=="section"&&L.type!=="file"),N=E.filter(L=>L.diff==="added").length,A=E.filter(L=>L.diff==="deleted").length,P=E.filter(L=>L.diff==="modified").length;return{added:N,deleted:A,modified:P,total:E.length}},[e]);if(t==="api-list"){const E=(A,P)=>{n(A.apiId,{type:"api",meta:{apiId:A.apiId},anchor:{filePath:A.filePath}},P)},N=(A,P)=>{n(A,{type:"file",anchor:{filePath:A}},P)};return d.jsxs("div",{style:{width:"100%",height:"100%",position:"relative"},children:[d.jsx(cq,{graph:e,onApiClick:E,onFileClick:N,highlightedNodes:a}),o&&u&&d.jsx(Eo,{impact:o,onClose:u,onNavigate:f??(()=>{})})]})}if(t==="health")return d.jsx("div",{style:{width:"100%",height:"100%",overflow:"auto",background:"var(--ca-bg)"},children:d.jsx(uq,{health:(($=e.meta)==null?void 0:$.health)??{deadFunctions:[],godFiles:[],highCouplingFiles:[],cyclicDependencies:[],orphanedClusters:[]},onNavigate:E=>n(E,{type:"file",anchor:{filePath:E}})})});if(t==="feature")return d.jsxs("div",{style:{width:"100%",height:"100%",position:"relative"},children:[d.jsx(X8,{graph:e,onNodeClick:n,onNodeRightClick:r,onEdgeClick:i,highlightedNodes:a,commentCounts:l,aiReviews:c}),o&&u&&d.jsx(Eo,{impact:o,onClose:u,onNavigate:f??(()=>{})})]});if(t==="microservice")return d.jsxs("div",{style:{width:"100%",height:"100%",position:"relative"},children:[d.jsx(R8,{graph:e,onNodeClick:n,onNodeRightClick:r,onEdgeClick:i,highlightedNodes:a,commentCounts:l,aiReviews:c}),o&&u&&d.jsx(Eo,{impact:o,onClose:u,onNavigate:f??(()=>{})})]},"microservice-view");if(t==="sequence")return d.jsxs("div",{style:{width:"100%",height:"100%",position:"relative"},children:[d.jsx(D8,{graph:e,onNodeClick:n,onNodeRightClick:r,onEdgeClick:i,highlightedNodes:a,commentCounts:l,aiReviews:c}),o&&u&&d.jsx(Eo,{impact:o,onClose:u,onNavigate:f??(()=>{})})]});const T=t==="file"?"File Dependency":"Function Flow",z=((j=e.meta)==null?void 0:j.fileName)||((O=e.meta)==null?void 0:O.functionName)||e.graphId;return d.jsxs("div",{style:{width:"100%",height:"100%",position:"relative"},ref:E=>{p.current=E},children:[d.jsxs("div",{className:"ca-header",children:[d.jsxs("div",{className:"ca-header-title",children:[d.jsx("span",{className:"ca-header-badge",children:T}),d.jsx("span",{children:z})]}),d.jsxs("div",{className:"ca-header-stats",children:[d.jsx(Ra,{graphId:String(e.id??""),onOpen:E=>document.dispatchEvent(new CustomEvent("ca:openAiReviewPanel",{detail:{graphId:E}}))}),d.jsxs("span",{className:"ca-stat",children:["Nodes: ",k.total]}),k.added>0&&d.jsxs("span",{className:"ca-stat",children:[d.jsx("span",{className:"ca-stat-dot added"})," ",k.added," added"]}),k.deleted>0&&d.jsxs("span",{className:"ca-stat",children:[d.jsx("span",{className:"ca-stat-dot deleted"})," ",k.deleted," deleted"]}),k.modified>0&&d.jsxs("span",{className:"ca-stat",children:[d.jsx("span",{className:"ca-stat-dot modified"})," ",k.modified," modified"]})]})]}),d.jsxs(Ta,{nodes:m,edges:S,onNodesChange:x,onEdgesChange:R,onNodeClick:_,onNodeContextMenu:I,onEdgeClick:M,nodeTypes:dq,fitView:!0,fitViewOptions:{padding:.2},minZoom:.05,maxZoom:2.5,defaultEdgeOptions:{type:"smoothstep"},proOptions:{hideAttribution:!0},children:[d.jsx(lc,{variant:mt.Dots,gap:16,size:1,color:getComputedStyle(document.documentElement).getPropertyValue("--ca-dot-grid").trim()||"#888"}),d.jsx(sc,{position:"bottom-left"})]}),o&&u&&d.jsx(Eo,{impact:o,onClose:u,onNavigate:f??(()=>{})})]})}class yg extends w.Component{constructor(n){super(n);Ty(this,"handleReload",()=>{var n;this.setState({hasError:!1,error:null}),(n=window.vscodeApi)==null||n.postMessage({type:"ready"})});this.state={hasError:!1,error:null}}static getDerivedStateFromError(n){return{hasError:!0,error:n}}componentDidCatch(n,r){console.error("[CodeAtlas] Render error caught by ErrorBoundary:",n,r.componentStack)}render(){return this.state.hasError?d.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100vh",fontFamily:"'Inter', system-ui, sans-serif",color:"var(--ca-text)",background:"var(--ca-bg)",padding:32,textAlign:"center",gap:16},children:[d.jsx("div",{style:{fontSize:32,opacity:.5},children:"!"}),d.jsx("div",{style:{fontSize:14,fontWeight:600},children:"Something went wrong"}),d.jsx("div",{style:{fontSize:11,color:"var(--ca-text-muted)",maxWidth:400},children:"An error occurred while rendering the diagram. This is usually caused by unexpected data."}),this.state.error&&d.jsx("pre",{style:{fontSize:10,color:"var(--ca-danger)",background:"var(--ca-surface)",border:"1px solid var(--ca-border)",borderRadius:6,padding:"8px 12px",maxWidth:500,overflow:"auto",whiteSpace:"pre-wrap",wordBreak:"break-word",maxHeight:120},children:this.state.error.message}),d.jsx("button",{onClick:this.handleReload,style:{padding:"8px 20px",fontSize:12,fontWeight:600,background:"var(--ca-accent)",color:"#fff",border:"none",borderRadius:6,cursor:"pointer"},children:"Reload Diagram"})]}):this.props.children}}const Co=8e3;function pq(e){if(!e)return"";const t=new Date(e),n=Date.now(),r=Math.floor((n-e)/1e3);return r<60?`${r}s ago`:r<3600?`${Math.floor(r/60)}m ago`:r<86400?`${Math.floor(r/3600)}h ago`:t.toISOString().slice(0,10)}function gq({onRequest:e,onSave:t,guidelines:n,evidenceGateEnabled:r,onToggleEvidenceGate:i}){const[o,a]=w.useState(!1),[s,l]=w.useState(""),c=w.useRef(null);w.useEffect(()=>{e()},[]),w.useEffect(()=>{o||l((n==null?void 0:n.text)??"")},[n,o]),w.useEffect(()=>{var g;o&&((g=c.current)==null||g.focus())},[o]);const u=(n==null?void 0:n.text)??"",f=new TextEncoder().encode(s).length;function h(){l(u),a(!1)}function p(){const g=s.length>Co?s.slice(0,Co):s;t(g),a(!1)}function v(g){g.key==="Escape"&&(g.preventDefault(),h()),(g.metaKey||g.ctrlKey)&&g.key==="Enter"&&(g.preventDefault(),p())}return d.jsxs("section",{className:"ca-guidelines-card",style:{background:"var(--ca-surface, #131316)",border:"1px solid var(--ca-border, #232429)",borderRadius:"8px",padding:"18px",marginTop:"16px"},children:[d.jsxs("header",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"10px"},children:[d.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px",fontWeight:600},children:[d.jsx("span",{"aria-hidden":!0,children:"📋"}),d.jsx("span",{children:"Review guidelines"}),d.jsx("span",{style:{fontSize:"10px",fontWeight:700,padding:"2px 6px",background:"rgba(108,114,203,0.16)",color:"var(--ca-accent, #6c72cb)",borderRadius:"4px"},children:"AI REVIEW"})]}),!o&&d.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[i&&d.jsxs("label",{title:"DEBUG: when off, the evidence gate (#513) is bypassed and every finding the model emits is kept — even unverifiable ones. Use to compare original vs gated output.",style:{display:"inline-flex",alignItems:"center",gap:6,fontSize:11,color:"var(--ca-text-dim, #9ca0a8)",padding:"4px 10px",borderRadius:"6px",background:"transparent",border:"1px dashed var(--ca-border, #232429)",cursor:"pointer",userSelect:"none"},children:[d.jsx("span",{style:{fontSize:9,fontWeight:700,padding:"1px 5px",background:"rgba(250,204,21,0.16)",color:"#facc15",borderRadius:3},children:"DEBUG"}),d.jsx("span",{children:"Evidence gate"}),d.jsx("input",{type:"checkbox",checked:r!==!1,onChange:g=>i(g.target.checked),style:{width:14,height:14,cursor:"pointer",accentColor:"var(--ca-accent, #6c72cb)"}}),d.jsx("span",{style:{fontSize:10,fontWeight:600,color:r!==!1?"var(--ca-success, #10b981)":"var(--ca-warning, #f59e0b)"},children:r!==!1?"ON":"OFF"})]}),d.jsx("button",{type:"button",onClick:()=>a(!0),className:"ca-btn",style:{background:"var(--ca-accent, #6c72cb)",color:"white",padding:"6px 12px",fontSize:"12px",fontWeight:500,borderRadius:"6px",border:"none",cursor:"pointer"},children:u?"Edit":"Add guidelines"})]})]}),o?d.jsxs(d.Fragment,{children:[d.jsx("textarea",{ref:c,value:s,onChange:g=>l(g.target.value),onKeyDown:v,maxLength:Co,placeholder:`• Flag any HTTP route that doesn't enforce auth
|
|
59
|
+
Kind: ${o}`,onMouseEnter:a=>{a.currentTarget.style.background="var(--ca-surface)"},onMouseLeave:a=>{a.currentTarget.style.background="transparent"},children:[d.jsx("span",{style:{...be.entryIcon,color:t},children:e.depth===1?"●":"○"}),d.jsxs("div",{style:be.entryBody,children:[d.jsx("div",{style:be.entryFn,children:e.functionName}),d.jsx("div",{style:be.entryFile,children:r})]}),d.jsxs("div",{style:{...be.entryMeta,color:"var(--ca-text-muted)"},children:[i&&d.jsx("div",{style:{color:t},children:i}),d.jsx("div",{children:o})]})]})}function Co({impact:e,onClose:t,onNavigate:n}){var h,p,v;const[r,i]=w.useState(()=>localStorage.getItem("ca-impact-minimized")==="true"),o=e.impactedFunctions.filter(g=>g.impactKind==="direct"),a=e.impactedFunctions.filter(g=>g.impactKind==="transitive"&&g.depth>1),s=e.impactedFunctions.filter(g=>g.impactKind==="review-required"),l=w.useCallback(g=>{g.key==="Escape"&&t()},[t]);w.useEffect(()=>(document.addEventListener("keydown",l),()=>document.removeEventListener("keydown",l)),[l]);const c=((h=e.changedFiles[0])==null?void 0:h.split("/").pop())??"unknown",{summary:u}=e,f=g=>{i(g),localStorage.setItem("ca-impact-minimized",String(g))};return r?d.jsx("div",{style:{...be.overlay,width:40,cursor:"pointer"},onClick:()=>f(!1),title:"Expand blast radius panel",children:d.jsx("div",{style:{...be.header,justifyContent:"center",padding:"14px 8px"},children:d.jsx("span",{style:{fontSize:14},children:"⚡"})})}):d.jsxs("div",{style:be.overlay,children:[d.jsxs("div",{style:be.header,children:[d.jsx("span",{style:{fontSize:14},children:"⚡"}),d.jsxs("span",{style:be.title,children:["Blast Radius — ",c]}),d.jsx("button",{style:be.closeBtn,onClick:()=>f(!0),title:"Minimize","aria-label":"Minimize panel",children:"─"}),d.jsx("button",{style:be.closeBtn,onClick:t,title:"Close (Esc)","aria-label":"Close impact panel",children:"✕"})]}),d.jsxs("div",{style:be.summaryRow,children:[d.jsxs("span",{style:ko("var(--ca-danger)"),children:[u.directImpacts," changed"]}),d.jsxs("span",{style:ko("var(--ca-warning)"),children:[u.transitiveImpacts," callers"]}),(u.reviewRequired??0)>0&&d.jsxs("span",{style:ko("var(--ca-warning)"),children:[u.reviewRequired," review"]}),u.clustersAffected>0&&d.jsxs("span",{style:ko("var(--ca-accent)"),children:[u.clustersAffected," cluster",u.clustersAffected!==1?"s":""]}),u.servicesAffected>0&&d.jsxs("span",{style:ko("var(--ca-success)"),children:[u.servicesAffected," service",u.servicesAffected!==1?"s":""]})]}),e.changedFiles.length>0&&d.jsxs("div",{style:be.changedSection,children:[d.jsx("div",{style:{...be.sectionHeader,color:"var(--ca-text-muted)"},children:"Changed"}),e.changedFiles.map(g=>d.jsx("div",{style:be.changedFile,title:g,children:g.split("/").slice(-2).join("/")},g))]}),d.jsxs("div",{style:be.section,children:[d.jsxs("div",{style:{...be.sectionHeader,color:"var(--ca-danger)"},children:[d.jsx("span",{children:"🔴"})," Will Break",d.jsxs("span",{style:{color:"var(--ca-text-muted)",fontWeight:400,textTransform:"none",letterSpacing:0},children:["(",o.length,")"]})]}),o.length===0?d.jsx("div",{style:be.empty,children:"No direct callers"}):o.map(g=>d.jsx(xg,{fn:g,color:"var(--ca-danger)",onNavigate:n},g.key))]}),d.jsxs("div",{style:be.section,children:[d.jsxs("div",{style:{...be.sectionHeader,color:"var(--ca-warning)"},children:[d.jsx("span",{children:"🟡"})," Likely Affected",d.jsxs("span",{style:{color:"var(--ca-text-muted)",fontWeight:400,textTransform:"none",letterSpacing:0},children:["(",a.length,")"]})]}),a.length===0?d.jsx("div",{style:be.empty,children:"No transitive callers"}):a.map(g=>d.jsx(xg,{fn:g,color:"var(--ca-warning)",onNavigate:n},g.key))]}),s.length>0&&d.jsxs("div",{style:be.section,children:[d.jsxs("div",{style:{...be.sectionHeader,color:"var(--ca-warning)"},children:[d.jsx("span",{children:"🟡"})," Review Required",d.jsxs("span",{style:{color:"var(--ca-text-muted)",fontWeight:400,textTransform:"none",letterSpacing:0},children:["(",s.length,")"]})]}),s.map(g=>d.jsx(xg,{fn:g,color:"var(--ca-warning)",onNavigate:n},g.key))]}),(e.affectedClusterIds.length>0||e.affectedServiceIds.length>0)&&d.jsxs("div",{style:{...be.section,paddingBottom:16},children:[d.jsx("div",{style:{...be.sectionHeader,color:"var(--ca-accent)"},children:"Affected Domains"}),e.affectedClusterIds.map(g=>d.jsxs("div",{style:{fontSize:10,color:"var(--ca-accent)",padding:"1px 0"},children:["⬡ ",g.replace("cluster:","")]},g)),e.affectedServiceIds.map(g=>d.jsxs("div",{style:{fontSize:10,color:"var(--ca-success)",padding:"1px 0"},children:["⬡ ",g.replace("service:","")," (service)"]},g))]}),d.jsxs("div",{style:{marginTop:"auto",padding:"8px 16px",borderTop:"1px solid var(--ca-border)",fontSize:9,color:"var(--ca-text-muted)",flexShrink:0},children:["depth ≤ ",((p=e.options)==null?void 0:p.maxDepth)??4,(((v=e.options)==null?void 0:v.minConfidence)??0)>0&&` · conf ≥ ${Math.round(e.options.minConfidence*100)}%`]})]})}function jo({title:e,icon:t,count:n,color:r,children:i}){return d.jsxs("div",{style:{background:"var(--ca-surface)",border:"1px solid var(--ca-border)",borderLeft:n>0?`3px solid ${r}`:"1px solid var(--ca-border)",borderRadius:8,padding:14,marginBottom:10},children:[d.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:8},children:[d.jsx("span",{children:t}),d.jsx("span",{style:{fontSize:13,fontWeight:700,color:"var(--ca-text)",flex:1},children:e}),d.jsx("span",{style:{fontSize:11,fontWeight:700,padding:"2px 8px",borderRadius:10,background:n>0?`${r}22`:"var(--ca-node-body-bg)",color:n>0?r:"var(--ca-text-muted)"},children:n})]}),i]})}function Ns({items:e,max:t,onNavigate:n,color:r}){return e.length===0?d.jsx("div",{style:{fontSize:11,color:"var(--ca-text-muted)",fontStyle:"italic"},children:"None found"}):d.jsxs("div",{children:[e.slice(0,t).map((i,o)=>d.jsx("div",{onClick:()=>n(i.split("::")[0]),style:{fontSize:10,padding:"3px 6px",borderRadius:4,cursor:"pointer",fontFamily:"var(--ca-font-mono)",color:r,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},onMouseEnter:a=>a.currentTarget.style.background="var(--ca-node-body-bg)",onMouseLeave:a=>a.currentTarget.style.background="transparent",title:i,children:i},o)),e.length>t&&d.jsxs("div",{style:{fontSize:9,color:"var(--ca-text-muted)",padding:"2px 6px"},children:["+",e.length-t," more"]})]})}function vq({health:e,onNavigate:t}){const n=e.deadFunctions.length+e.godFiles.length+e.highCouplingFiles.length+e.cyclicDependencies.length+e.orphanedClusters.length;return d.jsxs("div",{style:{padding:16,maxWidth:600,margin:"0 auto",fontFamily:"var(--ca-font-sans)",color:"var(--ca-text)"},children:[d.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:16},children:[d.jsx("span",{style:{fontSize:20},children:"🏥"}),d.jsxs("div",{children:[d.jsx("div",{style:{fontSize:15,fontWeight:700},children:"Code Health Report"}),d.jsx("div",{style:{fontSize:11,color:"var(--ca-text-muted)"},children:n===0?"No issues found":`${n} issue${n!==1?"s":""} detected`})]})]}),d.jsx(jo,{title:"Cyclic Dependencies",icon:"🔄",count:e.cyclicDependencies.length,color:"var(--ca-danger)",children:e.cyclicDependencies.length===0?d.jsx("div",{style:{fontSize:11,color:"var(--ca-text-muted)",fontStyle:"italic"},children:"None found"}):[...e.cyclicDependencies].sort((r,i)=>i.length-r.length).slice(0,8).map((r,i)=>d.jsxs("div",{style:{fontSize:10,padding:"3px 6px",fontFamily:"var(--ca-font-mono)",color:"var(--ca-danger)"},children:[r.join(" → ")," → ",r[0]]},i))}),d.jsx(jo,{title:"Dead Functions",icon:"💀",count:e.deadFunctions.length,color:"var(--ca-danger)",children:d.jsx(Ns,{items:e.deadFunctions,max:15,onNavigate:t,color:"var(--ca-danger)"})}),d.jsx(jo,{title:"High Coupling",icon:"🔗",count:e.highCouplingFiles.length,color:"var(--ca-warning)",children:d.jsx(Ns,{items:e.highCouplingFiles,max:10,onNavigate:t,color:"var(--ca-warning)"})}),d.jsx(jo,{title:"God Files",icon:"📦",count:e.godFiles.length,color:"var(--ca-warning)",children:d.jsx(Ns,{items:e.godFiles,max:10,onNavigate:t,color:"var(--ca-warning)"})}),d.jsx(jo,{title:"Orphaned Clusters",icon:"🏝️",count:e.orphanedClusters.length,color:"var(--ca-text-muted)",children:d.jsx(Ns,{items:e.orphanedClusters,max:10,onNavigate:t,color:"var(--ca-accent)"})})]})}const yq={atlasNode:y4,flowNode:E4,classBlockNode:j4,serviceNode:T8},nE=fc;function xq(e,t,n){var c,u;const r=e.type==="flow",i=e.nodes.filter(f=>!f.hidden),o=i.map(f=>{var p;let h=r?"flowNode":"atlasNode";return!r&&f.meta&&Array.isArray(f.meta.items)&&(h="classBlockNode"),f.type==="service"&&(h="serviceNode"),{id:f.id,type:h,data:{label:f.label,subtitle:f.subtitle,body:f.body,type:f.type,diff:f.diff,diffDetail:f.diffDetail,anchor:f.anchor,meta:f.meta,items:(p=f.meta)==null?void 0:p.items,graphId:e.graphId,nodeId:f.id},position:{x:0,y:0}}}),a=e.edges.filter(f=>!f.hidden),s=new Set;if(n)for(const f of i){const h=(c=f.anchor)==null?void 0:c.filePath,p=(u=f.anchor)==null?void 0:u.symbol,v=h&&p?`${h}::${p}`:void 0;(v&&n[v]==="nl-query"||h&&n[`${h}::*`]==="nl-query")&&s.add(f.id)}const l=a.map(f=>{var S,m,y;const p=!(f.diff&&f.diff!=="unchanged")&&s.has(f.source)&&s.has(f.target),v=p?"var(--ca-nl-query)":nE[f.diff||"unchanged"]||nE.unchanged,g=f.diff==="deleted";return{id:f.id,source:f.source,target:f.target,label:f.label||"",type:"smoothstep",animated:f.diff==="added",style:{stroke:v,strokeWidth:p?2:g?1:1.5,strokeDasharray:g?"6,4":(S=f.meta)!=null&&S.loopBack?"4,3":void 0,opacity:g?.5:(m=f.meta)!=null&&m.loopBack?.6:1},labelStyle:{fontSize:10,fontFamily:"'Inter', system-ui",fill:"var(--ca-edge-label-text)",fontWeight:f.diff==="added"||f.diff==="deleted"?600:400},labelBgStyle:{fill:"var(--ca-label-bg)",fillOpacity:1},markerEnd:{type:Wn.ArrowClosed,color:v,width:12,height:12},data:{diff:f.diff,anchor:(y=e.anchors)==null?void 0:y[f.id]}}});return yR(o,l,t)}function wq({graph:e,mode:t,onNodeClick:n,onNodeRightClick:r,onEdgeClick:i,impactData:o,highlightedNodes:a,highlightReasons:s,commentCounts:l,aiReviews:c,onImpactClose:u,onImpactNavigate:f}){var $,j,F;const h=t==="flow"?"TB":"LR",p=w.useRef(null);w.useEffect(()=>{const k=p.current;if(!k)return;const L=M=>{const P=M,{nodeId:A,nodeData:q}=P.detail;n(A,q,P)};return k.addEventListener("classBlockItemClick",L),()=>k.removeEventListener("classBlockItemClick",L)},[n]);const{nodes:v,edges:g}=w.useMemo(()=>xq(e,h,a),[e,h,a]),S=w.useMemo(()=>{const k=a&&Object.keys(a).length>0,L=l&&Object.keys(l).length>0,M=c&&Object.keys(c).length>0;return!k&&!L&&!M?v:v.map(P=>{var ve,Ke;let A=P.data;L&&l[P.id]!=null&&(A={...A,meta:{...A.meta,commentCount:l[P.id]}}),M&&c[P.id]&&(A={...A,meta:{...A.meta,aiReviews:c[P.id]}});const q=(ve=A==null?void 0:A.anchor)==null?void 0:ve.filePath,D=(Ke=A==null?void 0:A.anchor)==null?void 0:Ke.symbol,W=q&&D?`${q}::${D}`:void 0,V=W&&a?a[W]:void 0,J=!V&&q&&a?a[`${q}::*`]:void 0,te=V??J;if(!te)return A!==P.data?{...P,data:A}:P;const se=V?W:`${q}::*`,ue=te==="direct"?"var(--ca-danger)":te==="transitive"?"var(--ca-warning)":te==="nl-query"?"var(--ca-nl-query)":"var(--ca-modified-border)",ge=s==null?void 0:s[se];return{...P,style:{...P.style,outline:`2px solid ${ue}`,outlineOffset:"2px",borderRadius:"6px"},data:{...A,...ge?{matchReason:ge}:{}}}})},[v,a,s,l,c]),[m,y,x]=lc(S),[b,C,N]=cc(g);w.useEffect(()=>{y(S),C(g)},[S,g,y,C]);const E=w.useCallback((k,L)=>{n(L.id,L.data,k)},[n]),R=w.useCallback((k,L)=>{k.preventDefault(),r==null||r(L.id,L.data,k)},[r]),T=w.useCallback((k,L)=>{i(L.id,L.data)},[i]),_=w.useMemo(()=>{const k=e.nodes.filter(A=>A.type!=="section"&&A.type!=="file"),L=k.filter(A=>A.diff==="added").length,M=k.filter(A=>A.diff==="deleted").length,P=k.filter(A=>A.diff==="modified").length;return{added:L,deleted:M,modified:P,total:k.length}},[e]);if(t==="api-list"){const k=(M,P)=>{n(M.apiId,{type:"api",meta:{apiId:M.apiId},anchor:{filePath:M.filePath}},P)},L=(M,P)=>{n(M,{type:"file",anchor:{filePath:M}},P)};return d.jsxs("div",{style:{width:"100%",height:"100%",position:"relative"},children:[d.jsx(mq,{graph:e,onApiClick:k,onFileClick:L,highlightedNodes:a}),o&&u&&d.jsx(Co,{impact:o,onClose:u,onNavigate:f??(()=>{})})]})}if(t==="health")return d.jsx("div",{style:{width:"100%",height:"100%",overflow:"auto",background:"var(--ca-bg)"},children:d.jsx(vq,{health:(($=e.meta)==null?void 0:$.health)??{deadFunctions:[],godFiles:[],highCouplingFiles:[],cyclicDependencies:[],orphanedClusters:[]},onNavigate:k=>n(k,{type:"file",anchor:{filePath:k}})})});if(t==="feature")return d.jsxs("div",{style:{width:"100%",height:"100%",position:"relative"},children:[d.jsx(rq,{graph:e,onNodeClick:n,onNodeRightClick:r,onEdgeClick:i,highlightedNodes:a,commentCounts:l,aiReviews:c}),o&&u&&d.jsx(Co,{impact:o,onClose:u,onNavigate:f??(()=>{})})]});if(t==="microservice")return d.jsxs("div",{style:{width:"100%",height:"100%",position:"relative"},children:[d.jsx(L8,{graph:e,onNodeClick:n,onNodeRightClick:r,onEdgeClick:i,highlightedNodes:a,commentCounts:l,aiReviews:c}),o&&u&&d.jsx(Co,{impact:o,onClose:u,onNavigate:f??(()=>{})})]},"microservice-view");if(t==="sequence")return d.jsxs("div",{style:{width:"100%",height:"100%",position:"relative"},children:[d.jsx(K8,{graph:e,onNodeClick:n,onNodeRightClick:r,onEdgeClick:i,highlightedNodes:a,commentCounts:l,aiReviews:c}),o&&u&&d.jsx(Co,{impact:o,onClose:u,onNavigate:f??(()=>{})})]});const I=t==="file"?"File Dependency":"Function Flow",z=((j=e.meta)==null?void 0:j.fileName)||((F=e.meta)==null?void 0:F.functionName)||e.graphId;return d.jsxs("div",{style:{width:"100%",height:"100%",position:"relative"},ref:k=>{p.current=k},children:[d.jsxs("div",{className:"ca-header",children:[d.jsxs("div",{className:"ca-header-title",children:[d.jsx("span",{className:"ca-header-badge",children:I}),d.jsx("span",{children:z})]}),d.jsxs("div",{className:"ca-header-stats",children:[d.jsx(Ia,{graphId:String(e.id??""),onOpen:k=>document.dispatchEvent(new CustomEvent("ca:openAiReviewPanel",{detail:{graphId:k}}))}),d.jsxs("span",{className:"ca-stat",children:["Nodes: ",_.total]}),_.added>0&&d.jsxs("span",{className:"ca-stat",children:[d.jsx("span",{className:"ca-stat-dot added"})," ",_.added," added"]}),_.deleted>0&&d.jsxs("span",{className:"ca-stat",children:[d.jsx("span",{className:"ca-stat-dot deleted"})," ",_.deleted," deleted"]}),_.modified>0&&d.jsxs("span",{className:"ca-stat",children:[d.jsx("span",{className:"ca-stat-dot modified"})," ",_.modified," modified"]})]})]}),d.jsxs(La,{nodes:m,edges:b,onNodesChange:x,onEdgesChange:N,onNodeClick:E,onNodeContextMenu:R,onEdgeClick:T,nodeTypes:yq,fitView:!0,fitViewOptions:{padding:.2},minZoom:.05,maxZoom:2.5,defaultEdgeOptions:{type:"smoothstep"},proOptions:{hideAttribution:!0},children:[d.jsx(dc,{variant:vt.Dots,gap:16,size:1,color:getComputedStyle(document.documentElement).getPropertyValue("--ca-dot-grid").trim()||"#888"}),d.jsx(uc,{position:"bottom-left"})]}),o&&u&&d.jsx(Co,{impact:o,onClose:u,onNavigate:f??(()=>{})})]})}class wg extends w.Component{constructor(n){super(n);My(this,"handleReload",()=>{var n;this.setState({hasError:!1,error:null}),(n=window.vscodeApi)==null||n.postMessage({type:"ready"})});this.state={hasError:!1,error:null}}static getDerivedStateFromError(n){return{hasError:!0,error:n}}componentDidCatch(n,r){console.error("[CodeAtlas] Render error caught by ErrorBoundary:",n,r.componentStack)}render(){return this.state.hasError?d.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100vh",fontFamily:"'Inter', system-ui, sans-serif",color:"var(--ca-text)",background:"var(--ca-bg)",padding:32,textAlign:"center",gap:16},children:[d.jsx("div",{style:{fontSize:32,opacity:.5},children:"!"}),d.jsx("div",{style:{fontSize:14,fontWeight:600},children:"Something went wrong"}),d.jsx("div",{style:{fontSize:11,color:"var(--ca-text-muted)",maxWidth:400},children:"An error occurred while rendering the diagram. This is usually caused by unexpected data."}),this.state.error&&d.jsx("pre",{style:{fontSize:10,color:"var(--ca-danger)",background:"var(--ca-surface)",border:"1px solid var(--ca-border)",borderRadius:6,padding:"8px 12px",maxWidth:500,overflow:"auto",whiteSpace:"pre-wrap",wordBreak:"break-word",maxHeight:120},children:this.state.error.message}),d.jsx("button",{onClick:this.handleReload,style:{padding:"8px 20px",fontSize:12,fontWeight:600,background:"var(--ca-accent)",color:"#fff",border:"none",borderRadius:6,cursor:"pointer"},children:"Reload Diagram"})]}):this.props.children}}function bR(){const e=document.querySelector(".react-flow__viewport");if(e){const n=e.closest("svg");if(n)return n}return document.querySelector(".react-flow svg")??null}function SR(e){const t=e.getBoundingClientRect(),n=e.cloneNode(!0);return n.getAttribute("xmlns")||n.setAttribute("xmlns","http://www.w3.org/2000/svg"),n.getAttribute("width")||n.setAttribute("width",String(Math.max(1,Math.round(t.width)))),n.getAttribute("height")||n.setAttribute("height",String(Math.max(1,Math.round(t.height)))),new XMLSerializer().serializeToString(n)}function _R(e,t){const n=URL.createObjectURL(e),r=document.createElement("a");r.href=n,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r),setTimeout(()=>URL.revokeObjectURL(n),0)}function ER(e,t){const n=e.replace(/[^\w.-]+/g,"_").replace(/^_+|_+$/g,"").slice(0,80)||"diagram",r=new Date().toISOString().replace(/[:.]/g,"-").slice(0,19);return`codeatlas-${n}-${r}.${t}`}async function bq(e,t){const n=bR();if(!n){t("No diagram to export","warning");return}const r=SR(n),i=new Blob([r],{type:"image/svg+xml;charset=utf-8"});_R(i,ER(e,"svg")),t("SVG downloaded","info")}async function Sq(e,t){const n=bR();if(!n){t("No diagram to export","warning");return}const r=SR(n),i=n.getBoundingClientRect(),o=2,a=Math.max(1,Math.round(i.width*o)),s=Math.max(1,Math.round(i.height*o)),l=new Image;l.src=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(r)}`;try{await new Promise((h,p)=>{l.onload=()=>h(),l.onerror=()=>p(new Error("image load failed"))})}catch{t("PNG render failed — try SVG instead","warning");return}const c=document.createElement("canvas");c.width=a,c.height=s;const u=c.getContext("2d");if(!u){t("PNG render failed — canvas unavailable","warning");return}const f=getComputedStyle(document.documentElement).getPropertyValue("--ca-bg").trim()||"#ffffff";u.fillStyle=f,u.fillRect(0,0,a,s),u.drawImage(l,0,0,a,s),c.toBlob(h=>{if(!h){t("PNG export failed","warning");return}_R(h,ER(e,"png")),t("PNG downloaded","info")},"image/png")}function _q(e){var t;(t=window.vscodeApi)==null||t.postMessage({type:"runCommand",command:"codeatlas.exportArchitectureDocs"}),e("Generating Markdown architecture docs…","info")}function Eq({onToast:e,diagramLabel:t}){const[n,r]=w.useState(!1),i=w.useRef(null);w.useEffect(()=>{if(!n)return;const a=l=>{i.current&&!i.current.contains(l.target)&&r(!1)},s=l=>{l.key==="Escape"&&r(!1)};return document.addEventListener("mousedown",a),document.addEventListener("keydown",s),()=>{document.removeEventListener("mousedown",a),document.removeEventListener("keydown",s)}},[n]);const o=a=>{r(!1),setTimeout(()=>{a()},0)};return d.jsxs("div",{ref:i,style:{position:"relative"},children:[d.jsx("button",{type:"button",className:"ca-back-btn",style:{fontSize:10,padding:"2px 8px"},title:"Export current diagram","aria-label":"Export diagram","aria-haspopup":"menu","aria-expanded":n,onClick:()=>r(a=>!a),children:"Export ↓"}),n&&d.jsxs("div",{role:"menu",style:{position:"absolute",top:"100%",right:0,marginTop:4,background:"var(--ca-surface)",color:"var(--ca-text)",border:"1px solid var(--ca-border)",borderRadius:6,boxShadow:"0 4px 12px rgba(0,0,0,0.18)",padding:4,minWidth:160,zIndex:1e3},children:[d.jsxs(bg,{onClick:()=>o(()=>Sq(t,e)),children:[d.jsx("span",{style:{marginRight:8},children:"🖼️"})," PNG (raster)"]}),d.jsxs(bg,{onClick:()=>o(()=>bq(t,e)),children:[d.jsx("span",{style:{marginRight:8},children:"🎨"})," SVG (vector)"]}),d.jsxs(bg,{onClick:()=>o(()=>_q(e)),children:[d.jsx("span",{style:{marginRight:8},children:"📄"})," Markdown + Mermaid"]})]})]})}function bg({children:e,onClick:t}){return d.jsx("button",{type:"button",role:"menuitem",onClick:t,style:{display:"block",width:"100%",textAlign:"left",padding:"6px 10px",fontSize:12,color:"var(--ca-text)",background:"transparent",border:"none",borderRadius:4,cursor:"pointer"},onMouseEnter:n=>{n.currentTarget.style.background="var(--ca-hover-bg, rgba(255,255,255,0.08))"},onMouseLeave:n=>{n.currentTarget.style.background="transparent"},children:e})}const Ro=8e3;function kq(e){if(!e)return"";const t=new Date(e),n=Date.now(),r=Math.floor((n-e)/1e3);return r<60?`${r}s ago`:r<3600?`${Math.floor(r/60)}m ago`:r<86400?`${Math.floor(r/3600)}h ago`:t.toISOString().slice(0,10)}function Cq({onRequest:e,onSave:t,guidelines:n,evidenceGateEnabled:r,onToggleEvidenceGate:i}){const[o,a]=w.useState(!1),[s,l]=w.useState(""),c=w.useRef(null);w.useEffect(()=>{e()},[]),w.useEffect(()=>{o||l((n==null?void 0:n.text)??"")},[n,o]),w.useEffect(()=>{var g;o&&((g=c.current)==null||g.focus())},[o]);const u=(n==null?void 0:n.text)??"",f=new TextEncoder().encode(s).length;function h(){l(u),a(!1)}function p(){const g=s.length>Ro?s.slice(0,Ro):s;t(g),a(!1)}function v(g){g.key==="Escape"&&(g.preventDefault(),h()),(g.metaKey||g.ctrlKey)&&g.key==="Enter"&&(g.preventDefault(),p())}return d.jsxs("section",{className:"ca-guidelines-card",style:{background:"var(--ca-surface, #131316)",border:"1px solid var(--ca-border, #232429)",borderRadius:"8px",padding:"18px",marginTop:"16px"},children:[d.jsxs("header",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"10px"},children:[d.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px",fontWeight:600},children:[d.jsx("span",{"aria-hidden":!0,children:"📋"}),d.jsx("span",{children:"Review guidelines"}),d.jsx("span",{style:{fontSize:"10px",fontWeight:700,padding:"2px 6px",background:"rgba(108,114,203,0.16)",color:"var(--ca-accent, #6c72cb)",borderRadius:"4px"},children:"AI REVIEW"})]}),!o&&d.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[i&&d.jsxs("label",{title:"DEBUG: when off, the evidence gate (#513) is bypassed and every finding the model emits is kept — even unverifiable ones. Use to compare original vs gated output.",style:{display:"inline-flex",alignItems:"center",gap:6,fontSize:11,color:"var(--ca-text-dim, #9ca0a8)",padding:"4px 10px",borderRadius:"6px",background:"transparent",border:"1px dashed var(--ca-border, #232429)",cursor:"pointer",userSelect:"none"},children:[d.jsx("span",{style:{fontSize:9,fontWeight:700,padding:"1px 5px",background:"rgba(250,204,21,0.16)",color:"#facc15",borderRadius:3},children:"DEBUG"}),d.jsx("span",{children:"Evidence gate"}),d.jsx("input",{type:"checkbox",checked:r!==!1,onChange:g=>i(g.target.checked),style:{width:14,height:14,cursor:"pointer",accentColor:"var(--ca-accent, #6c72cb)"}}),d.jsx("span",{style:{fontSize:10,fontWeight:600,color:r!==!1?"var(--ca-success, #10b981)":"var(--ca-warning, #f59e0b)"},children:r!==!1?"ON":"OFF"})]}),d.jsx("button",{type:"button",onClick:()=>a(!0),className:"ca-btn",style:{background:"var(--ca-accent, #6c72cb)",color:"white",padding:"6px 12px",fontSize:"12px",fontWeight:500,borderRadius:"6px",border:"none",cursor:"pointer"},children:u?"Edit":"Add guidelines"})]})]}),o?d.jsxs(d.Fragment,{children:[d.jsx("textarea",{ref:c,value:s,onChange:g=>l(g.target.value),onKeyDown:v,maxLength:Ro,placeholder:`• Flag any HTTP route that doesn't enforce auth
|
|
60
60
|
• Prefer Result<T,E> over thrown exceptions
|
|
61
|
-
• Reject N+1 patterns — call out missing populate / batch lookups`,spellCheck:!1,style:{width:"100%",boxSizing:"border-box",fontFamily:"JetBrains Mono, ui-monospace, monospace",fontSize:"12px",lineHeight:1.55,color:"var(--ca-text, #ececef)",background:"var(--ca-bg, #0a0a0b)",border:"1px solid var(--ca-border, #232429)",borderRadius:"6px",padding:"12px",minHeight:"160px",maxHeight:"320px",resize:"vertical",outline:"none"}}),d.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginTop:"10px",fontSize:"11px",color:"var(--ca-text-dim, #9ca0a8)"},children:[d.jsxs("span",{children:[f," / ",
|
|
62
|
-
`),
|
|
61
|
+
• Reject N+1 patterns — call out missing populate / batch lookups`,spellCheck:!1,style:{width:"100%",boxSizing:"border-box",fontFamily:"JetBrains Mono, ui-monospace, monospace",fontSize:"12px",lineHeight:1.55,color:"var(--ca-text, #ececef)",background:"var(--ca-bg, #0a0a0b)",border:"1px solid var(--ca-border, #232429)",borderRadius:"6px",padding:"12px",minHeight:"160px",maxHeight:"320px",resize:"vertical",outline:"none"}}),d.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginTop:"10px",fontSize:"11px",color:"var(--ca-text-dim, #9ca0a8)"},children:[d.jsxs("span",{children:[f," / ",Ro," bytes · ⌘+Enter to save · Esc to cancel"]}),d.jsxs("div",{style:{display:"flex",gap:"8px"},children:[d.jsx("button",{type:"button",onClick:h,style:{background:"transparent",color:"var(--ca-text-dim, #9ca0a8)",border:"1px solid var(--ca-border, #232429)",padding:"6px 12px",borderRadius:"6px",cursor:"pointer",fontSize:"12px"},children:"Cancel"}),d.jsx("button",{type:"button",onClick:p,style:{background:"var(--ca-accent, #6c72cb)",color:"white",border:"none",padding:"6px 12px",borderRadius:"6px",cursor:"pointer",fontSize:"12px",fontWeight:500},children:"Save"})]})]})]}):u?d.jsxs(d.Fragment,{children:[d.jsx("pre",{style:{fontFamily:"JetBrains Mono, ui-monospace, monospace",fontSize:"12px",lineHeight:1.6,color:"var(--ca-text, #ececef)",background:"var(--ca-bg, #0a0a0b)",border:"1px solid var(--ca-border, #232429)",borderRadius:"6px",padding:"12px",whiteSpace:"pre-wrap",wordWrap:"break-word",minHeight:"60px",maxHeight:"240px",overflowY:"auto",margin:0},children:u}),d.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginTop:"10px",fontSize:"11px",color:"var(--ca-text-dim, #9ca0a8)"},children:[d.jsxs("span",{children:[new TextEncoder().encode(u).length," / ",Ro," bytes · last updated ",kq((n==null?void 0:n.updatedAt)??0)]}),d.jsx("span",{style:{color:"var(--ca-success, #10b981)"},children:"● Active — used in every review"})]})]}):d.jsx("div",{style:{fontSize:"12px",color:"var(--ca-text-dim, #9ca0a8)",background:"var(--ca-bg, #0a0a0b)",border:"1px dashed var(--ca-border, #232429)",borderRadius:"6px",padding:"14px"},children:'No guidelines yet. Add bullet points the AI should enforce on every review — e.g. "Flag missing auth on POST routes". Saved guidelines are injected into every per-entry-point review.'})]})}function jq(e){if(e==="microservice:workspace")return"#/system-design";if(e==="feature:workspace")return"#/features";if(e.startsWith("feature:"))return`#/features/${e.slice(8)}`;if(e.startsWith("api-list:"))return`#/apis/${e.slice(9)}`;if(e.startsWith("sequence:"))return`#/sequence/${e.slice(9)}`;if(e.startsWith("file:"))return`#/file/${e.slice(5)}`;if(e.startsWith("flow:")){const t=e.slice(5),n=t.lastIndexOf(":");return n>0?`#/flow/${t.slice(0,n)}/${t.slice(n+1)}`:`#/flow/${t}`}return e==="health:report"?"#/health":`#/diagram/${encodeURIComponent(e)}`}const rE={flow:1,file:2,sequence:3,"api-list":4,feature:5,microservice:6};function $l(e){return!e.bindings||e.bindings.length===0?null:e.bindings.slice().sort((t,n)=>(rE[t.layer]??99)-(rE[n.layer]??99))[0]}function Rq(e){const t=$l(e);if(t){try{const n=jq(t.graphId);typeof window<"u"&&window.location.hash!==n&&(window.location.hash=n)}catch{}try{document.dispatchEvent(new CustomEvent("ca:openAiReviewPanel",{detail:{graphId:t.graphId,findingId:e.id}}))}catch{}}}const As={error:0,warning:1,info:2},Nq=500,Aq=5;function Iq(e){const t=e.filter(h=>h.status==="open");if(t.length===0)return"";const n=[],r={error:0,warning:0,info:0};for(const h of t)r[h.severity]+=1;n.push(`Overall: ${t.length} open finding${t.length===1?"":"s"} — ${r.error} error${r.error===1?"":"s"}, ${r.warning} warning${r.warning===1?"":"s"}, ${r.info} info.`);const i=Tq(t);i&&n.push(`Interpretation: ${i}`),n.push("");const o=No(t,"microservice");if(o.length>0){const h=o[0];n.push("Microservice"),n.push(` ${h.counts.error+h.counts.warning+h.counts.info} cross-cutting finding${h.counts.error+h.counts.warning+h.counts.info===1?"":"s"} on the workspace (${Sg(h.counts)}).`);const p=iE(h);p&&n.push(` ${p}`),n.push("")}const a=No(t,"feature");if(a.length>0){n.push(`Features (${a.length} affected)`);for(const h of a.slice(0,6)){n.push(` • ${h.name} — ${Sg(h.counts)}`);const p=iE(h);p&&n.push(` ${p}`)}a.length>6&&n.push(` • plus ${a.length-6} more cluster${a.length-6===1?"":"s"}`),n.push("")}const s=No(t,"sequence");if(s.length>0){n.push(`Sequences (${s.length} endpoint${s.length===1?"":"s"} flagged)`);for(const h of s.slice(0,6)){const p=h.findings.slice().sort((v,g)=>As[v.severity]-As[g.severity])[0];n.push(` • ${h.name} — ${Sg(h.counts)}: ${oE(p.title,70)}`)}s.length>6&&n.push(` • plus ${s.length-6} more endpoint${s.length-6===1?"":"s"}`),n.push("")}const l=No(t,"file"),c=No(t,"flow");if(l.length>0){const h=l.slice(0,8).map(v=>v.name),p=l.length>8?` (+${l.length-8} more)`:"";n.push(`Files affected (${l.length}): ${h.join(", ")}${p}.`)}if(c.length>0){const h=c.slice(0,6).map(v=>v.name),p=c.length>6?` (+${c.length-6} more)`:"";n.push(`Function flows affected (${c.length}): ${h.join("; ")}${p}.`)}(l.length>0||c.length>0)&&n.push("");const f=t.slice().sort((h,p)=>As[h.severity]-As[p.severity]||(p.updatedAt??"").localeCompare(h.updatedAt??"")).slice(0,Aq);return f.length>0&&(n.push("Top concerns (focus here first)"),f.forEach((h,p)=>{const v=Lq(h);n.push(` ${p+1}. [${h.severity.toUpperCase()}] ${oE(h.title,72)}${v?` — ${v}`:""}`)})),$q(n.join(`
|
|
62
|
+
`),Nq)}function No(e,t){const n=new Map;for(const r of e){const i=new Set;for(const o of r.bindings??[]){if(o.layer!==t||i.has(o.graphId))continue;i.add(o.graphId);let a=n.get(o.graphId);a||(a={graphId:o.graphId,name:Mq(o.graphId,r),counts:{error:0,warning:0,info:0},findings:[]},n.set(o.graphId,a)),a.counts[r.severity]+=1,a.findings.push(r)}}return Array.from(n.values()).sort((r,i)=>{const o=r.counts.error>0?0:r.counts.warning>0?1:2,a=i.counts.error>0?0:i.counts.warning>0?1:2;return o!==a?o-a:i.counts.error+i.counts.warning+i.counts.info-(r.counts.error+r.counts.warning+r.counts.info)})}function Tq(e){const t=kR(e);if(t.length===0)return"";const n=t.slice(0,3);if(n.length===1)return`${n[0].theme} dominates (${n[0].count}/${e.length} findings touch this).`;const r=n[0],i=n.slice(1).map(o=>`${o.theme.toLowerCase()} (${o.count})`).join(", and ");return`${r.theme} is the dominant theme (${r.count}/${e.length} findings); next are ${i}.`}function iE(e){const t=kR(e.findings);if(t.length===0)return"";const n=t[0],r=e.findings.length;return n.count>=Math.ceil(r/2)?`Pattern: ${n.theme.toLowerCase()} (${n.count}/${r}).`:`Patterns: ${t.slice(0,2).map(i=>i.theme.toLowerCase()).join(" + ")}.`}const Pq=[{theme:"Secret / credential leakage",rx:/\b(secret|jwt|api[\s-]?key|hardcoded|leak)\b/i},{theme:"Auth & authorization gaps",rx:/\b(auth|authenticat|authoriz|permission|access[\s-]?control|csrf|session|token)\b/i},{theme:"Input validation / injection risk",rx:/\b(validat|sanitiz|escape|inject|xss|sql[\s-]?inject|user[\s-]?input)\b/i},{theme:"Silent error swallowing",rx:/\b(swallow|silent|unhandled|catch|empty[\s-]?catch|ignore[d]?[\s-]?error)\b/i},{theme:"Performance — query patterns",rx:/\b(n\s*\+\s*1|loop[\s-]?query|nested[\s-]?find|slow[\s-]?query|over[\s-]?fetch)\b/i},{theme:"Logging / observability gaps",rx:/\b(log|console\.(log|info|warn)|telemetry|trace)\b/i},{theme:"Dead / unused code",rx:/\b(dead[\s-]?code|unused|unreachable|orphan)\b/i},{theme:"Type / null safety",rx:/\b(null|undefined|type[\s-]?coercion|nullable|optional[\s-]?chain)\b/i}];function kR(e){const t={};for(const n of e){const r=`${n.title??""} ${n.body??""} ${n.category??""}`;for(const{theme:i,rx:o}of Pq)if(o.test(r)){t[i]=(t[i]??0)+1;break}}return Object.entries(t).map(([n,r])=>({theme:n,count:r})).sort((n,r)=>r.count-n.count)}function Sg(e){const t=[];return e.error>0&&t.push(`${e.error} error${e.error===1?"":"s"}`),e.warning>0&&t.push(`${e.warning} warning${e.warning===1?"":"s"}`),e.info>0&&t.push(`${e.info} info`),t.length===0?"no findings":t.join(", ")}function Mq(e,t){if(e==="microservice:workspace")return"workspace";if(e==="feature:workspace")return"workspace-wide";if(e.startsWith("feature:cluster:"))return`the ${e.slice(16)} cluster`;if(e.startsWith("feature:"))return`the ${e.slice(8)} cluster`;if(e.startsWith("api-list:cluster:"))return`${e.slice(17)} APIs`;if(e.startsWith("api-list:"))return`${e.slice(9)} APIs`;if(e.startsWith("sequence:")){if(t.entryPointId&&/^[A-Z_]+:/.test(t.entryPointId))return t.entryPointId.replace(":"," ");const n=e.slice(9);return Zs(n.split(":")[0])}if(e.startsWith("file:"))return Zs(e.slice(5));if(e.startsWith("flow:")){const n=e.slice(5),r=n.lastIndexOf(":");if(r>0){const i=n.slice(0,r);return`${n.slice(r+1)} in ${Zs(i)}`}return n}return e}function Lq(e){var n;if(e.entryPointId&&/^[A-Z_]+:/.test(e.entryPointId))return e.entryPointId.replace(":"," ");const t=(n=e.anchor)==null?void 0:n.filePath;return t?Zs(t):""}function Zs(e){if(!e)return"";const t=e.lastIndexOf("/");return t>=0?e.slice(t+1):e}function oE(e,t){return e.length<=t?e:e.slice(0,t-1)+"…"}function $q(e,t){const n=e.split(/\s+/).filter(Boolean);return n.length<=t?e:n.slice(0,t).join(" ")+"…"}function Wm(e,t={}){var c,u,f,h;if(e.length===0)return"_No AI Review findings to copy._";const n=e.filter(p=>p.status==="open"),r=zq(n,p=>p.severity),i=n.length,o=[];o.push(`### AI Review findings — ${i} total (${r.error??0} errors, ${r.warning??0} warnings, ${r.info??0} info)`);const a=Oq(e);a&&o.push(`> ${a}`),t.headerNote&&o.push(`> ${t.headerNote}`),o.push("");const s={error:0,warning:1,info:2},l=e.slice().sort((p,v)=>(s[p.severity]??9)-(s[v.severity]??9)||p.title.localeCompare(v.title));for(const p of l){o.push(`#### [${p.severity.toUpperCase()}] ${p.title}`),p.body&&o.push(p.body.trim());const v=(c=p.anchor)==null?void 0:c.snippet;if(v){const x=Fq(((u=p.anchor)==null?void 0:u.filePath)??"");o.push("Evidence:"),o.push("```"+x),o.push(String(v).trim()),o.push("```")}const g=[...new Set((p.bindings??[]).map(x=>x.layer))].filter(Boolean).join(", "),S=((f=p.anchor)==null?void 0:f.filePath)??"",m=((h=p.anchor)==null?void 0:h.symbol)??"",y=[];g&&y.push(`Layer: ${g}`),S&&y.push(`File: ${S}${m?` (handler: ${m})`:""}`),p.entryPointId&&y.push(`Entry point: ${p.entryPointId}`),y.length>0&&o.push(y.join(" · ")),o.push("")}return o.join(`
|
|
63
63
|
`).replace(/\n{3,}/g,`
|
|
64
64
|
|
|
65
65
|
`).trim()+`
|
|
66
|
-
`}function
|
|
66
|
+
`}function zq(e,t){const n={};for(const r of e){const i=t(r);n[i]=(n[i]??0)+1}return n}function Oq(e){const t=new Set;for(const n of e){const r=n.baselineRef;r!=null&&r.ref&&t.add(`${r.kind??"snap"}:${r.ref}${r.capturedAt?` · captured ${r.capturedAt}`:""}`)}return t.size===0?null:t.size===1?`Baseline: ${[...t][0]}`:`Baselines: ${[...t].join("; ")}`}function Fq(e){var r;const t=((r=e.split(".").pop())==null?void 0:r.toLowerCase())??"";return{ts:"ts",tsx:"tsx",js:"js",jsx:"jsx",py:"py",rb:"rb",go:"go",rs:"rs",java:"java",kt:"kotlin",cs:"csharp",php:"php",swift:"swift",dart:"dart"}[t]??""}const qq={error:"#ef4444",warning:"#f59e0b",info:"#3b82f6"},Dq={error:"rgba(239,68,68,0.12)",warning:"rgba(245,158,11,0.12)",info:"rgba(59,130,246,0.12)"},CR="ca-aireview-popover-size",Is=440,Ts=520,jR=380,RR=360;function Bq(){try{if(typeof window>"u"||!window.sessionStorage)return{w:Is,h:Ts};const e=window.sessionStorage.getItem(CR);if(!e)return{w:Is,h:Ts};const t=JSON.parse(e),n=Number(t==null?void 0:t.w)||Is,r=Number(t==null?void 0:t.h)||Ts;return{w:Math.max(jR,n),h:Math.max(RR,r)}}catch{return{w:Is,h:Ts}}}function Hq(e,t){var n;try{(n=window.sessionStorage)==null||n.setItem(CR,JSON.stringify({w:e,h:t}))}catch{}}function Wq({open:e,onClose:t,anchorRef:n,postMessage:r}){const[i,o]=w.useState(NC().findings),[a,s]=w.useState("all"),[l,c]=w.useState(""),[u,f]=w.useState(null),[h,p]=w.useState(!1),[v,g]=w.useState(null),[S,m]=w.useState(""),[y,x]=w.useState(()=>Bq()),[b,C]=w.useState(!1),N=w.useRef(null),E=r??(A=>{var q;try{(q=window.vscodeApi)==null||q.postMessage(A)}catch{}});w.useEffect(()=>Jl(A=>o(A.findings.slice())),[]),w.useEffect(()=>{if(!e||!N.current||typeof ResizeObserver>"u")return;const A=N.current,q=new ResizeObserver(()=>{const D=A.getBoundingClientRect();D.width>0&&D.height>0&&(x({w:Math.round(D.width),h:Math.round(D.height)}),Hq(Math.round(D.width),Math.round(D.height)))});return q.observe(A),()=>q.disconnect()},[e]),w.useEffect(()=>{if(!e)return;const A=D=>{var V,J;const W=D.target;W&&((V=N.current)!=null&&V.contains(W)||(J=n.current)!=null&&J.contains(W)||t())},q=D=>{D.key==="Escape"&&t()};return document.addEventListener("mousedown",A),document.addEventListener("keydown",q),()=>{document.removeEventListener("mousedown",A),document.removeEventListener("keydown",q)}},[e,t,n]);const R=w.useMemo(()=>i.filter(A=>A.status==="open"),[i]),T=w.useMemo(()=>i.filter(A=>A.status==="stale"),[i]),_=w.useMemo(()=>{const A=l.trim().toLowerCase();return(b?[...R,...T]:R).filter(D=>a==="all"||D.severity===a).filter(D=>A===""||D.title.toLowerCase().includes(A)||D.body.toLowerCase().includes(A)||D.entryPointId.toLowerCase().includes(A)).sort((D,W)=>{if(D.status!==W.status)return D.status==="open"?-1:1;const V={error:0,warning:1,info:2};return V[D.severity]!==V[W.severity]?V[D.severity]-V[W.severity]:(W.updatedAt??"").localeCompare(D.updatedAt??"")}).slice(0,50)},[R,T,a,l,b]),I=w.useMemo(()=>Iq(R),[R]);function z(A,q){f({level:A,text:q}),setTimeout(()=>f(null),2500)}async function $(A,q){var D;try{if(typeof navigator<"u"&&((D=navigator.clipboard)!=null&&D.writeText))await navigator.clipboard.writeText(A);else if(typeof document<"u"&&document.execCommand){const W=document.createElement("textarea");W.value=A,W.style.position="fixed",W.style.opacity="0",document.body.appendChild(W),W.select(),document.execCommand("copy"),document.body.removeChild(W)}else throw new Error("clipboard API unavailable");z("info",`Copied ${q} — ${A.length.toLocaleString()} chars`)}catch(W){z("error",`Copy failed: ${(W==null?void 0:W.message)??W}`)}}function j(A){const q=A==="all"?R:R.filter(V=>V.severity===A),D=Wm(q,{headerNote:A==="all"?void 0:`Filtered: ${A}s only`}),W=A==="all"?`${q.length} findings`:`${q.length} ${A}${q.length===1?"":"s"}`;$(D,W),p(!1)}function F(A){$(Wm([A]),"1 finding")}function k(A){E({type:"updateAiFindingStatus",findingId:A.id,status:"resolved"})}function L(A){E({type:"updateAiFindingStatus",findingId:A.id,status:"ignored"})}function M(A){g(A.id),m("")}function P(A){var W,V;const q=S.trim();if(!q){g(null);return}const D=$l(A);D&&(E({type:"addComment",layer:D.layer,targetType:D.targetType,targetId:D.targetId,anchor:{filePath:((W=A.anchor)==null?void 0:W.filePath)??"",symbol:(V=A.anchor)==null?void 0:V.symbol},body:`[AI finding] ${A.title}
|
|
67
67
|
|
|
68
|
-
${A}`,source:"ai"}),g(null),m(""),M("info","Comment added"))}return e?d.jsxs("div",{ref:S,role:"dialog","aria-label":"AI Review findings","data-testid":"ai-review-findings-popover",style:{position:"absolute",right:18,top:56,width:`${y.w}px`,height:`${y.h}px`,minWidth:`${bR}px`,minHeight:`${SR}px`,maxWidth:"min(1024px, calc(100vw - 32px))",maxHeight:"min(900px, calc(100vh - 80px))",background:"var(--ca-surface, #131316)",border:"1px solid var(--ca-border, #232429)",borderRadius:8,boxShadow:"0 12px 32px rgba(0,0,0,0.45)",zIndex:80,display:"flex",flexDirection:"column",resize:"both",overflow:"hidden"},children:[d.jsxs("div",{style:{padding:"10px 12px",borderBottom:"1px solid var(--ca-border, #232429)",display:"flex",alignItems:"center",justifyContent:"space-between",gap:8},children:[d.jsx("div",{style:{fontWeight:600,fontSize:13},children:"Findings"}),d.jsxs("div",{style:{display:"flex",gap:4,alignItems:"center"},children:[["all","error","warning","info"].map(N=>d.jsx("button",{type:"button","data-testid":`ai-findings-filter-${N}`,onClick:()=>s(N),style:{fontSize:11,padding:"3px 8px",borderRadius:4,background:a===N?"var(--ca-accent, #6c72cb)":"transparent",color:a===N?"white":"var(--ca-text-dim, #9ca0a8)",border:"1px solid "+(a===N?"var(--ca-accent, #6c72cb)":"var(--ca-border, #232429)"),cursor:"pointer",textTransform:"capitalize"},children:N==="all"?"All":N},N)),d.jsxs("div",{style:{position:"relative",marginLeft:6},children:[d.jsx("button",{type:"button","data-testid":"ai-findings-copy-btn",disabled:R.length===0,onClick:()=>p(N=>!N),"aria-expanded":h,title:"Copy findings to clipboard",style:{fontSize:11,padding:"3px 8px",borderRadius:4,background:"transparent",color:"var(--ca-text-dim, #9ca0a8)",border:"1px solid var(--ca-border, #232429)",cursor:R.length===0?"default":"pointer",opacity:R.length===0?.5:1},children:"📋 Copy ▾"}),h&&d.jsx("div",{"data-testid":"ai-findings-copy-menu",style:{position:"absolute",top:"100%",right:0,marginTop:4,background:"var(--ca-surface, #131316)",border:"1px solid var(--ca-border, #232429)",borderRadius:6,boxShadow:"0 6px 18px rgba(0,0,0,0.4)",zIndex:90,minWidth:160},children:["all","error","warning","info"].map(N=>{const A=N==="all"?R.length:R.filter(P=>P.severity===N).length;return d.jsx("button",{type:"button","data-testid":`ai-findings-copy-${N}`,disabled:A===0,onClick:()=>T(N),style:{display:"block",width:"100%",textAlign:"left",background:"transparent",color:"var(--ca-text, #ececef)",border:"none",padding:"8px 12px",fontSize:12,cursor:A===0?"default":"pointer",opacity:A===0?.4:1},children:N==="all"?`All findings (${A})`:`${N.charAt(0).toUpperCase()}${N.slice(1)}s only (${A})`},N)})})]})]})]}),I&&d.jsxs("details",{"data-testid":"ai-findings-summary",open:!0,style:{borderBottom:"1px solid var(--ca-border, #232429)",background:"rgba(108,114,203,0.05)"},children:[d.jsx("summary",{style:{cursor:"pointer",padding:"8px 12px 4px",fontSize:11,fontWeight:700,color:"var(--ca-accent, #6c72cb)",letterSpacing:"0.5px",textTransform:"uppercase",userSelect:"none"},children:"Summary"}),d.jsx("pre",{"data-testid":"ai-findings-summary-body",style:{padding:"4px 14px 12px",margin:0,fontSize:11,lineHeight:1.65,color:"var(--ca-text, #ececef)",fontFamily:"inherit",whiteSpace:"pre-wrap",wordBreak:"break-word",maxHeight:280,overflowY:"auto"},children:I})]}),d.jsx("div",{style:{padding:"8px 12px",borderBottom:"1px solid var(--ca-border, #232429)"},children:d.jsx("input",{type:"text",placeholder:"Search findings…",value:l,onChange:N=>c(N.target.value),"aria-label":"Filter findings",style:{width:"100%",boxSizing:"border-box",background:"var(--ca-bg, #0a0a0b)",color:"var(--ca-text, #ececef)",border:"1px solid var(--ca-border, #232429)",borderRadius:6,padding:"6px 10px",fontSize:12,outline:"none"}})}),d.jsx("div",{role:"list",style:{overflowY:"auto",flex:1,padding:"4px 0"},children:_.length===0?d.jsx("div",{style:{padding:"24px 16px",textAlign:"center",fontSize:12,color:"var(--ca-text-dim, #9ca0a8)"},children:i.length===0?"No findings yet. Start a review above.":"No findings match this filter."}):_.map(N=>{var q;const A=Pl(N),P=A?`${A.layer.toUpperCase()} · ${Mq(A.graphId,38)}`:N.entryPointId,L=v===N.id;return d.jsxs("div",{role:"listitem","data-testid":"ai-finding-row",style:{borderBottom:"1px solid rgba(255,255,255,0.04)",padding:"10px 12px"},children:[d.jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:10},children:[d.jsx("span",{title:N.severity,"aria-label":N.severity,style:{flexShrink:0,marginTop:5,width:9,height:9,borderRadius:"50%",background:Nq[N.severity],boxShadow:`0 0 0 3px ${Iq[N.severity]}`}}),d.jsxs("button",{type:"button","data-testid":"ai-finding-row-open",onClick:()=>{vq(N),t()},style:{flex:1,textAlign:"left",background:"transparent",color:"var(--ca-text, #ececef)",border:"none",padding:0,cursor:"pointer",display:"block",minWidth:0},children:[d.jsx("span",{style:{display:"block",fontWeight:600,fontSize:12,lineHeight:1.35,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:N.title}),d.jsx("span",{style:{display:"-webkit-box",fontSize:11,color:"var(--ca-text-dim, #9ca0a8)",marginTop:2,lineHeight:1.4,overflow:"hidden",WebkitLineClamp:2,WebkitBoxOrient:"vertical"},children:N.body}),d.jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:6,marginTop:4,fontSize:10,color:"var(--ca-text-dim, #9ca0a8)",fontFamily:"JetBrains Mono, ui-monospace, monospace",flexWrap:"wrap"},children:[d.jsx("span",{children:P}),((q=N.baselineRef)==null?void 0:q.ref)&&d.jsxs("span",{"data-testid":"ai-finding-baseline-ref",title:`Reviewed against ${N.baselineRef.kind==="git"?"commit":"snapshot"} ${N.baselineRef.ref}${N.baselineRef.capturedAt?` · ${new Date(N.baselineRef.capturedAt).toLocaleString()}`:""}`,style:{padding:"1px 6px",background:"rgba(108,114,203,0.14)",color:"var(--ca-accent, #6c72cb)",borderRadius:3,fontSize:9,fontWeight:700},children:[N.baselineRef.kind==="git"?"git":"snap",":",N.baselineRef.ref]})]})]})]}),d.jsxs("div",{style:{display:"flex",gap:6,marginTop:8,paddingLeft:19,flexWrap:"wrap"},children:[d.jsx(pi,{testId:"ai-finding-resolve",onClick:()=>$(N),title:"Mark resolved",children:"✓ Resolve"}),d.jsx(pi,{testId:"ai-finding-ignore",onClick:()=>j(N),title:"Ignore (won't show in counts)",children:"🚫 Ignore"}),d.jsx(pi,{testId:"ai-finding-comment",onClick:()=>O(N),title:"Add a comment linked to this finding",children:"💬 Comment"}),d.jsx(pi,{testId:"ai-finding-copy",onClick:()=>z(N),title:"Copy as Markdown",children:"📋 Copy"})]}),L&&d.jsxs("div",{style:{marginTop:8,paddingLeft:19},children:[d.jsx("textarea",{"data-testid":"ai-finding-comment-textarea",autoFocus:!0,value:b,onChange:B=>m(B.target.value),rows:2,placeholder:"Your comment…",style:{width:"100%",boxSizing:"border-box",background:"var(--ca-bg, #0a0a0b)",color:"var(--ca-text, #ececef)",border:"1px solid var(--ca-border, #232429)",borderRadius:6,padding:"6px 8px",fontSize:12,resize:"vertical",minHeight:40,outline:"none",fontFamily:"inherit"},onKeyDown:B=>{B.key==="Escape"&&g(null),(B.metaKey||B.ctrlKey)&&B.key==="Enter"&&E(N)}}),d.jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:6,marginTop:4},children:[d.jsx(pi,{onClick:()=>g(null),title:"Cancel",children:"Cancel"}),d.jsx(pi,{testId:"ai-finding-comment-submit",onClick:()=>E(N),title:"Save comment",primary:!0,children:"Save"})]})]})]},N.id)})}),d.jsxs("div",{style:{padding:"8px 12px",borderTop:"1px solid var(--ca-border, #232429)",fontSize:11,color:"var(--ca-text-dim, #9ca0a8)",display:"flex",alignItems:"center",justifyContent:"space-between"},children:[d.jsxs("span",{children:[_.length," shown · ",R.length," open"]}),d.jsx("button",{type:"button",onClick:t,style:{background:"transparent",border:"none",color:"var(--ca-text-dim, #9ca0a8)",cursor:"pointer",fontSize:11},children:"Close"})]}),u&&d.jsx("div",{"data-testid":"ai-findings-toast",role:"status",style:{position:"absolute",bottom:36,left:"50%",transform:"translateX(-50%)",background:u.level==="error"?"#7f1d1d":"var(--ca-accent, #6c72cb)",color:"white",fontSize:11,padding:"6px 12px",borderRadius:6,boxShadow:"0 6px 18px rgba(0,0,0,0.4)",whiteSpace:"nowrap"},children:u.text})]}):null}function pi({children:e,onClick:t,title:n,testId:r,primary:i}){return d.jsx("button",{type:"button","data-testid":r,onClick:t,title:n,style:{fontSize:10,padding:"3px 7px",borderRadius:4,background:i?"var(--ca-accent, #6c72cb)":"transparent",color:i?"white":"var(--ca-text-dim, #9ca0a8)",border:"1px solid "+(i?"var(--ca-accent, #6c72cb)":"var(--ca-border, #232429)"),cursor:"pointer"},children:e})}function Mq(e,t){return e.length<=t?e:e.slice(0,t-1)+"…"}function Lq({postMessage:e}){const[t,n]=w.useState(!1),[r,i]=w.useState(null),[o,a]=w.useState({}),[s,l]=w.useState(null),[c,u]=w.useState(null),[f,h]=w.useState(!1),[p,v]=w.useState(!1),[g,b]=w.useState(!1),[m,y]=w.useState(""),[x,S]=w.useState(!1),[C,R]=w.useState(jC().counts),_=w.useRef(null);w.useEffect(()=>Xl(E=>R(E.counts)),[]),w.useEffect(()=>{try{e({type:"requestAiFindings"})}catch{}},[e]),w.useEffect(()=>{const E=N=>{const A=N.data;switch(A==null?void 0:A.type){case"aiReviewStarted":{n(!0),i(A.kind==="specific"?"specific":"full"),u(null),a({message:"Starting…"}),h(!1);break}case"aiReviewLoading":{A.loading?(n(!0),A.progress&&a(P=>({...P,message:A.progress}))):n(!1);break}case"aiReviewProgress":{a({completed:typeof A.completed=="number"?A.completed:void 0,total:typeof A.total=="number"?A.total:void 0,message:A.message??void 0});break}case"aiReviewComplete":{const P=A.summary??{},L=(P.findingsCount??0)+(P.projectFindings??0);u({findings:L,entryPoints:P.totalEntryPoints??0,durationMs:P.durationMs??0,kind:P.kind==="specific"?"specific":r??"full"}),l(Date.now()),n(!1);break}case"aiReviewCancelled":{h(!0),n(!1),setTimeout(()=>h(!1),4e3);break}case"aiReviewNoChange":{v(!0),n(!1),setTimeout(()=>v(!1),5e3);break}}};return window.addEventListener("message",E),()=>window.removeEventListener("message",E)},[r]);const I=()=>{e({type:"requestFullReview",scope:"all"})},M=()=>{e({type:"requestFullReview",scope:"changed"})},k=()=>{e({type:"cancelFullReview"})},T=()=>{const E=m.trim();E&&(e({type:"requestSpecificReview",prompt:E}),b(!1),y(""))},z=()=>{const E=(C==null?void 0:C.total)??0;E===0||!(!(typeof window<"u"&&typeof window.confirm=="function")||window.confirm(`Clear ${E} AI Review finding${E===1?"":"s"}? This cannot be undone.`))||e({type:"clearFindings"})},$=E=>{E.key==="Escape"&&(E.preventDefault(),b(!1)),(E.metaKey||E.ctrlKey)&&E.key==="Enter"&&(E.preventDefault(),T())},j=(C==null?void 0:C.total)??0,O=(C==null?void 0:C.bySeverity)??{error:0,warning:0,info:0};return d.jsxs("section",{className:"ca-aireview-card","data-testid":"ai-review-control-card",style:{background:"var(--ca-surface, #131316)",border:"1px solid var(--ca-border, #232429)",borderRadius:"8px",padding:"18px",marginTop:"16px"},children:[d.jsxs("header",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"12px"},children:[d.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px",fontWeight:600},children:[d.jsx("span",{"aria-hidden":!0,children:"🛡️"}),d.jsx("span",{children:"Code Review"}),t&&d.jsxs("span",{"data-testid":"ai-review-status-pill",style:{fontSize:10,fontWeight:700,padding:"2px 8px",background:"rgba(108,114,203,0.18)",color:"var(--ca-accent, #6c72cb)",borderRadius:4,display:"inline-flex",alignItems:"center",gap:6},children:[d.jsx("span",{className:"ca-aireview-spinner",style:{width:8,height:8,borderRadius:"50%",border:"2px solid currentColor",borderTopColor:"transparent",display:"inline-block",animation:"ca-spin 0.8s linear infinite"}}),r==="specific"?"SPECIFIC":"FULL"," REVIEW"]}),!t&&f&&d.jsx("span",{style:{fontSize:10,fontWeight:700,padding:"2px 8px",background:"rgba(245,158,11,0.18)",color:"var(--ca-warning, #f59e0b)",borderRadius:4},children:"CANCELLED"}),!t&&p&&d.jsx("span",{"data-testid":"ai-review-nochange-pill",title:"Same guidelines + same baseline as the last successful review — no LLM call was made.",style:{fontSize:10,fontWeight:700,padding:"2px 8px",background:"rgba(16,185,129,0.18)",color:"var(--ca-success, #10b981)",borderRadius:4},children:"NOTHING CHANGED"})]}),d.jsxs("div",{style:{display:"inline-flex",alignItems:"center",gap:6},children:[j>0&&d.jsx("button",{type:"button","data-testid":"ai-review-clear-btn",onClick:z,title:`Clear ${j} finding${j===1?"":"s"}`,style:{background:"transparent",color:"var(--ca-text-dim, #9ca0a8)",border:"1px solid var(--ca-border, #232429)",padding:"6px 10px",fontSize:12,fontWeight:500,borderRadius:6,cursor:"pointer"},children:"🗑 Clear"}),d.jsxs("button",{ref:_,type:"button","data-testid":"ai-review-findings-btn",onClick:()=>S(E=>!E),"aria-expanded":x,"aria-haspopup":"dialog",style:{display:"inline-flex",alignItems:"center",gap:"8px",background:"var(--ca-bg, #0a0a0b)",color:"var(--ca-text, #ececef)",border:"1px solid var(--ca-border, #232429)",padding:"6px 10px",fontSize:12,fontWeight:500,borderRadius:6,cursor:j>0?"pointer":"default",opacity:j>0?1:.6},disabled:j===0,title:j>0?"Open findings popover":"No findings yet",children:[d.jsx("span",{"aria-hidden":!0,children:"🔎"}),d.jsx("span",{children:"Findings"}),d.jsx("span",{style:{fontSize:11,fontWeight:700,padding:"1px 7px",background:j>0?"var(--ca-accent, #6c72cb)":"var(--ca-border, #232429)",color:j>0?"white":"var(--ca-text-dim, #9ca0a8)",borderRadius:10},children:j}),j>0&&d.jsxs("span",{style:{display:"inline-flex",gap:4,marginLeft:4},children:[O.error>0&&d.jsxs("span",{title:`${O.error} errors`,style:{display:"inline-flex",alignItems:"center",gap:2,fontSize:11},children:[d.jsx("span",{style:{width:6,height:6,borderRadius:"50%",background:"#ef4444"}}),O.error]}),O.warning>0&&d.jsxs("span",{title:`${O.warning} warnings`,style:{display:"inline-flex",alignItems:"center",gap:2,fontSize:11},children:[d.jsx("span",{style:{width:6,height:6,borderRadius:"50%",background:"#f59e0b"}}),O.warning]}),O.info>0&&d.jsxs("span",{title:`${O.info} info`,style:{display:"inline-flex",alignItems:"center",gap:2,fontSize:11},children:[d.jsx("span",{style:{width:6,height:6,borderRadius:"50%",background:"#3b82f6"}}),O.info]})]})]})]})]}),d.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:8,alignItems:"center"},children:t?d.jsx("button",{type:"button","data-testid":"ai-review-cancel-btn",onClick:k,style:$q(),children:"✕ Cancel"}):d.jsxs(d.Fragment,{children:[d.jsx("button",{type:"button","data-testid":"ai-review-start-btn",onClick:I,style:iE(),children:"▶ Start review"}),d.jsx("button",{type:"button","data-testid":"ai-review-start-changed-btn",onClick:M,title:"Review only the entry points whose files differ from baseline",style:wg(),children:"▶ Changed only"}),d.jsx("button",{type:"button","data-testid":"ai-review-specific-btn",onClick:()=>b(E=>!E),"aria-expanded":g,style:wg(),children:"✍ Specific review…"})]})}),g&&!t&&d.jsxs("div",{style:{marginTop:12},children:[d.jsx("textarea",{"data-testid":"ai-review-specific-prompt",value:m,onChange:E=>y(E.target.value),onKeyDown:$,autoFocus:!0,rows:3,maxLength:4e3,placeholder:'What should the reviewer focus on? e.g. "Check auth on every POST/PUT route" or "Audit input validation in the payment flow"',style:{width:"100%",boxSizing:"border-box",fontFamily:"JetBrains Mono, ui-monospace, monospace",fontSize:12,lineHeight:1.55,color:"var(--ca-text, #ececef)",background:"var(--ca-bg, #0a0a0b)",border:"1px solid var(--ca-border, #232429)",borderRadius:6,padding:"10px 12px",minHeight:64,maxHeight:240,resize:"vertical",outline:"none"}}),d.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginTop:8,fontSize:11,color:"var(--ca-text-dim, #9ca0a8)"},children:[d.jsxs("span",{children:[m.length," / 4 000 · ⌘+Enter to run · Esc to cancel"]}),d.jsxs("div",{style:{display:"flex",gap:8},children:[d.jsx("button",{type:"button",onClick:()=>{b(!1),y("")},style:wg(),children:"Close"}),d.jsx("button",{type:"button","data-testid":"ai-review-specific-run",onClick:T,disabled:m.trim().length===0,style:{...iE(),opacity:m.trim()?1:.5,cursor:m.trim()?"pointer":"not-allowed"},children:"Run review"})]})]})]}),t&&d.jsxs("div",{"data-testid":"ai-review-progress-row",style:{marginTop:12,padding:"10px 12px",background:"var(--ca-bg, #0a0a0b)",border:"1px solid var(--ca-border, #232429)",borderRadius:6,fontSize:12,color:"var(--ca-text, #ececef)",display:"flex",alignItems:"center",justifyContent:"space-between",gap:12},children:[d.jsx("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:o.message??"Working…"}),typeof o.completed=="number"&&typeof o.total=="number"&&o.total>0&&d.jsxs("span",{style:{fontSize:11,fontWeight:700,padding:"2px 7px",background:"rgba(108,114,203,0.18)",color:"var(--ca-accent, #6c72cb)",borderRadius:10},children:[o.completed," / ",o.total]})]}),!t&&c&&s&&d.jsxs("div",{style:{marginTop:12,fontSize:12,color:"var(--ca-text-dim, #9ca0a8)"},children:["Last ",c.kind==="specific"?"specific":"full"," review · ",c.findings," findings",c.kind==="full"?` · ${c.entryPoints} entry points`:""," ","· ",Math.max(1,Math.round(c.durationMs/1e3)),"s"]}),d.jsx(Pq,{open:x,onClose:()=>S(!1),anchorRef:_}),d.jsx("style",{children:"@keyframes ca-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }"})]})}function iE(){return{background:"var(--ca-accent, #6c72cb)",color:"white",padding:"7px 14px",fontSize:12,fontWeight:600,borderRadius:6,border:"none",cursor:"pointer"}}function $q(){return{background:"var(--ca-bg, #0a0a0b)",color:"var(--ca-warning, #f59e0b)",padding:"7px 14px",fontSize:12,fontWeight:600,borderRadius:6,border:"1px solid var(--ca-warning, #f59e0b)",cursor:"pointer"}}function wg(){return{background:"transparent",color:"var(--ca-text, #ececef)",padding:"7px 12px",fontSize:12,fontWeight:500,borderRadius:6,border:"1px solid var(--ca-border, #232429)",cursor:"pointer"}}function zq(e,t,n,r,i,o,a,s,l,c,u){return{diagrams:[{icon:"🏗",title:"System Design",description:"L1: Services, databases, infra topology",action:()=>e({type:"openMicroserviceDiagram"}),primary:!0,disabled:n},{icon:"🧩",title:"Feature Areas",description:"L2a: Auto-detected domain clusters",action:()=>e({type:"openFeatureDiagram",serviceId:""}),disabled:n},{icon:"⚡",title:"API List",description:"L2b: Endpoints, screens, navigation, DI",action:()=>t("codeatlas.openApiExplorer","API Explorer"),disabled:n},{icon:"📋",title:"Sequence",description:"L3: Pick an API to see its call flow",action:()=>t("codeatlas.searchApiExplorer","Sequence"),disabled:n},{icon:"🔀",title:"Flow Chart",description:"L5: Pick a function to see its control flow",action:()=>t("codeatlas.openFunctionFlow","Flow"),disabled:n}],git:[{icon:"⎇",title:"Compare Commits",description:"Diff any two git commits across all layers",action:()=>e({type:"requestGitDiff"})},{icon:"🌿",title:"Branch Diff",description:"Compare a branch against current HEAD",action:()=>e({type:"requestBranchDiff"})},{icon:"⤵",title:"PR Diff",description:"Pull request diff visualization",action:()=>t("codeatlas.openPrDiff","PR Diff")},{icon:"⏯",title:"Timeline Replay",description:"Replay commits as a cinematic code walkthrough",action:()=>t("codeatlas.timelineReplay","Timeline Replay")},{icon:"▶",title:"Replay PR",description:"Pick a PR and auto-replay its changes layer by layer",action:()=>e({type:"requestPrDiffReplay"})},{icon:"▶",title:"Replay Branch",description:"Replay branch changes as a guided walkthrough",action:()=>e({type:"requestBranchDiffReplay"})},{icon:"▶",title:"Replay Working Changes",description:"Replay uncommitted changes vs baseline",action:()=>e({type:"replayWorkingDiff"})},...o&&!a?[{icon:"🔗",title:"Connect GitHub",description:"Sign in for PR access to private repos. Editor will be focused for authorization.",action:()=>{if(l&&c){const h=u?`?cid=${encodeURIComponent(u)}`:"",p=`${l}://${c}/connect-github${h}`;window.location.href=p}else e({type:"connectGitHub"})}}]:[],...o&&a&&s?[{icon:"✓",title:`GitHub: @${s.login}`,description:"Connected — click to view profile on github.com",action:()=>window.open(s.html_url,"_blank")}]:[],...o&&a&&!s?[{icon:"✓",title:"GitHub: Connected",description:"Authenticated (profile details unavailable)",action:()=>{}}]:[]],tools:[{icon:"💊",title:"Health Report",description:"Dead code, god files, coupling, cycles",action:()=>t("codeatlas.showHealthReport","Health Report"),disabled:n},{icon:"🎯",title:"Impact Analysis",description:"Blast radius for selected file/function",action:()=>t("codeatlas.analyzeImpact","Impact")},{icon:"📄",title:"Export Docs",description:"Markdown + Mermaid architecture export",action:()=>t("codeatlas.exportArchitectureDocs","Export")},{icon:"📊",title:"Load Coverage",description:"Import LCOV/Istanbul test coverage",action:()=>t("codeatlas.loadCoverage","Coverage")},{icon:"🔄",title:"Re-sync",description:"Full rebuild + reset baseline",action:()=>t("codeatlas.resyncEverything","Re-sync")},{icon:"▶",title:"Re-initialize",description:"Scan workspace and build all diagrams",action:r,disabled:n},{icon:"🔍",title:"Search",description:"Find across all diagram layers",action:()=>t("codeatlas.search","Search")},{icon:i==="dark"?"☀":"☾",title:i==="dark"?"Light Mode":"Dark Mode",description:"Toggle light/dark theme",action:()=>e({type:"toggleTheme"})}]}}function Oq({card:e}){return d.jsxs("button",{className:`ca-card${e.primary?" ca-card-primary":""}${e.disabled?" ca-card-disabled":""}`,onClick:e.action,disabled:e.disabled,title:e.description,children:[d.jsx("span",{className:"ca-card-icon",children:e.icon}),d.jsx("span",{className:"ca-card-title",children:e.title})]})}function bg({cards:e}){return d.jsx("div",{className:"ca-card-grid",children:e.map((t,n)=>d.jsx(Oq,{card:t},n))})}function Ro({label:e}){return d.jsxs("div",{className:"ca-section-divider",children:[d.jsx("span",{className:"ca-section-label",children:e}),d.jsx("span",{className:"ca-section-line"})]})}const Fq=["openrouter","openai","anthropic","ollama","custom"],qq={openrouter:"openrouter/free",openai:"gpt-4o-mini",anthropic:"claude-sonnet-4-20250514",ollama:"llama3",custom:"model-name"},gi={ollama:"http://localhost:11434/v1/chat/completions",custom:"http://localhost:8080/v1/chat/completions"},oE={openrouter:"OpenRouter",openai:"OpenAI",anthropic:"Anthropic",ollama:"Ollama (local)",custom:"Custom endpoint"};function Dq({wsInfo:e,onSetLlmConfig:t}){const n=(e==null?void 0:e.llmProvider)??"openrouter",r=(e==null?void 0:e.llmModel)??"",i=(e==null?void 0:e.llmEndpoint)??"",o=n==="ollama"||n==="custom"||r!=="",[a,s]=w.useState(!1),[l,c]=w.useState(n),[u,f]=w.useState(r),[h,p]=w.useState(i||gi[n]||""),[v,g]=w.useState("");w.useEffect(()=>{a||(c(n),f(r),p(i||gi[n]||""))},[n,r,i,a]);const b=y=>{c(y),p(gi[y]??""),f(""),g("")},m=()=>{const y={provider:l};v.trim()&&(y.apiKey=v.trim()),u.trim()&&(y.model=u.trim()),(l==="ollama"||l==="custom")&&(y.endpoint=h.trim()||gi[l]||""),t(y),s(!1),g("")};return a?d.jsxs("div",{className:"ca-llm-form","data-testid":"llm-config-form",children:[d.jsxs("label",{className:"ca-llm-field",children:[d.jsx("span",{className:"ca-llm-field-label",children:"Provider"}),d.jsx("select",{value:l,onChange:y=>b(y.target.value),className:"ca-llm-select","aria-label":"LLM provider",children:Fq.map(y=>d.jsx("option",{value:y,children:oE[y]},y))})]}),(l==="ollama"||l==="custom")&&d.jsxs("label",{className:"ca-llm-field",children:[d.jsx("span",{className:"ca-llm-field-label",children:"Endpoint URL"}),d.jsx("input",{type:"text",value:h,onChange:y=>p(y.target.value),placeholder:gi[l]??"http://localhost:8080/v1/chat/completions",className:"ca-llm-input","aria-label":"LLM endpoint URL"})]}),d.jsxs("label",{className:"ca-llm-field",children:[d.jsxs("span",{className:"ca-llm-field-label",children:["API Key",l==="ollama"?" (optional)":l==="custom"?" (if required)":""]}),d.jsx("input",{type:"password",value:v,onChange:y=>g(y.target.value),placeholder:l==="ollama"?"Not required":"API key...",className:"ca-llm-input","aria-label":"API key input"})]}),d.jsxs("label",{className:"ca-llm-field",children:[d.jsx("span",{className:"ca-llm-field-label",children:"Model"}),d.jsx("input",{type:"text",value:u,onChange:y=>f(y.target.value),placeholder:qq[l]??"model-name",className:"ca-llm-input","aria-label":"Model name"})]}),d.jsxs("div",{className:"ca-llm-actions",children:[d.jsx("button",{className:"ca-llm-btn ca-llm-btn-primary",onClick:m,"aria-label":"Save LLM configuration",children:"Save"}),d.jsx("button",{className:"ca-llm-btn",onClick:()=>{s(!1),g("")},"aria-label":"Cancel LLM configuration",children:"Cancel"})]})]}):d.jsx("div",{className:"ca-llm-status","data-testid":"llm-status",children:d.jsxs("div",{className:"ca-llm-card",children:[d.jsx("table",{className:"ca-llm-table",children:d.jsxs("tbody",{children:[d.jsxs("tr",{children:[d.jsx("td",{className:"ca-llm-table-label",children:"Provider"}),d.jsx("td",{className:"ca-llm-table-value",children:oE[n]??n})]}),d.jsxs("tr",{children:[d.jsx("td",{className:"ca-llm-table-label",children:"Model"}),d.jsx("td",{className:"ca-llm-table-value",children:r||d.jsx("span",{className:"ca-llm-table-empty",children:"not set"})})]}),(n==="ollama"||n==="custom")&&d.jsxs("tr",{children:[d.jsx("td",{className:"ca-llm-table-label",children:"Endpoint"}),d.jsx("td",{className:"ca-llm-table-value ca-llm-endpoint",children:i||gi[n]||d.jsx("span",{className:"ca-llm-table-empty",children:"not set"})})]}),d.jsxs("tr",{children:[d.jsx("td",{className:"ca-llm-table-label",children:"API Key"}),d.jsx("td",{className:"ca-llm-table-value",children:n==="ollama"?d.jsx("span",{className:"ca-llm-table-empty",children:"not required"}):d.jsx("span",{className:"ca-llm-table-dot",children:"*".repeat(8)})})]})]})}),d.jsx("button",{className:"ca-llm-btn",onClick:()=>s(!0),"aria-label":"Edit LLM configuration",children:o?"Update":"Configure"})]})})}function Bq({isBrowserMode:e,onNavigateDiagram:t,wsInfo:n,currentTheme:r,onSetLlmConfig:i,clientId:o}){const a=n??null,[s,l]=w.useState(()=>{var I,M;return e?((M=(I=window.vscodeApi)==null?void 0:I.getConnectionState)==null?void 0:M.call(I))==="connected":!0}),[c,u]=w.useState(null),[f,h]=w.useState(!1),[p,v]=w.useState(null),[g,b]=w.useState(!0);w.useEffect(()=>{const I=k=>{const T=k.data;T.type==="workspaceInfo"&&T.initialized&&(u(null),h(!1)),T.type==="initProgress"&&(u({phase:T.phase,progress:T.progress,message:T.message}),h(!1)),(T.type==="reviewGuidelines"||T.type==="reviewGuidelinesUpdated")&&T.guidelines&&v(T.guidelines),T.type==="evidenceGate"&&b(T.enabled!==!1)},M=k=>{l(k.detail==="connected")};return window.addEventListener("message",I),window.addEventListener("ws-status",M),()=>{window.removeEventListener("message",I),window.removeEventListener("ws-status",M)}},[]);const m=w.useCallback(I=>{var M;(M=window.vscodeApi)==null||M.postMessage(I),["openMicroserviceDiagram","openFeatureDiagram","openFeatureForService"].includes(I.type)&&(t==null||t())},[t]),y=new Set(["codeatlas.showHealthReport","codeatlas.openApiExplorer","codeatlas.openFunctionFlow","codeatlas.searchApiExplorer"]),x=w.useCallback((I,M)=>{m({type:"runCommand",command:I}),I==="codeatlas.initializeWorkspaceVisuals"&&(u({phase:"starting",progress:0,message:"Starting initialization..."}),h(!1)),y.has(I)&&(t==null||t())},[m,t]),S=w.useCallback(()=>{x("codeatlas.initializeWorkspaceVisuals")},[x]);w.useEffect(()=>{if(!c)return;const I=setTimeout(()=>{c&&c.progress<.95&&h(!0)},6e4);return()=>clearTimeout(I)},[c==null?void 0:c.progress]);const C=c!==null&&!f,R=zq(m,x,C,S,r,a==null?void 0:a.hasGitRemote,a==null?void 0:a.gitHubConnected,a==null?void 0:a.gitHubUser,a==null?void 0:a.editorUriScheme,a==null?void 0:a.extensionId,o),_=(()=>{const I=encodeURIComponent("CodeAtlas — issue / feedback"),M=["CodeAtlas v6.0.2",`Mode: ${e?"standalone / browser":"VS Code extension"}`,`Workspace: ${(a==null?void 0:a.name)??"(not loaded)"}`,`Counts: files=${(a==null?void 0:a.fileCount)??"—"} apis=${(a==null?void 0:a.apiCount)??"—"} services=${(a==null?void 0:a.serviceCount)??"—"} clusters=${(a==null?void 0:a.clusterCount)??"—"}`,"","Describe the issue or feedback:","","","---","(Optional) Steps to reproduce, expected vs actual, any screenshots — paste below."],k=encodeURIComponent(M.join(`
|
|
69
|
-
`));return`mailto:vamsi.iiita+codeatlas@gmail.com?subject=${
|
|
68
|
+
${q}`,source:"ai"}),g(null),m(""),z("info","Comment added"))}return e?d.jsxs("div",{ref:N,role:"dialog","aria-label":"AI Review findings","data-testid":"ai-review-findings-popover",style:{position:"absolute",right:18,top:56,width:`${y.w}px`,height:`${y.h}px`,minWidth:`${jR}px`,minHeight:`${RR}px`,maxWidth:"min(1024px, calc(100vw - 32px))",maxHeight:"min(900px, calc(100vh - 80px))",background:"var(--ca-surface, #131316)",border:"1px solid var(--ca-border, #232429)",borderRadius:8,boxShadow:"0 12px 32px rgba(0,0,0,0.45)",zIndex:80,display:"flex",flexDirection:"column",resize:"both",overflow:"hidden"},children:[d.jsxs("div",{style:{padding:"10px 12px",borderBottom:"1px solid var(--ca-border, #232429)",display:"flex",alignItems:"center",justifyContent:"space-between",gap:8},children:[d.jsx("div",{style:{fontWeight:600,fontSize:13},children:"Findings"}),d.jsxs("div",{style:{display:"flex",gap:4,alignItems:"center"},children:[["all","error","warning","info"].map(A=>d.jsx("button",{type:"button","data-testid":`ai-findings-filter-${A}`,onClick:()=>s(A),style:{fontSize:11,padding:"3px 8px",borderRadius:4,background:a===A?"var(--ca-accent, #6c72cb)":"transparent",color:a===A?"white":"var(--ca-text-dim, #9ca0a8)",border:"1px solid "+(a===A?"var(--ca-accent, #6c72cb)":"var(--ca-border, #232429)"),cursor:"pointer",textTransform:"capitalize"},children:A==="all"?"All":A},A)),T.length>0&&d.jsx("button",{type:"button","data-testid":"ai-findings-stale-toggle",onClick:()=>C(A=>!A),title:b?"Hide stale findings":"Show stale findings (from prior baselines)",style:{fontSize:11,padding:"3px 8px",borderRadius:4,marginLeft:6,background:b?"var(--ca-accent, #6c72cb)":"transparent",color:b?"white":"var(--ca-text-dim, #9ca0a8)",border:"1px solid "+(b?"var(--ca-accent, #6c72cb)":"var(--ca-border, #232429)"),cursor:"pointer"},children:b?`Hide stale (${T.length})`:`Show stale (${T.length})`}),d.jsxs("div",{style:{position:"relative",marginLeft:6},children:[d.jsx("button",{type:"button","data-testid":"ai-findings-copy-btn",disabled:R.length===0,onClick:()=>p(A=>!A),"aria-expanded":h,title:"Copy findings to clipboard",style:{fontSize:11,padding:"3px 8px",borderRadius:4,background:"transparent",color:"var(--ca-text-dim, #9ca0a8)",border:"1px solid var(--ca-border, #232429)",cursor:R.length===0?"default":"pointer",opacity:R.length===0?.5:1},children:"📋 Copy ▾"}),h&&d.jsx("div",{"data-testid":"ai-findings-copy-menu",style:{position:"absolute",top:"100%",right:0,marginTop:4,background:"var(--ca-surface, #131316)",border:"1px solid var(--ca-border, #232429)",borderRadius:6,boxShadow:"0 6px 18px rgba(0,0,0,0.4)",zIndex:90,minWidth:160},children:["all","error","warning","info"].map(A=>{const q=A==="all"?R.length:R.filter(D=>D.severity===A).length;return d.jsx("button",{type:"button","data-testid":`ai-findings-copy-${A}`,disabled:q===0,onClick:()=>j(A),style:{display:"block",width:"100%",textAlign:"left",background:"transparent",color:"var(--ca-text, #ececef)",border:"none",padding:"8px 12px",fontSize:12,cursor:q===0?"default":"pointer",opacity:q===0?.4:1},children:A==="all"?`All findings (${q})`:`${A.charAt(0).toUpperCase()}${A.slice(1)}s only (${q})`},A)})})]})]})]}),I&&d.jsxs("details",{"data-testid":"ai-findings-summary",open:!0,style:{borderBottom:"1px solid var(--ca-border, #232429)",background:"rgba(108,114,203,0.05)"},children:[d.jsx("summary",{style:{cursor:"pointer",padding:"8px 12px 4px",fontSize:11,fontWeight:700,color:"var(--ca-accent, #6c72cb)",letterSpacing:"0.5px",textTransform:"uppercase",userSelect:"none"},children:"Summary"}),d.jsx("pre",{"data-testid":"ai-findings-summary-body",style:{padding:"4px 14px 12px",margin:0,fontSize:11,lineHeight:1.65,color:"var(--ca-text, #ececef)",fontFamily:"inherit",whiteSpace:"pre-wrap",wordBreak:"break-word",maxHeight:280,overflowY:"auto"},children:I})]}),d.jsx("div",{style:{padding:"8px 12px",borderBottom:"1px solid var(--ca-border, #232429)"},children:d.jsx("input",{type:"text",placeholder:"Search findings…",value:l,onChange:A=>c(A.target.value),"aria-label":"Filter findings",style:{width:"100%",boxSizing:"border-box",background:"var(--ca-bg, #0a0a0b)",color:"var(--ca-text, #ececef)",border:"1px solid var(--ca-border, #232429)",borderRadius:6,padding:"6px 10px",fontSize:12,outline:"none"}})}),d.jsx("div",{role:"list",style:{overflowY:"auto",flex:1,padding:"4px 0"},children:_.length===0?d.jsx("div",{style:{padding:"24px 16px",textAlign:"center",fontSize:12,color:"var(--ca-text-dim, #9ca0a8)"},children:i.length===0?"No findings yet. Start a review above.":R.length===0&&T.length>0&&!b?'No open findings. Toggle "Show stale" above to see prior findings.':"No findings match this filter."}):_.map(A=>{var J;const q=$l(A),D=q?`${q.layer.toUpperCase()} · ${Uq(q.graphId,38)}`:A.entryPointId,W=v===A.id,V=A.status==="stale";return d.jsxs("div",{role:"listitem","data-testid":V?"ai-finding-row-stale":"ai-finding-row",style:{borderBottom:"1px solid rgba(255,255,255,0.04)",padding:"10px 12px",opacity:V?.5:1},children:[d.jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:10},children:[d.jsx("span",{title:A.severity,"aria-label":A.severity,style:{flexShrink:0,marginTop:5,width:9,height:9,borderRadius:"50%",background:qq[A.severity],boxShadow:`0 0 0 3px ${Dq[A.severity]}`}}),d.jsxs("button",{type:"button","data-testid":"ai-finding-row-open",onClick:()=>{Rq(A),t()},style:{flex:1,textAlign:"left",background:"transparent",color:"var(--ca-text, #ececef)",border:"none",padding:0,cursor:"pointer",display:"block",minWidth:0},children:[d.jsx("span",{style:{display:"block",fontWeight:600,fontSize:12,lineHeight:1.35,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:A.title}),d.jsx("span",{style:{display:"-webkit-box",fontSize:11,color:"var(--ca-text-dim, #9ca0a8)",marginTop:2,lineHeight:1.4,overflow:"hidden",WebkitLineClamp:2,WebkitBoxOrient:"vertical"},children:A.body}),d.jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:6,marginTop:4,fontSize:10,color:"var(--ca-text-dim, #9ca0a8)",fontFamily:"JetBrains Mono, ui-monospace, monospace",flexWrap:"wrap"},children:[d.jsx("span",{children:D}),((J=A.baselineRef)==null?void 0:J.ref)&&d.jsxs("span",{"data-testid":"ai-finding-baseline-ref",title:`Reviewed against ${A.baselineRef.kind==="git"?"commit":"snapshot"} ${A.baselineRef.ref}${A.baselineRef.capturedAt?` · ${new Date(A.baselineRef.capturedAt).toLocaleString()}`:""}`,style:{padding:"1px 6px",background:"rgba(108,114,203,0.14)",color:"var(--ca-accent, #6c72cb)",borderRadius:3,fontSize:9,fontWeight:700},children:[A.baselineRef.kind==="git"?"git":"snap",":",A.baselineRef.ref]})]})]})]}),d.jsxs("div",{style:{display:"flex",gap:6,marginTop:8,paddingLeft:19,flexWrap:"wrap"},children:[d.jsx(gi,{testId:"ai-finding-resolve",onClick:()=>k(A),title:"Mark resolved",children:"✓ Resolve"}),d.jsx(gi,{testId:"ai-finding-ignore",onClick:()=>L(A),title:"Ignore (won't show in counts)",children:"🚫 Ignore"}),d.jsx(gi,{testId:"ai-finding-comment",onClick:()=>M(A),title:"Add a comment linked to this finding",children:"💬 Comment"}),d.jsx(gi,{testId:"ai-finding-copy",onClick:()=>F(A),title:"Copy as Markdown",children:"📋 Copy"})]}),W&&d.jsxs("div",{style:{marginTop:8,paddingLeft:19},children:[d.jsx("textarea",{"data-testid":"ai-finding-comment-textarea",autoFocus:!0,value:S,onChange:te=>m(te.target.value),rows:2,placeholder:"Your comment…",style:{width:"100%",boxSizing:"border-box",background:"var(--ca-bg, #0a0a0b)",color:"var(--ca-text, #ececef)",border:"1px solid var(--ca-border, #232429)",borderRadius:6,padding:"6px 8px",fontSize:12,resize:"vertical",minHeight:40,outline:"none",fontFamily:"inherit"},onKeyDown:te=>{te.key==="Escape"&&g(null),(te.metaKey||te.ctrlKey)&&te.key==="Enter"&&P(A)}}),d.jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:6,marginTop:4},children:[d.jsx(gi,{onClick:()=>g(null),title:"Cancel",children:"Cancel"}),d.jsx(gi,{testId:"ai-finding-comment-submit",onClick:()=>P(A),title:"Save comment",primary:!0,children:"Save"})]})]})]},A.id)})}),d.jsxs("div",{style:{padding:"8px 12px",borderTop:"1px solid var(--ca-border, #232429)",fontSize:11,color:"var(--ca-text-dim, #9ca0a8)",display:"flex",alignItems:"center",justifyContent:"space-between"},children:[d.jsxs("span",{children:[_.length," shown · ",R.length," open",T.length>0&&d.jsxs(d.Fragment,{children:[" · ",T.length," stale"]})]}),d.jsx("button",{type:"button",onClick:t,style:{background:"transparent",border:"none",color:"var(--ca-text-dim, #9ca0a8)",cursor:"pointer",fontSize:11},children:"Close"})]}),u&&d.jsx("div",{"data-testid":"ai-findings-toast",role:"status",style:{position:"absolute",bottom:36,left:"50%",transform:"translateX(-50%)",background:u.level==="error"?"#7f1d1d":"var(--ca-accent, #6c72cb)",color:"white",fontSize:11,padding:"6px 12px",borderRadius:6,boxShadow:"0 6px 18px rgba(0,0,0,0.4)",whiteSpace:"nowrap"},children:u.text})]}):null}function gi({children:e,onClick:t,title:n,testId:r,primary:i}){return d.jsx("button",{type:"button","data-testid":r,onClick:t,title:n,style:{fontSize:10,padding:"3px 7px",borderRadius:4,background:i?"var(--ca-accent, #6c72cb)":"transparent",color:i?"white":"var(--ca-text-dim, #9ca0a8)",border:"1px solid "+(i?"var(--ca-accent, #6c72cb)":"var(--ca-border, #232429)"),cursor:"pointer"},children:e})}function Uq(e,t){return e.length<=t?e:e.slice(0,t-1)+"…"}function Vq({postMessage:e}){const[t,n]=w.useState(!1),[r,i]=w.useState(null),[o,a]=w.useState({}),[s,l]=w.useState(null),[c,u]=w.useState(null),[f,h]=w.useState(!1),[p,v]=w.useState(!1),[g,S]=w.useState(!1),[m,y]=w.useState(""),[x,b]=w.useState(!1),[C,N]=w.useState(NC().counts),E=w.useRef(null);w.useEffect(()=>Jl(k=>N(k.counts)),[]),w.useEffect(()=>{try{e({type:"requestAiFindings"})}catch{}},[e]),w.useEffect(()=>{const k=L=>{const M=L.data;switch(M==null?void 0:M.type){case"aiReviewStarted":{n(!0),i(M.kind==="specific"?"specific":"full"),u(null),a({message:"Starting…"}),h(!1);break}case"aiReviewLoading":{M.loading?(n(!0),M.progress&&a(P=>({...P,message:M.progress}))):n(!1);break}case"aiReviewProgress":{a({completed:typeof M.completed=="number"?M.completed:void 0,total:typeof M.total=="number"?M.total:void 0,message:M.message??void 0});break}case"aiReviewComplete":{const P=M.summary??{},A=(P.findingsCount??0)+(P.projectFindings??0);u({findings:A,entryPoints:P.totalEntryPoints??0,durationMs:P.durationMs??0,kind:P.kind==="specific"?"specific":r??"full"}),l(Date.now()),n(!1);break}case"aiReviewCancelled":{h(!0),n(!1),setTimeout(()=>h(!1),4e3);break}case"aiReviewNoChange":{v(!0),n(!1),setTimeout(()=>v(!1),5e3);break}}};return window.addEventListener("message",k),()=>window.removeEventListener("message",k)},[r]);const R=()=>{e({type:"requestFullReview",scope:"all"})},T=()=>{e({type:"requestFullReview",scope:"changed"})},_=()=>{e({type:"cancelFullReview"})},I=()=>{const k=m.trim();k&&(e({type:"requestSpecificReview",prompt:k}),S(!1),y(""))},z=()=>{const k=(C==null?void 0:C.total)??0;k===0||!(!(typeof window<"u"&&typeof window.confirm=="function")||window.confirm(`Clear ${k} AI Review finding${k===1?"":"s"}? This cannot be undone.`))||e({type:"clearFindings"})},$=k=>{k.key==="Escape"&&(k.preventDefault(),S(!1)),(k.metaKey||k.ctrlKey)&&k.key==="Enter"&&(k.preventDefault(),I())},j=(C==null?void 0:C.total)??0,F=(C==null?void 0:C.bySeverity)??{error:0,warning:0,info:0};return d.jsxs("section",{className:"ca-aireview-card","data-testid":"ai-review-control-card",style:{background:"var(--ca-surface, #131316)",border:"1px solid var(--ca-border, #232429)",borderRadius:"8px",padding:"18px",marginTop:"16px"},children:[d.jsxs("header",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"12px"},children:[d.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px",fontWeight:600},children:[d.jsx("span",{"aria-hidden":!0,children:"🛡️"}),d.jsx("span",{children:"Code Review"}),t&&d.jsxs("span",{"data-testid":"ai-review-status-pill",style:{fontSize:10,fontWeight:700,padding:"2px 8px",background:"rgba(108,114,203,0.18)",color:"var(--ca-accent, #6c72cb)",borderRadius:4,display:"inline-flex",alignItems:"center",gap:6},children:[d.jsx("span",{className:"ca-aireview-spinner",style:{width:8,height:8,borderRadius:"50%",border:"2px solid currentColor",borderTopColor:"transparent",display:"inline-block",animation:"ca-spin 0.8s linear infinite"}}),r==="specific"?"SPECIFIC":"FULL"," REVIEW"]}),!t&&f&&d.jsx("span",{style:{fontSize:10,fontWeight:700,padding:"2px 8px",background:"rgba(245,158,11,0.18)",color:"var(--ca-warning, #f59e0b)",borderRadius:4},children:"CANCELLED"}),!t&&p&&d.jsx("span",{"data-testid":"ai-review-nochange-pill",title:"Same guidelines + same baseline as the last successful review — no LLM call was made.",style:{fontSize:10,fontWeight:700,padding:"2px 8px",background:"rgba(16,185,129,0.18)",color:"var(--ca-success, #10b981)",borderRadius:4},children:"NOTHING CHANGED"})]}),d.jsxs("div",{style:{display:"inline-flex",alignItems:"center",gap:6},children:[j>0&&d.jsx("button",{type:"button","data-testid":"ai-review-clear-btn",onClick:z,title:`Clear ${j} finding${j===1?"":"s"}`,style:{background:"transparent",color:"var(--ca-text-dim, #9ca0a8)",border:"1px solid var(--ca-border, #232429)",padding:"6px 10px",fontSize:12,fontWeight:500,borderRadius:6,cursor:"pointer"},children:"🗑 Clear"}),d.jsxs("button",{ref:E,type:"button","data-testid":"ai-review-findings-btn",onClick:()=>b(k=>!k),"aria-expanded":x,"aria-haspopup":"dialog",style:{display:"inline-flex",alignItems:"center",gap:"8px",background:"var(--ca-bg, #0a0a0b)",color:"var(--ca-text, #ececef)",border:"1px solid var(--ca-border, #232429)",padding:"6px 10px",fontSize:12,fontWeight:500,borderRadius:6,cursor:j>0?"pointer":"default",opacity:j>0?1:.6},disabled:j===0,title:j>0?"Open findings popover":"No findings yet",children:[d.jsx("span",{"aria-hidden":!0,children:"🔎"}),d.jsx("span",{children:"Findings"}),d.jsx("span",{style:{fontSize:11,fontWeight:700,padding:"1px 7px",background:j>0?"var(--ca-accent, #6c72cb)":"var(--ca-border, #232429)",color:j>0?"white":"var(--ca-text-dim, #9ca0a8)",borderRadius:10},children:j}),j>0&&d.jsxs("span",{style:{display:"inline-flex",gap:4,marginLeft:4},children:[F.error>0&&d.jsxs("span",{title:`${F.error} errors`,style:{display:"inline-flex",alignItems:"center",gap:2,fontSize:11},children:[d.jsx("span",{style:{width:6,height:6,borderRadius:"50%",background:"#ef4444"}}),F.error]}),F.warning>0&&d.jsxs("span",{title:`${F.warning} warnings`,style:{display:"inline-flex",alignItems:"center",gap:2,fontSize:11},children:[d.jsx("span",{style:{width:6,height:6,borderRadius:"50%",background:"#f59e0b"}}),F.warning]}),F.info>0&&d.jsxs("span",{title:`${F.info} info`,style:{display:"inline-flex",alignItems:"center",gap:2,fontSize:11},children:[d.jsx("span",{style:{width:6,height:6,borderRadius:"50%",background:"#3b82f6"}}),F.info]})]})]})]})]}),d.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:8,alignItems:"center"},children:t?d.jsx("button",{type:"button","data-testid":"ai-review-cancel-btn",onClick:_,style:Gq(),children:"✕ Cancel"}):d.jsxs(d.Fragment,{children:[d.jsx("button",{type:"button","data-testid":"ai-review-start-btn",onClick:R,style:aE(),children:"▶ Start review"}),d.jsx("button",{type:"button","data-testid":"ai-review-start-changed-btn",onClick:T,title:"Review only the entry points whose files differ from baseline",style:_g(),children:"▶ Changed only"}),d.jsx("button",{type:"button","data-testid":"ai-review-specific-btn",onClick:()=>S(k=>!k),"aria-expanded":g,style:_g(),children:"✍ Specific review…"})]})}),g&&!t&&d.jsxs("div",{style:{marginTop:12},children:[d.jsx("textarea",{"data-testid":"ai-review-specific-prompt",value:m,onChange:k=>y(k.target.value),onKeyDown:$,autoFocus:!0,rows:3,maxLength:4e3,placeholder:'What should the reviewer focus on? e.g. "Check auth on every POST/PUT route" or "Audit input validation in the payment flow"',style:{width:"100%",boxSizing:"border-box",fontFamily:"JetBrains Mono, ui-monospace, monospace",fontSize:12,lineHeight:1.55,color:"var(--ca-text, #ececef)",background:"var(--ca-bg, #0a0a0b)",border:"1px solid var(--ca-border, #232429)",borderRadius:6,padding:"10px 12px",minHeight:64,maxHeight:240,resize:"vertical",outline:"none"}}),d.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginTop:8,fontSize:11,color:"var(--ca-text-dim, #9ca0a8)"},children:[d.jsxs("span",{children:[m.length," / 4 000 · ⌘+Enter to run · Esc to cancel"]}),d.jsxs("div",{style:{display:"flex",gap:8},children:[d.jsx("button",{type:"button",onClick:()=>{S(!1),y("")},style:_g(),children:"Close"}),d.jsx("button",{type:"button","data-testid":"ai-review-specific-run",onClick:I,disabled:m.trim().length===0,style:{...aE(),opacity:m.trim()?1:.5,cursor:m.trim()?"pointer":"not-allowed"},children:"Run review"})]})]})]}),t&&d.jsxs("div",{"data-testid":"ai-review-progress-row",style:{marginTop:12,padding:"10px 12px",background:"var(--ca-bg, #0a0a0b)",border:"1px solid var(--ca-border, #232429)",borderRadius:6,fontSize:12,color:"var(--ca-text, #ececef)",display:"flex",alignItems:"center",justifyContent:"space-between",gap:12},children:[d.jsx("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:o.message??"Working…"}),typeof o.completed=="number"&&typeof o.total=="number"&&o.total>0&&d.jsxs("span",{style:{fontSize:11,fontWeight:700,padding:"2px 7px",background:"rgba(108,114,203,0.18)",color:"var(--ca-accent, #6c72cb)",borderRadius:10},children:[o.completed," / ",o.total]})]}),!t&&c&&s&&d.jsxs("div",{style:{marginTop:12,fontSize:12,color:"var(--ca-text-dim, #9ca0a8)"},children:["Last ",c.kind==="specific"?"specific":"full"," review · ",c.findings," findings",c.kind==="full"?` · ${c.entryPoints} entry points`:""," ","· ",Math.max(1,Math.round(c.durationMs/1e3)),"s"]}),d.jsx(Wq,{open:x,onClose:()=>b(!1),anchorRef:E}),d.jsx("style",{children:"@keyframes ca-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }"})]})}function aE(){return{background:"var(--ca-accent, #6c72cb)",color:"white",padding:"7px 14px",fontSize:12,fontWeight:600,borderRadius:6,border:"none",cursor:"pointer"}}function Gq(){return{background:"var(--ca-bg, #0a0a0b)",color:"var(--ca-warning, #f59e0b)",padding:"7px 14px",fontSize:12,fontWeight:600,borderRadius:6,border:"1px solid var(--ca-warning, #f59e0b)",cursor:"pointer"}}function _g(){return{background:"transparent",color:"var(--ca-text, #ececef)",padding:"7px 12px",fontSize:12,fontWeight:500,borderRadius:6,border:"1px solid var(--ca-border, #232429)",cursor:"pointer"}}function Kq(e,t,n,r,i,o,a,s,l,c,u){return{diagrams:[{icon:"🏗",title:"System Design",description:"L1: Services, databases, infra topology",action:()=>e({type:"openMicroserviceDiagram"}),primary:!0,disabled:n},{icon:"🧩",title:"Feature Areas",description:"L2a: Auto-detected domain clusters",action:()=>e({type:"openFeatureDiagram",serviceId:""}),disabled:n},{icon:"⚡",title:"API List",description:"L2b: Endpoints, screens, navigation, DI",action:()=>t("codeatlas.openApiExplorer","API Explorer"),disabled:n},{icon:"📋",title:"Sequence",description:"L3: Pick an API to see its call flow",action:()=>t("codeatlas.searchApiExplorer","Sequence"),disabled:n},{icon:"🔀",title:"Flow Chart",description:"L5: Pick a function to see its control flow",action:()=>t("codeatlas.openFunctionFlow","Flow"),disabled:n}],git:[{icon:"⎇",title:"Compare Commits",description:"Diff any two git commits across all layers",action:()=>e({type:"requestGitDiff"})},{icon:"🌿",title:"Branch Diff",description:"Compare a branch against current HEAD",action:()=>e({type:"requestBranchDiff"})},{icon:"⤵",title:"PR Diff",description:"Pull request diff visualization",action:()=>t("codeatlas.openPrDiff","PR Diff")},{icon:"⏯",title:"Timeline Replay",description:"Replay commits as a cinematic code walkthrough",action:()=>t("codeatlas.timelineReplay","Timeline Replay")},{icon:"▶",title:"Replay PR",description:"Pick a PR and auto-replay its changes layer by layer",action:()=>e({type:"requestPrDiffReplay"})},{icon:"▶",title:"Replay Branch",description:"Replay branch changes as a guided walkthrough",action:()=>e({type:"requestBranchDiffReplay"})},{icon:"▶",title:"Replay Working Changes",description:"Replay uncommitted changes vs baseline",action:()=>e({type:"replayWorkingDiff"})},...o&&!a?[{icon:"🔗",title:"Connect GitHub",description:"Sign in for PR access to private repos. Editor will be focused for authorization.",action:()=>{if(l&&c){const h=u?`?cid=${encodeURIComponent(u)}`:"",p=`${l}://${c}/connect-github${h}`;window.location.href=p}else e({type:"connectGitHub"})}}]:[],...o&&a&&s?[{icon:"✓",title:`GitHub: @${s.login}`,description:"Connected — click to view profile on github.com",action:()=>window.open(s.html_url,"_blank")}]:[],...o&&a&&!s?[{icon:"✓",title:"GitHub: Connected",description:"Authenticated (profile details unavailable)",action:()=>{}}]:[]],tools:[{icon:"💊",title:"Health Report",description:"Dead code, god files, coupling, cycles",action:()=>t("codeatlas.showHealthReport","Health Report"),disabled:n},{icon:"🎯",title:"Impact Analysis",description:"Blast radius for selected file/function",action:()=>t("codeatlas.analyzeImpact","Impact")},{icon:"📄",title:"Export Docs",description:"Markdown + Mermaid architecture export",action:()=>t("codeatlas.exportArchitectureDocs","Export")},{icon:"📊",title:"Load Coverage",description:"Import LCOV/Istanbul test coverage",action:()=>t("codeatlas.loadCoverage","Coverage")},{icon:"🔄",title:"Re-sync",description:"Full rebuild + reset baseline",action:()=>t("codeatlas.resyncEverything","Re-sync")},{icon:"▶",title:"Re-initialize",description:"Scan workspace and build all diagrams",action:r,disabled:n},{icon:"🔍",title:"Search",description:"Find across all diagram layers",action:()=>t("codeatlas.search","Search")},{icon:i==="dark"?"☀":"☾",title:i==="dark"?"Light Mode":"Dark Mode",description:"Toggle light/dark theme",action:()=>e({type:"toggleTheme"})}]}}function Yq({card:e}){return d.jsxs("button",{className:`ca-card${e.primary?" ca-card-primary":""}${e.disabled?" ca-card-disabled":""}`,onClick:e.action,disabled:e.disabled,title:e.description,children:[d.jsx("span",{className:"ca-card-icon",children:e.icon}),d.jsx("span",{className:"ca-card-title",children:e.title})]})}function Eg({cards:e}){return d.jsx("div",{className:"ca-card-grid",children:e.map((t,n)=>d.jsx(Yq,{card:t},n))})}function Ao({label:e}){return d.jsxs("div",{className:"ca-section-divider",children:[d.jsx("span",{className:"ca-section-label",children:e}),d.jsx("span",{className:"ca-section-line"})]})}const Xq=["openrouter","openai","anthropic","ollama","custom"],Qq={openrouter:"openrouter/free",openai:"gpt-4o-mini",anthropic:"claude-sonnet-4-20250514",ollama:"llama3",custom:"model-name"},mi={ollama:"http://localhost:11434/v1/chat/completions",custom:"http://localhost:8080/v1/chat/completions"},sE={openrouter:"OpenRouter",openai:"OpenAI",anthropic:"Anthropic",ollama:"Ollama (local)",custom:"Custom endpoint"};function Zq({wsInfo:e,onSetLlmConfig:t}){const n=(e==null?void 0:e.llmProvider)??"openrouter",r=(e==null?void 0:e.llmModel)??"",i=(e==null?void 0:e.llmEndpoint)??"",o=n==="ollama"||n==="custom"||r!=="",[a,s]=w.useState(!1),[l,c]=w.useState(n),[u,f]=w.useState(r),[h,p]=w.useState(i||mi[n]||""),[v,g]=w.useState("");w.useEffect(()=>{a||(c(n),f(r),p(i||mi[n]||""))},[n,r,i,a]);const S=y=>{c(y),p(mi[y]??""),f(""),g("")},m=()=>{const y={provider:l};v.trim()&&(y.apiKey=v.trim()),u.trim()&&(y.model=u.trim()),(l==="ollama"||l==="custom")&&(y.endpoint=h.trim()||mi[l]||""),t(y),s(!1),g("")};return a?d.jsxs("div",{className:"ca-llm-form","data-testid":"llm-config-form",children:[d.jsxs("label",{className:"ca-llm-field",children:[d.jsx("span",{className:"ca-llm-field-label",children:"Provider"}),d.jsx("select",{value:l,onChange:y=>S(y.target.value),className:"ca-llm-select","aria-label":"LLM provider",children:Xq.map(y=>d.jsx("option",{value:y,children:sE[y]},y))})]}),(l==="ollama"||l==="custom")&&d.jsxs("label",{className:"ca-llm-field",children:[d.jsx("span",{className:"ca-llm-field-label",children:"Endpoint URL"}),d.jsx("input",{type:"text",value:h,onChange:y=>p(y.target.value),placeholder:mi[l]??"http://localhost:8080/v1/chat/completions",className:"ca-llm-input","aria-label":"LLM endpoint URL"})]}),d.jsxs("label",{className:"ca-llm-field",children:[d.jsxs("span",{className:"ca-llm-field-label",children:["API Key",l==="ollama"?" (optional)":l==="custom"?" (if required)":""]}),d.jsx("input",{type:"password",value:v,onChange:y=>g(y.target.value),placeholder:l==="ollama"?"Not required":"API key...",className:"ca-llm-input","aria-label":"API key input"})]}),d.jsxs("label",{className:"ca-llm-field",children:[d.jsx("span",{className:"ca-llm-field-label",children:"Model"}),d.jsx("input",{type:"text",value:u,onChange:y=>f(y.target.value),placeholder:Qq[l]??"model-name",className:"ca-llm-input","aria-label":"Model name"})]}),d.jsxs("div",{className:"ca-llm-actions",children:[d.jsx("button",{className:"ca-llm-btn ca-llm-btn-primary",onClick:m,"aria-label":"Save LLM configuration",children:"Save"}),d.jsx("button",{className:"ca-llm-btn",onClick:()=>{s(!1),g("")},"aria-label":"Cancel LLM configuration",children:"Cancel"})]})]}):d.jsx("div",{className:"ca-llm-status","data-testid":"llm-status",children:d.jsxs("div",{className:"ca-llm-card",children:[d.jsx("table",{className:"ca-llm-table",children:d.jsxs("tbody",{children:[d.jsxs("tr",{children:[d.jsx("td",{className:"ca-llm-table-label",children:"Provider"}),d.jsx("td",{className:"ca-llm-table-value",children:sE[n]??n})]}),d.jsxs("tr",{children:[d.jsx("td",{className:"ca-llm-table-label",children:"Model"}),d.jsx("td",{className:"ca-llm-table-value",children:r||d.jsx("span",{className:"ca-llm-table-empty",children:"not set"})})]}),(n==="ollama"||n==="custom")&&d.jsxs("tr",{children:[d.jsx("td",{className:"ca-llm-table-label",children:"Endpoint"}),d.jsx("td",{className:"ca-llm-table-value ca-llm-endpoint",children:i||mi[n]||d.jsx("span",{className:"ca-llm-table-empty",children:"not set"})})]}),d.jsxs("tr",{children:[d.jsx("td",{className:"ca-llm-table-label",children:"API Key"}),d.jsx("td",{className:"ca-llm-table-value",children:n==="ollama"?d.jsx("span",{className:"ca-llm-table-empty",children:"not required"}):d.jsx("span",{className:"ca-llm-table-dot",children:"*".repeat(8)})})]})]})}),d.jsx("button",{className:"ca-llm-btn",onClick:()=>s(!0),"aria-label":"Edit LLM configuration",children:o?"Update":"Configure"})]})})}function Jq({isBrowserMode:e,onNavigateDiagram:t,wsInfo:n,currentTheme:r,onSetLlmConfig:i,clientId:o}){const a=n??null,[s,l]=w.useState(()=>{var R,T;return e?((T=(R=window.vscodeApi)==null?void 0:R.getConnectionState)==null?void 0:T.call(R))==="connected":!0}),[c,u]=w.useState(null),[f,h]=w.useState(!1),[p,v]=w.useState(null),[g,S]=w.useState(!0);w.useEffect(()=>{const R=_=>{const I=_.data;I.type==="workspaceInfo"&&I.initialized&&(u(null),h(!1)),I.type==="initProgress"&&(u({phase:I.phase,progress:I.progress,message:I.message}),h(!1)),(I.type==="reviewGuidelines"||I.type==="reviewGuidelinesUpdated")&&I.guidelines&&v(I.guidelines),I.type==="evidenceGate"&&S(I.enabled!==!1)},T=_=>{l(_.detail==="connected")};return window.addEventListener("message",R),window.addEventListener("ws-status",T),()=>{window.removeEventListener("message",R),window.removeEventListener("ws-status",T)}},[]);const m=w.useCallback(R=>{var T;(T=window.vscodeApi)==null||T.postMessage(R),["openMicroserviceDiagram","openFeatureDiagram","openFeatureForService"].includes(R.type)&&(t==null||t())},[t]),y=new Set(["codeatlas.showHealthReport","codeatlas.openApiExplorer","codeatlas.openFunctionFlow","codeatlas.searchApiExplorer"]),x=w.useCallback((R,T)=>{m({type:"runCommand",command:R}),R==="codeatlas.initializeWorkspaceVisuals"&&(u({phase:"starting",progress:0,message:"Starting initialization..."}),h(!1)),y.has(R)&&(t==null||t())},[m,t]),b=w.useCallback(()=>{x("codeatlas.initializeWorkspaceVisuals")},[x]);w.useEffect(()=>{if(!c)return;const R=setTimeout(()=>{c&&c.progress<.95&&h(!0)},6e4);return()=>clearTimeout(R)},[c==null?void 0:c.progress]);const C=c!==null&&!f,N=Kq(m,x,C,b,r,a==null?void 0:a.hasGitRemote,a==null?void 0:a.gitHubConnected,a==null?void 0:a.gitHubUser,a==null?void 0:a.editorUriScheme,a==null?void 0:a.extensionId,o),E=(()=>{const R=encodeURIComponent("CodeAtlas — issue / feedback"),T=["CodeAtlas v6.0.3.1",`Mode: ${e?"standalone / browser":"VS Code extension"}`,`Workspace: ${(a==null?void 0:a.name)??"(not loaded)"}`,`Counts: files=${(a==null?void 0:a.fileCount)??"—"} apis=${(a==null?void 0:a.apiCount)??"—"} services=${(a==null?void 0:a.serviceCount)??"—"} clusters=${(a==null?void 0:a.clusterCount)??"—"}`,"","Describe the issue or feedback:","","","---","(Optional) Steps to reproduce, expected vs actual, any screenshots — paste below."],_=encodeURIComponent(T.join(`
|
|
69
|
+
`));return`mailto:vamsi.iiita+codeatlas@gmail.com?subject=${R}&body=${_}`})();return d.jsxs("div",{className:"ca-home",children:[d.jsxs("div",{className:"ca-home-header",children:[d.jsxs("h1",{className:"ca-home-title",children:[d.jsx("span",{className:"ca-home-logo",children:"◈"})," CodeAtlas",d.jsxs("span",{className:"ca-home-version",title:"CodeAtlas extension version 6.0.3 build 1",children:["v","6.0.3",".1"]}),d.jsx("a",{href:E,"data-testid":"ca-home-support-btn",title:"Email the maintainer with a bug report or feedback",className:"ca-home-support-btn",children:"🛟 Get support"})]}),d.jsxs("p",{className:"ca-home-subtitle",children:[a!=null&&a.name?`${a.name} — `:"","Architecture Visualization"]}),e&&d.jsxs("div",{className:`ca-home-status ${s?"connected":"disconnected"}`,role:"status","aria-live":"polite",children:[d.jsx("span",{className:"ca-home-status-dot","aria-hidden":"true"}),d.jsx("span",{children:s?"Connected to CodeAtlas server":"Server connection lost — auto-reconnecting…"}),!s&&d.jsx("button",{className:"ca-home-reconnect-btn",onClick:()=>window.location.reload(),children:"Reload"})]})]}),C&&d.jsxs("div",{className:"ca-home-init-progress",children:[d.jsxs("div",{className:"ca-home-init-header",children:[d.jsx("span",{className:"ca-home-spinner"}),d.jsx("span",{className:"ca-home-init-phase",children:c.message})]}),d.jsx("div",{className:"ca-home-progress-bar",children:d.jsx("div",{className:"ca-home-progress-fill",style:{width:`${Math.max(5,c.progress*100)}%`}})}),d.jsxs("span",{className:"ca-home-init-pct",children:[Math.round(c.progress*100),"%"]})]}),f&&d.jsxs("div",{className:"ca-home-init-failed",children:[d.jsx("span",{children:"Initialization seems stuck or failed."}),d.jsx("button",{className:"ca-card ca-card-primary",onClick:b,children:"Retry"})]}),d.jsx("div",{className:"ca-home-stats",children:[{value:a!=null&&a.initialized?a.fileCount:C?"...":"—",label:(a==null?void 0:a.fileCount)===1?"File":"Files"},{value:a!=null&&a.initialized?a.apiCount:C?"...":"—",label:(a==null?void 0:a.apiCount)===1?"API":"APIs"},{value:a!=null&&a.initialized?a.serviceCount:C?"...":"—",label:(a==null?void 0:a.serviceCount)===1?"Service":"Services"},{value:a!=null&&a.initialized?a.clusterCount:C?"...":"—",label:(a==null?void 0:a.clusterCount)===1?"Feature":"Features"},{value:a!=null&&a.initialized?a.fileGraphCount??0:C?"...":"—",label:"File diagrams"},{value:a!=null&&a.initialized?a.flowGraphCount??0:C?"...":"—",label:"Function diagrams"},{value:a!=null&&a.initialized?a.sequenceGraphCount??0:C?"...":"—",label:"Sequence diagrams"}].map((R,T)=>d.jsxs("div",{className:"ca-home-stat",children:[d.jsx("span",{className:"ca-home-stat-value",children:R.value}),d.jsx("span",{className:"ca-home-stat-label",children:R.label})]},T))}),d.jsxs("div",{className:"ca-home-grid",style:{display:"grid",gridTemplateColumns:"minmax(0, 1.4fr) 1px minmax(380px, 520px)",gap:32,alignItems:"stretch"},children:[d.jsxs("div",{className:"ca-home-grid-main",children:[d.jsx(Ao,{label:"Diagrams"}),d.jsx(Eg,{cards:N.diagrams}),d.jsx(Ao,{label:"Git & Diff"}),d.jsx(Eg,{cards:N.git}),d.jsx(Ao,{label:"Tools"}),d.jsx(Eg,{cards:N.tools})]}),d.jsx("div",{className:"ca-home-grid-rule","aria-hidden":"true"}),d.jsxs("div",{className:"ca-home-grid-side",style:{position:"sticky",top:12},children:[d.jsx(Ao,{label:"Code Review"}),d.jsx("div",{style:{position:"relative"},children:d.jsx(Vq,{postMessage:m})}),d.jsx(Cq,{guidelines:p,onRequest:()=>{m({type:"requestReviewGuidelines"}),m({type:"requestEvidenceGate"})},onSave:R=>m({type:"saveReviewGuidelines",text:R}),evidenceGateEnabled:g,onToggleEvidenceGate:R=>m({type:"setEvidenceGate",enabled:R})}),e&&i&&d.jsxs(d.Fragment,{children:[d.jsx(Ao,{label:"AI Configuration"}),d.jsx(Zq,{wsInfo:a,onSetLlmConfig:i})]})]})]}),d.jsx("style",{children:`
|
|
70
70
|
.ca-home-grid-rule {
|
|
71
71
|
width: 1px;
|
|
72
72
|
background: linear-gradient(180deg,
|
|
@@ -89,8 +89,8 @@ ${A}`,source:"ai"}),g(null),m(""),M("info","Comment added"))}return e?d.jsxs("di
|
|
|
89
89
|
position: static !important;
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
|
-
`})]})}const Pt=e=>{var t;return(t=window.vscodeApi)==null?void 0:t.postMessage(e)};function Hq({activeMode:e,currentTheme:t,explorerVisible:n,onExplorerToggle:r,onAskAI:i,onCommentsToggle:o,commentCount:a}){const s=[{id:"explorer",icon:"☰",label:"Explorer",action:()=>r==null?void 0:r()},{id:"sep0",icon:"",label:"",action:()=>{}},{id:"l1",icon:"🏗",label:"System Design (L1)",matchMode:"microservice",action:()=>Pt({type:"openMicroserviceDiagram"})},{id:"l2",icon:"🧩",label:"Feature Areas (L2)",matchMode:"feature",action:()=>Pt({type:"openFeatureDiagram",serviceId:""})},{id:"apis",icon:"⚡",label:"API List",matchMode:"api-list",action:()=>Pt({type:"runCommand",command:"codeatlas.openApiExplorer"})},{id:"health",icon:"💊",label:"Health Report",matchMode:"health",action:()=>Pt({type:"runCommand",command:"codeatlas.showHealthReport"})},{id:"sep1",icon:"",label:"",action:()=>{}},{id:"diff",icon:"⎇",label:"Compare Commits",action:()=>Pt({type:"requestGitDiff"})},{id:"branch",icon:"🌿",label:"Branch Diff",action:()=>Pt({type:"requestBranchDiff"})},{id:"pr",icon:"⤵",label:"PR Diff",action:()=>Pt({type:"runCommand",command:"codeatlas.openPrDiff"})},{id:"impact",icon:"🎯",label:"Impact Analysis",action:()=>Pt({type:"runCommand",command:"codeatlas.analyzeImpact"})},{id:"timeline",icon:"⏯",label:"Timeline Replay",action:()=>Pt({type:"runCommand",command:"codeatlas.timelineReplay"})},{id:"export",icon:"📄",label:"Export Docs",action:()=>Pt({type:"runCommand",command:"codeatlas.exportArchitectureDocs"})},{id:"askAI",icon:"✨",label:"Ask AI (Cmd+Shift+Q)",action:()=>i==null?void 0:i()},{id:"comments",icon:"💬",label:`Comments${a?` (${a})`:""}`,action:()=>o==null?void 0:o()},{id:"search",icon:"🔍",label:"Search",action:()=>Pt({type:"runCommand",command:"codeatlas.search"})},{id:"sync",icon:"🔄",label:"Re-sync",action:()=>Pt({type:"runCommand",command:"codeatlas.resyncEverything"})},{id:"sep2",icon:"",label:"",action:()=>{}},{id:"theme",icon:t==="dark"?"☀":"☾",label:t==="dark"?"Light Mode":"Dark Mode",action:()=>Pt({type:"toggleTheme"})}];return d.jsx("div",{className:"ca-command-bar",role:"toolbar","aria-label":"Command toolbar",children:s.map(l=>{if(l.id.startsWith("sep"))return d.jsx("span",{className:"ca-command-bar-sep"},l.id);const c=l.id==="explorer"?!!n:l.matchMode===e;return d.jsx("button",{className:`ca-command-bar-btn${c?" active":""}`,title:l.label,"aria-label":l.label,"aria-pressed":c||void 0,onClick:l.action,children:l.icon},l.id)})})}const Is=100;function No({title:e,items:t,icon:n,defaultOpen:r,loading:i}){const[o,a]=w.useState(r??!1),[s,l]=w.useState(""),[c,u]=w.useState(-1),[f,h]=w.useState(!1),p=w.useRef(null),[v,g]=w.useState(""),b=w.useRef(null);w.useEffect(()=>()=>{p.current&&clearTimeout(p.current)},[]);const m=w.useCallback(_=>{l(_),p.current&&clearTimeout(p.current),p.current=setTimeout(()=>g(_),100)},[]),y=w.useMemo(()=>{if(!v)return t;const _=v.toLowerCase();return t.filter(I=>{var M;return I.label.toLowerCase().includes(_)||((M=I.subtitle)==null?void 0:M.toLowerCase().includes(_))})},[t,v]),x=w.useMemo(()=>f||v||y.length<=Is?y:y.slice(0,Is),[y,f,v]),S=!f&&!v&&y.length>Is,C=w.useCallback(_=>{var I;(I=window.vscodeApi)==null||I.postMessage(_)},[]),R=w.useCallback(_=>{if(_.key==="ArrowDown")_.preventDefault(),u(I=>Math.min(I+1,x.length-1));else if(_.key==="ArrowUp")_.preventDefault(),u(I=>Math.max(I-1,0));else if(_.key==="Enter"&&c>=0&&c<x.length){_.preventDefault();const I=x[c];I.action&&C(I.action)}else _.key==="Escape"&&(l(""),g(""),u(-1))},[x,c,C]);return w.useEffect(()=>{if(c>=0&&b.current){const _=b.current.children[c];_==null||_.scrollIntoView({block:"nearest"})}},[c]),d.jsxs("div",{className:"ca-explorer-section",onKeyDown:R,children:[d.jsxs("div",{className:"ca-explorer-section-header",onClick:()=>a(!o),role:"button",tabIndex:0,"aria-expanded":o,onKeyDown:_=>{(_.key==="Enter"||_.key===" ")&&(_.preventDefault(),a(!o))},children:[d.jsx("span",{className:"ca-explorer-chevron","aria-hidden":"true",children:o?"▾":"▸"}),d.jsx("span",{className:"ca-explorer-section-icon","aria-hidden":"true",children:n}),d.jsx("span",{className:"ca-explorer-section-title",children:e}),d.jsx("span",{className:"ca-explorer-section-count",children:i?"...":t.length})]}),o&&d.jsxs("div",{className:"ca-explorer-section-body",children:[t.length>5&&d.jsx("input",{className:"ca-explorer-filter",type:"text",placeholder:`Filter ${e.toLowerCase()}...`,value:s,onChange:_=>m(_.target.value),"aria-label":`Filter ${e}`}),i&&t.length===0&&d.jsxs("div",{className:"ca-explorer-loading",children:[d.jsx("span",{className:"ca-home-spinner"}),d.jsx("span",{children:"Loading..."})]}),d.jsxs("div",{className:"ca-explorer-items",ref:b,role:"listbox","aria-label":e,children:[x.map((_,I)=>d.jsxs("div",{className:`ca-explorer-item${I===c?" focused":""}`,onClick:()=>_.action&&C(_.action),onMouseEnter:()=>u(I),title:_.subtitle||_.label,role:"option",tabIndex:0,"aria-selected":I===c,onKeyDown:M=>{M.key==="Enter"&&(M.preventDefault(),_.action&&C(_.action))},children:[_.diff&&_.diff!=="unchanged"&&d.jsx("span",{className:"ca-explorer-diff-badge","data-diff":_.diff,"aria-label":_.diff,children:_.diff==="added"?"+":_.diff==="modified"?"~":"-"}),d.jsx("span",{className:"ca-explorer-item-label",children:_.label}),_.subtitle&&d.jsx("span",{className:"ca-explorer-item-subtitle",children:_.subtitle})]},_.id)),S&&d.jsxs("button",{className:"ca-explorer-show-all",onClick:()=>h(!0),children:["Show all ",y.length," items (",y.length-Is," more)"]}),!i&&y.length===0&&d.jsx("div",{className:"ca-explorer-empty",children:s?"No matches":"No items"})]})]})]})}function Wq({visible:e,onToggle:t}){const[n,r]=w.useState({services:[],features:[],apis:[],files:[],functions:[]}),[i,o]=w.useState(!0);return w.useEffect(()=>{var s;const a=l=>{var c;((c=l.data)==null?void 0:c.type)==="explorerData"&&(r(l.data),o(!1))};return window.addEventListener("message",a),(s=window.vscodeApi)==null||s.postMessage({type:"requestExplorerData"}),()=>window.removeEventListener("message",a)},[]),d.jsx(d.Fragment,{children:e&&d.jsxs("div",{className:"ca-explorer-sidebar",role:"navigation","aria-label":"Explorer",children:[d.jsxs("div",{className:"ca-explorer-header",children:[d.jsx("span",{className:"ca-explorer-header-title",children:"Explorer"}),d.jsx("button",{className:"ca-explorer-close",onClick:t,"aria-label":"Close Explorer",children:"✕"})]}),d.jsxs("div",{className:"ca-explorer-body",children:[d.jsx(No,{title:"Services",icon:"🏗",items:n.services,defaultOpen:!0,loading:i}),d.jsx(No,{title:"Feature Areas",icon:"🧩",items:n.features,loading:i}),d.jsx(No,{title:"APIs",icon:"⚡",items:n.apis,loading:i}),d.jsx(No,{title:"Files",icon:"📁",items:n.files,loading:i}),d.jsx(No,{title:"Functions",icon:"𝑓",items:n.functions,loading:i})]})]})})}function Uq({commits:e,onSelect:t,onCancel:n}){var p,v;const[r,i]=w.useState("base"),[o,a]=w.useState(null),[s,l]=w.useState(""),c=w.useRef(null);w.useEffect(()=>{var g;(g=c.current)==null||g.focus()},[r]);const u=w.useMemo(()=>{if(!s)return e;const g=s.toLowerCase();return e.filter(b=>b.shortHash.toLowerCase().includes(g)||b.subject.toLowerCase().includes(g)||b.author.toLowerCase().includes(g))},[e,s]),f=g=>{r==="base"?(a(g),i("head"),l("")):t(o,g)},h=()=>{r==="head"?(i("base"),a(null),l("")):n()};return d.jsx("div",{className:"ca-modal-overlay",onClick:n,children:d.jsxs("div",{className:"ca-modal",onClick:g=>g.stopPropagation(),children:[d.jsxs("div",{className:"ca-modal-header",children:[d.jsx("h3",{children:r==="base"?"Select base commit (older)":"Select head commit (newer)"}),d.jsx("button",{className:"ca-modal-close",onClick:n,"aria-label":"Close",children:"x"})]}),r==="head"&&o&&d.jsxs("div",{className:"ca-modal-info",children:["Base: ",d.jsx("strong",{children:(p=e.find(g=>g.hash===o))==null?void 0:p.shortHash})," ",(v=e.find(g=>g.hash===o))==null?void 0:v.subject]}),d.jsx("input",{ref:c,className:"ca-modal-search",type:"text",placeholder:"Search by hash, message, or author...",value:s,onChange:g=>l(g.target.value)}),d.jsxs("div",{className:"ca-modal-list",children:[u.map(g=>d.jsxs("button",{className:`ca-modal-list-item${g.hash===o?" selected":""}`,onClick:()=>f(g.hash),disabled:r==="head"&&g.hash===o,children:[d.jsx("span",{className:"ca-commit-hash",children:g.shortHash}),d.jsx("span",{className:"ca-commit-subject",children:g.subject}),d.jsxs("span",{className:"ca-commit-meta",children:[g.author," · ",g.relativeDate]})]},g.hash)),u.length===0&&d.jsxs("div",{className:"ca-modal-empty",children:['No commits match "',s,'"']})]}),d.jsx("div",{className:"ca-modal-footer",children:d.jsx("button",{className:"ca-modal-btn",onClick:h,children:r==="head"?"Back":"Cancel"})})]})})}function Vq(e){if(!e)return"";try{const t=Date.now()-new Date(e).getTime(),n=Math.floor(t/6e4);if(n<60)return`${n}m ago`;const r=Math.floor(n/60);if(r<24)return`${r}h ago`;const i=Math.floor(r/24);return i<30?`${i}d ago`:`${Math.floor(i/30)}mo ago`}catch{return""}}function Gq({owner:e,repo:t,prs:n,gitHubConnected:r,editorUriScheme:i,extensionId:o,clientId:a,isReplay:s,onSelect:l,onCancel:c}){const[u,f]=w.useState(""),[h,p]=w.useState(n.length===0),[v,g]=w.useState(""),[b,m]=w.useState(null),y=w.useRef(null),x=w.useRef(null);w.useEffect(()=>{var k,T;h?(k=x.current)==null||k.focus():(T=y.current)==null||T.focus()},[h]);const S=w.useMemo(()=>{if(!u)return n;const k=u.toLowerCase();return n.filter(T=>T.title.toLowerCase().includes(k)||String(T.number).includes(k)||T.author.toLowerCase().includes(k)||T.branch.toLowerCase().includes(k))},[n,u]),C=()=>{const k=v.trim();if(!/^\d+$/.test(k)){m("Enter a numeric PR number");return}l(parseInt(k,10))},R=k=>{k.key==="Escape"&&c(),k.key==="Enter"&&h&&C()},_=()=>{var k;if(i&&o){const T=a?`?cid=${encodeURIComponent(a)}`:"";window.location.href=`${i}://${o}/connect-github${T}`}else(k=window.vscodeApi)==null||k.postMessage({type:"connectGitHub"})},I=s?"Replay PR":"PR Diff",M=s?"Replay":"Compare";return d.jsx("div",{className:"ca-modal-overlay",onClick:c,children:d.jsxs("div",{className:"ca-modal",onClick:k=>k.stopPropagation(),onKeyDown:R,children:[d.jsxs("div",{className:"ca-modal-header",children:[d.jsxs("h3",{children:[I," — ",e,"/",t]}),d.jsx("button",{className:"ca-modal-close",onClick:c,"aria-label":"Close",children:"x"})]}),!r&&d.jsxs("div",{className:"ca-pr-auth-warning",children:[d.jsx("span",{children:"Not connected to GitHub — private repo access limited"}),d.jsx("button",{className:"ca-pr-auth-connect",onClick:_,children:"Connect"})]}),h?d.jsxs(d.Fragment,{children:[d.jsxs("div",{className:"ca-modal-body",children:[d.jsx("label",{className:"ca-modal-label",children:"Pull request number"}),d.jsx("input",{ref:x,className:"ca-modal-input",type:"text",inputMode:"numeric",placeholder:"123",value:v,onChange:k=>{g(k.target.value),m(null)}}),b&&d.jsx("div",{className:"ca-modal-error",children:b})]}),d.jsxs("div",{className:"ca-modal-footer",children:[n.length>0&&d.jsx("button",{className:"ca-modal-btn",onClick:()=>p(!1),children:"Back to list"}),d.jsx("button",{className:"ca-modal-btn",onClick:c,children:"Cancel"}),d.jsx("button",{className:"ca-modal-btn ca-modal-btn-primary",onClick:C,children:M})]})]}):d.jsxs(d.Fragment,{children:[d.jsx("input",{ref:y,className:"ca-modal-search",type:"text",placeholder:"Search PRs by title, number, or author...",value:u,onChange:k=>f(k.target.value)}),d.jsxs("div",{className:"ca-modal-list",children:[S.map(k=>d.jsxs("button",{className:"ca-modal-list-item",onClick:()=>l(k.number),children:[d.jsxs("span",{className:"ca-commit-hash",style:{minWidth:44},children:["#",k.number]}),d.jsxs("span",{className:"ca-commit-subject",children:[k.isDraft&&d.jsx("span",{style:{opacity:.5,marginRight:4},children:"DRAFT"}),k.title]}),d.jsxs("span",{className:"ca-commit-meta",children:[k.author," · ",k.branch," · ",Vq(k.updatedAt)]})]},k.number)),S.length===0&&n.length>0&&d.jsxs("div",{className:"ca-modal-empty",children:['No PRs match "',u,'"']}),n.length===0&&d.jsx("div",{className:"ca-modal-empty",children:"No open pull requests found. Enter a PR number manually below."})]}),d.jsxs("div",{className:"ca-modal-footer",style:{justifyContent:"space-between"},children:[d.jsx("button",{className:"ca-modal-btn",style:{fontSize:11,color:"var(--ca-accent)"},onClick:()=>p(!0),children:"Enter PR number manually"}),d.jsx("button",{className:"ca-modal-btn",onClick:c,children:"Cancel"})]})]})]})})}const Kq={API:"~",File:"#",Cluster:"@",Service:"*",Function:"f"};function aE({title:e,placeholder:t,items:n,onSelect:r,onCancel:i}){const[o,a]=w.useState(""),[s,l]=w.useState(0),c=w.useRef(null);w.useEffect(()=>{var h;(h=c.current)==null||h.focus()},[]);const u=w.useMemo(()=>{if(!o)return n;const h=o.toLowerCase();return n.filter(p=>p.label.toLowerCase().includes(h)||p.description.toLowerCase().includes(h)||p.kind.toLowerCase().includes(h))},[n,o]);w.useEffect(()=>{l(0)},[u]);const f=h=>{h.key==="ArrowDown"?(h.preventDefault(),l(p=>Math.min(p+1,u.length-1))):h.key==="ArrowUp"?(h.preventDefault(),l(p=>Math.max(p-1,0))):h.key==="Enter"&&u[s]?r(u[s]):h.key==="Escape"&&i()};return d.jsx("div",{className:"ca-modal-overlay",onClick:i,children:d.jsxs("div",{className:"ca-modal",onClick:h=>h.stopPropagation(),onKeyDown:f,children:[d.jsxs("div",{className:"ca-modal-header",children:[d.jsx("h3",{children:e}),d.jsx("button",{className:"ca-modal-close",onClick:i,"aria-label":"Close",children:"x"})]}),d.jsx("input",{ref:c,className:"ca-modal-search",type:"text",placeholder:t,value:o,onChange:h=>a(h.target.value)}),d.jsxs("div",{className:"ca-modal-list",children:[u.map((h,p)=>d.jsxs("button",{className:`ca-modal-list-item${p===s?" selected":""}`,onClick:()=>r(h),onMouseEnter:()=>l(p),children:[d.jsx("span",{className:"ca-picker-kind",children:Kq[h.kind]??h.kind[0]}),d.jsx("span",{className:"ca-commit-subject",children:h.label}),d.jsx("span",{className:"ca-commit-meta",children:h.description})]},`${h.kind}-${h.id}`)),u.length===0&&d.jsxs("div",{className:"ca-modal-empty",children:['No results for "',o,'"']})]}),d.jsxs("div",{className:"ca-modal-footer",children:[d.jsxs("span",{style:{flex:1,fontSize:10,color:"var(--ca-text-muted)"},children:[u.length," item",u.length!==1?"s":""]}),d.jsx("button",{className:"ca-modal-btn",onClick:i,children:"Cancel"})]})]})})}function Yq({entries:e,onNavigate:t,onPlayPause:n,playing:r}){const i=w.useRef(null);if(w.useEffect(()=>{i.current&&(i.current.scrollLeft=i.current.scrollWidth)},[e.length]),e.length===0)return null;const o=e.reduce((a,s)=>a+s.changedFunctions.length+s.newFunctions.length,0);return new Set(e.flatMap(a=>Array(a.impactSummary.clustersAffected).fill(0))).size||e.reduce((a,s)=>Math.max(a,s.impactSummary.clustersAffected),0),d.jsxs("div",{style:Xq,children:[d.jsxs("div",{style:Qq,children:[d.jsxs("span",{children:[e.length," change",e.length!==1?"s":""]}),d.jsxs("span",{style:{color:"var(--ca-text-muted)"},children:[o," function",o!==1?"s":""]}),d.jsx("button",{onClick:()=>n(r?"pause":"play"),style:Zq,title:r?"Pause replay":"Play all changes","aria-label":r?"Pause replay":"Play replay",children:r?"⏸":"▶"})]}),d.jsx("div",{ref:i,style:Jq,children:e.map((a,s)=>{const l=a.changedFunctions[0]??a.newFunctions[0]??a.filePath.split("/").pop(),c=new Date(a.timestamp).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"}),u=a.newFunctions.length>0;return d.jsxs("button",{onClick:()=>t(a.id),style:eD,title:`${c} — ${l}
|
|
92
|
+
`})]})}const Tt=e=>{var t;return(t=window.vscodeApi)==null?void 0:t.postMessage(e)};function eD({activeMode:e,currentTheme:t,explorerVisible:n,onExplorerToggle:r,onAskAI:i,onCommentsToggle:o,commentCount:a}){const s=[{id:"explorer",icon:"☰",label:"Explorer",action:()=>r==null?void 0:r()},{id:"sep0",icon:"",label:"",action:()=>{}},{id:"l1",icon:"🏗",label:"System Design (L1)",matchMode:"microservice",action:()=>Tt({type:"openMicroserviceDiagram"})},{id:"l2",icon:"🧩",label:"Feature Areas (L2)",matchMode:"feature",action:()=>Tt({type:"openFeatureDiagram",serviceId:""})},{id:"apis",icon:"⚡",label:"API List",matchMode:"api-list",action:()=>Tt({type:"runCommand",command:"codeatlas.openApiExplorer"})},{id:"health",icon:"💊",label:"Health Report",matchMode:"health",action:()=>Tt({type:"runCommand",command:"codeatlas.showHealthReport"})},{id:"sep1",icon:"",label:"",action:()=>{}},{id:"diff",icon:"⎇",label:"Compare Commits",action:()=>Tt({type:"requestGitDiff"})},{id:"branch",icon:"🌿",label:"Branch Diff",action:()=>Tt({type:"requestBranchDiff"})},{id:"pr",icon:"⤵",label:"PR Diff",action:()=>Tt({type:"runCommand",command:"codeatlas.openPrDiff"})},{id:"impact",icon:"🎯",label:"Impact Analysis",action:()=>Tt({type:"runCommand",command:"codeatlas.analyzeImpact"})},{id:"timeline",icon:"⏯",label:"Timeline Replay",action:()=>Tt({type:"runCommand",command:"codeatlas.timelineReplay"})},{id:"export",icon:"📄",label:"Export Docs",action:()=>Tt({type:"runCommand",command:"codeatlas.exportArchitectureDocs"})},{id:"askAI",icon:"✨",label:"Ask AI (Cmd+Shift+Q)",action:()=>i==null?void 0:i()},{id:"comments",icon:"💬",label:`Comments${a?` (${a})`:""}`,action:()=>o==null?void 0:o()},{id:"search",icon:"🔍",label:"Search",action:()=>Tt({type:"runCommand",command:"codeatlas.search"})},{id:"sync",icon:"🔄",label:"Re-sync",action:()=>Tt({type:"runCommand",command:"codeatlas.resyncEverything"})},{id:"sep2",icon:"",label:"",action:()=>{}},{id:"theme",icon:t==="dark"?"☀":"☾",label:t==="dark"?"Light Mode":"Dark Mode",action:()=>Tt({type:"toggleTheme"})}];return d.jsx("div",{className:"ca-command-bar",role:"toolbar","aria-label":"Command toolbar",children:s.map(l=>{if(l.id.startsWith("sep"))return d.jsx("span",{className:"ca-command-bar-sep"},l.id);const c=l.id==="explorer"?!!n:l.matchMode===e;return d.jsx("button",{className:`ca-command-bar-btn${c?" active":""}`,title:l.label,"aria-label":l.label,"aria-pressed":c||void 0,onClick:l.action,children:l.icon},l.id)})})}const Ps=100;function Io({title:e,items:t,icon:n,defaultOpen:r,loading:i}){const[o,a]=w.useState(r??!1),[s,l]=w.useState(""),[c,u]=w.useState(-1),[f,h]=w.useState(!1),p=w.useRef(null),[v,g]=w.useState(""),S=w.useRef(null);w.useEffect(()=>()=>{p.current&&clearTimeout(p.current)},[]);const m=w.useCallback(E=>{l(E),p.current&&clearTimeout(p.current),p.current=setTimeout(()=>g(E),100)},[]),y=w.useMemo(()=>{if(!v)return t;const E=v.toLowerCase();return t.filter(R=>{var T;return R.label.toLowerCase().includes(E)||((T=R.subtitle)==null?void 0:T.toLowerCase().includes(E))})},[t,v]),x=w.useMemo(()=>f||v||y.length<=Ps?y:y.slice(0,Ps),[y,f,v]),b=!f&&!v&&y.length>Ps,C=w.useCallback(E=>{var R;(R=window.vscodeApi)==null||R.postMessage(E)},[]),N=w.useCallback(E=>{if(E.key==="ArrowDown")E.preventDefault(),u(R=>Math.min(R+1,x.length-1));else if(E.key==="ArrowUp")E.preventDefault(),u(R=>Math.max(R-1,0));else if(E.key==="Enter"&&c>=0&&c<x.length){E.preventDefault();const R=x[c];R.action&&C(R.action)}else E.key==="Escape"&&(l(""),g(""),u(-1))},[x,c,C]);return w.useEffect(()=>{if(c>=0&&S.current){const E=S.current.children[c];E==null||E.scrollIntoView({block:"nearest"})}},[c]),d.jsxs("div",{className:"ca-explorer-section",onKeyDown:N,children:[d.jsxs("div",{className:"ca-explorer-section-header",onClick:()=>a(!o),role:"button",tabIndex:0,"aria-expanded":o,onKeyDown:E=>{(E.key==="Enter"||E.key===" ")&&(E.preventDefault(),a(!o))},children:[d.jsx("span",{className:"ca-explorer-chevron","aria-hidden":"true",children:o?"▾":"▸"}),d.jsx("span",{className:"ca-explorer-section-icon","aria-hidden":"true",children:n}),d.jsx("span",{className:"ca-explorer-section-title",children:e}),d.jsx("span",{className:"ca-explorer-section-count",children:i?"...":t.length})]}),o&&d.jsxs("div",{className:"ca-explorer-section-body",children:[t.length>5&&d.jsx("input",{className:"ca-explorer-filter",type:"text",placeholder:`Filter ${e.toLowerCase()}...`,value:s,onChange:E=>m(E.target.value),"aria-label":`Filter ${e}`}),i&&t.length===0&&d.jsxs("div",{className:"ca-explorer-loading",children:[d.jsx("span",{className:"ca-home-spinner"}),d.jsx("span",{children:"Loading..."})]}),d.jsxs("div",{className:"ca-explorer-items",ref:S,role:"listbox","aria-label":e,children:[x.map((E,R)=>d.jsxs("div",{className:`ca-explorer-item${R===c?" focused":""}`,onClick:()=>E.action&&C(E.action),onMouseEnter:()=>u(R),title:E.subtitle||E.label,role:"option",tabIndex:0,"aria-selected":R===c,onKeyDown:T=>{T.key==="Enter"&&(T.preventDefault(),E.action&&C(E.action))},children:[E.diff&&E.diff!=="unchanged"&&d.jsx("span",{className:"ca-explorer-diff-badge","data-diff":E.diff,"aria-label":E.diff,children:E.diff==="added"?"+":E.diff==="modified"?"~":"-"}),d.jsx("span",{className:"ca-explorer-item-label",children:E.label}),E.subtitle&&d.jsx("span",{className:"ca-explorer-item-subtitle",children:E.subtitle})]},E.id)),b&&d.jsxs("button",{className:"ca-explorer-show-all",onClick:()=>h(!0),children:["Show all ",y.length," items (",y.length-Ps," more)"]}),!i&&y.length===0&&d.jsx("div",{className:"ca-explorer-empty",children:s?"No matches":"No items"})]})]})]})}function tD({visible:e,onToggle:t}){const[n,r]=w.useState({services:[],features:[],apis:[],files:[],functions:[]}),[i,o]=w.useState(!0);return w.useEffect(()=>{var s;const a=l=>{var c;((c=l.data)==null?void 0:c.type)==="explorerData"&&(r(l.data),o(!1))};return window.addEventListener("message",a),(s=window.vscodeApi)==null||s.postMessage({type:"requestExplorerData"}),()=>window.removeEventListener("message",a)},[]),d.jsx(d.Fragment,{children:e&&d.jsxs("div",{className:"ca-explorer-sidebar",role:"navigation","aria-label":"Explorer",children:[d.jsxs("div",{className:"ca-explorer-header",children:[d.jsx("span",{className:"ca-explorer-header-title",children:"Explorer"}),d.jsx("button",{className:"ca-explorer-close",onClick:t,"aria-label":"Close Explorer",children:"✕"})]}),d.jsxs("div",{className:"ca-explorer-body",children:[d.jsx(Io,{title:"Services",icon:"🏗",items:n.services,defaultOpen:!0,loading:i}),d.jsx(Io,{title:"Feature Areas",icon:"🧩",items:n.features,loading:i}),d.jsx(Io,{title:"APIs",icon:"⚡",items:n.apis,loading:i}),d.jsx(Io,{title:"Files",icon:"📁",items:n.files,loading:i}),d.jsx(Io,{title:"Functions",icon:"𝑓",items:n.functions,loading:i})]})]})})}function nD({commits:e,onSelect:t,onCancel:n}){var p,v;const[r,i]=w.useState("base"),[o,a]=w.useState(null),[s,l]=w.useState(""),c=w.useRef(null);w.useEffect(()=>{var g;(g=c.current)==null||g.focus()},[r]);const u=w.useMemo(()=>{if(!s)return e;const g=s.toLowerCase();return e.filter(S=>S.shortHash.toLowerCase().includes(g)||S.subject.toLowerCase().includes(g)||S.author.toLowerCase().includes(g))},[e,s]),f=g=>{r==="base"?(a(g),i("head"),l("")):t(o,g)},h=()=>{r==="head"?(i("base"),a(null),l("")):n()};return d.jsx("div",{className:"ca-modal-overlay",onClick:n,children:d.jsxs("div",{className:"ca-modal",onClick:g=>g.stopPropagation(),children:[d.jsxs("div",{className:"ca-modal-header",children:[d.jsx("h3",{children:r==="base"?"Select base commit (older)":"Select head commit (newer)"}),d.jsx("button",{className:"ca-modal-close",onClick:n,"aria-label":"Close",children:"x"})]}),r==="head"&&o&&d.jsxs("div",{className:"ca-modal-info",children:["Base: ",d.jsx("strong",{children:(p=e.find(g=>g.hash===o))==null?void 0:p.shortHash})," ",(v=e.find(g=>g.hash===o))==null?void 0:v.subject]}),d.jsx("input",{ref:c,className:"ca-modal-search",type:"text",placeholder:"Search by hash, message, or author...",value:s,onChange:g=>l(g.target.value)}),d.jsxs("div",{className:"ca-modal-list",children:[u.map(g=>d.jsxs("button",{className:`ca-modal-list-item${g.hash===o?" selected":""}`,onClick:()=>f(g.hash),disabled:r==="head"&&g.hash===o,children:[d.jsx("span",{className:"ca-commit-hash",children:g.shortHash}),d.jsx("span",{className:"ca-commit-subject",children:g.subject}),d.jsxs("span",{className:"ca-commit-meta",children:[g.author," · ",g.relativeDate]})]},g.hash)),u.length===0&&d.jsxs("div",{className:"ca-modal-empty",children:['No commits match "',s,'"']})]}),d.jsx("div",{className:"ca-modal-footer",children:d.jsx("button",{className:"ca-modal-btn",onClick:h,children:r==="head"?"Back":"Cancel"})})]})})}function rD(e){if(!e)return"";try{const t=Date.now()-new Date(e).getTime(),n=Math.floor(t/6e4);if(n<60)return`${n}m ago`;const r=Math.floor(n/60);if(r<24)return`${r}h ago`;const i=Math.floor(r/24);return i<30?`${i}d ago`:`${Math.floor(i/30)}mo ago`}catch{return""}}function iD({owner:e,repo:t,prs:n,gitHubConnected:r,editorUriScheme:i,extensionId:o,clientId:a,isReplay:s,onSelect:l,onCancel:c}){const[u,f]=w.useState(""),[h,p]=w.useState(n.length===0),[v,g]=w.useState(""),[S,m]=w.useState(null),y=w.useRef(null),x=w.useRef(null);w.useEffect(()=>{var _,I;h?(_=x.current)==null||_.focus():(I=y.current)==null||I.focus()},[h]);const b=w.useMemo(()=>{if(!u)return n;const _=u.toLowerCase();return n.filter(I=>I.title.toLowerCase().includes(_)||String(I.number).includes(_)||I.author.toLowerCase().includes(_)||I.branch.toLowerCase().includes(_))},[n,u]),C=()=>{const _=v.trim();if(!/^\d+$/.test(_)){m("Enter a numeric PR number");return}l(parseInt(_,10))},N=_=>{_.key==="Escape"&&c(),_.key==="Enter"&&h&&C()},E=()=>{var _;if(i&&o){const I=a?`?cid=${encodeURIComponent(a)}`:"";window.location.href=`${i}://${o}/connect-github${I}`}else(_=window.vscodeApi)==null||_.postMessage({type:"connectGitHub"})},R=s?"Replay PR":"PR Diff",T=s?"Replay":"Compare";return d.jsx("div",{className:"ca-modal-overlay",onClick:c,children:d.jsxs("div",{className:"ca-modal",onClick:_=>_.stopPropagation(),onKeyDown:N,children:[d.jsxs("div",{className:"ca-modal-header",children:[d.jsxs("h3",{children:[R," — ",e,"/",t]}),d.jsx("button",{className:"ca-modal-close",onClick:c,"aria-label":"Close",children:"x"})]}),!r&&d.jsxs("div",{className:"ca-pr-auth-warning",children:[d.jsx("span",{children:"Not connected to GitHub — private repo access limited"}),d.jsx("button",{className:"ca-pr-auth-connect",onClick:E,children:"Connect"})]}),h?d.jsxs(d.Fragment,{children:[d.jsxs("div",{className:"ca-modal-body",children:[d.jsx("label",{className:"ca-modal-label",children:"Pull request number"}),d.jsx("input",{ref:x,className:"ca-modal-input",type:"text",inputMode:"numeric",placeholder:"123",value:v,onChange:_=>{g(_.target.value),m(null)}}),S&&d.jsx("div",{className:"ca-modal-error",children:S})]}),d.jsxs("div",{className:"ca-modal-footer",children:[n.length>0&&d.jsx("button",{className:"ca-modal-btn",onClick:()=>p(!1),children:"Back to list"}),d.jsx("button",{className:"ca-modal-btn",onClick:c,children:"Cancel"}),d.jsx("button",{className:"ca-modal-btn ca-modal-btn-primary",onClick:C,children:T})]})]}):d.jsxs(d.Fragment,{children:[d.jsx("input",{ref:y,className:"ca-modal-search",type:"text",placeholder:"Search PRs by title, number, or author...",value:u,onChange:_=>f(_.target.value)}),d.jsxs("div",{className:"ca-modal-list",children:[b.map(_=>d.jsxs("button",{className:"ca-modal-list-item",onClick:()=>l(_.number),children:[d.jsxs("span",{className:"ca-commit-hash",style:{minWidth:44},children:["#",_.number]}),d.jsxs("span",{className:"ca-commit-subject",children:[_.isDraft&&d.jsx("span",{style:{opacity:.5,marginRight:4},children:"DRAFT"}),_.title]}),d.jsxs("span",{className:"ca-commit-meta",children:[_.author," · ",_.branch," · ",rD(_.updatedAt)]})]},_.number)),b.length===0&&n.length>0&&d.jsxs("div",{className:"ca-modal-empty",children:['No PRs match "',u,'"']}),n.length===0&&d.jsx("div",{className:"ca-modal-empty",children:"No open pull requests found. Enter a PR number manually below."})]}),d.jsxs("div",{className:"ca-modal-footer",style:{justifyContent:"space-between"},children:[d.jsx("button",{className:"ca-modal-btn",style:{fontSize:11,color:"var(--ca-accent)"},onClick:()=>p(!0),children:"Enter PR number manually"}),d.jsx("button",{className:"ca-modal-btn",onClick:c,children:"Cancel"})]})]})]})})}const oD={API:"~",File:"#",Cluster:"@",Service:"*",Function:"f"};function lE({title:e,placeholder:t,items:n,onSelect:r,onCancel:i}){const[o,a]=w.useState(""),[s,l]=w.useState(0),c=w.useRef(null);w.useEffect(()=>{var h;(h=c.current)==null||h.focus()},[]);const u=w.useMemo(()=>{if(!o)return n;const h=o.toLowerCase();return n.filter(p=>p.label.toLowerCase().includes(h)||p.description.toLowerCase().includes(h)||p.kind.toLowerCase().includes(h))},[n,o]);w.useEffect(()=>{l(0)},[u]);const f=h=>{h.key==="ArrowDown"?(h.preventDefault(),l(p=>Math.min(p+1,u.length-1))):h.key==="ArrowUp"?(h.preventDefault(),l(p=>Math.max(p-1,0))):h.key==="Enter"&&u[s]?r(u[s]):h.key==="Escape"&&i()};return d.jsx("div",{className:"ca-modal-overlay",onClick:i,children:d.jsxs("div",{className:"ca-modal",onClick:h=>h.stopPropagation(),onKeyDown:f,children:[d.jsxs("div",{className:"ca-modal-header",children:[d.jsx("h3",{children:e}),d.jsx("button",{className:"ca-modal-close",onClick:i,"aria-label":"Close",children:"x"})]}),d.jsx("input",{ref:c,className:"ca-modal-search",type:"text",placeholder:t,value:o,onChange:h=>a(h.target.value)}),d.jsxs("div",{className:"ca-modal-list",children:[u.map((h,p)=>d.jsxs("button",{className:`ca-modal-list-item${p===s?" selected":""}`,onClick:()=>r(h),onMouseEnter:()=>l(p),children:[d.jsx("span",{className:"ca-picker-kind",children:oD[h.kind]??h.kind[0]}),d.jsx("span",{className:"ca-commit-subject",children:h.label}),d.jsx("span",{className:"ca-commit-meta",children:h.description})]},`${h.kind}-${h.id}`)),u.length===0&&d.jsxs("div",{className:"ca-modal-empty",children:['No results for "',o,'"']})]}),d.jsxs("div",{className:"ca-modal-footer",children:[d.jsxs("span",{style:{flex:1,fontSize:10,color:"var(--ca-text-muted)"},children:[u.length," item",u.length!==1?"s":""]}),d.jsx("button",{className:"ca-modal-btn",onClick:i,children:"Cancel"})]})]})})}function aD({entries:e,onNavigate:t,onPlayPause:n,playing:r}){const i=w.useRef(null);if(w.useEffect(()=>{i.current&&(i.current.scrollLeft=i.current.scrollWidth)},[e.length]),e.length===0)return null;const o=e.reduce((a,s)=>a+s.changedFunctions.length+s.newFunctions.length,0);return new Set(e.flatMap(a=>Array(a.impactSummary.clustersAffected).fill(0))).size||e.reduce((a,s)=>Math.max(a,s.impactSummary.clustersAffected),0),d.jsxs("div",{style:sD,children:[d.jsxs("div",{style:lD,children:[d.jsxs("span",{children:[e.length," change",e.length!==1?"s":""]}),d.jsxs("span",{style:{color:"var(--ca-text-muted)"},children:[o," function",o!==1?"s":""]}),d.jsx("button",{onClick:()=>n(r?"pause":"play"),style:cD,title:r?"Pause replay":"Play all changes","aria-label":r?"Pause replay":"Play replay",children:r?"⏸":"▶"})]}),d.jsx("div",{ref:i,style:uD,children:e.map((a,s)=>{const l=a.changedFunctions[0]??a.newFunctions[0]??a.filePath.split("/").pop(),c=new Date(a.timestamp).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"}),u=a.newFunctions.length>0;return d.jsxs("button",{onClick:()=>t(a.id),style:dD,title:`${c} — ${l}
|
|
93
93
|
${a.changedFunctions.length} changed, ${a.newFunctions.length} new
|
|
94
|
-
${a.impactSummary.directImpacts} direct impacts`,"aria-label":`Change ${s+1}: ${l}`,children:[d.jsx("span",{style:{...tD,background:u?"var(--ca-success)":"var(--ca-warning)"}}),d.jsx("span",{style:nD,children:l})]},a.id)})})]})}const Xq={display:"flex",alignItems:"center",gap:8,padding:"4px 12px",background:"var(--ca-surface)",borderTop:"1px solid var(--ca-border)",fontSize:"var(--ca-font-caption)",color:"var(--ca-text)",flexShrink:0},Qq={display:"flex",alignItems:"center",gap:8,flexShrink:0,whiteSpace:"nowrap"},Zq={background:"var(--ca-accent)",border:"none",borderRadius:"var(--ca-radius-sm)",color:"#fff",padding:"2px 8px",cursor:"pointer",fontSize:12},Jq={display:"flex",alignItems:"center",gap:4,overflowX:"auto",flex:1,scrollBehavior:"smooth"},eD={display:"flex",flexDirection:"column",alignItems:"center",gap:2,background:"none",border:"none",cursor:"pointer",padding:"2px 6px",borderRadius:"var(--ca-radius-sm)",flexShrink:0},tD={width:8,height:8,borderRadius:"50%"},nD={fontSize:8,color:"var(--ca-text-muted)",maxWidth:60,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"};function rD({commits:e,branches:t,currentBranch:n,baselineHash:r,onStart:i,onCancel:o,onBranchChange:a}){const[s,l]=w.useState(()=>{if(r){const _=e.findIndex(I=>I.hash===r||I.hash.startsWith(r));return _>=0?_:null}return null}),[c,u]=w.useState(()=>r&&e.length>0&&e.findIndex(I=>I.hash===r||I.hash.startsWith(r))>=0?0:null),[f,h]=w.useState(""),p=w.useMemo(()=>{if(!f)return e;const _=f.toLowerCase();return e.filter(I=>I.subject.toLowerCase().includes(_)||I.shortHash.includes(_)||I.author.toLowerCase().includes(_))},[e,f]),v=s!==null&&c!==null?Math.abs(c-s)+1:s!==null?1:0,g=v===1&&s!==null&&(c??s)+1<e.length,b=v>=2||g,m=v===1?1:Math.max(0,v-1),y=m>0?`~${m*15}s`:"",x=_=>{s===null?(l(_),u(null)):c===null?u(_):(l(_),u(null))},S=()=>{if(s===null)return;const _=c??s,I=Math.min(s,_),M=Math.max(s,_);let k=e.slice(I,M+1);M+1<e.length&&k.push(e[M+1]),k.reverse(),k.length>=2&&i(k)},C=_=>{if(s===null)return!1;const I=c??s,M=Math.min(s,I),k=Math.max(s,I);return _>=M&&_<=k},R=w.useMemo(()=>t?[...t].sort((_,I)=>_.isCurrent?-1:I.isCurrent?1:_.isRemote!==I.isRemote?_.isRemote?1:-1:_.name.localeCompare(I.name)):[],[t]);return d.jsx("div",{className:"ca-modal-overlay",onClick:o,children:d.jsxs("div",{className:"ca-modal",onClick:_=>_.stopPropagation(),style:{maxWidth:520,maxHeight:"80vh"},children:[d.jsxs("div",{className:"ca-modal-header",children:[d.jsx("h3",{style:{margin:0,fontSize:14},children:"Timeline Replay — Select Commit Range"}),d.jsx("button",{className:"ca-modal-close",onClick:o,children:"x"})]}),d.jsxs("div",{style:{padding:"8px 16px"},children:[R.length>0&&d.jsxs("div",{style:{marginBottom:8,display:"flex",alignItems:"center",gap:8},children:[d.jsx("span",{style:{fontSize:11,color:"var(--ca-text-muted)",flexShrink:0},children:"Branch:"}),d.jsx("select",{value:n??"",onChange:_=>{l(null),u(null),a==null||a(_.target.value)},style:{flex:1,background:"var(--ca-surface)",color:"var(--ca-text)",border:"1px solid var(--ca-border)",borderRadius:"var(--ca-radius-sm)",padding:"4px 8px",fontSize:12,fontFamily:"var(--ca-font-mono)"},children:R.map(_=>d.jsxs("option",{value:_.name,children:[_.isCurrent?"* ":"",_.name,_.isRemote?" (remote)":""]},_.name))})]}),d.jsx("input",{type:"text",placeholder:"Search commits...",value:f,onChange:_=>h(_.target.value),className:"ca-modal-search",autoFocus:!0}),d.jsx("div",{style:{fontSize:11,color:"var(--ca-text-muted)",marginTop:4},children:s===null?"Click a commit to replay, or select a range":c===null&&g?`1 commit selected — will diff against parent ${y}`:c===null?"Click another commit to set the end":`${v} commits selected ${y}`})]}),d.jsx("div",{style:{overflowY:"auto",maxHeight:"50vh",padding:"0 16px"},children:p.map(_=>{const I=e.indexOf(_),M=C(I),k=I===s||I===c,T=r&&(_.hash===r||_.hash.startsWith(r));return d.jsxs("div",{onClick:()=>x(I),style:{padding:"8px 10px",borderRadius:6,cursor:"pointer",background:k?"var(--ca-accent)":M?"var(--ca-nl-query-bg)":"transparent",color:k?"#fff":"var(--ca-text)",borderLeft:T?"3px solid var(--ca-warning)":M?"3px solid var(--ca-nl-query)":"3px solid transparent",marginBottom:2,transition:"background 0.15s"},children:[d.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[d.jsxs("span",{style:{display:"flex",alignItems:"center",gap:6},children:[d.jsx("span",{style:{fontFamily:"var(--ca-font-mono)",fontSize:11,opacity:.7},children:_.shortHash}),T&&d.jsx("span",{style:{fontSize:9,padding:"1px 5px",borderRadius:4,background:"var(--ca-warning)",color:"#000",fontWeight:600},children:"merge-base"})]}),d.jsx("span",{style:{fontSize:10,color:k?"rgba(255,255,255,0.7)":"var(--ca-text-muted)"},children:_.relativeDate})]}),d.jsx("div",{style:{fontSize:12,marginTop:2},children:_.subject}),d.jsx("div",{style:{fontSize:10,color:k?"rgba(255,255,255,0.6)":"var(--ca-text-muted)"},children:_.author})]},_.hash)})}),d.jsxs("div",{style:{padding:"12px 16px",display:"flex",justifyContent:"flex-end",gap:8,borderTop:"1px solid var(--ca-border)"},children:[d.jsx("button",{className:"ca-modal-btn",onClick:o,children:"Cancel"}),d.jsxs("button",{className:"ca-modal-btn ca-modal-btn-primary",onClick:S,disabled:!b,style:{opacity:b?1:.5},children:["Start Replay (",v===1?"1 commit":`${v} commits`,")"]})]})]})})}function iD({step:e,commitInfo:t,paused:n,onControl:r,onSpeedChange:i}){const[o,a]=w.useState(2e3);if(!t)return null;const s=h=>{a(h),i(h)},l=(e==null?void 0:e.globalIndex)??0,c=(e==null?void 0:e.totalSteps)??0,u=l<=0,f=c>0&&l>=c-1;return d.jsxs("div",{style:oD,children:[d.jsxs("div",{style:aD,children:[d.jsxs("span",{style:{fontFamily:"var(--ca-font-mono)",fontSize:11,color:"var(--ca-accent)"},children:["Commit ",t.index+1,"/",t.total]}),d.jsx("span",{style:{fontSize:12,fontWeight:600,color:"var(--ca-text)"},children:t.subject.length>40?t.subject.slice(0,40)+"...":t.subject})]}),e&&d.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:8},children:[d.jsxs("span",{style:{fontSize:11,color:"var(--ca-text-muted)"},children:[e.layer," — ",e.changedEntity]}),c>0&&d.jsxs("span",{style:{fontSize:10,color:"var(--ca-text-muted)",fontFamily:"var(--ca-font-mono)"},children:["Step ",l+1,"/",c]})]}),d.jsxs("div",{style:sD,children:[d.jsx("button",{onClick:()=>r("prev"),disabled:u,style:{...sE,opacity:u?.4:1},title:"Previous step","aria-label":"Previous step",children:"‹"}),d.jsx("button",{onClick:()=>r(n?"resume":"pause"),style:Sg,title:n?"Resume":"Pause",children:n?"▶":"⏸"}),d.jsx("button",{onClick:()=>r("next"),disabled:f,style:{...sE,opacity:f?.4:1},title:"Next step","aria-label":"Next step",children:"›"}),d.jsx("div",{style:{width:1,height:16,background:"var(--ca-border)",margin:"0 2px"}}),d.jsx("button",{onClick:()=>r("skipCommit"),style:Sg,title:"Skip to next commit",children:"⏭"}),d.jsx("button",{onClick:()=>r("stop"),style:{...Sg,background:"var(--ca-danger)"},title:"Stop replay",children:"■"}),d.jsxs("div",{style:lD,children:[d.jsx("span",{style:{fontSize:9,color:"var(--ca-text-muted)"},children:"Speed"}),d.jsx("input",{type:"range",min:500,max:5e3,step:250,value:o,onChange:h=>s(Number(h.target.value)),style:{width:60,accentColor:"var(--ca-accent)"},"aria-label":"Replay speed"}),d.jsxs("span",{style:{fontSize:9,color:"var(--ca-text-muted)",minWidth:28},children:[(o/1e3).toFixed(1),"s"]})]})]}),t.total>1&&d.jsx("div",{style:cD,children:Array.from({length:t.total},(h,p)=>d.jsx("span",{style:{width:8,height:8,borderRadius:"50%",background:p===t.index?"var(--ca-accent)":p<t.index?"var(--ca-success)":"var(--ca-border)",transition:"background 0.2s"},title:`Commit ${p+1}`},p))})]})}const oD={position:"absolute",bottom:50,left:"50%",transform:"translateX(-50%)",background:"var(--ca-surface)",border:"1px solid var(--ca-accent)",borderRadius:"var(--ca-radius-lg)",padding:"12px 18px",zIndex:30,boxShadow:"var(--ca-shadow-lg)",minWidth:280,maxWidth:400},aD={display:"flex",flexDirection:"column",gap:2,marginBottom:6},sD={display:"flex",alignItems:"center",gap:6},Sg={background:"var(--ca-accent)",border:"none",borderRadius:"var(--ca-radius-sm)",color:"#fff",padding:"4px 10px",cursor:"pointer",fontSize:12},sE={background:"var(--ca-accent)",border:"none",borderRadius:"var(--ca-radius-sm)",color:"#fff",padding:"4px 8px",cursor:"pointer",fontSize:16,fontWeight:700,lineHeight:1},lD={display:"flex",alignItems:"center",gap:4,marginLeft:"auto"},cD={display:"flex",gap:4,marginTop:8,justifyContent:"center"},uD={flow:"L5 Flow",file:"L4 File",sequence:"L3 Sequence","api-list":"L2b API List",feature:"L2a Feature",microservice:"L1 System"};function dD({comments:e,visible:t,onClose:n,onNavigate:r,onResolve:i}){const[o,a]=w.useState("all");if(!t)return null;const s=w.useMemo(()=>o==="all"?e:e.filter(p=>(p.source??"user")===o),[e,o]),l=w.useMemo(()=>e.filter(p=>(p.source??"user")==="user"&&p.status==="open").length,[e]),c=w.useMemo(()=>e.filter(p=>p.source==="ai"&&p.status==="open").length,[e]),u=w.useMemo(()=>s.filter(p=>p.status==="open"),[s]),f=w.useMemo(()=>s.filter(p=>p.status==="resolved"),[s]),h=w.useMemo(()=>{const p={};for(const v of u){const g=uD[v.layer]??v.layer;p[g]||(p[g]=[]),p[g].push(v)}return p},[u]);return d.jsxs("div",{style:fD,children:[d.jsxs("div",{style:hD,children:[d.jsxs("span",{style:{fontWeight:700,fontSize:13},children:["💬 Comments (",u.length," open)"]}),d.jsx("button",{onClick:n,style:pD,"aria-label":"Close comments panel",children:"x"})]}),d.jsx("div",{style:{display:"flex",gap:0,fontSize:11,borderBottom:"1px solid var(--ca-border)"},children:[{key:"all",label:`All (${l+c})`},{key:"user",label:`User (${l})`},{key:"ai",label:`AI (${c})`}].map(({key:p,label:v})=>d.jsx("button",{onClick:()=>a(p),style:{padding:"6px 12px",cursor:"pointer",background:"transparent",border:"none",color:o===p?"var(--ca-text)":"var(--ca-text-dim, #9ca0a8)",borderBottom:o===p?"2px solid var(--ca-accent, #6c72cb)":"2px solid transparent",fontWeight:o===p?600:400},children:v},p))}),e.length===0&&d.jsx("div",{style:{padding:16,color:"var(--ca-text-muted)",fontSize:12,textAlign:"center"},children:"No comments yet. Right-click any node to add one."}),d.jsxs("div",{style:{overflowY:"auto",flex:1},children:[Object.entries(h).map(([p,v])=>d.jsxs("div",{children:[d.jsxs("div",{style:lE,children:[p," (",v.length,")"]}),v.map(g=>{var b,m,y;return d.jsxs("div",{style:cE,onClick:()=>r(g),title:"Click to navigate to this node",children:[d.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[d.jsx("span",{style:{fontSize:11,fontWeight:600,color:"var(--ca-text)"},children:((b=g.anchor)==null?void 0:b.symbol)??g.targetId}),d.jsx("button",{onClick:x=>{x.stopPropagation(),i(g.id)},style:gD,title:"Mark as resolved",children:"Resolve"})]}),d.jsx("div",{style:{fontSize:10,color:"var(--ca-text-muted)",marginTop:2},children:(y=(m=g.anchor)==null?void 0:m.filePath)==null?void 0:y.split("/").pop()}),d.jsx("div",{style:{fontSize:11,color:"var(--ca-text)",marginTop:4,lineHeight:1.4},children:g.body}),d.jsxs("div",{style:{fontSize:9,color:"var(--ca-text-muted)",marginTop:4},children:[g.author," — ",g.createdAt.split("T")[0]]})]},g.id)})]},p)),f.length>0&&d.jsxs("div",{children:[d.jsxs("div",{style:{...lE,color:"var(--ca-text-muted)"},children:["Resolved (",f.length,")"]}),f.map(p=>{var v;return d.jsx("div",{style:{...cE,opacity:.5},children:d.jsxs("div",{style:{fontSize:11,textDecoration:"line-through",color:"var(--ca-text-muted)"},children:[((v=p.anchor)==null?void 0:v.symbol)??p.targetId,": ",p.body.slice(0,50)]})},p.id)})]})]})]})}const fD={position:"absolute",top:0,right:0,bottom:0,width:320,background:"var(--ca-surface)",borderLeft:"1px solid var(--ca-border)",display:"flex",flexDirection:"column",zIndex:25,boxShadow:"var(--ca-shadow-lg)"},hD={display:"flex",justifyContent:"space-between",alignItems:"center",padding:"10px 14px",borderBottom:"1px solid var(--ca-border)",color:"var(--ca-text)"},pD={background:"none",border:"none",color:"var(--ca-text-muted)",cursor:"pointer",fontSize:14,padding:"2px 6px"},lE={padding:"8px 14px 4px",fontSize:10,fontWeight:700,color:"var(--ca-accent)",textTransform:"uppercase",letterSpacing:"0.5px"},cE={padding:"8px 14px",borderBottom:"1px solid var(--ca-border)",cursor:"pointer",transition:"background 0.1s"},gD={background:"var(--ca-success)",border:"none",borderRadius:4,color:"#fff",fontSize:9,fontWeight:600,padding:"2px 6px",cursor:"pointer"},Io={error:"var(--ca-danger)",warning:"var(--ca-warning)",info:"var(--ca-accent)"},uE={error:0,warning:1,info:2};function As(e){return e.startsWith("microservice:")?"L1":e.startsWith("feature:")||e.startsWith("api-list:")?"L2":e.startsWith("sequence:")?"L3":e.startsWith("file:")?"L4":e.startsWith("flow:")?"L5":"all"}const Ts={fontSize:8,padding:"1px 6px",borderRadius:4,border:"1px solid var(--ca-border)",background:"var(--ca-surface)",color:"var(--ca-text)",cursor:"pointer"};function mD({data:e,visible:t,onClose:n,onNavigate:r,scope:i,onClearScope:o}){const[a,s]=w.useState(!1),[l,c]=w.useState("all"),[u,f]=w.useState(null),[h,p]=w.useState(!1);w.useEffect(()=>{const k=T=>{T.key==="Escape"&&t&&n()};return window.addEventListener("keydown",k),()=>window.removeEventListener("keydown",k)},[t,n]);const v=w.useMemo(()=>e.items.filter(k=>k.status==="open").length,[e.items]),g=w.useMemo(()=>e.items.filter(k=>k.status==="resolved").length,[e.items]),b=w.useMemo(()=>e.items.filter(k=>k.status==="ignored").length,[e.items]),m=w.useMemo(()=>{let k=e.items;return h||(k=k.filter(T=>T.status==="open")),l!=="all"&&(k=k.filter(T=>As(T.graphId)===l)),[...k].sort((T,z)=>{const $={open:0,resolved:1,ignored:2},j=($[T.status]??0)-($[z.status]??0);return j!==0?j:(uE[T.severity]??2)-(uE[z.severity]??2)})},[e.items,l,h]);if(!t)return null;function y(k,T){var z;Kt("ai_review_finding_action",{action:k}),(z=window.vscodeApi)==null||z.postMessage({type:k,reviewId:T})}const x={position:"absolute",top:0,right:0,bottom:0,width:a?40:360,zIndex:900,background:"var(--ca-bg)",borderLeft:"1px solid var(--ca-border)",boxShadow:"-4px 0 20px rgba(0,0,0,0.3)",display:"flex",flexDirection:"column",transition:"width 0.15s ease",overflow:"hidden"};if(a)return d.jsx("div",{style:x,children:d.jsx("div",{style:{padding:"12px 8px",cursor:"pointer",textAlign:"center",fontSize:14},onClick:()=>{Kt("ai_review_panel_expanded",{open_count:v}),s(!1)},title:"Expand Code Review panel",children:d.jsxs("div",{style:{writingMode:"vertical-rl",fontSize:10,fontWeight:600,opacity:.8},children:["Code Review (",v,")"]})})});const S=k=>({display:"inline-block",fontSize:9,fontWeight:700,padding:"1px 6px",borderRadius:8,background:k,color:"#fff",marginRight:4}),C=k=>({fontSize:9,fontWeight:k?700:500,padding:"2px 6px",borderRadius:4,border:"none",background:k?"var(--ca-accent)":"var(--ca-surface)",color:k?"#fff":"var(--ca-text)",cursor:"pointer",opacity:k?1:.7}),R=e.items.filter(k=>k.status==="open"),_=R.filter(k=>k.severity==="error").length,I=R.filter(k=>k.severity==="warning").length,M=R.filter(k=>k.severity==="info").length;return d.jsxs("div",{style:x,children:[d.jsxs("div",{style:{padding:"10px 12px",borderBottom:"1px solid var(--ca-border)",display:"flex",alignItems:"center",justifyContent:"space-between",flexShrink:0},children:[d.jsxs("div",{children:[d.jsx("span",{style:{fontWeight:700,fontSize:12},children:"Code Review"}),d.jsxs("div",{style:{marginTop:4,display:"flex",gap:2},children:[_>0&&d.jsxs("span",{style:S(Io.error),children:[_," error",_>1?"s":""]}),I>0&&d.jsxs("span",{style:S(Io.warning),children:[I," warning",I>1?"s":""]}),M>0&&d.jsxs("span",{style:S(Io.info),children:[M," info"]}),g>0&&d.jsxs("span",{style:{fontSize:8,opacity:.5,marginLeft:4},children:[g," resolved"]}),b>0&&d.jsxs("span",{style:{fontSize:8,opacity:.5,marginLeft:2},children:[b," ignored"]})]})]}),d.jsxs("div",{style:{display:"flex",gap:6},children:[d.jsx("span",{style:{cursor:"pointer",fontSize:14,opacity:.6},onClick:()=>{Kt("ai_review_panel_minimized"),s(!0)},title:"Minimize",children:"-"}),d.jsx("span",{style:{cursor:"pointer",fontSize:14,opacity:.6},onClick:n,title:"Close",children:"x"})]})]}),(i==null?void 0:i.graphId)&&d.jsxs("div",{style:{padding:"6px 12px",background:"rgba(108,114,203,0.16)",color:"var(--ca-accent, #6c72cb)",fontSize:11,display:"flex",alignItems:"center",justifyContent:"space-between",borderBottom:"1px solid var(--ca-border)"},children:[d.jsxs("span",{children:["Scoped to ",d.jsx("strong",{children:i.graphId})]}),o&&d.jsx("a",{onClick:o,style:{cursor:"pointer",textDecoration:"underline"},children:"Clear scope"})]}),d.jsxs("div",{style:{padding:"6px 12px",display:"flex",gap:3,flexShrink:0,borderBottom:"1px solid var(--ca-border)",alignItems:"center"},children:[["all","L1","L2","L3","L4","L5"].map(k=>d.jsx("button",{style:C(l===k),onClick:()=>c(k),children:k==="all"?"All":k},k)),d.jsxs("label",{style:{marginLeft:"auto",fontSize:8,display:"flex",alignItems:"center",gap:3,opacity:.7,cursor:"pointer"},children:[d.jsx("input",{type:"checkbox",checked:h,onChange:k=>p(k.target.checked),style:{width:10,height:10}}),"Show resolved"]})]}),d.jsxs("div",{style:{flex:1,overflow:"auto",padding:"8px 12px"},children:[m.length===0&&d.jsx("div",{style:{textAlign:"center",opacity:.5,fontSize:11,marginTop:20},children:v===0&&e.items.length>0?"All findings resolved or ignored":"No findings for this filter"}),m.map(k=>{var $;const T=u===k.id,z=k.status==="resolved"||k.status==="ignored";return d.jsxs("div",{style:{padding:"6px 8px",marginBottom:4,borderRadius:6,background:"var(--ca-surface)",borderLeft:`3px solid ${z?"var(--ca-border)":Io[k.severity]}`,cursor:"pointer",fontSize:10,opacity:z?.5:1},onClick:()=>{T||Kt("ai_review_finding_clicked",{severity:String(k.severity),category:String(k.category),layer:As(k.graphId)}),f(T?null:k.id)},children:[d.jsxs("div",{style:{display:"flex",gap:4,alignItems:"center",marginBottom:2},children:[d.jsx("span",{style:{fontSize:7,fontWeight:700,padding:"0 4px",borderRadius:4,background:z?"var(--ca-border)":Io[k.severity],color:z?"var(--ca-text)":"#fff",textTransform:"uppercase"},children:k.severity}),d.jsx("span",{style:{fontSize:7,padding:"0 3px",borderRadius:3,background:"var(--ca-border)",color:"var(--ca-text)",opacity:.8},children:k.category}),z&&d.jsx("span",{style:{fontSize:7,padding:"0 3px",borderRadius:3,background:k.status==="resolved"?"var(--ca-success)":"var(--ca-border)",color:k.status==="resolved"?"#fff":"var(--ca-text)"},children:k.status}),d.jsx("span",{style:{marginLeft:"auto",fontSize:8,opacity:.5},children:As(k.graphId)})]}),d.jsx("div",{style:{fontWeight:600,marginBottom:2,textDecoration:z?"line-through":"none"},children:k.title}),(($=k.anchor)==null?void 0:$.filePath)&&d.jsxs("div",{style:{fontSize:8,opacity:.5,marginBottom:2},children:[k.anchor.filePath,k.anchor.symbol?`:${k.anchor.symbol}`:""]}),T&&d.jsxs("div",{style:{marginTop:4},children:[d.jsx("div",{style:{fontSize:9,opacity:.85,whiteSpace:"pre-wrap",wordBreak:"break-word",marginBottom:6},children:k.body}),d.jsxs("div",{style:{display:"flex",gap:4,flexWrap:"wrap"},children:[k.status==="open"&&d.jsxs(d.Fragment,{children:[d.jsx("button",{style:{...Ts,background:"var(--ca-success)",color:"#fff",border:"none"},onClick:j=>{j.stopPropagation(),y("resolveAiReview",k.id)},title:"Mark as resolved (addressed)",children:"Resolve"}),d.jsx("button",{style:Ts,onClick:j=>{j.stopPropagation(),y("ignoreAiReview",k.id)},title:"Ignore (dismiss this finding)",children:"Ignore"})]}),z&&d.jsx("button",{style:Ts,onClick:j=>{j.stopPropagation(),y("reopenAiReview",k.id)},title:"Reopen this finding",children:"Reopen"}),d.jsx("button",{style:{...Ts,background:"var(--ca-accent)",color:"#fff",border:"none"},onClick:j=>{j.stopPropagation(),Kt("ai_review_finding_navigated",{severity:String(k.severity),layer:As(k.graphId)}),r(k)},children:"Go to diagram"})]})]})]},k.id)})]}),d.jsxs("div",{style:{padding:"6px 12px",borderTop:"1px solid var(--ca-border)",fontSize:8,flexShrink:0},children:[d.jsxs("div",{style:{opacity:.5},children:[e.meta.model," | ",e.meta.totalTokens," tokens | ",Math.round(e.meta.durationMs/1e3),"s"]}),e.failures&&e.failures.length>0&&d.jsxs("div",{style:{color:"var(--ca-warning)",marginTop:2},children:[e.failures.length," batch",e.failures.length>1?"es":""," failed",e.failures.some(k=>k.isTimeout)?" (timeout)":"",": ",e.failures.map(k=>k.layer).join(", ")]})]})]})}const vD=w.memo(mD),dE={error:{bg:"rgba(239,68,68,0.16)",fg:"#ef4444"},warning:{bg:"rgba(245,158,11,0.16)",fg:"#f59e0b"},info:{bg:"rgba(56,189,248,0.16)",fg:"#38bdf8"}};function yD({anchor:e,findings:t,onClose:n,onOpenInPanel:r,onUpdateStatus:i,postMessage:o}){const a=w.useRef(null),[s,l]=w.useState(null),[c,u]=w.useState(""),[f,h]=w.useState(null),p=o??(x=>{var S;try{(S=window.vscodeApi)==null||S.postMessage(x)}catch{}});w.useEffect(()=>{if(!e)return;function x(R){R.key==="Escape"&&n()}function S(R){a.current&&!a.current.contains(R.target)&&n()}window.addEventListener("keydown",x);const C=setTimeout(()=>window.addEventListener("mousedown",S),0);return()=>{clearTimeout(C),window.removeEventListener("keydown",x),window.removeEventListener("mousedown",S)}},[e,n]);async function v(x){var S;try{const C=Dm([x]);if(typeof navigator<"u"&&((S=navigator.clipboard)!=null&&S.writeText))await navigator.clipboard.writeText(C);else if(typeof document<"u"&&document.execCommand){const R=document.createElement("textarea");R.value=C,R.style.position="fixed",R.style.opacity="0",document.body.appendChild(R),R.select(),document.execCommand("copy"),document.body.removeChild(R)}h(`Copied — ${C.length.toLocaleString()} chars`),setTimeout(()=>h(null),2200)}catch{h("Copy failed"),setTimeout(()=>h(null),2200)}}function g(x){var R,_;const S=c.trim();if(!S){l(null);return}const C=Pl(x);C&&(p({type:"addComment",layer:C.layer,targetType:C.targetType,targetId:C.targetId,anchor:{filePath:((R=x.anchor)==null?void 0:R.filePath)??"",symbol:(_=x.anchor)==null?void 0:_.symbol},body:`[AI finding] ${x.title}
|
|
94
|
+
${a.impactSummary.directImpacts} direct impacts`,"aria-label":`Change ${s+1}: ${l}`,children:[d.jsx("span",{style:{...fD,background:u?"var(--ca-success)":"var(--ca-warning)"}}),d.jsx("span",{style:hD,children:l})]},a.id)})})]})}const sD={display:"flex",alignItems:"center",gap:8,padding:"4px 12px",background:"var(--ca-surface)",borderTop:"1px solid var(--ca-border)",fontSize:"var(--ca-font-caption)",color:"var(--ca-text)",flexShrink:0},lD={display:"flex",alignItems:"center",gap:8,flexShrink:0,whiteSpace:"nowrap"},cD={background:"var(--ca-accent)",border:"none",borderRadius:"var(--ca-radius-sm)",color:"#fff",padding:"2px 8px",cursor:"pointer",fontSize:12},uD={display:"flex",alignItems:"center",gap:4,overflowX:"auto",flex:1,scrollBehavior:"smooth"},dD={display:"flex",flexDirection:"column",alignItems:"center",gap:2,background:"none",border:"none",cursor:"pointer",padding:"2px 6px",borderRadius:"var(--ca-radius-sm)",flexShrink:0},fD={width:8,height:8,borderRadius:"50%"},hD={fontSize:8,color:"var(--ca-text-muted)",maxWidth:60,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"};function pD({commits:e,branches:t,currentBranch:n,baselineHash:r,onStart:i,onCancel:o,onBranchChange:a}){const[s,l]=w.useState(()=>{if(r){const E=e.findIndex(R=>R.hash===r||R.hash.startsWith(r));return E>=0?E:null}return null}),[c,u]=w.useState(()=>r&&e.length>0&&e.findIndex(R=>R.hash===r||R.hash.startsWith(r))>=0?0:null),[f,h]=w.useState(""),p=w.useMemo(()=>{if(!f)return e;const E=f.toLowerCase();return e.filter(R=>R.subject.toLowerCase().includes(E)||R.shortHash.includes(E)||R.author.toLowerCase().includes(E))},[e,f]),v=s!==null&&c!==null?Math.abs(c-s)+1:s!==null?1:0,g=v===1&&s!==null&&(c??s)+1<e.length,S=v>=2||g,m=v===1?1:Math.max(0,v-1),y=m>0?`~${m*15}s`:"",x=E=>{s===null?(l(E),u(null)):c===null?u(E):(l(E),u(null))},b=()=>{if(s===null)return;const E=c??s,R=Math.min(s,E),T=Math.max(s,E);let _=e.slice(R,T+1);T+1<e.length&&_.push(e[T+1]),_.reverse(),_.length>=2&&i(_)},C=E=>{if(s===null)return!1;const R=c??s,T=Math.min(s,R),_=Math.max(s,R);return E>=T&&E<=_},N=w.useMemo(()=>t?[...t].sort((E,R)=>E.isCurrent?-1:R.isCurrent?1:E.isRemote!==R.isRemote?E.isRemote?1:-1:E.name.localeCompare(R.name)):[],[t]);return d.jsx("div",{className:"ca-modal-overlay",onClick:o,children:d.jsxs("div",{className:"ca-modal",onClick:E=>E.stopPropagation(),style:{maxWidth:520,maxHeight:"80vh"},children:[d.jsxs("div",{className:"ca-modal-header",children:[d.jsx("h3",{style:{margin:0,fontSize:14},children:"Timeline Replay — Select Commit Range"}),d.jsx("button",{className:"ca-modal-close",onClick:o,children:"x"})]}),d.jsxs("div",{style:{padding:"8px 16px"},children:[N.length>0&&d.jsxs("div",{style:{marginBottom:8,display:"flex",alignItems:"center",gap:8},children:[d.jsx("span",{style:{fontSize:11,color:"var(--ca-text-muted)",flexShrink:0},children:"Branch:"}),d.jsx("select",{value:n??"",onChange:E=>{l(null),u(null),a==null||a(E.target.value)},style:{flex:1,background:"var(--ca-surface)",color:"var(--ca-text)",border:"1px solid var(--ca-border)",borderRadius:"var(--ca-radius-sm)",padding:"4px 8px",fontSize:12,fontFamily:"var(--ca-font-mono)"},children:N.map(E=>d.jsxs("option",{value:E.name,children:[E.isCurrent?"* ":"",E.name,E.isRemote?" (remote)":""]},E.name))})]}),d.jsx("input",{type:"text",placeholder:"Search commits...",value:f,onChange:E=>h(E.target.value),className:"ca-modal-search",autoFocus:!0}),d.jsx("div",{style:{fontSize:11,color:"var(--ca-text-muted)",marginTop:4},children:s===null?"Click a commit to replay, or select a range":c===null&&g?`1 commit selected — will diff against parent ${y}`:c===null?"Click another commit to set the end":`${v} commits selected ${y}`})]}),d.jsx("div",{style:{overflowY:"auto",maxHeight:"50vh",padding:"0 16px"},children:p.map(E=>{const R=e.indexOf(E),T=C(R),_=R===s||R===c,I=r&&(E.hash===r||E.hash.startsWith(r));return d.jsxs("div",{onClick:()=>x(R),style:{padding:"8px 10px",borderRadius:6,cursor:"pointer",background:_?"var(--ca-accent)":T?"var(--ca-nl-query-bg)":"transparent",color:_?"#fff":"var(--ca-text)",borderLeft:I?"3px solid var(--ca-warning)":T?"3px solid var(--ca-nl-query)":"3px solid transparent",marginBottom:2,transition:"background 0.15s"},children:[d.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[d.jsxs("span",{style:{display:"flex",alignItems:"center",gap:6},children:[d.jsx("span",{style:{fontFamily:"var(--ca-font-mono)",fontSize:11,opacity:.7},children:E.shortHash}),I&&d.jsx("span",{style:{fontSize:9,padding:"1px 5px",borderRadius:4,background:"var(--ca-warning)",color:"#000",fontWeight:600},children:"merge-base"})]}),d.jsx("span",{style:{fontSize:10,color:_?"rgba(255,255,255,0.7)":"var(--ca-text-muted)"},children:E.relativeDate})]}),d.jsx("div",{style:{fontSize:12,marginTop:2},children:E.subject}),d.jsx("div",{style:{fontSize:10,color:_?"rgba(255,255,255,0.6)":"var(--ca-text-muted)"},children:E.author})]},E.hash)})}),d.jsxs("div",{style:{padding:"12px 16px",display:"flex",justifyContent:"flex-end",gap:8,borderTop:"1px solid var(--ca-border)"},children:[d.jsx("button",{className:"ca-modal-btn",onClick:o,children:"Cancel"}),d.jsxs("button",{className:"ca-modal-btn ca-modal-btn-primary",onClick:b,disabled:!S,style:{opacity:S?1:.5},children:["Start Replay (",v===1?"1 commit":`${v} commits`,")"]})]})]})})}function gD({step:e,commitInfo:t,paused:n,onControl:r,onSpeedChange:i}){const[o,a]=w.useState(2e3);if(!t)return null;const s=h=>{a(h),i(h)},l=(e==null?void 0:e.globalIndex)??0,c=(e==null?void 0:e.totalSteps)??0,u=l<=0,f=c>0&&l>=c-1;return d.jsxs("div",{style:mD,children:[d.jsxs("div",{style:vD,children:[d.jsxs("span",{style:{fontFamily:"var(--ca-font-mono)",fontSize:11,color:"var(--ca-accent)"},children:["Commit ",t.index+1,"/",t.total]}),d.jsx("span",{style:{fontSize:12,fontWeight:600,color:"var(--ca-text)"},children:t.subject.length>40?t.subject.slice(0,40)+"...":t.subject})]}),e&&d.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:8},children:[d.jsxs("span",{style:{fontSize:11,color:"var(--ca-text-muted)"},children:[e.layer," — ",e.changedEntity]}),c>0&&d.jsxs("span",{style:{fontSize:10,color:"var(--ca-text-muted)",fontFamily:"var(--ca-font-mono)"},children:["Step ",l+1,"/",c]})]}),d.jsxs("div",{style:yD,children:[d.jsx("button",{onClick:()=>r("prev"),disabled:u,style:{...cE,opacity:u?.4:1},title:"Previous step","aria-label":"Previous step",children:"‹"}),d.jsx("button",{onClick:()=>r(n?"resume":"pause"),style:kg,title:n?"Resume":"Pause",children:n?"▶":"⏸"}),d.jsx("button",{onClick:()=>r("next"),disabled:f,style:{...cE,opacity:f?.4:1},title:"Next step","aria-label":"Next step",children:"›"}),d.jsx("div",{style:{width:1,height:16,background:"var(--ca-border)",margin:"0 2px"}}),d.jsx("button",{onClick:()=>r("skipCommit"),style:kg,title:"Skip to next commit",children:"⏭"}),d.jsx("button",{onClick:()=>r("stop"),style:{...kg,background:"var(--ca-danger)"},title:"Stop replay",children:"■"}),d.jsxs("div",{style:xD,children:[d.jsx("span",{style:{fontSize:9,color:"var(--ca-text-muted)"},children:"Speed"}),d.jsx("input",{type:"range",min:500,max:5e3,step:250,value:o,onChange:h=>s(Number(h.target.value)),style:{width:60,accentColor:"var(--ca-accent)"},"aria-label":"Replay speed"}),d.jsxs("span",{style:{fontSize:9,color:"var(--ca-text-muted)",minWidth:28},children:[(o/1e3).toFixed(1),"s"]})]})]}),t.total>1&&d.jsx("div",{style:wD,children:Array.from({length:t.total},(h,p)=>d.jsx("span",{style:{width:8,height:8,borderRadius:"50%",background:p===t.index?"var(--ca-accent)":p<t.index?"var(--ca-success)":"var(--ca-border)",transition:"background 0.2s"},title:`Commit ${p+1}`},p))})]})}const mD={position:"absolute",bottom:50,left:"50%",transform:"translateX(-50%)",background:"var(--ca-surface)",border:"1px solid var(--ca-accent)",borderRadius:"var(--ca-radius-lg)",padding:"12px 18px",zIndex:30,boxShadow:"var(--ca-shadow-lg)",minWidth:280,maxWidth:400},vD={display:"flex",flexDirection:"column",gap:2,marginBottom:6},yD={display:"flex",alignItems:"center",gap:6},kg={background:"var(--ca-accent)",border:"none",borderRadius:"var(--ca-radius-sm)",color:"#fff",padding:"4px 10px",cursor:"pointer",fontSize:12},cE={background:"var(--ca-accent)",border:"none",borderRadius:"var(--ca-radius-sm)",color:"#fff",padding:"4px 8px",cursor:"pointer",fontSize:16,fontWeight:700,lineHeight:1},xD={display:"flex",alignItems:"center",gap:4,marginLeft:"auto"},wD={display:"flex",gap:4,marginTop:8,justifyContent:"center"},bD={flow:"L5 Flow",file:"L4 File",sequence:"L3 Sequence","api-list":"L2b API List",feature:"L2a Feature",microservice:"L1 System"};function SD({comments:e,visible:t,onClose:n,onNavigate:r,onResolve:i}){const[o,a]=w.useState("all");if(!t)return null;const s=w.useMemo(()=>o==="all"?e:e.filter(p=>(p.source??"user")===o),[e,o]),l=w.useMemo(()=>e.filter(p=>(p.source??"user")==="user"&&p.status==="open").length,[e]),c=w.useMemo(()=>e.filter(p=>p.source==="ai"&&p.status==="open").length,[e]),u=w.useMemo(()=>s.filter(p=>p.status==="open"),[s]),f=w.useMemo(()=>s.filter(p=>p.status==="resolved"),[s]),h=w.useMemo(()=>{const p={};for(const v of u){const g=bD[v.layer]??v.layer;p[g]||(p[g]=[]),p[g].push(v)}return p},[u]);return d.jsxs("div",{style:_D,children:[d.jsxs("div",{style:ED,children:[d.jsxs("span",{style:{fontWeight:700,fontSize:13},children:["💬 Comments (",u.length," open)"]}),d.jsx("button",{onClick:n,style:kD,"aria-label":"Close comments panel",children:"x"})]}),d.jsx("div",{style:{display:"flex",gap:0,fontSize:11,borderBottom:"1px solid var(--ca-border)"},children:[{key:"all",label:`All (${l+c})`},{key:"user",label:`User (${l})`},{key:"ai",label:`AI (${c})`}].map(({key:p,label:v})=>d.jsx("button",{onClick:()=>a(p),style:{padding:"6px 12px",cursor:"pointer",background:"transparent",border:"none",color:o===p?"var(--ca-text)":"var(--ca-text-dim, #9ca0a8)",borderBottom:o===p?"2px solid var(--ca-accent, #6c72cb)":"2px solid transparent",fontWeight:o===p?600:400},children:v},p))}),e.length===0&&d.jsx("div",{style:{padding:16,color:"var(--ca-text-muted)",fontSize:12,textAlign:"center"},children:"No comments yet. Right-click any node to add one."}),d.jsxs("div",{style:{overflowY:"auto",flex:1},children:[Object.entries(h).map(([p,v])=>d.jsxs("div",{children:[d.jsxs("div",{style:uE,children:[p," (",v.length,")"]}),v.map(g=>{var S,m,y;return d.jsxs("div",{style:dE,onClick:()=>r(g),title:"Click to navigate to this node",children:[d.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[d.jsx("span",{style:{fontSize:11,fontWeight:600,color:"var(--ca-text)"},children:((S=g.anchor)==null?void 0:S.symbol)??g.targetId}),d.jsx("button",{onClick:x=>{x.stopPropagation(),i(g.id)},style:CD,title:"Mark as resolved",children:"Resolve"})]}),d.jsx("div",{style:{fontSize:10,color:"var(--ca-text-muted)",marginTop:2},children:(y=(m=g.anchor)==null?void 0:m.filePath)==null?void 0:y.split("/").pop()}),d.jsx("div",{style:{fontSize:11,color:"var(--ca-text)",marginTop:4,lineHeight:1.4},children:g.body}),d.jsxs("div",{style:{fontSize:9,color:"var(--ca-text-muted)",marginTop:4},children:[g.author," — ",g.createdAt.split("T")[0]]})]},g.id)})]},p)),f.length>0&&d.jsxs("div",{children:[d.jsxs("div",{style:{...uE,color:"var(--ca-text-muted)"},children:["Resolved (",f.length,")"]}),f.map(p=>{var v;return d.jsx("div",{style:{...dE,opacity:.5},children:d.jsxs("div",{style:{fontSize:11,textDecoration:"line-through",color:"var(--ca-text-muted)"},children:[((v=p.anchor)==null?void 0:v.symbol)??p.targetId,": ",p.body.slice(0,50)]})},p.id)})]})]})]})}const _D={position:"absolute",top:0,right:0,bottom:0,width:320,background:"var(--ca-surface)",borderLeft:"1px solid var(--ca-border)",display:"flex",flexDirection:"column",zIndex:25,boxShadow:"var(--ca-shadow-lg)"},ED={display:"flex",justifyContent:"space-between",alignItems:"center",padding:"10px 14px",borderBottom:"1px solid var(--ca-border)",color:"var(--ca-text)"},kD={background:"none",border:"none",color:"var(--ca-text-muted)",cursor:"pointer",fontSize:14,padding:"2px 6px"},uE={padding:"8px 14px 4px",fontSize:10,fontWeight:700,color:"var(--ca-accent)",textTransform:"uppercase",letterSpacing:"0.5px"},dE={padding:"8px 14px",borderBottom:"1px solid var(--ca-border)",cursor:"pointer",transition:"background 0.1s"},CD={background:"var(--ca-success)",border:"none",borderRadius:4,color:"#fff",fontSize:9,fontWeight:600,padding:"2px 6px",cursor:"pointer"},To={error:"var(--ca-danger)",warning:"var(--ca-warning)",info:"var(--ca-accent)"},fE={error:0,warning:1,info:2};function Ms(e){return e.startsWith("microservice:")?"L1":e.startsWith("feature:")||e.startsWith("api-list:")?"L2":e.startsWith("sequence:")?"L3":e.startsWith("file:")?"L4":e.startsWith("flow:")?"L5":"all"}const Ls={fontSize:8,padding:"1px 6px",borderRadius:4,border:"1px solid var(--ca-border)",background:"var(--ca-surface)",color:"var(--ca-text)",cursor:"pointer"};function jD({data:e,visible:t,onClose:n,onNavigate:r,scope:i,onClearScope:o}){const[a,s]=w.useState(!1),[l,c]=w.useState("all"),[u,f]=w.useState(null),[h,p]=w.useState(!1);w.useEffect(()=>{const _=I=>{I.key==="Escape"&&t&&n()};return window.addEventListener("keydown",_),()=>window.removeEventListener("keydown",_)},[t,n]);const v=w.useMemo(()=>e.items.filter(_=>_.status==="open").length,[e.items]),g=w.useMemo(()=>e.items.filter(_=>_.status==="resolved").length,[e.items]),S=w.useMemo(()=>e.items.filter(_=>_.status==="ignored").length,[e.items]),m=w.useMemo(()=>{let _=e.items;return h||(_=_.filter(I=>I.status==="open")),l!=="all"&&(_=_.filter(I=>Ms(I.graphId)===l)),[..._].sort((I,z)=>{const $={open:0,resolved:1,ignored:2},j=($[I.status]??0)-($[z.status]??0);return j!==0?j:(fE[I.severity]??2)-(fE[z.severity]??2)})},[e.items,l,h]);if(!t)return null;function y(_,I){var z;Gt("ai_review_finding_action",{action:_}),(z=window.vscodeApi)==null||z.postMessage({type:_,reviewId:I})}const x={position:"absolute",top:0,right:0,bottom:0,width:a?40:360,zIndex:900,background:"var(--ca-bg)",borderLeft:"1px solid var(--ca-border)",boxShadow:"-4px 0 20px rgba(0,0,0,0.3)",display:"flex",flexDirection:"column",transition:"width 0.15s ease",overflow:"hidden"};if(a)return d.jsx("div",{style:x,children:d.jsx("div",{style:{padding:"12px 8px",cursor:"pointer",textAlign:"center",fontSize:14},onClick:()=>{Gt("ai_review_panel_expanded",{open_count:v}),s(!1)},title:"Expand Code Review panel",children:d.jsxs("div",{style:{writingMode:"vertical-rl",fontSize:10,fontWeight:600,opacity:.8},children:["Code Review (",v,")"]})})});const b=_=>({display:"inline-block",fontSize:9,fontWeight:700,padding:"1px 6px",borderRadius:8,background:_,color:"#fff",marginRight:4}),C=_=>({fontSize:9,fontWeight:_?700:500,padding:"2px 6px",borderRadius:4,border:"none",background:_?"var(--ca-accent)":"var(--ca-surface)",color:_?"#fff":"var(--ca-text)",cursor:"pointer",opacity:_?1:.7}),N=e.items.filter(_=>_.status==="open"),E=N.filter(_=>_.severity==="error").length,R=N.filter(_=>_.severity==="warning").length,T=N.filter(_=>_.severity==="info").length;return d.jsxs("div",{style:x,children:[d.jsxs("div",{style:{padding:"10px 12px",borderBottom:"1px solid var(--ca-border)",display:"flex",alignItems:"center",justifyContent:"space-between",flexShrink:0},children:[d.jsxs("div",{children:[d.jsx("span",{style:{fontWeight:700,fontSize:12},children:"Code Review"}),d.jsxs("div",{style:{marginTop:4,display:"flex",gap:2},children:[E>0&&d.jsxs("span",{style:b(To.error),children:[E," error",E>1?"s":""]}),R>0&&d.jsxs("span",{style:b(To.warning),children:[R," warning",R>1?"s":""]}),T>0&&d.jsxs("span",{style:b(To.info),children:[T," info"]}),g>0&&d.jsxs("span",{style:{fontSize:8,opacity:.5,marginLeft:4},children:[g," resolved"]}),S>0&&d.jsxs("span",{style:{fontSize:8,opacity:.5,marginLeft:2},children:[S," ignored"]})]})]}),d.jsxs("div",{style:{display:"flex",gap:6},children:[d.jsx("span",{style:{cursor:"pointer",fontSize:14,opacity:.6},onClick:()=>{Gt("ai_review_panel_minimized"),s(!0)},title:"Minimize",children:"-"}),d.jsx("span",{style:{cursor:"pointer",fontSize:14,opacity:.6},onClick:n,title:"Close",children:"x"})]})]}),(i==null?void 0:i.graphId)&&d.jsxs("div",{style:{padding:"6px 12px",background:"rgba(108,114,203,0.16)",color:"var(--ca-accent, #6c72cb)",fontSize:11,display:"flex",alignItems:"center",justifyContent:"space-between",borderBottom:"1px solid var(--ca-border)"},children:[d.jsxs("span",{children:["Scoped to ",d.jsx("strong",{children:i.graphId})]}),o&&d.jsx("a",{onClick:o,style:{cursor:"pointer",textDecoration:"underline"},children:"Clear scope"})]}),d.jsxs("div",{style:{padding:"6px 12px",display:"flex",gap:3,flexShrink:0,borderBottom:"1px solid var(--ca-border)",alignItems:"center"},children:[["all","L1","L2","L3","L4","L5"].map(_=>d.jsx("button",{style:C(l===_),onClick:()=>c(_),children:_==="all"?"All":_},_)),d.jsxs("label",{style:{marginLeft:"auto",fontSize:8,display:"flex",alignItems:"center",gap:3,opacity:.7,cursor:"pointer"},children:[d.jsx("input",{type:"checkbox",checked:h,onChange:_=>p(_.target.checked),style:{width:10,height:10}}),"Show resolved"]})]}),d.jsxs("div",{style:{flex:1,overflow:"auto",padding:"8px 12px"},children:[m.length===0&&d.jsx("div",{style:{textAlign:"center",opacity:.5,fontSize:11,marginTop:20},children:v===0&&e.items.length>0?"All findings resolved or ignored":"No findings for this filter"}),m.map(_=>{var $;const I=u===_.id,z=_.status==="resolved"||_.status==="ignored";return d.jsxs("div",{style:{padding:"6px 8px",marginBottom:4,borderRadius:6,background:"var(--ca-surface)",borderLeft:`3px solid ${z?"var(--ca-border)":To[_.severity]}`,cursor:"pointer",fontSize:10,opacity:z?.5:1},onClick:()=>{I||Gt("ai_review_finding_clicked",{severity:String(_.severity),category:String(_.category),layer:Ms(_.graphId)}),f(I?null:_.id)},children:[d.jsxs("div",{style:{display:"flex",gap:4,alignItems:"center",marginBottom:2},children:[d.jsx("span",{style:{fontSize:7,fontWeight:700,padding:"0 4px",borderRadius:4,background:z?"var(--ca-border)":To[_.severity],color:z?"var(--ca-text)":"#fff",textTransform:"uppercase"},children:_.severity}),d.jsx("span",{style:{fontSize:7,padding:"0 3px",borderRadius:3,background:"var(--ca-border)",color:"var(--ca-text)",opacity:.8},children:_.category}),z&&d.jsx("span",{style:{fontSize:7,padding:"0 3px",borderRadius:3,background:_.status==="resolved"?"var(--ca-success)":"var(--ca-border)",color:_.status==="resolved"?"#fff":"var(--ca-text)"},children:_.status}),d.jsx("span",{style:{marginLeft:"auto",fontSize:8,opacity:.5},children:Ms(_.graphId)})]}),d.jsx("div",{style:{fontWeight:600,marginBottom:2,textDecoration:z?"line-through":"none"},children:_.title}),(($=_.anchor)==null?void 0:$.filePath)&&d.jsxs("div",{style:{fontSize:8,opacity:.5,marginBottom:2},children:[_.anchor.filePath,_.anchor.symbol?`:${_.anchor.symbol}`:""]}),I&&d.jsxs("div",{style:{marginTop:4},children:[d.jsx("div",{style:{fontSize:9,opacity:.85,whiteSpace:"pre-wrap",wordBreak:"break-word",marginBottom:6},children:_.body}),d.jsxs("div",{style:{display:"flex",gap:4,flexWrap:"wrap"},children:[_.status==="open"&&d.jsxs(d.Fragment,{children:[d.jsx("button",{style:{...Ls,background:"var(--ca-success)",color:"#fff",border:"none"},onClick:j=>{j.stopPropagation(),y("resolveAiReview",_.id)},title:"Mark as resolved (addressed)",children:"Resolve"}),d.jsx("button",{style:Ls,onClick:j=>{j.stopPropagation(),y("ignoreAiReview",_.id)},title:"Ignore (dismiss this finding)",children:"Ignore"})]}),z&&d.jsx("button",{style:Ls,onClick:j=>{j.stopPropagation(),y("reopenAiReview",_.id)},title:"Reopen this finding",children:"Reopen"}),d.jsx("button",{style:{...Ls,background:"var(--ca-accent)",color:"#fff",border:"none"},onClick:j=>{j.stopPropagation(),Gt("ai_review_finding_navigated",{severity:String(_.severity),layer:Ms(_.graphId)}),r(_)},children:"Go to diagram"})]})]})]},_.id)})]}),d.jsxs("div",{style:{padding:"6px 12px",borderTop:"1px solid var(--ca-border)",fontSize:8,flexShrink:0},children:[d.jsxs("div",{style:{opacity:.5},children:[e.meta.model," | ",e.meta.totalTokens," tokens | ",Math.round(e.meta.durationMs/1e3),"s"]}),e.failures&&e.failures.length>0&&d.jsxs("div",{style:{color:"var(--ca-warning)",marginTop:2},children:[e.failures.length," batch",e.failures.length>1?"es":""," failed",e.failures.some(_=>_.isTimeout)?" (timeout)":"",": ",e.failures.map(_=>_.layer).join(", ")]})]})]})}const RD=w.memo(jD),hE={error:{bg:"rgba(239,68,68,0.16)",fg:"#ef4444"},warning:{bg:"rgba(245,158,11,0.16)",fg:"#f59e0b"},info:{bg:"rgba(56,189,248,0.16)",fg:"#38bdf8"}};function ND({anchor:e,findings:t,onClose:n,onOpenInPanel:r,onUpdateStatus:i,postMessage:o}){const a=w.useRef(null),[s,l]=w.useState(null),[c,u]=w.useState(""),[f,h]=w.useState(null),p=o??(x=>{var b;try{(b=window.vscodeApi)==null||b.postMessage(x)}catch{}});w.useEffect(()=>{if(!e)return;function x(N){N.key==="Escape"&&n()}function b(N){a.current&&!a.current.contains(N.target)&&n()}window.addEventListener("keydown",x);const C=setTimeout(()=>window.addEventListener("mousedown",b),0);return()=>{clearTimeout(C),window.removeEventListener("keydown",x),window.removeEventListener("mousedown",b)}},[e,n]);async function v(x){var b;try{const C=Wm([x]);if(typeof navigator<"u"&&((b=navigator.clipboard)!=null&&b.writeText))await navigator.clipboard.writeText(C);else if(typeof document<"u"&&document.execCommand){const N=document.createElement("textarea");N.value=C,N.style.position="fixed",N.style.opacity="0",document.body.appendChild(N),N.select(),document.execCommand("copy"),document.body.removeChild(N)}h(`Copied — ${C.length.toLocaleString()} chars`),setTimeout(()=>h(null),2200)}catch{h("Copy failed"),setTimeout(()=>h(null),2200)}}function g(x){var N,E;const b=c.trim();if(!b){l(null);return}const C=$l(x);C&&(p({type:"addComment",layer:C.layer,targetType:C.targetType,targetId:C.targetId,anchor:{filePath:((N=x.anchor)==null?void 0:N.filePath)??"",symbol:(E=x.anchor)==null?void 0:E.symbol},body:`[AI finding] ${x.title}
|
|
95
95
|
|
|
96
|
-
${S}`,source:"ai"}),l(null),u(""),h("Comment added"),setTimeout(()=>h(null),2200))}if(!e||t.length===0)return null;const b=340,m=Math.min(e.x+14,window.innerWidth-b-16),y=Math.min(e.y,window.innerHeight-200);return d.jsxs("div",{ref:a,role:"dialog","aria-label":"AI review finding",style:{position:"fixed",left:m,top:y,width:b,maxHeight:"70vh",overflowY:"auto",background:"var(--ca-surface, #131316)",border:"1.5px solid var(--ca-accent, #6c72cb)",borderRadius:10,padding:0,boxShadow:"0 12px 32px rgba(0,0,0,0.6)",zIndex:50},children:[t.map(x=>{const S=dE[x.severity]??dE.info,C=Array.from(new Set(x.bindings.map(R=>R.layer))).join(", ");return d.jsxs("div",{style:{padding:"12px 14px",borderTop:"1px solid var(--ca-border, #232429)"},children:[d.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:6},children:[d.jsxs("span",{style:{fontSize:10,fontWeight:600,padding:"1px 6px",borderRadius:3,background:S.bg,color:S.fg},children:["● ",x.severity]}),d.jsx("span",{style:{fontSize:9,fontWeight:700,padding:"1px 6px",borderRadius:4,background:"linear-gradient(135deg, #6c72cb 0%, #8b5cf6 100%)",color:"white"},children:"AI"}),d.jsx("span",{style:{fontSize:10,color:"var(--ca-text-faint, #6b6f78)"},children:x.category})]}),d.jsx("div",{style:{fontWeight:600,fontSize:13,marginBottom:6},children:x.title}),d.jsx("div",{style:{fontSize:12,color:"var(--ca-text-dim, #9ca0a8)",lineHeight:1.55},children:x.body}),C&&d.jsxs("div",{style:{marginTop:8,fontSize:10,color:"var(--ca-text-faint, #6b6f78)"},children:["also visible on: ",d.jsx("strong",{children:C})]}),d.jsxs("div",{style:{display:"flex",gap:6,marginTop:10,flexWrap:"wrap"},children:[d.jsx("button",{"data-testid":"ai-finding-open-in-panel",onClick:()=>r(x.id),style:fE,children:"Open in panel"}),d.jsx("button",{"data-testid":"ai-finding-resolve",onClick:()=>i(x.id,"resolved"),style:mi,children:"✓ Resolve"}),d.jsx("button",{"data-testid":"ai-finding-ignore",onClick:()=>i(x.id,"ignored"),style:mi,children:"🚫 Ignore"}),d.jsx("button",{"data-testid":"ai-finding-comment",onClick:()=>l(x.id),style:mi,children:"💬 Comment"}),d.jsx("button",{"data-testid":"ai-finding-copy",onClick:()=>v(x),style:mi,children:"📋 Copy"})]}),s===x.id&&d.jsxs("div",{style:{marginTop:8},children:[d.jsx("textarea",{"data-testid":"ai-finding-comment-textarea",autoFocus:!0,value:c,onChange:R=>u(R.target.value),rows:2,placeholder:"Your comment…",style:{width:"100%",boxSizing:"border-box",background:"var(--ca-bg, #0a0a0b)",color:"var(--ca-text, #ececef)",border:"1px solid var(--ca-border, #232429)",borderRadius:6,padding:"6px 8px",fontSize:12,resize:"vertical",minHeight:40,outline:"none",fontFamily:"inherit"},onKeyDown:R=>{R.key==="Escape"&&l(null),(R.metaKey||R.ctrlKey)&&R.key==="Enter"&&g(x)}}),d.jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:6,marginTop:4},children:[d.jsx("button",{onClick:()=>l(null),style:mi,children:"Cancel"}),d.jsx("button",{"data-testid":"ai-finding-comment-submit",onClick:()=>g(x),style:fE,children:"Save"})]})]})]},x.id)}),d.jsx("button",{"aria-label":"Close",onClick:n,style:{position:"absolute",top:6,right:8,background:"transparent",border:"none",color:"var(--ca-text-faint, #6b6f78)",cursor:"pointer",fontSize:16,padding:2},children:"×"}),f&&d.jsx("div",{"data-testid":"ai-finding-popover-flash",role:"status",style:{position:"absolute",bottom:8,left:"50%",transform:"translateX(-50%)",background:f.startsWith("Copy failed")?"#7f1d1d":"var(--ca-accent, #6c72cb)",color:"white",fontSize:11,padding:"4px 10px",borderRadius:6,whiteSpace:"nowrap"},children:f})]})}const mi={fontSize:11,padding:"4px 10px",borderRadius:4,background:"var(--ca-surface-2, #1a1a1f)",color:"var(--ca-text-dim, #9ca0a8)",border:"1px solid var(--ca-border, #232429)",cursor:"pointer"},fE={...mi,background:"var(--ca-accent, #6c72cb)",color:"white",border:"1px solid transparent"};function _g(e,t,n,r,i){var o;if(n&&r){const a=new URLSearchParams({file:e});t.line!=null&&a.set("line",String(t.line)),t.column!=null&&a.set("col",String(t.column)),t.charOffset!=null&&a.set("offset",String(t.charOffset)),i&&a.set("cid",i),window.location.href=`${n}://${r}/open-source?${a.toString()}`}else(o=window.vscodeApi)==null||o.postMessage({type:"openSource",filePath:e,...t.line!=null&&{line:t.line},...t.column!=null&&{column:t.column},...t.charOffset!=null&&{charOffset:t.charOffset}})}function hE(e){if(e==="microservice:workspace")return"#/system-design";if(e==="feature:workspace")return"#/features";if(e.startsWith("feature:"))return`#/features/${e.slice(8)}`;if(e.startsWith("api-list:"))return`#/apis/${e.slice(9)}`;if(e.startsWith("sequence:"))return`#/sequence/${e.slice(9)}`;if(e.startsWith("file:"))return`#/file/${e.slice(5)}`;if(e.startsWith("flow:")){const t=e.slice(5),n=t.lastIndexOf(":");return n>0?`#/flow/${t.slice(0,n)}/${t.slice(n+1)}`:`#/flow/${t}`}return e==="health:report"?"#/health":`#/diagram/${encodeURIComponent(e)}`}function Eg(e){let t=e.replace(/^#\/?/,"");try{t=decodeURIComponent(t)}catch{}if(!t||t==="home")return null;if(t==="system-design")return{route:"system-design"};if(t==="health")return{route:"health"};if(t==="features")return{route:"features"};const n=t.match(/^features\/(.+)$/);if(n)return{route:"features",param:n[1]};const r=t.match(/^apis\/(.+)$/);if(r)return{route:"apis",param:r[1]};const i=t.match(/^sequence\/(.+)$/);if(i)return{route:"sequence",param:i[1]};const o=t.match(/^file\/(.+)$/);if(o)return{route:"file",param:o[1]};const a=t.match(/^flow\/(.+)[\/:]([^\/:]+)$/);return a?{route:"flow",param:a[1],param2:a[2]}:null}const pE=50;function xD(e,t){switch(t.type){case"push":{const n=e.stack.findIndex(o=>o.graphId===t.entry.graphId);if(n>=0&&n<=e.index){const o=e.stack.slice(0,n+1);return o[n]={...o[n],graph:t.entry.graph},{stack:o,index:n}}const r=[...e.stack.slice(0,e.index+1),t.entry],i=r.length>pE?r.slice(-pE):r;return{stack:i,index:i.length-1}}case"go":return{...e,index:Math.max(0,Math.min(t.index,e.stack.length-1))};case"updateByGraphId":return{...e,stack:e.stack.map(n=>n.graphId===t.graphId?{...n,graph:t.graph}:n)};case"clear":return{stack:[],index:-1}}}function wD(e,t,n){if(!e)return!1;const r="codeatlas:workspaceRoot",i=t.getItem(r);return i&&i!==e?(t.setItem(r,e),n(),!0):(i||t.setItem(r,e),!1)}function bD(){var Da,ao,Ba,Ha,Wa,Ua,Va,Ga,Ka,Ya,so;const[e,t]=w.useReducer(xD,{stack:[],index:-1}),[n,r]=w.useState(!0),[i,o]=w.useState(null),[a,s]=w.useState(null),[l,c]=w.useState({}),[u,f]=w.useState({}),[h,p]=w.useState(!1),[v,g]=w.useState(null),[b,m]=w.useState(!1),[y,x]=w.useState(null),[S,C]=w.useState(null),[R,_]=w.useState(!1),[I,M]=w.useState(()=>!window.__codeAtlasBrowserMode?!1:Eg(window.location.hash)===null),[k,T]=w.useState(null),[z,$]=w.useState(null),[j,O]=w.useState("connecting"),[E,N]=w.useState(null),[A,P]=w.useState("dark"),[L,q]=w.useState(null),[B,Y]=w.useState(null),[K,J]=w.useState(null),[ie,ae]=w.useState(null),[ue,fe]=w.useState(null),[me,Ge]=w.useState({}),[We,ct]=w.useState([]),[nt,oe]=w.useState(!1),[Qe,ne]=w.useState([]),[X,je]=w.useState(null),[ut,wt]=w.useState(null),[ze,we]=w.useState(null),[Se,rt]=w.useState(!1),[ee,It]=w.useState(null),[_e,At]=w.useState(!1),[Ht,Re]=w.useState(""),[Ze,Ne]=w.useState(!1),[De,Wt]=w.useState(null),[nn,dt]=w.useState(null);w.useEffect(()=>{function F(D){const W=D.detail;W!=null&&W.graphId&&(dt({graphId:W.graphId}),Ne(!0))}return document.addEventListener("ca:openAiReviewPanel",F),()=>document.removeEventListener("ca:openAiReviewPanel",F)},[]),w.useEffect(()=>{function F(D){const W=D.detail;W!=null&&W.anchor&&Array.isArray(W==null?void 0:W.findings)&&W.findings.length>0&&Wt({anchor:W.anchor,findings:W.findings})}return document.addEventListener("ca:openAiFindingPopover",F),()=>document.removeEventListener("ca:openAiFindingPopover",F)},[]);const rn=w.useRef(!1),si=w.useRef(!1),Tt=w.useRef(I);w.useEffect(()=>{Tt.current=I},[I]),w.useEffect(()=>{var W,re;const F=Z=>{const se=Z.detail;se&&O(se)};window.addEventListener("ws-status",F);const D=(re=(W=window.vscodeApi)==null?void 0:W.getConnectionState)==null?void 0:re.call(W);return D&&O(D),()=>window.removeEventListener("ws-status",F)},[]);const Ar=w.useRef(null),Oa=w.useRef(k);w.useEffect(()=>{Oa.current=k},[k]);const ye=e.index>=0?e.stack[e.index]:null;Ar.current=(ye==null?void 0:ye.graphId)??null;const bt=(ye==null?void 0:ye.mode)??window.initialMode??"file",Yn=(ye==null?void 0:ye.graph)??null,Nc=w.useMemo(()=>{var re;if(!Se||!ee||!Yn)return;const F=Yn.graphId,D=((re=ee.byGraph)==null?void 0:re[F])??[];if(D.length===0)return;const W={};for(const Z of D)W[Z.targetId]||(W[Z.targetId]=[]),W[Z.targetId].push(Z);return W},[Se,ee,Yn]);w.useEffect(()=>{var D;if(!window.location.hash||window.location.hash==="#"||window.location.hash==="#/"||window.location.hash==="#/home"){M(!0),document.title="CodeAtlas";return}const F=Eg(window.location.hash);F&&(M(!1),Tt.current=!1,(D=window.vscodeApi)==null||D.postMessage({type:"requestRoute",route:F.route,param:F.param,param2:F.param2}))},[]);const Xn=w.useRef(null);w.useEffect(()=>{const F=()=>{var W;if(rn.current){rn.current=!1;return}const D=Eg(window.location.hash);D===null?(M(!0),document.title="CodeAtlas"):(M(!1),Tt.current=!1,(W=window.vscodeApi)==null||W.postMessage({type:"requestRoute",route:D.route,param:D.param,param2:D.param2}),Xn.current&&clearTimeout(Xn.current),Xn.current=setTimeout(()=>{r(!1),ye||M(!0)},5e3))};return window.addEventListener("hashchange",F),()=>window.removeEventListener("hashchange",F)},[]),w.useEffect(()=>{var W,re,Z,se;const F=ce=>{var ft;const U=ce.data;switch(U.type){case"navigateTo":{if(si.current=!0,Xn.current&&(clearTimeout(Xn.current),Xn.current=null),r(!1),Tt.current)break;if(Ar.current===U.graphId?t({type:"updateByGraphId",graphId:U.graphId,graph:U.graph}):t({type:"push",entry:{graphId:U.graphId,mode:U.mode,graph:U.graph,label:U.label}}),!Tt.current){M(!1),document.title=`CodeAtlas — ${U.label}`;{const te=hE(U.graphId).slice(1);window.location.hash.replace(/^#/,"")!==te&&(rn.current=!0,window.location.hash=te),localStorage.setItem("codeatlas:lastRoute","#"+te)}}break}case"updateGraph":t({type:"updateByGraphId",graphId:U.graphId,graph:U.graph}),r(!1),window.__codeAtlasBrowserMode&&(fe({text:"Diagram updated",level:"info"}),setTimeout(()=>fe(null),1500));break;case"setMode":break;case"setTheme":document.documentElement.dataset.theme=U.theme==="light"?"light":"",P(U.theme);break;case"initProgress":U.phase==="complete"?(o(null),r(!1)):o({phase:U.phase,progress:U.progress,message:U.message});break;case"showImpact":s(U.impact);break;case"highlightNodes":{const te={},St={};for(const Ut of U.highlights??[]){const lo=`${Ut.filePath}::${Ut.functionName}`;te[lo]=Ut.impactKind,Ut.matchReason&&(St[lo]=Ut.matchReason)}c(te),f(St);break}case"setGitDiffContext":C({baseHash:U.baseHash,headHash:U.headHash,baseLabel:U.baseLabel,headLabel:U.headLabel});break;case"clearGitDiffContext":C(null),c({});break;case"highlightNode":break;case"clearHighlights":c({}),f({}),m(!1),g(null);break;case"nlQueryResult":g(U.result),U.result.matchCount>0&&m(!0);break;case"nlQueryLoading":p(U.loading);break;case"aiReviewResult":It(U.result),rt(!0),Ne(!0);break;case"aiReviewLoading":At(U.loading),U.progress&&Re(U.progress),U.loading||Re("");break;case"aiReviewCleared":It(null),rt(!1),Ne(!1),Re("");break;case"aiFindings":{Array.isArray(U.items)?B0(U.items,U.counts):U.counts&&fu(U.counts);break}case"aiFindingAdded":{Array.isArray(U.findings)&&QI(U.findings);break}case"aiFindingUpdated":{U.finding&&ZI(U.finding),U.counts&&fu(U.counts);break}case"aiReviewComplete":{U.counts&&fu(U.counts);break}case"aiFindingsCleared":{B0([],{byGraph:{},byEntryPoint:{},bySeverity:{error:0,warning:0,info:0},total:0});break}case"cascadeRefresh":{const te=Ar.current;if(te)try{(ft=window.vscodeApi)==null||ft.postMessage({type:"requestRoute",graphId:te})}catch{}break}case"workspaceInfo":wD(U.workspaceRoot,window.sessionStorage,()=>window.location.reload()),T(U);{const te=window.location.hash;(!te||te==="#"||te==="#/"||te==="#/home")&&r(!1)}break;case"clientId":$(U.clientId);break;case"githubAuthCompleted":{const te=U;N(te.status==="success"?{status:"success",user:te.user}:{status:"failure",error:te.error});try{window.focus()}catch{}break}case"showCommitPicker":q({commits:U.commits,mode:U.mode});break;case"showPrPicker":Y({owner:U.owner,repo:U.repo,prs:U.prs??[],isReplay:U.isReplay});break;case"showBranchPicker":ae({branches:U.branches,isReplay:U.isReplay});break;case"showSearchPicker":J({title:"Search",placeholder:"Search APIs, files, clusters, services...",items:U.items,kind:"search"});break;case"showFunctionPicker":J({title:"Select Function",placeholder:"Search by function name or file...",items:U.functions.map(te=>({id:`${te.filePath}:${te.name}`,label:te.name,description:te.filePath,kind:"Function"})),kind:"function"});break;case"showFilePicker":J({title:"Select File for Impact Analysis",placeholder:"Search by file name or path...",items:U.files.map(te=>({id:te.path,label:te.label,description:te.path,kind:"File"})),kind:"impact"});break;case"openUrl":U.url&&(window.location.href=U.url);break;case"showComments":ct(U.comments??[]);break;case"showNotification":fe({text:U.message,level:U.level}),setTimeout(()=>fe(null),U.level==="error"?5e3:3e3);break;case"changeLogEntry":ne(te=>[...te,U.entry]);break;case"changeLogFull":ne(U.entries??[]);break;case"replayStep":je(U.step);break;case"replayStarted":je({index:0,total:U.totalSteps,functionName:"",layer:""});break;case"replayStopped":je(null);break;case"showCommitRangePicker":wt({commits:U.commits,branches:U.branches,currentBranch:U.currentBranch,baselineHash:U.baselineHash});break;case"timelineReplayStep":we(te=>te?{...te,step:U.step}:{step:U.step,commitInfo:null,paused:!1});break;case"timelineReplayCommitStart":we(te=>({step:(te==null?void 0:te.step)??null,commitInfo:{index:U.index,total:U.total,hash:U.hash,subject:U.subject},paused:(te==null?void 0:te.paused)??!1})),M(!1);break;case"timelineReplayEnd":we(null);break;case"timelineReplayPaused":we(te=>te?{...te,paused:!0}:null);break;case"timelineReplayResumed":we(te=>te?{...te,paused:!1}:null);break;case"downloadFile":{const te=new Blob([U.content],{type:U.mimeType}),St=URL.createObjectURL(te),Ut=document.createElement("a");Ut.href=St,Ut.download=U.filename,Ut.click(),URL.revokeObjectURL(St);break}}};window.addEventListener("message",F),(re=(W=window.vscodeApi)==null?void 0:W.flushIncoming)==null||re.call(W),(Z=window.vscodeApi)==null||Z.postMessage({type:"ready"}),(se=window.vscodeApi)==null||se.postMessage({type:"requestChangeLog"});const D=setTimeout(()=>{r(!1),si.current||M(!0)},8e3);return()=>{window.removeEventListener("message",F),clearTimeout(D)}},[]),w.useEffect(()=>{if(!y)return;const F=()=>x(null);return document.addEventListener("mousedown",F),()=>document.removeEventListener("mousedown",F)},[y]),w.useEffect(()=>{var F;ye&&((F=window.vscodeApi)==null||F.postMessage({type:"panelNavigated",graphId:ye.graphId}))},[ye==null?void 0:ye.graphId]),w.useCallback(F=>{var D;(D=window.vscodeApi)==null||D.postMessage({type:"nlQuery",query:F})},[]),w.useCallback(()=>{var F;(F=window.vscodeApi)==null||F.postMessage({type:"clearNlQuery"}),m(!1),g(null),c({}),f({})},[]);const Ic=w.useCallback(F=>{var D;(D=window.vscodeApi)==null||D.postMessage({type:"setLlmConfig",...F})},[]),Ac=w.useCallback(()=>{var F;if(e.index>0){const D=e.stack[e.index-1];if(t({type:"go",index:e.index-1}),D!=null&&D.graphId){const W=D.graphId,re=D.mode,Z=(ft,te)=>ft.startsWith(te)?ft.slice(te.length):ft;let se="file",ce="",U;if(re==="microservice")se="system-design",ce="";else if(re==="feature"){se="features";const ft=Z(W,"feature:");ce=ft==="workspace"?"":ft}else if(re==="api-list")se="apis",ce=Z(W,"api-list:");else if(re==="sequence")se="sequence",ce=Z(W,"sequence:");else if(re==="file")se="file",ce=Z(W,"file:");else if(re==="flow"){se="flow";const te=Z(W,"flow:").match(/^(.+?\.[a-zA-Z0-9]{1,6}):(.+)$/);if(te)ce=te[1],U=te[2];else return}(F=window.vscodeApi)==null||F.postMessage({type:"requestRoute",route:se,param:ce,param2:U})}}},[e.index,e.stack]),Tc=w.useCallback(()=>{e.index<e.stack.length-1&&t({type:"go",index:e.index+1})},[e.index,e.stack.length]),Pc=w.useCallback(()=>{t({type:"clear"}),M(!0),window.location.hash.replace(/^#/,"")!=="/home"&&(rn.current=!0,window.location.hash="/home"),localStorage.setItem("codeatlas:lastRoute","#/home"),document.title="CodeAtlas"},[]),Mc=w.useCallback(F=>{t({type:"go",index:F})},[]);w.useEffect(()=>{if(ye&&!I){document.title=`CodeAtlas — ${ye.label}`;const F=hE(ye.graphId);"#"+window.location.hash.replace(/^#/,"")!==F&&(rn.current=!0,window.location.hash=F.slice(1))}},[ye==null?void 0:ye.graphId,I]);const Fa=w.useCallback((F,D,W)=>{var se,ce,U,ft,te,St,Ut,lo,Sy,_y,Ey,ky,Cy,jy,Ry,Ny;if(!window.vscodeApi)return;const re=!!(W!=null&&W.metaKey||W!=null&&W.ctrlKey),Z=D==null?void 0:D.anchor;if(bt==="microservice"&&D.type==="service"&&!((se=D.meta)!=null&&se.external)){window.vscodeApi.postMessage({type:"openFeatureForService",serviceId:((ce=D.meta)==null?void 0:ce.serviceId)??"",newWindow:re});return}if(bt==="feature"&&D.type==="cluster"){const on=W==null?void 0:W.target,Tr=((U=on==null?void 0:on.dataset)==null?void 0:U.subclusterId)??((te=(ft=on==null?void 0:on.closest)==null?void 0:ft.call(on,"[data-subcluster-id]"))==null?void 0:te.getAttribute("data-subcluster-id"));if(Tr&&((Ut=(St=D.meta)==null?void 0:St.subClusters)!=null&&Ut[Tr])){const li=D.meta.subClusters[Tr];window.vscodeApi.postMessage({type:"openApiListForCluster",clusterId:Tr,serviceId:((lo=D.meta)==null?void 0:lo.serviceId)??"",subClusterFiles:li.files,newWindow:re})}else window.vscodeApi.postMessage({type:"openApiListForCluster",clusterId:((Sy=D.meta)==null?void 0:Sy.clusterId)??"",serviceId:((_y=D.meta)==null?void 0:_y.serviceId)??"",newWindow:re});return}if(bt==="api-list"){D.type==="api"&&((Ey=D.meta)!=null&&Ey.apiId)?window.vscodeApi.postMessage({type:"openSequenceForApi",apiId:D.meta.apiId,newWindow:re}):D.type==="file"&&(Z!=null&&Z.filePath)&&window.vscodeApi.postMessage({type:"openFileDiagram",filePath:Z.filePath,newWindow:re});return}if(!Z){window.vscodeApi.postMessage({type:"nodeClicked",nodeId:F,nodeType:D.type});return}if(D.type==="participant"&&bt==="sequence")Z.filePath&&window.vscodeApi.postMessage({type:"openFileDiagram",filePath:Z.filePath,newWindow:re});else if(D.type==="function"&&bt==="file")Z.filePath&&Z.symbol&&window.vscodeApi.postMessage({type:"openFunctionFlow",filePath:Z.filePath,functionName:Z.symbol,newWindow:re});else if(bt==="flow"&&Z.filePath){const on=(ky=Z.span)==null?void 0:ky.start;let Tr=on;const li=(Cy=D==null?void 0:D.meta)==null?void 0:Cy.statements;if(li&&li.length>0&&W){const Fc=W.target,Iy=(jy=Fc.closest)==null?void 0:jy.call(Fc,"[data-stmt-index]");if(Iy){const Ay=parseInt(Iy.getAttribute("data-stmt-index")??"0",10);((Ny=(Ry=li[Ay])==null?void 0:Ry.span)==null?void 0:Ny.start)!=null&&(Tr=li[Ay].span.start)}}_g(Z.filePath,{charOffset:Tr??on},k==null?void 0:k.editorUriScheme,k==null?void 0:k.extensionId,z)}else Z.filePath&&_g(Z.filePath,{},k==null?void 0:k.editorUriScheme,k==null?void 0:k.extensionId,z);window.vscodeApi.postMessage({type:"nodeClicked",nodeId:F,nodeType:D.type,anchor:Z})},[bt,k==null?void 0:k.editorUriScheme,k==null?void 0:k.extensionId,z]),Lc=w.useCallback((F,D,W)=>{W==null||W.preventDefault(),x({x:(W==null?void 0:W.clientX)??0,y:(W==null?void 0:W.clientY)??0,nodeId:F,nodeData:D})},[]),$c=w.useCallback((F,D)=>{var W,re,Z,se;if(window.vscodeApi){if(bt==="sequence"&&D){if((W=D.anchor)!=null&&W.filePath){window.vscodeApi.postMessage({type:"edgeClicked",edgeId:F,anchor:D.anchor});return}const ce=D.targetParticipant;if((re=ce==null?void 0:ce.anchor)!=null&&re.symbol&&((Z=ce==null?void 0:ce.anchor)!=null&&Z.filePath)){window.vscodeApi.postMessage({type:"openFunctionFlow",filePath:ce.anchor.filePath,functionName:ce.anchor.symbol});return}if((se=ce==null?void 0:ce.anchor)!=null&&se.filePath){window.vscodeApi.postMessage({type:"openFileDiagram",filePath:ce.anchor.filePath});return}}D!=null&&D.anchor&&window.vscodeApi.postMessage({type:"edgeClicked",edgeId:F,anchor:D.anchor})}},[bt]),zc=w.useCallback(F=>{_g(F,{},k==null?void 0:k.editorUriScheme,k==null?void 0:k.extensionId,z)},[k==null?void 0:k.editorUriScheme,k==null?void 0:k.extensionId,z]);if(n)return d.jsxs("div",{className:"ca-loading",children:[d.jsx("div",{className:"ca-loading-spinner"}),i?d.jsxs("div",{style:{textAlign:"center"},children:[d.jsx("div",{children:i.message}),d.jsx("div",{style:{marginTop:8,width:200,height:4,background:"var(--ca-border)",borderRadius:2,overflow:"hidden"},children:d.jsx("div",{style:{width:`${Math.round(i.progress*100)}%`,height:"100%",background:"var(--ca-accent)",borderRadius:2,transition:"width 0.3s ease"}})})]}):d.jsx("span",{children:"Loading diagram..."})]});const Oc=!!window.__codeAtlasBrowserMode,qa=d.jsxs(d.Fragment,{children:[L&&d.jsx(Uq,{commits:L.commits,onSelect:(F,D)=>{var W;q(null),M(!1),r(!0),o({phase:"commit-diff",progress:.2,message:"Building diff graphs..."}),(W=window.vscodeApi)==null||W.postMessage({type:"commitSelected",baseHash:F,headHash:D})},onCancel:()=>q(null)}),ut&&d.jsx(rD,{commits:ut.commits,branches:ut.branches,currentBranch:ut.currentBranch,baselineHash:ut.baselineHash,onStart:F=>{var D;wt(null),M(!1),(D=window.vscodeApi)==null||D.postMessage({type:"startTimelineReplay",commits:F})},onCancel:()=>wt(null),onBranchChange:F=>{var D;(D=window.vscodeApi)==null||D.postMessage({type:"requestTimelineCommits",branch:F})}}),B&&d.jsx(Gq,{owner:B.owner,repo:B.repo,prs:B.prs,gitHubConnected:(k==null?void 0:k.gitHubConnected)??!1,editorUriScheme:k==null?void 0:k.editorUriScheme,extensionId:k==null?void 0:k.extensionId,clientId:z,isReplay:B.isReplay,onSelect:F=>{var D;Y(null),M(!1),r(!0),o({phase:"pr-diff",progress:.1,message:`Loading PR #${F}...`}),(D=window.vscodeApi)==null||D.postMessage({type:"prSelected",prNumber:F})},onCancel:()=>Y(null)}),K&&d.jsx(aE,{title:K.title,placeholder:K.placeholder,items:K.items,onSelect:F=>{var W,re,Z;const D=K.kind;if(J(null),D==="search")(W=window.vscodeApi)==null||W.postMessage({type:"searchSelected",id:F.id,kind:F.kind});else if(D==="function"){const[se,...ce]=F.id.split(":"),U=ce.join(":");(re=window.vscodeApi)==null||re.postMessage({type:"functionSelected",filePath:se,functionName:U})}else D==="impact"&&(M(!1),Tt.current=!1,(Z=window.vscodeApi)==null||Z.postMessage({type:"openFileDiagram",filePath:F.id}),setTimeout(()=>{var se;(se=window.vscodeApi)==null||se.postMessage({type:"fileSelectedForImpact",filePath:F.id})},500))},onCancel:()=>J(null)}),ie&&d.jsx(aE,{title:ie.isReplay?"Replay Branch":"Branch Diff",placeholder:"Select branch to compare against HEAD...",items:ie.branches.map(F=>({id:F.name,label:`${F.isCurrent?"* ":""}${F.name}`,description:F.isCurrent?"(current)":F.isRemote?"(remote)":"(local)",kind:F.isRemote?"Remote":"Branch"})),onSelect:F=>{var D;ae(null),M(!1),r(!0),o({phase:"branch-diff",progress:.2,message:`Comparing branch ${F.id}...`}),(D=window.vscodeApi)==null||D.postMessage({type:"branchSelected",branchName:F.id})},onCancel:()=>ae(null)})]});return I||!Yn&&!i?d.jsxs(yg,{children:[d.jsx(Bq,{isBrowserMode:Oc,onNavigateDiagram:()=>{M(!1),Tt.current=!1},wsInfo:k,currentTheme:A,onSetLlmConfig:Ic,clientId:z}),qa,E&&d.jsxs("div",{role:"status","aria-live":"polite",style:{position:"fixed",top:16,left:"50%",transform:"translateX(-50%)",zIndex:1100,maxWidth:"min(560px, calc(100% - 32px))",padding:"12px 16px",borderRadius:8,display:"flex",alignItems:"center",gap:12,background:E.status==="success"?"#dafbe1":"#ffebe9",border:`1px solid ${E.status==="success"?"#1a7f37":"#cf222e"}`,color:E.status==="success"?"#0d4e1f":"#82071e",boxShadow:"0 8px 24px rgba(0,0,0,0.12)",fontSize:13},children:[d.jsx("span",{style:{fontSize:18,lineHeight:1},children:E.status==="success"?"✓":"⚠"}),d.jsx("div",{style:{flex:1},children:E.status==="success"?E.user?d.jsxs(d.Fragment,{children:[d.jsx("strong",{children:"GitHub connected."})," Signed in as"," ",d.jsxs("a",{href:E.user.html_url,target:"_blank",rel:"noreferrer",style:{color:"inherit",fontWeight:700},children:["@",E.user.login]}),"."]}):d.jsxs(d.Fragment,{children:[d.jsx("strong",{children:"GitHub connected."})," (Profile details unavailable.)"]}):d.jsxs(d.Fragment,{children:[d.jsx("strong",{children:"GitHub connection failed."}),E.error?d.jsxs(d.Fragment,{children:[" ",E.error]}):null," ","You can try again from the home page."]})}),d.jsx("button",{onClick:()=>N(null),"aria-label":"Dismiss",style:{border:0,background:"transparent",cursor:"pointer",color:"inherit",fontSize:16,padding:4,lineHeight:1},children:"×"})]}),ue&&d.jsx("div",{className:`ca-home-toast${ue.level==="error"?" ca-toast-error":ue.level==="warning"?" ca-toast-warning":""}`,children:ue.text}),j!=="connected"&&window.__codeAtlasBrowserMode&&d.jsx("div",{className:"ca-ws-banner",role:"status","aria-live":"polite",children:j==="connecting"?"Connecting to CodeAtlas extension…":"Extension disconnected. Diagrams won't update until the connection is restored."}),d.jsx("footer",{className:"ca-app-footer","aria-label":"CodeAtlas footer",children:d.jsxs("span",{className:"ca-app-footer-version",children:["CodeAtlas v","6.0.2",""]})})]}):Yn?d.jsx(yg,{children:d.jsxs("div",{className:"ca-app",children:[d.jsxs("nav",{className:"ca-nav-bar",children:[d.jsxs("div",{className:"ca-nav-breadcrumbs",children:[d.jsx("button",{className:"ca-back-btn",onClick:Pc,"aria-label":"Home",title:"Home",children:"⌂"}),e.stack.length>0&&e.index>0&&d.jsx("button",{className:"ca-back-btn",onClick:Ac,"aria-label":"Go back",children:"←"}),e.stack.length>0&&e.index<e.stack.length-1&&d.jsx("button",{className:"ca-back-btn",onClick:Tc,"aria-label":"Go forward",children:"→"}),(()=>{const F=e.stack.slice(0,e.index+1),W=F.length>4,re=W?[F[0],null,...F.slice(-2)]:F;return re.map((Z,se)=>{if(Z===null)return d.jsxs(H.Fragment,{children:[d.jsx("span",{className:"ca-breadcrumb-sep",children:"›"}),d.jsx("span",{className:"ca-breadcrumb-item",style:{opacity:.5},children:"..."})]},"ellipsis");const ce=W?se===0?0:F.length-(re.length-se):se;return d.jsxs(H.Fragment,{children:[se>0&&d.jsx("span",{className:"ca-breadcrumb-sep",children:"›"}),d.jsx("button",{className:`ca-breadcrumb-item${ce===e.index?" active":""}`,onClick:()=>Mc(ce),title:Z.label,"aria-label":`Navigate to ${Z.label}`,"aria-current":ce===e.index?"page":void 0,children:Z.label})]},ce)})})()]}),d.jsxs("div",{className:"ca-nav-git-diff",style:{display:"flex",alignItems:"center",gap:6},children:[d.jsx("button",{className:"ca-back-btn",style:{fontSize:10,padding:"2px 8px"},title:"Export diagram as SVG (copy to clipboard)","aria-label":"Export SVG",onClick:()=>{var D;const F=((D=document.querySelector(".react-flow__viewport"))==null?void 0:D.closest("svg"))??document.querySelector(".react-flow svg");if(F){const W=new XMLSerializer().serializeToString(F);navigator.clipboard.writeText(W).then(()=>{var re;fe({text:"SVG copied to clipboard",level:"info"}),setTimeout(()=>fe(null),2e3),(re=window.vscodeApi)==null||re.postMessage({type:"nodeClicked",nodeId:"__export",nodeType:"export"})}).catch(()=>{fe({text:"Clipboard access denied",level:"warning"}),setTimeout(()=>fe(null),2e3)})}else fe({text:"No diagram to export",level:"warning"}),setTimeout(()=>fe(null),2e3)},children:"Export ↓"}),S?d.jsxs(d.Fragment,{children:[d.jsx("span",{className:"ca-git-diff-badge",title:`${S.baseLabel} → ${S.headLabel}`,children:(()=>{const F=S.headLabel.match(/PR #(\d+)/);return`⎇ ${F?`PR #${F[1]} · `:""}${S.baseHash.slice(0,7)} → ${S.headHash.slice(0,7)}`})()}),!ze&&d.jsx("button",{className:"ca-git-diff-replay",title:"Replay changes layer by layer",onClick:()=>{var F;return(F=window.vscodeApi)==null?void 0:F.postMessage({type:"replayCurrentDiff"})},children:"▶ Replay"}),d.jsxs("button",{className:"ca-ai-review-btn",style:{fontSize:11,fontWeight:700,padding:"4px 12px",borderRadius:6,border:"none",cursor:_e?"wait":"pointer",display:"flex",alignItems:"center",gap:5,transition:"all 0.15s ease",background:_e?"var(--ca-warning)":Se?"var(--ca-success)":"var(--ca-accent)",color:"#fff",boxShadow:Se?"0 0 8px var(--ca-success)":"none",animation:_e?"ca-pulse 1.5s ease-in-out infinite":"none"},title:_e?Ht||"Generating review...":Se?"AI Review active — click to hide":"Run AI-powered code review on this diff",disabled:_e,onClick:()=>{var F;_e||(!Se&&!ee?(At(!0),Re("Preparing review..."),(F=window.vscodeApi)==null||F.postMessage({type:"requestAiReview"}),setTimeout(()=>{At(D=>(D&&Re(""),!1))},18e4)):Se?(rt(!1),Ne(!1)):(rt(!0),Ne(!0)))},children:[d.jsx("span",{style:{fontSize:13},children:_e?"...":Se?"✓":"✨"}),_e?"Reviewing":"Code Review",Se&&ee&&d.jsxs("span",{style:{fontSize:9,background:"rgba(0,0,0,0.25)",borderRadius:8,padding:"1px 5px",marginLeft:2},children:[((Da=ee.summary)==null?void 0:Da.error)>0&&`${ee.summary.error}E `,((ao=ee.summary)==null?void 0:ao.warning)>0&&`${ee.summary.warning}W `,((Ba=ee.summary)==null?void 0:Ba.info)>0&&`${ee.summary.info}I`,((Ha=ee.summary)==null?void 0:Ha.total)===0&&"Clean"]})]}),(_e||Se&&ee)&&d.jsx("span",{style:{fontSize:9,opacity:.7,maxWidth:200,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:_e?Ht||"Analyzing...":((Wa=ee==null?void 0:ee.failures)==null?void 0:Wa.length)>0?`${ee.failures.length} batch failed`:((Ua=ee==null?void 0:ee.summary)==null?void 0:Ua.total)===0?"No issues found":`${ee.summary.total} findings`}),d.jsx("button",{className:"ca-git-diff-clear",title:"Reset to live diff view",onClick:()=>{var F;return(F=window.vscodeApi)==null?void 0:F.postMessage({type:"clearGitDiff"})},children:"✕ Reset"})]}):d.jsx("button",{className:"ca-git-diff-btn",title:"Compare two git commits across all diagram layers",onClick:()=>{var F;return(F=window.vscodeApi)==null?void 0:F.postMessage({type:"requestGitDiff"})},children:"⎇ Compare Commits"})]})]}),(_e||Se)&&d.jsx("div",{className:"ca-ai-review-status",style:{display:"flex",alignItems:"center",gap:8,padding:"4px 16px",fontSize:10,background:"var(--ca-surface)",borderBottom:"1px solid var(--ca-border)",flexWrap:"wrap",minHeight:24},children:_e?d.jsxs(d.Fragment,{children:[d.jsx("span",{style:{fontWeight:700,color:"var(--ca-warning)"},children:"Reviewing..."}),d.jsx("span",{style:{opacity:.7},children:Ht})]}):ee?d.jsxs(d.Fragment,{children:[ee.summary.total===0&&((Va=ee.failures)==null?void 0:Va.length)===0?d.jsx("span",{style:{fontWeight:700,color:"var(--ca-success)"},children:"No issues found"}):ee.summary.total===0&&((Ga=ee.failures)==null?void 0:Ga.length)>0?d.jsxs("span",{style:{fontWeight:700,color:"var(--ca-danger)"},children:["Review failed (",ee.failures.length," batch",ee.failures.length>1?"es":"",")"]}):d.jsxs("span",{style:{fontWeight:700,color:"var(--ca-accent)"},children:[ee.items.filter(F=>F.status==="open").length," open",ee.items.filter(F=>F.status==="resolved").length>0&&` / ${ee.items.filter(F=>F.status==="resolved").length} resolved`,ee.items.filter(F=>F.status==="ignored").length>0&&` / ${ee.items.filter(F=>F.status==="ignored").length} ignored`]}),ee.summary.error>0&&d.jsxs("span",{style:{fontSize:9,fontWeight:700,padding:"0 5px",borderRadius:8,background:"var(--ca-danger)",color:"#fff"},children:[ee.summary.error," error",ee.summary.error>1?"s":""]}),ee.summary.warning>0&&d.jsxs("span",{style:{fontSize:9,fontWeight:700,padding:"0 5px",borderRadius:8,background:"var(--ca-warning)",color:"#fff"},children:[ee.summary.warning," warning",ee.summary.warning>1?"s":""]}),ee.summary.info>0&&d.jsxs("span",{style:{fontSize:9,fontWeight:700,padding:"0 5px",borderRadius:8,background:"var(--ca-accent)",color:"#fff"},children:[ee.summary.info," info"]}),(()=>{var re;const F=new Set;for(const Z of ee.items??[])(re=Z.anchor)!=null&&re.filePath&&F.add(Z.anchor.filePath.split("/").pop()||Z.anchor.filePath);for(const Z of Object.keys(ee.byGraph??{})){const se=Z.replace(/^(file|flow|sequence):/,"").split(":")[0];se&&F.add(se.split("/").pop()||se)}if(F.size===0)return null;const D=[...F].slice(0,8),W=F.size>8?` +${F.size-8} more`:"";return d.jsxs("span",{style:{opacity:.6,marginLeft:4},children:["Files: ",D.join(", "),W]})})(),((Ka=ee.failures)==null?void 0:Ka.length)>0&&d.jsxs("span",{style:{color:"var(--ca-warning)",marginLeft:"auto"},children:[ee.failures.some(F=>F.isTimeout)?"Timeout":"Failed",":"," ",ee.failures.map(F=>F.layer).join(", ")]}),d.jsxs("span",{style:{opacity:.4,marginLeft:"auto"},children:[Math.round(ee.meta.durationMs/1e3),"s"]})]}):null}),d.jsx(Hq,{activeMode:bt,currentTheme:A,explorerVisible:R,onExplorerToggle:()=>_(F=>!F),onAskAI:()=>document.dispatchEvent(new CustomEvent("focusNlQuery")),onCommentsToggle:()=>{oe(F=>{const D=!F;return D&&Kt("comments_panel_opened",{open_count:We.filter(W=>W.status==="open").length}),D})},commentCount:We.filter(F=>F.status==="open").length}),ue&&d.jsx("div",{className:`ca-home-toast${ue.level==="error"?" ca-toast-error":ue.level==="warning"?" ca-toast-warning":""}`,children:ue.text}),j!=="connected"&&window.__codeAtlasBrowserMode&&d.jsx("div",{className:"ca-ws-banner",role:"status","aria-live":"polite",children:j==="connecting"?"Connecting to CodeAtlas extension…":"Extension disconnected. Diagrams won't update until the connection is restored."}),qa,d.jsx(Wq,{visible:R,onToggle:()=>_(F=>!F)}),d.jsxs("div",{className:"ca-diagram-container",children:[d.jsx(yg,{children:d.jsx(hq,{graph:Yn,mode:bt,onNodeClick:Fa,onNodeRightClick:Lc,onEdgeClick:$c,impactData:a,highlightedNodes:l,highlightReasons:u,commentCounts:me,aiReviews:Nc,onImpactClose:()=>{s(null),c({}),f({})},onImpactNavigate:zc})}),X&&!ze&&d.jsxs("div",{style:{position:"absolute",bottom:40,left:"50%",transform:"translateX(-50%)",background:"var(--ca-surface)",border:"1px solid var(--ca-accent)",borderRadius:"var(--ca-radius-lg)",padding:"6px 14px",fontSize:"var(--ca-font-body)",color:"var(--ca-accent)",display:"flex",alignItems:"center",gap:8,zIndex:25,boxShadow:"var(--ca-shadow-md)"},children:[d.jsxs("span",{children:["▶ Replay ",X.index+1,"/",X.total]}),X.functionName&&d.jsx("span",{style:{color:"var(--ca-text)"},children:X.functionName}),d.jsx("span",{style:{color:"var(--ca-text-muted)"},children:X.layer}),d.jsx("button",{onClick:()=>{var F;return(F=window.vscodeApi)==null?void 0:F.postMessage({type:"stopReplay"})},style:{background:"var(--ca-danger)",border:"none",borderRadius:4,color:"#fff",padding:"2px 8px",cursor:"pointer",fontSize:11},children:"Stop"})]}),ze&&d.jsx(iD,{step:ze.step,commitInfo:ze.commitInfo,paused:ze.paused,onControl:F=>{var D;return(D=window.vscodeApi)==null?void 0:D.postMessage({type:"timelineReplayControl",action:F})},onSpeedChange:F=>{var D;return(D=window.vscodeApi)==null?void 0:D.postMessage({type:"timelineReplaySpeed",speedMs:F})}})]}),d.jsx(Yq,{entries:Qe,onNavigate:F=>{var D;return(D=window.vscodeApi)==null?void 0:D.postMessage({type:"navigateToChangeEntry",entryId:F})},onPlayPause:F=>{var D;return(D=window.vscodeApi)==null?void 0:D.postMessage({type:"playbackChangeLog",action:F})},playing:!!X}),d.jsx(dD,{comments:We,visible:nt,onClose:()=>oe(!1),onNavigate:F=>{var D,W,re,Z,se,ce;Kt("comment_navigated",{layer:String(F.layer??"unknown"),has_symbol:!!((D=F.anchor)!=null&&D.symbol)}),(W=F.anchor)!=null&&W.filePath&&((re=F.anchor)!=null&&re.symbol)&&(F.layer==="flow"||F.layer==="file")?(Z=window.vscodeApi)==null||Z.postMessage({type:F.layer==="flow"?"openFunctionFlow":"openFileDiagram",filePath:F.anchor.filePath,functionName:F.anchor.symbol}):(se=F.anchor)!=null&&se.filePath&&((ce=window.vscodeApi)==null||ce.postMessage({type:"openFileDiagram",filePath:F.anchor.filePath}))},onResolve:F=>{var D;(D=window.vscodeApi)==null||D.postMessage({type:"resolveComment",commentId:F})}}),Ze&&ee&&d.jsx(vD,{data:ee,visible:Ze,onClose:()=>{Ne(!1),dt(null)},onNavigate:F=>{var D,W,re,Z,se;(D=F.anchor)!=null&&D.filePath&&((W=F.anchor)!=null&&W.symbol)?(re=window.vscodeApi)==null||re.postMessage({type:"openFunctionFlow",filePath:F.anchor.filePath,functionName:F.anchor.symbol}):(Z=F.anchor)!=null&&Z.filePath&&((se=window.vscodeApi)==null||se.postMessage({type:"openFileDiagram",filePath:F.anchor.filePath}))},scope:nn??void 0,onClearScope:()=>dt(null)}),De&&d.jsx(yD,{anchor:De.anchor,findings:De.findings,onClose:()=>Wt(null),onOpenInPanel:F=>{var W;Wt(null),Ne(!0);const D=De.findings.find(re=>re.id===F);(W=D==null?void 0:D.bindings)!=null&&W[0]&&dt({graphId:D.bindings[0].graphId})},onUpdateStatus:(F,D)=>{var W;(W=window.vscodeApi)==null||W.postMessage({type:"updateAiFindingStatus",findingId:F,status:D}),Wt(null)}}),y&&d.jsxs("div",{className:"ca-context-menu",role:"menu","aria-label":"Node context menu",style:{left:Math.min(y.x,window.innerWidth-210),top:Math.min(y.y,window.innerHeight-120)},onMouseDown:F=>F.stopPropagation(),children:[!window.__codeAtlasBrowserMode&&d.jsx("div",{className:"ca-context-menu-item",onClick:()=>{x(null),Fa(y.nodeId,y.nodeData,{metaKey:!0})},children:"Open in new window"}),((so=(Ya=y.nodeData)==null?void 0:Ya.anchor)==null?void 0:so.filePath)&&d.jsxs(d.Fragment,{children:[d.jsx("div",{className:"ca-context-menu-sep"}),d.jsx("div",{className:"ca-context-menu-item",onClick:()=>{var F,D;x(null),(D=window.vscodeApi)==null||D.postMessage({type:"requestImpact",nodeId:y.nodeId,filePath:y.nodeData.anchor.filePath,functionName:(F=y.nodeData.anchor)==null?void 0:F.symbol})},children:"Impact analysis"})]}),d.jsx("div",{className:"ca-context-menu-sep"}),d.jsx("div",{className:"ca-context-menu-item",onClick:()=>{var D,W;x(null);const F=prompt("Add comment:");F&&((W=window.vscodeApi)==null||W.postMessage({type:"addComment",targetId:y.nodeId,targetType:"node",body:F,layer:bt,anchor:(D=y.nodeData)==null?void 0:D.anchor}),Ge(re=>({...re,[y.nodeId]:(re[y.nodeId]??0)+1})))},children:"Add comment"}),(()=>{const F=We.filter(D=>{var W,re,Z,se,ce,U;return D.targetId===y.nodeId||((W=D.anchor)==null?void 0:W.filePath)&&((re=D.anchor)==null?void 0:re.symbol)&&((se=(Z=y.nodeData)==null?void 0:Z.anchor)==null?void 0:se.filePath)===D.anchor.filePath&&((U=(ce=y.nodeData)==null?void 0:ce.anchor)==null?void 0:U.symbol)===D.anchor.symbol});return F.length===0?null:d.jsxs("div",{className:"ca-context-menu-item",onClick:()=>{x(null),oe(!0)},children:["View ",F.length," comment",F.length>1?"s":""]})})()]}),d.jsx("footer",{className:"ca-app-footer","aria-label":"CodeAtlas footer",children:d.jsxs("span",{className:"ca-app-footer-version",children:["CodeAtlas v","6.0.2",""]})})]})}):d.jsx("div",{className:"ca-loading-screen",children:i?d.jsxs("div",{children:[d.jsx("span",{className:"ca-loading-spinner"}),d.jsx("p",{children:i.message}),d.jsx("div",{style:{width:200,height:4,background:"var(--ca-border, #3b4261)",borderRadius:2,marginTop:8},children:d.jsx("div",{style:{width:`${Math.round(i.progress*100)}%`,height:"100%",background:"var(--ca-accent)",borderRadius:2,transition:"width 0.3s ease"}})})]}):d.jsx("span",{children:"Connecting to CodeAtlas..."})})}kg.createRoot(document.getElementById("root")).render(d.jsx(H.StrictMode,{children:d.jsx(bD,{})}));
|
|
96
|
+
${b}`,source:"ai"}),l(null),u(""),h("Comment added"),setTimeout(()=>h(null),2200))}if(!e||t.length===0)return null;const S=340,m=Math.min(e.x+14,window.innerWidth-S-16),y=Math.min(e.y,window.innerHeight-200);return d.jsxs("div",{ref:a,role:"dialog","aria-label":"AI review finding",style:{position:"fixed",left:m,top:y,width:S,maxHeight:"70vh",overflowY:"auto",background:"var(--ca-surface, #131316)",border:"1.5px solid var(--ca-accent, #6c72cb)",borderRadius:10,padding:0,boxShadow:"0 12px 32px rgba(0,0,0,0.6)",zIndex:50},children:[t.map(x=>{const b=hE[x.severity]??hE.info,C=Array.from(new Set(x.bindings.map(N=>N.layer))).join(", ");return d.jsxs("div",{style:{padding:"12px 14px",borderTop:"1px solid var(--ca-border, #232429)"},children:[d.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:6},children:[d.jsxs("span",{style:{fontSize:10,fontWeight:600,padding:"1px 6px",borderRadius:3,background:b.bg,color:b.fg},children:["● ",x.severity]}),d.jsx("span",{style:{fontSize:9,fontWeight:700,padding:"1px 6px",borderRadius:4,background:"linear-gradient(135deg, #6c72cb 0%, #8b5cf6 100%)",color:"white"},children:"AI"}),d.jsx("span",{style:{fontSize:10,color:"var(--ca-text-faint, #6b6f78)"},children:x.category})]}),d.jsx("div",{style:{fontWeight:600,fontSize:13,marginBottom:6},children:x.title}),d.jsx("div",{style:{fontSize:12,color:"var(--ca-text-dim, #9ca0a8)",lineHeight:1.55},children:x.body}),C&&d.jsxs("div",{style:{marginTop:8,fontSize:10,color:"var(--ca-text-faint, #6b6f78)"},children:["also visible on: ",d.jsx("strong",{children:C})]}),d.jsxs("div",{style:{display:"flex",gap:6,marginTop:10,flexWrap:"wrap"},children:[d.jsx("button",{"data-testid":"ai-finding-open-in-panel",onClick:()=>r(x.id),style:pE,children:"Open in panel"}),d.jsx("button",{"data-testid":"ai-finding-resolve",onClick:()=>i(x.id,"resolved"),style:vi,children:"✓ Resolve"}),d.jsx("button",{"data-testid":"ai-finding-ignore",onClick:()=>i(x.id,"ignored"),style:vi,children:"🚫 Ignore"}),d.jsx("button",{"data-testid":"ai-finding-comment",onClick:()=>l(x.id),style:vi,children:"💬 Comment"}),d.jsx("button",{"data-testid":"ai-finding-copy",onClick:()=>v(x),style:vi,children:"📋 Copy"})]}),s===x.id&&d.jsxs("div",{style:{marginTop:8},children:[d.jsx("textarea",{"data-testid":"ai-finding-comment-textarea",autoFocus:!0,value:c,onChange:N=>u(N.target.value),rows:2,placeholder:"Your comment…",style:{width:"100%",boxSizing:"border-box",background:"var(--ca-bg, #0a0a0b)",color:"var(--ca-text, #ececef)",border:"1px solid var(--ca-border, #232429)",borderRadius:6,padding:"6px 8px",fontSize:12,resize:"vertical",minHeight:40,outline:"none",fontFamily:"inherit"},onKeyDown:N=>{N.key==="Escape"&&l(null),(N.metaKey||N.ctrlKey)&&N.key==="Enter"&&g(x)}}),d.jsxs("div",{style:{display:"flex",justifyContent:"flex-end",gap:6,marginTop:4},children:[d.jsx("button",{onClick:()=>l(null),style:vi,children:"Cancel"}),d.jsx("button",{"data-testid":"ai-finding-comment-submit",onClick:()=>g(x),style:pE,children:"Save"})]})]})]},x.id)}),d.jsx("button",{"aria-label":"Close",onClick:n,style:{position:"absolute",top:6,right:8,background:"transparent",border:"none",color:"var(--ca-text-faint, #6b6f78)",cursor:"pointer",fontSize:16,padding:2},children:"×"}),f&&d.jsx("div",{"data-testid":"ai-finding-popover-flash",role:"status",style:{position:"absolute",bottom:8,left:"50%",transform:"translateX(-50%)",background:f.startsWith("Copy failed")?"#7f1d1d":"var(--ca-accent, #6c72cb)",color:"white",fontSize:11,padding:"4px 10px",borderRadius:6,whiteSpace:"nowrap"},children:f})]})}const vi={fontSize:11,padding:"4px 10px",borderRadius:4,background:"var(--ca-surface-2, #1a1a1f)",color:"var(--ca-text-dim, #9ca0a8)",border:"1px solid var(--ca-border, #232429)",cursor:"pointer"},pE={...vi,background:"var(--ca-accent, #6c72cb)",color:"white",border:"1px solid transparent"};function Cg(e,t,n,r,i){var o;if(n&&r){const a=new URLSearchParams({file:e});t.line!=null&&a.set("line",String(t.line)),t.column!=null&&a.set("col",String(t.column)),t.charOffset!=null&&a.set("offset",String(t.charOffset)),i&&a.set("cid",i),window.location.href=`${n}://${r}/open-source?${a.toString()}`}else(o=window.vscodeApi)==null||o.postMessage({type:"openSource",filePath:e,...t.line!=null&&{line:t.line},...t.column!=null&&{column:t.column},...t.charOffset!=null&&{charOffset:t.charOffset}})}function gE(e){if(e==="microservice:workspace")return"#/system-design";if(e==="feature:workspace")return"#/features";if(e.startsWith("feature:"))return`#/features/${e.slice(8)}`;if(e.startsWith("api-list:"))return`#/apis/${e.slice(9)}`;if(e.startsWith("sequence:"))return`#/sequence/${e.slice(9)}`;if(e.startsWith("file:"))return`#/file/${e.slice(5)}`;if(e.startsWith("flow:")){const t=e.slice(5),n=t.lastIndexOf(":");return n>0?`#/flow/${t.slice(0,n)}/${t.slice(n+1)}`:`#/flow/${t}`}return e==="health:report"?"#/health":`#/diagram/${encodeURIComponent(e)}`}function jg(e){let t=e.replace(/^#\/?/,"");try{t=decodeURIComponent(t)}catch{}if(!t||t==="home")return null;if(t==="system-design")return{route:"system-design"};if(t==="health")return{route:"health"};if(t==="features")return{route:"features"};const n=t.match(/^features\/(.+)$/);if(n)return{route:"features",param:n[1]};const r=t.match(/^apis\/(.+)$/);if(r)return{route:"apis",param:r[1]};const i=t.match(/^sequence\/(.+)$/);if(i)return{route:"sequence",param:i[1]};const o=t.match(/^file\/(.+)$/);if(o)return{route:"file",param:o[1]};const a=t.match(/^flow\/(.+)[\/:]([^\/:]+)$/);return a?{route:"flow",param:a[1],param2:a[2]}:null}const mE=50;function AD(e,t){switch(t.type){case"push":{const n=e.stack.findIndex(o=>o.graphId===t.entry.graphId);if(n>=0&&n<=e.index){const o=e.stack.slice(0,n+1);return o[n]={...o[n],graph:t.entry.graph},{stack:o,index:n}}const r=[...e.stack.slice(0,e.index+1),t.entry],i=r.length>mE?r.slice(-mE):r;return{stack:i,index:i.length-1}}case"go":return{...e,index:Math.max(0,Math.min(t.index,e.stack.length-1))};case"updateByGraphId":return{...e,stack:e.stack.map(n=>n.graphId===t.graphId?{...n,graph:t.graph}:n)};case"clear":return{stack:[],index:-1}}}function ID(e,t,n){if(!e)return!1;const r="codeatlas:workspaceRoot",i=t.getItem(r);return i&&i!==e?(t.setItem(r,e),n(),!0):(i||t.setItem(r,e),!1)}function TD(){var lo,Wa,Ua,Va,Ga,Ka,Ya,Xa,Qa,co,Za;const[e,t]=w.useReducer(AD,{stack:[],index:-1}),[n,r]=w.useState(!0),[i,o]=w.useState(null),[a,s]=w.useState(null),[l,c]=w.useState({}),[u,f]=w.useState({}),[h,p]=w.useState(!1),[v,g]=w.useState(null),[S,m]=w.useState(!1),[y,x]=w.useState(null),[b,C]=w.useState(null),[N,E]=w.useState(!1),[R,T]=w.useState(()=>!window.__codeAtlasBrowserMode?!1:jg(window.location.hash)===null),[_,I]=w.useState(null),[z,$]=w.useState(null),[j,F]=w.useState("connecting"),[k,L]=w.useState(null),[M,P]=w.useState("dark"),[A,q]=w.useState(null),[D,W]=w.useState(null),[V,J]=w.useState(null),[te,se]=w.useState(null),[ue,ge]=w.useState(null),[ve,Ke]=w.useState({}),[Ue,dt]=w.useState([]),[it,oe]=w.useState(!1),[Ze,re]=w.useState([]),[Q,Re]=w.useState(null),[ft,bt]=w.useState(null),[Oe,we]=w.useState(null),[Se,ot]=w.useState(!1),[ne,Nt]=w.useState(null),[_e,At]=w.useState(!1),[Bt,Ne]=w.useState(""),[Je,Ae]=w.useState(!1),[Be,Ht]=w.useState(null),[tn,ht]=w.useState(null);w.useEffect(()=>{function O(B){const U=B.detail;U!=null&&U.graphId&&(ht({graphId:U.graphId}),Ae(!0))}return document.addEventListener("ca:openAiReviewPanel",O),()=>document.removeEventListener("ca:openAiReviewPanel",O)},[]),w.useEffect(()=>{function O(B){const U=B.detail;U!=null&&U.anchor&&Array.isArray(U==null?void 0:U.findings)&&U.findings.length>0&&Ht({anchor:U.anchor,findings:U.findings})}return document.addEventListener("ca:openAiFindingPopover",O),()=>document.removeEventListener("ca:openAiFindingPopover",O)},[]);const nn=w.useRef(!1),si=w.useRef(!1),It=w.useRef(R);w.useEffect(()=>{It.current=R},[R]),w.useEffect(()=>{var U,ie;const O=ee=>{const ae=ee.detail;ae&&F(ae)};window.addEventListener("ws-status",O);const B=(ie=(U=window.vscodeApi)==null?void 0:U.getConnectionState)==null?void 0:ie.call(U);return B&&F(B),()=>window.removeEventListener("ws-status",O)},[]),w.useEffect(()=>{const O=()=>oe(!0);return window.addEventListener("codeatlas:open-comments",O),()=>window.removeEventListener("codeatlas:open-comments",O)},[]);const Ir=w.useRef(null),Da=w.useRef(_);w.useEffect(()=>{Da.current=_},[_]);const pe=e.index>=0?e.stack[e.index]:null;Ir.current=(pe==null?void 0:pe.graphId)??null;const pt=(pe==null?void 0:pe.mode)??window.initialMode??"file",Yn=(pe==null?void 0:pe.graph)??null,li=w.useMemo(()=>{var ee,ae,ce,G;const O=_==null?void 0:_.services;if(!O||O.length<2||!pe)return null;const B=pe.graphId;if(B==="microservice:workspace"||B==="feature:workspace")return null;if(B.startsWith("feature:service:")){const Ee=B.slice(8);return((ee=O.find(X=>X.id===Ee))==null?void 0:ee.name)??null}let U="";if(B.startsWith("file:"))U=B.slice(5);else if(B.startsWith("sequence:"))U=B.slice(9).split(":")[0];else if(B.startsWith("flow:"))U=B.slice(5).split(":")[0];else if(B.startsWith("api-list:")){const Ee=(ce=(ae=pe.graph)==null?void 0:ae.meta)==null?void 0:ce.files;U=(Ee==null?void 0:Ee[0])??""}return U?((G=O.filter(Ee=>Ee.rootPath&&U.startsWith(Ee.rootPath+"/")).sort((Ee,X)=>X.rootPath.length-Ee.rootPath.length)[0])==null?void 0:G.name)??null:null},[_==null?void 0:_.services,pe]),Tc=w.useMemo(()=>{var ie;if(!Se||!ne||!Yn)return;const O=Yn.graphId,B=((ie=ne.byGraph)==null?void 0:ie[O])??[];if(B.length===0)return;const U={};for(const ee of B)U[ee.targetId]||(U[ee.targetId]=[]),U[ee.targetId].push(ee);return U},[Se,ne,Yn]);w.useEffect(()=>{var B;if(!window.location.hash||window.location.hash==="#"||window.location.hash==="#/"||window.location.hash==="#/home"){T(!0),document.title="CodeAtlas";return}const O=jg(window.location.hash);O&&(T(!1),It.current=!1,(B=window.vscodeApi)==null||B.postMessage({type:"requestRoute",route:O.route,param:O.param,param2:O.param2}))},[]);const Xn=w.useRef(null);w.useEffect(()=>{const O=()=>{var U;if(nn.current){nn.current=!1;return}const B=jg(window.location.hash);B===null?(T(!0),document.title="CodeAtlas"):(T(!1),It.current=!1,(U=window.vscodeApi)==null||U.postMessage({type:"requestRoute",route:B.route,param:B.param,param2:B.param2}),Xn.current&&clearTimeout(Xn.current),Xn.current=setTimeout(()=>{r(!1),pe||T(!0)},5e3))};return window.addEventListener("hashchange",O),()=>window.removeEventListener("hashchange",O)},[]),w.useEffect(()=>{var U,ie,ee,ae;const O=ce=>{var Ee;const G=ce.data;switch(G.type){case"navigateTo":{if(si.current=!0,Xn.current&&(clearTimeout(Xn.current),Xn.current=null),r(!1),It.current)break;if(Ir.current===G.graphId?t({type:"updateByGraphId",graphId:G.graphId,graph:G.graph}):t({type:"push",entry:{graphId:G.graphId,mode:G.mode,graph:G.graph,label:G.label}}),!It.current){T(!1),document.title=`CodeAtlas — ${G.label}`;{const X=gE(G.graphId).slice(1);window.location.hash.replace(/^#/,"")!==X&&(nn.current=!0,window.location.hash=X),localStorage.setItem("codeatlas:lastRoute","#"+X)}}break}case"updateGraph":t({type:"updateByGraphId",graphId:G.graphId,graph:G.graph}),r(!1),window.__codeAtlasBrowserMode&&(ge({text:"Diagram updated",level:"info"}),setTimeout(()=>ge(null),1500));break;case"setMode":break;case"setTheme":document.documentElement.dataset.theme=G.theme==="light"?"light":"",P(G.theme);break;case"initProgress":G.phase==="complete"?(o(null),r(!1)):o({phase:G.phase,progress:G.progress,message:G.message});break;case"showImpact":s(G.impact);break;case"highlightNodes":{const X={},vn={};for(const Wt of G.highlights??[]){const uo=`${Wt.filePath}::${Wt.functionName}`;X[uo]=Wt.impactKind,Wt.matchReason&&(vn[uo]=Wt.matchReason)}c(X),f(vn);break}case"setGitDiffContext":C({baseHash:G.baseHash,headHash:G.headHash,baseLabel:G.baseLabel,headLabel:G.headLabel});break;case"clearGitDiffContext":C(null),c({});break;case"highlightNode":break;case"clearHighlights":c({}),f({}),m(!1),g(null);break;case"nlQueryResult":g(G.result),G.result.matchCount>0&&m(!0);break;case"nlQueryLoading":p(G.loading);break;case"aiReviewResult":Nt(G.result),ot(!0),Ae(!0);break;case"aiReviewLoading":At(G.loading),G.progress&&Ne(G.progress),G.loading||Ne("");break;case"aiReviewCleared":Nt(null),ot(!1),Ae(!1),Ne("");break;case"aiFindings":{Array.isArray(G.items)?W0(G.items,G.counts):G.counts&&pu(G.counts);break}case"aiFindingAdded":{Array.isArray(G.findings)&&rI(G.findings);break}case"aiFindingUpdated":{G.finding&&iI(G.finding),G.counts&&pu(G.counts);break}case"aiReviewComplete":{G.counts&&pu(G.counts);break}case"aiFindingsStale":{const X=G.findingIds;Array.isArray(X)&&oI(X);break}case"aiFindingsCleared":{W0([],{byGraph:{},byEntryPoint:{},bySeverity:{error:0,warning:0,info:0},total:0});break}case"cascadeRefresh":{const X=Ir.current;if(X)try{(Ee=window.vscodeApi)==null||Ee.postMessage({type:"requestRoute",graphId:X})}catch{}break}case"workspaceInfo":ID(G.workspaceRoot,window.sessionStorage,()=>window.location.reload()),I(G);{const X=window.location.hash;(!X||X==="#"||X==="#/"||X==="#/home")&&r(!1)}break;case"clientId":$(G.clientId);break;case"githubAuthCompleted":{const X=G;L(X.status==="success"?{status:"success",user:X.user}:{status:"failure",error:X.error});try{window.focus()}catch{}break}case"showCommitPicker":q({commits:G.commits,mode:G.mode});break;case"showPrPicker":W({owner:G.owner,repo:G.repo,prs:G.prs??[],isReplay:G.isReplay});break;case"showBranchPicker":se({branches:G.branches,isReplay:G.isReplay});break;case"showSearchPicker":J({title:"Search",placeholder:"Search APIs, files, clusters, services...",items:G.items,kind:"search"});break;case"showFunctionPicker":J({title:"Select Function",placeholder:"Search by function name or file...",items:G.functions.map(X=>({id:`${X.filePath}:${X.name}`,label:X.name,description:X.filePath,kind:"Function"})),kind:"function"});break;case"showFilePicker":J({title:"Select File for Impact Analysis",placeholder:"Search by file name or path...",items:G.files.map(X=>({id:X.path,label:X.label,description:X.path,kind:"File"})),kind:"impact"});break;case"openUrl":G.url&&(window.location.href=G.url);break;case"showComments":dt(G.comments??[]);break;case"showNotification":ge({text:G.message,level:G.level}),setTimeout(()=>ge(null),G.level==="error"?5e3:3e3);break;case"changeLogEntry":re(X=>[...X,G.entry]);break;case"changeLogFull":re(G.entries??[]);break;case"replayStep":Re(G.step);break;case"replayStarted":Re({index:0,total:G.totalSteps,functionName:"",layer:""});break;case"replayStopped":Re(null);break;case"showCommitRangePicker":bt({commits:G.commits,branches:G.branches,currentBranch:G.currentBranch,baselineHash:G.baselineHash});break;case"timelineReplayStep":we(X=>X?{...X,step:G.step}:{step:G.step,commitInfo:null,paused:!1});break;case"timelineReplayCommitStart":we(X=>({step:(X==null?void 0:X.step)??null,commitInfo:{index:G.index,total:G.total,hash:G.hash,subject:G.subject},paused:(X==null?void 0:X.paused)??!1})),T(!1);break;case"timelineReplayEnd":we(null);break;case"timelineReplayPaused":we(X=>X?{...X,paused:!0}:null);break;case"timelineReplayResumed":we(X=>X?{...X,paused:!1}:null);break;case"downloadFile":{const X=new Blob([G.content],{type:G.mimeType}),vn=URL.createObjectURL(X),Wt=document.createElement("a");Wt.href=vn,Wt.download=G.filename,Wt.click(),URL.revokeObjectURL(vn);break}}};window.addEventListener("message",O),(ie=(U=window.vscodeApi)==null?void 0:U.flushIncoming)==null||ie.call(U),(ee=window.vscodeApi)==null||ee.postMessage({type:"ready"}),(ae=window.vscodeApi)==null||ae.postMessage({type:"requestChangeLog"});const B=setTimeout(()=>{r(!1),si.current||T(!0)},8e3);return()=>{window.removeEventListener("message",O),clearTimeout(B)}},[]),w.useEffect(()=>{if(!y)return;const O=()=>x(null);return document.addEventListener("mousedown",O),()=>document.removeEventListener("mousedown",O)},[y]),w.useEffect(()=>{var O;pe&&((O=window.vscodeApi)==null||O.postMessage({type:"panelNavigated",graphId:pe.graphId}))},[pe==null?void 0:pe.graphId]),w.useCallback(O=>{var B;(B=window.vscodeApi)==null||B.postMessage({type:"nlQuery",query:O})},[]),w.useCallback(()=>{var O;(O=window.vscodeApi)==null||O.postMessage({type:"clearNlQuery"}),m(!1),g(null),c({}),f({})},[]);const Pc=w.useCallback(O=>{var B;(B=window.vscodeApi)==null||B.postMessage({type:"setLlmConfig",...O})},[]),Mc=w.useCallback(()=>{var O;if(e.index<=0){so();return}if(e.index>0){const B=e.stack[e.index-1];if(t({type:"go",index:e.index-1}),B!=null&&B.graphId){const U=B.graphId,ie=B.mode,ee=(Ee,X)=>Ee.startsWith(X)?Ee.slice(X.length):Ee;let ae="file",ce="",G;if(ie==="microservice")ae="system-design",ce="";else if(ie==="feature"){ae="features";const Ee=ee(U,"feature:");ce=Ee==="workspace"?"":Ee}else if(ie==="api-list")ae="apis",ce=ee(U,"api-list:");else if(ie==="sequence")ae="sequence",ce=ee(U,"sequence:");else if(ie==="file")ae="file",ce=ee(U,"file:");else if(ie==="flow"){ae="flow";const X=ee(U,"flow:").match(/^(.+?\.[a-zA-Z0-9]{1,6}):(.+)$/);if(X)ce=X[1],G=X[2];else return}(O=window.vscodeApi)==null||O.postMessage({type:"requestRoute",route:ae,param:ce,param2:G})}}},[e.index,e.stack]),Lc=w.useCallback(()=>{e.index<e.stack.length-1&&t({type:"go",index:e.index+1})},[e.index,e.stack.length]),so=w.useCallback(()=>{t({type:"clear"}),T(!0),window.location.hash.replace(/^#/,"")!=="/home"&&(nn.current=!0,window.location.hash="/home"),localStorage.setItem("codeatlas:lastRoute","#/home"),document.title="CodeAtlas"},[]),$c=w.useCallback(O=>{t({type:"go",index:O})},[]);w.useEffect(()=>{if(pe&&!R){document.title=`CodeAtlas — ${pe.label}`;const O=gE(pe.graphId);"#"+window.location.hash.replace(/^#/,"")!==O&&(nn.current=!0,window.location.hash=O.slice(1))}},[pe==null?void 0:pe.graphId,R]);const Ba=w.useCallback((O,B,U)=>{var ae,ce,G,Ee,X,vn,Wt,uo,Ey,ky,Cy,jy,Ry,Ny,Ay,Iy;if(!window.vscodeApi)return;const ie=!!(U!=null&&U.metaKey||U!=null&&U.ctrlKey),ee=B==null?void 0:B.anchor;if(pt==="microservice"&&B.type==="service"&&!((ae=B.meta)!=null&&ae.external)){window.vscodeApi.postMessage({type:"openFeatureForService",serviceId:((ce=B.meta)==null?void 0:ce.serviceId)??"",newWindow:ie});return}if(pt==="feature"&&B.type==="cluster"){const rn=U==null?void 0:U.target,Tr=((G=rn==null?void 0:rn.dataset)==null?void 0:G.subclusterId)??((X=(Ee=rn==null?void 0:rn.closest)==null?void 0:Ee.call(rn,"[data-subcluster-id]"))==null?void 0:X.getAttribute("data-subcluster-id"));if(Tr&&((Wt=(vn=B.meta)==null?void 0:vn.subClusters)!=null&&Wt[Tr])){const ci=B.meta.subClusters[Tr];window.vscodeApi.postMessage({type:"openApiListForCluster",clusterId:Tr,serviceId:((uo=B.meta)==null?void 0:uo.serviceId)??"",subClusterFiles:ci.files,newWindow:ie})}else window.vscodeApi.postMessage({type:"openApiListForCluster",clusterId:((Ey=B.meta)==null?void 0:Ey.clusterId)??"",serviceId:((ky=B.meta)==null?void 0:ky.serviceId)??"",newWindow:ie});return}if(pt==="api-list"){B.type==="api"&&((Cy=B.meta)!=null&&Cy.apiId)?window.vscodeApi.postMessage({type:"openSequenceForApi",apiId:B.meta.apiId,newWindow:ie}):B.type==="file"&&(ee!=null&&ee.filePath)&&window.vscodeApi.postMessage({type:"openFileDiagram",filePath:ee.filePath,newWindow:ie});return}if(!ee){window.vscodeApi.postMessage({type:"nodeClicked",nodeId:O,nodeType:B.type});return}if(B.type==="participant"&&pt==="sequence")ee.filePath&&window.vscodeApi.postMessage({type:"openFileDiagram",filePath:ee.filePath,newWindow:ie});else if(B.type==="function"&&pt==="file")ee.filePath&&ee.symbol&&window.vscodeApi.postMessage({type:"openFunctionFlow",filePath:ee.filePath,functionName:ee.symbol,newWindow:ie});else if(pt==="flow"&&ee.filePath){const rn=(jy=ee.span)==null?void 0:jy.start;let Tr=rn;const ci=(Ry=B==null?void 0:B.meta)==null?void 0:Ry.statements;if(ci&&ci.length>0&&U){const Dc=U.target,Ty=(Ny=Dc.closest)==null?void 0:Ny.call(Dc,"[data-stmt-index]");if(Ty){const Py=parseInt(Ty.getAttribute("data-stmt-index")??"0",10);((Iy=(Ay=ci[Py])==null?void 0:Ay.span)==null?void 0:Iy.start)!=null&&(Tr=ci[Py].span.start)}}Cg(ee.filePath,{charOffset:Tr??rn},_==null?void 0:_.editorUriScheme,_==null?void 0:_.extensionId,z)}else ee.filePath&&Cg(ee.filePath,{},_==null?void 0:_.editorUriScheme,_==null?void 0:_.extensionId,z);window.vscodeApi.postMessage({type:"nodeClicked",nodeId:O,nodeType:B.type,anchor:ee})},[pt,_==null?void 0:_.editorUriScheme,_==null?void 0:_.extensionId,z]),zc=w.useCallback((O,B,U)=>{U==null||U.preventDefault(),x({x:(U==null?void 0:U.clientX)??0,y:(U==null?void 0:U.clientY)??0,nodeId:O,nodeData:B})},[]),Oc=w.useCallback((O,B)=>{var U,ie,ee,ae;if(window.vscodeApi){if(pt==="sequence"&&B){if((U=B.anchor)!=null&&U.filePath){window.vscodeApi.postMessage({type:"edgeClicked",edgeId:O,anchor:B.anchor});return}const ce=B.targetParticipant;if((ie=ce==null?void 0:ce.anchor)!=null&&ie.symbol&&((ee=ce==null?void 0:ce.anchor)!=null&&ee.filePath)){window.vscodeApi.postMessage({type:"openFunctionFlow",filePath:ce.anchor.filePath,functionName:ce.anchor.symbol});return}if((ae=ce==null?void 0:ce.anchor)!=null&&ae.filePath){window.vscodeApi.postMessage({type:"openFileDiagram",filePath:ce.anchor.filePath});return}}B!=null&&B.anchor&&window.vscodeApi.postMessage({type:"edgeClicked",edgeId:O,anchor:B.anchor})}},[pt]),Fc=w.useCallback(O=>{Cg(O,{},_==null?void 0:_.editorUriScheme,_==null?void 0:_.extensionId,z)},[_==null?void 0:_.editorUriScheme,_==null?void 0:_.extensionId,z]);if(n)return d.jsxs("div",{className:"ca-loading",children:[d.jsx("div",{className:"ca-loading-spinner"}),i?d.jsxs("div",{style:{textAlign:"center"},children:[d.jsx("div",{children:i.message}),d.jsx("div",{style:{marginTop:8,width:200,height:4,background:"var(--ca-border)",borderRadius:2,overflow:"hidden"},children:d.jsx("div",{style:{width:`${Math.round(i.progress*100)}%`,height:"100%",background:"var(--ca-accent)",borderRadius:2,transition:"width 0.3s ease"}})})]}):d.jsx("span",{children:"Loading diagram..."})]});const qc=!!window.__codeAtlasBrowserMode,Ha=d.jsxs(d.Fragment,{children:[A&&d.jsx(nD,{commits:A.commits,onSelect:(O,B)=>{var U;q(null),T(!1),r(!0),o({phase:"commit-diff",progress:.2,message:"Building diff graphs..."}),(U=window.vscodeApi)==null||U.postMessage({type:"commitSelected",baseHash:O,headHash:B})},onCancel:()=>q(null)}),ft&&d.jsx(pD,{commits:ft.commits,branches:ft.branches,currentBranch:ft.currentBranch,baselineHash:ft.baselineHash,onStart:O=>{var B;bt(null),T(!1),(B=window.vscodeApi)==null||B.postMessage({type:"startTimelineReplay",commits:O})},onCancel:()=>bt(null),onBranchChange:O=>{var B;(B=window.vscodeApi)==null||B.postMessage({type:"requestTimelineCommits",branch:O})}}),D&&d.jsx(iD,{owner:D.owner,repo:D.repo,prs:D.prs,gitHubConnected:(_==null?void 0:_.gitHubConnected)??!1,editorUriScheme:_==null?void 0:_.editorUriScheme,extensionId:_==null?void 0:_.extensionId,clientId:z,isReplay:D.isReplay,onSelect:O=>{var B;W(null),T(!1),r(!0),o({phase:"pr-diff",progress:.1,message:`Loading PR #${O}...`}),(B=window.vscodeApi)==null||B.postMessage({type:"prSelected",prNumber:O})},onCancel:()=>W(null)}),V&&d.jsx(lE,{title:V.title,placeholder:V.placeholder,items:V.items,onSelect:O=>{var U,ie,ee;const B=V.kind;if(J(null),B==="search")(U=window.vscodeApi)==null||U.postMessage({type:"searchSelected",id:O.id,kind:O.kind});else if(B==="function"){const[ae,...ce]=O.id.split(":"),G=ce.join(":");(ie=window.vscodeApi)==null||ie.postMessage({type:"functionSelected",filePath:ae,functionName:G})}else B==="impact"&&(T(!1),It.current=!1,(ee=window.vscodeApi)==null||ee.postMessage({type:"openFileDiagram",filePath:O.id}),setTimeout(()=>{var ae;(ae=window.vscodeApi)==null||ae.postMessage({type:"fileSelectedForImpact",filePath:O.id})},500))},onCancel:()=>J(null)}),te&&d.jsx(lE,{title:te.isReplay?"Replay Branch":"Branch Diff",placeholder:"Select branch to compare against HEAD...",items:te.branches.map(O=>({id:O.name,label:`${O.isCurrent?"* ":""}${O.name}`,description:O.isCurrent?"(current)":O.isRemote?"(remote)":"(local)",kind:O.isRemote?"Remote":"Branch"})),onSelect:O=>{var B;se(null),T(!1),r(!0),o({phase:"branch-diff",progress:.2,message:`Comparing branch ${O.id}...`}),(B=window.vscodeApi)==null||B.postMessage({type:"branchSelected",branchName:O.id})},onCancel:()=>se(null)})]});return R||!Yn&&!i?d.jsxs(wg,{children:[d.jsx(Jq,{isBrowserMode:qc,onNavigateDiagram:()=>{T(!1),It.current=!1},wsInfo:_,currentTheme:M,onSetLlmConfig:Pc,clientId:z}),Ha,k&&d.jsxs("div",{role:"status","aria-live":"polite",style:{position:"fixed",top:16,left:"50%",transform:"translateX(-50%)",zIndex:1100,maxWidth:"min(560px, calc(100% - 32px))",padding:"12px 16px",borderRadius:8,display:"flex",alignItems:"center",gap:12,background:k.status==="success"?"#dafbe1":"#ffebe9",border:`1px solid ${k.status==="success"?"#1a7f37":"#cf222e"}`,color:k.status==="success"?"#0d4e1f":"#82071e",boxShadow:"0 8px 24px rgba(0,0,0,0.12)",fontSize:13},children:[d.jsx("span",{style:{fontSize:18,lineHeight:1},children:k.status==="success"?"✓":"⚠"}),d.jsx("div",{style:{flex:1},children:k.status==="success"?k.user?d.jsxs(d.Fragment,{children:[d.jsx("strong",{children:"GitHub connected."})," Signed in as"," ",d.jsxs("a",{href:k.user.html_url,target:"_blank",rel:"noreferrer",style:{color:"inherit",fontWeight:700},children:["@",k.user.login]}),"."]}):d.jsxs(d.Fragment,{children:[d.jsx("strong",{children:"GitHub connected."})," (Profile details unavailable.)"]}):d.jsxs(d.Fragment,{children:[d.jsx("strong",{children:"GitHub connection failed."}),k.error?d.jsxs(d.Fragment,{children:[" ",k.error]}):null," ","You can try again from the home page."]})}),d.jsx("button",{onClick:()=>L(null),"aria-label":"Dismiss",style:{border:0,background:"transparent",cursor:"pointer",color:"inherit",fontSize:16,padding:4,lineHeight:1},children:"×"})]}),ue&&d.jsx("div",{className:`ca-home-toast${ue.level==="error"?" ca-toast-error":ue.level==="warning"?" ca-toast-warning":""}`,children:ue.text}),j!=="connected"&&window.__codeAtlasBrowserMode&&d.jsx("div",{className:"ca-ws-banner",role:"status","aria-live":"polite",children:j==="connecting"?"Connecting to CodeAtlas extension…":"Extension disconnected. Diagrams won't update until the connection is restored."}),d.jsx("footer",{className:"ca-app-footer","aria-label":"CodeAtlas footer",children:d.jsxs("span",{className:"ca-app-footer-version",children:["CodeAtlas v","6.0.3",".1"]})})]}):Yn?d.jsx(wg,{children:d.jsxs("div",{className:"ca-app",children:[d.jsxs("nav",{className:"ca-nav-bar",children:[d.jsxs("div",{className:"ca-nav-breadcrumbs",children:[d.jsx("button",{className:"ca-back-btn",onClick:so,"aria-label":"Home",title:"Home",children:"⌂"}),e.stack.length>0&&d.jsx("button",{className:"ca-back-btn",onClick:Mc,"aria-label":"Go back",children:"←"}),e.stack.length>0&&e.index<e.stack.length-1&&d.jsx("button",{className:"ca-back-btn",onClick:Lc,"aria-label":"Go forward",children:"→"}),li&&d.jsxs(H.Fragment,{children:[d.jsx("button",{className:"ca-breadcrumb-item",onClick:so,title:`Service: ${li}`,"aria-label":`Service ${li} — go to system design`,style:{fontWeight:600,opacity:.75},children:li}),d.jsx("span",{className:"ca-breadcrumb-sep",children:"›"})]}),(()=>{const O=e.stack.slice(0,e.index+1),U=O.length>4,ie=U?[O[0],null,...O.slice(-2)]:O;return ie.map((ee,ae)=>{if(ee===null)return d.jsxs(H.Fragment,{children:[d.jsx("span",{className:"ca-breadcrumb-sep",children:"›"}),d.jsx("span",{className:"ca-breadcrumb-item",style:{opacity:.5},children:"..."})]},"ellipsis");const ce=U?ae===0?0:O.length-(ie.length-ae):ae;return d.jsxs(H.Fragment,{children:[ae>0&&d.jsx("span",{className:"ca-breadcrumb-sep",children:"›"}),d.jsx("button",{className:`ca-breadcrumb-item${ce===e.index?" active":""}`,onClick:()=>$c(ce),title:ee.label,"aria-label":`Navigate to ${ee.label}`,"aria-current":ce===e.index?"page":void 0,children:ee.label})]},ce)})})()]}),d.jsxs("div",{className:"ca-nav-git-diff",style:{display:"flex",alignItems:"center",gap:6},children:[d.jsx(Eq,{diagramLabel:(pe==null?void 0:pe.label)??pt,onToast:(O,B)=>{ge({text:O,level:B}),setTimeout(()=>ge(null),2200)}}),b?d.jsxs(d.Fragment,{children:[d.jsx("span",{className:"ca-git-diff-badge",title:`${b.baseLabel} → ${b.headLabel}`,children:(()=>{const O=b.headLabel.match(/PR #(\d+)/);return`⎇ ${O?`PR #${O[1]} · `:""}${b.baseHash.slice(0,7)} → ${b.headHash.slice(0,7)}`})()}),!Oe&&d.jsx("button",{className:"ca-git-diff-replay",title:"Replay changes layer by layer",onClick:()=>{var O;return(O=window.vscodeApi)==null?void 0:O.postMessage({type:"replayCurrentDiff"})},children:"▶ Replay"}),d.jsxs("button",{className:"ca-ai-review-btn",style:{fontSize:11,fontWeight:700,padding:"4px 12px",borderRadius:6,border:"none",cursor:_e?"wait":"pointer",display:"flex",alignItems:"center",gap:5,transition:"all 0.15s ease",background:_e?"var(--ca-warning)":Se?"var(--ca-success)":"var(--ca-accent)",color:"#fff",boxShadow:Se?"0 0 8px var(--ca-success)":"none",animation:_e?"ca-pulse 1.5s ease-in-out infinite":"none"},title:_e?Bt||"Generating review...":Se?"AI Review active — click to hide":"Run AI-powered code review on this diff",disabled:_e,onClick:()=>{var O;_e||(!Se&&!ne?(At(!0),Ne("Preparing review..."),(O=window.vscodeApi)==null||O.postMessage({type:"requestAiReview"}),setTimeout(()=>{At(B=>(B&&Ne(""),!1))},18e4)):Se?(ot(!1),Ae(!1)):(ot(!0),Ae(!0)))},children:[d.jsx("span",{style:{fontSize:13},children:_e?"...":Se?"✓":"✨"}),_e?"Reviewing":"Code Review",Se&&ne&&d.jsxs("span",{style:{fontSize:9,background:"rgba(0,0,0,0.25)",borderRadius:8,padding:"1px 5px",marginLeft:2},children:[((lo=ne.summary)==null?void 0:lo.error)>0&&`${ne.summary.error}E `,((Wa=ne.summary)==null?void 0:Wa.warning)>0&&`${ne.summary.warning}W `,((Ua=ne.summary)==null?void 0:Ua.info)>0&&`${ne.summary.info}I`,((Va=ne.summary)==null?void 0:Va.total)===0&&"Clean"]})]}),(_e||Se&&ne)&&d.jsx("span",{style:{fontSize:9,opacity:.7,maxWidth:200,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:_e?Bt||"Analyzing...":((Ga=ne==null?void 0:ne.failures)==null?void 0:Ga.length)>0?`${ne.failures.length} batch failed`:((Ka=ne==null?void 0:ne.summary)==null?void 0:Ka.total)===0?"No issues found":`${ne.summary.total} findings`}),d.jsx("button",{className:"ca-git-diff-clear",title:"Reset to live diff view",onClick:()=>{var O;return(O=window.vscodeApi)==null?void 0:O.postMessage({type:"clearGitDiff"})},children:"✕ Reset"})]}):d.jsx("button",{className:"ca-git-diff-btn",title:"Compare two git commits across all diagram layers",onClick:()=>{var O;return(O=window.vscodeApi)==null?void 0:O.postMessage({type:"requestGitDiff"})},children:"⎇ Compare Commits"})]})]}),(_e||Se)&&d.jsx("div",{className:"ca-ai-review-status",style:{display:"flex",alignItems:"center",gap:8,padding:"4px 16px",fontSize:10,background:"var(--ca-surface)",borderBottom:"1px solid var(--ca-border)",flexWrap:"wrap",minHeight:24},children:_e?d.jsxs(d.Fragment,{children:[d.jsx("span",{style:{fontWeight:700,color:"var(--ca-warning)"},children:"Reviewing..."}),d.jsx("span",{style:{opacity:.7},children:Bt})]}):ne?d.jsxs(d.Fragment,{children:[ne.summary.total===0&&((Ya=ne.failures)==null?void 0:Ya.length)===0?d.jsx("span",{style:{fontWeight:700,color:"var(--ca-success)"},children:"No issues found"}):ne.summary.total===0&&((Xa=ne.failures)==null?void 0:Xa.length)>0?d.jsxs("span",{style:{fontWeight:700,color:"var(--ca-danger)"},children:["Review failed (",ne.failures.length," batch",ne.failures.length>1?"es":"",")"]}):d.jsxs("span",{style:{fontWeight:700,color:"var(--ca-accent)"},children:[ne.items.filter(O=>O.status==="open").length," open",ne.items.filter(O=>O.status==="resolved").length>0&&` / ${ne.items.filter(O=>O.status==="resolved").length} resolved`,ne.items.filter(O=>O.status==="ignored").length>0&&` / ${ne.items.filter(O=>O.status==="ignored").length} ignored`]}),ne.summary.error>0&&d.jsxs("span",{style:{fontSize:9,fontWeight:700,padding:"0 5px",borderRadius:8,background:"var(--ca-danger)",color:"#fff"},children:[ne.summary.error," error",ne.summary.error>1?"s":""]}),ne.summary.warning>0&&d.jsxs("span",{style:{fontSize:9,fontWeight:700,padding:"0 5px",borderRadius:8,background:"var(--ca-warning)",color:"#fff"},children:[ne.summary.warning," warning",ne.summary.warning>1?"s":""]}),ne.summary.info>0&&d.jsxs("span",{style:{fontSize:9,fontWeight:700,padding:"0 5px",borderRadius:8,background:"var(--ca-accent)",color:"#fff"},children:[ne.summary.info," info"]}),(()=>{var ie;const O=new Set;for(const ee of ne.items??[])(ie=ee.anchor)!=null&&ie.filePath&&O.add(ee.anchor.filePath.split("/").pop()||ee.anchor.filePath);for(const ee of Object.keys(ne.byGraph??{})){const ae=ee.replace(/^(file|flow|sequence):/,"").split(":")[0];ae&&O.add(ae.split("/").pop()||ae)}if(O.size===0)return null;const B=[...O].slice(0,8),U=O.size>8?` +${O.size-8} more`:"";return d.jsxs("span",{style:{opacity:.6,marginLeft:4},children:["Files: ",B.join(", "),U]})})(),((Qa=ne.failures)==null?void 0:Qa.length)>0&&d.jsxs("span",{style:{color:"var(--ca-warning)",marginLeft:"auto"},children:[ne.failures.some(O=>O.isTimeout)?"Timeout":"Failed",":"," ",ne.failures.map(O=>O.layer).join(", ")]}),d.jsxs("span",{style:{opacity:.4,marginLeft:"auto"},children:[Math.round(ne.meta.durationMs/1e3),"s"]})]}):null}),d.jsx(eD,{activeMode:pt,currentTheme:M,explorerVisible:N,onExplorerToggle:()=>E(O=>!O),onAskAI:()=>document.dispatchEvent(new CustomEvent("focusNlQuery")),onCommentsToggle:()=>{oe(O=>{const B=!O;return B&&Gt("comments_panel_opened",{open_count:Ue.filter(U=>U.status==="open").length}),B})},commentCount:Ue.filter(O=>O.status==="open").length}),ue&&d.jsx("div",{className:`ca-home-toast${ue.level==="error"?" ca-toast-error":ue.level==="warning"?" ca-toast-warning":""}`,children:ue.text}),j!=="connected"&&window.__codeAtlasBrowserMode&&d.jsx("div",{className:"ca-ws-banner",role:"status","aria-live":"polite",children:j==="connecting"?"Connecting to CodeAtlas extension…":"Extension disconnected. Diagrams won't update until the connection is restored."}),Ha,d.jsx(tD,{visible:N,onToggle:()=>E(O=>!O)}),d.jsxs("div",{className:"ca-diagram-container",children:[d.jsx(wg,{children:d.jsx(wq,{graph:Yn,mode:pt,onNodeClick:Ba,onNodeRightClick:zc,onEdgeClick:Oc,impactData:a,highlightedNodes:l,highlightReasons:u,commentCounts:ve,aiReviews:Tc,onImpactClose:()=>{s(null),c({}),f({})},onImpactNavigate:Fc})}),Q&&!Oe&&d.jsxs("div",{style:{position:"absolute",bottom:40,left:"50%",transform:"translateX(-50%)",background:"var(--ca-surface)",border:"1px solid var(--ca-accent)",borderRadius:"var(--ca-radius-lg)",padding:"6px 14px",fontSize:"var(--ca-font-body)",color:"var(--ca-accent)",display:"flex",alignItems:"center",gap:8,zIndex:25,boxShadow:"var(--ca-shadow-md)"},children:[d.jsxs("span",{children:["▶ Replay ",Q.index+1,"/",Q.total]}),Q.functionName&&d.jsx("span",{style:{color:"var(--ca-text)"},children:Q.functionName}),d.jsx("span",{style:{color:"var(--ca-text-muted)"},children:Q.layer}),d.jsx("button",{onClick:()=>{var O;return(O=window.vscodeApi)==null?void 0:O.postMessage({type:"stopReplay"})},style:{background:"var(--ca-danger)",border:"none",borderRadius:4,color:"#fff",padding:"2px 8px",cursor:"pointer",fontSize:11},children:"Stop"})]}),Oe&&d.jsx(gD,{step:Oe.step,commitInfo:Oe.commitInfo,paused:Oe.paused,onControl:O=>{var B;return(B=window.vscodeApi)==null?void 0:B.postMessage({type:"timelineReplayControl",action:O})},onSpeedChange:O=>{var B;return(B=window.vscodeApi)==null?void 0:B.postMessage({type:"timelineReplaySpeed",speedMs:O})}})]}),d.jsx(aD,{entries:Ze,onNavigate:O=>{var B;return(B=window.vscodeApi)==null?void 0:B.postMessage({type:"navigateToChangeEntry",entryId:O})},onPlayPause:O=>{var B;return(B=window.vscodeApi)==null?void 0:B.postMessage({type:"playbackChangeLog",action:O})},playing:!!Q}),d.jsx(SD,{comments:Ue,visible:it,onClose:()=>oe(!1),onNavigate:O=>{var B,U,ie,ee,ae,ce;Gt("comment_navigated",{layer:String(O.layer??"unknown"),has_symbol:!!((B=O.anchor)!=null&&B.symbol)}),(U=O.anchor)!=null&&U.filePath&&((ie=O.anchor)!=null&&ie.symbol)&&(O.layer==="flow"||O.layer==="file")?(ee=window.vscodeApi)==null||ee.postMessage({type:O.layer==="flow"?"openFunctionFlow":"openFileDiagram",filePath:O.anchor.filePath,functionName:O.anchor.symbol}):(ae=O.anchor)!=null&&ae.filePath&&((ce=window.vscodeApi)==null||ce.postMessage({type:"openFileDiagram",filePath:O.anchor.filePath}))},onResolve:O=>{var B;(B=window.vscodeApi)==null||B.postMessage({type:"resolveComment",commentId:O})}}),Je&&ne&&d.jsx(RD,{data:ne,visible:Je,onClose:()=>{Ae(!1),ht(null)},onNavigate:O=>{var B,U,ie,ee,ae;(B=O.anchor)!=null&&B.filePath&&((U=O.anchor)!=null&&U.symbol)?(ie=window.vscodeApi)==null||ie.postMessage({type:"openFunctionFlow",filePath:O.anchor.filePath,functionName:O.anchor.symbol}):(ee=O.anchor)!=null&&ee.filePath&&((ae=window.vscodeApi)==null||ae.postMessage({type:"openFileDiagram",filePath:O.anchor.filePath}))},scope:tn??void 0,onClearScope:()=>ht(null)}),Be&&d.jsx(ND,{anchor:Be.anchor,findings:Be.findings,onClose:()=>Ht(null),onOpenInPanel:O=>{var U;Ht(null),Ae(!0);const B=Be.findings.find(ie=>ie.id===O);(U=B==null?void 0:B.bindings)!=null&&U[0]&&ht({graphId:B.bindings[0].graphId})},onUpdateStatus:(O,B)=>{var U;(U=window.vscodeApi)==null||U.postMessage({type:"updateAiFindingStatus",findingId:O,status:B}),Ht(null)}}),y&&d.jsxs("div",{className:"ca-context-menu",role:"menu","aria-label":"Node context menu",style:{left:Math.min(y.x,window.innerWidth-210),top:Math.min(y.y,window.innerHeight-120)},onMouseDown:O=>O.stopPropagation(),children:[!window.__codeAtlasBrowserMode&&d.jsx("div",{className:"ca-context-menu-item",onClick:()=>{x(null),Ba(y.nodeId,y.nodeData,{metaKey:!0})},children:"Open in new window"}),((Za=(co=y.nodeData)==null?void 0:co.anchor)==null?void 0:Za.filePath)&&d.jsxs(d.Fragment,{children:[d.jsx("div",{className:"ca-context-menu-sep"}),d.jsx("div",{className:"ca-context-menu-item",onClick:()=>{var O,B;x(null),(B=window.vscodeApi)==null||B.postMessage({type:"requestImpact",nodeId:y.nodeId,filePath:y.nodeData.anchor.filePath,functionName:(O=y.nodeData.anchor)==null?void 0:O.symbol})},children:"Impact analysis"})]}),d.jsx("div",{className:"ca-context-menu-sep"}),d.jsx("div",{className:"ca-context-menu-item",onClick:()=>{var B,U;x(null);const O=prompt("Add comment:");O&&((U=window.vscodeApi)==null||U.postMessage({type:"addComment",targetId:y.nodeId,targetType:"node",body:O,layer:pt,anchor:(B=y.nodeData)==null?void 0:B.anchor}),Ke(ie=>({...ie,[y.nodeId]:(ie[y.nodeId]??0)+1})))},children:"Add comment"}),(()=>{const O=Ue.filter(B=>{var U,ie,ee,ae,ce,G;return B.targetId===y.nodeId||((U=B.anchor)==null?void 0:U.filePath)&&((ie=B.anchor)==null?void 0:ie.symbol)&&((ae=(ee=y.nodeData)==null?void 0:ee.anchor)==null?void 0:ae.filePath)===B.anchor.filePath&&((G=(ce=y.nodeData)==null?void 0:ce.anchor)==null?void 0:G.symbol)===B.anchor.symbol});return O.length===0?null:d.jsxs("div",{className:"ca-context-menu-item",onClick:()=>{x(null),oe(!0)},children:["View ",O.length," comment",O.length>1?"s":""]})})()]}),d.jsx("footer",{className:"ca-app-footer","aria-label":"CodeAtlas footer",children:d.jsxs("span",{className:"ca-app-footer-version",children:["CodeAtlas v","6.0.3",".1"]})})]})}):d.jsx("div",{className:"ca-loading-screen",children:i?d.jsxs("div",{children:[d.jsx("span",{className:"ca-loading-spinner"}),d.jsx("p",{children:i.message}),d.jsx("div",{style:{width:200,height:4,background:"var(--ca-border, #3b4261)",borderRadius:2,marginTop:8},children:d.jsx("div",{style:{width:`${Math.round(i.progress*100)}%`,height:"100%",background:"var(--ca-accent)",borderRadius:2,transition:"width 0.3s ease"}})})]}):d.jsx("span",{children:"Connecting to CodeAtlas..."})})}Rg.createRoot(document.getElementById("root")).render(d.jsx(H.StrictMode,{children:d.jsx(TD,{})}));
|