ima2-gen 1.1.6 → 1.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/.env.example +5 -0
  2. package/README.md +3 -0
  3. package/config.js +58 -0
  4. package/docs/FAQ.ko.md +20 -0
  5. package/docs/FAQ.md +20 -0
  6. package/docs/README.ko.md +3 -0
  7. package/docs/README.zh-CN.md +3 -0
  8. package/integrations/comfyui/ima2_gen_bridge/README.md +88 -0
  9. package/integrations/comfyui/ima2_gen_bridge/__init__.py +3 -0
  10. package/integrations/comfyui/ima2_gen_bridge/__pycache__/__init__.cpython-313.pyc +0 -0
  11. package/integrations/comfyui/ima2_gen_bridge/__pycache__/nodes.cpython-313.pyc +0 -0
  12. package/integrations/comfyui/ima2_gen_bridge/nodes.py +238 -0
  13. package/lib/canvasVersionStore.js +181 -0
  14. package/lib/cardNewsPlannerClient.js +4 -2
  15. package/lib/comfyBridge.js +214 -0
  16. package/lib/db.js +14 -0
  17. package/lib/historyList.js +4 -0
  18. package/lib/imageMetadata.js +4 -0
  19. package/lib/imageModels.js +20 -0
  20. package/lib/oauthProxy.js +88 -38
  21. package/lib/pngInfo.js +26 -0
  22. package/lib/promptImport/errors.js +16 -0
  23. package/lib/promptImport/githubSource.js +205 -0
  24. package/lib/promptImport/parsePromptCandidates.js +140 -0
  25. package/package.json +3 -2
  26. package/routes/annotations.js +95 -0
  27. package/routes/canvasVersions.js +64 -0
  28. package/routes/comfy.js +39 -0
  29. package/routes/edit.js +73 -4
  30. package/routes/generate.js +16 -2
  31. package/routes/index.js +8 -0
  32. package/routes/multimode.js +18 -1
  33. package/routes/nodes.js +25 -3
  34. package/routes/promptImport.js +175 -0
  35. package/ui/dist/assets/index-DARPdT4Q.css +1 -0
  36. package/ui/dist/assets/index-ht80GMq4.js +31 -0
  37. package/ui/dist/assets/index-ht80GMq4.js.map +1 -0
  38. package/ui/dist/index.html +2 -2
  39. package/ui/dist/assets/index-3X-6VjbF.css +0 -1
  40. package/ui/dist/assets/index-DPSq9qEs.js +0 -31
  41. package/ui/dist/assets/index-DPSq9qEs.js.map +0 -1
@@ -1,31 +0,0 @@
1
- (function(){const a=document.createElement("link").relList;if(a&&a.supports&&a.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))o(s);new MutationObserver(s=>{for(const c of s)if(c.type==="childList")for(const d of c.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&o(d)}).observe(document,{childList:!0,subtree:!0});function l(s){const c={};return s.integrity&&(c.integrity=s.integrity),s.referrerPolicy&&(c.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?c.credentials="include":s.crossOrigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function o(s){if(s.ep)return;s.ep=!0;const c=l(s);fetch(s.href,c)}})();function P0(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Id={exports:{}},yo={};var $g;function b1(){if($g)return yo;$g=1;var t=Symbol.for("react.transitional.element"),a=Symbol.for("react.fragment");function l(o,s,c){var d=null;if(c!==void 0&&(d=""+c),s.key!==void 0&&(d=""+s.key),"key"in s){c={};for(var m in s)m!=="key"&&(c[m]=s[m])}else c=s;return s=c.ref,{$$typeof:t,type:o,key:d,ref:s!==void 0?s:null,props:c}}return yo.Fragment=a,yo.jsx=l,yo.jsxs=l,yo}var Fg;function S1(){return Fg||(Fg=1,Id.exports=b1()),Id.exports}var f=S1(),Ld={exports:{}},Ee={};var Xg;function w1(){if(Xg)return Ee;Xg=1;var t=Symbol.for("react.transitional.element"),a=Symbol.for("react.portal"),l=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),c=Symbol.for("react.consumer"),d=Symbol.for("react.context"),m=Symbol.for("react.forward_ref"),y=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),g=Symbol.for("react.lazy"),v=Symbol.for("react.activity"),x=Symbol.iterator;function S(R){return R===null||typeof R!="object"?null:(R=x&&R[x]||R["@@iterator"],typeof R=="function"?R:null)}var N={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},_=Object.assign,D={};function j(R,q,V){this.props=R,this.context=q,this.refs=D,this.updater=V||N}j.prototype.isReactComponent={},j.prototype.setState=function(R,q){if(typeof R!="object"&&typeof R!="function"&&R!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,R,q,"setState")},j.prototype.forceUpdate=function(R){this.updater.enqueueForceUpdate(this,R,"forceUpdate")};function A(){}A.prototype=j.prototype;function E(R,q,V){this.props=R,this.context=q,this.refs=D,this.updater=V||N}var w=E.prototype=new A;w.constructor=E,_(w,j.prototype),w.isPureReactComponent=!0;var B=Array.isArray;function O(){}var k={H:null,A:null,T:null,S:null},F=Object.prototype.hasOwnProperty;function K(R,q,V){var W=V.ref;return{$$typeof:t,type:R,key:q,ref:W!==void 0?W:null,props:V}}function de(R,q){return K(R.type,q,R.props)}function X(R){return typeof R=="object"&&R!==null&&R.$$typeof===t}function te(R){var q={"=":"=0",":":"=2"};return"$"+R.replace(/[=:]/g,function(V){return q[V]})}var se=/\/+/g;function z(R,q){return typeof R=="object"&&R!==null&&R.key!=null?te(""+R.key):q.toString(36)}function M(R){switch(R.status){case"fulfilled":return R.value;case"rejected":throw R.reason;default:switch(typeof R.status=="string"?R.then(O,O):(R.status="pending",R.then(function(q){R.status==="pending"&&(R.status="fulfilled",R.value=q)},function(q){R.status==="pending"&&(R.status="rejected",R.reason=q)})),R.status){case"fulfilled":return R.value;case"rejected":throw R.reason}}throw R}function T(R,q,V,W,fe){var $=typeof R;($==="undefined"||$==="boolean")&&(R=null);var le=!1;if(R===null)le=!0;else switch($){case"bigint":case"string":case"number":le=!0;break;case"object":switch(R.$$typeof){case t:case a:le=!0;break;case g:return le=R._init,T(le(R._payload),q,V,W,fe)}}if(le)return fe=fe(R),le=W===""?"."+z(R,0):W,B(fe)?(V="",le!=null&&(V=le.replace(se,"$&/")+"/"),T(fe,q,V,"",function(be){return be})):fe!=null&&(X(fe)&&(fe=de(fe,V+(fe.key==null||R&&R.key===fe.key?"":(""+fe.key).replace(se,"$&/")+"/")+le)),q.push(fe)),1;le=0;var ce=W===""?".":W+":";if(B(R))for(var ue=0;ue<R.length;ue++)W=R[ue],$=ce+z(W,ue),le+=T(W,q,V,$,fe);else if(ue=S(R),typeof ue=="function")for(R=ue.call(R),ue=0;!(W=R.next()).done;)W=W.value,$=ce+z(W,ue++),le+=T(W,q,V,$,fe);else if($==="object"){if(typeof R.then=="function")return T(M(R),q,V,W,fe);throw q=String(R),Error("Objects are not valid as a React child (found: "+(q==="[object Object]"?"object with keys {"+Object.keys(R).join(", ")+"}":q)+"). If you meant to render a collection of children, use an array instead.")}return le}function I(R,q,V){if(R==null)return R;var W=[],fe=0;return T(R,W,"","",function($){return q.call(V,$,fe++)}),W}function U(R){if(R._status===-1){var q=R._result;q=q(),q.then(function(V){(R._status===0||R._status===-1)&&(R._status=1,R._result=V)},function(V){(R._status===0||R._status===-1)&&(R._status=2,R._result=V)}),R._status===-1&&(R._status=0,R._result=q)}if(R._status===1)return R._result.default;throw R._result}var Z=typeof reportError=="function"?reportError:function(R){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var q=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof R=="object"&&R!==null&&typeof R.message=="string"?String(R.message):String(R),error:R});if(!window.dispatchEvent(q))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",R);return}console.error(R)},ae={map:I,forEach:function(R,q,V){I(R,function(){q.apply(this,arguments)},V)},count:function(R){var q=0;return I(R,function(){q++}),q},toArray:function(R){return I(R,function(q){return q})||[]},only:function(R){if(!X(R))throw Error("React.Children.only expected to receive a single React element child.");return R}};return Ee.Activity=v,Ee.Children=ae,Ee.Component=j,Ee.Fragment=l,Ee.Profiler=s,Ee.PureComponent=E,Ee.StrictMode=o,Ee.Suspense=y,Ee.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=k,Ee.__COMPILER_RUNTIME={__proto__:null,c:function(R){return k.H.useMemoCache(R)}},Ee.cache=function(R){return function(){return R.apply(null,arguments)}},Ee.cacheSignal=function(){return null},Ee.cloneElement=function(R,q,V){if(R==null)throw Error("The argument must be a React element, but you passed "+R+".");var W=_({},R.props),fe=R.key;if(q!=null)for($ in q.key!==void 0&&(fe=""+q.key),q)!F.call(q,$)||$==="key"||$==="__self"||$==="__source"||$==="ref"&&q.ref===void 0||(W[$]=q[$]);var $=arguments.length-2;if($===1)W.children=V;else if(1<$){for(var le=Array($),ce=0;ce<$;ce++)le[ce]=arguments[ce+2];W.children=le}return K(R.type,fe,W)},Ee.createContext=function(R){return R={$$typeof:d,_currentValue:R,_currentValue2:R,_threadCount:0,Provider:null,Consumer:null},R.Provider=R,R.Consumer={$$typeof:c,_context:R},R},Ee.createElement=function(R,q,V){var W,fe={},$=null;if(q!=null)for(W in q.key!==void 0&&($=""+q.key),q)F.call(q,W)&&W!=="key"&&W!=="__self"&&W!=="__source"&&(fe[W]=q[W]);var le=arguments.length-2;if(le===1)fe.children=V;else if(1<le){for(var ce=Array(le),ue=0;ue<le;ue++)ce[ue]=arguments[ue+2];fe.children=ce}if(R&&R.defaultProps)for(W in le=R.defaultProps,le)fe[W]===void 0&&(fe[W]=le[W]);return K(R,$,fe)},Ee.createRef=function(){return{current:null}},Ee.forwardRef=function(R){return{$$typeof:m,render:R}},Ee.isValidElement=X,Ee.lazy=function(R){return{$$typeof:g,_payload:{_status:-1,_result:R},_init:U}},Ee.memo=function(R,q){return{$$typeof:p,type:R,compare:q===void 0?null:q}},Ee.startTransition=function(R){var q=k.T,V={};k.T=V;try{var W=R(),fe=k.S;fe!==null&&fe(V,W),typeof W=="object"&&W!==null&&typeof W.then=="function"&&W.then(O,Z)}catch($){Z($)}finally{q!==null&&V.types!==null&&(q.types=V.types),k.T=q}},Ee.unstable_useCacheRefresh=function(){return k.H.useCacheRefresh()},Ee.use=function(R){return k.H.use(R)},Ee.useActionState=function(R,q,V){return k.H.useActionState(R,q,V)},Ee.useCallback=function(R,q){return k.H.useCallback(R,q)},Ee.useContext=function(R){return k.H.useContext(R)},Ee.useDebugValue=function(){},Ee.useDeferredValue=function(R,q){return k.H.useDeferredValue(R,q)},Ee.useEffect=function(R,q){return k.H.useEffect(R,q)},Ee.useEffectEvent=function(R){return k.H.useEffectEvent(R)},Ee.useId=function(){return k.H.useId()},Ee.useImperativeHandle=function(R,q,V){return k.H.useImperativeHandle(R,q,V)},Ee.useInsertionEffect=function(R,q){return k.H.useInsertionEffect(R,q)},Ee.useLayoutEffect=function(R,q){return k.H.useLayoutEffect(R,q)},Ee.useMemo=function(R,q){return k.H.useMemo(R,q)},Ee.useOptimistic=function(R,q){return k.H.useOptimistic(R,q)},Ee.useReducer=function(R,q,V){return k.H.useReducer(R,q,V)},Ee.useRef=function(R){return k.H.useRef(R)},Ee.useState=function(R){return k.H.useState(R)},Ee.useSyncExternalStore=function(R,q,V){return k.H.useSyncExternalStore(R,q,V)},Ee.useTransition=function(){return k.H.useTransition()},Ee.version="19.2.5",Ee}var Zg;function Go(){return Zg||(Zg=1,Ld.exports=w1()),Ld.exports}var L=Go();const Eo=P0(L);var Hd={exports:{}},vo={},kd={exports:{}},Bd={};var Kg;function N1(){return Kg||(Kg=1,(function(t){function a(T,I){var U=T.length;T.push(I);e:for(;0<U;){var Z=U-1>>>1,ae=T[Z];if(0<s(ae,I))T[Z]=I,T[U]=ae,U=Z;else break e}}function l(T){return T.length===0?null:T[0]}function o(T){if(T.length===0)return null;var I=T[0],U=T.pop();if(U!==I){T[0]=U;e:for(var Z=0,ae=T.length,R=ae>>>1;Z<R;){var q=2*(Z+1)-1,V=T[q],W=q+1,fe=T[W];if(0>s(V,U))W<ae&&0>s(fe,V)?(T[Z]=fe,T[W]=U,Z=W):(T[Z]=V,T[q]=U,Z=q);else if(W<ae&&0>s(fe,U))T[Z]=fe,T[W]=U,Z=W;else break e}}return I}function s(T,I){var U=T.sortIndex-I.sortIndex;return U!==0?U:T.id-I.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var c=performance;t.unstable_now=function(){return c.now()}}else{var d=Date,m=d.now();t.unstable_now=function(){return d.now()-m}}var y=[],p=[],g=1,v=null,x=3,S=!1,N=!1,_=!1,D=!1,j=typeof setTimeout=="function"?setTimeout:null,A=typeof clearTimeout=="function"?clearTimeout:null,E=typeof setImmediate<"u"?setImmediate:null;function w(T){for(var I=l(p);I!==null;){if(I.callback===null)o(p);else if(I.startTime<=T)o(p),I.sortIndex=I.expirationTime,a(y,I);else break;I=l(p)}}function B(T){if(_=!1,w(T),!N)if(l(y)!==null)N=!0,O||(O=!0,te());else{var I=l(p);I!==null&&M(B,I.startTime-T)}}var O=!1,k=-1,F=5,K=-1;function de(){return D?!0:!(t.unstable_now()-K<F)}function X(){if(D=!1,O){var T=t.unstable_now();K=T;var I=!0;try{e:{N=!1,_&&(_=!1,A(k),k=-1),S=!0;var U=x;try{t:{for(w(T),v=l(y);v!==null&&!(v.expirationTime>T&&de());){var Z=v.callback;if(typeof Z=="function"){v.callback=null,x=v.priorityLevel;var ae=Z(v.expirationTime<=T);if(T=t.unstable_now(),typeof ae=="function"){v.callback=ae,w(T),I=!0;break t}v===l(y)&&o(y),w(T)}else o(y);v=l(y)}if(v!==null)I=!0;else{var R=l(p);R!==null&&M(B,R.startTime-T),I=!1}}break e}finally{v=null,x=U,S=!1}I=void 0}}finally{I?te():O=!1}}}var te;if(typeof E=="function")te=function(){E(X)};else if(typeof MessageChannel<"u"){var se=new MessageChannel,z=se.port2;se.port1.onmessage=X,te=function(){z.postMessage(null)}}else te=function(){j(X,0)};function M(T,I){k=j(function(){T(t.unstable_now())},I)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(T){T.callback=null},t.unstable_forceFrameRate=function(T){0>T||125<T?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):F=0<T?Math.floor(1e3/T):5},t.unstable_getCurrentPriorityLevel=function(){return x},t.unstable_next=function(T){switch(x){case 1:case 2:case 3:var I=3;break;default:I=x}var U=x;x=I;try{return T()}finally{x=U}},t.unstable_requestPaint=function(){D=!0},t.unstable_runWithPriority=function(T,I){switch(T){case 1:case 2:case 3:case 4:case 5:break;default:T=3}var U=x;x=T;try{return I()}finally{x=U}},t.unstable_scheduleCallback=function(T,I,U){var Z=t.unstable_now();switch(typeof U=="object"&&U!==null?(U=U.delay,U=typeof U=="number"&&0<U?Z+U:Z):U=Z,T){case 1:var ae=-1;break;case 2:ae=250;break;case 5:ae=1073741823;break;case 4:ae=1e4;break;default:ae=5e3}return ae=U+ae,T={id:g++,callback:I,priorityLevel:T,startTime:U,expirationTime:ae,sortIndex:-1},U>Z?(T.sortIndex=U,a(p,T),l(y)===null&&T===l(p)&&(_?(A(k),k=-1):_=!0,M(B,U-Z))):(T.sortIndex=ae,a(y,T),N||S||(N=!0,O||(O=!0,te()))),T},t.unstable_shouldYield=de,t.unstable_wrapCallback=function(T){var I=x;return function(){var U=x;x=I;try{return T.apply(this,arguments)}finally{x=U}}}})(Bd)),Bd}var Qg;function _1(){return Qg||(Qg=1,kd.exports=N1()),kd.exports}var qd={exports:{}},vt={};var Jg;function E1(){if(Jg)return vt;Jg=1;var t=Go();function a(y){var p="https://react.dev/errors/"+y;if(1<arguments.length){p+="?args[]="+encodeURIComponent(arguments[1]);for(var g=2;g<arguments.length;g++)p+="&args[]="+encodeURIComponent(arguments[g])}return"Minified React error #"+y+"; visit "+p+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function l(){}var o={d:{f:l,r:function(){throw Error(a(522))},D:l,C:l,L:l,m:l,X:l,S:l,M:l},p:0,findDOMNode:null},s=Symbol.for("react.portal");function c(y,p,g){var v=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:s,key:v==null?null:""+v,children:y,containerInfo:p,implementation:g}}var d=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function m(y,p){if(y==="font")return"";if(typeof p=="string")return p==="use-credentials"?p:""}return vt.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=o,vt.createPortal=function(y,p){var g=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!p||p.nodeType!==1&&p.nodeType!==9&&p.nodeType!==11)throw Error(a(299));return c(y,p,null,g)},vt.flushSync=function(y){var p=d.T,g=o.p;try{if(d.T=null,o.p=2,y)return y()}finally{d.T=p,o.p=g,o.d.f()}},vt.preconnect=function(y,p){typeof y=="string"&&(p?(p=p.crossOrigin,p=typeof p=="string"?p==="use-credentials"?p:"":void 0):p=null,o.d.C(y,p))},vt.prefetchDNS=function(y){typeof y=="string"&&o.d.D(y)},vt.preinit=function(y,p){if(typeof y=="string"&&p&&typeof p.as=="string"){var g=p.as,v=m(g,p.crossOrigin),x=typeof p.integrity=="string"?p.integrity:void 0,S=typeof p.fetchPriority=="string"?p.fetchPriority:void 0;g==="style"?o.d.S(y,typeof p.precedence=="string"?p.precedence:void 0,{crossOrigin:v,integrity:x,fetchPriority:S}):g==="script"&&o.d.X(y,{crossOrigin:v,integrity:x,fetchPriority:S,nonce:typeof p.nonce=="string"?p.nonce:void 0})}},vt.preinitModule=function(y,p){if(typeof y=="string")if(typeof p=="object"&&p!==null){if(p.as==null||p.as==="script"){var g=m(p.as,p.crossOrigin);o.d.M(y,{crossOrigin:g,integrity:typeof p.integrity=="string"?p.integrity:void 0,nonce:typeof p.nonce=="string"?p.nonce:void 0})}}else p==null&&o.d.M(y)},vt.preload=function(y,p){if(typeof y=="string"&&typeof p=="object"&&p!==null&&typeof p.as=="string"){var g=p.as,v=m(g,p.crossOrigin);o.d.L(y,g,{crossOrigin:v,integrity:typeof p.integrity=="string"?p.integrity:void 0,nonce:typeof p.nonce=="string"?p.nonce:void 0,type:typeof p.type=="string"?p.type:void 0,fetchPriority:typeof p.fetchPriority=="string"?p.fetchPriority:void 0,referrerPolicy:typeof p.referrerPolicy=="string"?p.referrerPolicy:void 0,imageSrcSet:typeof p.imageSrcSet=="string"?p.imageSrcSet:void 0,imageSizes:typeof p.imageSizes=="string"?p.imageSizes:void 0,media:typeof p.media=="string"?p.media:void 0})}},vt.preloadModule=function(y,p){if(typeof y=="string")if(p){var g=m(p.as,p.crossOrigin);o.d.m(y,{as:typeof p.as=="string"&&p.as!=="script"?p.as:void 0,crossOrigin:g,integrity:typeof p.integrity=="string"?p.integrity:void 0})}else o.d.m(y)},vt.requestFormReset=function(y){o.d.r(y)},vt.unstable_batchedUpdates=function(y,p){return y(p)},vt.useFormState=function(y,p,g){return d.H.useFormState(y,p,g)},vt.useFormStatus=function(){return d.H.useHostTransitionStatus()},vt.version="19.2.5",vt}var Wg;function $0(){if(Wg)return qd.exports;Wg=1;function t(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(a){console.error(a)}}return t(),qd.exports=E1(),qd.exports}var ey;function C1(){if(ey)return vo;ey=1;var t=_1(),a=Go(),l=$0();function o(e){var n="https://react.dev/errors/"+e;if(1<arguments.length){n+="?args[]="+encodeURIComponent(arguments[1]);for(var i=2;i<arguments.length;i++)n+="&args[]="+encodeURIComponent(arguments[i])}return"Minified React error #"+e+"; visit "+n+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function s(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function c(e){var n=e,i=e;if(e.alternate)for(;n.return;)n=n.return;else{e=n;do n=e,(n.flags&4098)!==0&&(i=n.return),e=n.return;while(e)}return n.tag===3?i:null}function d(e){if(e.tag===13){var n=e.memoizedState;if(n===null&&(e=e.alternate,e!==null&&(n=e.memoizedState)),n!==null)return n.dehydrated}return null}function m(e){if(e.tag===31){var n=e.memoizedState;if(n===null&&(e=e.alternate,e!==null&&(n=e.memoizedState)),n!==null)return n.dehydrated}return null}function y(e){if(c(e)!==e)throw Error(o(188))}function p(e){var n=e.alternate;if(!n){if(n=c(e),n===null)throw Error(o(188));return n!==e?null:e}for(var i=e,r=n;;){var u=i.return;if(u===null)break;var h=u.alternate;if(h===null){if(r=u.return,r!==null){i=r;continue}break}if(u.child===h.child){for(h=u.child;h;){if(h===i)return y(u),e;if(h===r)return y(u),n;h=h.sibling}throw Error(o(188))}if(i.return!==r.return)i=u,r=h;else{for(var b=!1,C=u.child;C;){if(C===i){b=!0,i=u,r=h;break}if(C===r){b=!0,r=u,i=h;break}C=C.sibling}if(!b){for(C=h.child;C;){if(C===i){b=!0,i=h,r=u;break}if(C===r){b=!0,r=h,i=u;break}C=C.sibling}if(!b)throw Error(o(189))}}if(i.alternate!==r)throw Error(o(190))}if(i.tag!==3)throw Error(o(188));return i.stateNode.current===i?e:n}function g(e){var n=e.tag;if(n===5||n===26||n===27||n===6)return e;for(e=e.child;e!==null;){if(n=g(e),n!==null)return n;e=e.sibling}return null}var v=Object.assign,x=Symbol.for("react.element"),S=Symbol.for("react.transitional.element"),N=Symbol.for("react.portal"),_=Symbol.for("react.fragment"),D=Symbol.for("react.strict_mode"),j=Symbol.for("react.profiler"),A=Symbol.for("react.consumer"),E=Symbol.for("react.context"),w=Symbol.for("react.forward_ref"),B=Symbol.for("react.suspense"),O=Symbol.for("react.suspense_list"),k=Symbol.for("react.memo"),F=Symbol.for("react.lazy"),K=Symbol.for("react.activity"),de=Symbol.for("react.memo_cache_sentinel"),X=Symbol.iterator;function te(e){return e===null||typeof e!="object"?null:(e=X&&e[X]||e["@@iterator"],typeof e=="function"?e:null)}var se=Symbol.for("react.client.reference");function z(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===se?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case _:return"Fragment";case j:return"Profiler";case D:return"StrictMode";case B:return"Suspense";case O:return"SuspenseList";case K:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case N:return"Portal";case E:return e.displayName||"Context";case A:return(e._context.displayName||"Context")+".Consumer";case w:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case k:return n=e.displayName||null,n!==null?n:z(e.type)||"Memo";case F:n=e._payload,e=e._init;try{return z(e(n))}catch{}}return null}var M=Array.isArray,T=a.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,I=l.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,U={pending:!1,data:null,method:null,action:null},Z=[],ae=-1;function R(e){return{current:e}}function q(e){0>ae||(e.current=Z[ae],Z[ae]=null,ae--)}function V(e,n){ae++,Z[ae]=e.current,e.current=n}var W=R(null),fe=R(null),$=R(null),le=R(null);function ce(e,n){switch(V($,n),V(fe,e),V(W,null),n.nodeType){case 9:case 11:e=(e=n.documentElement)&&(e=e.namespaceURI)?pg(e):0;break;default:if(e=n.tagName,n=n.namespaceURI)n=pg(n),e=gg(n,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}q(W),V(W,e)}function ue(){q(W),q(fe),q($)}function be(e){e.memoizedState!==null&&V(le,e);var n=W.current,i=gg(n,e.type);n!==i&&(V(fe,e),V(W,i))}function ve(e){fe.current===e&&(q(W),q(fe)),le.current===e&&(q(le),ho._currentValue=U)}var xe,_e;function je(e){if(xe===void 0)try{throw Error()}catch(i){var n=i.stack.trim().match(/\n( *(at )?)/);xe=n&&n[1]||"",_e=-1<i.stack.indexOf(`
2
- at`)?" (<anonymous>)":-1<i.stack.indexOf("@")?"@unknown:0:0":""}return`
3
- `+xe+e+_e}var Ue=!1;function ke(e,n){if(!e||Ue)return"";Ue=!0;var i=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(n){var re=function(){throw Error()};if(Object.defineProperty(re.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(re,[])}catch(ne){var ee=ne}Reflect.construct(e,[],re)}else{try{re.call()}catch(ne){ee=ne}e.call(re.prototype)}}else{try{throw Error()}catch(ne){ee=ne}(re=e())&&typeof re.catch=="function"&&re.catch(function(){})}}catch(ne){if(ne&&ee&&typeof ne.stack=="string")return[ne.stack,ee.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var u=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,"name");u&&u.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var h=r.DetermineComponentFrameRoot(),b=h[0],C=h[1];if(b&&C){var H=b.split(`
4
- `),J=C.split(`
5
- `);for(u=r=0;r<H.length&&!H[r].includes("DetermineComponentFrameRoot");)r++;for(;u<J.length&&!J[u].includes("DetermineComponentFrameRoot");)u++;if(r===H.length||u===J.length)for(r=H.length-1,u=J.length-1;1<=r&&0<=u&&H[r]!==J[u];)u--;for(;1<=r&&0<=u;r--,u--)if(H[r]!==J[u]){if(r!==1||u!==1)do if(r--,u--,0>u||H[r]!==J[u]){var ie=`
6
- `+H[r].replace(" at new "," at ");return e.displayName&&ie.includes("<anonymous>")&&(ie=ie.replace("<anonymous>",e.displayName)),ie}while(1<=r&&0<=u);break}}}finally{Ue=!1,Error.prepareStackTrace=i}return(i=e?e.displayName||e.name:"")?je(i):""}function ut(e,n){switch(e.tag){case 26:case 27:case 5:return je(e.type);case 16:return je("Lazy");case 13:return e.child!==n&&n!==null?je("Suspense Fallback"):je("Suspense");case 19:return je("SuspenseList");case 0:case 15:return ke(e.type,!1);case 11:return ke(e.type.render,!1);case 1:return ke(e.type,!0);case 31:return je("Activity");default:return""}}function Zt(e){try{var n="",i=null;do n+=ut(e,i),i=e,e=e.return;while(e);return n}catch(r){return`
7
- Error generating stack: `+r.message+`
8
- `+r.stack}}var zt=Object.prototype.hasOwnProperty,Kt=t.unstable_scheduleCallback,xn=t.unstable_cancelCallback,ja=t.unstable_shouldYield,za=t.unstable_requestPaint,ft=t.unstable_now,gi=t.unstable_getCurrentPriorityLevel,bn=t.unstable_ImmediatePriority,Fn=t.unstable_UserBlockingPriority,Ra=t.unstable_NormalPriority,vc=t.unstable_LowPriority,yi=t.unstable_IdlePriority,xc=t.log,bc=t.unstable_setDisableYieldValue,Da=null,xt=null;function sn(e){if(typeof xc=="function"&&bc(e),xt&&typeof xt.setStrictMode=="function")try{xt.setStrictMode(Da,e)}catch{}}var bt=Math.clz32?Math.clz32:Nc,Sc=Math.log,wc=Math.LN2;function Nc(e){return e>>>=0,e===0?32:31-(Sc(e)/wc|0)|0}var vi=256,xi=262144,bi=4194304;function Sn(e){var n=e&42;if(n!==0)return n;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:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Si(e,n,i){var r=e.pendingLanes;if(r===0)return 0;var u=0,h=e.suspendedLanes,b=e.pingedLanes;e=e.warmLanes;var C=r&134217727;return C!==0?(r=C&~h,r!==0?u=Sn(r):(b&=C,b!==0?u=Sn(b):i||(i=C&~e,i!==0&&(u=Sn(i))))):(C=r&~h,C!==0?u=Sn(C):b!==0?u=Sn(b):i||(i=r&~e,i!==0&&(u=Sn(i)))),u===0?0:n!==0&&n!==u&&(n&h)===0&&(h=u&-u,i=n&-n,h>=i||h===32&&(i&4194048)!==0)?n:u}function Oa(e,n){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&n)===0}function _c(e,n){switch(e){case 1:case 2:case 4:case 8:case 64:return n+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return n+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Ko(){var e=bi;return bi<<=1,(bi&62914560)===0&&(bi=4194304),e}function Nl(e){for(var n=[],i=0;31>i;i++)n.push(e);return n}function Ia(e,n){e.pendingLanes|=n,n!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Ec(e,n,i,r,u,h){var b=e.pendingLanes;e.pendingLanes=i,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=i,e.entangledLanes&=i,e.errorRecoveryDisabledLanes&=i,e.shellSuspendCounter=0;var C=e.entanglements,H=e.expirationTimes,J=e.hiddenUpdates;for(i=b&~i;0<i;){var ie=31-bt(i),re=1<<ie;C[ie]=0,H[ie]=-1;var ee=J[ie];if(ee!==null)for(J[ie]=null,ie=0;ie<ee.length;ie++){var ne=ee[ie];ne!==null&&(ne.lane&=-536870913)}i&=~re}r!==0&&Qo(e,r,0),h!==0&&u===0&&e.tag!==0&&(e.suspendedLanes|=h&~(b&~n))}function Qo(e,n,i){e.pendingLanes|=n,e.suspendedLanes&=~n;var r=31-bt(n);e.entangledLanes|=n,e.entanglements[r]=e.entanglements[r]|1073741824|i&261930}function Jo(e,n){var i=e.entangledLanes|=n;for(e=e.entanglements;i;){var r=31-bt(i),u=1<<r;u&n|e[r]&n&&(e[r]|=n),i&=~u}}function Wo(e,n){var i=n&-n;return i=(i&42)!==0?1:_l(i),(i&(e.suspendedLanes|n))!==0?0:i}function _l(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function El(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function er(){var e=I.p;return e!==0?e:(e=window.event,e===void 0?32:Bg(e.type))}function tr(e,n){var i=I.p;try{return I.p=e,n()}finally{I.p=i}}var cn=Math.random().toString(36).slice(2),st="__reactFiber$"+cn,yt="__reactProps$"+cn,wn="__reactContainer$"+cn,wi="__reactEvents$"+cn,nr="__reactListeners$"+cn,Cc="__reactHandles$"+cn,ar="__reactResources$"+cn,La="__reactMarker$"+cn;function Cl(e){delete e[st],delete e[yt],delete e[wi],delete e[nr],delete e[Cc]}function Xn(e){var n=e[st];if(n)return n;for(var i=e.parentNode;i;){if(n=i[wn]||i[st]){if(i=n.alternate,n.child!==null||i!==null&&i.child!==null)for(e=Ng(e);e!==null;){if(i=e[st])return i;e=Ng(e)}return n}e=i,i=e.parentNode}return null}function Zn(e){if(e=e[st]||e[wn]){var n=e.tag;if(n===5||n===6||n===13||n===31||n===26||n===27||n===3)return e}return null}function Kn(e){var n=e.tag;if(n===5||n===26||n===27||n===6)return e.stateNode;throw Error(o(33))}function Qn(e){var n=e[ar];return n||(n=e[ar]={hoistableStyles:new Map,hoistableScripts:new Map}),n}function nt(e){e[La]=!0}var ir=new Set,lr={};function Nn(e,n){Jn(e,n),Jn(e+"Capture",n)}function Jn(e,n){for(lr[e]=n,e=0;e<n.length;e++)ir.add(n[e])}var Tc=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),Tl={},or={};function Mc(e){return zt.call(or,e)?!0:zt.call(Tl,e)?!1:Tc.test(e)?or[e]=!0:(Tl[e]=!0,!1)}function Ni(e,n,i){if(Mc(n))if(i===null)e.removeAttribute(n);else{switch(typeof i){case"undefined":case"function":case"symbol":e.removeAttribute(n);return;case"boolean":var r=n.toLowerCase().slice(0,5);if(r!=="data-"&&r!=="aria-"){e.removeAttribute(n);return}}e.setAttribute(n,""+i)}}function _i(e,n,i){if(i===null)e.removeAttribute(n);else{switch(typeof i){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(n);return}e.setAttribute(n,""+i)}}function Qt(e,n,i,r){if(r===null)e.removeAttribute(i);else{switch(typeof r){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(i);return}e.setAttributeNS(n,i,""+r)}}function wt(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function rr(e){var n=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function Ac(e,n,i){var r=Object.getOwnPropertyDescriptor(e.constructor.prototype,n);if(!e.hasOwnProperty(n)&&typeof r<"u"&&typeof r.get=="function"&&typeof r.set=="function"){var u=r.get,h=r.set;return Object.defineProperty(e,n,{configurable:!0,get:function(){return u.call(this)},set:function(b){i=""+b,h.call(this,b)}}),Object.defineProperty(e,n,{enumerable:r.enumerable}),{getValue:function(){return i},setValue:function(b){i=""+b},stopTracking:function(){e._valueTracker=null,delete e[n]}}}}function Ei(e){if(!e._valueTracker){var n=rr(e)?"checked":"value";e._valueTracker=Ac(e,n,""+e[n])}}function sr(e){if(!e)return!1;var n=e._valueTracker;if(!n)return!0;var i=n.getValue(),r="";return e&&(r=rr(e)?e.checked?"true":"false":e.value),e=r,e!==i?(n.setValue(e),!0):!1}function Ha(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}}var jc=/[\n"\\]/g;function Nt(e){return e.replace(jc,function(n){return"\\"+n.charCodeAt(0).toString(16)+" "})}function ka(e,n,i,r,u,h,b,C){e.name="",b!=null&&typeof b!="function"&&typeof b!="symbol"&&typeof b!="boolean"?e.type=b:e.removeAttribute("type"),n!=null?b==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+wt(n)):e.value!==""+wt(n)&&(e.value=""+wt(n)):b!=="submit"&&b!=="reset"||e.removeAttribute("value"),n!=null?Ml(e,b,wt(n)):i!=null?Ml(e,b,wt(i)):r!=null&&e.removeAttribute("value"),u==null&&h!=null&&(e.defaultChecked=!!h),u!=null&&(e.checked=u&&typeof u!="function"&&typeof u!="symbol"),C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"?e.name=""+wt(C):e.removeAttribute("name")}function cr(e,n,i,r,u,h,b,C){if(h!=null&&typeof h!="function"&&typeof h!="symbol"&&typeof h!="boolean"&&(e.type=h),n!=null||i!=null){if(!(h!=="submit"&&h!=="reset"||n!=null)){Ei(e);return}i=i!=null?""+wt(i):"",n=n!=null?""+wt(n):i,C||n===e.value||(e.value=n),e.defaultValue=n}r=r??u,r=typeof r!="function"&&typeof r!="symbol"&&!!r,e.checked=C?e.checked:!!r,e.defaultChecked=!!r,b!=null&&typeof b!="function"&&typeof b!="symbol"&&typeof b!="boolean"&&(e.name=b),Ei(e)}function Ml(e,n,i){n==="number"&&Ha(e.ownerDocument)===e||e.defaultValue===""+i||(e.defaultValue=""+i)}function _n(e,n,i,r){if(e=e.options,n){n={};for(var u=0;u<i.length;u++)n["$"+i[u]]=!0;for(i=0;i<e.length;i++)u=n.hasOwnProperty("$"+e[i].value),e[i].selected!==u&&(e[i].selected=u),u&&r&&(e[i].defaultSelected=!0)}else{for(i=""+wt(i),n=null,u=0;u<e.length;u++){if(e[u].value===i){e[u].selected=!0,r&&(e[u].defaultSelected=!0);return}n!==null||e[u].disabled||(n=e[u])}n!==null&&(n.selected=!0)}}function uh(e,n,i){if(n!=null&&(n=""+wt(n),n!==e.value&&(e.value=n),i==null)){e.defaultValue!==n&&(e.defaultValue=n);return}e.defaultValue=i!=null?""+wt(i):""}function dh(e,n,i,r){if(n==null){if(r!=null){if(i!=null)throw Error(o(92));if(M(r)){if(1<r.length)throw Error(o(93));r=r[0]}i=r}i==null&&(i=""),n=i}i=wt(n),e.defaultValue=i,r=e.textContent,r===i&&r!==""&&r!==null&&(e.value=r),Ei(e)}function Ci(e,n){if(n){var i=e.firstChild;if(i&&i===e.lastChild&&i.nodeType===3){i.nodeValue=n;return}}e.textContent=n}var pb=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function fh(e,n,i){var r=n.indexOf("--")===0;i==null||typeof i=="boolean"||i===""?r?e.setProperty(n,""):n==="float"?e.cssFloat="":e[n]="":r?e.setProperty(n,i):typeof i!="number"||i===0||pb.has(n)?n==="float"?e.cssFloat=i:e[n]=(""+i).trim():e[n]=i+"px"}function hh(e,n,i){if(n!=null&&typeof n!="object")throw Error(o(62));if(e=e.style,i!=null){for(var r in i)!i.hasOwnProperty(r)||n!=null&&n.hasOwnProperty(r)||(r.indexOf("--")===0?e.setProperty(r,""):r==="float"?e.cssFloat="":e[r]="");for(var u in n)r=n[u],n.hasOwnProperty(u)&&i[u]!==r&&fh(e,u,r)}else for(var h in n)n.hasOwnProperty(h)&&fh(e,h,n[h])}function zc(e){if(e.indexOf("-")===-1)return!1;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 gb=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),yb=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function ur(e){return yb.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function En(){}var Rc=null;function Dc(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Ti=null,Mi=null;function mh(e){var n=Zn(e);if(n&&(e=n.stateNode)){var i=e[yt]||null;e:switch(e=n.stateNode,n.type){case"input":if(ka(e,i.value,i.defaultValue,i.defaultValue,i.checked,i.defaultChecked,i.type,i.name),n=i.name,i.type==="radio"&&n!=null){for(i=e;i.parentNode;)i=i.parentNode;for(i=i.querySelectorAll('input[name="'+Nt(""+n)+'"][type="radio"]'),n=0;n<i.length;n++){var r=i[n];if(r!==e&&r.form===e.form){var u=r[yt]||null;if(!u)throw Error(o(90));ka(r,u.value,u.defaultValue,u.defaultValue,u.checked,u.defaultChecked,u.type,u.name)}}for(n=0;n<i.length;n++)r=i[n],r.form===e.form&&sr(r)}break e;case"textarea":uh(e,i.value,i.defaultValue);break e;case"select":n=i.value,n!=null&&_n(e,!!i.multiple,n,!1)}}}var Oc=!1;function ph(e,n,i){if(Oc)return e(n,i);Oc=!0;try{var r=e(n);return r}finally{if(Oc=!1,(Ti!==null||Mi!==null)&&(Qr(),Ti&&(n=Ti,e=Mi,Mi=Ti=null,mh(n),e)))for(n=0;n<e.length;n++)mh(e[n])}}function Al(e,n){var i=e.stateNode;if(i===null)return null;var r=i[yt]||null;if(r===null)return null;i=r[n];e:switch(n){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(i&&typeof i!="function")throw Error(o(231,n,typeof i));return i}var Cn=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ic=!1;if(Cn)try{var jl={};Object.defineProperty(jl,"passive",{get:function(){Ic=!0}}),window.addEventListener("test",jl,jl),window.removeEventListener("test",jl,jl)}catch{Ic=!1}var Wn=null,Lc=null,dr=null;function gh(){if(dr)return dr;var e,n=Lc,i=n.length,r,u="value"in Wn?Wn.value:Wn.textContent,h=u.length;for(e=0;e<i&&n[e]===u[e];e++);var b=i-e;for(r=1;r<=b&&n[i-r]===u[h-r];r++);return dr=u.slice(e,1<r?1-r:void 0)}function fr(e){var n=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&n===13&&(e=13)):e=n,e===10&&(e=13),32<=e||e===13?e:0}function hr(){return!0}function yh(){return!1}function _t(e){function n(i,r,u,h,b){this._reactName=i,this._targetInst=u,this.type=r,this.nativeEvent=h,this.target=b,this.currentTarget=null;for(var C in e)e.hasOwnProperty(C)&&(i=e[C],this[C]=i?i(h):h[C]);return this.isDefaultPrevented=(h.defaultPrevented!=null?h.defaultPrevented:h.returnValue===!1)?hr:yh,this.isPropagationStopped=yh,this}return v(n.prototype,{preventDefault:function(){this.defaultPrevented=!0;var i=this.nativeEvent;i&&(i.preventDefault?i.preventDefault():typeof i.returnValue!="unknown"&&(i.returnValue=!1),this.isDefaultPrevented=hr)},stopPropagation:function(){var i=this.nativeEvent;i&&(i.stopPropagation?i.stopPropagation():typeof i.cancelBubble!="unknown"&&(i.cancelBubble=!0),this.isPropagationStopped=hr)},persist:function(){},isPersistent:hr}),n}var Ba={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},mr=_t(Ba),zl=v({},Ba,{view:0,detail:0}),vb=_t(zl),Hc,kc,Rl,pr=v({},zl,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:qc,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!==Rl&&(Rl&&e.type==="mousemove"?(Hc=e.screenX-Rl.screenX,kc=e.screenY-Rl.screenY):kc=Hc=0,Rl=e),Hc)},movementY:function(e){return"movementY"in e?e.movementY:kc}}),vh=_t(pr),xb=v({},pr,{dataTransfer:0}),bb=_t(xb),Sb=v({},zl,{relatedTarget:0}),Bc=_t(Sb),wb=v({},Ba,{animationName:0,elapsedTime:0,pseudoElement:0}),Nb=_t(wb),_b=v({},Ba,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Eb=_t(_b),Cb=v({},Ba,{data:0}),xh=_t(Cb),Tb={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Mb={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"},Ab={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function jb(e){var n=this.nativeEvent;return n.getModifierState?n.getModifierState(e):(e=Ab[e])?!!n[e]:!1}function qc(){return jb}var zb=v({},zl,{key:function(e){if(e.key){var n=Tb[e.key]||e.key;if(n!=="Unidentified")return n}return e.type==="keypress"?(e=fr(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?Mb[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:qc,charCode:function(e){return e.type==="keypress"?fr(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?fr(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),Rb=_t(zb),Db=v({},pr,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),bh=_t(Db),Ob=v({},zl,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:qc}),Ib=_t(Ob),Lb=v({},Ba,{propertyName:0,elapsedTime:0,pseudoElement:0}),Hb=_t(Lb),kb=v({},pr,{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}),Bb=_t(kb),qb=v({},Ba,{newState:0,oldState:0}),Ub=_t(qb),Gb=[9,13,27,32],Uc=Cn&&"CompositionEvent"in window,Dl=null;Cn&&"documentMode"in document&&(Dl=document.documentMode);var Vb=Cn&&"TextEvent"in window&&!Dl,Sh=Cn&&(!Uc||Dl&&8<Dl&&11>=Dl),wh=" ",Nh=!1;function _h(e,n){switch(e){case"keyup":return Gb.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Eh(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Ai=!1;function Yb(e,n){switch(e){case"compositionend":return Eh(n);case"keypress":return n.which!==32?null:(Nh=!0,wh);case"textInput":return e=n.data,e===wh&&Nh?null:e;default:return null}}function Pb(e,n){if(Ai)return e==="compositionend"||!Uc&&_h(e,n)?(e=gh(),dr=Lc=Wn=null,Ai=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1<n.char.length)return n.char;if(n.which)return String.fromCharCode(n.which)}return null;case"compositionend":return Sh&&n.locale!=="ko"?null:n.data;default:return null}}var $b={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 Ch(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n==="input"?!!$b[e.type]:n==="textarea"}function Th(e,n,i,r){Ti?Mi?Mi.push(r):Mi=[r]:Ti=r,n=is(n,"onChange"),0<n.length&&(i=new mr("onChange","change",null,i,r),e.push({event:i,listeners:n}))}var Ol=null,Il=null;function Fb(e){cg(e,0)}function gr(e){var n=Kn(e);if(sr(n))return e}function Mh(e,n){if(e==="change")return n}var Ah=!1;if(Cn){var Gc;if(Cn){var Vc="oninput"in document;if(!Vc){var jh=document.createElement("div");jh.setAttribute("oninput","return;"),Vc=typeof jh.oninput=="function"}Gc=Vc}else Gc=!1;Ah=Gc&&(!document.documentMode||9<document.documentMode)}function zh(){Ol&&(Ol.detachEvent("onpropertychange",Rh),Il=Ol=null)}function Rh(e){if(e.propertyName==="value"&&gr(Il)){var n=[];Th(n,Il,e,Dc(e)),ph(Fb,n)}}function Xb(e,n,i){e==="focusin"?(zh(),Ol=n,Il=i,Ol.attachEvent("onpropertychange",Rh)):e==="focusout"&&zh()}function Zb(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return gr(Il)}function Kb(e,n){if(e==="click")return gr(n)}function Qb(e,n){if(e==="input"||e==="change")return gr(n)}function Jb(e,n){return e===n&&(e!==0||1/e===1/n)||e!==e&&n!==n}var Rt=typeof Object.is=="function"?Object.is:Jb;function Ll(e,n){if(Rt(e,n))return!0;if(typeof e!="object"||e===null||typeof n!="object"||n===null)return!1;var i=Object.keys(e),r=Object.keys(n);if(i.length!==r.length)return!1;for(r=0;r<i.length;r++){var u=i[r];if(!zt.call(n,u)||!Rt(e[u],n[u]))return!1}return!0}function Dh(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Oh(e,n){var i=Dh(e);e=0;for(var r;i;){if(i.nodeType===3){if(r=e+i.textContent.length,e<=n&&r>=n)return{node:i,offset:n-e};e=r}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=Dh(i)}}function Ih(e,n){return e&&n?e===n?!0:e&&e.nodeType===3?!1:n&&n.nodeType===3?Ih(e,n.parentNode):"contains"in e?e.contains(n):e.compareDocumentPosition?!!(e.compareDocumentPosition(n)&16):!1:!1}function Lh(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var n=Ha(e.document);n instanceof e.HTMLIFrameElement;){try{var i=typeof n.contentWindow.location.href=="string"}catch{i=!1}if(i)e=n.contentWindow;else break;n=Ha(e.document)}return n}function Yc(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&(n==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||n==="textarea"||e.contentEditable==="true")}var Wb=Cn&&"documentMode"in document&&11>=document.documentMode,ji=null,Pc=null,Hl=null,$c=!1;function Hh(e,n,i){var r=i.window===i?i.document:i.nodeType===9?i:i.ownerDocument;$c||ji==null||ji!==Ha(r)||(r=ji,"selectionStart"in r&&Yc(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}),Hl&&Ll(Hl,r)||(Hl=r,r=is(Pc,"onSelect"),0<r.length&&(n=new mr("onSelect","select",null,n,i),e.push({event:n,listeners:r}),n.target=ji)))}function qa(e,n){var i={};return i[e.toLowerCase()]=n.toLowerCase(),i["Webkit"+e]="webkit"+n,i["Moz"+e]="moz"+n,i}var zi={animationend:qa("Animation","AnimationEnd"),animationiteration:qa("Animation","AnimationIteration"),animationstart:qa("Animation","AnimationStart"),transitionrun:qa("Transition","TransitionRun"),transitionstart:qa("Transition","TransitionStart"),transitioncancel:qa("Transition","TransitionCancel"),transitionend:qa("Transition","TransitionEnd")},Fc={},kh={};Cn&&(kh=document.createElement("div").style,"AnimationEvent"in window||(delete zi.animationend.animation,delete zi.animationiteration.animation,delete zi.animationstart.animation),"TransitionEvent"in window||delete zi.transitionend.transition);function Ua(e){if(Fc[e])return Fc[e];if(!zi[e])return e;var n=zi[e],i;for(i in n)if(n.hasOwnProperty(i)&&i in kh)return Fc[e]=n[i];return e}var Bh=Ua("animationend"),qh=Ua("animationiteration"),Uh=Ua("animationstart"),eS=Ua("transitionrun"),tS=Ua("transitionstart"),nS=Ua("transitioncancel"),Gh=Ua("transitionend"),Vh=new Map,Xc="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");Xc.push("scrollEnd");function Jt(e,n){Vh.set(e,n),Nn(n,[e])}var yr=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var n=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(n))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},Ut=[],Ri=0,Zc=0;function vr(){for(var e=Ri,n=Zc=Ri=0;n<e;){var i=Ut[n];Ut[n++]=null;var r=Ut[n];Ut[n++]=null;var u=Ut[n];Ut[n++]=null;var h=Ut[n];if(Ut[n++]=null,r!==null&&u!==null){var b=r.pending;b===null?u.next=u:(u.next=b.next,b.next=u),r.pending=u}h!==0&&Yh(i,u,h)}}function xr(e,n,i,r){Ut[Ri++]=e,Ut[Ri++]=n,Ut[Ri++]=i,Ut[Ri++]=r,Zc|=r,e.lanes|=r,e=e.alternate,e!==null&&(e.lanes|=r)}function Kc(e,n,i,r){return xr(e,n,i,r),br(e)}function Ga(e,n){return xr(e,null,null,n),br(e)}function Yh(e,n,i){e.lanes|=i;var r=e.alternate;r!==null&&(r.lanes|=i);for(var u=!1,h=e.return;h!==null;)h.childLanes|=i,r=h.alternate,r!==null&&(r.childLanes|=i),h.tag===22&&(e=h.stateNode,e===null||e._visibility&1||(u=!0)),e=h,h=h.return;return e.tag===3?(h=e.stateNode,u&&n!==null&&(u=31-bt(i),e=h.hiddenUpdates,r=e[u],r===null?e[u]=[n]:r.push(n),n.lane=i|536870912),h):null}function br(e){if(50<lo)throw lo=0,ld=null,Error(o(185));for(var n=e.return;n!==null;)e=n,n=e.return;return e.tag===3?e.stateNode:null}var Di={};function aS(e,n,i,r){this.tag=e,this.key=i,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=n,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 Dt(e,n,i,r){return new aS(e,n,i,r)}function Qc(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Tn(e,n){var i=e.alternate;return i===null?(i=Dt(e.tag,n,e.key,e.mode),i.elementType=e.elementType,i.type=e.type,i.stateNode=e.stateNode,i.alternate=e,e.alternate=i):(i.pendingProps=n,i.type=e.type,i.flags=0,i.subtreeFlags=0,i.deletions=null),i.flags=e.flags&65011712,i.childLanes=e.childLanes,i.lanes=e.lanes,i.child=e.child,i.memoizedProps=e.memoizedProps,i.memoizedState=e.memoizedState,i.updateQueue=e.updateQueue,n=e.dependencies,i.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},i.sibling=e.sibling,i.index=e.index,i.ref=e.ref,i.refCleanup=e.refCleanup,i}function Ph(e,n){e.flags&=65011714;var i=e.alternate;return i===null?(e.childLanes=0,e.lanes=n,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=i.childLanes,e.lanes=i.lanes,e.child=i.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=i.memoizedProps,e.memoizedState=i.memoizedState,e.updateQueue=i.updateQueue,e.type=i.type,n=i.dependencies,e.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext}),e}function Sr(e,n,i,r,u,h){var b=0;if(r=e,typeof e=="function")Qc(e)&&(b=1);else if(typeof e=="string")b=s1(e,i,W.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case K:return e=Dt(31,i,n,u),e.elementType=K,e.lanes=h,e;case _:return Va(i.children,u,h,n);case D:b=8,u|=24;break;case j:return e=Dt(12,i,n,u|2),e.elementType=j,e.lanes=h,e;case B:return e=Dt(13,i,n,u),e.elementType=B,e.lanes=h,e;case O:return e=Dt(19,i,n,u),e.elementType=O,e.lanes=h,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case E:b=10;break e;case A:b=9;break e;case w:b=11;break e;case k:b=14;break e;case F:b=16,r=null;break e}b=29,i=Error(o(130,e===null?"null":typeof e,"")),r=null}return n=Dt(b,i,n,u),n.elementType=e,n.type=r,n.lanes=h,n}function Va(e,n,i,r){return e=Dt(7,e,r,n),e.lanes=i,e}function Jc(e,n,i){return e=Dt(6,e,null,n),e.lanes=i,e}function $h(e){var n=Dt(18,null,null,0);return n.stateNode=e,n}function Wc(e,n,i){return n=Dt(4,e.children!==null?e.children:[],e.key,n),n.lanes=i,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}var Fh=new WeakMap;function Gt(e,n){if(typeof e=="object"&&e!==null){var i=Fh.get(e);return i!==void 0?i:(n={value:e,source:n,stack:Zt(n)},Fh.set(e,n),n)}return{value:e,source:n,stack:Zt(n)}}var Oi=[],Ii=0,wr=null,kl=0,Vt=[],Yt=0,ea=null,un=1,dn="";function Mn(e,n){Oi[Ii++]=kl,Oi[Ii++]=wr,wr=e,kl=n}function Xh(e,n,i){Vt[Yt++]=un,Vt[Yt++]=dn,Vt[Yt++]=ea,ea=e;var r=un;e=dn;var u=32-bt(r)-1;r&=~(1<<u),i+=1;var h=32-bt(n)+u;if(30<h){var b=u-u%5;h=(r&(1<<b)-1).toString(32),r>>=b,u-=b,un=1<<32-bt(n)+u|i<<u|r,dn=h+e}else un=1<<h|i<<u|r,dn=e}function eu(e){e.return!==null&&(Mn(e,1),Xh(e,1,0))}function tu(e){for(;e===wr;)wr=Oi[--Ii],Oi[Ii]=null,kl=Oi[--Ii],Oi[Ii]=null;for(;e===ea;)ea=Vt[--Yt],Vt[Yt]=null,dn=Vt[--Yt],Vt[Yt]=null,un=Vt[--Yt],Vt[Yt]=null}function Zh(e,n){Vt[Yt++]=un,Vt[Yt++]=dn,Vt[Yt++]=ea,un=n.id,dn=n.overflow,ea=e}var ht=null,$e=null,De=!1,ta=null,Pt=!1,nu=Error(o(519));function na(e){var n=Error(o(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Bl(Gt(n,e)),nu}function Kh(e){var n=e.stateNode,i=e.type,r=e.memoizedProps;switch(n[st]=e,n[yt]=r,i){case"dialog":Ae("cancel",n),Ae("close",n);break;case"iframe":case"object":case"embed":Ae("load",n);break;case"video":case"audio":for(i=0;i<ro.length;i++)Ae(ro[i],n);break;case"source":Ae("error",n);break;case"img":case"image":case"link":Ae("error",n),Ae("load",n);break;case"details":Ae("toggle",n);break;case"input":Ae("invalid",n),cr(n,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0);break;case"select":Ae("invalid",n);break;case"textarea":Ae("invalid",n),dh(n,r.value,r.defaultValue,r.children)}i=r.children,typeof i!="string"&&typeof i!="number"&&typeof i!="bigint"||n.textContent===""+i||r.suppressHydrationWarning===!0||hg(n.textContent,i)?(r.popover!=null&&(Ae("beforetoggle",n),Ae("toggle",n)),r.onScroll!=null&&Ae("scroll",n),r.onScrollEnd!=null&&Ae("scrollend",n),r.onClick!=null&&(n.onclick=En),n=!0):n=!1,n||na(e,!0)}function Qh(e){for(ht=e.return;ht;)switch(ht.tag){case 5:case 31:case 13:Pt=!1;return;case 27:case 3:Pt=!0;return;default:ht=ht.return}}function Li(e){if(e!==ht)return!1;if(!De)return Qh(e),De=!0,!1;var n=e.tag,i;if((i=n!==3&&n!==27)&&((i=n===5)&&(i=e.type,i=!(i!=="form"&&i!=="button")||bd(e.type,e.memoizedProps)),i=!i),i&&$e&&na(e),Qh(e),n===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(317));$e=wg(e)}else if(n===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(317));$e=wg(e)}else n===27?(n=$e,ga(e.type)?(e=Ed,Ed=null,$e=e):$e=n):$e=ht?Ft(e.stateNode.nextSibling):null;return!0}function Ya(){$e=ht=null,De=!1}function au(){var e=ta;return e!==null&&(Mt===null?Mt=e:Mt.push.apply(Mt,e),ta=null),e}function Bl(e){ta===null?ta=[e]:ta.push(e)}var iu=R(null),Pa=null,An=null;function aa(e,n,i){V(iu,n._currentValue),n._currentValue=i}function jn(e){e._currentValue=iu.current,q(iu)}function lu(e,n,i){for(;e!==null;){var r=e.alternate;if((e.childLanes&n)!==n?(e.childLanes|=n,r!==null&&(r.childLanes|=n)):r!==null&&(r.childLanes&n)!==n&&(r.childLanes|=n),e===i)break;e=e.return}}function ou(e,n,i,r){var u=e.child;for(u!==null&&(u.return=e);u!==null;){var h=u.dependencies;if(h!==null){var b=u.child;h=h.firstContext;e:for(;h!==null;){var C=h;h=u;for(var H=0;H<n.length;H++)if(C.context===n[H]){h.lanes|=i,C=h.alternate,C!==null&&(C.lanes|=i),lu(h.return,i,e),r||(b=null);break e}h=C.next}}else if(u.tag===18){if(b=u.return,b===null)throw Error(o(341));b.lanes|=i,h=b.alternate,h!==null&&(h.lanes|=i),lu(b,i,e),b=null}else b=u.child;if(b!==null)b.return=u;else for(b=u;b!==null;){if(b===e){b=null;break}if(u=b.sibling,u!==null){u.return=b.return,b=u;break}b=b.return}u=b}}function Hi(e,n,i,r){e=null;for(var u=n,h=!1;u!==null;){if(!h){if((u.flags&524288)!==0)h=!0;else if((u.flags&262144)!==0)break}if(u.tag===10){var b=u.alternate;if(b===null)throw Error(o(387));if(b=b.memoizedProps,b!==null){var C=u.type;Rt(u.pendingProps.value,b.value)||(e!==null?e.push(C):e=[C])}}else if(u===le.current){if(b=u.alternate,b===null)throw Error(o(387));b.memoizedState.memoizedState!==u.memoizedState.memoizedState&&(e!==null?e.push(ho):e=[ho])}u=u.return}e!==null&&ou(n,e,i,r),n.flags|=262144}function Nr(e){for(e=e.firstContext;e!==null;){if(!Rt(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function $a(e){Pa=e,An=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function mt(e){return Jh(Pa,e)}function _r(e,n){return Pa===null&&$a(e),Jh(e,n)}function Jh(e,n){var i=n._currentValue;if(n={context:n,memoizedValue:i,next:null},An===null){if(e===null)throw Error(o(308));An=n,e.dependencies={lanes:0,firstContext:n},e.flags|=524288}else An=An.next=n;return i}var iS=typeof AbortController<"u"?AbortController:function(){var e=[],n=this.signal={aborted:!1,addEventListener:function(i,r){e.push(r)}};this.abort=function(){n.aborted=!0,e.forEach(function(i){return i()})}},lS=t.unstable_scheduleCallback,oS=t.unstable_NormalPriority,at={$$typeof:E,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function ru(){return{controller:new iS,data:new Map,refCount:0}}function ql(e){e.refCount--,e.refCount===0&&lS(oS,function(){e.controller.abort()})}var Ul=null,su=0,ki=0,Bi=null;function rS(e,n){if(Ul===null){var i=Ul=[];su=0,ki=dd(),Bi={status:"pending",value:void 0,then:function(r){i.push(r)}}}return su++,n.then(Wh,Wh),n}function Wh(){if(--su===0&&Ul!==null){Bi!==null&&(Bi.status="fulfilled");var e=Ul;Ul=null,ki=0,Bi=null;for(var n=0;n<e.length;n++)(0,e[n])()}}function sS(e,n){var i=[],r={status:"pending",value:null,reason:null,then:function(u){i.push(u)}};return e.then(function(){r.status="fulfilled",r.value=n;for(var u=0;u<i.length;u++)(0,i[u])(n)},function(u){for(r.status="rejected",r.reason=u,u=0;u<i.length;u++)(0,i[u])(void 0)}),r}var em=T.S;T.S=function(e,n){Hp=ft(),typeof n=="object"&&n!==null&&typeof n.then=="function"&&rS(e,n),em!==null&&em(e,n)};var Fa=R(null);function cu(){var e=Fa.current;return e!==null?e:Pe.pooledCache}function Er(e,n){n===null?V(Fa,Fa.current):V(Fa,n.pool)}function tm(){var e=cu();return e===null?null:{parent:at._currentValue,pool:e}}var qi=Error(o(460)),uu=Error(o(474)),Cr=Error(o(542)),Tr={then:function(){}};function nm(e){return e=e.status,e==="fulfilled"||e==="rejected"}function am(e,n,i){switch(i=e[i],i===void 0?e.push(n):i!==n&&(n.then(En,En),n=i),n.status){case"fulfilled":return n.value;case"rejected":throw e=n.reason,lm(e),e;default:if(typeof n.status=="string")n.then(En,En);else{if(e=Pe,e!==null&&100<e.shellSuspendCounter)throw Error(o(482));e=n,e.status="pending",e.then(function(r){if(n.status==="pending"){var u=n;u.status="fulfilled",u.value=r}},function(r){if(n.status==="pending"){var u=n;u.status="rejected",u.reason=r}})}switch(n.status){case"fulfilled":return n.value;case"rejected":throw e=n.reason,lm(e),e}throw Za=n,qi}}function Xa(e){try{var n=e._init;return n(e._payload)}catch(i){throw i!==null&&typeof i=="object"&&typeof i.then=="function"?(Za=i,qi):i}}var Za=null;function im(){if(Za===null)throw Error(o(459));var e=Za;return Za=null,e}function lm(e){if(e===qi||e===Cr)throw Error(o(483))}var Ui=null,Gl=0;function Mr(e){var n=Gl;return Gl+=1,Ui===null&&(Ui=[]),am(Ui,e,n)}function Vl(e,n){n=n.props.ref,e.ref=n!==void 0?n:null}function Ar(e,n){throw n.$$typeof===x?Error(o(525)):(e=Object.prototype.toString.call(n),Error(o(31,e==="[object Object]"?"object with keys {"+Object.keys(n).join(", ")+"}":e)))}function om(e){function n(P,G){if(e){var Q=P.deletions;Q===null?(P.deletions=[G],P.flags|=16):Q.push(G)}}function i(P,G){if(!e)return null;for(;G!==null;)n(P,G),G=G.sibling;return null}function r(P){for(var G=new Map;P!==null;)P.key!==null?G.set(P.key,P):G.set(P.index,P),P=P.sibling;return G}function u(P,G){return P=Tn(P,G),P.index=0,P.sibling=null,P}function h(P,G,Q){return P.index=Q,e?(Q=P.alternate,Q!==null?(Q=Q.index,Q<G?(P.flags|=67108866,G):Q):(P.flags|=67108866,G)):(P.flags|=1048576,G)}function b(P){return e&&P.alternate===null&&(P.flags|=67108866),P}function C(P,G,Q,oe){return G===null||G.tag!==6?(G=Jc(Q,P.mode,oe),G.return=P,G):(G=u(G,Q),G.return=P,G)}function H(P,G,Q,oe){var ye=Q.type;return ye===_?ie(P,G,Q.props.children,oe,Q.key):G!==null&&(G.elementType===ye||typeof ye=="object"&&ye!==null&&ye.$$typeof===F&&Xa(ye)===G.type)?(G=u(G,Q.props),Vl(G,Q),G.return=P,G):(G=Sr(Q.type,Q.key,Q.props,null,P.mode,oe),Vl(G,Q),G.return=P,G)}function J(P,G,Q,oe){return G===null||G.tag!==4||G.stateNode.containerInfo!==Q.containerInfo||G.stateNode.implementation!==Q.implementation?(G=Wc(Q,P.mode,oe),G.return=P,G):(G=u(G,Q.children||[]),G.return=P,G)}function ie(P,G,Q,oe,ye){return G===null||G.tag!==7?(G=Va(Q,P.mode,oe,ye),G.return=P,G):(G=u(G,Q),G.return=P,G)}function re(P,G,Q){if(typeof G=="string"&&G!==""||typeof G=="number"||typeof G=="bigint")return G=Jc(""+G,P.mode,Q),G.return=P,G;if(typeof G=="object"&&G!==null){switch(G.$$typeof){case S:return Q=Sr(G.type,G.key,G.props,null,P.mode,Q),Vl(Q,G),Q.return=P,Q;case N:return G=Wc(G,P.mode,Q),G.return=P,G;case F:return G=Xa(G),re(P,G,Q)}if(M(G)||te(G))return G=Va(G,P.mode,Q,null),G.return=P,G;if(typeof G.then=="function")return re(P,Mr(G),Q);if(G.$$typeof===E)return re(P,_r(P,G),Q);Ar(P,G)}return null}function ee(P,G,Q,oe){var ye=G!==null?G.key:null;if(typeof Q=="string"&&Q!==""||typeof Q=="number"||typeof Q=="bigint")return ye!==null?null:C(P,G,""+Q,oe);if(typeof Q=="object"&&Q!==null){switch(Q.$$typeof){case S:return Q.key===ye?H(P,G,Q,oe):null;case N:return Q.key===ye?J(P,G,Q,oe):null;case F:return Q=Xa(Q),ee(P,G,Q,oe)}if(M(Q)||te(Q))return ye!==null?null:ie(P,G,Q,oe,null);if(typeof Q.then=="function")return ee(P,G,Mr(Q),oe);if(Q.$$typeof===E)return ee(P,G,_r(P,Q),oe);Ar(P,Q)}return null}function ne(P,G,Q,oe,ye){if(typeof oe=="string"&&oe!==""||typeof oe=="number"||typeof oe=="bigint")return P=P.get(Q)||null,C(G,P,""+oe,ye);if(typeof oe=="object"&&oe!==null){switch(oe.$$typeof){case S:return P=P.get(oe.key===null?Q:oe.key)||null,H(G,P,oe,ye);case N:return P=P.get(oe.key===null?Q:oe.key)||null,J(G,P,oe,ye);case F:return oe=Xa(oe),ne(P,G,Q,oe,ye)}if(M(oe)||te(oe))return P=P.get(Q)||null,ie(G,P,oe,ye,null);if(typeof oe.then=="function")return ne(P,G,Q,Mr(oe),ye);if(oe.$$typeof===E)return ne(P,G,Q,_r(G,oe),ye);Ar(G,oe)}return null}function he(P,G,Q,oe){for(var ye=null,Ie=null,me=G,Te=G=0,Re=null;me!==null&&Te<Q.length;Te++){me.index>Te?(Re=me,me=null):Re=me.sibling;var Le=ee(P,me,Q[Te],oe);if(Le===null){me===null&&(me=Re);break}e&&me&&Le.alternate===null&&n(P,me),G=h(Le,G,Te),Ie===null?ye=Le:Ie.sibling=Le,Ie=Le,me=Re}if(Te===Q.length)return i(P,me),De&&Mn(P,Te),ye;if(me===null){for(;Te<Q.length;Te++)me=re(P,Q[Te],oe),me!==null&&(G=h(me,G,Te),Ie===null?ye=me:Ie.sibling=me,Ie=me);return De&&Mn(P,Te),ye}for(me=r(me);Te<Q.length;Te++)Re=ne(me,P,Te,Q[Te],oe),Re!==null&&(e&&Re.alternate!==null&&me.delete(Re.key===null?Te:Re.key),G=h(Re,G,Te),Ie===null?ye=Re:Ie.sibling=Re,Ie=Re);return e&&me.forEach(function(Sa){return n(P,Sa)}),De&&Mn(P,Te),ye}function Se(P,G,Q,oe){if(Q==null)throw Error(o(151));for(var ye=null,Ie=null,me=G,Te=G=0,Re=null,Le=Q.next();me!==null&&!Le.done;Te++,Le=Q.next()){me.index>Te?(Re=me,me=null):Re=me.sibling;var Sa=ee(P,me,Le.value,oe);if(Sa===null){me===null&&(me=Re);break}e&&me&&Sa.alternate===null&&n(P,me),G=h(Sa,G,Te),Ie===null?ye=Sa:Ie.sibling=Sa,Ie=Sa,me=Re}if(Le.done)return i(P,me),De&&Mn(P,Te),ye;if(me===null){for(;!Le.done;Te++,Le=Q.next())Le=re(P,Le.value,oe),Le!==null&&(G=h(Le,G,Te),Ie===null?ye=Le:Ie.sibling=Le,Ie=Le);return De&&Mn(P,Te),ye}for(me=r(me);!Le.done;Te++,Le=Q.next())Le=ne(me,P,Te,Le.value,oe),Le!==null&&(e&&Le.alternate!==null&&me.delete(Le.key===null?Te:Le.key),G=h(Le,G,Te),Ie===null?ye=Le:Ie.sibling=Le,Ie=Le);return e&&me.forEach(function(x1){return n(P,x1)}),De&&Mn(P,Te),ye}function Ye(P,G,Q,oe){if(typeof Q=="object"&&Q!==null&&Q.type===_&&Q.key===null&&(Q=Q.props.children),typeof Q=="object"&&Q!==null){switch(Q.$$typeof){case S:e:{for(var ye=Q.key;G!==null;){if(G.key===ye){if(ye=Q.type,ye===_){if(G.tag===7){i(P,G.sibling),oe=u(G,Q.props.children),oe.return=P,P=oe;break e}}else if(G.elementType===ye||typeof ye=="object"&&ye!==null&&ye.$$typeof===F&&Xa(ye)===G.type){i(P,G.sibling),oe=u(G,Q.props),Vl(oe,Q),oe.return=P,P=oe;break e}i(P,G);break}else n(P,G);G=G.sibling}Q.type===_?(oe=Va(Q.props.children,P.mode,oe,Q.key),oe.return=P,P=oe):(oe=Sr(Q.type,Q.key,Q.props,null,P.mode,oe),Vl(oe,Q),oe.return=P,P=oe)}return b(P);case N:e:{for(ye=Q.key;G!==null;){if(G.key===ye)if(G.tag===4&&G.stateNode.containerInfo===Q.containerInfo&&G.stateNode.implementation===Q.implementation){i(P,G.sibling),oe=u(G,Q.children||[]),oe.return=P,P=oe;break e}else{i(P,G);break}else n(P,G);G=G.sibling}oe=Wc(Q,P.mode,oe),oe.return=P,P=oe}return b(P);case F:return Q=Xa(Q),Ye(P,G,Q,oe)}if(M(Q))return he(P,G,Q,oe);if(te(Q)){if(ye=te(Q),typeof ye!="function")throw Error(o(150));return Q=ye.call(Q),Se(P,G,Q,oe)}if(typeof Q.then=="function")return Ye(P,G,Mr(Q),oe);if(Q.$$typeof===E)return Ye(P,G,_r(P,Q),oe);Ar(P,Q)}return typeof Q=="string"&&Q!==""||typeof Q=="number"||typeof Q=="bigint"?(Q=""+Q,G!==null&&G.tag===6?(i(P,G.sibling),oe=u(G,Q),oe.return=P,P=oe):(i(P,G),oe=Jc(Q,P.mode,oe),oe.return=P,P=oe),b(P)):i(P,G)}return function(P,G,Q,oe){try{Gl=0;var ye=Ye(P,G,Q,oe);return Ui=null,ye}catch(me){if(me===qi||me===Cr)throw me;var Ie=Dt(29,me,null,P.mode);return Ie.lanes=oe,Ie.return=P,Ie}}}var Ka=om(!0),rm=om(!1),ia=!1;function du(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function fu(e,n){e=e.updateQueue,n.updateQueue===e&&(n.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function la(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function oa(e,n,i){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,(He&2)!==0){var u=r.pending;return u===null?n.next=n:(n.next=u.next,u.next=n),r.pending=n,n=br(e),Yh(e,null,i),n}return xr(e,r,n,i),br(e)}function Yl(e,n,i){if(n=n.updateQueue,n!==null&&(n=n.shared,(i&4194048)!==0)){var r=n.lanes;r&=e.pendingLanes,i|=r,n.lanes=i,Jo(e,i)}}function hu(e,n){var i=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,i===r)){var u=null,h=null;if(i=i.firstBaseUpdate,i!==null){do{var b={lane:i.lane,tag:i.tag,payload:i.payload,callback:null,next:null};h===null?u=h=b:h=h.next=b,i=i.next}while(i!==null);h===null?u=h=n:h=h.next=n}else u=h=n;i={baseState:r.baseState,firstBaseUpdate:u,lastBaseUpdate:h,shared:r.shared,callbacks:r.callbacks},e.updateQueue=i;return}e=i.lastBaseUpdate,e===null?i.firstBaseUpdate=n:e.next=n,i.lastBaseUpdate=n}var mu=!1;function Pl(){if(mu){var e=Bi;if(e!==null)throw e}}function $l(e,n,i,r){mu=!1;var u=e.updateQueue;ia=!1;var h=u.firstBaseUpdate,b=u.lastBaseUpdate,C=u.shared.pending;if(C!==null){u.shared.pending=null;var H=C,J=H.next;H.next=null,b===null?h=J:b.next=J,b=H;var ie=e.alternate;ie!==null&&(ie=ie.updateQueue,C=ie.lastBaseUpdate,C!==b&&(C===null?ie.firstBaseUpdate=J:C.next=J,ie.lastBaseUpdate=H))}if(h!==null){var re=u.baseState;b=0,ie=J=H=null,C=h;do{var ee=C.lane&-536870913,ne=ee!==C.lane;if(ne?(ze&ee)===ee:(r&ee)===ee){ee!==0&&ee===ki&&(mu=!0),ie!==null&&(ie=ie.next={lane:0,tag:C.tag,payload:C.payload,callback:null,next:null});e:{var he=e,Se=C;ee=n;var Ye=i;switch(Se.tag){case 1:if(he=Se.payload,typeof he=="function"){re=he.call(Ye,re,ee);break e}re=he;break e;case 3:he.flags=he.flags&-65537|128;case 0:if(he=Se.payload,ee=typeof he=="function"?he.call(Ye,re,ee):he,ee==null)break e;re=v({},re,ee);break e;case 2:ia=!0}}ee=C.callback,ee!==null&&(e.flags|=64,ne&&(e.flags|=8192),ne=u.callbacks,ne===null?u.callbacks=[ee]:ne.push(ee))}else ne={lane:ee,tag:C.tag,payload:C.payload,callback:C.callback,next:null},ie===null?(J=ie=ne,H=re):ie=ie.next=ne,b|=ee;if(C=C.next,C===null){if(C=u.shared.pending,C===null)break;ne=C,C=ne.next,ne.next=null,u.lastBaseUpdate=ne,u.shared.pending=null}}while(!0);ie===null&&(H=re),u.baseState=H,u.firstBaseUpdate=J,u.lastBaseUpdate=ie,h===null&&(u.shared.lanes=0),da|=b,e.lanes=b,e.memoizedState=re}}function sm(e,n){if(typeof e!="function")throw Error(o(191,e));e.call(n)}function cm(e,n){var i=e.callbacks;if(i!==null)for(e.callbacks=null,e=0;e<i.length;e++)sm(i[e],n)}var Gi=R(null),jr=R(0);function um(e,n){e=Bn,V(jr,e),V(Gi,n),Bn=e|n.baseLanes}function pu(){V(jr,Bn),V(Gi,Gi.current)}function gu(){Bn=jr.current,q(Gi),q(jr)}var Ot=R(null),$t=null;function ra(e){var n=e.alternate;V(et,et.current&1),V(Ot,e),$t===null&&(n===null||Gi.current!==null||n.memoizedState!==null)&&($t=e)}function yu(e){V(et,et.current),V(Ot,e),$t===null&&($t=e)}function dm(e){e.tag===22?(V(et,et.current),V(Ot,e),$t===null&&($t=e)):sa()}function sa(){V(et,et.current),V(Ot,Ot.current)}function It(e){q(Ot),$t===e&&($t=null),q(et)}var et=R(0);function zr(e){for(var n=e;n!==null;){if(n.tag===13){var i=n.memoizedState;if(i!==null&&(i=i.dehydrated,i===null||Nd(i)||_d(i)))return n}else if(n.tag===19&&(n.memoizedProps.revealOrder==="forwards"||n.memoizedProps.revealOrder==="backwards"||n.memoizedProps.revealOrder==="unstable_legacy-backwards"||n.memoizedProps.revealOrder==="together")){if((n.flags&128)!==0)return n}else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var zn=0,Ce=null,Ge=null,it=null,Rr=!1,Vi=!1,Qa=!1,Dr=0,Fl=0,Yi=null,cS=0;function Qe(){throw Error(o(321))}function vu(e,n){if(n===null)return!1;for(var i=0;i<n.length&&i<e.length;i++)if(!Rt(e[i],n[i]))return!1;return!0}function xu(e,n,i,r,u,h){return zn=h,Ce=n,n.memoizedState=null,n.updateQueue=null,n.lanes=0,T.H=e===null||e.memoizedState===null?Xm:Ou,Qa=!1,h=i(r,u),Qa=!1,Vi&&(h=hm(n,i,r,u)),fm(e),h}function fm(e){T.H=Kl;var n=Ge!==null&&Ge.next!==null;if(zn=0,it=Ge=Ce=null,Rr=!1,Fl=0,Yi=null,n)throw Error(o(300));e===null||lt||(e=e.dependencies,e!==null&&Nr(e)&&(lt=!0))}function hm(e,n,i,r){Ce=e;var u=0;do{if(Vi&&(Yi=null),Fl=0,Vi=!1,25<=u)throw Error(o(301));if(u+=1,it=Ge=null,e.updateQueue!=null){var h=e.updateQueue;h.lastEffect=null,h.events=null,h.stores=null,h.memoCache!=null&&(h.memoCache.index=0)}T.H=Zm,h=n(i,r)}while(Vi);return h}function uS(){var e=T.H,n=e.useState()[0];return n=typeof n.then=="function"?Xl(n):n,e=e.useState()[0],(Ge!==null?Ge.memoizedState:null)!==e&&(Ce.flags|=1024),n}function bu(){var e=Dr!==0;return Dr=0,e}function Su(e,n,i){n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~i}function wu(e){if(Rr){for(e=e.memoizedState;e!==null;){var n=e.queue;n!==null&&(n.pending=null),e=e.next}Rr=!1}zn=0,it=Ge=Ce=null,Vi=!1,Fl=Dr=0,Yi=null}function St(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return it===null?Ce.memoizedState=it=e:it=it.next=e,it}function tt(){if(Ge===null){var e=Ce.alternate;e=e!==null?e.memoizedState:null}else e=Ge.next;var n=it===null?Ce.memoizedState:it.next;if(n!==null)it=n,Ge=e;else{if(e===null)throw Ce.alternate===null?Error(o(467)):Error(o(310));Ge=e,e={memoizedState:Ge.memoizedState,baseState:Ge.baseState,baseQueue:Ge.baseQueue,queue:Ge.queue,next:null},it===null?Ce.memoizedState=it=e:it=it.next=e}return it}function Or(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Xl(e){var n=Fl;return Fl+=1,Yi===null&&(Yi=[]),e=am(Yi,e,n),n=Ce,(it===null?n.memoizedState:it.next)===null&&(n=n.alternate,T.H=n===null||n.memoizedState===null?Xm:Ou),e}function Ir(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Xl(e);if(e.$$typeof===E)return mt(e)}throw Error(o(438,String(e)))}function Nu(e){var n=null,i=Ce.updateQueue;if(i!==null&&(n=i.memoCache),n==null){var r=Ce.alternate;r!==null&&(r=r.updateQueue,r!==null&&(r=r.memoCache,r!=null&&(n={data:r.data.map(function(u){return u.slice()}),index:0})))}if(n==null&&(n={data:[],index:0}),i===null&&(i=Or(),Ce.updateQueue=i),i.memoCache=n,i=n.data[n.index],i===void 0)for(i=n.data[n.index]=Array(e),r=0;r<e;r++)i[r]=de;return n.index++,i}function Rn(e,n){return typeof n=="function"?n(e):n}function Lr(e){var n=tt();return _u(n,Ge,e)}function _u(e,n,i){var r=e.queue;if(r===null)throw Error(o(311));r.lastRenderedReducer=i;var u=e.baseQueue,h=r.pending;if(h!==null){if(u!==null){var b=u.next;u.next=h.next,h.next=b}n.baseQueue=u=h,r.pending=null}if(h=e.baseState,u===null)e.memoizedState=h;else{n=u.next;var C=b=null,H=null,J=n,ie=!1;do{var re=J.lane&-536870913;if(re!==J.lane?(ze&re)===re:(zn&re)===re){var ee=J.revertLane;if(ee===0)H!==null&&(H=H.next={lane:0,revertLane:0,gesture:null,action:J.action,hasEagerState:J.hasEagerState,eagerState:J.eagerState,next:null}),re===ki&&(ie=!0);else if((zn&ee)===ee){J=J.next,ee===ki&&(ie=!0);continue}else re={lane:0,revertLane:J.revertLane,gesture:null,action:J.action,hasEagerState:J.hasEagerState,eagerState:J.eagerState,next:null},H===null?(C=H=re,b=h):H=H.next=re,Ce.lanes|=ee,da|=ee;re=J.action,Qa&&i(h,re),h=J.hasEagerState?J.eagerState:i(h,re)}else ee={lane:re,revertLane:J.revertLane,gesture:J.gesture,action:J.action,hasEagerState:J.hasEagerState,eagerState:J.eagerState,next:null},H===null?(C=H=ee,b=h):H=H.next=ee,Ce.lanes|=re,da|=re;J=J.next}while(J!==null&&J!==n);if(H===null?b=h:H.next=C,!Rt(h,e.memoizedState)&&(lt=!0,ie&&(i=Bi,i!==null)))throw i;e.memoizedState=h,e.baseState=b,e.baseQueue=H,r.lastRenderedState=h}return u===null&&(r.lanes=0),[e.memoizedState,r.dispatch]}function Eu(e){var n=tt(),i=n.queue;if(i===null)throw Error(o(311));i.lastRenderedReducer=e;var r=i.dispatch,u=i.pending,h=n.memoizedState;if(u!==null){i.pending=null;var b=u=u.next;do h=e(h,b.action),b=b.next;while(b!==u);Rt(h,n.memoizedState)||(lt=!0),n.memoizedState=h,n.baseQueue===null&&(n.baseState=h),i.lastRenderedState=h}return[h,r]}function mm(e,n,i){var r=Ce,u=tt(),h=De;if(h){if(i===void 0)throw Error(o(407));i=i()}else i=n();var b=!Rt((Ge||u).memoizedState,i);if(b&&(u.memoizedState=i,lt=!0),u=u.queue,Mu(ym.bind(null,r,u,e),[e]),u.getSnapshot!==n||b||it!==null&&it.memoizedState.tag&1){if(r.flags|=2048,Pi(9,{destroy:void 0},gm.bind(null,r,u,i,n),null),Pe===null)throw Error(o(349));h||(zn&127)!==0||pm(r,n,i)}return i}function pm(e,n,i){e.flags|=16384,e={getSnapshot:n,value:i},n=Ce.updateQueue,n===null?(n=Or(),Ce.updateQueue=n,n.stores=[e]):(i=n.stores,i===null?n.stores=[e]:i.push(e))}function gm(e,n,i,r){n.value=i,n.getSnapshot=r,vm(n)&&xm(e)}function ym(e,n,i){return i(function(){vm(n)&&xm(e)})}function vm(e){var n=e.getSnapshot;e=e.value;try{var i=n();return!Rt(e,i)}catch{return!0}}function xm(e){var n=Ga(e,2);n!==null&&At(n,e,2)}function Cu(e){var n=St();if(typeof e=="function"){var i=e;if(e=i(),Qa){sn(!0);try{i()}finally{sn(!1)}}}return n.memoizedState=n.baseState=e,n.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Rn,lastRenderedState:e},n}function bm(e,n,i,r){return e.baseState=i,_u(e,Ge,typeof r=="function"?r:Rn)}function dS(e,n,i,r,u){if(Br(e))throw Error(o(485));if(e=n.action,e!==null){var h={payload:u,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(b){h.listeners.push(b)}};T.T!==null?i(!0):h.isTransition=!1,r(h),i=n.pending,i===null?(h.next=n.pending=h,Sm(n,h)):(h.next=i.next,n.pending=i.next=h)}}function Sm(e,n){var i=n.action,r=n.payload,u=e.state;if(n.isTransition){var h=T.T,b={};T.T=b;try{var C=i(u,r),H=T.S;H!==null&&H(b,C),wm(e,n,C)}catch(J){Tu(e,n,J)}finally{h!==null&&b.types!==null&&(h.types=b.types),T.T=h}}else try{h=i(u,r),wm(e,n,h)}catch(J){Tu(e,n,J)}}function wm(e,n,i){i!==null&&typeof i=="object"&&typeof i.then=="function"?i.then(function(r){Nm(e,n,r)},function(r){return Tu(e,n,r)}):Nm(e,n,i)}function Nm(e,n,i){n.status="fulfilled",n.value=i,_m(n),e.state=i,n=e.pending,n!==null&&(i=n.next,i===n?e.pending=null:(i=i.next,n.next=i,Sm(e,i)))}function Tu(e,n,i){var r=e.pending;if(e.pending=null,r!==null){r=r.next;do n.status="rejected",n.reason=i,_m(n),n=n.next;while(n!==r)}e.action=null}function _m(e){e=e.listeners;for(var n=0;n<e.length;n++)(0,e[n])()}function Em(e,n){return n}function Cm(e,n){if(De){var i=Pe.formState;if(i!==null){e:{var r=Ce;if(De){if($e){t:{for(var u=$e,h=Pt;u.nodeType!==8;){if(!h){u=null;break t}if(u=Ft(u.nextSibling),u===null){u=null;break t}}h=u.data,u=h==="F!"||h==="F"?u:null}if(u){$e=Ft(u.nextSibling),r=u.data==="F!";break e}}na(r)}r=!1}r&&(n=i[0])}}return i=St(),i.memoizedState=i.baseState=n,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Em,lastRenderedState:n},i.queue=r,i=Pm.bind(null,Ce,r),r.dispatch=i,r=Cu(!1),h=Du.bind(null,Ce,!1,r.queue),r=St(),u={state:n,dispatch:null,action:e,pending:null},r.queue=u,i=dS.bind(null,Ce,u,h,i),u.dispatch=i,r.memoizedState=e,[n,i,!1]}function Tm(e){var n=tt();return Mm(n,Ge,e)}function Mm(e,n,i){if(n=_u(e,n,Em)[0],e=Lr(Rn)[0],typeof n=="object"&&n!==null&&typeof n.then=="function")try{var r=Xl(n)}catch(b){throw b===qi?Cr:b}else r=n;n=tt();var u=n.queue,h=u.dispatch;return i!==n.memoizedState&&(Ce.flags|=2048,Pi(9,{destroy:void 0},fS.bind(null,u,i),null)),[r,h,e]}function fS(e,n){e.action=n}function Am(e){var n=tt(),i=Ge;if(i!==null)return Mm(n,i,e);tt(),n=n.memoizedState,i=tt();var r=i.queue.dispatch;return i.memoizedState=e,[n,r,!1]}function Pi(e,n,i,r){return e={tag:e,create:i,deps:r,inst:n,next:null},n=Ce.updateQueue,n===null&&(n=Or(),Ce.updateQueue=n),i=n.lastEffect,i===null?n.lastEffect=e.next=e:(r=i.next,i.next=e,e.next=r,n.lastEffect=e),e}function jm(){return tt().memoizedState}function Hr(e,n,i,r){var u=St();Ce.flags|=e,u.memoizedState=Pi(1|n,{destroy:void 0},i,r===void 0?null:r)}function kr(e,n,i,r){var u=tt();r=r===void 0?null:r;var h=u.memoizedState.inst;Ge!==null&&r!==null&&vu(r,Ge.memoizedState.deps)?u.memoizedState=Pi(n,h,i,r):(Ce.flags|=e,u.memoizedState=Pi(1|n,h,i,r))}function zm(e,n){Hr(8390656,8,e,n)}function Mu(e,n){kr(2048,8,e,n)}function hS(e){Ce.flags|=4;var n=Ce.updateQueue;if(n===null)n=Or(),Ce.updateQueue=n,n.events=[e];else{var i=n.events;i===null?n.events=[e]:i.push(e)}}function Rm(e){var n=tt().memoizedState;return hS({ref:n,nextImpl:e}),function(){if((He&2)!==0)throw Error(o(440));return n.impl.apply(void 0,arguments)}}function Dm(e,n){return kr(4,2,e,n)}function Om(e,n){return kr(4,4,e,n)}function Im(e,n){if(typeof n=="function"){e=e();var i=n(e);return function(){typeof i=="function"?i():n(null)}}if(n!=null)return e=e(),n.current=e,function(){n.current=null}}function Lm(e,n,i){i=i!=null?i.concat([e]):null,kr(4,4,Im.bind(null,n,e),i)}function Au(){}function Hm(e,n){var i=tt();n=n===void 0?null:n;var r=i.memoizedState;return n!==null&&vu(n,r[1])?r[0]:(i.memoizedState=[e,n],e)}function km(e,n){var i=tt();n=n===void 0?null:n;var r=i.memoizedState;if(n!==null&&vu(n,r[1]))return r[0];if(r=e(),Qa){sn(!0);try{e()}finally{sn(!1)}}return i.memoizedState=[r,n],r}function ju(e,n,i){return i===void 0||(zn&1073741824)!==0&&(ze&261930)===0?e.memoizedState=n:(e.memoizedState=i,e=Bp(),Ce.lanes|=e,da|=e,i)}function Bm(e,n,i,r){return Rt(i,n)?i:Gi.current!==null?(e=ju(e,i,r),Rt(e,n)||(lt=!0),e):(zn&42)===0||(zn&1073741824)!==0&&(ze&261930)===0?(lt=!0,e.memoizedState=i):(e=Bp(),Ce.lanes|=e,da|=e,n)}function qm(e,n,i,r,u){var h=I.p;I.p=h!==0&&8>h?h:8;var b=T.T,C={};T.T=C,Du(e,!1,n,i);try{var H=u(),J=T.S;if(J!==null&&J(C,H),H!==null&&typeof H=="object"&&typeof H.then=="function"){var ie=sS(H,r);Zl(e,n,ie,kt(e))}else Zl(e,n,r,kt(e))}catch(re){Zl(e,n,{then:function(){},status:"rejected",reason:re},kt())}finally{I.p=h,b!==null&&C.types!==null&&(b.types=C.types),T.T=b}}function mS(){}function zu(e,n,i,r){if(e.tag!==5)throw Error(o(476));var u=Um(e).queue;qm(e,u,n,U,i===null?mS:function(){return Gm(e),i(r)})}function Um(e){var n=e.memoizedState;if(n!==null)return n;n={memoizedState:U,baseState:U,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Rn,lastRenderedState:U},next:null};var i={};return n.next={memoizedState:i,baseState:i,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Rn,lastRenderedState:i},next:null},e.memoizedState=n,e=e.alternate,e!==null&&(e.memoizedState=n),n}function Gm(e){var n=Um(e);n.next===null&&(n=e.alternate.memoizedState),Zl(e,n.next.queue,{},kt())}function Ru(){return mt(ho)}function Vm(){return tt().memoizedState}function Ym(){return tt().memoizedState}function pS(e){for(var n=e.return;n!==null;){switch(n.tag){case 24:case 3:var i=kt();e=la(i);var r=oa(n,e,i);r!==null&&(At(r,n,i),Yl(r,n,i)),n={cache:ru()},e.payload=n;return}n=n.return}}function gS(e,n,i){var r=kt();i={lane:r,revertLane:0,gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null},Br(e)?$m(n,i):(i=Kc(e,n,i,r),i!==null&&(At(i,e,r),Fm(i,n,r)))}function Pm(e,n,i){var r=kt();Zl(e,n,i,r)}function Zl(e,n,i,r){var u={lane:r,revertLane:0,gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null};if(Br(e))$m(n,u);else{var h=e.alternate;if(e.lanes===0&&(h===null||h.lanes===0)&&(h=n.lastRenderedReducer,h!==null))try{var b=n.lastRenderedState,C=h(b,i);if(u.hasEagerState=!0,u.eagerState=C,Rt(C,b))return xr(e,n,u,0),Pe===null&&vr(),!1}catch{}if(i=Kc(e,n,u,r),i!==null)return At(i,e,r),Fm(i,n,r),!0}return!1}function Du(e,n,i,r){if(r={lane:2,revertLane:dd(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Br(e)){if(n)throw Error(o(479))}else n=Kc(e,i,r,2),n!==null&&At(n,e,2)}function Br(e){var n=e.alternate;return e===Ce||n!==null&&n===Ce}function $m(e,n){Vi=Rr=!0;var i=e.pending;i===null?n.next=n:(n.next=i.next,i.next=n),e.pending=n}function Fm(e,n,i){if((i&4194048)!==0){var r=n.lanes;r&=e.pendingLanes,i|=r,n.lanes=i,Jo(e,i)}}var Kl={readContext:mt,use:Ir,useCallback:Qe,useContext:Qe,useEffect:Qe,useImperativeHandle:Qe,useLayoutEffect:Qe,useInsertionEffect:Qe,useMemo:Qe,useReducer:Qe,useRef:Qe,useState:Qe,useDebugValue:Qe,useDeferredValue:Qe,useTransition:Qe,useSyncExternalStore:Qe,useId:Qe,useHostTransitionStatus:Qe,useFormState:Qe,useActionState:Qe,useOptimistic:Qe,useMemoCache:Qe,useCacheRefresh:Qe};Kl.useEffectEvent=Qe;var Xm={readContext:mt,use:Ir,useCallback:function(e,n){return St().memoizedState=[e,n===void 0?null:n],e},useContext:mt,useEffect:zm,useImperativeHandle:function(e,n,i){i=i!=null?i.concat([e]):null,Hr(4194308,4,Im.bind(null,n,e),i)},useLayoutEffect:function(e,n){return Hr(4194308,4,e,n)},useInsertionEffect:function(e,n){Hr(4,2,e,n)},useMemo:function(e,n){var i=St();n=n===void 0?null:n;var r=e();if(Qa){sn(!0);try{e()}finally{sn(!1)}}return i.memoizedState=[r,n],r},useReducer:function(e,n,i){var r=St();if(i!==void 0){var u=i(n);if(Qa){sn(!0);try{i(n)}finally{sn(!1)}}}else u=n;return r.memoizedState=r.baseState=u,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:u},r.queue=e,e=e.dispatch=gS.bind(null,Ce,e),[r.memoizedState,e]},useRef:function(e){var n=St();return e={current:e},n.memoizedState=e},useState:function(e){e=Cu(e);var n=e.queue,i=Pm.bind(null,Ce,n);return n.dispatch=i,[e.memoizedState,i]},useDebugValue:Au,useDeferredValue:function(e,n){var i=St();return ju(i,e,n)},useTransition:function(){var e=Cu(!1);return e=qm.bind(null,Ce,e.queue,!0,!1),St().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,n,i){var r=Ce,u=St();if(De){if(i===void 0)throw Error(o(407));i=i()}else{if(i=n(),Pe===null)throw Error(o(349));(ze&127)!==0||pm(r,n,i)}u.memoizedState=i;var h={value:i,getSnapshot:n};return u.queue=h,zm(ym.bind(null,r,h,e),[e]),r.flags|=2048,Pi(9,{destroy:void 0},gm.bind(null,r,h,i,n),null),i},useId:function(){var e=St(),n=Pe.identifierPrefix;if(De){var i=dn,r=un;i=(r&~(1<<32-bt(r)-1)).toString(32)+i,n="_"+n+"R_"+i,i=Dr++,0<i&&(n+="H"+i.toString(32)),n+="_"}else i=cS++,n="_"+n+"r_"+i.toString(32)+"_";return e.memoizedState=n},useHostTransitionStatus:Ru,useFormState:Cm,useActionState:Cm,useOptimistic:function(e){var n=St();n.memoizedState=n.baseState=e;var i={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return n.queue=i,n=Du.bind(null,Ce,!0,i),i.dispatch=n,[e,n]},useMemoCache:Nu,useCacheRefresh:function(){return St().memoizedState=pS.bind(null,Ce)},useEffectEvent:function(e){var n=St(),i={impl:e};return n.memoizedState=i,function(){if((He&2)!==0)throw Error(o(440));return i.impl.apply(void 0,arguments)}}},Ou={readContext:mt,use:Ir,useCallback:Hm,useContext:mt,useEffect:Mu,useImperativeHandle:Lm,useInsertionEffect:Dm,useLayoutEffect:Om,useMemo:km,useReducer:Lr,useRef:jm,useState:function(){return Lr(Rn)},useDebugValue:Au,useDeferredValue:function(e,n){var i=tt();return Bm(i,Ge.memoizedState,e,n)},useTransition:function(){var e=Lr(Rn)[0],n=tt().memoizedState;return[typeof e=="boolean"?e:Xl(e),n]},useSyncExternalStore:mm,useId:Vm,useHostTransitionStatus:Ru,useFormState:Tm,useActionState:Tm,useOptimistic:function(e,n){var i=tt();return bm(i,Ge,e,n)},useMemoCache:Nu,useCacheRefresh:Ym};Ou.useEffectEvent=Rm;var Zm={readContext:mt,use:Ir,useCallback:Hm,useContext:mt,useEffect:Mu,useImperativeHandle:Lm,useInsertionEffect:Dm,useLayoutEffect:Om,useMemo:km,useReducer:Eu,useRef:jm,useState:function(){return Eu(Rn)},useDebugValue:Au,useDeferredValue:function(e,n){var i=tt();return Ge===null?ju(i,e,n):Bm(i,Ge.memoizedState,e,n)},useTransition:function(){var e=Eu(Rn)[0],n=tt().memoizedState;return[typeof e=="boolean"?e:Xl(e),n]},useSyncExternalStore:mm,useId:Vm,useHostTransitionStatus:Ru,useFormState:Am,useActionState:Am,useOptimistic:function(e,n){var i=tt();return Ge!==null?bm(i,Ge,e,n):(i.baseState=e,[e,i.queue.dispatch])},useMemoCache:Nu,useCacheRefresh:Ym};Zm.useEffectEvent=Rm;function Iu(e,n,i,r){n=e.memoizedState,i=i(r,n),i=i==null?n:v({},n,i),e.memoizedState=i,e.lanes===0&&(e.updateQueue.baseState=i)}var Lu={enqueueSetState:function(e,n,i){e=e._reactInternals;var r=kt(),u=la(r);u.payload=n,i!=null&&(u.callback=i),n=oa(e,u,r),n!==null&&(At(n,e,r),Yl(n,e,r))},enqueueReplaceState:function(e,n,i){e=e._reactInternals;var r=kt(),u=la(r);u.tag=1,u.payload=n,i!=null&&(u.callback=i),n=oa(e,u,r),n!==null&&(At(n,e,r),Yl(n,e,r))},enqueueForceUpdate:function(e,n){e=e._reactInternals;var i=kt(),r=la(i);r.tag=2,n!=null&&(r.callback=n),n=oa(e,r,i),n!==null&&(At(n,e,i),Yl(n,e,i))}};function Km(e,n,i,r,u,h,b){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(r,h,b):n.prototype&&n.prototype.isPureReactComponent?!Ll(i,r)||!Ll(u,h):!0}function Qm(e,n,i,r){e=n.state,typeof n.componentWillReceiveProps=="function"&&n.componentWillReceiveProps(i,r),typeof n.UNSAFE_componentWillReceiveProps=="function"&&n.UNSAFE_componentWillReceiveProps(i,r),n.state!==e&&Lu.enqueueReplaceState(n,n.state,null)}function Ja(e,n){var i=n;if("ref"in n){i={};for(var r in n)r!=="ref"&&(i[r]=n[r])}if(e=e.defaultProps){i===n&&(i=v({},i));for(var u in e)i[u]===void 0&&(i[u]=e[u])}return i}function Jm(e){yr(e)}function Wm(e){console.error(e)}function ep(e){yr(e)}function qr(e,n){try{var i=e.onUncaughtError;i(n.value,{componentStack:n.stack})}catch(r){setTimeout(function(){throw r})}}function tp(e,n,i){try{var r=e.onCaughtError;r(i.value,{componentStack:i.stack,errorBoundary:n.tag===1?n.stateNode:null})}catch(u){setTimeout(function(){throw u})}}function Hu(e,n,i){return i=la(i),i.tag=3,i.payload={element:null},i.callback=function(){qr(e,n)},i}function np(e){return e=la(e),e.tag=3,e}function ap(e,n,i,r){var u=i.type.getDerivedStateFromError;if(typeof u=="function"){var h=r.value;e.payload=function(){return u(h)},e.callback=function(){tp(n,i,r)}}var b=i.stateNode;b!==null&&typeof b.componentDidCatch=="function"&&(e.callback=function(){tp(n,i,r),typeof u!="function"&&(fa===null?fa=new Set([this]):fa.add(this));var C=r.stack;this.componentDidCatch(r.value,{componentStack:C!==null?C:""})})}function yS(e,n,i,r,u){if(i.flags|=32768,r!==null&&typeof r=="object"&&typeof r.then=="function"){if(n=i.alternate,n!==null&&Hi(n,i,u,!0),i=Ot.current,i!==null){switch(i.tag){case 31:case 13:return $t===null?Jr():i.alternate===null&&Je===0&&(Je=3),i.flags&=-257,i.flags|=65536,i.lanes=u,r===Tr?i.flags|=16384:(n=i.updateQueue,n===null?i.updateQueue=new Set([r]):n.add(r),sd(e,r,u)),!1;case 22:return i.flags|=65536,r===Tr?i.flags|=16384:(n=i.updateQueue,n===null?(n={transitions:null,markerInstances:null,retryQueue:new Set([r])},i.updateQueue=n):(i=n.retryQueue,i===null?n.retryQueue=new Set([r]):i.add(r)),sd(e,r,u)),!1}throw Error(o(435,i.tag))}return sd(e,r,u),Jr(),!1}if(De)return n=Ot.current,n!==null?((n.flags&65536)===0&&(n.flags|=256),n.flags|=65536,n.lanes=u,r!==nu&&(e=Error(o(422),{cause:r}),Bl(Gt(e,i)))):(r!==nu&&(n=Error(o(423),{cause:r}),Bl(Gt(n,i))),e=e.current.alternate,e.flags|=65536,u&=-u,e.lanes|=u,r=Gt(r,i),u=Hu(e.stateNode,r,u),hu(e,u),Je!==4&&(Je=2)),!1;var h=Error(o(520),{cause:r});if(h=Gt(h,i),io===null?io=[h]:io.push(h),Je!==4&&(Je=2),n===null)return!0;r=Gt(r,i),i=n;do{switch(i.tag){case 3:return i.flags|=65536,e=u&-u,i.lanes|=e,e=Hu(i.stateNode,r,e),hu(i,e),!1;case 1:if(n=i.type,h=i.stateNode,(i.flags&128)===0&&(typeof n.getDerivedStateFromError=="function"||h!==null&&typeof h.componentDidCatch=="function"&&(fa===null||!fa.has(h))))return i.flags|=65536,u&=-u,i.lanes|=u,u=np(u),ap(u,e,i,r),hu(i,u),!1}i=i.return}while(i!==null);return!1}var ku=Error(o(461)),lt=!1;function pt(e,n,i,r){n.child=e===null?rm(n,null,i,r):Ka(n,e.child,i,r)}function ip(e,n,i,r,u){i=i.render;var h=n.ref;if("ref"in r){var b={};for(var C in r)C!=="ref"&&(b[C]=r[C])}else b=r;return $a(n),r=xu(e,n,i,b,h,u),C=bu(),e!==null&&!lt?(Su(e,n,u),Dn(e,n,u)):(De&&C&&eu(n),n.flags|=1,pt(e,n,r,u),n.child)}function lp(e,n,i,r,u){if(e===null){var h=i.type;return typeof h=="function"&&!Qc(h)&&h.defaultProps===void 0&&i.compare===null?(n.tag=15,n.type=h,op(e,n,h,r,u)):(e=Sr(i.type,null,r,n,n.mode,u),e.ref=n.ref,e.return=n,n.child=e)}if(h=e.child,!$u(e,u)){var b=h.memoizedProps;if(i=i.compare,i=i!==null?i:Ll,i(b,r)&&e.ref===n.ref)return Dn(e,n,u)}return n.flags|=1,e=Tn(h,r),e.ref=n.ref,e.return=n,n.child=e}function op(e,n,i,r,u){if(e!==null){var h=e.memoizedProps;if(Ll(h,r)&&e.ref===n.ref)if(lt=!1,n.pendingProps=r=h,$u(e,u))(e.flags&131072)!==0&&(lt=!0);else return n.lanes=e.lanes,Dn(e,n,u)}return Bu(e,n,i,r,u)}function rp(e,n,i,r){var u=r.children,h=e!==null?e.memoizedState:null;if(e===null&&n.stateNode===null&&(n.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),r.mode==="hidden"){if((n.flags&128)!==0){if(h=h!==null?h.baseLanes|i:i,e!==null){for(r=n.child=e.child,u=0;r!==null;)u=u|r.lanes|r.childLanes,r=r.sibling;r=u&~h}else r=0,n.child=null;return sp(e,n,h,i,r)}if((i&536870912)!==0)n.memoizedState={baseLanes:0,cachePool:null},e!==null&&Er(n,h!==null?h.cachePool:null),h!==null?um(n,h):pu(),dm(n);else return r=n.lanes=536870912,sp(e,n,h!==null?h.baseLanes|i:i,i,r)}else h!==null?(Er(n,h.cachePool),um(n,h),sa(),n.memoizedState=null):(e!==null&&Er(n,null),pu(),sa());return pt(e,n,u,i),n.child}function Ql(e,n){return e!==null&&e.tag===22||n.stateNode!==null||(n.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),n.sibling}function sp(e,n,i,r,u){var h=cu();return h=h===null?null:{parent:at._currentValue,pool:h},n.memoizedState={baseLanes:i,cachePool:h},e!==null&&Er(n,null),pu(),dm(n),e!==null&&Hi(e,n,r,!0),n.childLanes=u,null}function Ur(e,n){return n=Vr({mode:n.mode,children:n.children},e.mode),n.ref=e.ref,e.child=n,n.return=e,n}function cp(e,n,i){return Ka(n,e.child,null,i),e=Ur(n,n.pendingProps),e.flags|=2,It(n),n.memoizedState=null,e}function vS(e,n,i){var r=n.pendingProps,u=(n.flags&128)!==0;if(n.flags&=-129,e===null){if(De){if(r.mode==="hidden")return e=Ur(n,r),n.lanes=536870912,Ql(null,e);if(yu(n),(e=$e)?(e=Sg(e,Pt),e=e!==null&&e.data==="&"?e:null,e!==null&&(n.memoizedState={dehydrated:e,treeContext:ea!==null?{id:un,overflow:dn}:null,retryLane:536870912,hydrationErrors:null},i=$h(e),i.return=n,n.child=i,ht=n,$e=null)):e=null,e===null)throw na(n);return n.lanes=536870912,null}return Ur(n,r)}var h=e.memoizedState;if(h!==null){var b=h.dehydrated;if(yu(n),u)if(n.flags&256)n.flags&=-257,n=cp(e,n,i);else if(n.memoizedState!==null)n.child=e.child,n.flags|=128,n=null;else throw Error(o(558));else if(lt||Hi(e,n,i,!1),u=(i&e.childLanes)!==0,lt||u){if(r=Pe,r!==null&&(b=Wo(r,i),b!==0&&b!==h.retryLane))throw h.retryLane=b,Ga(e,b),At(r,e,b),ku;Jr(),n=cp(e,n,i)}else e=h.treeContext,$e=Ft(b.nextSibling),ht=n,De=!0,ta=null,Pt=!1,e!==null&&Zh(n,e),n=Ur(n,r),n.flags|=4096;return n}return e=Tn(e.child,{mode:r.mode,children:r.children}),e.ref=n.ref,n.child=e,e.return=n,e}function Gr(e,n){var i=n.ref;if(i===null)e!==null&&e.ref!==null&&(n.flags|=4194816);else{if(typeof i!="function"&&typeof i!="object")throw Error(o(284));(e===null||e.ref!==i)&&(n.flags|=4194816)}}function Bu(e,n,i,r,u){return $a(n),i=xu(e,n,i,r,void 0,u),r=bu(),e!==null&&!lt?(Su(e,n,u),Dn(e,n,u)):(De&&r&&eu(n),n.flags|=1,pt(e,n,i,u),n.child)}function up(e,n,i,r,u,h){return $a(n),n.updateQueue=null,i=hm(n,r,i,u),fm(e),r=bu(),e!==null&&!lt?(Su(e,n,h),Dn(e,n,h)):(De&&r&&eu(n),n.flags|=1,pt(e,n,i,h),n.child)}function dp(e,n,i,r,u){if($a(n),n.stateNode===null){var h=Di,b=i.contextType;typeof b=="object"&&b!==null&&(h=mt(b)),h=new i(r,h),n.memoizedState=h.state!==null&&h.state!==void 0?h.state:null,h.updater=Lu,n.stateNode=h,h._reactInternals=n,h=n.stateNode,h.props=r,h.state=n.memoizedState,h.refs={},du(n),b=i.contextType,h.context=typeof b=="object"&&b!==null?mt(b):Di,h.state=n.memoizedState,b=i.getDerivedStateFromProps,typeof b=="function"&&(Iu(n,i,b,r),h.state=n.memoizedState),typeof i.getDerivedStateFromProps=="function"||typeof h.getSnapshotBeforeUpdate=="function"||typeof h.UNSAFE_componentWillMount!="function"&&typeof h.componentWillMount!="function"||(b=h.state,typeof h.componentWillMount=="function"&&h.componentWillMount(),typeof h.UNSAFE_componentWillMount=="function"&&h.UNSAFE_componentWillMount(),b!==h.state&&Lu.enqueueReplaceState(h,h.state,null),$l(n,r,h,u),Pl(),h.state=n.memoizedState),typeof h.componentDidMount=="function"&&(n.flags|=4194308),r=!0}else if(e===null){h=n.stateNode;var C=n.memoizedProps,H=Ja(i,C);h.props=H;var J=h.context,ie=i.contextType;b=Di,typeof ie=="object"&&ie!==null&&(b=mt(ie));var re=i.getDerivedStateFromProps;ie=typeof re=="function"||typeof h.getSnapshotBeforeUpdate=="function",C=n.pendingProps!==C,ie||typeof h.UNSAFE_componentWillReceiveProps!="function"&&typeof h.componentWillReceiveProps!="function"||(C||J!==b)&&Qm(n,h,r,b),ia=!1;var ee=n.memoizedState;h.state=ee,$l(n,r,h,u),Pl(),J=n.memoizedState,C||ee!==J||ia?(typeof re=="function"&&(Iu(n,i,re,r),J=n.memoizedState),(H=ia||Km(n,i,H,r,ee,J,b))?(ie||typeof h.UNSAFE_componentWillMount!="function"&&typeof h.componentWillMount!="function"||(typeof h.componentWillMount=="function"&&h.componentWillMount(),typeof h.UNSAFE_componentWillMount=="function"&&h.UNSAFE_componentWillMount()),typeof h.componentDidMount=="function"&&(n.flags|=4194308)):(typeof h.componentDidMount=="function"&&(n.flags|=4194308),n.memoizedProps=r,n.memoizedState=J),h.props=r,h.state=J,h.context=b,r=H):(typeof h.componentDidMount=="function"&&(n.flags|=4194308),r=!1)}else{h=n.stateNode,fu(e,n),b=n.memoizedProps,ie=Ja(i,b),h.props=ie,re=n.pendingProps,ee=h.context,J=i.contextType,H=Di,typeof J=="object"&&J!==null&&(H=mt(J)),C=i.getDerivedStateFromProps,(J=typeof C=="function"||typeof h.getSnapshotBeforeUpdate=="function")||typeof h.UNSAFE_componentWillReceiveProps!="function"&&typeof h.componentWillReceiveProps!="function"||(b!==re||ee!==H)&&Qm(n,h,r,H),ia=!1,ee=n.memoizedState,h.state=ee,$l(n,r,h,u),Pl();var ne=n.memoizedState;b!==re||ee!==ne||ia||e!==null&&e.dependencies!==null&&Nr(e.dependencies)?(typeof C=="function"&&(Iu(n,i,C,r),ne=n.memoizedState),(ie=ia||Km(n,i,ie,r,ee,ne,H)||e!==null&&e.dependencies!==null&&Nr(e.dependencies))?(J||typeof h.UNSAFE_componentWillUpdate!="function"&&typeof h.componentWillUpdate!="function"||(typeof h.componentWillUpdate=="function"&&h.componentWillUpdate(r,ne,H),typeof h.UNSAFE_componentWillUpdate=="function"&&h.UNSAFE_componentWillUpdate(r,ne,H)),typeof h.componentDidUpdate=="function"&&(n.flags|=4),typeof h.getSnapshotBeforeUpdate=="function"&&(n.flags|=1024)):(typeof h.componentDidUpdate!="function"||b===e.memoizedProps&&ee===e.memoizedState||(n.flags|=4),typeof h.getSnapshotBeforeUpdate!="function"||b===e.memoizedProps&&ee===e.memoizedState||(n.flags|=1024),n.memoizedProps=r,n.memoizedState=ne),h.props=r,h.state=ne,h.context=H,r=ie):(typeof h.componentDidUpdate!="function"||b===e.memoizedProps&&ee===e.memoizedState||(n.flags|=4),typeof h.getSnapshotBeforeUpdate!="function"||b===e.memoizedProps&&ee===e.memoizedState||(n.flags|=1024),r=!1)}return h=r,Gr(e,n),r=(n.flags&128)!==0,h||r?(h=n.stateNode,i=r&&typeof i.getDerivedStateFromError!="function"?null:h.render(),n.flags|=1,e!==null&&r?(n.child=Ka(n,e.child,null,u),n.child=Ka(n,null,i,u)):pt(e,n,i,u),n.memoizedState=h.state,e=n.child):e=Dn(e,n,u),e}function fp(e,n,i,r){return Ya(),n.flags|=256,pt(e,n,i,r),n.child}var qu={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Uu(e){return{baseLanes:e,cachePool:tm()}}function Gu(e,n,i){return e=e!==null?e.childLanes&~i:0,n&&(e|=Ht),e}function hp(e,n,i){var r=n.pendingProps,u=!1,h=(n.flags&128)!==0,b;if((b=h)||(b=e!==null&&e.memoizedState===null?!1:(et.current&2)!==0),b&&(u=!0,n.flags&=-129),b=(n.flags&32)!==0,n.flags&=-33,e===null){if(De){if(u?ra(n):sa(),(e=$e)?(e=Sg(e,Pt),e=e!==null&&e.data!=="&"?e:null,e!==null&&(n.memoizedState={dehydrated:e,treeContext:ea!==null?{id:un,overflow:dn}:null,retryLane:536870912,hydrationErrors:null},i=$h(e),i.return=n,n.child=i,ht=n,$e=null)):e=null,e===null)throw na(n);return _d(e)?n.lanes=32:n.lanes=536870912,null}var C=r.children;return r=r.fallback,u?(sa(),u=n.mode,C=Vr({mode:"hidden",children:C},u),r=Va(r,u,i,null),C.return=n,r.return=n,C.sibling=r,n.child=C,r=n.child,r.memoizedState=Uu(i),r.childLanes=Gu(e,b,i),n.memoizedState=qu,Ql(null,r)):(ra(n),Vu(n,C))}var H=e.memoizedState;if(H!==null&&(C=H.dehydrated,C!==null)){if(h)n.flags&256?(ra(n),n.flags&=-257,n=Yu(e,n,i)):n.memoizedState!==null?(sa(),n.child=e.child,n.flags|=128,n=null):(sa(),C=r.fallback,u=n.mode,r=Vr({mode:"visible",children:r.children},u),C=Va(C,u,i,null),C.flags|=2,r.return=n,C.return=n,r.sibling=C,n.child=r,Ka(n,e.child,null,i),r=n.child,r.memoizedState=Uu(i),r.childLanes=Gu(e,b,i),n.memoizedState=qu,n=Ql(null,r));else if(ra(n),_d(C)){if(b=C.nextSibling&&C.nextSibling.dataset,b)var J=b.dgst;b=J,r=Error(o(419)),r.stack="",r.digest=b,Bl({value:r,source:null,stack:null}),n=Yu(e,n,i)}else if(lt||Hi(e,n,i,!1),b=(i&e.childLanes)!==0,lt||b){if(b=Pe,b!==null&&(r=Wo(b,i),r!==0&&r!==H.retryLane))throw H.retryLane=r,Ga(e,r),At(b,e,r),ku;Nd(C)||Jr(),n=Yu(e,n,i)}else Nd(C)?(n.flags|=192,n.child=e.child,n=null):(e=H.treeContext,$e=Ft(C.nextSibling),ht=n,De=!0,ta=null,Pt=!1,e!==null&&Zh(n,e),n=Vu(n,r.children),n.flags|=4096);return n}return u?(sa(),C=r.fallback,u=n.mode,H=e.child,J=H.sibling,r=Tn(H,{mode:"hidden",children:r.children}),r.subtreeFlags=H.subtreeFlags&65011712,J!==null?C=Tn(J,C):(C=Va(C,u,i,null),C.flags|=2),C.return=n,r.return=n,r.sibling=C,n.child=r,Ql(null,r),r=n.child,C=e.child.memoizedState,C===null?C=Uu(i):(u=C.cachePool,u!==null?(H=at._currentValue,u=u.parent!==H?{parent:H,pool:H}:u):u=tm(),C={baseLanes:C.baseLanes|i,cachePool:u}),r.memoizedState=C,r.childLanes=Gu(e,b,i),n.memoizedState=qu,Ql(e.child,r)):(ra(n),i=e.child,e=i.sibling,i=Tn(i,{mode:"visible",children:r.children}),i.return=n,i.sibling=null,e!==null&&(b=n.deletions,b===null?(n.deletions=[e],n.flags|=16):b.push(e)),n.child=i,n.memoizedState=null,i)}function Vu(e,n){return n=Vr({mode:"visible",children:n},e.mode),n.return=e,e.child=n}function Vr(e,n){return e=Dt(22,e,null,n),e.lanes=0,e}function Yu(e,n,i){return Ka(n,e.child,null,i),e=Vu(n,n.pendingProps.children),e.flags|=2,n.memoizedState=null,e}function mp(e,n,i){e.lanes|=n;var r=e.alternate;r!==null&&(r.lanes|=n),lu(e.return,n,i)}function Pu(e,n,i,r,u,h){var b=e.memoizedState;b===null?e.memoizedState={isBackwards:n,rendering:null,renderingStartTime:0,last:r,tail:i,tailMode:u,treeForkCount:h}:(b.isBackwards=n,b.rendering=null,b.renderingStartTime=0,b.last=r,b.tail=i,b.tailMode=u,b.treeForkCount=h)}function pp(e,n,i){var r=n.pendingProps,u=r.revealOrder,h=r.tail;r=r.children;var b=et.current,C=(b&2)!==0;if(C?(b=b&1|2,n.flags|=128):b&=1,V(et,b),pt(e,n,r,i),r=De?kl:0,!C&&e!==null&&(e.flags&128)!==0)e:for(e=n.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&mp(e,i,n);else if(e.tag===19)mp(e,i,n);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===n)break e;for(;e.sibling===null;){if(e.return===null||e.return===n)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(u){case"forwards":for(i=n.child,u=null;i!==null;)e=i.alternate,e!==null&&zr(e)===null&&(u=i),i=i.sibling;i=u,i===null?(u=n.child,n.child=null):(u=i.sibling,i.sibling=null),Pu(n,!1,u,i,h,r);break;case"backwards":case"unstable_legacy-backwards":for(i=null,u=n.child,n.child=null;u!==null;){if(e=u.alternate,e!==null&&zr(e)===null){n.child=u;break}e=u.sibling,u.sibling=i,i=u,u=e}Pu(n,!0,i,null,h,r);break;case"together":Pu(n,!1,null,null,void 0,r);break;default:n.memoizedState=null}return n.child}function Dn(e,n,i){if(e!==null&&(n.dependencies=e.dependencies),da|=n.lanes,(i&n.childLanes)===0)if(e!==null){if(Hi(e,n,i,!1),(i&n.childLanes)===0)return null}else return null;if(e!==null&&n.child!==e.child)throw Error(o(153));if(n.child!==null){for(e=n.child,i=Tn(e,e.pendingProps),n.child=i,i.return=n;e.sibling!==null;)e=e.sibling,i=i.sibling=Tn(e,e.pendingProps),i.return=n;i.sibling=null}return n.child}function $u(e,n){return(e.lanes&n)!==0?!0:(e=e.dependencies,!!(e!==null&&Nr(e)))}function xS(e,n,i){switch(n.tag){case 3:ce(n,n.stateNode.containerInfo),aa(n,at,e.memoizedState.cache),Ya();break;case 27:case 5:be(n);break;case 4:ce(n,n.stateNode.containerInfo);break;case 10:aa(n,n.type,n.memoizedProps.value);break;case 31:if(n.memoizedState!==null)return n.flags|=128,yu(n),null;break;case 13:var r=n.memoizedState;if(r!==null)return r.dehydrated!==null?(ra(n),n.flags|=128,null):(i&n.child.childLanes)!==0?hp(e,n,i):(ra(n),e=Dn(e,n,i),e!==null?e.sibling:null);ra(n);break;case 19:var u=(e.flags&128)!==0;if(r=(i&n.childLanes)!==0,r||(Hi(e,n,i,!1),r=(i&n.childLanes)!==0),u){if(r)return pp(e,n,i);n.flags|=128}if(u=n.memoizedState,u!==null&&(u.rendering=null,u.tail=null,u.lastEffect=null),V(et,et.current),r)break;return null;case 22:return n.lanes=0,rp(e,n,i,n.pendingProps);case 24:aa(n,at,e.memoizedState.cache)}return Dn(e,n,i)}function gp(e,n,i){if(e!==null)if(e.memoizedProps!==n.pendingProps)lt=!0;else{if(!$u(e,i)&&(n.flags&128)===0)return lt=!1,xS(e,n,i);lt=(e.flags&131072)!==0}else lt=!1,De&&(n.flags&1048576)!==0&&Xh(n,kl,n.index);switch(n.lanes=0,n.tag){case 16:e:{var r=n.pendingProps;if(e=Xa(n.elementType),n.type=e,typeof e=="function")Qc(e)?(r=Ja(e,r),n.tag=1,n=dp(null,n,e,r,i)):(n.tag=0,n=Bu(null,n,e,r,i));else{if(e!=null){var u=e.$$typeof;if(u===w){n.tag=11,n=ip(null,n,e,r,i);break e}else if(u===k){n.tag=14,n=lp(null,n,e,r,i);break e}}throw n=z(e)||e,Error(o(306,n,""))}}return n;case 0:return Bu(e,n,n.type,n.pendingProps,i);case 1:return r=n.type,u=Ja(r,n.pendingProps),dp(e,n,r,u,i);case 3:e:{if(ce(n,n.stateNode.containerInfo),e===null)throw Error(o(387));r=n.pendingProps;var h=n.memoizedState;u=h.element,fu(e,n),$l(n,r,null,i);var b=n.memoizedState;if(r=b.cache,aa(n,at,r),r!==h.cache&&ou(n,[at],i,!0),Pl(),r=b.element,h.isDehydrated)if(h={element:r,isDehydrated:!1,cache:b.cache},n.updateQueue.baseState=h,n.memoizedState=h,n.flags&256){n=fp(e,n,r,i);break e}else if(r!==u){u=Gt(Error(o(424)),n),Bl(u),n=fp(e,n,r,i);break e}else for(e=n.stateNode.containerInfo,e.nodeType===9?e=e.body:e=e.nodeName==="HTML"?e.ownerDocument.body:e,$e=Ft(e.firstChild),ht=n,De=!0,ta=null,Pt=!0,i=rm(n,null,r,i),n.child=i;i;)i.flags=i.flags&-3|4096,i=i.sibling;else{if(Ya(),r===u){n=Dn(e,n,i);break e}pt(e,n,r,i)}n=n.child}return n;case 26:return Gr(e,n),e===null?(i=Tg(n.type,null,n.pendingProps,null))?n.memoizedState=i:De||(i=n.type,e=n.pendingProps,r=ls($.current).createElement(i),r[st]=n,r[yt]=e,gt(r,i,e),nt(r),n.stateNode=r):n.memoizedState=Tg(n.type,e.memoizedProps,n.pendingProps,e.memoizedState),null;case 27:return be(n),e===null&&De&&(r=n.stateNode=_g(n.type,n.pendingProps,$.current),ht=n,Pt=!0,u=$e,ga(n.type)?(Ed=u,$e=Ft(r.firstChild)):$e=u),pt(e,n,n.pendingProps.children,i),Gr(e,n),e===null&&(n.flags|=4194304),n.child;case 5:return e===null&&De&&((u=r=$e)&&(r=ZS(r,n.type,n.pendingProps,Pt),r!==null?(n.stateNode=r,ht=n,$e=Ft(r.firstChild),Pt=!1,u=!0):u=!1),u||na(n)),be(n),u=n.type,h=n.pendingProps,b=e!==null?e.memoizedProps:null,r=h.children,bd(u,h)?r=null:b!==null&&bd(u,b)&&(n.flags|=32),n.memoizedState!==null&&(u=xu(e,n,uS,null,null,i),ho._currentValue=u),Gr(e,n),pt(e,n,r,i),n.child;case 6:return e===null&&De&&((e=i=$e)&&(i=KS(i,n.pendingProps,Pt),i!==null?(n.stateNode=i,ht=n,$e=null,e=!0):e=!1),e||na(n)),null;case 13:return hp(e,n,i);case 4:return ce(n,n.stateNode.containerInfo),r=n.pendingProps,e===null?n.child=Ka(n,null,r,i):pt(e,n,r,i),n.child;case 11:return ip(e,n,n.type,n.pendingProps,i);case 7:return pt(e,n,n.pendingProps,i),n.child;case 8:return pt(e,n,n.pendingProps.children,i),n.child;case 12:return pt(e,n,n.pendingProps.children,i),n.child;case 10:return r=n.pendingProps,aa(n,n.type,r.value),pt(e,n,r.children,i),n.child;case 9:return u=n.type._context,r=n.pendingProps.children,$a(n),u=mt(u),r=r(u),n.flags|=1,pt(e,n,r,i),n.child;case 14:return lp(e,n,n.type,n.pendingProps,i);case 15:return op(e,n,n.type,n.pendingProps,i);case 19:return pp(e,n,i);case 31:return vS(e,n,i);case 22:return rp(e,n,i,n.pendingProps);case 24:return $a(n),r=mt(at),e===null?(u=cu(),u===null&&(u=Pe,h=ru(),u.pooledCache=h,h.refCount++,h!==null&&(u.pooledCacheLanes|=i),u=h),n.memoizedState={parent:r,cache:u},du(n),aa(n,at,u)):((e.lanes&i)!==0&&(fu(e,n),$l(n,null,null,i),Pl()),u=e.memoizedState,h=n.memoizedState,u.parent!==r?(u={parent:r,cache:r},n.memoizedState=u,n.lanes===0&&(n.memoizedState=n.updateQueue.baseState=u),aa(n,at,r)):(r=h.cache,aa(n,at,r),r!==u.cache&&ou(n,[at],i,!0))),pt(e,n,n.pendingProps.children,i),n.child;case 29:throw n.pendingProps}throw Error(o(156,n.tag))}function On(e){e.flags|=4}function Fu(e,n,i,r,u){if((n=(e.mode&32)!==0)&&(n=!1),n){if(e.flags|=16777216,(u&335544128)===u)if(e.stateNode.complete)e.flags|=8192;else if(Vp())e.flags|=8192;else throw Za=Tr,uu}else e.flags&=-16777217}function yp(e,n){if(n.type!=="stylesheet"||(n.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!Rg(n))if(Vp())e.flags|=8192;else throw Za=Tr,uu}function Yr(e,n){n!==null&&(e.flags|=4),e.flags&16384&&(n=e.tag!==22?Ko():536870912,e.lanes|=n,Zi|=n)}function Jl(e,n){if(!De)switch(e.tailMode){case"hidden":n=e.tail;for(var i=null;n!==null;)n.alternate!==null&&(i=n),n=n.sibling;i===null?e.tail=null:i.sibling=null;break;case"collapsed":i=e.tail;for(var r=null;i!==null;)i.alternate!==null&&(r=i),i=i.sibling;r===null?n||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Fe(e){var n=e.alternate!==null&&e.alternate.child===e.child,i=0,r=0;if(n)for(var u=e.child;u!==null;)i|=u.lanes|u.childLanes,r|=u.subtreeFlags&65011712,r|=u.flags&65011712,u.return=e,u=u.sibling;else for(u=e.child;u!==null;)i|=u.lanes|u.childLanes,r|=u.subtreeFlags,r|=u.flags,u.return=e,u=u.sibling;return e.subtreeFlags|=r,e.childLanes=i,n}function bS(e,n,i){var r=n.pendingProps;switch(tu(n),n.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Fe(n),null;case 1:return Fe(n),null;case 3:return i=n.stateNode,r=null,e!==null&&(r=e.memoizedState.cache),n.memoizedState.cache!==r&&(n.flags|=2048),jn(at),ue(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),(e===null||e.child===null)&&(Li(n)?On(n):e===null||e.memoizedState.isDehydrated&&(n.flags&256)===0||(n.flags|=1024,au())),Fe(n),null;case 26:var u=n.type,h=n.memoizedState;return e===null?(On(n),h!==null?(Fe(n),yp(n,h)):(Fe(n),Fu(n,u,null,r,i))):h?h!==e.memoizedState?(On(n),Fe(n),yp(n,h)):(Fe(n),n.flags&=-16777217):(e=e.memoizedProps,e!==r&&On(n),Fe(n),Fu(n,u,e,r,i)),null;case 27:if(ve(n),i=$.current,u=n.type,e!==null&&n.stateNode!=null)e.memoizedProps!==r&&On(n);else{if(!r){if(n.stateNode===null)throw Error(o(166));return Fe(n),null}e=W.current,Li(n)?Kh(n):(e=_g(u,r,i),n.stateNode=e,On(n))}return Fe(n),null;case 5:if(ve(n),u=n.type,e!==null&&n.stateNode!=null)e.memoizedProps!==r&&On(n);else{if(!r){if(n.stateNode===null)throw Error(o(166));return Fe(n),null}if(h=W.current,Li(n))Kh(n);else{var b=ls($.current);switch(h){case 1:h=b.createElementNS("http://www.w3.org/2000/svg",u);break;case 2:h=b.createElementNS("http://www.w3.org/1998/Math/MathML",u);break;default:switch(u){case"svg":h=b.createElementNS("http://www.w3.org/2000/svg",u);break;case"math":h=b.createElementNS("http://www.w3.org/1998/Math/MathML",u);break;case"script":h=b.createElement("div"),h.innerHTML="<script><\/script>",h=h.removeChild(h.firstChild);break;case"select":h=typeof r.is=="string"?b.createElement("select",{is:r.is}):b.createElement("select"),r.multiple?h.multiple=!0:r.size&&(h.size=r.size);break;default:h=typeof r.is=="string"?b.createElement(u,{is:r.is}):b.createElement(u)}}h[st]=n,h[yt]=r;e:for(b=n.child;b!==null;){if(b.tag===5||b.tag===6)h.appendChild(b.stateNode);else if(b.tag!==4&&b.tag!==27&&b.child!==null){b.child.return=b,b=b.child;continue}if(b===n)break e;for(;b.sibling===null;){if(b.return===null||b.return===n)break e;b=b.return}b.sibling.return=b.return,b=b.sibling}n.stateNode=h;e:switch(gt(h,u,r),u){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}r&&On(n)}}return Fe(n),Fu(n,n.type,e===null?null:e.memoizedProps,n.pendingProps,i),null;case 6:if(e&&n.stateNode!=null)e.memoizedProps!==r&&On(n);else{if(typeof r!="string"&&n.stateNode===null)throw Error(o(166));if(e=$.current,Li(n)){if(e=n.stateNode,i=n.memoizedProps,r=null,u=ht,u!==null)switch(u.tag){case 27:case 5:r=u.memoizedProps}e[st]=n,e=!!(e.nodeValue===i||r!==null&&r.suppressHydrationWarning===!0||hg(e.nodeValue,i)),e||na(n,!0)}else e=ls(e).createTextNode(r),e[st]=n,n.stateNode=e}return Fe(n),null;case 31:if(i=n.memoizedState,e===null||e.memoizedState!==null){if(r=Li(n),i!==null){if(e===null){if(!r)throw Error(o(318));if(e=n.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(557));e[st]=n}else Ya(),(n.flags&128)===0&&(n.memoizedState=null),n.flags|=4;Fe(n),e=!1}else i=au(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),e=!0;if(!e)return n.flags&256?(It(n),n):(It(n),null);if((n.flags&128)!==0)throw Error(o(558))}return Fe(n),null;case 13:if(r=n.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(u=Li(n),r!==null&&r.dehydrated!==null){if(e===null){if(!u)throw Error(o(318));if(u=n.memoizedState,u=u!==null?u.dehydrated:null,!u)throw Error(o(317));u[st]=n}else Ya(),(n.flags&128)===0&&(n.memoizedState=null),n.flags|=4;Fe(n),u=!1}else u=au(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=u),u=!0;if(!u)return n.flags&256?(It(n),n):(It(n),null)}return It(n),(n.flags&128)!==0?(n.lanes=i,n):(i=r!==null,e=e!==null&&e.memoizedState!==null,i&&(r=n.child,u=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(u=r.alternate.memoizedState.cachePool.pool),h=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(h=r.memoizedState.cachePool.pool),h!==u&&(r.flags|=2048)),i!==e&&i&&(n.child.flags|=8192),Yr(n,n.updateQueue),Fe(n),null);case 4:return ue(),e===null&&pd(n.stateNode.containerInfo),Fe(n),null;case 10:return jn(n.type),Fe(n),null;case 19:if(q(et),r=n.memoizedState,r===null)return Fe(n),null;if(u=(n.flags&128)!==0,h=r.rendering,h===null)if(u)Jl(r,!1);else{if(Je!==0||e!==null&&(e.flags&128)!==0)for(e=n.child;e!==null;){if(h=zr(e),h!==null){for(n.flags|=128,Jl(r,!1),e=h.updateQueue,n.updateQueue=e,Yr(n,e),n.subtreeFlags=0,e=i,i=n.child;i!==null;)Ph(i,e),i=i.sibling;return V(et,et.current&1|2),De&&Mn(n,r.treeForkCount),n.child}e=e.sibling}r.tail!==null&&ft()>Zr&&(n.flags|=128,u=!0,Jl(r,!1),n.lanes=4194304)}else{if(!u)if(e=zr(h),e!==null){if(n.flags|=128,u=!0,e=e.updateQueue,n.updateQueue=e,Yr(n,e),Jl(r,!0),r.tail===null&&r.tailMode==="hidden"&&!h.alternate&&!De)return Fe(n),null}else 2*ft()-r.renderingStartTime>Zr&&i!==536870912&&(n.flags|=128,u=!0,Jl(r,!1),n.lanes=4194304);r.isBackwards?(h.sibling=n.child,n.child=h):(e=r.last,e!==null?e.sibling=h:n.child=h,r.last=h)}return r.tail!==null?(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=ft(),e.sibling=null,i=et.current,V(et,u?i&1|2:i&1),De&&Mn(n,r.treeForkCount),e):(Fe(n),null);case 22:case 23:return It(n),gu(),r=n.memoizedState!==null,e!==null?e.memoizedState!==null!==r&&(n.flags|=8192):r&&(n.flags|=8192),r?(i&536870912)!==0&&(n.flags&128)===0&&(Fe(n),n.subtreeFlags&6&&(n.flags|=8192)):Fe(n),i=n.updateQueue,i!==null&&Yr(n,i.retryQueue),i=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(i=e.memoizedState.cachePool.pool),r=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(r=n.memoizedState.cachePool.pool),r!==i&&(n.flags|=2048),e!==null&&q(Fa),null;case 24:return i=null,e!==null&&(i=e.memoizedState.cache),n.memoizedState.cache!==i&&(n.flags|=2048),jn(at),Fe(n),null;case 25:return null;case 30:return null}throw Error(o(156,n.tag))}function SS(e,n){switch(tu(n),n.tag){case 1:return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 3:return jn(at),ue(),e=n.flags,(e&65536)!==0&&(e&128)===0?(n.flags=e&-65537|128,n):null;case 26:case 27:case 5:return ve(n),null;case 31:if(n.memoizedState!==null){if(It(n),n.alternate===null)throw Error(o(340));Ya()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 13:if(It(n),e=n.memoizedState,e!==null&&e.dehydrated!==null){if(n.alternate===null)throw Error(o(340));Ya()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 19:return q(et),null;case 4:return ue(),null;case 10:return jn(n.type),null;case 22:case 23:return It(n),gu(),e!==null&&q(Fa),e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 24:return jn(at),null;case 25:return null;default:return null}}function vp(e,n){switch(tu(n),n.tag){case 3:jn(at),ue();break;case 26:case 27:case 5:ve(n);break;case 4:ue();break;case 31:n.memoizedState!==null&&It(n);break;case 13:It(n);break;case 19:q(et);break;case 10:jn(n.type);break;case 22:case 23:It(n),gu(),e!==null&&q(Fa);break;case 24:jn(at)}}function Wl(e,n){try{var i=n.updateQueue,r=i!==null?i.lastEffect:null;if(r!==null){var u=r.next;i=u;do{if((i.tag&e)===e){r=void 0;var h=i.create,b=i.inst;r=h(),b.destroy=r}i=i.next}while(i!==u)}}catch(C){qe(n,n.return,C)}}function ca(e,n,i){try{var r=n.updateQueue,u=r!==null?r.lastEffect:null;if(u!==null){var h=u.next;r=h;do{if((r.tag&e)===e){var b=r.inst,C=b.destroy;if(C!==void 0){b.destroy=void 0,u=n;var H=i,J=C;try{J()}catch(ie){qe(u,H,ie)}}}r=r.next}while(r!==h)}}catch(ie){qe(n,n.return,ie)}}function xp(e){var n=e.updateQueue;if(n!==null){var i=e.stateNode;try{cm(n,i)}catch(r){qe(e,e.return,r)}}}function bp(e,n,i){i.props=Ja(e.type,e.memoizedProps),i.state=e.memoizedState;try{i.componentWillUnmount()}catch(r){qe(e,n,r)}}function eo(e,n){try{var i=e.ref;if(i!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof i=="function"?e.refCleanup=i(r):i.current=r}}catch(u){qe(e,n,u)}}function fn(e,n){var i=e.ref,r=e.refCleanup;if(i!==null)if(typeof r=="function")try{r()}catch(u){qe(e,n,u)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof i=="function")try{i(null)}catch(u){qe(e,n,u)}else i.current=null}function Sp(e){var n=e.type,i=e.memoizedProps,r=e.stateNode;try{e:switch(n){case"button":case"input":case"select":case"textarea":i.autoFocus&&r.focus();break e;case"img":i.src?r.src=i.src:i.srcSet&&(r.srcset=i.srcSet)}}catch(u){qe(e,e.return,u)}}function Xu(e,n,i){try{var r=e.stateNode;VS(r,e.type,i,n),r[yt]=n}catch(u){qe(e,e.return,u)}}function wp(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&ga(e.type)||e.tag===4}function Zu(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||wp(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.tag===27&&ga(e.type)||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 Ku(e,n,i){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?(i.nodeType===9?i.body:i.nodeName==="HTML"?i.ownerDocument.body:i).insertBefore(e,n):(n=i.nodeType===9?i.body:i.nodeName==="HTML"?i.ownerDocument.body:i,n.appendChild(e),i=i._reactRootContainer,i!=null||n.onclick!==null||(n.onclick=En));else if(r!==4&&(r===27&&ga(e.type)&&(i=e.stateNode,n=null),e=e.child,e!==null))for(Ku(e,n,i),e=e.sibling;e!==null;)Ku(e,n,i),e=e.sibling}function Pr(e,n,i){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?i.insertBefore(e,n):i.appendChild(e);else if(r!==4&&(r===27&&ga(e.type)&&(i=e.stateNode),e=e.child,e!==null))for(Pr(e,n,i),e=e.sibling;e!==null;)Pr(e,n,i),e=e.sibling}function Np(e){var n=e.stateNode,i=e.memoizedProps;try{for(var r=e.type,u=n.attributes;u.length;)n.removeAttributeNode(u[0]);gt(n,r,i),n[st]=e,n[yt]=i}catch(h){qe(e,e.return,h)}}var In=!1,ot=!1,Qu=!1,_p=typeof WeakSet=="function"?WeakSet:Set,dt=null;function wS(e,n){if(e=e.containerInfo,vd=fs,e=Lh(e),Yc(e)){if("selectionStart"in e)var i={start:e.selectionStart,end:e.selectionEnd};else e:{i=(i=e.ownerDocument)&&i.defaultView||window;var r=i.getSelection&&i.getSelection();if(r&&r.rangeCount!==0){i=r.anchorNode;var u=r.anchorOffset,h=r.focusNode;r=r.focusOffset;try{i.nodeType,h.nodeType}catch{i=null;break e}var b=0,C=-1,H=-1,J=0,ie=0,re=e,ee=null;t:for(;;){for(var ne;re!==i||u!==0&&re.nodeType!==3||(C=b+u),re!==h||r!==0&&re.nodeType!==3||(H=b+r),re.nodeType===3&&(b+=re.nodeValue.length),(ne=re.firstChild)!==null;)ee=re,re=ne;for(;;){if(re===e)break t;if(ee===i&&++J===u&&(C=b),ee===h&&++ie===r&&(H=b),(ne=re.nextSibling)!==null)break;re=ee,ee=re.parentNode}re=ne}i=C===-1||H===-1?null:{start:C,end:H}}else i=null}i=i||{start:0,end:0}}else i=null;for(xd={focusedElem:e,selectionRange:i},fs=!1,dt=n;dt!==null;)if(n=dt,e=n.child,(n.subtreeFlags&1028)!==0&&e!==null)e.return=n,dt=e;else for(;dt!==null;){switch(n=dt,h=n.alternate,e=n.flags,n.tag){case 0:if((e&4)!==0&&(e=n.updateQueue,e=e!==null?e.events:null,e!==null))for(i=0;i<e.length;i++)u=e[i],u.ref.impl=u.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&h!==null){e=void 0,i=n,u=h.memoizedProps,h=h.memoizedState,r=i.stateNode;try{var he=Ja(i.type,u);e=r.getSnapshotBeforeUpdate(he,h),r.__reactInternalSnapshotBeforeUpdate=e}catch(Se){qe(i,i.return,Se)}}break;case 3:if((e&1024)!==0){if(e=n.stateNode.containerInfo,i=e.nodeType,i===9)wd(e);else if(i===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":wd(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(o(163))}if(e=n.sibling,e!==null){e.return=n.return,dt=e;break}dt=n.return}}function Ep(e,n,i){var r=i.flags;switch(i.tag){case 0:case 11:case 15:Hn(e,i),r&4&&Wl(5,i);break;case 1:if(Hn(e,i),r&4)if(e=i.stateNode,n===null)try{e.componentDidMount()}catch(b){qe(i,i.return,b)}else{var u=Ja(i.type,n.memoizedProps);n=n.memoizedState;try{e.componentDidUpdate(u,n,e.__reactInternalSnapshotBeforeUpdate)}catch(b){qe(i,i.return,b)}}r&64&&xp(i),r&512&&eo(i,i.return);break;case 3:if(Hn(e,i),r&64&&(e=i.updateQueue,e!==null)){if(n=null,i.child!==null)switch(i.child.tag){case 27:case 5:n=i.child.stateNode;break;case 1:n=i.child.stateNode}try{cm(e,n)}catch(b){qe(i,i.return,b)}}break;case 27:n===null&&r&4&&Np(i);case 26:case 5:Hn(e,i),n===null&&r&4&&Sp(i),r&512&&eo(i,i.return);break;case 12:Hn(e,i);break;case 31:Hn(e,i),r&4&&Mp(e,i);break;case 13:Hn(e,i),r&4&&Ap(e,i),r&64&&(e=i.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(i=zS.bind(null,i),QS(e,i))));break;case 22:if(r=i.memoizedState!==null||In,!r){n=n!==null&&n.memoizedState!==null||ot,u=In;var h=ot;In=r,(ot=n)&&!h?kn(e,i,(i.subtreeFlags&8772)!==0):Hn(e,i),In=u,ot=h}break;case 30:break;default:Hn(e,i)}}function Cp(e){var n=e.alternate;n!==null&&(e.alternate=null,Cp(n)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(n=e.stateNode,n!==null&&Cl(n)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var Xe=null,Et=!1;function Ln(e,n,i){for(i=i.child;i!==null;)Tp(e,n,i),i=i.sibling}function Tp(e,n,i){if(xt&&typeof xt.onCommitFiberUnmount=="function")try{xt.onCommitFiberUnmount(Da,i)}catch{}switch(i.tag){case 26:ot||fn(i,n),Ln(e,n,i),i.memoizedState?i.memoizedState.count--:i.stateNode&&(i=i.stateNode,i.parentNode.removeChild(i));break;case 27:ot||fn(i,n);var r=Xe,u=Et;ga(i.type)&&(Xe=i.stateNode,Et=!1),Ln(e,n,i),co(i.stateNode),Xe=r,Et=u;break;case 5:ot||fn(i,n);case 6:if(r=Xe,u=Et,Xe=null,Ln(e,n,i),Xe=r,Et=u,Xe!==null)if(Et)try{(Xe.nodeType===9?Xe.body:Xe.nodeName==="HTML"?Xe.ownerDocument.body:Xe).removeChild(i.stateNode)}catch(h){qe(i,n,h)}else try{Xe.removeChild(i.stateNode)}catch(h){qe(i,n,h)}break;case 18:Xe!==null&&(Et?(e=Xe,xg(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,i.stateNode),al(e)):xg(Xe,i.stateNode));break;case 4:r=Xe,u=Et,Xe=i.stateNode.containerInfo,Et=!0,Ln(e,n,i),Xe=r,Et=u;break;case 0:case 11:case 14:case 15:ca(2,i,n),ot||ca(4,i,n),Ln(e,n,i);break;case 1:ot||(fn(i,n),r=i.stateNode,typeof r.componentWillUnmount=="function"&&bp(i,n,r)),Ln(e,n,i);break;case 21:Ln(e,n,i);break;case 22:ot=(r=ot)||i.memoizedState!==null,Ln(e,n,i),ot=r;break;default:Ln(e,n,i)}}function Mp(e,n){if(n.memoizedState===null&&(e=n.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{al(e)}catch(i){qe(n,n.return,i)}}}function Ap(e,n){if(n.memoizedState===null&&(e=n.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{al(e)}catch(i){qe(n,n.return,i)}}function NS(e){switch(e.tag){case 31:case 13:case 19:var n=e.stateNode;return n===null&&(n=e.stateNode=new _p),n;case 22:return e=e.stateNode,n=e._retryCache,n===null&&(n=e._retryCache=new _p),n;default:throw Error(o(435,e.tag))}}function $r(e,n){var i=NS(e);n.forEach(function(r){if(!i.has(r)){i.add(r);var u=RS.bind(null,e,r);r.then(u,u)}})}function Ct(e,n){var i=n.deletions;if(i!==null)for(var r=0;r<i.length;r++){var u=i[r],h=e,b=n,C=b;e:for(;C!==null;){switch(C.tag){case 27:if(ga(C.type)){Xe=C.stateNode,Et=!1;break e}break;case 5:Xe=C.stateNode,Et=!1;break e;case 3:case 4:Xe=C.stateNode.containerInfo,Et=!0;break e}C=C.return}if(Xe===null)throw Error(o(160));Tp(h,b,u),Xe=null,Et=!1,h=u.alternate,h!==null&&(h.return=null),u.return=null}if(n.subtreeFlags&13886)for(n=n.child;n!==null;)jp(n,e),n=n.sibling}var Wt=null;function jp(e,n){var i=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:Ct(n,e),Tt(e),r&4&&(ca(3,e,e.return),Wl(3,e),ca(5,e,e.return));break;case 1:Ct(n,e),Tt(e),r&512&&(ot||i===null||fn(i,i.return)),r&64&&In&&(e=e.updateQueue,e!==null&&(r=e.callbacks,r!==null&&(i=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=i===null?r:i.concat(r))));break;case 26:var u=Wt;if(Ct(n,e),Tt(e),r&512&&(ot||i===null||fn(i,i.return)),r&4){var h=i!==null?i.memoizedState:null;if(r=e.memoizedState,i===null)if(r===null)if(e.stateNode===null){e:{r=e.type,i=e.memoizedProps,u=u.ownerDocument||u;t:switch(r){case"title":h=u.getElementsByTagName("title")[0],(!h||h[La]||h[st]||h.namespaceURI==="http://www.w3.org/2000/svg"||h.hasAttribute("itemprop"))&&(h=u.createElement(r),u.head.insertBefore(h,u.querySelector("head > title"))),gt(h,r,i),h[st]=e,nt(h),r=h;break e;case"link":var b=jg("link","href",u).get(r+(i.href||""));if(b){for(var C=0;C<b.length;C++)if(h=b[C],h.getAttribute("href")===(i.href==null||i.href===""?null:i.href)&&h.getAttribute("rel")===(i.rel==null?null:i.rel)&&h.getAttribute("title")===(i.title==null?null:i.title)&&h.getAttribute("crossorigin")===(i.crossOrigin==null?null:i.crossOrigin)){b.splice(C,1);break t}}h=u.createElement(r),gt(h,r,i),u.head.appendChild(h);break;case"meta":if(b=jg("meta","content",u).get(r+(i.content||""))){for(C=0;C<b.length;C++)if(h=b[C],h.getAttribute("content")===(i.content==null?null:""+i.content)&&h.getAttribute("name")===(i.name==null?null:i.name)&&h.getAttribute("property")===(i.property==null?null:i.property)&&h.getAttribute("http-equiv")===(i.httpEquiv==null?null:i.httpEquiv)&&h.getAttribute("charset")===(i.charSet==null?null:i.charSet)){b.splice(C,1);break t}}h=u.createElement(r),gt(h,r,i),u.head.appendChild(h);break;default:throw Error(o(468,r))}h[st]=e,nt(h),r=h}e.stateNode=r}else zg(u,e.type,e.stateNode);else e.stateNode=Ag(u,r,e.memoizedProps);else h!==r?(h===null?i.stateNode!==null&&(i=i.stateNode,i.parentNode.removeChild(i)):h.count--,r===null?zg(u,e.type,e.stateNode):Ag(u,r,e.memoizedProps)):r===null&&e.stateNode!==null&&Xu(e,e.memoizedProps,i.memoizedProps)}break;case 27:Ct(n,e),Tt(e),r&512&&(ot||i===null||fn(i,i.return)),i!==null&&r&4&&Xu(e,e.memoizedProps,i.memoizedProps);break;case 5:if(Ct(n,e),Tt(e),r&512&&(ot||i===null||fn(i,i.return)),e.flags&32){u=e.stateNode;try{Ci(u,"")}catch(he){qe(e,e.return,he)}}r&4&&e.stateNode!=null&&(u=e.memoizedProps,Xu(e,u,i!==null?i.memoizedProps:u)),r&1024&&(Qu=!0);break;case 6:if(Ct(n,e),Tt(e),r&4){if(e.stateNode===null)throw Error(o(162));r=e.memoizedProps,i=e.stateNode;try{i.nodeValue=r}catch(he){qe(e,e.return,he)}}break;case 3:if(ss=null,u=Wt,Wt=os(n.containerInfo),Ct(n,e),Wt=u,Tt(e),r&4&&i!==null&&i.memoizedState.isDehydrated)try{al(n.containerInfo)}catch(he){qe(e,e.return,he)}Qu&&(Qu=!1,zp(e));break;case 4:r=Wt,Wt=os(e.stateNode.containerInfo),Ct(n,e),Tt(e),Wt=r;break;case 12:Ct(n,e),Tt(e);break;case 31:Ct(n,e),Tt(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,$r(e,r)));break;case 13:Ct(n,e),Tt(e),e.child.flags&8192&&e.memoizedState!==null!=(i!==null&&i.memoizedState!==null)&&(Xr=ft()),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,$r(e,r)));break;case 22:u=e.memoizedState!==null;var H=i!==null&&i.memoizedState!==null,J=In,ie=ot;if(In=J||u,ot=ie||H,Ct(n,e),ot=ie,In=J,Tt(e),r&8192)e:for(n=e.stateNode,n._visibility=u?n._visibility&-2:n._visibility|1,u&&(i===null||H||In||ot||Wa(e)),i=null,n=e;;){if(n.tag===5||n.tag===26){if(i===null){H=i=n;try{if(h=H.stateNode,u)b=h.style,typeof b.setProperty=="function"?b.setProperty("display","none","important"):b.display="none";else{C=H.stateNode;var re=H.memoizedProps.style,ee=re!=null&&re.hasOwnProperty("display")?re.display:null;C.style.display=ee==null||typeof ee=="boolean"?"":(""+ee).trim()}}catch(he){qe(H,H.return,he)}}}else if(n.tag===6){if(i===null){H=n;try{H.stateNode.nodeValue=u?"":H.memoizedProps}catch(he){qe(H,H.return,he)}}}else if(n.tag===18){if(i===null){H=n;try{var ne=H.stateNode;u?bg(ne,!0):bg(H.stateNode,!1)}catch(he){qe(H,H.return,he)}}}else if((n.tag!==22&&n.tag!==23||n.memoizedState===null||n===e)&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break e;for(;n.sibling===null;){if(n.return===null||n.return===e)break e;i===n&&(i=null),n=n.return}i===n&&(i=null),n.sibling.return=n.return,n=n.sibling}r&4&&(r=e.updateQueue,r!==null&&(i=r.retryQueue,i!==null&&(r.retryQueue=null,$r(e,i))));break;case 19:Ct(n,e),Tt(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,$r(e,r)));break;case 30:break;case 21:break;default:Ct(n,e),Tt(e)}}function Tt(e){var n=e.flags;if(n&2){try{for(var i,r=e.return;r!==null;){if(wp(r)){i=r;break}r=r.return}if(i==null)throw Error(o(160));switch(i.tag){case 27:var u=i.stateNode,h=Zu(e);Pr(e,h,u);break;case 5:var b=i.stateNode;i.flags&32&&(Ci(b,""),i.flags&=-33);var C=Zu(e);Pr(e,C,b);break;case 3:case 4:var H=i.stateNode.containerInfo,J=Zu(e);Ku(e,J,H);break;default:throw Error(o(161))}}catch(ie){qe(e,e.return,ie)}e.flags&=-3}n&4096&&(e.flags&=-4097)}function zp(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var n=e;zp(n),n.tag===5&&n.flags&1024&&n.stateNode.reset(),e=e.sibling}}function Hn(e,n){if(n.subtreeFlags&8772)for(n=n.child;n!==null;)Ep(e,n.alternate,n),n=n.sibling}function Wa(e){for(e=e.child;e!==null;){var n=e;switch(n.tag){case 0:case 11:case 14:case 15:ca(4,n,n.return),Wa(n);break;case 1:fn(n,n.return);var i=n.stateNode;typeof i.componentWillUnmount=="function"&&bp(n,n.return,i),Wa(n);break;case 27:co(n.stateNode);case 26:case 5:fn(n,n.return),Wa(n);break;case 22:n.memoizedState===null&&Wa(n);break;case 30:Wa(n);break;default:Wa(n)}e=e.sibling}}function kn(e,n,i){for(i=i&&(n.subtreeFlags&8772)!==0,n=n.child;n!==null;){var r=n.alternate,u=e,h=n,b=h.flags;switch(h.tag){case 0:case 11:case 15:kn(u,h,i),Wl(4,h);break;case 1:if(kn(u,h,i),r=h,u=r.stateNode,typeof u.componentDidMount=="function")try{u.componentDidMount()}catch(J){qe(r,r.return,J)}if(r=h,u=r.updateQueue,u!==null){var C=r.stateNode;try{var H=u.shared.hiddenCallbacks;if(H!==null)for(u.shared.hiddenCallbacks=null,u=0;u<H.length;u++)sm(H[u],C)}catch(J){qe(r,r.return,J)}}i&&b&64&&xp(h),eo(h,h.return);break;case 27:Np(h);case 26:case 5:kn(u,h,i),i&&r===null&&b&4&&Sp(h),eo(h,h.return);break;case 12:kn(u,h,i);break;case 31:kn(u,h,i),i&&b&4&&Mp(u,h);break;case 13:kn(u,h,i),i&&b&4&&Ap(u,h);break;case 22:h.memoizedState===null&&kn(u,h,i),eo(h,h.return);break;case 30:break;default:kn(u,h,i)}n=n.sibling}}function Ju(e,n){var i=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(i=e.memoizedState.cachePool.pool),e=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(e=n.memoizedState.cachePool.pool),e!==i&&(e!=null&&e.refCount++,i!=null&&ql(i))}function Wu(e,n){e=null,n.alternate!==null&&(e=n.alternate.memoizedState.cache),n=n.memoizedState.cache,n!==e&&(n.refCount++,e!=null&&ql(e))}function en(e,n,i,r){if(n.subtreeFlags&10256)for(n=n.child;n!==null;)Rp(e,n,i,r),n=n.sibling}function Rp(e,n,i,r){var u=n.flags;switch(n.tag){case 0:case 11:case 15:en(e,n,i,r),u&2048&&Wl(9,n);break;case 1:en(e,n,i,r);break;case 3:en(e,n,i,r),u&2048&&(e=null,n.alternate!==null&&(e=n.alternate.memoizedState.cache),n=n.memoizedState.cache,n!==e&&(n.refCount++,e!=null&&ql(e)));break;case 12:if(u&2048){en(e,n,i,r),e=n.stateNode;try{var h=n.memoizedProps,b=h.id,C=h.onPostCommit;typeof C=="function"&&C(b,n.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(H){qe(n,n.return,H)}}else en(e,n,i,r);break;case 31:en(e,n,i,r);break;case 13:en(e,n,i,r);break;case 23:break;case 22:h=n.stateNode,b=n.alternate,n.memoizedState!==null?h._visibility&2?en(e,n,i,r):to(e,n):h._visibility&2?en(e,n,i,r):(h._visibility|=2,$i(e,n,i,r,(n.subtreeFlags&10256)!==0||!1)),u&2048&&Ju(b,n);break;case 24:en(e,n,i,r),u&2048&&Wu(n.alternate,n);break;default:en(e,n,i,r)}}function $i(e,n,i,r,u){for(u=u&&((n.subtreeFlags&10256)!==0||!1),n=n.child;n!==null;){var h=e,b=n,C=i,H=r,J=b.flags;switch(b.tag){case 0:case 11:case 15:$i(h,b,C,H,u),Wl(8,b);break;case 23:break;case 22:var ie=b.stateNode;b.memoizedState!==null?ie._visibility&2?$i(h,b,C,H,u):to(h,b):(ie._visibility|=2,$i(h,b,C,H,u)),u&&J&2048&&Ju(b.alternate,b);break;case 24:$i(h,b,C,H,u),u&&J&2048&&Wu(b.alternate,b);break;default:$i(h,b,C,H,u)}n=n.sibling}}function to(e,n){if(n.subtreeFlags&10256)for(n=n.child;n!==null;){var i=e,r=n,u=r.flags;switch(r.tag){case 22:to(i,r),u&2048&&Ju(r.alternate,r);break;case 24:to(i,r),u&2048&&Wu(r.alternate,r);break;default:to(i,r)}n=n.sibling}}var no=8192;function Fi(e,n,i){if(e.subtreeFlags&no)for(e=e.child;e!==null;)Dp(e,n,i),e=e.sibling}function Dp(e,n,i){switch(e.tag){case 26:Fi(e,n,i),e.flags&no&&e.memoizedState!==null&&c1(i,Wt,e.memoizedState,e.memoizedProps);break;case 5:Fi(e,n,i);break;case 3:case 4:var r=Wt;Wt=os(e.stateNode.containerInfo),Fi(e,n,i),Wt=r;break;case 22:e.memoizedState===null&&(r=e.alternate,r!==null&&r.memoizedState!==null?(r=no,no=16777216,Fi(e,n,i),no=r):Fi(e,n,i));break;default:Fi(e,n,i)}}function Op(e){var n=e.alternate;if(n!==null&&(e=n.child,e!==null)){n.child=null;do n=e.sibling,e.sibling=null,e=n;while(e!==null)}}function ao(e){var n=e.deletions;if((e.flags&16)!==0){if(n!==null)for(var i=0;i<n.length;i++){var r=n[i];dt=r,Lp(r,e)}Op(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)Ip(e),e=e.sibling}function Ip(e){switch(e.tag){case 0:case 11:case 15:ao(e),e.flags&2048&&ca(9,e,e.return);break;case 3:ao(e);break;case 12:ao(e);break;case 22:var n=e.stateNode;e.memoizedState!==null&&n._visibility&2&&(e.return===null||e.return.tag!==13)?(n._visibility&=-3,Fr(e)):ao(e);break;default:ao(e)}}function Fr(e){var n=e.deletions;if((e.flags&16)!==0){if(n!==null)for(var i=0;i<n.length;i++){var r=n[i];dt=r,Lp(r,e)}Op(e)}for(e=e.child;e!==null;){switch(n=e,n.tag){case 0:case 11:case 15:ca(8,n,n.return),Fr(n);break;case 22:i=n.stateNode,i._visibility&2&&(i._visibility&=-3,Fr(n));break;default:Fr(n)}e=e.sibling}}function Lp(e,n){for(;dt!==null;){var i=dt;switch(i.tag){case 0:case 11:case 15:ca(8,i,n);break;case 23:case 22:if(i.memoizedState!==null&&i.memoizedState.cachePool!==null){var r=i.memoizedState.cachePool.pool;r!=null&&r.refCount++}break;case 24:ql(i.memoizedState.cache)}if(r=i.child,r!==null)r.return=i,dt=r;else e:for(i=e;dt!==null;){r=dt;var u=r.sibling,h=r.return;if(Cp(r),r===i){dt=null;break e}if(u!==null){u.return=h,dt=u;break e}dt=h}}}var _S={getCacheForType:function(e){var n=mt(at),i=n.data.get(e);return i===void 0&&(i=e(),n.data.set(e,i)),i},cacheSignal:function(){return mt(at).controller.signal}},ES=typeof WeakMap=="function"?WeakMap:Map,He=0,Pe=null,Me=null,ze=0,Be=0,Lt=null,ua=!1,Xi=!1,ed=!1,Bn=0,Je=0,da=0,ei=0,td=0,Ht=0,Zi=0,io=null,Mt=null,nd=!1,Xr=0,Hp=0,Zr=1/0,Kr=null,fa=null,ct=0,ha=null,Ki=null,qn=0,ad=0,id=null,kp=null,lo=0,ld=null;function kt(){return(He&2)!==0&&ze!==0?ze&-ze:T.T!==null?dd():er()}function Bp(){if(Ht===0)if((ze&536870912)===0||De){var e=xi;xi<<=1,(xi&3932160)===0&&(xi=262144),Ht=e}else Ht=536870912;return e=Ot.current,e!==null&&(e.flags|=32),Ht}function At(e,n,i){(e===Pe&&(Be===2||Be===9)||e.cancelPendingCommit!==null)&&(Qi(e,0),ma(e,ze,Ht,!1)),Ia(e,i),((He&2)===0||e!==Pe)&&(e===Pe&&((He&2)===0&&(ei|=i),Je===4&&ma(e,ze,Ht,!1)),hn(e))}function qp(e,n,i){if((He&6)!==0)throw Error(o(327));var r=!i&&(n&127)===0&&(n&e.expiredLanes)===0||Oa(e,n),u=r?MS(e,n):rd(e,n,!0),h=r;do{if(u===0){Xi&&!r&&ma(e,n,0,!1);break}else{if(i=e.current.alternate,h&&!CS(i)){u=rd(e,n,!1),h=!1;continue}if(u===2){if(h=n,e.errorRecoveryDisabledLanes&h)var b=0;else b=e.pendingLanes&-536870913,b=b!==0?b:b&536870912?536870912:0;if(b!==0){n=b;e:{var C=e;u=io;var H=C.current.memoizedState.isDehydrated;if(H&&(Qi(C,b).flags|=256),b=rd(C,b,!1),b!==2){if(ed&&!H){C.errorRecoveryDisabledLanes|=h,ei|=h,u=4;break e}h=Mt,Mt=u,h!==null&&(Mt===null?Mt=h:Mt.push.apply(Mt,h))}u=b}if(h=!1,u!==2)continue}}if(u===1){Qi(e,0),ma(e,n,0,!0);break}e:{switch(r=e,h=u,h){case 0:case 1:throw Error(o(345));case 4:if((n&4194048)!==n)break;case 6:ma(r,n,Ht,!ua);break e;case 2:Mt=null;break;case 3:case 5:break;default:throw Error(o(329))}if((n&62914560)===n&&(u=Xr+300-ft(),10<u)){if(ma(r,n,Ht,!ua),Si(r,0,!0)!==0)break e;qn=n,r.timeoutHandle=yg(Up.bind(null,r,i,Mt,Kr,nd,n,Ht,ei,Zi,ua,h,"Throttled",-0,0),u);break e}Up(r,i,Mt,Kr,nd,n,Ht,ei,Zi,ua,h,null,-0,0)}}break}while(!0);hn(e)}function Up(e,n,i,r,u,h,b,C,H,J,ie,re,ee,ne){if(e.timeoutHandle=-1,re=n.subtreeFlags,re&8192||(re&16785408)===16785408){re={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:En},Dp(n,h,re);var he=(h&62914560)===h?Xr-ft():(h&4194048)===h?Hp-ft():0;if(he=u1(re,he),he!==null){qn=h,e.cancelPendingCommit=he(Zp.bind(null,e,n,h,i,r,u,b,C,H,ie,re,null,ee,ne)),ma(e,h,b,!J);return}}Zp(e,n,h,i,r,u,b,C,H)}function CS(e){for(var n=e;;){var i=n.tag;if((i===0||i===11||i===15)&&n.flags&16384&&(i=n.updateQueue,i!==null&&(i=i.stores,i!==null)))for(var r=0;r<i.length;r++){var u=i[r],h=u.getSnapshot;u=u.value;try{if(!Rt(h(),u))return!1}catch{return!1}}if(i=n.child,n.subtreeFlags&16384&&i!==null)i.return=n,n=i;else{if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return!0;n=n.return}n.sibling.return=n.return,n=n.sibling}}return!0}function ma(e,n,i,r){n&=~td,n&=~ei,e.suspendedLanes|=n,e.pingedLanes&=~n,r&&(e.warmLanes|=n),r=e.expirationTimes;for(var u=n;0<u;){var h=31-bt(u),b=1<<h;r[h]=-1,u&=~b}i!==0&&Qo(e,i,n)}function Qr(){return(He&6)===0?(oo(0),!1):!0}function od(){if(Me!==null){if(Be===0)var e=Me.return;else e=Me,An=Pa=null,wu(e),Ui=null,Gl=0,e=Me;for(;e!==null;)vp(e.alternate,e),e=e.return;Me=null}}function Qi(e,n){var i=e.timeoutHandle;i!==-1&&(e.timeoutHandle=-1,$S(i)),i=e.cancelPendingCommit,i!==null&&(e.cancelPendingCommit=null,i()),qn=0,od(),Pe=e,Me=i=Tn(e.current,null),ze=n,Be=0,Lt=null,ua=!1,Xi=Oa(e,n),ed=!1,Zi=Ht=td=ei=da=Je=0,Mt=io=null,nd=!1,(n&8)!==0&&(n|=n&32);var r=e.entangledLanes;if(r!==0)for(e=e.entanglements,r&=n;0<r;){var u=31-bt(r),h=1<<u;n|=e[u],r&=~h}return Bn=n,vr(),i}function Gp(e,n){Ce=null,T.H=Kl,n===qi||n===Cr?(n=im(),Be=3):n===uu?(n=im(),Be=4):Be=n===ku?8:n!==null&&typeof n=="object"&&typeof n.then=="function"?6:1,Lt=n,Me===null&&(Je=1,qr(e,Gt(n,e.current)))}function Vp(){var e=Ot.current;return e===null?!0:(ze&4194048)===ze?$t===null:(ze&62914560)===ze||(ze&536870912)!==0?e===$t:!1}function Yp(){var e=T.H;return T.H=Kl,e===null?Kl:e}function Pp(){var e=T.A;return T.A=_S,e}function Jr(){Je=4,ua||(ze&4194048)!==ze&&Ot.current!==null||(Xi=!0),(da&134217727)===0&&(ei&134217727)===0||Pe===null||ma(Pe,ze,Ht,!1)}function rd(e,n,i){var r=He;He|=2;var u=Yp(),h=Pp();(Pe!==e||ze!==n)&&(Kr=null,Qi(e,n)),n=!1;var b=Je;e:do try{if(Be!==0&&Me!==null){var C=Me,H=Lt;switch(Be){case 8:od(),b=6;break e;case 3:case 2:case 9:case 6:Ot.current===null&&(n=!0);var J=Be;if(Be=0,Lt=null,Ji(e,C,H,J),i&&Xi){b=0;break e}break;default:J=Be,Be=0,Lt=null,Ji(e,C,H,J)}}TS(),b=Je;break}catch(ie){Gp(e,ie)}while(!0);return n&&e.shellSuspendCounter++,An=Pa=null,He=r,T.H=u,T.A=h,Me===null&&(Pe=null,ze=0,vr()),b}function TS(){for(;Me!==null;)$p(Me)}function MS(e,n){var i=He;He|=2;var r=Yp(),u=Pp();Pe!==e||ze!==n?(Kr=null,Zr=ft()+500,Qi(e,n)):Xi=Oa(e,n);e:do try{if(Be!==0&&Me!==null){n=Me;var h=Lt;t:switch(Be){case 1:Be=0,Lt=null,Ji(e,n,h,1);break;case 2:case 9:if(nm(h)){Be=0,Lt=null,Fp(n);break}n=function(){Be!==2&&Be!==9||Pe!==e||(Be=7),hn(e)},h.then(n,n);break e;case 3:Be=7;break e;case 4:Be=5;break e;case 7:nm(h)?(Be=0,Lt=null,Fp(n)):(Be=0,Lt=null,Ji(e,n,h,7));break;case 5:var b=null;switch(Me.tag){case 26:b=Me.memoizedState;case 5:case 27:var C=Me;if(b?Rg(b):C.stateNode.complete){Be=0,Lt=null;var H=C.sibling;if(H!==null)Me=H;else{var J=C.return;J!==null?(Me=J,Wr(J)):Me=null}break t}}Be=0,Lt=null,Ji(e,n,h,5);break;case 6:Be=0,Lt=null,Ji(e,n,h,6);break;case 8:od(),Je=6;break e;default:throw Error(o(462))}}AS();break}catch(ie){Gp(e,ie)}while(!0);return An=Pa=null,T.H=r,T.A=u,He=i,Me!==null?0:(Pe=null,ze=0,vr(),Je)}function AS(){for(;Me!==null&&!ja();)$p(Me)}function $p(e){var n=gp(e.alternate,e,Bn);e.memoizedProps=e.pendingProps,n===null?Wr(e):Me=n}function Fp(e){var n=e,i=n.alternate;switch(n.tag){case 15:case 0:n=up(i,n,n.pendingProps,n.type,void 0,ze);break;case 11:n=up(i,n,n.pendingProps,n.type.render,n.ref,ze);break;case 5:wu(n);default:vp(i,n),n=Me=Ph(n,Bn),n=gp(i,n,Bn)}e.memoizedProps=e.pendingProps,n===null?Wr(e):Me=n}function Ji(e,n,i,r){An=Pa=null,wu(n),Ui=null,Gl=0;var u=n.return;try{if(yS(e,u,n,i,ze)){Je=1,qr(e,Gt(i,e.current)),Me=null;return}}catch(h){if(u!==null)throw Me=u,h;Je=1,qr(e,Gt(i,e.current)),Me=null;return}n.flags&32768?(De||r===1?e=!0:Xi||(ze&536870912)!==0?e=!1:(ua=e=!0,(r===2||r===9||r===3||r===6)&&(r=Ot.current,r!==null&&r.tag===13&&(r.flags|=16384))),Xp(n,e)):Wr(n)}function Wr(e){var n=e;do{if((n.flags&32768)!==0){Xp(n,ua);return}e=n.return;var i=bS(n.alternate,n,Bn);if(i!==null){Me=i;return}if(n=n.sibling,n!==null){Me=n;return}Me=n=e}while(n!==null);Je===0&&(Je=5)}function Xp(e,n){do{var i=SS(e.alternate,e);if(i!==null){i.flags&=32767,Me=i;return}if(i=e.return,i!==null&&(i.flags|=32768,i.subtreeFlags=0,i.deletions=null),!n&&(e=e.sibling,e!==null)){Me=e;return}Me=e=i}while(e!==null);Je=6,Me=null}function Zp(e,n,i,r,u,h,b,C,H){e.cancelPendingCommit=null;do es();while(ct!==0);if((He&6)!==0)throw Error(o(327));if(n!==null){if(n===e.current)throw Error(o(177));if(h=n.lanes|n.childLanes,h|=Zc,Ec(e,i,h,b,C,H),e===Pe&&(Me=Pe=null,ze=0),Ki=n,ha=e,qn=i,ad=h,id=u,kp=r,(n.subtreeFlags&10256)!==0||(n.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,DS(Ra,function(){return eg(),null})):(e.callbackNode=null,e.callbackPriority=0),r=(n.flags&13878)!==0,(n.subtreeFlags&13878)!==0||r){r=T.T,T.T=null,u=I.p,I.p=2,b=He,He|=4;try{wS(e,n,i)}finally{He=b,I.p=u,T.T=r}}ct=1,Kp(),Qp(),Jp()}}function Kp(){if(ct===1){ct=0;var e=ha,n=Ki,i=(n.flags&13878)!==0;if((n.subtreeFlags&13878)!==0||i){i=T.T,T.T=null;var r=I.p;I.p=2;var u=He;He|=4;try{jp(n,e);var h=xd,b=Lh(e.containerInfo),C=h.focusedElem,H=h.selectionRange;if(b!==C&&C&&C.ownerDocument&&Ih(C.ownerDocument.documentElement,C)){if(H!==null&&Yc(C)){var J=H.start,ie=H.end;if(ie===void 0&&(ie=J),"selectionStart"in C)C.selectionStart=J,C.selectionEnd=Math.min(ie,C.value.length);else{var re=C.ownerDocument||document,ee=re&&re.defaultView||window;if(ee.getSelection){var ne=ee.getSelection(),he=C.textContent.length,Se=Math.min(H.start,he),Ye=H.end===void 0?Se:Math.min(H.end,he);!ne.extend&&Se>Ye&&(b=Ye,Ye=Se,Se=b);var P=Oh(C,Se),G=Oh(C,Ye);if(P&&G&&(ne.rangeCount!==1||ne.anchorNode!==P.node||ne.anchorOffset!==P.offset||ne.focusNode!==G.node||ne.focusOffset!==G.offset)){var Q=re.createRange();Q.setStart(P.node,P.offset),ne.removeAllRanges(),Se>Ye?(ne.addRange(Q),ne.extend(G.node,G.offset)):(Q.setEnd(G.node,G.offset),ne.addRange(Q))}}}}for(re=[],ne=C;ne=ne.parentNode;)ne.nodeType===1&&re.push({element:ne,left:ne.scrollLeft,top:ne.scrollTop});for(typeof C.focus=="function"&&C.focus(),C=0;C<re.length;C++){var oe=re[C];oe.element.scrollLeft=oe.left,oe.element.scrollTop=oe.top}}fs=!!vd,xd=vd=null}finally{He=u,I.p=r,T.T=i}}e.current=n,ct=2}}function Qp(){if(ct===2){ct=0;var e=ha,n=Ki,i=(n.flags&8772)!==0;if((n.subtreeFlags&8772)!==0||i){i=T.T,T.T=null;var r=I.p;I.p=2;var u=He;He|=4;try{Ep(e,n.alternate,n)}finally{He=u,I.p=r,T.T=i}}ct=3}}function Jp(){if(ct===4||ct===3){ct=0,za();var e=ha,n=Ki,i=qn,r=kp;(n.subtreeFlags&10256)!==0||(n.flags&10256)!==0?ct=5:(ct=0,Ki=ha=null,Wp(e,e.pendingLanes));var u=e.pendingLanes;if(u===0&&(fa=null),El(i),n=n.stateNode,xt&&typeof xt.onCommitFiberRoot=="function")try{xt.onCommitFiberRoot(Da,n,void 0,(n.current.flags&128)===128)}catch{}if(r!==null){n=T.T,u=I.p,I.p=2,T.T=null;try{for(var h=e.onRecoverableError,b=0;b<r.length;b++){var C=r[b];h(C.value,{componentStack:C.stack})}}finally{T.T=n,I.p=u}}(qn&3)!==0&&es(),hn(e),u=e.pendingLanes,(i&261930)!==0&&(u&42)!==0?e===ld?lo++:(lo=0,ld=e):lo=0,oo(0)}}function Wp(e,n){(e.pooledCacheLanes&=n)===0&&(n=e.pooledCache,n!=null&&(e.pooledCache=null,ql(n)))}function es(){return Kp(),Qp(),Jp(),eg()}function eg(){if(ct!==5)return!1;var e=ha,n=ad;ad=0;var i=El(qn),r=T.T,u=I.p;try{I.p=32>i?32:i,T.T=null,i=id,id=null;var h=ha,b=qn;if(ct=0,Ki=ha=null,qn=0,(He&6)!==0)throw Error(o(331));var C=He;if(He|=4,Ip(h.current),Rp(h,h.current,b,i),He=C,oo(0,!1),xt&&typeof xt.onPostCommitFiberRoot=="function")try{xt.onPostCommitFiberRoot(Da,h)}catch{}return!0}finally{I.p=u,T.T=r,Wp(e,n)}}function tg(e,n,i){n=Gt(i,n),n=Hu(e.stateNode,n,2),e=oa(e,n,2),e!==null&&(Ia(e,2),hn(e))}function qe(e,n,i){if(e.tag===3)tg(e,e,i);else for(;n!==null;){if(n.tag===3){tg(n,e,i);break}else if(n.tag===1){var r=n.stateNode;if(typeof n.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(fa===null||!fa.has(r))){e=Gt(i,e),i=np(2),r=oa(n,i,2),r!==null&&(ap(i,r,n,e),Ia(r,2),hn(r));break}}n=n.return}}function sd(e,n,i){var r=e.pingCache;if(r===null){r=e.pingCache=new ES;var u=new Set;r.set(n,u)}else u=r.get(n),u===void 0&&(u=new Set,r.set(n,u));u.has(i)||(ed=!0,u.add(i),e=jS.bind(null,e,n,i),n.then(e,e))}function jS(e,n,i){var r=e.pingCache;r!==null&&r.delete(n),e.pingedLanes|=e.suspendedLanes&i,e.warmLanes&=~i,Pe===e&&(ze&i)===i&&(Je===4||Je===3&&(ze&62914560)===ze&&300>ft()-Xr?(He&2)===0&&Qi(e,0):td|=i,Zi===ze&&(Zi=0)),hn(e)}function ng(e,n){n===0&&(n=Ko()),e=Ga(e,n),e!==null&&(Ia(e,n),hn(e))}function zS(e){var n=e.memoizedState,i=0;n!==null&&(i=n.retryLane),ng(e,i)}function RS(e,n){var i=0;switch(e.tag){case 31:case 13:var r=e.stateNode,u=e.memoizedState;u!==null&&(i=u.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(o(314))}r!==null&&r.delete(n),ng(e,i)}function DS(e,n){return Kt(e,n)}var ts=null,Wi=null,cd=!1,ns=!1,ud=!1,pa=0;function hn(e){e!==Wi&&e.next===null&&(Wi===null?ts=Wi=e:Wi=Wi.next=e),ns=!0,cd||(cd=!0,IS())}function oo(e,n){if(!ud&&ns){ud=!0;do for(var i=!1,r=ts;r!==null;){if(e!==0){var u=r.pendingLanes;if(u===0)var h=0;else{var b=r.suspendedLanes,C=r.pingedLanes;h=(1<<31-bt(42|e)+1)-1,h&=u&~(b&~C),h=h&201326741?h&201326741|1:h?h|2:0}h!==0&&(i=!0,og(r,h))}else h=ze,h=Si(r,r===Pe?h:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),(h&3)===0||Oa(r,h)||(i=!0,og(r,h));r=r.next}while(i);ud=!1}}function OS(){ag()}function ag(){ns=cd=!1;var e=0;pa!==0&&PS()&&(e=pa);for(var n=ft(),i=null,r=ts;r!==null;){var u=r.next,h=ig(r,n);h===0?(r.next=null,i===null?ts=u:i.next=u,u===null&&(Wi=i)):(i=r,(e!==0||(h&3)!==0)&&(ns=!0)),r=u}ct!==0&&ct!==5||oo(e),pa!==0&&(pa=0)}function ig(e,n){for(var i=e.suspendedLanes,r=e.pingedLanes,u=e.expirationTimes,h=e.pendingLanes&-62914561;0<h;){var b=31-bt(h),C=1<<b,H=u[b];H===-1?((C&i)===0||(C&r)!==0)&&(u[b]=_c(C,n)):H<=n&&(e.expiredLanes|=C),h&=~C}if(n=Pe,i=ze,i=Si(e,e===n?i:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r=e.callbackNode,i===0||e===n&&(Be===2||Be===9)||e.cancelPendingCommit!==null)return r!==null&&r!==null&&xn(r),e.callbackNode=null,e.callbackPriority=0;if((i&3)===0||Oa(e,i)){if(n=i&-i,n===e.callbackPriority)return n;switch(r!==null&&xn(r),El(i)){case 2:case 8:i=Fn;break;case 32:i=Ra;break;case 268435456:i=yi;break;default:i=Ra}return r=lg.bind(null,e),i=Kt(i,r),e.callbackPriority=n,e.callbackNode=i,n}return r!==null&&r!==null&&xn(r),e.callbackPriority=2,e.callbackNode=null,2}function lg(e,n){if(ct!==0&&ct!==5)return e.callbackNode=null,e.callbackPriority=0,null;var i=e.callbackNode;if(es()&&e.callbackNode!==i)return null;var r=ze;return r=Si(e,e===Pe?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r===0?null:(qp(e,r,n),ig(e,ft()),e.callbackNode!=null&&e.callbackNode===i?lg.bind(null,e):null)}function og(e,n){if(es())return null;qp(e,n,!0)}function IS(){FS(function(){(He&6)!==0?Kt(bn,OS):ag()})}function dd(){if(pa===0){var e=ki;e===0&&(e=vi,vi<<=1,(vi&261888)===0&&(vi=256)),pa=e}return pa}function rg(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:ur(""+e)}function sg(e,n){var i=n.ownerDocument.createElement("input");return i.name=n.name,i.value=n.value,e.id&&i.setAttribute("form",e.id),n.parentNode.insertBefore(i,n),e=new FormData(e),i.parentNode.removeChild(i),e}function LS(e,n,i,r,u){if(n==="submit"&&i&&i.stateNode===u){var h=rg((u[yt]||null).action),b=r.submitter;b&&(n=(n=b[yt]||null)?rg(n.formAction):b.getAttribute("formAction"),n!==null&&(h=n,b=null));var C=new mr("action","action",null,r,u);e.push({event:C,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(pa!==0){var H=b?sg(u,b):new FormData(u);zu(i,{pending:!0,data:H,method:u.method,action:h},null,H)}}else typeof h=="function"&&(C.preventDefault(),H=b?sg(u,b):new FormData(u),zu(i,{pending:!0,data:H,method:u.method,action:h},h,H))},currentTarget:u}]})}}for(var fd=0;fd<Xc.length;fd++){var hd=Xc[fd],HS=hd.toLowerCase(),kS=hd[0].toUpperCase()+hd.slice(1);Jt(HS,"on"+kS)}Jt(Bh,"onAnimationEnd"),Jt(qh,"onAnimationIteration"),Jt(Uh,"onAnimationStart"),Jt("dblclick","onDoubleClick"),Jt("focusin","onFocus"),Jt("focusout","onBlur"),Jt(eS,"onTransitionRun"),Jt(tS,"onTransitionStart"),Jt(nS,"onTransitionCancel"),Jt(Gh,"onTransitionEnd"),Jn("onMouseEnter",["mouseout","mouseover"]),Jn("onMouseLeave",["mouseout","mouseover"]),Jn("onPointerEnter",["pointerout","pointerover"]),Jn("onPointerLeave",["pointerout","pointerover"]),Nn("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),Nn("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),Nn("onBeforeInput",["compositionend","keypress","textInput","paste"]),Nn("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),Nn("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),Nn("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var ro="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(" "),BS=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(ro));function cg(e,n){n=(n&4)!==0;for(var i=0;i<e.length;i++){var r=e[i],u=r.event;r=r.listeners;e:{var h=void 0;if(n)for(var b=r.length-1;0<=b;b--){var C=r[b],H=C.instance,J=C.currentTarget;if(C=C.listener,H!==h&&u.isPropagationStopped())break e;h=C,u.currentTarget=J;try{h(u)}catch(ie){yr(ie)}u.currentTarget=null,h=H}else for(b=0;b<r.length;b++){if(C=r[b],H=C.instance,J=C.currentTarget,C=C.listener,H!==h&&u.isPropagationStopped())break e;h=C,u.currentTarget=J;try{h(u)}catch(ie){yr(ie)}u.currentTarget=null,h=H}}}}function Ae(e,n){var i=n[wi];i===void 0&&(i=n[wi]=new Set);var r=e+"__bubble";i.has(r)||(ug(n,e,2,!1),i.add(r))}function md(e,n,i){var r=0;n&&(r|=4),ug(i,e,r,n)}var as="_reactListening"+Math.random().toString(36).slice(2);function pd(e){if(!e[as]){e[as]=!0,ir.forEach(function(i){i!=="selectionchange"&&(BS.has(i)||md(i,!1,e),md(i,!0,e))});var n=e.nodeType===9?e:e.ownerDocument;n===null||n[as]||(n[as]=!0,md("selectionchange",!1,n))}}function ug(e,n,i,r){switch(Bg(n)){case 2:var u=h1;break;case 8:u=m1;break;default:u=jd}i=u.bind(null,n,i,e),u=void 0,!Ic||n!=="touchstart"&&n!=="touchmove"&&n!=="wheel"||(u=!0),r?u!==void 0?e.addEventListener(n,i,{capture:!0,passive:u}):e.addEventListener(n,i,!0):u!==void 0?e.addEventListener(n,i,{passive:u}):e.addEventListener(n,i,!1)}function gd(e,n,i,r,u){var h=r;if((n&1)===0&&(n&2)===0&&r!==null)e:for(;;){if(r===null)return;var b=r.tag;if(b===3||b===4){var C=r.stateNode.containerInfo;if(C===u)break;if(b===4)for(b=r.return;b!==null;){var H=b.tag;if((H===3||H===4)&&b.stateNode.containerInfo===u)return;b=b.return}for(;C!==null;){if(b=Xn(C),b===null)return;if(H=b.tag,H===5||H===6||H===26||H===27){r=h=b;continue e}C=C.parentNode}}r=r.return}ph(function(){var J=h,ie=Dc(i),re=[];e:{var ee=Vh.get(e);if(ee!==void 0){var ne=mr,he=e;switch(e){case"keypress":if(fr(i)===0)break e;case"keydown":case"keyup":ne=Rb;break;case"focusin":he="focus",ne=Bc;break;case"focusout":he="blur",ne=Bc;break;case"beforeblur":case"afterblur":ne=Bc;break;case"click":if(i.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":ne=vh;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":ne=bb;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":ne=Ib;break;case Bh:case qh:case Uh:ne=Nb;break;case Gh:ne=Hb;break;case"scroll":case"scrollend":ne=vb;break;case"wheel":ne=Bb;break;case"copy":case"cut":case"paste":ne=Eb;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":ne=bh;break;case"toggle":case"beforetoggle":ne=Ub}var Se=(n&4)!==0,Ye=!Se&&(e==="scroll"||e==="scrollend"),P=Se?ee!==null?ee+"Capture":null:ee;Se=[];for(var G=J,Q;G!==null;){var oe=G;if(Q=oe.stateNode,oe=oe.tag,oe!==5&&oe!==26&&oe!==27||Q===null||P===null||(oe=Al(G,P),oe!=null&&Se.push(so(G,oe,Q))),Ye)break;G=G.return}0<Se.length&&(ee=new ne(ee,he,null,i,ie),re.push({event:ee,listeners:Se}))}}if((n&7)===0){e:{if(ee=e==="mouseover"||e==="pointerover",ne=e==="mouseout"||e==="pointerout",ee&&i!==Rc&&(he=i.relatedTarget||i.fromElement)&&(Xn(he)||he[wn]))break e;if((ne||ee)&&(ee=ie.window===ie?ie:(ee=ie.ownerDocument)?ee.defaultView||ee.parentWindow:window,ne?(he=i.relatedTarget||i.toElement,ne=J,he=he?Xn(he):null,he!==null&&(Ye=c(he),Se=he.tag,he!==Ye||Se!==5&&Se!==27&&Se!==6)&&(he=null)):(ne=null,he=J),ne!==he)){if(Se=vh,oe="onMouseLeave",P="onMouseEnter",G="mouse",(e==="pointerout"||e==="pointerover")&&(Se=bh,oe="onPointerLeave",P="onPointerEnter",G="pointer"),Ye=ne==null?ee:Kn(ne),Q=he==null?ee:Kn(he),ee=new Se(oe,G+"leave",ne,i,ie),ee.target=Ye,ee.relatedTarget=Q,oe=null,Xn(ie)===J&&(Se=new Se(P,G+"enter",he,i,ie),Se.target=Q,Se.relatedTarget=Ye,oe=Se),Ye=oe,ne&&he)t:{for(Se=qS,P=ne,G=he,Q=0,oe=P;oe;oe=Se(oe))Q++;oe=0;for(var ye=G;ye;ye=Se(ye))oe++;for(;0<Q-oe;)P=Se(P),Q--;for(;0<oe-Q;)G=Se(G),oe--;for(;Q--;){if(P===G||G!==null&&P===G.alternate){Se=P;break t}P=Se(P),G=Se(G)}Se=null}else Se=null;ne!==null&&dg(re,ee,ne,Se,!1),he!==null&&Ye!==null&&dg(re,Ye,he,Se,!0)}}e:{if(ee=J?Kn(J):window,ne=ee.nodeName&&ee.nodeName.toLowerCase(),ne==="select"||ne==="input"&&ee.type==="file")var Ie=Mh;else if(Ch(ee))if(Ah)Ie=Qb;else{Ie=Zb;var me=Xb}else ne=ee.nodeName,!ne||ne.toLowerCase()!=="input"||ee.type!=="checkbox"&&ee.type!=="radio"?J&&zc(J.elementType)&&(Ie=Mh):Ie=Kb;if(Ie&&(Ie=Ie(e,J))){Th(re,Ie,i,ie);break e}me&&me(e,ee,J),e==="focusout"&&J&&ee.type==="number"&&J.memoizedProps.value!=null&&Ml(ee,"number",ee.value)}switch(me=J?Kn(J):window,e){case"focusin":(Ch(me)||me.contentEditable==="true")&&(ji=me,Pc=J,Hl=null);break;case"focusout":Hl=Pc=ji=null;break;case"mousedown":$c=!0;break;case"contextmenu":case"mouseup":case"dragend":$c=!1,Hh(re,i,ie);break;case"selectionchange":if(Wb)break;case"keydown":case"keyup":Hh(re,i,ie)}var Te;if(Uc)e:{switch(e){case"compositionstart":var Re="onCompositionStart";break e;case"compositionend":Re="onCompositionEnd";break e;case"compositionupdate":Re="onCompositionUpdate";break e}Re=void 0}else Ai?_h(e,i)&&(Re="onCompositionEnd"):e==="keydown"&&i.keyCode===229&&(Re="onCompositionStart");Re&&(Sh&&i.locale!=="ko"&&(Ai||Re!=="onCompositionStart"?Re==="onCompositionEnd"&&Ai&&(Te=gh()):(Wn=ie,Lc="value"in Wn?Wn.value:Wn.textContent,Ai=!0)),me=is(J,Re),0<me.length&&(Re=new xh(Re,e,null,i,ie),re.push({event:Re,listeners:me}),Te?Re.data=Te:(Te=Eh(i),Te!==null&&(Re.data=Te)))),(Te=Vb?Yb(e,i):Pb(e,i))&&(Re=is(J,"onBeforeInput"),0<Re.length&&(me=new xh("onBeforeInput","beforeinput",null,i,ie),re.push({event:me,listeners:Re}),me.data=Te)),LS(re,e,J,i,ie)}cg(re,n)})}function so(e,n,i){return{instance:e,listener:n,currentTarget:i}}function is(e,n){for(var i=n+"Capture",r=[];e!==null;){var u=e,h=u.stateNode;if(u=u.tag,u!==5&&u!==26&&u!==27||h===null||(u=Al(e,i),u!=null&&r.unshift(so(e,u,h)),u=Al(e,n),u!=null&&r.push(so(e,u,h))),e.tag===3)return r;e=e.return}return[]}function qS(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function dg(e,n,i,r,u){for(var h=n._reactName,b=[];i!==null&&i!==r;){var C=i,H=C.alternate,J=C.stateNode;if(C=C.tag,H!==null&&H===r)break;C!==5&&C!==26&&C!==27||J===null||(H=J,u?(J=Al(i,h),J!=null&&b.unshift(so(i,J,H))):u||(J=Al(i,h),J!=null&&b.push(so(i,J,H)))),i=i.return}b.length!==0&&e.push({event:n,listeners:b})}var US=/\r\n?/g,GS=/\u0000|\uFFFD/g;function fg(e){return(typeof e=="string"?e:""+e).replace(US,`
9
- `).replace(GS,"")}function hg(e,n){return n=fg(n),fg(e)===n}function Ve(e,n,i,r,u,h){switch(i){case"children":typeof r=="string"?n==="body"||n==="textarea"&&r===""||Ci(e,r):(typeof r=="number"||typeof r=="bigint")&&n!=="body"&&Ci(e,""+r);break;case"className":_i(e,"class",r);break;case"tabIndex":_i(e,"tabindex",r);break;case"dir":case"role":case"viewBox":case"width":case"height":_i(e,i,r);break;case"style":hh(e,r,h);break;case"data":if(n!=="object"){_i(e,"data",r);break}case"src":case"href":if(r===""&&(n!=="a"||i!=="href")){e.removeAttribute(i);break}if(r==null||typeof r=="function"||typeof r=="symbol"||typeof r=="boolean"){e.removeAttribute(i);break}r=ur(""+r),e.setAttribute(i,r);break;case"action":case"formAction":if(typeof r=="function"){e.setAttribute(i,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof h=="function"&&(i==="formAction"?(n!=="input"&&Ve(e,n,"name",u.name,u,null),Ve(e,n,"formEncType",u.formEncType,u,null),Ve(e,n,"formMethod",u.formMethod,u,null),Ve(e,n,"formTarget",u.formTarget,u,null)):(Ve(e,n,"encType",u.encType,u,null),Ve(e,n,"method",u.method,u,null),Ve(e,n,"target",u.target,u,null)));if(r==null||typeof r=="symbol"||typeof r=="boolean"){e.removeAttribute(i);break}r=ur(""+r),e.setAttribute(i,r);break;case"onClick":r!=null&&(e.onclick=En);break;case"onScroll":r!=null&&Ae("scroll",e);break;case"onScrollEnd":r!=null&&Ae("scrollend",e);break;case"dangerouslySetInnerHTML":if(r!=null){if(typeof r!="object"||!("__html"in r))throw Error(o(61));if(i=r.__html,i!=null){if(u.children!=null)throw Error(o(60));e.innerHTML=i}}break;case"multiple":e.multiple=r&&typeof r!="function"&&typeof r!="symbol";break;case"muted":e.muted=r&&typeof r!="function"&&typeof r!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(r==null||typeof r=="function"||typeof r=="boolean"||typeof r=="symbol"){e.removeAttribute("xlink:href");break}i=ur(""+r),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",i);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":r!=null&&typeof r!="function"&&typeof r!="symbol"?e.setAttribute(i,""+r):e.removeAttribute(i);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":r&&typeof r!="function"&&typeof r!="symbol"?e.setAttribute(i,""):e.removeAttribute(i);break;case"capture":case"download":r===!0?e.setAttribute(i,""):r!==!1&&r!=null&&typeof r!="function"&&typeof r!="symbol"?e.setAttribute(i,r):e.removeAttribute(i);break;case"cols":case"rows":case"size":case"span":r!=null&&typeof r!="function"&&typeof r!="symbol"&&!isNaN(r)&&1<=r?e.setAttribute(i,r):e.removeAttribute(i);break;case"rowSpan":case"start":r==null||typeof r=="function"||typeof r=="symbol"||isNaN(r)?e.removeAttribute(i):e.setAttribute(i,r);break;case"popover":Ae("beforetoggle",e),Ae("toggle",e),Ni(e,"popover",r);break;case"xlinkActuate":Qt(e,"http://www.w3.org/1999/xlink","xlink:actuate",r);break;case"xlinkArcrole":Qt(e,"http://www.w3.org/1999/xlink","xlink:arcrole",r);break;case"xlinkRole":Qt(e,"http://www.w3.org/1999/xlink","xlink:role",r);break;case"xlinkShow":Qt(e,"http://www.w3.org/1999/xlink","xlink:show",r);break;case"xlinkTitle":Qt(e,"http://www.w3.org/1999/xlink","xlink:title",r);break;case"xlinkType":Qt(e,"http://www.w3.org/1999/xlink","xlink:type",r);break;case"xmlBase":Qt(e,"http://www.w3.org/XML/1998/namespace","xml:base",r);break;case"xmlLang":Qt(e,"http://www.w3.org/XML/1998/namespace","xml:lang",r);break;case"xmlSpace":Qt(e,"http://www.w3.org/XML/1998/namespace","xml:space",r);break;case"is":Ni(e,"is",r);break;case"innerText":case"textContent":break;default:(!(2<i.length)||i[0]!=="o"&&i[0]!=="O"||i[1]!=="n"&&i[1]!=="N")&&(i=gb.get(i)||i,Ni(e,i,r))}}function yd(e,n,i,r,u,h){switch(i){case"style":hh(e,r,h);break;case"dangerouslySetInnerHTML":if(r!=null){if(typeof r!="object"||!("__html"in r))throw Error(o(61));if(i=r.__html,i!=null){if(u.children!=null)throw Error(o(60));e.innerHTML=i}}break;case"children":typeof r=="string"?Ci(e,r):(typeof r=="number"||typeof r=="bigint")&&Ci(e,""+r);break;case"onScroll":r!=null&&Ae("scroll",e);break;case"onScrollEnd":r!=null&&Ae("scrollend",e);break;case"onClick":r!=null&&(e.onclick=En);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!lr.hasOwnProperty(i))e:{if(i[0]==="o"&&i[1]==="n"&&(u=i.endsWith("Capture"),n=i.slice(2,u?i.length-7:void 0),h=e[yt]||null,h=h!=null?h[i]:null,typeof h=="function"&&e.removeEventListener(n,h,u),typeof r=="function")){typeof h!="function"&&h!==null&&(i in e?e[i]=null:e.hasAttribute(i)&&e.removeAttribute(i)),e.addEventListener(n,r,u);break e}i in e?e[i]=r:r===!0?e.setAttribute(i,""):Ni(e,i,r)}}}function gt(e,n,i){switch(n){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":Ae("error",e),Ae("load",e);var r=!1,u=!1,h;for(h in i)if(i.hasOwnProperty(h)){var b=i[h];if(b!=null)switch(h){case"src":r=!0;break;case"srcSet":u=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(o(137,n));default:Ve(e,n,h,b,i,null)}}u&&Ve(e,n,"srcSet",i.srcSet,i,null),r&&Ve(e,n,"src",i.src,i,null);return;case"input":Ae("invalid",e);var C=h=b=u=null,H=null,J=null;for(r in i)if(i.hasOwnProperty(r)){var ie=i[r];if(ie!=null)switch(r){case"name":u=ie;break;case"type":b=ie;break;case"checked":H=ie;break;case"defaultChecked":J=ie;break;case"value":h=ie;break;case"defaultValue":C=ie;break;case"children":case"dangerouslySetInnerHTML":if(ie!=null)throw Error(o(137,n));break;default:Ve(e,n,r,ie,i,null)}}cr(e,h,C,H,J,b,u,!1);return;case"select":Ae("invalid",e),r=b=h=null;for(u in i)if(i.hasOwnProperty(u)&&(C=i[u],C!=null))switch(u){case"value":h=C;break;case"defaultValue":b=C;break;case"multiple":r=C;default:Ve(e,n,u,C,i,null)}n=h,i=b,e.multiple=!!r,n!=null?_n(e,!!r,n,!1):i!=null&&_n(e,!!r,i,!0);return;case"textarea":Ae("invalid",e),h=u=r=null;for(b in i)if(i.hasOwnProperty(b)&&(C=i[b],C!=null))switch(b){case"value":r=C;break;case"defaultValue":u=C;break;case"children":h=C;break;case"dangerouslySetInnerHTML":if(C!=null)throw Error(o(91));break;default:Ve(e,n,b,C,i,null)}dh(e,r,u,h);return;case"option":for(H in i)i.hasOwnProperty(H)&&(r=i[H],r!=null)&&(H==="selected"?e.selected=r&&typeof r!="function"&&typeof r!="symbol":Ve(e,n,H,r,i,null));return;case"dialog":Ae("beforetoggle",e),Ae("toggle",e),Ae("cancel",e),Ae("close",e);break;case"iframe":case"object":Ae("load",e);break;case"video":case"audio":for(r=0;r<ro.length;r++)Ae(ro[r],e);break;case"image":Ae("error",e),Ae("load",e);break;case"details":Ae("toggle",e);break;case"embed":case"source":case"link":Ae("error",e),Ae("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(J in i)if(i.hasOwnProperty(J)&&(r=i[J],r!=null))switch(J){case"children":case"dangerouslySetInnerHTML":throw Error(o(137,n));default:Ve(e,n,J,r,i,null)}return;default:if(zc(n)){for(ie in i)i.hasOwnProperty(ie)&&(r=i[ie],r!==void 0&&yd(e,n,ie,r,i,void 0));return}}for(C in i)i.hasOwnProperty(C)&&(r=i[C],r!=null&&Ve(e,n,C,r,i,null))}function VS(e,n,i,r){switch(n){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var u=null,h=null,b=null,C=null,H=null,J=null,ie=null;for(ne in i){var re=i[ne];if(i.hasOwnProperty(ne)&&re!=null)switch(ne){case"checked":break;case"value":break;case"defaultValue":H=re;default:r.hasOwnProperty(ne)||Ve(e,n,ne,null,r,re)}}for(var ee in r){var ne=r[ee];if(re=i[ee],r.hasOwnProperty(ee)&&(ne!=null||re!=null))switch(ee){case"type":h=ne;break;case"name":u=ne;break;case"checked":J=ne;break;case"defaultChecked":ie=ne;break;case"value":b=ne;break;case"defaultValue":C=ne;break;case"children":case"dangerouslySetInnerHTML":if(ne!=null)throw Error(o(137,n));break;default:ne!==re&&Ve(e,n,ee,ne,r,re)}}ka(e,b,C,H,J,ie,h,u);return;case"select":ne=b=C=ee=null;for(h in i)if(H=i[h],i.hasOwnProperty(h)&&H!=null)switch(h){case"value":break;case"multiple":ne=H;default:r.hasOwnProperty(h)||Ve(e,n,h,null,r,H)}for(u in r)if(h=r[u],H=i[u],r.hasOwnProperty(u)&&(h!=null||H!=null))switch(u){case"value":ee=h;break;case"defaultValue":C=h;break;case"multiple":b=h;default:h!==H&&Ve(e,n,u,h,r,H)}n=C,i=b,r=ne,ee!=null?_n(e,!!i,ee,!1):!!r!=!!i&&(n!=null?_n(e,!!i,n,!0):_n(e,!!i,i?[]:"",!1));return;case"textarea":ne=ee=null;for(C in i)if(u=i[C],i.hasOwnProperty(C)&&u!=null&&!r.hasOwnProperty(C))switch(C){case"value":break;case"children":break;default:Ve(e,n,C,null,r,u)}for(b in r)if(u=r[b],h=i[b],r.hasOwnProperty(b)&&(u!=null||h!=null))switch(b){case"value":ee=u;break;case"defaultValue":ne=u;break;case"children":break;case"dangerouslySetInnerHTML":if(u!=null)throw Error(o(91));break;default:u!==h&&Ve(e,n,b,u,r,h)}uh(e,ee,ne);return;case"option":for(var he in i)ee=i[he],i.hasOwnProperty(he)&&ee!=null&&!r.hasOwnProperty(he)&&(he==="selected"?e.selected=!1:Ve(e,n,he,null,r,ee));for(H in r)ee=r[H],ne=i[H],r.hasOwnProperty(H)&&ee!==ne&&(ee!=null||ne!=null)&&(H==="selected"?e.selected=ee&&typeof ee!="function"&&typeof ee!="symbol":Ve(e,n,H,ee,r,ne));return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var Se in i)ee=i[Se],i.hasOwnProperty(Se)&&ee!=null&&!r.hasOwnProperty(Se)&&Ve(e,n,Se,null,r,ee);for(J in r)if(ee=r[J],ne=i[J],r.hasOwnProperty(J)&&ee!==ne&&(ee!=null||ne!=null))switch(J){case"children":case"dangerouslySetInnerHTML":if(ee!=null)throw Error(o(137,n));break;default:Ve(e,n,J,ee,r,ne)}return;default:if(zc(n)){for(var Ye in i)ee=i[Ye],i.hasOwnProperty(Ye)&&ee!==void 0&&!r.hasOwnProperty(Ye)&&yd(e,n,Ye,void 0,r,ee);for(ie in r)ee=r[ie],ne=i[ie],!r.hasOwnProperty(ie)||ee===ne||ee===void 0&&ne===void 0||yd(e,n,ie,ee,r,ne);return}}for(var P in i)ee=i[P],i.hasOwnProperty(P)&&ee!=null&&!r.hasOwnProperty(P)&&Ve(e,n,P,null,r,ee);for(re in r)ee=r[re],ne=i[re],!r.hasOwnProperty(re)||ee===ne||ee==null&&ne==null||Ve(e,n,re,ee,r,ne)}function mg(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function YS(){if(typeof performance.getEntriesByType=="function"){for(var e=0,n=0,i=performance.getEntriesByType("resource"),r=0;r<i.length;r++){var u=i[r],h=u.transferSize,b=u.initiatorType,C=u.duration;if(h&&C&&mg(b)){for(b=0,C=u.responseEnd,r+=1;r<i.length;r++){var H=i[r],J=H.startTime;if(J>C)break;var ie=H.transferSize,re=H.initiatorType;ie&&mg(re)&&(H=H.responseEnd,b+=ie*(H<C?1:(C-J)/(H-J)))}if(--r,n+=8*(h+b)/(u.duration/1e3),e++,10<e)break}}if(0<e)return n/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var vd=null,xd=null;function ls(e){return e.nodeType===9?e:e.ownerDocument}function pg(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function gg(e,n){if(e===0)switch(n){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&n==="foreignObject"?0:e}function bd(e,n){return e==="textarea"||e==="noscript"||typeof n.children=="string"||typeof n.children=="number"||typeof n.children=="bigint"||typeof n.dangerouslySetInnerHTML=="object"&&n.dangerouslySetInnerHTML!==null&&n.dangerouslySetInnerHTML.__html!=null}var Sd=null;function PS(){var e=window.event;return e&&e.type==="popstate"?e===Sd?!1:(Sd=e,!0):(Sd=null,!1)}var yg=typeof setTimeout=="function"?setTimeout:void 0,$S=typeof clearTimeout=="function"?clearTimeout:void 0,vg=typeof Promise=="function"?Promise:void 0,FS=typeof queueMicrotask=="function"?queueMicrotask:typeof vg<"u"?function(e){return vg.resolve(null).then(e).catch(XS)}:yg;function XS(e){setTimeout(function(){throw e})}function ga(e){return e==="head"}function xg(e,n){var i=n,r=0;do{var u=i.nextSibling;if(e.removeChild(i),u&&u.nodeType===8)if(i=u.data,i==="/$"||i==="/&"){if(r===0){e.removeChild(u),al(n);return}r--}else if(i==="$"||i==="$?"||i==="$~"||i==="$!"||i==="&")r++;else if(i==="html")co(e.ownerDocument.documentElement);else if(i==="head"){i=e.ownerDocument.head,co(i);for(var h=i.firstChild;h;){var b=h.nextSibling,C=h.nodeName;h[La]||C==="SCRIPT"||C==="STYLE"||C==="LINK"&&h.rel.toLowerCase()==="stylesheet"||i.removeChild(h),h=b}}else i==="body"&&co(e.ownerDocument.body);i=u}while(i);al(n)}function bg(e,n){var i=e;e=0;do{var r=i.nextSibling;if(i.nodeType===1?n?(i._stashedDisplay=i.style.display,i.style.display="none"):(i.style.display=i._stashedDisplay||"",i.getAttribute("style")===""&&i.removeAttribute("style")):i.nodeType===3&&(n?(i._stashedText=i.nodeValue,i.nodeValue=""):i.nodeValue=i._stashedText||""),r&&r.nodeType===8)if(i=r.data,i==="/$"){if(e===0)break;e--}else i!=="$"&&i!=="$?"&&i!=="$~"&&i!=="$!"||e++;i=r}while(i)}function wd(e){var n=e.firstChild;for(n&&n.nodeType===10&&(n=n.nextSibling);n;){var i=n;switch(n=n.nextSibling,i.nodeName){case"HTML":case"HEAD":case"BODY":wd(i),Cl(i);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(i.rel.toLowerCase()==="stylesheet")continue}e.removeChild(i)}}function ZS(e,n,i,r){for(;e.nodeType===1;){var u=i;if(e.nodeName.toLowerCase()!==n.toLowerCase()){if(!r&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(r){if(!e[La])switch(n){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(h=e.getAttribute("rel"),h==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(h!==u.rel||e.getAttribute("href")!==(u.href==null||u.href===""?null:u.href)||e.getAttribute("crossorigin")!==(u.crossOrigin==null?null:u.crossOrigin)||e.getAttribute("title")!==(u.title==null?null:u.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(h=e.getAttribute("src"),(h!==(u.src==null?null:u.src)||e.getAttribute("type")!==(u.type==null?null:u.type)||e.getAttribute("crossorigin")!==(u.crossOrigin==null?null:u.crossOrigin))&&h&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(n==="input"&&e.type==="hidden"){var h=u.name==null?null:""+u.name;if(u.type==="hidden"&&e.getAttribute("name")===h)return e}else return e;if(e=Ft(e.nextSibling),e===null)break}return null}function KS(e,n,i){if(n==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!i||(e=Ft(e.nextSibling),e===null))return null;return e}function Sg(e,n){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!n||(e=Ft(e.nextSibling),e===null))return null;return e}function Nd(e){return e.data==="$?"||e.data==="$~"}function _d(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function QS(e,n){var i=e.ownerDocument;if(e.data==="$~")e._reactRetry=n;else if(e.data!=="$?"||i.readyState!=="loading")n();else{var r=function(){n(),i.removeEventListener("DOMContentLoaded",r)};i.addEventListener("DOMContentLoaded",r),e._reactRetry=r}}function Ft(e){for(;e!=null;e=e.nextSibling){var n=e.nodeType;if(n===1||n===3)break;if(n===8){if(n=e.data,n==="$"||n==="$!"||n==="$?"||n==="$~"||n==="&"||n==="F!"||n==="F")break;if(n==="/$"||n==="/&")return null}}return e}var Ed=null;function wg(e){e=e.nextSibling;for(var n=0;e;){if(e.nodeType===8){var i=e.data;if(i==="/$"||i==="/&"){if(n===0)return Ft(e.nextSibling);n--}else i!=="$"&&i!=="$!"&&i!=="$?"&&i!=="$~"&&i!=="&"||n++}e=e.nextSibling}return null}function Ng(e){e=e.previousSibling;for(var n=0;e;){if(e.nodeType===8){var i=e.data;if(i==="$"||i==="$!"||i==="$?"||i==="$~"||i==="&"){if(n===0)return e;n--}else i!=="/$"&&i!=="/&"||n++}e=e.previousSibling}return null}function _g(e,n,i){switch(n=ls(i),e){case"html":if(e=n.documentElement,!e)throw Error(o(452));return e;case"head":if(e=n.head,!e)throw Error(o(453));return e;case"body":if(e=n.body,!e)throw Error(o(454));return e;default:throw Error(o(451))}}function co(e){for(var n=e.attributes;n.length;)e.removeAttributeNode(n[0]);Cl(e)}var Xt=new Map,Eg=new Set;function os(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Un=I.d;I.d={f:JS,r:WS,D:e1,C:t1,L:n1,m:a1,X:l1,S:i1,M:o1};function JS(){var e=Un.f(),n=Qr();return e||n}function WS(e){var n=Zn(e);n!==null&&n.tag===5&&n.type==="form"?Gm(n):Un.r(e)}var el=typeof document>"u"?null:document;function Cg(e,n,i){var r=el;if(r&&typeof n=="string"&&n){var u=Nt(n);u='link[rel="'+e+'"][href="'+u+'"]',typeof i=="string"&&(u+='[crossorigin="'+i+'"]'),Eg.has(u)||(Eg.add(u),e={rel:e,crossOrigin:i,href:n},r.querySelector(u)===null&&(n=r.createElement("link"),gt(n,"link",e),nt(n),r.head.appendChild(n)))}}function e1(e){Un.D(e),Cg("dns-prefetch",e,null)}function t1(e,n){Un.C(e,n),Cg("preconnect",e,n)}function n1(e,n,i){Un.L(e,n,i);var r=el;if(r&&e&&n){var u='link[rel="preload"][as="'+Nt(n)+'"]';n==="image"&&i&&i.imageSrcSet?(u+='[imagesrcset="'+Nt(i.imageSrcSet)+'"]',typeof i.imageSizes=="string"&&(u+='[imagesizes="'+Nt(i.imageSizes)+'"]')):u+='[href="'+Nt(e)+'"]';var h=u;switch(n){case"style":h=tl(e);break;case"script":h=nl(e)}Xt.has(h)||(e=v({rel:"preload",href:n==="image"&&i&&i.imageSrcSet?void 0:e,as:n},i),Xt.set(h,e),r.querySelector(u)!==null||n==="style"&&r.querySelector(uo(h))||n==="script"&&r.querySelector(fo(h))||(n=r.createElement("link"),gt(n,"link",e),nt(n),r.head.appendChild(n)))}}function a1(e,n){Un.m(e,n);var i=el;if(i&&e){var r=n&&typeof n.as=="string"?n.as:"script",u='link[rel="modulepreload"][as="'+Nt(r)+'"][href="'+Nt(e)+'"]',h=u;switch(r){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":h=nl(e)}if(!Xt.has(h)&&(e=v({rel:"modulepreload",href:e},n),Xt.set(h,e),i.querySelector(u)===null)){switch(r){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(i.querySelector(fo(h)))return}r=i.createElement("link"),gt(r,"link",e),nt(r),i.head.appendChild(r)}}}function i1(e,n,i){Un.S(e,n,i);var r=el;if(r&&e){var u=Qn(r).hoistableStyles,h=tl(e);n=n||"default";var b=u.get(h);if(!b){var C={loading:0,preload:null};if(b=r.querySelector(uo(h)))C.loading=5;else{e=v({rel:"stylesheet",href:e,"data-precedence":n},i),(i=Xt.get(h))&&Cd(e,i);var H=b=r.createElement("link");nt(H),gt(H,"link",e),H._p=new Promise(function(J,ie){H.onload=J,H.onerror=ie}),H.addEventListener("load",function(){C.loading|=1}),H.addEventListener("error",function(){C.loading|=2}),C.loading|=4,rs(b,n,r)}b={type:"stylesheet",instance:b,count:1,state:C},u.set(h,b)}}}function l1(e,n){Un.X(e,n);var i=el;if(i&&e){var r=Qn(i).hoistableScripts,u=nl(e),h=r.get(u);h||(h=i.querySelector(fo(u)),h||(e=v({src:e,async:!0},n),(n=Xt.get(u))&&Td(e,n),h=i.createElement("script"),nt(h),gt(h,"link",e),i.head.appendChild(h)),h={type:"script",instance:h,count:1,state:null},r.set(u,h))}}function o1(e,n){Un.M(e,n);var i=el;if(i&&e){var r=Qn(i).hoistableScripts,u=nl(e),h=r.get(u);h||(h=i.querySelector(fo(u)),h||(e=v({src:e,async:!0,type:"module"},n),(n=Xt.get(u))&&Td(e,n),h=i.createElement("script"),nt(h),gt(h,"link",e),i.head.appendChild(h)),h={type:"script",instance:h,count:1,state:null},r.set(u,h))}}function Tg(e,n,i,r){var u=(u=$.current)?os(u):null;if(!u)throw Error(o(446));switch(e){case"meta":case"title":return null;case"style":return typeof i.precedence=="string"&&typeof i.href=="string"?(n=tl(i.href),i=Qn(u).hoistableStyles,r=i.get(n),r||(r={type:"style",instance:null,count:0,state:null},i.set(n,r)),r):{type:"void",instance:null,count:0,state:null};case"link":if(i.rel==="stylesheet"&&typeof i.href=="string"&&typeof i.precedence=="string"){e=tl(i.href);var h=Qn(u).hoistableStyles,b=h.get(e);if(b||(u=u.ownerDocument||u,b={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},h.set(e,b),(h=u.querySelector(uo(e)))&&!h._p&&(b.instance=h,b.state.loading=5),Xt.has(e)||(i={rel:"preload",as:"style",href:i.href,crossOrigin:i.crossOrigin,integrity:i.integrity,media:i.media,hrefLang:i.hrefLang,referrerPolicy:i.referrerPolicy},Xt.set(e,i),h||r1(u,e,i,b.state))),n&&r===null)throw Error(o(528,""));return b}if(n&&r!==null)throw Error(o(529,""));return null;case"script":return n=i.async,i=i.src,typeof i=="string"&&n&&typeof n!="function"&&typeof n!="symbol"?(n=nl(i),i=Qn(u).hoistableScripts,r=i.get(n),r||(r={type:"script",instance:null,count:0,state:null},i.set(n,r)),r):{type:"void",instance:null,count:0,state:null};default:throw Error(o(444,e))}}function tl(e){return'href="'+Nt(e)+'"'}function uo(e){return'link[rel="stylesheet"]['+e+"]"}function Mg(e){return v({},e,{"data-precedence":e.precedence,precedence:null})}function r1(e,n,i,r){e.querySelector('link[rel="preload"][as="style"]['+n+"]")?r.loading=1:(n=e.createElement("link"),r.preload=n,n.addEventListener("load",function(){return r.loading|=1}),n.addEventListener("error",function(){return r.loading|=2}),gt(n,"link",i),nt(n),e.head.appendChild(n))}function nl(e){return'[src="'+Nt(e)+'"]'}function fo(e){return"script[async]"+e}function Ag(e,n,i){if(n.count++,n.instance===null)switch(n.type){case"style":var r=e.querySelector('style[data-href~="'+Nt(i.href)+'"]');if(r)return n.instance=r,nt(r),r;var u=v({},i,{"data-href":i.href,"data-precedence":i.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement("style"),nt(r),gt(r,"style",u),rs(r,i.precedence,e),n.instance=r;case"stylesheet":u=tl(i.href);var h=e.querySelector(uo(u));if(h)return n.state.loading|=4,n.instance=h,nt(h),h;r=Mg(i),(u=Xt.get(u))&&Cd(r,u),h=(e.ownerDocument||e).createElement("link"),nt(h);var b=h;return b._p=new Promise(function(C,H){b.onload=C,b.onerror=H}),gt(h,"link",r),n.state.loading|=4,rs(h,i.precedence,e),n.instance=h;case"script":return h=nl(i.src),(u=e.querySelector(fo(h)))?(n.instance=u,nt(u),u):(r=i,(u=Xt.get(h))&&(r=v({},i),Td(r,u)),e=e.ownerDocument||e,u=e.createElement("script"),nt(u),gt(u,"link",r),e.head.appendChild(u),n.instance=u);case"void":return null;default:throw Error(o(443,n.type))}else n.type==="stylesheet"&&(n.state.loading&4)===0&&(r=n.instance,n.state.loading|=4,rs(r,i.precedence,e));return n.instance}function rs(e,n,i){for(var r=i.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),u=r.length?r[r.length-1]:null,h=u,b=0;b<r.length;b++){var C=r[b];if(C.dataset.precedence===n)h=C;else if(h!==u)break}h?h.parentNode.insertBefore(e,h.nextSibling):(n=i.nodeType===9?i.head:i,n.insertBefore(e,n.firstChild))}function Cd(e,n){e.crossOrigin==null&&(e.crossOrigin=n.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=n.referrerPolicy),e.title==null&&(e.title=n.title)}function Td(e,n){e.crossOrigin==null&&(e.crossOrigin=n.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=n.referrerPolicy),e.integrity==null&&(e.integrity=n.integrity)}var ss=null;function jg(e,n,i){if(ss===null){var r=new Map,u=ss=new Map;u.set(i,r)}else u=ss,r=u.get(i),r||(r=new Map,u.set(i,r));if(r.has(e))return r;for(r.set(e,null),i=i.getElementsByTagName(e),u=0;u<i.length;u++){var h=i[u];if(!(h[La]||h[st]||e==="link"&&h.getAttribute("rel")==="stylesheet")&&h.namespaceURI!=="http://www.w3.org/2000/svg"){var b=h.getAttribute(n)||"";b=e+b;var C=r.get(b);C?C.push(h):r.set(b,[h])}}return r}function zg(e,n,i){e=e.ownerDocument||e,e.head.insertBefore(i,n==="title"?e.querySelector("head > title"):null)}function s1(e,n,i){if(i===1||n.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof n.precedence!="string"||typeof n.href!="string"||n.href==="")break;return!0;case"link":if(typeof n.rel!="string"||typeof n.href!="string"||n.href===""||n.onLoad||n.onError)break;return n.rel==="stylesheet"?(e=n.disabled,typeof n.precedence=="string"&&e==null):!0;case"script":if(n.async&&typeof n.async!="function"&&typeof n.async!="symbol"&&!n.onLoad&&!n.onError&&n.src&&typeof n.src=="string")return!0}return!1}function Rg(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function c1(e,n,i,r){if(i.type==="stylesheet"&&(typeof r.media!="string"||matchMedia(r.media).matches!==!1)&&(i.state.loading&4)===0){if(i.instance===null){var u=tl(r.href),h=n.querySelector(uo(u));if(h){n=h._p,n!==null&&typeof n=="object"&&typeof n.then=="function"&&(e.count++,e=cs.bind(e),n.then(e,e)),i.state.loading|=4,i.instance=h,nt(h);return}h=n.ownerDocument||n,r=Mg(r),(u=Xt.get(u))&&Cd(r,u),h=h.createElement("link"),nt(h);var b=h;b._p=new Promise(function(C,H){b.onload=C,b.onerror=H}),gt(h,"link",r),i.instance=h}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(i,n),(n=i.state.preload)&&(i.state.loading&3)===0&&(e.count++,i=cs.bind(e),n.addEventListener("load",i),n.addEventListener("error",i))}}var Md=0;function u1(e,n){return e.stylesheets&&e.count===0&&ds(e,e.stylesheets),0<e.count||0<e.imgCount?function(i){var r=setTimeout(function(){if(e.stylesheets&&ds(e,e.stylesheets),e.unsuspend){var h=e.unsuspend;e.unsuspend=null,h()}},6e4+n);0<e.imgBytes&&Md===0&&(Md=62500*YS());var u=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&ds(e,e.stylesheets),e.unsuspend)){var h=e.unsuspend;e.unsuspend=null,h()}},(e.imgBytes>Md?50:800)+n);return e.unsuspend=i,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(u)}}:null}function cs(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)ds(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var us=null;function ds(e,n){e.stylesheets=null,e.unsuspend!==null&&(e.count++,us=new Map,n.forEach(d1,e),us=null,cs.call(e))}function d1(e,n){if(!(n.state.loading&4)){var i=us.get(e);if(i)var r=i.get(null);else{i=new Map,us.set(e,i);for(var u=e.querySelectorAll("link[data-precedence],style[data-precedence]"),h=0;h<u.length;h++){var b=u[h];(b.nodeName==="LINK"||b.getAttribute("media")!=="not all")&&(i.set(b.dataset.precedence,b),r=b)}r&&i.set(null,r)}u=n.instance,b=u.getAttribute("data-precedence"),h=i.get(b)||r,h===r&&i.set(null,u),i.set(b,u),this.count++,r=cs.bind(this),u.addEventListener("load",r),u.addEventListener("error",r),h?h.parentNode.insertBefore(u,h.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(u,e.firstChild)),n.state.loading|=4}}var ho={$$typeof:E,Provider:null,Consumer:null,_currentValue:U,_currentValue2:U,_threadCount:0};function f1(e,n,i,r,u,h,b,C,H){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Nl(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Nl(0),this.hiddenUpdates=Nl(null),this.identifierPrefix=r,this.onUncaughtError=u,this.onCaughtError=h,this.onRecoverableError=b,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=H,this.incompleteTransitions=new Map}function Dg(e,n,i,r,u,h,b,C,H,J,ie,re){return e=new f1(e,n,i,b,H,J,ie,re,C),n=1,h===!0&&(n|=24),h=Dt(3,null,null,n),e.current=h,h.stateNode=e,n=ru(),n.refCount++,e.pooledCache=n,n.refCount++,h.memoizedState={element:r,isDehydrated:i,cache:n},du(h),e}function Og(e){return e?(e=Di,e):Di}function Ig(e,n,i,r,u,h){u=Og(u),r.context===null?r.context=u:r.pendingContext=u,r=la(n),r.payload={element:i},h=h===void 0?null:h,h!==null&&(r.callback=h),i=oa(e,r,n),i!==null&&(At(i,e,n),Yl(i,e,n))}function Lg(e,n){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var i=e.retryLane;e.retryLane=i!==0&&i<n?i:n}}function Ad(e,n){Lg(e,n),(e=e.alternate)&&Lg(e,n)}function Hg(e){if(e.tag===13||e.tag===31){var n=Ga(e,67108864);n!==null&&At(n,e,67108864),Ad(e,67108864)}}function kg(e){if(e.tag===13||e.tag===31){var n=kt();n=_l(n);var i=Ga(e,n);i!==null&&At(i,e,n),Ad(e,n)}}var fs=!0;function h1(e,n,i,r){var u=T.T;T.T=null;var h=I.p;try{I.p=2,jd(e,n,i,r)}finally{I.p=h,T.T=u}}function m1(e,n,i,r){var u=T.T;T.T=null;var h=I.p;try{I.p=8,jd(e,n,i,r)}finally{I.p=h,T.T=u}}function jd(e,n,i,r){if(fs){var u=zd(r);if(u===null)gd(e,n,r,hs,i),qg(e,r);else if(g1(u,e,n,i,r))r.stopPropagation();else if(qg(e,r),n&4&&-1<p1.indexOf(e)){for(;u!==null;){var h=Zn(u);if(h!==null)switch(h.tag){case 3:if(h=h.stateNode,h.current.memoizedState.isDehydrated){var b=Sn(h.pendingLanes);if(b!==0){var C=h;for(C.pendingLanes|=2,C.entangledLanes|=2;b;){var H=1<<31-bt(b);C.entanglements[1]|=H,b&=~H}hn(h),(He&6)===0&&(Zr=ft()+500,oo(0))}}break;case 31:case 13:C=Ga(h,2),C!==null&&At(C,h,2),Qr(),Ad(h,2)}if(h=zd(r),h===null&&gd(e,n,r,hs,i),h===u)break;u=h}u!==null&&r.stopPropagation()}else gd(e,n,r,null,i)}}function zd(e){return e=Dc(e),Rd(e)}var hs=null;function Rd(e){if(hs=null,e=Xn(e),e!==null){var n=c(e);if(n===null)e=null;else{var i=n.tag;if(i===13){if(e=d(n),e!==null)return e;e=null}else if(i===31){if(e=m(n),e!==null)return e;e=null}else if(i===3){if(n.stateNode.current.memoizedState.isDehydrated)return n.tag===3?n.stateNode.containerInfo:null;e=null}else n!==e&&(e=null)}}return hs=e,null}function Bg(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(gi()){case bn:return 2;case Fn:return 8;case Ra:case vc:return 32;case yi:return 268435456;default:return 32}default:return 32}}var Dd=!1,ya=null,va=null,xa=null,mo=new Map,po=new Map,ba=[],p1="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function qg(e,n){switch(e){case"focusin":case"focusout":ya=null;break;case"dragenter":case"dragleave":va=null;break;case"mouseover":case"mouseout":xa=null;break;case"pointerover":case"pointerout":mo.delete(n.pointerId);break;case"gotpointercapture":case"lostpointercapture":po.delete(n.pointerId)}}function go(e,n,i,r,u,h){return e===null||e.nativeEvent!==h?(e={blockedOn:n,domEventName:i,eventSystemFlags:r,nativeEvent:h,targetContainers:[u]},n!==null&&(n=Zn(n),n!==null&&Hg(n)),e):(e.eventSystemFlags|=r,n=e.targetContainers,u!==null&&n.indexOf(u)===-1&&n.push(u),e)}function g1(e,n,i,r,u){switch(n){case"focusin":return ya=go(ya,e,n,i,r,u),!0;case"dragenter":return va=go(va,e,n,i,r,u),!0;case"mouseover":return xa=go(xa,e,n,i,r,u),!0;case"pointerover":var h=u.pointerId;return mo.set(h,go(mo.get(h)||null,e,n,i,r,u)),!0;case"gotpointercapture":return h=u.pointerId,po.set(h,go(po.get(h)||null,e,n,i,r,u)),!0}return!1}function Ug(e){var n=Xn(e.target);if(n!==null){var i=c(n);if(i!==null){if(n=i.tag,n===13){if(n=d(i),n!==null){e.blockedOn=n,tr(e.priority,function(){kg(i)});return}}else if(n===31){if(n=m(i),n!==null){e.blockedOn=n,tr(e.priority,function(){kg(i)});return}}else if(n===3&&i.stateNode.current.memoizedState.isDehydrated){e.blockedOn=i.tag===3?i.stateNode.containerInfo:null;return}}}e.blockedOn=null}function ms(e){if(e.blockedOn!==null)return!1;for(var n=e.targetContainers;0<n.length;){var i=zd(e.nativeEvent);if(i===null){i=e.nativeEvent;var r=new i.constructor(i.type,i);Rc=r,i.target.dispatchEvent(r),Rc=null}else return n=Zn(i),n!==null&&Hg(n),e.blockedOn=i,!1;n.shift()}return!0}function Gg(e,n,i){ms(e)&&i.delete(n)}function y1(){Dd=!1,ya!==null&&ms(ya)&&(ya=null),va!==null&&ms(va)&&(va=null),xa!==null&&ms(xa)&&(xa=null),mo.forEach(Gg),po.forEach(Gg)}function ps(e,n){e.blockedOn===n&&(e.blockedOn=null,Dd||(Dd=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,y1)))}var gs=null;function Vg(e){gs!==e&&(gs=e,t.unstable_scheduleCallback(t.unstable_NormalPriority,function(){gs===e&&(gs=null);for(var n=0;n<e.length;n+=3){var i=e[n],r=e[n+1],u=e[n+2];if(typeof r!="function"){if(Rd(r||i)===null)continue;break}var h=Zn(i);h!==null&&(e.splice(n,3),n-=3,zu(h,{pending:!0,data:u,method:i.method,action:r},r,u))}}))}function al(e){function n(H){return ps(H,e)}ya!==null&&ps(ya,e),va!==null&&ps(va,e),xa!==null&&ps(xa,e),mo.forEach(n),po.forEach(n);for(var i=0;i<ba.length;i++){var r=ba[i];r.blockedOn===e&&(r.blockedOn=null)}for(;0<ba.length&&(i=ba[0],i.blockedOn===null);)Ug(i),i.blockedOn===null&&ba.shift();if(i=(e.ownerDocument||e).$$reactFormReplay,i!=null)for(r=0;r<i.length;r+=3){var u=i[r],h=i[r+1],b=u[yt]||null;if(typeof h=="function")b||Vg(i);else if(b){var C=null;if(h&&h.hasAttribute("formAction")){if(u=h,b=h[yt]||null)C=b.formAction;else if(Rd(u)!==null)continue}else C=b.action;typeof C=="function"?i[r+1]=C:(i.splice(r,3),r-=3),Vg(i)}}}function Yg(){function e(h){h.canIntercept&&h.info==="react-transition"&&h.intercept({handler:function(){return new Promise(function(b){return u=b})},focusReset:"manual",scroll:"manual"})}function n(){u!==null&&(u(),u=null),r||setTimeout(i,20)}function i(){if(!r&&!navigation.transition){var h=navigation.currentEntry;h&&h.url!=null&&navigation.navigate(h.url,{state:h.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var r=!1,u=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",n),navigation.addEventListener("navigateerror",n),setTimeout(i,100),function(){r=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",n),navigation.removeEventListener("navigateerror",n),u!==null&&(u(),u=null)}}}function Od(e){this._internalRoot=e}ys.prototype.render=Od.prototype.render=function(e){var n=this._internalRoot;if(n===null)throw Error(o(409));var i=n.current,r=kt();Ig(i,r,e,n,null,null)},ys.prototype.unmount=Od.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var n=e.containerInfo;Ig(e.current,2,null,e,null,null),Qr(),n[wn]=null}};function ys(e){this._internalRoot=e}ys.prototype.unstable_scheduleHydration=function(e){if(e){var n=er();e={blockedOn:null,target:e,priority:n};for(var i=0;i<ba.length&&n!==0&&n<ba[i].priority;i++);ba.splice(i,0,e),i===0&&Ug(e)}};var Pg=a.version;if(Pg!=="19.2.5")throw Error(o(527,Pg,"19.2.5"));I.findDOMNode=function(e){var n=e._reactInternals;if(n===void 0)throw typeof e.render=="function"?Error(o(188)):(e=Object.keys(e).join(","),Error(o(268,e)));return e=p(n),e=e!==null?g(e):null,e=e===null?null:e.stateNode,e};var v1={bundleType:0,version:"19.2.5",rendererPackageName:"react-dom",currentDispatcherRef:T,reconcilerVersion:"19.2.5"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var vs=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!vs.isDisabled&&vs.supportsFiber)try{Da=vs.inject(v1),xt=vs}catch{}}return vo.createRoot=function(e,n){if(!s(e))throw Error(o(299));var i=!1,r="",u=Jm,h=Wm,b=ep;return n!=null&&(n.unstable_strictMode===!0&&(i=!0),n.identifierPrefix!==void 0&&(r=n.identifierPrefix),n.onUncaughtError!==void 0&&(u=n.onUncaughtError),n.onCaughtError!==void 0&&(h=n.onCaughtError),n.onRecoverableError!==void 0&&(b=n.onRecoverableError)),n=Dg(e,1,!1,null,null,i,r,null,u,h,b,Yg),e[wn]=n.current,pd(e),new Od(n)},vo.hydrateRoot=function(e,n,i){if(!s(e))throw Error(o(299));var r=!1,u="",h=Jm,b=Wm,C=ep,H=null;return i!=null&&(i.unstable_strictMode===!0&&(r=!0),i.identifierPrefix!==void 0&&(u=i.identifierPrefix),i.onUncaughtError!==void 0&&(h=i.onUncaughtError),i.onCaughtError!==void 0&&(b=i.onCaughtError),i.onRecoverableError!==void 0&&(C=i.onRecoverableError),i.formState!==void 0&&(H=i.formState)),n=Dg(e,1,!0,n,i??null,r,u,H,h,b,C,Yg),n.context=Og(null),i=n.current,r=kt(),r=_l(r),u=la(r),u.callback=null,oa(i,u,r),i=r,n.current.lanes=i,Ia(n,i),hn(n),e[wn]=n.current,pd(e),new ys(n)},vo.version="19.2.5",vo}var ty;function T1(){if(ty)return Hd.exports;ty=1;function t(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(a){console.error(a)}}return t(),Hd.exports=C1(),Hd.exports}var M1=T1();const ny=t=>{let a;const l=new Set,o=(p,g)=>{const v=typeof p=="function"?p(a):p;if(!Object.is(v,a)){const x=a;a=g??(typeof v!="object"||v===null)?v:Object.assign({},a,v),l.forEach(S=>S(a,x))}},s=()=>a,m={setState:o,getState:s,getInitialState:()=>y,subscribe:p=>(l.add(p),()=>l.delete(p))},y=a=t(o,s,m);return m},A1=(t=>t?ny(t):ny),j1=t=>t;function z1(t,a=j1){const l=Eo.useSyncExternalStore(t.subscribe,Eo.useCallback(()=>a(t.getState()),[t,a]),Eo.useCallback(()=>a(t.getInitialState()),[t,a]));return Eo.useDebugValue(l),l}const ay=t=>{const a=A1(t),l=o=>z1(a,o);return Object.assign(l,a),l},F0=(t=>t?ay(t):ay),X0=["default","gpt","claude","gemini","grok"];function iy(t){return Array.isArray(t.images)}function R1(t){let a="message";const l=[];for(const s of t.split(`
10
- `))s.startsWith("event:")&&(a=s.slice(6).trim()),s.startsWith("data:")&&l.push(s.slice(5).trimStart());if(l.length===0)return null;const o=l.join(`
11
- `);return!o||o==="[DONE]"?null:{event:a,data:JSON.parse(o)}}async function D1(t,a={}){const l=await fetch("/api/node/generate",{method:"POST",headers:{"Content-Type":"application/json",Accept:"text/event-stream"},body:JSON.stringify(t)});if(!(l.headers.get("content-type")??"").includes("text/event-stream")){const y=await l.json().catch(()=>({}));if(!l.ok){const p=y,g=p?.error?.message??`Request failed: ${l.status}`,v=new Error(g);throw v.code=p?.error?.code,v.status=p?.status??l.status,v}return y}if(!l.ok||!l.body)throw new Error(`Request failed: ${l.status}`);const s=l.body.getReader(),c=new TextDecoder;let d="",m=null;for(;;){const{done:y,value:p}=await s.read();if(y)break;d+=c.decode(p,{stream:!0});let g=d.indexOf(`
12
-
13
- `);for(;g!==-1;){const v=d.slice(0,g);d=d.slice(g+2);const x=R1(v);if(x){if(x.event==="partial")a.onPartial?.(x.data);else if(x.event==="phase")a.onPhase?.(x.data);else if(x.event==="done")m=x.data;else if(x.event==="error"){const S=x.data,N=S?.error?.message??"Node generation failed",_=new Error(N);throw _.code=S?.error?.code,_.status=S?.status,_}}g=d.indexOf(`
14
-
15
- `)}}if(!m)throw new Error("Node stream ended without a final image");return m}async function We(t,a){const l=await fetch(t,a),o=await l.json().catch(()=>({}));if(!l.ok){const s=o.error,c=o.code,d=typeof s=="string"?s:s?.message??`Request failed: ${l.status}`,m=new Error(d);throw m.status=l.status,typeof s!="string"&&s?.code?m.code=s.code:c&&(m.code=c),typeof o.currentVersion=="number"&&(m.currentVersion=o.currentVersion),m}return o}function Ud(t){const a=new URLSearchParams;t?.kind&&a.set("kind",t.kind),t?.sessionId&&a.set("sessionId",t.sessionId),t?.includeTerminal&&a.set("includeTerminal","1");const l=a.size>0?`?${a.toString()}`:"";return We(`/api/inflight${l}`)}async function ly(t){await fetch(`/api/inflight/${encodeURIComponent(t)}`,{method:"DELETE"}).catch(()=>{})}function O1(){return We("/api/oauth/status")}function I1(){return We("/api/billing")}function L1(t){return We("/api/generate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}function H1(t){let a=null;const l=[];for(const s of t.split(`
16
- `))s.startsWith("event:")&&(a=s.slice(6).trim()),s.startsWith("data:")&&l.push(s.slice(5).trimStart());if(l.length===0)return null;const o=l.join(`
17
- `);return!o||o==="[DONE]"?null:{event:a,data:JSON.parse(o)}}async function k1(t,a={},l={}){const o=await fetch("/api/generate/multimode",{method:"POST",headers:{"Content-Type":"application/json",Accept:"text/event-stream"},body:JSON.stringify(t),signal:l.signal});if(!(o.headers.get("content-type")??"").includes("text/event-stream")){const p=await o.json().catch(()=>({}));if(!o.ok){const g=p,v=new Error(g.error??`Request failed: ${o.status}`);throw v.code=g.code,v.status=g.status??o.status,v}return p}if(!o.ok||!o.body)throw new Error(`Request failed: ${o.status}`);const c=o.body.getReader(),d=new TextDecoder;let m="",y=null;for(;;){const{done:p,value:g}=await c.read();if(p)break;m+=d.decode(g,{stream:!0});let v=m.indexOf(`
18
-
19
- `);for(;v!==-1;){const x=m.slice(0,v);m=m.slice(v+2);const S=H1(x);if(S){if(S.event==="partial")a.onPartial?.(S.data);else if(S.event==="image")a.onImage?.(S.data);else if(S.event==="phase")a.onPhase?.(S.data);else if(S.event==="done")y=S.data;else if(S.event==="error"){const N=S.data,_=new Error(N.error??"Multimode generation failed");throw _.code=N.code,_.status=N.status,_}}v=m.indexOf(`
20
-
21
- `)}}if(!y)throw new Error("Multimode stream ended without a final payload");return y}let xo=null;function Z0(){if(!xo){const t=localStorage.getItem("ima2.browserId");t?xo=t:(xo=`${Date.now().toString(36)}_${Math.random().toString(36).slice(2,9)}`,localStorage.setItem("ima2.browserId",xo))}return xo}function Bf(t,a){const l={...a?.headers,"X-Ima2-Browser-Id":Z0()};return We(t,{...a,headers:l})}function xf(t={}){const a=new URLSearchParams;return a.set("limit",String(t.limit??50)),t.since!=null&&a.set("since",String(t.since)),t.cursor&&(a.set("before",String(t.cursor.before)),a.set("beforeFilename",t.cursor.beforeFilename)),t.sessionId&&a.set("sessionId",t.sessionId),Bf(`/api/history?${a.toString()}`)}function B1(t={}){const a=new URLSearchParams;return a.set("groupBy","session"),a.set("limit",String(t.limit??200)),t.cursor&&(a.set("before",String(t.cursor.before)),a.set("beforeFilename",t.cursor.beforeFilename)),Bf(`/api/history?${a.toString()}`)}function q1(t){return Bf("/api/history/favorite",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({filename:t})})}async function U1(){return(await We("/api/storage/status")).data}function G1(){return We("/api/storage/open-generated-dir",{method:"POST"})}function V1(t){return We(`/api/history/${encodeURIComponent(t)}`,{method:"DELETE"})}function Y1(t){return We(`/api/history/${encodeURIComponent(t)}/permanent`,{method:"DELETE"})}function P1(t,a){return We(`/api/history/${encodeURIComponent(t)}/restore`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({trashId:a})})}function $1(t){return We("/api/metadata/read",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}function F1(){return We("/api/sessions")}function X1(t){return We("/api/sessions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:t})})}function K0(t){return We(`/api/sessions/${encodeURIComponent(t)}`)}function Z1(t,a){return We(`/api/sessions/${encodeURIComponent(t)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:a})})}function K1(t){return We(`/api/sessions/${encodeURIComponent(t)}`,{method:"DELETE"})}function Q1(t,a,l,o,s={}){const c={"Content-Type":"application/json","If-Match":String(a)};return s.saveId&&(c["X-Ima2-Graph-Save-Id"]=s.saveId),s.saveReason&&(c["X-Ima2-Graph-Save-Reason"]=s.saveReason),s.tabId&&(c["X-Ima2-Tab-Id"]=s.tabId),We(`/api/sessions/${encodeURIComponent(t)}/graph`,{method:"PUT",headers:c,body:JSON.stringify({nodes:l,edges:o})})}function J1(t){const a=new URLSearchParams;return We(`/api/prompts?${a.toString()}`)}function W1(t){return We("/api/prompts",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}function ew(t){return We(`/api/prompts/${encodeURIComponent(t)}`,{method:"DELETE"})}function tw(t){return We(`/api/prompts/${encodeURIComponent(t)}/favorite`,{method:"POST"})}function nw(t){return We("/api/prompts/import",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}function aw(t){return new Promise((a,l)=>{const o=new FileReader;o.onload=()=>a(String(o.result)),o.onerror=()=>l(o.error),o.readAsDataURL(t)})}function iw(t,a=256){return new Promise(l=>{const o=new Image;o.onload=()=>{const s=Math.min(1,a/Math.max(o.width,o.height)),c=document.createElement("canvas");c.width=o.width*s,c.height=o.height*s;const d=c.getContext("2d");if(!d)return l(t);d.drawImage(o,0,0,c.width,c.height),l(c.toDataURL("image/jpeg",.6))},o.onerror=()=>l(t),o.src=t})}const lw={maxB64Bytes:6e6,preserveTransparency:!1,maxEdge:4096,qualityLadder:[.85,.7,.55]},oy=16777216;function ow(t,a,l){let o=t,s=a;if(o<=0||s<=0)return{w:1,h:1};const c=Math.max(o,s);if(c>l){const d=l/c;o=Math.round(o*d),s=Math.round(s*d)}if(o*s>oy){const d=Math.sqrt(oy/(o*s));o=Math.max(1,Math.floor(o*d)),s=Math.max(1,Math.floor(s*d))}return{w:o,h:s}}function Gd(t){return new Promise((a,l)=>{const o=new FileReader;o.onload=()=>{typeof o.result=="string"?a(o.result):l(new Error("FileReader returned non-string"))},o.onerror=()=>l(o.error??new Error("FileReader failed")),o.readAsDataURL(t)})}function ry(t,a,l){return new Promise((o,s)=>{t.toBlob(c=>c?o(c):s(new Error("canvas.toBlob returned null")),a,l)})}function Vd(t){const a=t.indexOf(",");return a<0?t.length:t.length-a-1}async function bf(t,a={}){const l={...lw,...a},o=await Gd(t);if(Vd(o)<=l.maxB64Bytes)return o;let s;try{s=await createImageBitmap(t)}catch(c){throw new Error("이미지 디코드 실패. JPEG/PNG로 변환 후 다시 시도해 주세요.",{cause:c})}try{const{w:c,h:d}=ow(s.width,s.height,l.maxEdge),m=document.createElement("canvas");m.width=c,m.height=d;const y=m.getContext("2d");if(!y)throw new Error("canvas 2d context unavailable");if(y.drawImage(s,0,0,c,d),l.preserveTransparency){const p=await ry(m,"image/png"),g=await Gd(p);if(Vd(g)>l.maxB64Bytes)throw new Error("이미지 압축 실패. JPEG/PNG로 미리 변환 후 다시 시도해 주세요.");return g}for(const p of l.qualityLadder){const g=await ry(m,"image/jpeg",p),v=await Gd(g);if(Vd(v)<=l.maxB64Bytes)return v}throw new Error("이미지 압축 실패. JPEG/PNG로 미리 변환 후 다시 시도해 주세요.")}finally{s.close?.()}}function xs(t){const a=(t.type||"").toLowerCase();if(a.includes("heic")||a.includes("heif"))return!0;const l=(t.name||"").toLowerCase();return l.endsWith(".heic")||l.endsWith(".heif")}function sy(t){return(t.type||"").toLowerCase()==="image/png"}const rw={ok:"확인",cancel:"취소",delete:"삭제",close:"닫기",saving:"저장 중...",loading:"불러오는 중..."},sw={localStorageFull:"로컬 저장소가 가득 차서 최근 상태가 저장되지 않을 수 있습니다.",refLimitExceeded:"참조 이미지는 최대 5장까지 추가할 수 있습니다. 초과한 이미지는 제외되었습니다.",refTooLarge:"이미지가 너무 큽니다. JPEG/PNG로 미리 변환하거나 해상도를 낮춰 다시 시도해 주세요.",refNotBase64:"이미지 파일이 손상되었거나 지원하지 않는 형식입니다.",refEmpty:"빈 이미지 파일입니다. 다른 파일을 선택해 주세요.",refHeicUnsupported:"HEIC/HEIF는 지원하지 않습니다. JPEG 또는 PNG로 변환 후 다시 시도해 주세요.",noCurrentImageForRef:"참조로 사용할 현재 이미지가 없습니다.",refSlotFull:"참조 이미지 슬롯이 가득 찼습니다. 최대 5장까지 가능합니다.",currentImageLoadFailed:"현재 이미지를 불러오지 못했습니다.",addedCurrentAsRef:"현재 이미지를 참조에 추가했습니다.",sessionLoadFailed:"세션을 불러오지 못했습니다.",sessionCreateFailed:"세션을 만들지 못했습니다.",sessionRenameFailed:"세션 이름을 바꾸지 못했습니다.",sessionDeleteFailed:"세션을 삭제하지 못했습니다.",promptRequired:"프롬프트를 입력하세요.",nodeCreated:"노드 {id} 생성 완료 ({elapsed}초)",nodeCreateFailed:"노드 생성에 실패했습니다.",generatedBatch:"{count}장을 {elapsed}초 만에 생성했습니다.",generatedSingle:"{elapsed}초 만에 생성했습니다.",generateFailed:"생성에 실패했습니다.",sessionReloadedElsewhere:"그래프 버전이 달라져 최신 그래프를 다시 불러왔습니다.",promptCopied:"프롬프트를 복사했습니다",imageCopied:"클립보드에 복사했습니다",copyFailed:"복사에 실패했습니다",openGeneratedDirFailed:"이미지 폴더를 열지 못했습니다. ima2 doctor로 저장 경로를 확인해 주세요.",openGeneratedDirOpened:"생성 이미지 폴더를 열었습니다.",noPromptToFork:"가져올 프롬프트가 없습니다",forkStarted:"이 이미지의 프롬프트를 가져왔습니다. 수정 후 다시 생성하세요"},cw={queued:"대기 중",streaming:"생성 중",decoding:"마무리 중"},uw={title:"크기",width:"가로",height:"세로",hint:"16px 단위, 최대 변 3840, 비율 3:1 이하, 65.5만-829만 픽셀",autoLabel:"자동",autoSub:"모델 추천",customLabel:"직접 입력",customSub:"자유 설정",customPlus:"+ 직접",customSlots:"저장 크기",customSlot:"커스텀",customSlotLimit:"커스텀 크기는 최대 3개",saveCustomSlot:"커스텀 크기 저장",replaceCustomSlot:"슬롯 교체",ratioFree:"자유",ratio21x9:"21:9",normalizedPreview:"전송 크기",noAdjustment:"조정 없음",squareMaxHint:"829만 픽셀 제한 때문에 정사각형 최대는 {size}입니다.",adjustedReasons:{snap:"16px 보정",maxEdge:"최대 변",ratio:"비율 제한",minPixels:"최소 픽셀",maxPixels:"최대 픽셀",min:"최소 변",max:"최대 변",pixels:"픽셀 제한"}},dw={title:"크기 조정이 필요합니다",body:"입력한 크기가 이미지 생성 제한을 벗어나 자동 조정이 필요합니다.",requested:"요청한 크기",adjusted:"조정될 크기",approve:"승인 후 생성",cancel:"취소",reasonRatio:"비율 제한 3:1을 초과했습니다.",reasonPixels:"최대 픽셀 수 제한을 초과했습니다.",reasonMinPixels:"요청한 이미지의 픽셀 수가 너무 적습니다.",reasonMin:"최소 크기보다 작습니다.",reasonMax:"최대 크기보다 큽니다.",reasonSnap:"16px 단위에 맞춰야 합니다."},fw={title:"품질",lowLabel:"낮음",lowSub:"빠름",mediumLabel:"중간",mediumSub:"균형",highLabel:"높음",highSub:"최상"},hw={title:"모더레이션",autoLabel:"자동",autoSub:"표준 필터",lowLabel:"낮음",lowSub:"완화 필터",explain:"자동은 표준 안전 필터를 사용합니다. 낮음은 제한을 조금 완화해 경계선 프롬프트가 더 통과할 수 있습니다."},mw={title:"포맷"},pw={title:"개수",customPlus:"+n",customLabel:"직접 입력 개수",highCountHint:"고품질이나 참조 이미지에서는 시간이 더 걸릴 수 있습니다.",minMaxHint:"1-8장까지 가능합니다.",decrease:"개수 줄이기",increase:"개수 늘리기"},gw={label:"멀티모드",tooltip:"한 프롬프트로 단계별 시퀀스를 생성합니다",shortHint:"단계별 생성",maxStages:"최대 단계",highCountHint:"단계가 많으면 몇 분 걸릴 수 있습니다.",minMaxHint:"1-8단계까지 가능합니다.",composerBadge:"시퀀스 · 최대 {count}장",composerAriaLabel:"멀티모드 프롬프트 입력창, 최대 {count}개의 별도 이미지",promptPlaceholder:"단계별로 만들 장면을 입력하세요. 콜라주가 아니라 별도 이미지로 요청합니다.",promptPlaceholderWithRefs:"첨부한 참조를 바탕으로 단계별 시퀀스를 입력하세요.",toggleDisabledGenerating:"현재 생성이 끝난 뒤 변경할 수 있습니다",sequenceTitle:"멀티모드 시퀀스",sequenceProgress:"{returned}/{requested}장",stageLabel:"{index}단계",generating:"생성 중...",partialAlt:"멀티모드 중간 미리보기",partial:"{requested}장 중 {returned}장을 {elapsed}초 만에 생성했습니다.",complete:"{requested}장 중 {returned}장을 {elapsed}초 만에 생성했습니다.",empty:"반환된 이미지 없음",error:"생성 실패",cancel:"취소"},yw={restoreTitle:"이미지 설정 복원",restoreBody:"이 이미지에 ima2 생성 정보가 있습니다. 프롬프트와 설정을 적용하거나 참조 이미지만 추가할 수 있습니다.",applySettings:"설정 적용",useAsReferenceOnly:"참조만 추가",noMetadata:"ima2 메타데이터가 없습니다.",invalidMetadata:"이미지 메타데이터가 올바르지 않습니다.",unsupportedFormat:"PNG, JPEG, WebP 메타데이터만 복원할 수 있습니다.",readFailed:"메타데이터를 읽지 못했습니다.",applied:"이미지 설정을 복원했습니다.",sourceXmp:"XMP",sourcePngComment:"PNG comment",imageAlt:"드롭한 이미지 미리보기",prompt:"프롬프트",size:"크기",quality:"품질",model:"모델",source:"출처"},vw={button:"생성",buttonLoading:"생성 중 ({n})"},xw={label:"API 상태",checking:"확인 중...",offline:"오프라인",remaining:"${remaining} 남음",thisMonth:"이번 달 ${amount}",oauthFree:"OAuth 무료 사용 가능",apiDisabled:"API 키 비활성화됨 (OAuth 전용)",oauthMode:"OAuth 모드"},bw={openGalleryAria:"갤러리 열기",openGalleryTitle:"전체 갤러리 열기"},Sw={closeSettings:"설정 닫기",detailSettings:"세부 설정",toggleShow:"세부 설정 보기",toggleHide:"세부 설정 숨기기",open:"열기",close:"닫기"},ww={label:"프롬프트",refCount:"참조 {count}/{max}",refChipTitle:"참조 이미지 {n}",refChipAlt:"참조 이미지 {n}",refRemoveAria:"참조 이미지 {n} 제거",placeholder:"원하는 이미지를 설명하고, 드래그 앤 드롭이나 붙여넣기로 참조 이미지를 추가할 수 있어요...",placeholderWithRefs:"첨부한 이미지로 무엇을 만들지 설명해 주세요...",attach:"첨부",attachTitle:"참조 이미지 첨부",useCurrent:"현재 결과 사용",useCurrentTitle:"현재 결과를 참조로 사용",directMode:"Direct",directModeActive:"1:1 Direct 켜짐",directModeTitle:"프롬프트를 원문 그대로 전달 (Direct 모드)",hint:"Ctrl + Enter로 생성",dropHere:"놓아서 참조 이미지로 추가 ({max}장까지)"},Nw={resultAlt:"생성 결과",imageViewerAria:"생성 이미지 뷰어. 좌우 방향키로 이전 또는 다음 이미지를 볼 수 있습니다.",tokens:"{n} 토큰",open:"캔버스 열기",openAria:"캔버스 모드에서 이미지 열기",close:"캔버스 닫기"},_w={today:"오늘",yesterday:"어제",thisWeek:"이번 주",earlier:"이전",imageAltFallback:"생성 이미지",deleteTitle:"삭제 (10초 내 복구 가능)",deleteAria:"이미지 삭제",ariaLabel:"이미지 갤러리",title:"갤러리",total:"총 {n}장",totalFiltered:" / 전체 {n}장",sortByAria:"정렬 기준",sortByDate:"날짜",sortBySession:"세션",favoriteFilterAria:"즐겨찾기 필터",filterAll:"전체",filterFavorites:"즐겨찾기",searchPlaceholder:"프롬프트나 파일명을 검색",searchDisabledPlaceholder:"세션 보기에서는 검색이 비활성화됩니다",closeAria:"갤러리 닫기",closeTitle:"닫기 (Esc)",sessionLabel:"세션 {name}",standalone:"독립 이미지",emptySessions:"아직 저장된 세션이 없습니다.",emptyAll:"아직 생성된 이미지가 없습니다. 먼저 하나 만들어보세요.",emptyFavorites:"아직 즐겨찾기한 이미지가 없습니다.",noResults:"검색 결과가 없습니다.",storageNoticeTitle:"저장 위치 안내",storageNoticeRecoverable:"놀라게 해드려 죄송합니다. 최근 버전에서 갤러리 저장 위치가 설치 폴더에서 사용자 데이터 폴더로 바뀌었습니다. 예전 이미지가 이전 generated 폴더에 남아 있을 수 있어요. ima2 doctor를 실행하거나 복구 안내를 확인해 주세요.",storageNoticeNotFound:"놀라게 해드려 죄송합니다. 현재 이 컴퓨터에서 이전 generated 폴더를 찾지 못했습니다. 업데이트 중 예전 전역 설치 폴더가 교체된 경우 자동 복구가 어려울 수 있습니다. ima2 doctor와 복구 안내의 수동 검색 방법을 확인해 주세요.",storageNoticeUnknown:"저장 위치 상태를 확인하지 못했습니다. 업데이트 후 갤러리가 비어 보인다면 ima2 doctor로 이미지 폴더를 확인해 주세요.",openGeneratedDir:"폴더 열기",openGeneratedDirTitle:"생성 이미지 폴더 열기",cardNewsSet:"카드뉴스 세트",cardNewsCard:"카드뉴스 카드",openCardNewsSet:"세트 열기",openCardNewsSetFailed:"카드뉴스 세트를 열지 못했습니다.",copyCardNewsSetPath:"경로 복사",cardNewsPathCopied:"카드뉴스 세트 경로를 복사했습니다.",downloadCardNewsManifest:"매니페스트",cardNewsCount:"{n}장",deleted:"삭제됨: {filename}",undo:"되돌리기",secondsSuffix:"{n}초",permanentDeleted:"완전 삭제됨: {filename}",deleteFailed:"이미지를 삭제하지 못했습니다.",restoreFailed:"이미지를 복구하지 못했습니다.",favoriteTitle:"즐겨찾기 추가",unfavoriteTitle:"즐겨찾기 해제",favoriteAria:"즐겨찾기 추가",unfavoriteAria:"즐겨찾기 해제"},Ew={empty:"비어 있음",pending:"생성 중",reconciling:"동기화 중",reconcilingPhase:"동기화 중 · {phase}",ready:"완료 · {elapsed}s",readyWithSearch:"완료 · {elapsed}s · 검색 {searches}",stale:"오래된 상태",staleWithError:"오래된 상태: {error}",assetMissing:"에셋 누락",assetMissingWithError:"에셋 누락: {error}",error:"오류: {error}",errorUnknown:"알 수 없음",nodeImageAlt:"노드 이미지",partialImageAlt:"노드 중간 이미지 미리보기",noAsset:"에셋 없음",stateStale:"상태 오래됨",noImage:"이미지 없음",editPromptPlaceholder:"수정 프롬프트...",promptPlaceholder:"프롬프트...",regenerate:"재생성",newVariation:"새 변형",generate:"생성",generateTitle:"노드 이미지 생성",addChild:"자식",addChildTitle:"자식 노드 추가",duplicateBranch:"복제",duplicateBranchTitle:"새 브랜치 루트로 복제",deleteTitle:"삭제",regenerateTitle:"현재 노드 이미지를 제자리에서 다시 생성",newVariationTitle:"같은 부모 아래 새 변형 노드를 생성",parentImageRequired:"부모 이미지를 먼저 생성해야 합니다.",attachRef:"첨부",attachRefTitle:"노드 참조 이미지 첨부",refAlt:"노드 참조 이미지 {n}",removeRef:"참조 이미지 {n} 제거",dropRefs:"이미지를 여기에 놓기",nodeRefsUnsupportedForEdit:"추가 참조 이미지는 현재 루트 노드에서만 지원합니다.",nodeRefsUsedWithParent:"부모 이미지와 함께 참조로 사용됩니다.",classicRefsParkedTitle:"클래식 참조 이미지가 보관 중입니다",classicRefsParkedBody:"이 이미지는 클래식 작성창용이라 노드 모드 생성에는 사용되지 않습니다.",clearParkedRefs:"보관된 참조 비우기"},Cw={selectionOn:"선택중",selectionOff:"선택",selectAll:"전체",summary:"선택 {selected} · 미생성 {missing} · 영향 {stale}",generateMissing:"미생성",regenerateSelected:"재생성",stopRemaining:"중단",stopping:"중단중",clear:"해제",noneSelected:"선택된 노드가 없습니다.",parentRequired:"부모 이미지가 준비되지 않은 선택 노드가 {count}개 있습니다.",nothingToRun:"생성할 선택 노드가 없습니다.",stopQueued:"현재 노드가 끝나면 남은 작업을 중단합니다.",failed:"{done}/{total} 완료 후 중단되었습니다.",finished:"{done}/{total} 노드 작업 완료",staleBecauseParentChanged:"상위 노드가 재생성되어 다시 확인이 필요합니다."},Tw={disconnect:"끊기",disconnectTitle:"선택한 연결선 끊기",disconnected:"연결선을 끊었습니다.",parentConflict:"한 노드에는 부모 연결을 하나만 둘 수 있습니다."},Mw={authTitle:"인증 방식",apiLabel:"API 키",oauthNotReady:"OAuth 프록시가 아직 준비되지 않았습니다.",codexLoginRequired:"Codex 로그인이 필요합니다.",codexLoginHint:"터미널에서 `codex login`을 실행한 뒤 이 페이지를 새로고침하세요.",oauthStarting:"OAuth 프록시가 시작 중입니다. 몇 초 후 다시 시도하세요.",serverUnreachable:"서버에 연결할 수 없습니다. 백엔드가 실행 중인지 확인하세요.",apiInvalid:"API 키가 없거나 유효하지 않습니다. 서버의 .env 파일에서 OPENAI_API_KEY를 확인하세요.",availableTitle:"{name} 사용 가능",availableAria:"{name}: 사용 가능",unavailableAria:"{name}: 사용 불가",availableSr:"(사용 가능)",unavailableSr:"(사용 불가)"},Aw={free:"무료",approx:"약 ${amount}",multimodeApprox:"최대 약 ${amount} ({count}장)",label:"예상 비용"},jw={download:"다운로드",copyImage:"이미지 복사",copyPrompt:"프롬프트 복사",continueHere:"여기서 이어서",continueHereTitle:"이 이미지의 프롬프트를 가져와 이어서 작업",delete:"삭제",deleteTitle:"휴지통으로 이동",more:"더보기",permanentDelete:"완전 삭제",permanentDeleteConfirm:'"{filename}" 이미지를 완전히 삭제할까요? 이 작업은 되돌릴 수 없습니다.'},zw={switchTitle:"세션 전환",loading:"불러오는 중...",newSession:"새 세션",newSessionTitle:"새 세션",renameTitle:"이름 변경",renamePrompt:"세션 이름",deleteTitle:"삭제",deleteConfirm:'"{title}" 세션을 삭제할까요? 이 작업은 되돌릴 수 없습니다.',empty:"아직 세션이 없습니다",firstGraph:"첫 번째 그래프",untitled:"제목 없는 세션",assetAbortedError:"생성이 정상적으로 끝나지 않았습니다. 이 노드에서 다시 시도하세요."},Rw={ariaLabel:"UI 모드",classic:"기본",node:"노드",cardNews:"카드뉴스"},Dw={workspace:"카드뉴스 작업공간",composer:"카드뉴스",composerHint:"템플릿은 스냅샷 기준이고, 출력 크기는 별도로 지정합니다.",topic:"주제",topicPlaceholder:"예: 중간고사 역전 플랜",audience:"대상",audiencePlaceholder:"예: 학부모",goal:"목표",goalPlaceholder:"예: 상담 신청",brief:"내용",briefPlaceholder:"카드뉴스에 들어갈 핵심 내용과 금지사항을 적어주세요.",outputSize:"출력 크기",customSize:"직접",draft:"초안 만들기",drafting:"초안 작성 중...",generateSet:"세트 생성",batchGenerate:"일괄 생성",generating:"생성 중...",generated:"{count}장 생성 완료.",missingGeneratedCard:"생성 응답에 이 카드가 포함되지 않았습니다.",error:"카드 생성에 실패했습니다.",imageTemplate:"이미지 템플릿",roleTemplate:"카드 구조",newTemplateLater:"커스텀 템플릿은 dev MVP 이후에 지원합니다",emptyTitle:"초안 대기 중",emptyBody:"왼쪽 설정으로 카드 덱을 준비합니다.",inspector:"카드 편집",cardTitle:"카드 제목",headline:"제목",body:"본문",visualPrompt:"이미지 프롬프트",summaryCopy:"요약 문구",designPrompt:"장면 / 디자인 프롬프트",textFields:"텍스트 박스",addTextField:"텍스트 박스 추가",removeTextField:"삭제",noTextFields:"아직 텍스트 박스가 없습니다.",textFieldText:"텍스트",textKind:"종류",placement:"위치",renderMode:"표시 방식",hierarchyLabel:"위계",textTooLong:"권장 길이를 초과했습니다.",selectTextField:"텍스트 박스 선택: {text}",textKinds:{headline:"제목",body:"설명 텍스트",caption:"캡션",cta:"행동 유도",badge:"배지",number:"숫자"},renderModes:{"in-image":"이미지에 표시","ui-only":"메모만"},hierarchy:{primary:"주요",secondary:"보조",supporting:"부가"},placements:{"top-left":"좌측 상단","top-center":"상단 중앙","top-right":"우측 상단","center-left":"좌측 중앙",center:"중앙","center-right":"우측 중앙","bottom-left":"좌측 하단","bottom-center":"하단 중앙","bottom-right":"우측 하단",free:"직접 지정"},roles:{cover:"표지",hook:"후킹",problem:"문제",insight:"인사이트",example:"예시",data:"데이터",summary:"요약",cta:"행동 유도"},locked:"잠김",unlocked:"열림",noCard:"선택된 카드 없음",generatedMeta:"생성 메타데이터",lockedHelp:"잠긴 카드는 일괄 생성과 재시도에서 제외됩니다.",retryCard:"이 카드 재시도",actions:{copyPrompt:"프롬프트 복사",copyCopy:"문구 복사",openImage:"이미지 열기",downloadCard:"다운로드"},status:{draft:"초안",queued:"대기",generating:"생성 중",generated:"완료",error:"오류",skipped:"제외",locked:"잠김"},progress:{generating:"생성 중 {done}/{total}",summary:"완료 {done}/{total}",detail:"대기 {queued} · 오류 {errors} · 제외 {skipped}",cardGenerating:"이 카드를 생성 중입니다."},planner:{structured:"구조화 JSON",jsonMode:"JSON 모드",repaired:"보정됨",fallback:"기본 초안",jsonOnlyHelp:"초안은 JSON만 만들고 이미지는 나중에 생성합니다.",error:"초안 생성 실패"}},Ow={appName:"이미지 생성기",imageModelLabel:"모델",imageModelAria:"이미지 모델 선택",nodeModeHint:"노드 모드에서는 노드를 눌러 프롬프트를 수정한 뒤 생성하세요. 오른쪽 패널의 설정 (품질/크기)은 새로 만드는 모든 결과에 적용됩니다."},Iw={openAria:"설정 열기",openTitle:"설정",closeAria:"설정 닫기",closeTitle:"캔버스로 돌아가기",navAria:"설정 섹션",contentAria:"설정 내용",jumpTo:"{section} 섹션으로 이동",eyebrow:"작업공간 설정",title:"설정",subtitle:"계정, 화면, 앞으로 늘어날 작업공간 옵션을 이곳에 모아 생성 흐름은 가볍게 유지합니다.",sections:{account:{title:"계정",hint:"OAuth 상태"},generation:{title:"생성",hint:"모델 기본값"},appearance:{title:"화면",hint:"라이트/다크"},language:{title:"언어",hint:"UI 문구"},future:{title:"예정",hint:"확장 공간"}},account:{primaryEyebrow:"현재 공급자",oauthTitle:"OAuth 사용 중",oauthBody:"현재 생성은 Codex OAuth 세션으로 실행됩니다. 이 빌드에서는 API-Key 생성 모드가 비활성화되어 있습니다.",apiSourceEnv:"OPENAI_API_KEY 감지됨",apiSourceConfig:"config.json API 키 감지됨",apiTitle:"Configured but disabled",apiBody:"env/config에서 API 키를 찾았지만, 지금 ima2-gen은 OAuth 전용으로 동작합니다. 이 상태 표시를 숨기고 싶을 때만 키를 제거하세요.",apiDisabled:"비활성화",apiUnknown:"상태 불명"},imageModel:{title:"이미지 모델",body:"앞으로 생성 요청에 사용할 OAuth 이미지 모델을 선택합니다.",gpt54Mini:"GPT-5.4 Mini",gpt54:"GPT-5.4",gpt55:"GPT-5.5",gpt53CodexSpark:"GPT-5.3 Codex Spark — 이미지 생성 미지원",unsupportedHelp:"기본값은 GPT-5.4 Mini입니다. GPT-5.3 Codex Spark는 OAuth 모델 상태에 보일 수 있지만 image_generation 도구를 지원하지 않습니다."},appearance:{themeTitle:"테마",themeBody:"이 기기에서 사용할 테마 스타일과 밝기를 선택합니다."},language:{title:"언어",body:"생성 프롬프트와 무관하게 인터페이스 언어만 바꿉니다."},future:{title:"나중을 위한 자리",body:"OAuth 복구 도구나 작업공간 옵션이 실제로 필요해지면 이곳에 추가합니다."}},Lw={loading:"세션 불러오는 중...",addFirst:"+ 첫 노드 추가",addRootTitle:"루트 노드 추가",hint:"핸들을 빈 공간으로 드래그하면 새 브랜치가 생깁니다. Delete 또는 Backspace로 삭제할 수 있습니다."},Hw={title:"{provider} 사용 불가",ariaLabel:"{provider} 사용 불가"},kw={label:"언어",ko:"한국어",en:"English"},Bw={label:"테마",modeLabel:"밝기",styleLabel:"테마 스타일",system:"시스템",dark:"다크",light:"라이트",family:{default:"기본",gpt:"GPT",claude:"Claude",gemini:"Gemini",grok:"Grok"}},qw={close:"닫기",details:"자세한 원본 오류 보기",unknown:{title:"알 수 없는 오류가 발생했어요",body:"잠시 후 다시 시도해 주세요. 문제가 계속되면 원본 오류 메시지를 복사해 제보해 주세요."},moderationRefused:{title:"프롬프트가 모더레이션에 걸렸어요",body:"표현 수위를 낮추거나 다른 문구로 바꿔 보세요. 레퍼런스 이미지의 선정적/폭력적 요소도 영향을 줄 수 있어요.",cta:"프롬프트 수정"},emptyResponse:{title:"이미지가 돌아오지 않았어요",body:"Codex가 응답을 보냈지만 이미지 데이터가 비어 있었어요. 모더레이션 문제가 아니라 일시적 오류이거나 지원되지 않는 옵션 조합일 수 있어요. 다시 시도하거나 크기·품질·모델을 바꿔 보세요.",cta:"다시 시도"},upstream5xx:{title:"OpenAI 서버가 혼잡합니다",body:"잠시 후 다시 시도하면 대부분 해결돼요. 상태 페이지(status.openai.com)도 확인해 보세요.",cta:"다시 시도"},authChatgptExpired:{title:"Codex ChatGPT 로그인이 만료됐어요",body:"터미널에서 `npx @openai/codex login`을 다시 실행한 뒤 앱을 새로고침해 주세요.",cta:"새로고침"},authApiKeyInvalid:{title:"API 키 인증 실패",body:"키가 잘못됐거나 한도/조직 권한 문제예요. 본 앱은 API-Key 모드가 비활성화되어 있어 OAuth(ChatGPT 로그인)로 전환하는 편이 좋아요.",cta:"확인"},networkFailed:{title:"네트워크 연결 실패",body:"OpenAI 또는 로컬 런타임 서비스에 연결하지 못했어요. 먼저 새로고침하고, 계속되면 VPN/방화벽과 `ima2 doctor`에 표시되는 포트를 확인해 주세요.",cta:"새로고침"},oauthUnavailable:{title:"OAuth 프록시를 사용할 수 없어요",body:"OAuth 프록시가 아직 시작 중이거나, 사용할 수 없거나, fallback 포트로 이동했을 수 있어요. 먼저 새로고침하고, 계속되면 `ima2 doctor`의 OAuth URL을 확인해 주세요.",cta:"새로고침"},invalidRequest:{title:"이미지 요청을 수정해야 해요",body:"생성 요청의 일부 값이 올바르지 않습니다. 아래 원본 오류를 확인한 뒤 프롬프트나 크기를 수정해 다시 시도해 주세요.",cta:"입력 수정"},apikeyDisabled:{title:"API-Key 모드가 비활성화되어 있어요",body:"본 앱은 OAuth(ChatGPT 로그인) 전용으로 동작합니다. 공급자를 OAuth로 전환해 주세요.",cta:"확인"}},Uw={title:"프롬프트 라이브러리",saveTitle:"프롬프트 라이브러리에 저장",save:"저장",saved:"프롬프트를 저장했습니다",saveFailed:"저장에 실패했습니다",name:"이름",tags:"태그",search:"프롬프트 검색...",favorites:"즐겨찾기",load:"불러오기",insert:"삽입",inserted:"프롬프트를 삽입했습니다",removeInserted:"삽입한 프롬프트 {name} 제거",favorite:"즐겨찾기",unfavorite:"즐겨찾기 해제",empty:"저장된 프롬프트가 없어요.",content:"내용",copy:"복사",untitled:"제목 없음",addNew:"새 프롬프트 추가",import:"불러오기",importFiles:".txt 또는 .md 파일 불러오기",dropImport:".txt 또는 .md 파일을 놓으면 프롬프트로 가져옵니다",imported:"프롬프트 {count}개를 가져왔습니다",importFailed:"가져오기에 실패했습니다",importNoValidFiles:".txt 또는 .md 프롬프트 파일이 없습니다."},Gw={common:rw,toast:sw,inflight:cw,size:uw,sizeConfirm:dw,quality:fw,moderation:hw,format:mw,count:pw,multimode:gw,metadata:yw,generate:vw,billing:xw,history:bw,panel:Sw,prompt:ww,canvas:Nw,gallery:_w,node:Ew,nodeBatch:Cw,edge:Tw,provider:Mw,cost:Aw,result:jw,session:zw,uiMode:Rw,cardNews:Dw,sidebar:Ow,settings:Iw,nodeCanvas:Lw,apiDisabled:Hw,language:kw,theme:Bw,errorCard:qw,promptLibrary:Uw},Vw={ok:"OK",cancel:"Cancel",delete:"Delete",close:"Close",saving:"Saving...",loading:"Loading..."},Yw={localStorageFull:"Local storage is full — recent state may not persist.",refLimitExceeded:"References are capped at 5. Extra images were dropped.",refTooLarge:"Image is too large. Convert to JPEG/PNG or lower the resolution and try again.",refNotBase64:"Image file is corrupted or uses an unsupported encoding.",refEmpty:"Empty image file. Please pick a different file.",refHeicUnsupported:"HEIC/HEIF is not supported. Convert to JPEG or PNG and try again.",noCurrentImageForRef:"No current image to use as reference.",refSlotFull:"Reference slots are full (max 5).",currentImageLoadFailed:"Failed to load current image.",addedCurrentAsRef:"Added current image as a reference.",sessionLoadFailed:"Failed to load session.",sessionCreateFailed:"Failed to create session.",sessionRenameFailed:"Failed to rename session.",sessionDeleteFailed:"Failed to delete session.",promptRequired:"Enter a prompt.",nodeCreated:"Node {id} created ({elapsed}s)",nodeCreateFailed:"Node generation failed.",generatedBatch:"Generated {count} images in {elapsed}s.",generatedSingle:"Generated in {elapsed}s.",generateFailed:"Generation failed.",sessionReloadedElsewhere:"Graph version changed, so the latest graph was reloaded.",promptCopied:"Prompt copied",imageCopied:"Copied to clipboard",copyFailed:"Copy failed",openGeneratedDirFailed:"Could not open the image folder. Run ima2 doctor to check the storage path.",openGeneratedDirOpened:"Opened the generated image folder.",noPromptToFork:"No prompt to fork",forkStarted:"Prompt imported. Edit and generate again."},Pw={queued:"Queued",streaming:"Generating",decoding:"Finalizing"},$w={title:"Size",width:"Width",height:"Height",hint:"16px steps, max edge 3840, ratio up to 3:1, 655K–8.29M pixels",autoLabel:"Auto",autoSub:"Model pick",customLabel:"Custom",customSub:"Free form",customPlus:"+ Custom",customSlots:"Saved sizes",customSlot:"Custom",customSlotLimit:"Up to 3 custom sizes",saveCustomSlot:"Save custom size",replaceCustomSlot:"Replace slot",ratioFree:"Free",ratio21x9:"21:9",normalizedPreview:"Will send",noAdjustment:"No adjustment",squareMaxHint:"Square maximum is {size} because of the 8.29M pixel limit.",adjustedReasons:{snap:"snapped to 16px",maxEdge:"max edge",ratio:"ratio limit",minPixels:"minimum pixels",maxPixels:"maximum pixels",min:"minimum edge",max:"maximum edge",pixels:"pixel limit"}},Fw={title:"Size adjustment required",body:"The requested size is outside the image generation limits.",requested:"Requested size",adjusted:"Adjusted size",approve:"Approve and generate",cancel:"Cancel",reasonRatio:"The ratio exceeds the 3:1 limit.",reasonPixels:"The maximum pixel limit is exceeded.",reasonMinPixels:"The requested image has too few pixels.",reasonMin:"The size is below the minimum.",reasonMax:"The size is above the maximum.",reasonSnap:"The size must align to 16px increments."},Xw={title:"Quality",lowLabel:"Low",lowSub:"Fast",mediumLabel:"Medium",mediumSub:"Balanced",highLabel:"High",highSub:"Best"},Zw={title:"Moderation",autoLabel:"Auto",autoSub:"Standard filter",lowLabel:"Low",lowSub:"Relaxed filter",explain:"Auto uses the standard safety filter. Low relaxes limits so borderline prompts may pass through."},Kw={title:"Format"},Qw={title:"Count",customPlus:"+n",customLabel:"Custom count",highCountHint:"Higher counts can take longer with references or high quality.",minMaxHint:"Use 1–8 images.",decrease:"Decrease count",increase:"Increase count"},Jw={label:"Multimode",tooltip:"Generate a staged sequence from one prompt",shortHint:"one prompt sequence",maxStages:"Max stages",highCountHint:"Higher stage counts can take several minutes.",minMaxHint:"Use 1–8 stages.",composerBadge:"Sequence · up to {count}",composerAriaLabel:"Multimode prompt composer, up to {count} separate images",promptPlaceholder:"Describe the sequence. The app will ask for separate images, not a collage.",promptPlaceholderWithRefs:"Describe the staged sequence using the attached references.",toggleDisabledGenerating:"Wait for the current generation to finish",sequenceTitle:"Multimode sequence",sequenceProgress:"{returned}/{requested} images",stageLabel:"Stage {index}",generating:"Generating...",partialAlt:"Partial multimode preview",partial:"Generated {returned}/{requested} images in {elapsed}s.",complete:"Generated {returned}/{requested} images in {elapsed}s.",empty:"No image returned",error:"Generation failed",cancel:"Cancel"},Ww={restoreTitle:"Restore image settings",restoreBody:"This image contains ima2 generation metadata. Apply its prompt and settings, or attach it as a reference only.",applySettings:"Apply settings",useAsReferenceOnly:"Reference only",noMetadata:"No ima2 metadata found.",invalidMetadata:"Invalid image metadata.",unsupportedFormat:"Only PNG, JPEG, and WebP metadata can be restored.",readFailed:"Could not read image metadata.",applied:"Image settings restored.",sourceXmp:"XMP",sourcePngComment:"PNG comment",imageAlt:"Dropped image preview",prompt:"Prompt",size:"Size",quality:"Quality",model:"Model",source:"Source"},eN={button:"Generate",buttonLoading:"Generating ({n})"},tN={label:"API Status",checking:"Checking...",offline:"Offline",remaining:"${remaining} remaining",thisMonth:"${amount} this month",oauthFree:"OAuth · free via codex",apiDisabled:"API key disabled (OAuth only)",oauthMode:"OAuth mode"},nN={openGalleryAria:"Open gallery",openGalleryTitle:"Open full gallery"},aN={closeSettings:"Close settings",detailSettings:"Settings",toggleShow:"Show settings",toggleHide:"Hide settings",open:"Open",close:"Close"},iN={label:"Prompt",refCount:"Refs {count}/{max}",refChipTitle:"Reference {n}",refChipAlt:"Reference {n}",refRemoveAria:"Remove reference {n}",placeholder:"Describe the image you want. Drag & drop or paste to attach reference images...",placeholderWithRefs:"Describe what to do with the attached images...",attach:"Attach",attachTitle:"Attach reference images",useCurrent:"Use current",useCurrentTitle:"Use current result as a reference",directMode:"Direct",directModeActive:"1:1 Direct on",directModeTitle:"Pass prompt through verbatim (Direct mode)",hint:"Ctrl + Enter to generate",dropHere:"Drop to attach as reference (up to {max})"},lN={resultAlt:"result",imageViewerAria:"Generated image viewer. Use left and right arrow keys to move between images.",tokens:"{n} tokens",open:"Open Canvas",openAria:"Open image in canvas mode",close:"Close Canvas"},oN={today:"Today",yesterday:"Yesterday",thisWeek:"This week",earlier:"Earlier",imageAltFallback:"Generated image",deleteTitle:"Delete (10s undo)",deleteAria:"Delete image",ariaLabel:"Image gallery",title:"Gallery",total:"{n} total",totalFiltered:" / {n} total",sortByAria:"Sort by",sortByDate:"Date",sortBySession:"Session",favoriteFilterAria:"Favorite filter",filterAll:"All",filterFavorites:"Favorites",searchPlaceholder:"Search prompts or filenames",searchDisabledPlaceholder:"Search is disabled in session view",closeAria:"Close gallery",closeTitle:"Close (Esc)",sessionLabel:"Session {name}",standalone:"Standalone images",emptySessions:"No sessions saved yet.",emptyAll:"No images yet. Create one first.",emptyFavorites:"No favorite images yet.",noResults:"No results.",storageNoticeTitle:"Storage notice",storageNoticeRecoverable:"Sorry for the scare. Recent versions moved the gallery folder from the installed package to your user data folder. Your old images may still be in the previous generated folder. Run ima2 doctor or open the recovery guide.",storageNoticeNotFound:"Sorry for the scare. We could not find a previous generated folder on this machine. If the old global install folder was replaced during update, automatic recovery may not be possible. Run ima2 doctor and check the recovery guide for manual search steps.",storageNoticeUnknown:"Storage status could not be checked. If the gallery looks empty after an update, run ima2 doctor to inspect the image folder.",openGeneratedDir:"Open folder",openGeneratedDirTitle:"Open generated image folder",cardNewsSet:"Card News set",cardNewsCard:"Card News card",openCardNewsSet:"Open set",openCardNewsSetFailed:"Could not open the Card News set.",copyCardNewsSetPath:"Copy path",cardNewsPathCopied:"Card News set path copied.",downloadCardNewsManifest:"Manifest",cardNewsCount:"{n} cards",deleted:"Deleted: {filename}",undo:"Undo",secondsSuffix:"{n}s",permanentDeleted:"Permanently deleted: {filename}",deleteFailed:"Could not delete image.",restoreFailed:"Could not restore image.",favoriteTitle:"Add to favorites",unfavoriteTitle:"Remove from favorites",favoriteAria:"Add to favorites",unfavoriteAria:"Remove from favorites"},rN={empty:"Empty",pending:"Generating",reconciling:"Syncing",reconcilingPhase:"Syncing · {phase}",ready:"Done · {elapsed}s",readyWithSearch:"Done · {elapsed}s · searched {searches}",stale:"Stale",staleWithError:"Stale: {error}",assetMissing:"Asset missing",assetMissingWithError:"Asset missing: {error}",error:"Error: {error}",errorUnknown:"unknown",nodeImageAlt:"Node image",partialImageAlt:"Partial node image preview",noAsset:"No asset",stateStale:"State stale",noImage:"No image",editPromptPlaceholder:"Edit prompt...",promptPlaceholder:"Prompt...",regenerate:"Regen",newVariation:"New variant",generate:"Gen",generateTitle:"Generate node image",addChild:"Child",addChildTitle:"Add child node",duplicateBranch:"Branch",duplicateBranchTitle:"Duplicate as a new branch root",deleteTitle:"Delete",regenerateTitle:"Regenerate this node in place",newVariationTitle:"Create a new sibling variant under the same parent",parentImageRequired:"Generate the parent image first.",attachRef:"Attach",attachRefTitle:"Attach node reference images",refAlt:"Node reference {n}",removeRef:"Remove reference {n}",dropRefs:"Drop images here",nodeRefsUnsupportedForEdit:"Extra references are only supported on root nodes for now.",nodeRefsUsedWithParent:"Used together with the parent image.",classicRefsParkedTitle:"Classic references are parked",classicRefsParkedBody:"These images belong to the classic composer and are inactive in node mode.",clearParkedRefs:"Clear parked references"},sN={selectionOn:"Selecting",selectionOff:"Select",selectAll:"Select all",summary:"{selected} selected · {missing} missing · {stale} affected",generateMissing:"Generate missing",regenerateSelected:"Regenerate selected",stopRemaining:"Stop remaining",stopping:"Stopping",clear:"Clear",noneSelected:"No nodes selected.",parentRequired:"{count} selected node(s) need a ready parent image first.",nothingToRun:"No selected nodes need generation.",stopQueued:"The current node will finish, then the remaining queue will stop.",failed:"Stopped after {done}/{total} node(s).",finished:"Finished {done}/{total} node(s).",staleBecauseParentChanged:"An upstream node was regenerated; refresh this node when needed."},cN={disconnect:"Disconnect",disconnectTitle:"Disconnect selected edge",disconnected:"Connection removed.",parentConflict:"A node can only have one parent connection."},uN={authTitle:"Authentication",apiLabel:"API Key",oauthNotReady:"OAuth proxy is not ready yet.",codexLoginRequired:"Codex login required.",codexLoginHint:"Run `codex login` in your terminal, then refresh this page.",oauthStarting:"OAuth proxy is starting. Try again in a few seconds.",serverUnreachable:"Cannot reach the server. Make sure the backend is running.",apiInvalid:"API key is missing or invalid. Check OPENAI_API_KEY in the server's .env.",availableTitle:"{name} available",availableAria:"{name}: available",unavailableAria:"{name}: unavailable",availableSr:"(available)",unavailableSr:"(unavailable)"},dN={free:"free",approx:"~${amount}",multimodeApprox:"up to ~${amount} ({count})",label:"Est. cost"},fN={download:"Download",copyImage:"Copy image",copyPrompt:"Copy prompt",continueHere:"Continue here",continueHereTitle:"Import this image's prompt and keep working",delete:"Delete",deleteTitle:"Move to trash",more:"More",permanentDelete:"Permanently delete",permanentDeleteConfirm:'Permanently delete "{filename}"? This cannot be undone.'},hN={switchTitle:"Switch session",loading:"Loading...",newSession:"New session",newSessionTitle:"New session",renameTitle:"Rename",renamePrompt:"Session name",deleteTitle:"Delete",deleteConfirm:'Delete session "{title}"? This cannot be undone.',empty:"No sessions yet",firstGraph:"My first graph",untitled:"Untitled session",assetAbortedError:"Generation did not finish cleanly. Retry from this node."},mN={ariaLabel:"UI mode",classic:"Classic",node:"Node",cardNews:"Card News"},pN={workspace:"Card News workspace",composer:"Card News",composerHint:"Templates are visual snapshots; output size is set separately.",topic:"Topic",topicPlaceholder:"e.g. Exam comeback plan",audience:"Audience",audiencePlaceholder:"e.g. Parents",goal:"Goal",goalPlaceholder:"e.g. Book a consultation",brief:"Brief",briefPlaceholder:"Describe the card news content, required points, and exclusions.",outputSize:"Output size",customSize:"Custom",draft:"Draft outline",drafting:"Drafting...",generateSet:"Generate set",batchGenerate:"Batch generate",generating:"Generating...",generated:"Generated {count} cards.",missingGeneratedCard:"The generation response did not include this card.",error:"Card generation failed.",imageTemplate:"Image template",roleTemplate:"Card structure",newTemplateLater:"Custom templates are planned after the dev MVP",emptyTitle:"Waiting for a draft",emptyBody:"Use the left setup panel to prepare the card deck.",inspector:"Card inspector",cardTitle:"Card title",headline:"Headline",body:"Body",visualPrompt:"Image prompt",summaryCopy:"Summary copy",designPrompt:"Scene / design prompt",textFields:"Text boxes",addTextField:"Add text box",removeTextField:"Remove",noTextFields:"No text boxes yet.",textFieldText:"Text",textKind:"Kind",placement:"Placement",renderMode:"Render mode",hierarchyLabel:"Hierarchy",textTooLong:"Text exceeds the suggested length.",selectTextField:"Select text box: {text}",textKinds:{headline:"Headline",body:"Supporting text",caption:"Caption",cta:"CTA",badge:"Badge",number:"Number"},renderModes:{"in-image":"In image","ui-only":"UI only"},hierarchy:{primary:"Primary",secondary:"Secondary",supporting:"Supporting"},placements:{"top-left":"Top-left","top-center":"Top-center","top-right":"Top-right","center-left":"Center-left",center:"Center","center-right":"Center-right","bottom-left":"Bottom-left","bottom-center":"Bottom-center","bottom-right":"Bottom-right",free:"Free"},roles:{cover:"Cover",hook:"Hook",problem:"Problem",insight:"Insight",example:"Example",data:"Data",summary:"Summary",cta:"CTA"},locked:"Locked",unlocked:"Unlocked",noCard:"No card selected",generatedMeta:"Generated metadata",lockedHelp:"Locked cards are excluded from batch generation and retry.",retryCard:"Retry this card",actions:{copyPrompt:"Copy prompt",copyCopy:"Copy copy",openImage:"Open image",downloadCard:"Download"},status:{draft:"Draft",queued:"Queued",generating:"Generating",generated:"Done",error:"Error",skipped:"Skipped",locked:"Locked"},progress:{generating:"Generating {done}/{total}",summary:"Done {done}/{total}",detail:"{queued} queued · {errors} errors · {skipped} skipped",cardGenerating:"Generating this card."},planner:{structured:"Structured JSON",jsonMode:"JSON mode",repaired:"Repaired",fallback:"Fallback draft",jsonOnlyHelp:"Draft creates JSON only. Images are generated later.",error:"Draft failed"}},gN={appName:"Image Generator",imageModelLabel:"Model",imageModelAria:"Choose image model",nodeModeHint:"In node mode, click a node to edit its prompt and generate. Settings on the right panel (quality/size) apply to every new result."},yN={openAria:"Open settings",openTitle:"Settings",closeAria:"Close settings",closeTitle:"Return to canvas",navAria:"Settings sections",contentAria:"Settings content",jumpTo:"Jump to {section}",eyebrow:"Workspace settings",title:"Settings",subtitle:"Account, display, and future workspace controls live here so the generator stays focused.",sections:{account:{title:"Account",hint:"OAuth status"},generation:{title:"Generation",hint:"Model defaults"},appearance:{title:"Appearance",hint:"Light and dark"},language:{title:"Language",hint:"Interface copy"},future:{title:"Future",hint:"Reserved"}},account:{primaryEyebrow:"Active provider",oauthTitle:"OAuth is active",oauthBody:"Generation currently runs through your Codex OAuth session. API-key generation remains disabled in this build.",apiSourceEnv:"OPENAI_API_KEY detected",apiSourceConfig:"config.json API key detected",apiTitle:"Configured but disabled",apiBody:"ima2-gen found an API key in env/config, but the app is OAuth-only right now. Remove the key only if you do not want this status shown.",apiDisabled:"Disabled",apiUnknown:"Status unknown"},imageModel:{title:"Image model",body:"Choose the OAuth model used for future image generations.",gpt54Mini:"GPT-5.4 Mini",gpt54:"GPT-5.4",gpt55:"GPT-5.5",gpt53CodexSpark:"GPT-5.3 Codex Spark — unsupported for images",unsupportedHelp:"Default is GPT-5.4 Mini. GPT-5.3 Codex Spark may appear in OAuth model status, but it does not support the image_generation tool."},appearance:{themeTitle:"Theme",themeBody:"Pick a theme style and brightness for this device."},language:{title:"Language",body:"Switch the UI language without changing generated content."},future:{title:"Reserved for later",body:"Future provider repair and workspace controls will appear here when they become useful."}},vN={loading:"Loading session...",addFirst:"+ Add first node",addRootTitle:"Add root node",hint:"Drag a handle into empty space to branch. Press Delete or Backspace to remove."},xN={title:"{provider} unavailable",ariaLabel:"{provider} unavailable"},bN={label:"Language",ko:"한국어",en:"English"},SN={label:"Theme",modeLabel:"Brightness",styleLabel:"Theme style",system:"System",dark:"Dark",light:"Light",family:{default:"Default",gpt:"GPT",claude:"Claude",gemini:"Gemini",grok:"Grok"}},wN={close:"Close",details:"Show raw error details",unknown:{title:"An unexpected error occurred",body:"Please try again shortly. If it persists, copy the raw error message below and report it."},moderationRefused:{title:"Prompt blocked by moderation",body:"Soften the wording or rephrase. Sensitive/violent content in reference images can also trigger this.",cta:"Edit prompt"},emptyResponse:{title:"No image was returned",body:"Codex responded but didn't include image data. This isn't a moderation block — it's likely a transient hiccup or an unsupported size/quality/model combination. Retry, or try a different size or model.",cta:"Retry"},upstream5xx:{title:"OpenAI is currently busy",body:"Retrying usually resolves this. Check status.openai.com if it persists.",cta:"Retry"},authChatgptExpired:{title:"Codex ChatGPT session expired",body:"Run `npx @openai/codex login` in your terminal, then reload this app.",cta:"Reload"},authApiKeyInvalid:{title:"API key authentication failed",body:"The key is invalid, revoked, out of quota, or tied to the wrong org. This app runs in OAuth mode, so switch to ChatGPT login.",cta:"OK"},networkFailed:{title:"Network connection failed",body:"Could not reach OpenAI or the local runtime service. Reload first; if it persists, check VPN/firewall and the port shown by `ima2 doctor`.",cta:"Reload"},oauthUnavailable:{title:"OAuth proxy unavailable",body:"The OAuth proxy is starting, unavailable, or moved to a fallback port. Reload first; if it persists, run `ima2 doctor` and check the reported OAuth URL.",cta:"Reload"},invalidRequest:{title:"Image request needs changes",body:"One or more generation parameters are invalid. Check the raw error details below, then edit the prompt or size and try again.",cta:"Edit input"},apikeyDisabled:{title:"API-key mode is disabled",body:"This app is OAuth-only (ChatGPT login). Switch the provider to OAuth.",cta:"OK"}},NN={title:"Prompt Library",saveTitle:"Save to Prompt Library",save:"Save",saved:"Prompt saved",saveFailed:"Save failed",name:"Name",tags:"Tags",search:"Search prompts...",favorites:"Favorites",load:"Load",insert:"Insert",inserted:"Prompt inserted",removeInserted:"Remove inserted prompt {name}",favorite:"Favorite",unfavorite:"Unfavorite",empty:"No saved prompts yet.",content:"Content",copy:"Copy",untitled:"Untitled",addNew:"Add new prompt",import:"Import",importFiles:"Import .txt or .md files",dropImport:"Drop .txt or .md files to import prompts",imported:"Imported {count} prompt(s)",importFailed:"Import failed",importNoValidFiles:"No .txt or .md prompt files found."},_N={common:Vw,toast:Yw,inflight:Pw,size:$w,sizeConfirm:Fw,quality:Xw,moderation:Zw,format:Kw,count:Qw,multimode:Jw,metadata:Ww,generate:eN,billing:tN,history:nN,panel:aN,prompt:iN,canvas:lN,gallery:oN,node:rN,nodeBatch:sN,edge:cN,provider:uN,cost:dN,result:fN,session:hN,uiMode:mN,cardNews:pN,sidebar:gN,settings:yN,nodeCanvas:vN,apiDisabled:xN,language:bN,theme:SN,errorCard:wN,promptLibrary:NN},cy={ko:Gw,en:_N};function uy(t,a){return a.split(".").reduce((l,o)=>{if(l!=null)return l[o]},t)}function EN(t,a){return t.replace(/\{(\w+)\}/g,(l,o)=>o in a?String(a[o]):`{${o}}`)}function pe(t,a){const l=Y.getState().locale;return Q0(l,t,a)}function Q0(t,a,l){const o=uy(cy[t],a),s=typeof o=="string"?o:uy(cy.en,a),c=typeof s=="string"?s:a;return l?EN(c,l):c}function Ne(){const t=Y(a=>a.locale);return{locale:t,t:(a,l)=>Q0(t,a,l)}}const CN=["ko","en"];function TN(){try{const t=localStorage.getItem("ima2.locale");if(t==="ko"||t==="en")return t}catch{}return typeof navigator<"u"&&(navigator.language||"").toLowerCase().startsWith("ko")?"ko":"en"}function MN(t){try{localStorage.setItem("ima2.locale",t)}catch{}}function AN(t){return Math.round(t/16)*16}const ii=16,qf=3840,Yd=655360,Ls=8294400,jN=3,sl=3,dy=Math.floor(Math.sqrt(Ls)/ii)*ii,J0=ii,zN=qf,bs=jN;function fy(t){return Math.floor(t/16)*16}function $s(t){return Math.ceil(t/16)*16}function tn(t){return Math.min(zN,Math.max(J0,t))}function Aa(t,a){const l=typeof t=="number"?t:Number.parseInt(t,10);return Number.isFinite(l)?l:a}function ci(t,a){t.includes(a)||t.push(a)}function hy(t,a){const l=AN(t);return l!==t&&ci(a,"snap"),l}function my(t,a){return t<J0&&ci(a,"min"),t>qf&&ci(a,"maxEdge"),tn(t)}function py(t,a,l){return t>a*bs?(ci(l,"ratio"),{w:t,h:tn($s(t/bs))}):a>t*bs?(ci(l,"ratio"),{w:tn($s(a/bs)),h:a}):{w:t,h:a}}function RN(t,a,l){if(t*a<Yd){ci(l,"minPixels");const d=Math.sqrt(Yd/(t*a));let m=tn($s(t*d)),y=tn($s(a*d));for(;m*y<Yd;)m<=y?m=tn(m+ii):y=tn(y+ii);return{w:m,h:y}}if(t*a<=Ls)return{w:t,h:a};ci(l,"maxPixels");const o=Math.sqrt(Ls/(t*a));let s=tn(fy(t*o)),c=tn(fy(a*o));for(;s*c>Ls;)s>=c?s=tn(s-ii):c=tn(c-ii);return{w:s,h:c}}function Uf(t,a,l,o){const s=[],c=Aa(t,l),d=Aa(a,o);let m=my(hy(c,s),s),y=my(hy(d,s),s);return{w:m,h:y}=py(m,y,s),{w:m,h:y}=RN(m,y,s),{w:m,h:y}=py(m,y,s),{requestedW:c,requestedH:d,w:m,h:y,adjusted:m!==c||y!==d,reasons:s}}function W0(t,a,l,o){const s=Uf(t,a,l,o);return{w:s.w,h:s.h}}const DN=[{id:"free",label:"Free",w:0,h:0},{id:"1:1",label:"1:1",w:1,h:1},{id:"3:2",label:"3:2",w:3,h:2},{id:"2:3",label:"2:3",w:2,h:3},{id:"16:9",label:"16:9",w:16,h:9},{id:"9:16",label:"9:16",w:9,h:16},{id:"21:9",label:"21:9",w:21,h:9},{id:"9:21",label:"9:21",w:9,h:21}];function ON(t,a){return`${t}x${a}`}function IN(t,a=1024){if(t.id==="free")return null;const l=a,o=t.w>=t.h,s=o?Math.round(l*t.w/t.h):l,c=o?l:Math.round(l*t.h/t.w);return W0(s,c,s,c)}function lc(t){const a=W0(t.w,t.h,2400,1024);return{...t,w:a.w,h:a.h,label:t.label||`${a.w}×${a.h}`}}function hl(t){return t.slice(0,sl).map(lc)}function LN(t,a){const l=lc(a),o=t.findIndex(s=>s.id===l.id);return o>=0?hl(t.map((s,c)=>c===o?l:s)):t.length>=sl?hl(t):hl([...t,l])}function HN(t,a,l){const o=lc({...l,id:a});return hl(t.map(s=>s.id===a?o:s))}const kN=[{value:"1024x1024",label:"1024×1024",sub:"1:1"},{value:"1536x1024",label:"1536×1024",sub:"3:2"},{value:"1024x1536",label:"1024×1536",sub:"2:3"}],BN=[{value:"1360x1024",label:"1360×1024",sub:"4:3"},{value:"1024x1360",label:"1024×1360",sub:"3:4"},{value:"1824x1024",label:"1824×1024",sub:"16:9"}],qN=[{value:"1024x1824",label:"1024×1824",sub:"9:16"},{value:"2048x2048",label:"2048×2048",sub:"2K 1:1"},{value:"2048x1152",label:"2048×1152",sub:"2K 16:9"}],UN=[{value:"1152x2048",label:"1152×2048",sub:"2K 9:16"},{value:"3840x2160",label:"3840×2160",sub:"4K 16:9"},{value:"2160x3840",label:"2160×3840",sub:"4K 9:16"}];function GN(){return[{value:"auto",label:pe("size.autoLabel"),sub:pe("size.autoSub")},{value:"custom",label:pe("size.customLabel"),sub:pe("size.customSub")}]}const VN="gpt-5.4-mini",ev="ima2.imageModel",cl=[{value:"gpt-5.4-mini",shortLabel:"5.4m",fullLabelKey:"settings.imageModel.gpt54Mini"},{value:"gpt-5.4",shortLabel:"5.4",fullLabelKey:"settings.imageModel.gpt54"},{value:"gpt-5.5",shortLabel:"5.5",fullLabelKey:"settings.imageModel.gpt55"}],YN=[{value:"gpt-5.3-codex-spark",fullLabelKey:"settings.imageModel.gpt53CodexSpark"}];function tv(t){return cl.some(a=>a.value===t)}function nv(t){return t?cl.find(a=>a.value===t)?.shortLabel??t:null}const il=()=>"nc_"+Math.random().toString(36).slice(2,10);function gy(t,a){return{x:t*360,y:a*320}}function PN(t,a){return t.find(l=>l.target===a)??null}function $N(t,a,l){return t.some(o=>o.target===l&&o.source!==a)}function Ea(t,a){const l=new Map(t.map(o=>[o.id,o]));return t.map(o=>{const s=PN(a,o.id),d=(s?l.get(s.source):null)?.data.serverNodeId??null;return o.data.parentServerNodeId===d?o:{...o,data:{...o.data,parentServerNodeId:d}}})}const FN=360,av=320;function XN(t,a,l){const o=new Set(l.filter(s=>s.source===t).map(s=>s.target));return a.filter(s=>o.has(s.id))}function yy(t){const a=t.filter(o=>!o.data.parentServerNodeId);if(a.length===0)return gy(0,0);const l=Math.max(...a.map(o=>o.position.y));return{x:gy(0,0).x,y:l+av}}function vy(t,a,l){const o=XN(t.id,a,l),s=t.position.x+FN;if(o.length===0)return{x:s,y:t.position.y};const c=Math.max(...o.map(d=>d.position.y));return{x:s,y:c+av}}const iv="ima2.nodeRefs.v1";function Gf(){try{const t=localStorage.getItem(iv);if(!t)return{};const a=JSON.parse(t);return a&&typeof a=="object"?a:{}}catch{return{}}}function lv(t){try{localStorage.setItem(iv,JSON.stringify(t))}catch{}}function ZN(t,a){if(!t)return[];const l=Gf()[t]?.[a];return Array.isArray(l)?l.filter(o=>typeof o=="string"):[]}function Hs(t,a,l){if(!t)return;const o=Gf(),s={...o[t]??{}};l.length===0?delete s[a]:s[a]=l,o[t]=s,lv(o)}function Pd(t,a){Hs(t,a,[])}function KN(t,a){if(!t)return;const l=Gf(),o=l[t];if(!o)return;const s=new Set(a);for(const c of Object.keys(o))s.has(c)||delete o[c];l[t]=o,lv(l)}function QN(t,a,l){const o=new Set(t.map(m=>m.id));if(!o.has(l))return[];const s=new Map;for(const m of o)s.set(m,new Set);for(const m of a)!o.has(m.source)||!o.has(m.target)||(s.get(m.source)?.add(m.target),s.get(m.target)?.add(m.source));const c=new Set,d=[l];for(let m=0;m<d.length;m++){const y=d[m];if(!c.has(y)){c.add(y);for(const p of s.get(y)??[])c.has(p)||d.push(p)}}return t.filter(m=>c.has(m.id)).map(m=>m.id)}function ov(t){return t.filter(a=>a.selected).map(a=>a.id)}function Mo(t,a){const l=new Set(a);return t.map(o=>({...o,selected:l.has(o.id)}))}function JN(t,a,l,o){const s=new Set(QN(t,a,l));if(!s.size)return t;if(!o)return Mo(t,s);const c=t.find(y=>y.id===l),d=t.some(y=>s.has(y.id)&&y.selected),m=new Set(ov(t));if(d)c?.selected?m.delete(l):m.add(l);else for(const y of s)m.add(y);return Mo(t,m)}function rv(t){return t.data.status==="ready"&&!!t.data.imageUrl}function WN(t,a,l){const o=new Set(l),s=new Set(t.map(v=>v.id)),c=new Map,d=new Map;for(const v of o)s.has(v)&&(c.set(v,0),d.set(v,[]));for(const v of a)!o.has(v.source)||!o.has(v.target)||(d.get(v.source)?.push(v.target),c.set(v.target,(c.get(v.target)??0)+1));const m=t.map(v=>v.id),y=m.filter(v=>o.has(v)&&(c.get(v)??0)===0),p=[];for(let v=0;v<y.length;v++){const x=y[v];p.push(x);for(const S of d.get(x)??[])c.set(S,(c.get(S)??0)-1),(c.get(S)??0)===0&&y.push(S)}const g=new Set(p);return p.concat(m.filter(v=>o.has(v)&&!g.has(v)))}function sv(t,a){const l=new Set(a),o=new Set,s=new Map;for(const d of t){const m=s.get(d.source)??[];m.push(d.target),s.set(d.source,m)}const c=[...l];for(let d=0;d<c.length;d++)for(const m of s.get(c[d])??[])l.has(m)||o.has(m)||(o.add(m),c.push(m));return[...o]}function e_(t,a,l){const o=new Set(l);return t.filter(s=>s.source===a&&!o.has(s.target)).map(s=>s.target)}function t_(t,a,l){const o=new Set(l),s=new Map(t.map(d=>[d.id,d])),c=[];for(const d of a){if(!o.has(d.target)||o.has(d.source))continue;s.get(d.source)?.data.serverNodeId||c.push(d.target)}return c}const Ao={REF_TOO_LARGE:{surface:"toast",toastKey:"toast.refTooLarge"},REF_NOT_BASE64:{surface:"toast",toastKey:"toast.refNotBase64"},REF_EMPTY:{surface:"toast",toastKey:"toast.refEmpty"},REF_TOO_MANY:{surface:"toast",toastKey:"toast.refLimitExceeded"},MODERATION_REFUSED:{surface:"card",cardKey:"errorCard.moderationRefused",cta:"dismiss"},SAFETY_REFUSAL:{surface:"card",cardKey:"errorCard.moderationRefused",cta:"dismiss"},EMPTY_RESPONSE:{surface:"card",cardKey:"errorCard.emptyResponse",cta:"dismiss"},UPSTREAM_5XX:{surface:"card",cardKey:"errorCard.upstream5xx",cta:"retry"},AUTH_CHATGPT_EXPIRED:{surface:"card",cardKey:"errorCard.authChatgptExpired",cta:"reauth"},AUTH_API_KEY_INVALID:{surface:"card",cardKey:"errorCard.authApiKeyInvalid",cta:"dismiss"},NETWORK_FAILED:{surface:"card",cardKey:"errorCard.networkFailed",cta:"reload"},OAUTH_UNAVAILABLE:{surface:"card",cardKey:"errorCard.oauthUnavailable",cta:"reload"},INVALID_REQUEST:{surface:"card",cardKey:"errorCard.invalidRequest",cta:"dismiss"},INVALID_MODERATION:{surface:"toast",toastKey:"toast.generateFailed"},APIKEY_DISABLED:{surface:"card",cardKey:"errorCard.apikeyDisabled",cta:"dismiss"},DB_ERROR:{surface:"toast",toastKey:"toast.generateFailed"},UNKNOWN:{surface:"toast",toastKey:"toast.generateFailed"}};function n_(t){const a=(t||"").toLowerCase();return a?a.includes("moderation_blocked")||a.includes("moderation refused")?"MODERATION_REFUSED":a.includes("no image data returned")?"EMPTY_RESPONSE":a.includes("token is expired")||a.includes("sign in again")||a.includes("access token")&&a.includes("expired")||a.includes("token")&&a.includes("expired")&&!a.includes("api key")?"AUTH_CHATGPT_EXPIRED":a.includes("incorrect api key")||a.includes("invalid authentication")||a.includes("exceeded your current quota")||a.includes("incorrect organization")?"AUTH_API_KEY_INVALID":a.includes("failed to fetch")||a.includes("econnrefused")||a.includes("econnreset")||a.includes("enotfound")||a.includes("etimedout")||a.includes("network error")?"NETWORK_FAILED":a.includes("oauth")&&(a.includes("not running")||a.includes("unavailable")||a.includes("not ready"))?"OAUTH_UNAVAILABLE":a.includes("invalid_request_error")||a.includes("invalid_value")||a.includes("invalid size")||a.includes("invalid request")||a.includes("requested resolution")||a.includes("minimum pixel budget")||a.includes("unsupported value")?"INVALID_REQUEST":a.includes("an error occurred while processing")||/\b5\d\d\b/.test(a)?"UPSTREAM_5XX":"UNKNOWN":"UNKNOWN"}function a_(t){const a=t,l=typeof a?.message=="string"?a.message:String(t??""),o=typeof a?.code=="string"?a.code:"",s=o&&o in Ao?o:n_(l),c=Ao[s]??Ao.UNKNOWN;return{code:s,spec:c,message:l}}function $d(t,a){const{code:l,spec:o,message:s}=a_(t);if(o.surface==="card")a.showErrorCard(l,{fallbackMessage:s});else{const c=o.toastKey?pe(o.toastKey):s||pe("toast.generateFailed");a.showToast(c,!0)}return{code:l,message:s}}const Vf=!0,cv=!1;function i_(t,a){return a?a.filename&&t.filename===a.filename?!0:t.image===a.image:!1}function l_(t,a){return t.findIndex(l=>i_(l,a))}function o_(t,a,l){if(t.length===0)return null;if(l==="first")return t[0]??null;if(l==="last")return t[t.length-1]??null;const o=l_(t,a);if(o<0)return null;const s=l==="previous"?o-1:o+1;return t[s]??null}function xy(t,a){const l=t.findIndex(o=>o.filename===a);return l<0?null:t[l+1]??t[l-1]??null}function r_(){try{const t=localStorage.getItem("ima2.rightPanelOpen");return t===null?!0:JSON.parse(t)===!0}catch{return!0}}function s_(){try{const t=localStorage.getItem("ima2.uiMode");if(t==="card-news")return cv?t:"classic";if(t==="node")return Vf?t:"classic";if(t==="classic")return t}catch{}return"classic"}function Fd(){try{const t=localStorage.getItem("ima2:theme");if(t==="system"||t==="dark"||t==="light")return t}catch{}return"system"}function by(){try{const t=localStorage.getItem("ima2:themeFamily");if(t&&X0.includes(t))return t}catch{}return"default"}function Sy(){try{const t=localStorage.getItem(ev);if(tv(t))return t}catch{}return VN}function wy(t){try{localStorage.setItem(ev,t)}catch{}}function Ss(t){return t==="dark"||t==="light"?t:typeof window>"u"||typeof window.matchMedia!="function"?"dark":window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}const uv=18e4;function Xd(t,a){return[...a.map(l=>l.text.trim()).filter(Boolean),t.trim()].filter(Boolean).join(`
22
-
23
- `)}function Zd(t){const a=t.meta??{},l=t.kind==="classic"||t.kind==="node"||t.kind==="multimode"?t.kind:a.kind==="classic"||a.kind==="node"||a.kind==="multimode"?a.kind:void 0;return{id:t.requestId,prompt:typeof t.prompt=="string"?t.prompt:"",startedAt:t.startedAt,phase:typeof t.phase=="string"?t.phase:void 0,sessionId:typeof a.sessionId=="string"?a.sessionId:null,parentNodeId:typeof a.parentNodeId=="string"?a.parentNodeId:null,clientNodeId:typeof a.clientNodeId=="string"?a.clientNodeId:null,kind:l}}function Kd(){try{const t=localStorage.getItem("ima2.inFlight");if(!t)return[];const a=JSON.parse(t);if(!Array.isArray(a))return[];const l=Date.now();return a.filter(o=>o&&typeof o.id=="string"&&typeof o.prompt=="string"&&typeof o.startedAt=="number"&&l-o.startedAt<uv).map(o=>({id:o.id,prompt:o.prompt,startedAt:o.startedAt,phase:typeof o.phase=="string"?o.phase:void 0,sessionId:typeof o.sessionId=="string"?o.sessionId:null,parentNodeId:typeof o.parentNodeId=="string"?o.parentNodeId:null,clientNodeId:typeof o.clientNodeId=="string"?o.clientNodeId:null,kind:o.kind==="classic"||o.kind==="node"||o.kind==="multimode"?o.kind:void 0}))}catch{return[]}}function Gn(t){try{localStorage.setItem("ima2.inFlight",JSON.stringify(t))}catch(a){const l=window;if(!l.__ima2QuotaWarned){l.__ima2QuotaWarned=!0,console.warn("[ima2] localStorage write failed:",a);try{Y.getState().showToast(pe("toast.localStorageFull"),!0)}catch{}}}}function Ny(){try{const t=localStorage.getItem("ima2.selectedFilename");return typeof t=="string"&&t.length>0?t:null}catch{return null}}function ti(t){try{t?localStorage.setItem("ima2.selectedFilename",t):localStorage.removeItem("ima2.selectedFilename")}catch{}}function c_(){try{const t=localStorage.getItem("ima2.activeSessionId");return typeof t=="string"&&t.length>0?t:null}catch{return null}}function Qd(t){try{t?localStorage.setItem("ima2.activeSessionId",t):localStorage.removeItem("ima2.activeSessionId")}catch{}}const ul=500,wa=5;function u_(t){return t==="classic"||t==="edit"||t==="generate"||t==="card-news-card"||t==="card-news-set"?t:null}function _y(t){return{image:t.url,url:t.url,filename:t.filename,thumb:t.url,prompt:t.prompt??void 0,size:t.size??void 0,quality:t.quality??void 0,format:t.format,model:t.model??void 0,provider:t.provider,usage:t.usage??void 0,createdAt:t.createdAt,sessionId:t.sessionId??null,nodeId:t.nodeId??null,clientNodeId:t.clientNodeId??null,requestId:t.requestId??null,kind:u_(t.kind),setId:t.setId??null,cardId:t.cardId??null,cardOrder:t.cardOrder??null,headline:t.headline??null,body:t.body??null,cards:t.cards,refsCount:t.refsCount??0,isFavorite:t.isFavorite??!1,sequenceId:t.sequenceId??null,sequenceIndex:t.sequenceIndex??null,sequenceTotalRequested:t.sequenceTotalRequested??null,sequenceTotalReturned:t.sequenceTotalReturned??null,sequenceStatus:t.sequenceStatus??null}}function Jd(t){return t.replace(/^data:[^;]+;base64,/,"")}async function Ey(t,a="reference.png"){const l=await fetch(t);if(!l.ok)throw new Error(`reference fetch failed: ${l.status}`);const o=await l.blob(),s=new File([o],a,{type:o.type||"image/png"});return bf(s,{preserveTransparency:!1})}const ll="source-right",bo="target-left";function ws(t,a,l,o){return`${t}:${l??"auto"}->${a}:${o??"auto"}`}function d_(t,a){return t&&t.startsWith(`${a}-`)?t:null}function f_(t){switch(t){case"source-top":return"target-bottom";case"source-right":return"target-left";case"source-bottom":return"target-top";case"source-left":return"target-right";default:return null}}function dv(t){const a=t.nodes.map(o=>{const s=o.data??{},c=typeof s.imageUrl=="string"&&s.imageUrl.length>0?s.imageUrl:null,d=typeof s.serverNodeId=="string"&&s.serverNodeId.length>0?`/generated/${s.serverNodeId}.png`:null,m=c??d,y={clientId:o.id,serverNodeId:s.serverNodeId??null,parentServerNodeId:s.parentServerNodeId??null,prompt:typeof s.prompt=="string"?s.prompt:"",imageUrl:m,status:s.status??(m?"ready":"empty"),pendingRequestId:s.pendingRequestId??null,recoveryRequestId:s.recoveryRequestId??null,pendingPhase:s.pendingPhase??null,pendingStartedAt:typeof s.pendingStartedAt=="number"?s.pendingStartedAt:null,partialImageUrl:null,error:s.error,elapsed:s.elapsed,webSearchCalls:s.webSearchCalls,model:s.model??null,size:s.size??null,referenceImages:ZN(t.id,o.id)};return{id:o.id,type:"imageNode",position:{x:o.x,y:o.y},data:y}}),l=t.edges.map(o=>{const s=o.data??{};return{id:o.id,source:o.source,target:o.target,sourceHandle:typeof s.sourceHandle=="string"?s.sourceHandle:null,targetHandle:typeof s.targetHandle=="string"?s.targetHandle:null}});return{graphNodes:Ea(a,l),graphEdges:l,graphVersion:t.graphVersion}}function h_(t,a){return`${t}x${a}`}function Wd(t){return Math.min(8,Math.max(1,Math.trunc(t||1)))}const m_=new Set(["1024x1024","1536x1024","1024x1536","1360x1024","1024x1360","1824x1024","1024x1824","2048x2048","2048x1152","1152x2048","3840x2160","2160x3840","auto","custom"]);function p_(t){if(typeof t!="string")return{};if(m_.has(t))return{preset:t};const a=/^(\d+)x(\d+)$/.exec(t);if(!a)return{};const l=Number(a[1]),o=Number(a[2]);return!Number.isFinite(l)||!Number.isFinite(o)?{}:{preset:"custom",w:l,h:o}}function g_(t){return t==="low"||t==="medium"||t==="high"}function y_(t){return t==="png"||t==="jpeg"||t==="webp"}function v_(t){return t==="low"||t==="auto"}function x_(t,a){const l={},o=a.userPrompt||a.prompt;typeof o=="string"&&(l.prompt=o),g_(a.quality)&&(l.quality=a.quality),y_(a.format)&&(l.format=a.format),v_(a.moderation)&&(l.moderation=a.moderation),(a.promptMode==="auto"||a.promptMode==="direct")&&(l.promptMode=a.promptMode),a.model&&tv(a.model)&&(l.imageModel=a.model);const s=p_(a.size);return s.preset&&(l.sizePreset=s.preset),s.preset==="custom"&&s.w&&s.h&&(l.customW=Aa(s.w,t.customW),l.customH=Aa(s.h,t.customH)),l}function Ns(t,a){if(t.sizePreset!=="custom")return null;const l=Uf(t.customW,t.customH,t.customW,t.customH);return l.adjusted?{requestedW:l.requestedW,requestedH:l.requestedH,adjustedW:l.w,adjustedH:l.h,reasons:l.reasons,continuation:a}:null}const Y=F0((t,a)=>({provider:"oauth",quality:"medium",sizePreset:"1024x1024",customW:1920,customH:1088,format:"png",moderation:"low",count:1,multimode:!1,multimodeMaxImages:4,multimodeSequence:null,multimodeAbortController:null,promptMode:"auto",prompt:"",insertedPrompts:[],referenceImages:[],promptLibraryOpen:!1,promptLibrary:{prompts:[],folders:[]},promptLibraryLoading:!1,galleryFavorites:new Set,browserId:Z0(),canvasOpen:!1,canvasZoom:1,addReferences:async l=>{const o=wa-a().referenceImages.length,s=l.slice(0,Math.max(0,o)),c=s.filter(xs),d=s.filter(g=>!xs(g)),y=(await Promise.all(d.map(async g=>{try{return await bf(g,{preserveTransparency:sy(g)})}catch(v){return console.warn("[addReferences] compress failed",v),null}}))).filter(g=>!!g);t(g=>({referenceImages:[...g.referenceImages,...y].slice(0,wa)})),c.length>0&&a().showToast(pe("toast.refHeicUnsupported"),!0),d.length-y.length>0&&a().showToast(pe("toast.refTooLarge"),!0),l.length>o&&a().showToast(pe("toast.refLimitExceeded"),!0)},addReferenceDataUrl:l=>{t(o=>o.referenceImages.length>=wa?o:{referenceImages:[...o.referenceImages,l]})},metadataRestore:null,readDroppedImageMetadata:async(l,o=null)=>{if(!l.type.startsWith("image/"))return!1;let s="";try{s=await aw(l);const c=await $1({filename:l.name,dataUrl:s});return c.metadata?(t({metadataRestore:{filename:l.name,image:s,metadata:c.metadata,source:c.source??"xmp",targetNodeId:o}}),!0):!1}catch{return a().showToast(pe("metadata.readFailed"),!0),!1}},applyMetadataRestore:()=>{const l=a().metadataRestore;if(!l)return;const o=x_(a(),l.metadata);if(o.imageModel&&wy(o.imageModel),l.targetNodeId&&typeof o.prompt=="string"){const s=o.prompt;t({...o,metadataRestore:null,graphNodes:a().graphNodes.map(c=>c.id===l.targetNodeId?{...c,data:{...c.data,prompt:s}}:c)}),a().scheduleGraphSave()}else t({...o,metadataRestore:null});a().showToast(pe("metadata.applied"))},cancelMetadataRestore:()=>t({metadataRestore:null}),addMetadataRestoreAsReference:()=>{const l=a().metadataRestore;l&&(l.targetNodeId?a().addNodeReferenceDataUrl(l.targetNodeId,l.image):a().addReferenceDataUrl(l.image),t({metadataRestore:null}))},removeReference:l=>{t(o=>({referenceImages:o.referenceImages.filter((s,c)=>c!==l)}))},clearReferences:()=>t({referenceImages:[]}),useCurrentAsReference:async()=>{const l=a().currentImage;if(!l){a().showToast(pe("toast.noCurrentImageForRef"),!0);return}if(a().referenceImages.length>=wa){a().showToast(pe("toast.refSlotFull"),!0);return}let o;try{o=await Ey(l.image,l.filename||"current-reference.png")}catch{a().showToast(pe("toast.currentImageLoadFailed"),!0);return}t(s=>({referenceImages:[...s.referenceImages,o].slice(0,wa)})),a().showToast(pe("toast.addedCurrentAsRef"))},activeGenerations:Kd().length,unseenGeneratedCount:0,inFlight:Kd(),startInFlightPolling:()=>{if(typeof window>"u")return;const l=window;if(l.__ima2InflightTimer)return;const o=async()=>{if(a().inFlight.length===0){l.__ima2InflightTimer&&(clearInterval(l.__ima2InflightTimer),l.__ima2InflightTimer=void 0);return}try{const c=a().uiMode==="node"?"node":"classic",d=c==="node"?a().activeSessionId??void 0:void 0,{jobs:m}=await Ud({kind:c,sessionId:d}),y=new Map(m.map(S=>[S.requestId,S]));let p=!1;const g=Date.now(),v=5e3,x=[];for(const S of a().inFlight){if(!((S.kind??"classic")===c&&(c!=="node"||(S.sessionId??null)===(d??null)))){x.push(S);continue}if(!y.has(S.id)&&g-S.startedAt>v){p=!0;continue}const D=y.get(S.id);if(D){const j=Zd(D),A={...S,phase:j.phase,sessionId:j.sessionId,parentNodeId:j.parentNodeId,clientNodeId:j.clientNodeId,kind:j.kind};(A.phase!==S.phase||A.sessionId!==S.sessionId||A.parentNodeId!==S.parentNodeId||A.clientNodeId!==S.clientNodeId||A.kind!==S.kind)&&(p=!0),x.push(A)}else x.push(S)}p&&(Gn(x),t({inFlight:x,activeGenerations:x.length}))}catch{}try{const c=a().history.reduce((x,S)=>S.createdAt&&S.createdAt>x?S.createdAt:x,0),{items:d}=await xf({limit:ul,since:c}),m=d.map(_y),y=a().history,p=m.filter(x=>!y.some(S=>S.filename===x.filename));p.length>0&&t(x=>{const S=x.currentImage??p[0];return!x.currentImage&&p[0]?.filename&&ti(p[0].filename),{history:[...p,...x.history].slice(0,ul),currentImage:S}});const g=Date.now(),v=a().inFlight.filter(x=>g-x.startedAt<uv);v.length!==a().inFlight.length&&(Gn(v),t({inFlight:v,activeGenerations:v.length}))}catch{}};l.__ima2InflightTimer=window.setInterval(o,1500)},reconcileInflight:async()=>{try{const l=a().uiMode==="node"?"node":"classic",o=l==="node"?a().activeSessionId??void 0:void 0,{jobs:s}=await Ud({kind:l,sessionId:o}),c=new Map(s.map(g=>[g.requestId,g])),d=Date.now(),y=a().inFlight.flatMap(g=>{const v=c.get(g.id);if(v){const N=Zd(v);return[{...g,...N,prompt:g.prompt||N.prompt}]}return(g.kind??"classic")===l&&(l!=="node"||(g.sessionId??null)===(o??null))?d-g.startedAt<1e4?[g]:[]:[g]}),p=new Set(y.map(g=>g.id));for(const g of s)p.has(g.requestId)||y.push(Zd(g));Gn(y),t({inFlight:y,activeGenerations:y.length}),y.length>0&&a().startInFlightPolling()}catch{}},syncFromStorage:()=>{const l=Kd(),o=Ny(),s=Sy();t(c=>({inFlight:l,activeGenerations:l.length,imageModel:s,currentImage:o&&c.currentImage?.filename!==o?c.history.find(d=>d.filename===o)??c.currentImage:c.currentImage})),l.length>0&&a().startInFlightPolling()},currentImage:null,history:[],trashPending:null,toast:null,customSizeConfirm:null,errorCard:null,rightPanelOpen:r_(),toggleRightPanel:()=>t(l=>{const o=!l.rightPanelOpen;try{localStorage.setItem("ima2.rightPanelOpen",JSON.stringify(o))}catch{}return{rightPanelOpen:o}}),galleryOpen:!1,openGallery:()=>t({galleryOpen:!0}),closeGallery:()=>t({galleryOpen:!1}),imageModel:Sy(),settingsOpen:!1,activeSettingsSection:"account",openSettings:(l="account")=>t({settingsOpen:!0,activeSettingsSection:l}),closeSettings:()=>t({settingsOpen:!1}),toggleSettings:()=>t(l=>({settingsOpen:!l.settingsOpen,activeSettingsSection:l.settingsOpen?l.activeSettingsSection:"account"})),setActiveSettingsSection:l=>t({activeSettingsSection:l}),uiMode:s_(),setUIMode:l=>{const o=l==="card-news"&&!cv?"classic":l;try{localStorage.setItem("ima2.uiMode",o)}catch{}t({uiMode:o})},theme:Fd(),resolvedTheme:Ss(Fd()),themeFamily:by(),setTheme:l=>{try{localStorage.setItem("ima2:theme",l)}catch{}t({theme:l,resolvedTheme:Ss(l)})},setThemeFamily:l=>{try{localStorage.setItem("ima2:themeFamily",l)}catch{}t({themeFamily:l})},syncThemeFromStorage:()=>{const l=Fd();t({theme:l,resolvedTheme:Ss(l)})},syncThemeFamilyFromStorage:()=>{t({themeFamily:by()})},refreshResolvedTheme:()=>{t(l=>({resolvedTheme:Ss(l.theme)}))},locale:TN(),setLocale:l=>{MN(l),t({locale:l})},graphNodes:[],graphEdges:[],setGraphNodes:l=>{t({graphNodes:Ea(l,a().graphEdges)}),a().scheduleGraphSave()},setGraphEdges:l=>{t({graphEdges:l,graphNodes:Ea(a().graphNodes,l)}),a().scheduleGraphSave()},disconnectEdge:l=>{a().disconnectEdges([l])},disconnectEdges:l=>{const o=new Set(l);if(o.size===0)return;const s=a().graphEdges.filter(y=>o.has(y.id));if(s.length===0)return;const c=a().graphEdges.filter(y=>!o.has(y.id)),d=new Set(s.map(y=>y.target)),m=a().graphNodes.map(y=>{if(!d.has(y.id))return y;const p=c.find(v=>v.target===y.id),g=p?a().graphNodes.find(v=>v.id===p.source):null;return{...y,data:{...y.data,parentServerNodeId:g?.data.serverNodeId??null}}});t({graphNodes:Ea(m,c),graphEdges:c}),a().scheduleGraphSave(),a().flushGraphSave("edge-disconnect"),a().showToast(pe("edge.disconnected"))},nodeSelectionMode:!1,nodeBatchRunning:!1,nodeBatchStopping:!1,toggleNodeSelectionMode:()=>{const l=!a().nodeSelectionMode;t({nodeSelectionMode:l,...l?{}:{graphNodes:Mo(a().graphNodes,[])}})},selectAllGraphNodes:()=>{t({graphNodes:Mo(a().graphNodes,a().graphNodes.map(l=>l.id))})},selectNodeGraph:(l,o)=>{t({graphNodes:JN(a().graphNodes,a().graphEdges,l,o)})},clearNodeSelection:()=>{t({graphNodes:Mo(a().graphNodes,[])})},cancelNodeBatch:()=>{a().nodeBatchRunning&&(t({nodeBatchStopping:!0}),a().showToast(pe("nodeBatch.stopQueued")))},sessions:[],activeSessionId:null,activeSessionGraphVersion:null,sessionLoading:!1,async loadSessions(){try{const{sessions:l}=await F1();if(t({sessions:l}),!a().activeSessionId){const s=c_(),c=s?l.some(d=>d.id===s):!1;s&&c?await a().switchSession(s):await a().createAndSwitchSession(pe("session.firstGraph"))}}catch(l){console.warn("[sessions] load failed:",l)}},async switchSession(l){t({sessionLoading:!0}),await a().flushGraphSave("switch-session");try{const{session:o}=await K0(l),{graphNodes:s,graphEdges:c,graphVersion:d}=dv(o);t({activeSessionId:l,activeSessionGraphVersion:d,graphNodes:s,graphEdges:c,sessionLoading:!1}),Qd(l),await a().reconcileGraphPending().catch(()=>{})}catch(o){console.warn("[sessions] switch failed:",o),t({sessionLoading:!1}),a().showToast(pe("toast.sessionLoadFailed"),!0)}},async reconcileGraphPending(){const l=a().activeSessionId;if(!l)return;if(a().graphNodes.filter(s=>s.data?.pendingRequestId&&(s.data.status==="pending"||s.data.status==="reconciling")).length>0){let s=[];try{s=(await Ud({kind:"node",sessionId:l})).jobs}catch{s=[]}const c=new Map(s.map(p=>[p.requestId,p.phase])),d=Date.now(),m=1e4,y=a().graphNodes.map(p=>{const g=p.data?.pendingRequestId;if(!g||p.data.status!=="pending"&&p.data.status!=="reconciling")return p;if(c.has(g)){const S=c.get(g)??null;return{...p,data:{...p.data,status:"reconciling",pendingPhase:S}}}const v=p.data.pendingStartedAt??0;if(v&&d-v<m)return{...p,data:{...p.data,status:"reconciling"}};const x=!!p.data.imageUrl||!!p.data.serverNodeId;return{...p,data:{...p.data,pendingRequestId:null,pendingPhase:null,pendingStartedAt:null,partialImageUrl:null,status:x?"ready":"stale",error:x?void 0:pe("session.assetAbortedError")}}});t({graphNodes:y})}await gv(a,t).catch(()=>{})},async createAndSwitchSession(l){l==null&&(l=pe("session.untitled"));try{const{session:o}=await X1(l);t({sessions:[o,...a().sessions],activeSessionId:o.id,activeSessionGraphVersion:o.graphVersion,graphNodes:[],graphEdges:[]}),Qd(o.id)}catch(o){console.warn("[sessions] create failed:",o),a().showToast(pe("toast.sessionCreateFailed"),!0)}},async renameCurrentSession(l){const o=a().activeSessionId;if(o)try{await Z1(o,l),t({sessions:a().sessions.map(s=>s.id===o?{...s,title:l,updatedAt:Date.now()}:s)})}catch{a().showToast(pe("toast.sessionRenameFailed"),!0)}},async deleteSessionById(l){try{await K1(l);const o=a().sessions.filter(s=>s.id!==l);t({sessions:o}),a().activeSessionId===l&&(t({activeSessionId:null,activeSessionGraphVersion:null,graphNodes:[],graphEdges:[]}),Qd(null),o.length>0?await a().switchSession(o[0].id):await a().createAndSwitchSession(pe("session.firstGraph")))}catch{a().showToast(pe("toast.sessionDeleteFailed"),!0)}},scheduleGraphSave(){vv(a,t)},async flushGraphSave(l="manual"){await N_(a,t,l)},addRootNode:()=>{const l=il(),o={id:l,type:"imageNode",position:yy(a().graphNodes),data:{clientId:l,serverNodeId:null,parentServerNodeId:null,prompt:"",imageUrl:null,status:"empty",pendingRequestId:null,pendingPhase:null}};return t({graphNodes:[...a().graphNodes,o]}),a().scheduleGraphSave(),l},addChildNode:l=>{const o=a().graphNodes.find(m=>m.id===l);if(!o)return l;const s=il(),c={id:s,type:"imageNode",position:vy(o,a().graphNodes,a().graphEdges),data:{clientId:s,serverNodeId:null,parentServerNodeId:o.data.serverNodeId,prompt:"",imageUrl:null,status:"empty",pendingRequestId:null,pendingPhase:null}},d={id:ws(l,s,ll,bo),source:l,target:s,sourceHandle:ll,targetHandle:bo};return t({graphNodes:[...a().graphNodes,c],graphEdges:[...a().graphEdges,d]}),a().scheduleGraphSave(),s},addSiblingNode:l=>{const o=a().graphNodes.find(g=>g.id===l);if(!o)return l;const s=a().graphEdges.find(g=>g.target===l);if(!s){const g=il(),v={id:g,type:"imageNode",position:yy(a().graphNodes),data:{clientId:g,serverNodeId:null,parentServerNodeId:null,prompt:o.data.prompt,imageUrl:null,status:"empty",pendingRequestId:null,pendingPhase:null}};return t({graphNodes:[...a().graphNodes,v]}),a().scheduleGraphSave(),g}const c=s.source,d=a().graphNodes.find(g=>g.id===c);if(!d)return l;const m=il(),y={id:m,type:"imageNode",position:vy(d,a().graphNodes,a().graphEdges),data:{clientId:m,serverNodeId:null,parentServerNodeId:o.data.parentServerNodeId,prompt:o.data.prompt,imageUrl:null,status:"empty",pendingRequestId:null,pendingPhase:null}},p={id:ws(c,m,ll,bo),source:c,target:m,sourceHandle:ll,targetHandle:bo};return t({graphNodes:[...a().graphNodes,y],graphEdges:[...a().graphEdges,p]}),a().scheduleGraphSave(),m},updateNodePrompt:(l,o)=>{t({graphNodes:a().graphNodes.map(s=>s.id===l?{...s,data:{...s.data,prompt:o}}:s)}),a().scheduleGraphSave()},addNodeReferences:async(l,o)=>{const s=a().graphNodes.find(S=>S.id===l);if(!s)return;const c=s.data.referenceImages??[],d=wa-c.length;if(d<=0){a().showToast(pe("toast.refLimitExceeded"),!0);return}const m=o.slice(0,Math.max(0,d)),y=m.filter(xs),p=m.filter(S=>!xs(S)),v=(await Promise.all(p.map(async S=>{try{return await bf(S,{preserveTransparency:sy(S)})}catch(N){return console.warn("[addNodeReferences] compress failed",N),null}}))).filter(S=>!!S);if(v.length>0){const S=a().activeSessionId;t({graphNodes:a().graphNodes.map(N=>{if(N.id!==l)return N;const _=[...N.data.referenceImages??[],...v].slice(0,wa);return Hs(S,l,_),{...N,data:{...N.data,referenceImages:_}}})}),a().scheduleGraphSave()}y.length>0&&a().showToast(pe("toast.refHeicUnsupported"),!0),p.length-v.length>0&&a().showToast(pe("toast.refTooLarge"),!0),o.length>d&&a().showToast(pe("toast.refLimitExceeded"),!0)},addNodeReferenceDataUrl:(l,o)=>{a().graphNodes.find(c=>c.id===l)&&(t({graphNodes:a().graphNodes.map(c=>{if(c.id!==l)return c;const d=c.data.referenceImages??[];if(d.length>=wa)return c;const m=[...d,o];return Hs(a().activeSessionId,l,m),{...c,data:{...c.data,referenceImages:m}}})}),a().scheduleGraphSave())},removeNodeReference:(l,o)=>{t({graphNodes:a().graphNodes.map(s=>{if(s.id!==l)return s;const c=(s.data.referenceImages??[]).filter((d,m)=>m!==o);return Hs(a().activeSessionId,l,c),{...s,data:{...s.data,referenceImages:c}}})}),a().scheduleGraphSave()},clearNodeReferences:l=>{Pd(a().activeSessionId,l),t({graphNodes:a().graphNodes.map(o=>o.id===l?{...o,data:{...o.data,referenceImages:void 0}}:o)}),a().scheduleGraphSave()},duplicateBranchRoot:l=>{const o=a().graphNodes.find(d=>d.id===l);if(!o)return l;const s=il();a().graphNodes.filter(d=>!d.data.parentServerNodeId).length;const c={id:s,type:"imageNode",position:{x:o.position.x+420,y:o.position.y+40},data:{clientId:s,serverNodeId:null,parentServerNodeId:null,prompt:o.data.prompt,imageUrl:null,status:"empty",pendingRequestId:null,pendingPhase:null}};if(t({graphNodes:[...a().graphNodes,c]}),a().scheduleGraphSave(),o.data.imageUrl){const d=o.data.imageUrl;(async()=>{try{const m=await Ey(d,"node-reference.png");t({graphNodes:a().graphNodes.map(y=>y.id===s?{...y,data:{...y.data,referenceImages:[m]}}:y)})}catch{}})()}return s},async generateNode(l){const o=a().graphNodes.find(d=>d.id===l);if(!o)return;const{prompt:s}=o.data;if(!s.trim()){a().showToast(pe("toast.promptRequired"),!0);return}const c=Ns(a(),{kind:"node",clientId:l});if(c){t({customSizeConfirm:c});return}await a().runGenerateNode(l)},async generateNodeInPlace(l){const o=a().graphNodes.find(c=>c.id===l);if(!o)return;if(!o.data.prompt.trim()){a().showToast(pe("toast.promptRequired"),!0);return}const s=Ns(a(),{kind:"node-in-place",clientId:l});if(s){t({customSizeConfirm:s});return}await a().runGenerateNodeInPlace(l)},async generateNodeVariation(l,o){const s=a().graphNodes.find(d=>d.id===l);if(!s)return;if(!s.data.prompt.trim()){a().showToast(pe("toast.promptRequired"),!0);return}if(!o){const d=Ns(a(),{kind:"node-variation",clientId:l});if(d){t({customSizeConfirm:d});return}}const c=a().addSiblingNode(l);await a().runGenerateNodeInPlace(c,{sizeOverride:o})},async runGenerateNode(l,o){const c=a().graphNodes.find(d=>d.id===l)?.data.status==="ready"?a().addSiblingNode(l):l;await a().runGenerateNodeInPlace(c,{sizeOverride:o})},async runGenerateNodeInPlace(l,o={}){const s=a().graphNodes,c=Ea(s,a().graphEdges);c.some((w,B)=>w.data.parentServerNodeId!==s[B]?.data.parentServerNodeId)&&t({graphNodes:c});const d=c.find(w=>w.id===l);if(!d)return null;const{prompt:m,parentServerNodeId:y}=d.data;if(!m.trim())return a().showToast(pe("toast.promptRequired"),!0),null;const p=d.data.referenceImages??[],g=a(),v=o.sizeOverride??g.getResolvedSize(),x=o.parentServerNodeIdOverride!==void 0?o.parentServerNodeIdOverride:y;if(a().graphEdges.find(w=>w.target===l)&&!x)return a().showToast(pe("node.parentImageRequired"),!0),null;const N=g.activeSessionId,_=Date.now(),D=Math.random().toString(36).slice(2,6),j=`fn_${l}_${_}_${D}`,A=[...g.inFlight,{id:j,prompt:m,startedAt:_,kind:"node",sessionId:N,clientNodeId:l}];Gn(A),t({graphNodes:a().graphNodes.map(w=>w.id===l?{...w,data:{...w.data,status:"pending",pendingRequestId:j,recoveryRequestId:j,pendingPhase:"queued",pendingStartedAt:_,partialImageUrl:null,error:void 0,size:v}}:w),activeGenerations:g.activeGenerations+1,inFlight:A}),a().startInFlightPolling();let E=!0;try{const w=await D1({parentNodeId:x,prompt:m,quality:g.quality,size:v,format:g.format,moderation:g.moderation,model:g.imageModel,requestId:j,sessionId:N,clientNodeId:l,contextMode:"parent-plus-refs",searchMode:"on",...p.length?{references:p.map(Jd)}:{}},{onPartial:B=>{a().activeSessionId===N&&t({graphNodes:a().graphNodes.map(O=>O.id===l?{...O,data:{...O.data,status:"pending",partialImageUrl:B.image,pendingPhase:"partial"}}:O)})},onPhase:B=>{a().activeSessionId===N&&B.phase&&t({graphNodes:a().graphNodes.map(O=>O.id===l?{...O,data:{...O.data,pendingPhase:B.phase??O.data.pendingPhase}}:O)})}});return a().activeSessionId===N&&(t({graphNodes:a().graphNodes.map(B=>{if(B.id!==l)return B;const O={...B.data};return delete O.partialImageUrl,{...B,data:{...O,serverNodeId:w.nodeId,imageUrl:w.url,status:"ready",pendingRequestId:null,recoveryRequestId:null,pendingPhase:null,pendingStartedAt:null,elapsed:w.elapsed,webSearchCalls:w.webSearchCalls,model:w.model??null,size:w.size??v}}})}),E=!0,o.suppressToast||a().showToast(pe("toast.nodeCreated",{id:w.nodeId.slice(0,8),elapsed:w.elapsed}))),w.nodeId}catch(w){const B=w instanceof Error?w.message:pe("toast.nodeCreateFailed");return a().activeSessionId===N&&(t({graphNodes:a().graphNodes.map(O=>O.id===l?{...O,data:{...O.data,status:"error",pendingRequestId:null,pendingPhase:null,pendingStartedAt:null,partialImageUrl:null,error:B}}:O)}),E=!0,$d(w,a())),null}finally{const w=a().inFlight.filter(B=>B.id!==j);Gn(w),t({activeGenerations:Math.max(0,a().activeGenerations-1),inFlight:w}),a().activeSessionId===N&&E&&(a().scheduleGraphSave(),a().flushGraphSave("node-complete"))}},async runNodeBatch(l){if(a().nodeBatchRunning)return;const o=ov(a().graphNodes);if(o.length===0){a().showToast(pe("nodeBatch.noneSelected"),!0);return}const s=t_(a().graphNodes,a().graphEdges,o);if(s.length>0){a().showToast(pe("nodeBatch.parentRequired",{count:s.length}),!0);return}const c=WN(a().graphNodes,a().graphEdges,o),d=new Set(o),m=c.filter(g=>{if(l==="regenerate-all")return!0;const v=a().graphNodes.find(x=>x.id===g);return v?!rv(v):!1});if(m.length===0){a().showToast(pe("nodeBatch.nothingToRun"));return}t({nodeBatchRunning:!0,nodeBatchStopping:!1});const y=new Map;let p=0;try{for(const g of m){if(a().nodeBatchStopping)break;const v=a().graphEdges.find(D=>D.target===g),x=v?y.get(v.source)??a().graphNodes.find(D=>D.id===g)?.data.parentServerNodeId??null:null,S=await a().runGenerateNodeInPlace(g,{parentServerNodeIdOverride:x,suppressToast:!0});if(!S){a().showToast(pe("nodeBatch.failed",{done:p,total:m.length}),!0);break}p+=1,y.set(g,S);const N=e_(a().graphEdges,g,d),_=new Set(sv(a().graphEdges,d));t({graphNodes:a().graphNodes.map(D=>_.has(D.id)?{...D,data:{...D.data,status:"stale",parentServerNodeId:N.includes(D.id)?S:D.data.parentServerNodeId,error:pe("nodeBatch.staleBecauseParentChanged")}}:D)})}a().showToast(pe("nodeBatch.finished",{done:p,total:m.length})),a().scheduleGraphSave()}finally{t({nodeBatchRunning:!1,nodeBatchStopping:!1})}},deleteNode:l=>{const s=a().graphNodes.find(m=>m.id===l)?.data?.pendingRequestId;s&&ly(s),Pd(a().activeSessionId,l);const c=a().graphNodes.filter(m=>m.id!==l),d=a().graphEdges.filter(m=>m.source!==l&&m.target!==l);t({graphNodes:Ea(c,d),graphEdges:d}),a().scheduleGraphSave()},deleteNodes:l=>{const o=new Set(l);for(const d of o)Pd(a().activeSessionId,d);for(const d of a().graphNodes)o.has(d.id)&&d.data?.pendingRequestId&&ly(d.data.pendingRequestId);const s=a().graphNodes.filter(d=>!o.has(d.id)),c=a().graphEdges.filter(d=>!o.has(d.source)&&!o.has(d.target));t({graphNodes:Ea(s,c),graphEdges:c}),a().scheduleGraphSave()},addChildNodeAt:(l,o,s=ll)=>{const c=a().graphNodes.find(v=>v.id===l);if(!c)return l;const d=il(),m=d_(s,"source")??ll,y=f_(m)??bo,p={id:d,type:"imageNode",position:o,data:{clientId:d,serverNodeId:null,parentServerNodeId:c.data.serverNodeId,prompt:"",imageUrl:null,status:"empty",pendingRequestId:null,pendingPhase:null}},g={id:ws(l,d,m,y),source:l,target:d,sourceHandle:m,targetHandle:y};return t({graphNodes:[...a().graphNodes,p],graphEdges:[...a().graphEdges,g]}),a().scheduleGraphSave(),d},connectNodes:(l,o,s=null,c=null)=>{if(l===o||a().graphEdges.find(p=>p.source===l&&p.target===o))return;if($N(a().graphEdges,l,o)){a().showToast(pe("edge.parentConflict"),!0);return}if(!a().graphNodes.find(p=>p.id===l))return;const y=[...a().graphEdges,{id:ws(l,o,s,c),source:l,target:o,sourceHandle:s,targetHandle:c}];t({graphNodes:Ea(a().graphNodes,y),graphEdges:y}),a().scheduleGraphSave()},setProvider:l=>t({provider:l}),setQuality:l=>t({quality:l}),setSizePreset:l=>t({sizePreset:l}),setCustomSize:(l,o)=>t(s=>({customW:Aa(l,s.customW),customH:Aa(o,s.customH)})),setFormat:l=>t({format:l}),setModeration:l=>t({moderation:l}),setImageModel:l=>{wy(l),t({imageModel:l})},setCount:l=>t({count:Wd(l)}),setMultimode:l=>{l&&a().uiMode!=="classic"||t({multimode:l,multimodeSequence:l?a().multimodeSequence:null})},setMultimodeMaxImages:l=>t({multimodeMaxImages:Wd(l)}),setPromptMode:l=>t({promptMode:l}),setPrompt:l=>t({prompt:l}),insertPromptToComposer:l=>t(o=>({insertedPrompts:o.insertedPrompts.some(c=>c.id===l.id)?o.insertedPrompts:[...o.insertedPrompts,l]})),removeInsertedPromptFromComposer:l=>t(o=>({insertedPrompts:o.insertedPrompts.filter(s=>s.id!==l)})),clearInsertedPrompts:()=>t({insertedPrompts:[]}),selectHistory:l=>{ti(l.filename??null),t({currentImage:l,unseenGeneratedCount:0})},markGeneratedResultsSeen:()=>t({unseenGeneratedCount:0}),selectHistoryShortcutTarget:l=>{const o=o_(a().history,a().currentImage,l);o&&a().selectHistory(o)},trashHistoryItem:async l=>{if(!l.filename)return;const o=l.filename,s=a().currentImage,c=s?.filename===o,d=c?xy(a().history,o):s;try{const m=await V1(o);t(y=>({history:y.history.filter(p=>p.filename!==o),currentImage:d,trashPending:{filename:o,trashId:m.trashId,item:l,expiresAt:Date.now()+9500}})),c&&ti(d?.filename??null)}catch(m){console.error("[history] trash failed",m),a().showToast(pe("gallery.deleteFailed"),!0)}},restorePendingTrash:async()=>{const l=a().trashPending;if(l)try{await P1(l.filename,l.trashId),a().addHistoryItem(l.item),t({trashPending:null})}catch(o){console.error("[history] restore failed",o),a().showToast(pe("gallery.restoreFailed"),!0)}},clearPendingTrash:()=>t({trashPending:null}),permanentlyDeleteHistoryItemByClick:async l=>{if(!l.filename)return;const o=l.filename;if(!window.confirm(pe("result.permanentDeleteConfirm",{filename:o})))return;const c=a().currentImage,d=c?.filename===o,m=d?xy(a().history,o):c;try{await Y1(o),t(y=>({history:y.history.filter(p=>p.filename!==o),currentImage:m,trashPending:y.trashPending?.filename===o?null:y.trashPending})),d&&ti(m?.filename??null),a().showToast(pe("gallery.permanentDeleted",{filename:o}))}catch(y){console.error("[history] permanent delete failed",y),a().showToast(pe("gallery.deleteFailed"),!0)}},removeFromHistory:l=>{const o=a(),s=o.history.filter(d=>d.filename!==l),c=o.currentImage&&o.currentImage.filename===l?null:o.currentImage;t({history:s,currentImage:c}),c===null&&ti(null)},addHistoryItem:l=>{const o=a();if(o.history.some(d=>l.filename&&d.filename===l.filename))return;const c={...l,createdAt:l.createdAt||Date.now()};t({history:[c,...o.history].slice(0,ul)})},getResolvedSize:()=>{const{sizePreset:l,customW:o,customH:s}=a();return l==="custom"?`${o}x${s}`:l},async generate(){const l=a();if(!Xd(l.prompt,l.insertedPrompts))return;const s=l.uiMode==="classic"&&l.multimode,c=Ns(l,{kind:s?"multimode":"classic"});if(c){t({customSizeConfirm:c});return}if(s){await a().generateMultimode();return}await a().runGenerate()},async generateMultimode(l){const o=a();if(o.uiMode!=="classic"||o.multimodeAbortController)return;const s=Xd(o.prompt,o.insertedPrompts);if(!s)return;const c=l??o.getResolvedSize(),d=`mm_${Date.now()}_${Math.random().toString(36).slice(2,7)}`,m=new AbortController,y=Date.now(),p=Wd(o.multimodeMaxImages),g=[...o.inFlight,{id:d,prompt:s,startedAt:y,kind:"multimode"}],v={sequenceId:d,requestId:d,requested:p,returned:0,images:[],partials:[],status:"pending"};Gn(g),t({activeGenerations:o.activeGenerations+1,inFlight:g,multimodeAbortController:m,multimodeSequence:v}),a().startInFlightPolling();try{const x=await k1({prompt:s,quality:o.quality,size:c,format:o.format,moderation:o.moderation,provider:o.provider,maxImages:p,model:o.imageModel,requestId:d,mode:o.promptMode,...o.referenceImages.length?{references:o.referenceImages.map(Jd)}:{}},{onPartial:_=>{t(D=>{const j=D.multimodeSequence;return!j||j.requestId!==d?{}:{multimodeSequence:{...j,partials:[...j.partials,{image:_.image,index:_.index??null}].slice(-p)}}})},onImage:_=>{t(D=>{const j=D.multimodeSequence;return!j||j.requestId!==d?{}:j.images.some(E=>E.filename&&E.filename===_.filename)?{}:{multimodeSequence:{...j,sequenceId:_.sequenceId??j.sequenceId,returned:j.images.length+1,images:[...j.images,_],status:"partial"}}})}},{signal:m.signal}),S=x.images.map(_=>({..._,prompt:s,elapsed:Number.parseFloat(x.elapsed),provider:x.provider,usage:x.usage,quality:x.quality??o.quality,size:x.size??c,model:x.model??o.imageModel}));for(const _ of S)await ef(_,t,a);t({multimodeSequence:{sequenceId:x.sequenceId,requestId:d,requested:x.requested,returned:x.returned,images:S,partials:[],status:x.status,elapsed:x.elapsed}});const N=x.status==="complete"?"multimode.complete":"multimode.partial";a().showToast(pe(N,{returned:x.returned,requested:x.requested,elapsed:x.elapsed}))}catch(x){x.name==="AbortError"?t(S=>{const N=S.multimodeSequence;return!N||N.requestId!==d?{}:{multimodeSequence:{...N,status:N.images.length>0?"partial":"empty"}}}):(t(S=>{const N=S.multimodeSequence;return!N||N.requestId!==d?{}:{multimodeSequence:{...N,status:"error",error:x.message}}}),$d(x,a()))}finally{const x=a().inFlight.filter(S=>S.id!==d);Gn(x),t({activeGenerations:Math.max(0,a().activeGenerations-1),inFlight:x,multimodeAbortController:null})}},cancelMultimode:()=>{a().multimodeAbortController?.abort(),t(l=>{const o=l.multimodeSequence;return o?{multimodeAbortController:null,multimodeSequence:{...o,status:o.images.length>0?"partial":"empty"}}:{multimodeAbortController:null}})},async runGenerate(l){const o=a(),s=Xd(o.prompt,o.insertedPrompts);if(!s)return;const c=l??o.getResolvedSize(),d=`f_${Date.now()}_${Math.random().toString(36).slice(2,7)}`,m=Date.now(),y=[...o.inFlight,{id:d,prompt:s,startedAt:m}];Gn(y),t({activeGenerations:o.activeGenerations+1,inFlight:y}),a().startInFlightPolling();try{const p={prompt:s,quality:o.quality,size:c,format:o.format,moderation:o.moderation,provider:o.provider,n:o.count,model:o.imageModel,requestId:d,mode:o.promptMode,...o.referenceImages.length?{references:o.referenceImages.map(Jd)}:{}},g=await L1(p);if(iy(g)&&g.images.length>1){for(const v of g.images){const x={image:v.image,filename:v.filename,prompt:s,elapsed:g.elapsed,provider:g.provider,usage:g.usage,quality:g.quality??o.quality,size:g.size??c,model:g.model??o.imageModel};await ef(x,t,a)}a().showToast(pe("toast.generatedBatch",{count:g.images.length,elapsed:g.elapsed}))}else{let v;if(iy(g)){const x=g.images[0];v={image:x.image,filename:x.filename,prompt:s,elapsed:g.elapsed,provider:g.provider,usage:g.usage,quality:g.quality??o.quality,size:g.size??c,model:g.model??o.imageModel}}else v={image:g.image,filename:g.filename,prompt:s,elapsed:g.elapsed,provider:g.provider,usage:g.usage,quality:g.quality??o.quality,size:g.size??c,model:g.model??o.imageModel};await ef(v,t,a),a().showToast(pe("toast.generatedSingle",{elapsed:g.elapsed}))}}catch(p){$d(p,a())}finally{const p=a().inFlight.filter(g=>g.id!==d);Gn(p),t({activeGenerations:Math.max(0,a().activeGenerations-1),inFlight:p})}},async confirmCustomSizeAdjustment(){const l=a().customSizeConfirm;if(!l)return;const o=h_(l.adjustedW,l.adjustedH);if(t({customW:l.adjustedW,customH:l.adjustedH,customSizeConfirm:null}),l.continuation.kind==="classic"){await a().runGenerate(o);return}if(l.continuation.kind==="multimode"){await a().generateMultimode(o);return}if(l.continuation.kind==="node-in-place"){await a().runGenerateNodeInPlace(l.continuation.clientId,{sizeOverride:o});return}if(l.continuation.kind==="node-variation"){await a().generateNodeVariation(l.continuation.clientId,o);return}await a().runGenerateNode(l.continuation.clientId,o)},cancelCustomSizeAdjustment:()=>t({customSizeConfirm:null}),hydrateHistory(){(async()=>{try{const o=(await xf({limit:ul})).items.map(_y);if(o.length>0){const s=Ny(),c=s?o.find(d=>d.filename===s):null;t({history:o,currentImage:c??o[0]}),c||ti(o[0]?.filename??null)}}catch(l){console.warn("[history] load failed:",l)}})()},showToast(l,o=!1){t({toast:{message:l,error:o,id:Date.now()+Math.random()}})},showErrorCard(l,o){t({errorCard:{code:l,fallbackMessage:o?.fallbackMessage,id:Date.now()+Math.random()}})},dismissErrorCard(){t({errorCard:null})},togglePromptLibrary(){t(l=>({promptLibraryOpen:!l.promptLibraryOpen}))},async loadPromptLibrary(){t({promptLibraryLoading:!0});try{const l=await J1();t({promptLibrary:{prompts:l.prompts,folders:l.folders},promptLibraryLoading:!1})}catch(l){console.error("[PromptLibrary] load failed",l),t({promptLibraryLoading:!1})}},async savePromptToLibrary(l){try{await W1(l),await a().loadPromptLibrary(),a().showToast(pe("promptLibrary.saved"))}catch(o){console.error("[PromptLibrary] save failed",o),a().showToast(pe("promptLibrary.saveFailed"),!0)}},async deletePromptFromLibrary(l){try{await ew(l),await a().loadPromptLibrary()}catch(o){console.error("[PromptLibrary] delete failed",o)}},async togglePromptFavorite(l){try{await tw(l),await a().loadPromptLibrary()}catch(o){console.error("[PromptLibrary] favorite toggle failed",o)}},async importPromptsToLibrary(l){try{const o=[];for(const c of l){if(!/\.(txt|md)$/i.test(c.name))continue;const d=await c.text();if(!d.trim())continue;const m=c.name.replace(/\.(txt|md)$/i,"");o.push({name:m.trim()||pe("promptLibrary.untitled"),text:d.trim(),tags:[]})}if(o.length===0){a().showToast(pe("promptLibrary.importNoValidFiles"),!0);return}const s=await nw({prompts:o});await a().loadPromptLibrary(),a().showToast(pe("promptLibrary.imported",{count:s.promptsImported}))}catch(o){console.error("[PromptLibrary] import failed",o),a().showToast(pe("promptLibrary.importFailed"),!0)}},async toggleGalleryFavorite(l){try{const o=await q1(l);t(s=>{const c=new Set(s.galleryFavorites);return o.isFavorite?c.add(l):c.delete(l),{galleryFavorites:c}}),t(s=>({history:s.history.map(c=>c.filename===l?{...c,isFavorite:o.isFavorite}:c)}))}catch(o){console.error("[GalleryFavorite] toggle failed",o)}},openCanvas:()=>t({canvasOpen:!0,canvasZoom:1}),closeCanvas:()=>t({canvasOpen:!1}),setCanvasZoom:l=>t({canvasZoom:Math.max(.5,Math.min(3,l))}),resetCanvasZoom:()=>t({canvasZoom:1})})),b_=800,Cy="ima2.graphTabId";let pn=null,ks=!1,Bs=!1,ai=null,fv=0;function hv(){try{const t=sessionStorage.getItem(Cy);if(t)return t;const a=`tab_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`;return sessionStorage.setItem(Cy,a),a}catch{return"tab_unavailable"}}function mv(t){const a={...t};return delete a.referenceImages,delete a.partialImageUrl,t.status==="pending"||t.status==="reconciling"?{...a,status:"empty",pendingRequestId:null,recoveryRequestId:t.pendingRequestId??t.recoveryRequestId??null,pendingPhase:null,pendingStartedAt:null,error:void 0}:a}function pv(t){return t.map(a=>({id:a.id,source:a.source,target:a.target,data:{sourceHandle:a.sourceHandle??null,targetHandle:a.targetHandle??null}}))}async function gv(t,a){const l=t().activeSessionId;if(!l||t().graphNodes.filter(m=>!m.data.imageUrl&&!m.data.serverNodeId).length===0)return;let s=[];try{s=(await xf({sessionId:l,limit:ul})).items}catch{return}let c=!1;const d=t().graphNodes.map(m=>{if(m.data.imageUrl||m.data.serverNodeId)return m;const y=m.data.pendingStartedAt??0,p=m.data.pendingRequestId??m.data.recoveryRequestId??null,v=(p?s.find(x=>(x.sessionId??null)===l&&(x.requestId??null)===p):null)??s.find(x=>(x.sessionId??null)===l&&(x.clientNodeId??null)===m.id&&(!y||(x.createdAt??0)>=y));return v?(c=!0,{...m,data:{...m.data,status:"ready",imageUrl:v.url,serverNodeId:v.nodeId??m.data.serverNodeId,size:v.size??m.data.size??null,pendingRequestId:null,recoveryRequestId:null,pendingPhase:null,pendingStartedAt:null,partialImageUrl:null,error:void 0}}):m});c&&(a({graphNodes:d}),vv(t,a,"recovery"))}async function S_(t,a){const l=t().activeSessionId;if(!l)return;const{session:o}=await K0(l),{graphNodes:s,graphEdges:c,graphVersion:d}=dv(o);a({graphNodes:s,graphEdges:c,activeSessionGraphVersion:d}),t().showToast(pe("toast.sessionReloadedElsewhere"),!0),await gv(t,a).catch(()=>{})}async function w_(t,a,l){const o=t().activeSessionId,s=t().activeSessionGraphVersion;if(!o||s==null)return"skipped";const{graphNodes:c,graphEdges:d}=t(),m=c.map(g=>({id:g.id,x:g.position.x,y:g.position.y,data:mv(g.data)})),y=pv(d),p=`gs_${Date.now().toString(36)}_${++fv}`;try{const g=await Q1(o,s,m,y,{saveId:p,saveReason:l,tabId:hv()});return t().activeSessionId!==o?"skipped":(KN(o,t().graphNodes.map(v=>v.id)),a({activeSessionGraphVersion:g.graphVersion}),"saved")}catch(g){return g.status===409?(await S_(t,a),"conflict"):(console.warn("[sessions] save failed:",g),"failed")}}async function yv(t,a,l){if(ks){Bs=!0,ai&&await ai;return}ks=!0,ai=(async()=>{let o=l;do{Bs=!1;const s=await w_(t,a,o);if(s==="conflict"||s==="failed")break;o="queued"}while(Bs)})().finally(()=>{ks=!1,ai=null}),await ai}function vv(t,a,l="debounced"){const o=t();o.activeSessionId&&(o.sessionLoading||(pn&&clearTimeout(pn),pn=setTimeout(()=>{pn=null,yv(t,a,l)},b_)))}async function N_(t,a,l="manual"){let o=!1;if(pn&&(clearTimeout(pn),pn=null,o=!0),ks){Bs=!0,ai&&await ai;return}o&&await yv(t,a,l)}function __(t){const a=t();if(!a.activeSessionId||a.activeSessionGraphVersion==null)return;pn&&(clearTimeout(pn),pn=null);const l=a.graphNodes.map(d=>({id:d.id,x:d.position.x,y:d.position.y,data:mv(d.data)})),o=pv(a.graphEdges),s=`/api/sessions/${encodeURIComponent(a.activeSessionId)}/graph`,c=JSON.stringify({nodes:l,edges:o});try{fetch(s,{method:"PUT",headers:{"Content-Type":"application/json","If-Match":String(a.activeSessionGraphVersion),"X-Ima2-Graph-Save-Id":`gs_${Date.now().toString(36)}_${++fv}`,"X-Ima2-Graph-Save-Reason":"beforeunload","X-Ima2-Tab-Id":hv()},body:c,keepalive:!0})}catch{}}async function ef(t,a,l){const o=await iw(t.image).catch(()=>t.image),s=t.filename?`/generated/${t.filename}`:t.image,c={...t,thumb:o,url:s,createdAt:t.createdAt||Date.now()},d=[c,...l().history].slice(0,ul);ti(c.filename??null),a({history:d,currentImage:c,unseenGeneratedCount:l().unseenGeneratedCount+1})}function E_(){const{t}=Ne(),a=Y(o=>o.uiMode),l=Y(o=>o.setUIMode);return f.jsxs("div",{className:"ui-mode-switch",role:"tablist","aria-label":t("uiMode.ariaLabel"),children:[f.jsx("button",{type:"button",role:"tab","aria-selected":a==="classic",className:`ui-mode-switch__tab${a==="classic"?" active":""}`,onClick:()=>l("classic"),children:t("uiMode.classic")}),f.jsx("button",{type:"button",role:"tab","aria-selected":a==="node",className:`ui-mode-switch__tab${a==="node"?" active":""}`,onClick:()=>l("node"),children:t("uiMode.node")}),null]})}function Yf({text:t,mode:a,onClose:l}){const{t:o}=Ne(),s=Y(N=>N.savePromptToLibrary),[c,d]=L.useState(t.slice(0,30)),[m,y]=L.useState(t),[p,g]=L.useState(""),[v,x]=L.useState(!1),S=async()=>{m.trim()&&(x(!0),await s({name:c.trim()||m.slice(0,30),text:m.trim(),tags:p.split(",").map(N=>N.trim()).filter(Boolean),mode:a||void 0}),x(!1),l())};return f.jsxs("div",{className:"save-prompt-popover",onClick:N=>N.stopPropagation(),children:[f.jsxs("div",{className:"save-prompt-popover__header",children:[f.jsx("span",{children:o("promptLibrary.saveTitle")}),f.jsx("button",{className:"save-prompt-popover__close",onClick:l,"aria-label":o("common.close"),children:"×"})]}),f.jsxs("div",{className:"save-prompt-popover__body",children:[f.jsxs("label",{children:[o("promptLibrary.name"),f.jsx("input",{type:"text",value:c,onChange:N=>d(N.target.value),placeholder:m.slice(0,30)})]}),f.jsxs("label",{children:[o("promptLibrary.content"),f.jsx("textarea",{value:m,onChange:N=>y(N.target.value),placeholder:"Enter prompt...",rows:4,autoFocus:!0})]}),f.jsxs("label",{children:[o("promptLibrary.tags"),f.jsx("input",{type:"text",value:p,onChange:N=>g(N.target.value),placeholder:"cta, product, summer"})]})]}),f.jsx("div",{className:"save-prompt-popover__footer",children:f.jsx("button",{onClick:S,disabled:v||!m.trim(),className:"save-prompt-popover__save",children:o(v?"common.saving":"promptLibrary.save")})})]})}const ol=5;function C_(){const t=Y(M=>M.prompt),a=Y(M=>M.setPrompt),l=Y(M=>M.insertedPrompts),o=Y(M=>M.removeInsertedPromptFromComposer),s=Y(M=>M.generate),{t:c}=Ne(),d=Y(M=>M.referenceImages),m=Y(M=>M.addReferences),y=Y(M=>M.readDroppedImageMetadata),p=Y(M=>M.removeReference),g=Y(M=>M.useCurrentAsReference),v=Y(M=>M.currentImage),x=L.useRef(null),S=L.useRef(null),[N,_]=L.useState(!1),[D,j]=L.useState(!1),A=Y(M=>M.promptMode),E=Y(M=>M.setPromptMode),w=Y(M=>M.multimode),B=Y(M=>M.multimodeMaxImages),O=A==="direct",k=d.length<ol,F=w?d.length>0?c("multimode.promptPlaceholderWithRefs"):c("multimode.promptPlaceholder"):d.length>0?c("prompt.placeholderWithRefs"):c("prompt.placeholder"),K=async M=>{M.length!==0&&(M.length===1&&await y(M[0])||await m(M))},de=M=>{M.preventDefault(),_(!1);const T=Array.from(M.dataTransfer.files).filter(I=>I.type.startsWith("image/"));T.length>0&&K(T)},X=M=>{M.preventDefault(),N||_(!0)},te=M=>{M.currentTarget.contains(M.relatedTarget)||_(!1)},se=M=>{if(!M)return[];const T=[];for(const I of Array.from(M)){if(I.kind!=="file"||!I.type.startsWith("image/"))continue;const U=I.getAsFile();U&&T.push(U)}return T},z=M=>{if(!k)return;const T=se(M.clipboardData?.items??null);if(T.length===0)return;M.preventDefault();const I=ol-d.length;m(T.slice(0,I))};return L.useLayoutEffect(()=>{const M=S.current;M&&(M.style.height="auto",M.style.height=`${M.scrollHeight}px`)},[t]),L.useEffect(()=>{const M=T=>{const I=T.target,U=I?.tagName;if(U==="INPUT"||U==="TEXTAREA"||I?.isContentEditable)return;const Z=se(T.clipboardData?.items??null);if(Z.length===0||d.length>=ol)return;T.preventDefault();const ae=ol-d.length;m(Z.slice(0,ae))};return window.addEventListener("paste",M),()=>window.removeEventListener("paste",M)},[d.length,m]),f.jsxs("div",{className:`composer${N?" composer--drag":""}${O&&!w?" composer--direct":""}${w?" composer--multimode":""}`,role:"group","aria-label":w?c("multimode.composerAriaLabel",{count:B}):c("prompt.label"),onDrop:de,onDragOver:X,onDragLeave:te,onPaste:z,children:[f.jsxs("div",{className:"composer__header",children:[f.jsx("span",{className:"section-title composer__label",children:c("prompt.label")}),f.jsxs("div",{className:"composer__header-meta",children:[w&&f.jsx("span",{className:"composer__mode-badge",children:c("multimode.composerBadge",{count:B})}),O&&f.jsx("span",{className:"composer__direct-badge",children:c("prompt.directModeActive")}),d.length>0&&f.jsx("span",{className:"composer__count",children:c("prompt.refCount",{count:d.length,max:ol})})]})]}),d.length>0&&f.jsx("div",{className:"composer__chips",children:d.map((M,T)=>f.jsxs("div",{className:"composer__chip",title:c("prompt.refChipTitle",{n:T+1}),children:[f.jsx("img",{src:M,alt:c("prompt.refChipAlt",{n:T+1})}),f.jsx("button",{type:"button",className:"composer__chip-remove",onClick:()=>p(T),"aria-label":c("prompt.refRemoveAria",{n:T+1}),children:"×"})]},T))}),l.length>0&&f.jsx("div",{className:"composer__prompt-chips",children:l.map(M=>f.jsxs("div",{className:"composer__prompt-chip",title:M.name,children:[f.jsx("span",{className:"composer__prompt-chip-plus","aria-hidden":"true",children:"+"}),f.jsx("span",{className:"composer__prompt-chip-title",children:M.name}),f.jsx("button",{type:"button",className:"composer__prompt-chip-remove",onClick:()=>o(M.id),"aria-label":c("promptLibrary.removeInserted",{name:M.name}),children:"×"})]},M.id))}),f.jsx("textarea",{ref:S,className:"prompt-area composer__textarea",value:t,placeholder:F,onChange:M=>a(M.target.value),onKeyDown:M=>{M.key==="Enter"&&(M.metaKey||M.ctrlKey)&&(M.preventDefault(),s())}}),f.jsxs("div",{className:"composer__toolbar",children:[f.jsxs("button",{type:"button",className:"composer__tool",onClick:()=>k&&x.current?.click(),disabled:!k,title:c("prompt.attachTitle"),"aria-label":c("prompt.attachTitle"),children:[f.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:f.jsx("path",{d:"M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48"})}),f.jsx("span",{children:c("prompt.attach")})]}),f.jsxs("button",{type:"button",className:"composer__tool",onClick:()=>{g()},disabled:!v||!k,title:c("prompt.useCurrentTitle"),children:[f.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[f.jsx("polyline",{points:"23 4 23 10 17 10"}),f.jsx("path",{d:"M20.49 15a9 9 0 1 1-2.12-9.36L23 10"})]}),f.jsx("span",{children:c("prompt.useCurrent")})]}),f.jsxs("button",{type:"button",className:`composer__tool${O?" composer__tool--on":""}`,onClick:()=>E(O?"auto":"direct"),title:c("prompt.directModeTitle"),"aria-label":c("prompt.directModeTitle"),"aria-pressed":O,children:[f.jsx("span",{"aria-hidden":"true",style:{fontWeight:700,fontSize:11},children:"1:1"}),f.jsx("span",{children:c("prompt.directMode")})]}),f.jsxs("div",{style:{position:"relative"},children:[f.jsxs("button",{type:"button",className:"composer__tool",onClick:()=>j(M=>!M),disabled:!t.trim(),title:c("promptLibrary.saveTitle"),"aria-label":c("promptLibrary.saveTitle"),children:[f.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:f.jsx("path",{d:"M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z"})}),f.jsx("span",{children:c("promptLibrary.save")})]}),D&&f.jsx(Yf,{text:t,mode:A,onClose:()=>j(!1)})]}),f.jsx("span",{className:"composer__hint",children:c("prompt.hint")})]}),N&&f.jsx("div",{className:"composer__dropzone","aria-hidden":"true",children:c("prompt.dropHere",{max:ol})}),f.jsx("input",{ref:x,type:"file",accept:"image/*",multiple:!0,hidden:!0,onChange:M=>{const T=Array.from(M.target.files??[]);T.length>0&&K(T),M.target.value=""}})]})}function T_(){const t=Y(c=>c.activeGenerations),a=Y(c=>c.generate),{t:l}=Ne(),o=t>0,s=o?l("generate.buttonLoading",{n:t}):l("generate.button");return f.jsx("button",{type:"button",className:`generate-btn${o?" loading":""}`,onClick:()=>{a()},children:s})}function M_(t,a=28){const l=t.trim().replace(/\s+/g," ");return l.length>a?`${l.slice(0,a)}...`:l}function Ty(){const t=Y(o=>o.inFlight),{t:a}=Ne(),l={queued:a("inflight.queued"),streaming:a("inflight.streaming"),decoding:a("inflight.decoding")};return t.length===0?null:f.jsx("ul",{className:"in-flight-list",children:t.map(o=>{const s=o.phase?l[o.phase]??o.phase:a("inflight.queued");return f.jsxs("li",{className:"in-flight-item","data-phase":o.phase??"queued",children:[f.jsx("span",{className:"in-flight-prompt",children:M_(o.prompt)}),f.jsx("span",{className:"in-flight-phase",children:s}),f.jsx("span",{className:"in-flight-spinner","aria-hidden":"true"})]},o.id)})})}function A_(){const{t}=Ne(),a=Y(x=>x.sessions),l=Y(x=>x.activeSessionId),o=Y(x=>x.switchSession),s=Y(x=>x.createAndSwitchSession),c=Y(x=>x.renameCurrentSession),d=Y(x=>x.deleteSessionById),[m,y]=L.useState(!1),p=a.find(x=>x.id===l),g=()=>{const x=window.prompt(t("session.renamePrompt"),p?.title??t("session.newSession"));x&&x.trim()&&c(x.trim())},v=(x,S)=>{window.confirm(t("session.deleteConfirm",{title:S}))&&d(x)};return f.jsxs("div",{className:"session-picker",children:[f.jsxs("div",{className:"session-picker-row",children:[f.jsxs("button",{type:"button",className:"session-current",onClick:()=>y(x=>!x),title:t("session.switchTitle"),children:[f.jsx("span",{className:"session-title",children:p?.title??t("session.loading")}),f.jsx("span",{className:"session-caret",children:m?"▴":"▾"})]}),f.jsx("button",{type:"button",className:"session-btn",onClick:()=>{s(t("session.newSession"))},title:t("session.newSessionTitle"),children:"+"}),f.jsx("button",{type:"button",className:"session-btn",onClick:g,title:t("session.renameTitle"),disabled:!p,children:"✎"})]}),m&&f.jsxs("ul",{className:"session-list",children:[a.map(x=>f.jsxs("li",{className:x.id===l?"is-active":"",children:[f.jsxs("button",{type:"button",className:"session-item",onClick:()=>{y(!1),o(x.id)},children:[f.jsx("span",{className:"session-item-title",children:x.title}),f.jsx("span",{className:"session-item-count",children:x.nodeCount})]}),f.jsx("button",{type:"button",className:"session-del",onClick:()=>v(x.id,x.title),title:t("session.deleteTitle"),children:"×"})]},x.id)),a.length===0&&f.jsx("li",{className:"session-empty",children:t("session.empty")})]})]})}function j_(){const{t}=Ne(),a=Y(o=>o.settingsOpen),l=Y(o=>o.toggleSettings);return f.jsx("button",{type:"button",className:`settings-button${a?" is-active":""}`,onClick:l,"aria-label":t("settings.openAria"),"aria-pressed":a,title:t("settings.openTitle"),children:f.jsxs("svg",{viewBox:"0 0 24 24","aria-hidden":"true",children:[f.jsx("path",{d:"M12 8.2a3.8 3.8 0 1 0 0 7.6 3.8 3.8 0 0 0 0-7.6Zm0 5.7a1.9 1.9 0 1 1 0-3.8 1.9 1.9 0 0 1 0 3.8Z"}),f.jsx("path",{d:"m20.3 13.4.1-1.4-.1-1.4-2.2-.5a6.9 6.9 0 0 0-.6-1.3l1.2-1.9a9.6 9.6 0 0 0-2-2l-1.9 1.2c-.4-.2-.9-.4-1.3-.6L13 3.3a9.5 9.5 0 0 0-2.8 0l-.5 2.2c-.5.2-.9.3-1.3.6L6.5 4.9a9.6 9.6 0 0 0-2 2l1.2 1.9c-.2.4-.4.9-.6 1.3l-2.2.5a9.5 9.5 0 0 0 0 2.8l2.2.5c.2.5.3.9.6 1.3l-1.2 1.9a9.6 9.6 0 0 0 2 2l1.9-1.2c.4.2.9.4 1.3.6l.5 2.2a9.5 9.5 0 0 0 2.8 0l.5-2.2c.5-.2.9-.3 1.3-.6l1.9 1.2a9.6 9.6 0 0 0 2-2l-1.2-1.9c.2-.4.4-.9.6-1.3l2.2-.5Z"})]})})}function xv({variant:t}){const{t:a}=Ne(),[l,o]=L.useState(!1),s=L.useRef(null),c=Y(g=>g.imageModel),d=Y(g=>g.setImageModel),m=t==="settings"?"settings-image-model":"sidebar-image-model",y=cl.find(g=>g.value===c)??cl[0],p=g=>{d(g.target.value)};return L.useEffect(()=>{if(t!=="sidebar"||!l)return;const g=x=>{const S=x.target;S instanceof Node&&(s.current?.contains(S)||o(!1))},v=x=>{x.key==="Escape"&&o(!1)};return document.addEventListener("pointerdown",g),document.addEventListener("keydown",v),()=>{document.removeEventListener("pointerdown",g),document.removeEventListener("keydown",v)}},[l,t]),t==="sidebar"?f.jsxs("div",{ref:s,className:"image-model-select image-model-select--sidebar",children:[f.jsx("button",{id:m,type:"button",className:"image-model-select__trigger","aria-haspopup":"listbox","aria-expanded":l,"aria-label":a("sidebar.imageModelAria"),onClick:()=>o(g=>!g),children:y.shortLabel}),l?f.jsx("div",{className:"image-model-select__menu",role:"listbox","aria-label":a("sidebar.imageModelAria"),children:cl.map(g=>f.jsxs("button",{type:"button",className:`image-model-select__item${g.value===c?" is-active":""}`,role:"option","aria-selected":g.value===c,onClick:()=>{d(g.value),o(!1)},children:[f.jsx("span",{children:g.shortLabel}),f.jsx("small",{children:a(g.fullLabelKey)})]},g.value))}):null]}):f.jsx("div",{className:"image-model-select image-model-select--settings",children:f.jsxs("select",{id:m,value:c,onChange:p,children:[cl.map(g=>f.jsx("option",{value:g.value,children:a(g.fullLabelKey)},g.value)),YN.map(g=>f.jsx("option",{value:g.value,disabled:!0,children:a(g.fullLabelKey)},g.value))]})})}function bv(t){return{...t,textFields:Array.isArray(t.textFields)?t.textFields:[]}}function jo(t){return{...t,cards:Array.isArray(t.cards)?t.cards.map(bv):[]}}async function pi(t,a){const l=await fetch(t,a),o=await l.json().catch(()=>({}));if(!l.ok){const s=o,c=typeof s.error=="string"?s.error:s.error?.message||`Request failed: ${l.status}`,d=new Error(c);throw typeof s.error!="string"&&(d.code=s.error?.code),d}return o}function z_(){return pi("/api/cardnews/image-templates")}function R_(){return pi("/api/cardnews/role-templates")}async function D_(t){const a=await pi("/api/cardnews/draft",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});return{...a,plan:jo(a.plan)}}function O_(t){return pi("/api/cardnews/jobs",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}function I_(t){return pi(`/api/cardnews/jobs/${encodeURIComponent(t)}`)}async function L_(t){const l=(await pi(`/api/cardnews/cards/${encodeURIComponent(t.card.id)}/regenerate`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...t,cards:[t.card]})})).cards.find(o=>o.id===t.card.id);if(!l)throw new Error("Regenerated card not found");return{card:l}}function My(t){return pi(`/api/cardnews/sets/${encodeURIComponent(t)}`).then(a=>({...a,plan:jo(a.plan)}))}function H_(t){return`/api/cardnews/sets/${encodeURIComponent(t)}/manifest?download=1`}function k_(t){return t[0]?.id||"academy-lesson-square"}function B_(t){return t.find(a=>a.id==="mid-5")?.id||t[0]?.id||"mid-5"}function q_(t){return Math.round(t/16)*16}function Fs(t){return Math.min(qf,Math.max(1024,q_(t)))}function Ay(t){return t.outputSizePreset!=="custom"?t.outputSizePreset:`${Fs(t.customW)}x${Fs(t.customH)}`}function Sv(t){if(t){if(typeof t=="string")return t;if(typeof t=="object"&&"message"in t){const a=t.message;return typeof a=="string"?a:void 0}return String(t)}}function U_(t,a){const l=a.status||"generated";return{...t,...a,textFields:Array.isArray(a.textFields)?a.textFields:t.textFields,status:l,error:l==="error"?Sv(a.error)||pe("cardNews.error"):void 0}}function G_(t){return new Promise(a=>setTimeout(a,t))}function tf(t,a){const l=new Map(a.cards.map(o=>[o.id,o]));return{...t,cards:t.cards.map(o=>{const s=l.get(o.id);return s?{...o,...s,textFields:Array.isArray(s.textFields)?s.textFields:o.textFields,status:s.status||o.status,error:Sv(s.error)}:o})}}const we=F0((t,a)=>({templates:[],roleTemplates:[],activePlan:null,selectedCardId:null,selectedTextFieldId:null,topic:"",audience:"",goal:"",contentBrief:"",imageTemplateId:"academy-lesson-square",roleTemplateId:"mid-5",outputSizePreset:"2048x2048",customW:2048,customH:2048,loading:!1,generating:!1,error:null,draftError:null,plannerMeta:null,async hydrate(){if(!(a().loading||a().templates.length>0)){t({loading:!0,error:null});try{const[l,o]=await Promise.all([z_(),R_()]);t({templates:l.templates,roleTemplates:o.templates,imageTemplateId:k_(l.templates),roleTemplateId:B_(o.templates),loading:!1})}catch(l){t({loading:!1,error:l instanceof Error?l.message:String(l)})}}},setBriefField(l,o){t({[l]:o})},setImageTemplate(l){t({imageTemplateId:l})},setRoleTemplate(l){t({roleTemplateId:l})},setOutputSizePreset(l){t({outputSizePreset:l})},setCustomSize(l,o){t({customW:Fs(l),customH:Fs(o)})},async draft(){const l=a();t({loading:!0,error:null,draftError:null});try{const{plan:o,planner:s}=await D_({topic:l.topic,audience:l.audience,goal:l.goal,contentBrief:l.contentBrief,imageTemplateId:l.imageTemplateId,roleTemplateId:l.roleTemplateId,size:Ay(l)});t({activePlan:jo(o),selectedCardId:o.cards[0]?.id||null,selectedTextFieldId:null,plannerMeta:s||null,loading:!1})}catch(o){const s=o instanceof Error?o.message:String(o);t({loading:!1,draftError:s,error:s})}},updateCard(l,o){t(s=>({activePlan:s.activePlan?{...s.activePlan,cards:s.activePlan.cards.map(c=>c.id===l?{...c,...o}:c)}:null}))},updateTextField(l,o,s){t(c=>({activePlan:c.activePlan?{...c.activePlan,cards:c.activePlan.cards.map(d=>d.id!==l||d.locked?d:{...d,textFields:d.textFields.map(m=>m.id===o?{...m,...s,source:s.source||"user"}:m)})}:null}))},addTextField(l,o){t(s=>({activePlan:s.activePlan?{...s.activePlan,cards:s.activePlan.cards.map(c=>c.id===l&&!c.locked?{...c,textFields:[...c.textFields,{...o,source:"user"}]}:c)}:null,selectedTextFieldId:o.id}))},removeTextField(l,o){t(s=>({activePlan:s.activePlan?{...s.activePlan,cards:s.activePlan.cards.map(c=>c.id===l&&!c.locked?{...c,textFields:c.textFields.filter(d=>d.id!==o)}:c)}:null,selectedTextFieldId:s.selectedTextFieldId===o?null:s.selectedTextFieldId}))},selectCard(l){t({selectedCardId:l,selectedTextFieldId:null})},selectTextField(l){t({selectedTextFieldId:l})},getGenerationSummary(){const l=a().activePlan?.cards||[];return{total:l.length,done:l.filter(o=>o.status==="generated").length,queued:l.filter(o=>o.status==="queued").length,generating:l.filter(o=>o.status==="generating").length,errors:l.filter(o=>o.status==="error").length,skipped:l.filter(o=>o.locked||o.status==="skipped").length}},async generateSet(){const l=a();if(!l.activePlan)return;const o=Y.getState();t({generating:!0,error:null,activePlan:{...l.activePlan,cards:l.activePlan.cards.map(s=>s.locked?{...s,status:"skipped"}:{...s,status:"queued",error:void 0})}});try{const s=a().activePlan||l.activePlan;let d=await O_({...s,size:Ay(l),quality:o.quality,moderation:o.moderation,model:o.imageModel,sessionId:o.activeSessionId});for(t(y=>({activePlan:y.activePlan?tf(y.activePlan,d):y.activePlan}));["queued","running"].includes(d.status);)await G_(900),d=await I_(d.jobId),t(y=>({activePlan:y.activePlan?tf(y.activePlan,d):y.activePlan}));const m=await My(d.setId).catch(()=>null);t(y=>({generating:!1,activePlan:m?.plan?jo(m.plan):y.activePlan?tf(y.activePlan,d):y.activePlan,selectedTextFieldId:null})),o.showToast(pe("cardNews.generated",{count:d.generated}))}catch(s){const c=s instanceof Error?s.message:String(s);t(d=>({generating:!1,error:c,activePlan:d.activePlan?{...d.activePlan,cards:d.activePlan.cards.map(m=>m.status==="queued"||m.status==="generating"?{...m,status:"error",error:c}:m)}:d.activePlan}))}},async retryCard(l){const s=a().activePlan,c=s?.cards.find(m=>m.id===l);if(!s||!c||c.locked||!["draft","error"].includes(c.status))return;const d=Y.getState();t({error:null,activePlan:{...s,cards:s.cards.map(m=>m.id===l?{...m,status:"generating",error:void 0}:m)}});try{const{card:m}=await L_({setId:s.setId,card:c,quality:d.quality,moderation:d.moderation,model:d.imageModel});t(y=>({activePlan:y.activePlan?{...y.activePlan,cards:y.activePlan.cards.map(p=>p.id===l?U_(p,bv(m)):p)}:y.activePlan}))}catch(m){const y=m instanceof Error?m.message:String(m);t(p=>({error:y,activePlan:p.activePlan?{...p.activePlan,cards:p.activePlan.cards.map(g=>g.id===l?{...g,status:"error",error:y}:g)}:p.activePlan}))}},async loadSet(l){t({loading:!0,error:null,selectedTextFieldId:null});try{const{plan:o}=await My(l);t({activePlan:jo(o),selectedCardId:o.cards[0]?.id||null,selectedTextFieldId:null,loading:!1})}catch(o){t({loading:!1,error:o instanceof Error?o.message:String(o)})}}}));function V_(){const{t}=Ne(),a=we(w=>w.hydrate),l=we(w=>w.topic),o=we(w=>w.audience),s=we(w=>w.goal),c=we(w=>w.contentBrief),d=we(w=>w.outputSizePreset),m=we(w=>w.customW),y=we(w=>w.customH),p=we(w=>w.setBriefField),g=we(w=>w.setOutputSizePreset),v=we(w=>w.setCustomSize),x=we(w=>w.draft),S=we(w=>w.loading),N=we(w=>w.generating),_=we(w=>w.draftError),D=we(w=>w.generateSet),j=we(w=>w.activePlan),A=j?.cards||[],E={total:A.length,done:A.filter(w=>w.status==="generated").length};return L.useEffect(()=>{a()},[a]),f.jsxs("section",{className:"card-news-composer","aria-label":t("cardNews.composer"),children:[f.jsx("div",{className:"card-news-composer__head",children:f.jsxs("div",{children:[f.jsx("div",{className:"section-title",children:t("cardNews.composer")}),f.jsx("p",{children:t("cardNews.composerHint")})]})}),f.jsxs("label",{className:"card-news-field",children:[f.jsx("span",{children:t("cardNews.topic")}),f.jsx("input",{value:l,placeholder:t("cardNews.topicPlaceholder"),onChange:w=>p("topic",w.target.value)})]}),f.jsxs("label",{className:"card-news-field",children:[f.jsx("span",{children:t("cardNews.audience")}),f.jsx("input",{value:o,placeholder:t("cardNews.audiencePlaceholder"),onChange:w=>p("audience",w.target.value)})]}),f.jsxs("label",{className:"card-news-field",children:[f.jsx("span",{children:t("cardNews.goal")}),f.jsx("input",{value:s,placeholder:t("cardNews.goalPlaceholder"),onChange:w=>p("goal",w.target.value)})]}),f.jsxs("label",{className:"card-news-field",children:[f.jsx("span",{children:t("cardNews.brief")}),f.jsx("textarea",{value:c,placeholder:t("cardNews.briefPlaceholder"),onChange:w=>p("contentBrief",w.target.value)})]}),f.jsxs("div",{className:"card-news-field",children:[f.jsx("span",{children:t("cardNews.outputSize")}),f.jsx("div",{className:"card-news-size-row",role:"group","aria-label":t("cardNews.outputSize"),children:["1024x1024","2048x2048","custom"].map(w=>f.jsx("button",{type:"button",className:`option-btn${d===w?" active":""}`,onClick:()=>g(w),children:w==="custom"?t("cardNews.customSize"):w==="1024x1024"?"1024²":"2048²"},w))}),d==="custom"?f.jsxs("div",{className:"card-news-custom-size",children:[f.jsx("input",{className:"custom-size-input",type:"text",inputMode:"numeric",value:m,onChange:w=>v(Number.parseInt(w.target.value,10)||m,y),"aria-label":t("size.width")}),f.jsx("span",{children:"×"}),f.jsx("input",{className:"custom-size-input",type:"text",inputMode:"numeric",value:y,onChange:w=>v(m,Number.parseInt(w.target.value,10)||y),"aria-label":t("size.height")})]}):null]}),f.jsxs("button",{type:"button",className:"generate-btn card-news-draft-btn",onClick:()=>{x()},disabled:S||!l.trim(),children:[S?f.jsx("span",{className:"card-news-spinner","aria-hidden":"true"}):null,t(S?"cardNews.drafting":"cardNews.draft")]}),_?f.jsx("div",{className:"card-news-error",role:"alert",children:_}):null,S?f.jsxs("div",{className:"card-news-inline-status",role:"status",children:[f.jsx("span",{className:"card-news-spinner","aria-hidden":"true"}),f.jsx("span",{children:t("cardNews.drafting")})]}):null,f.jsxs("button",{type:"button",className:"composer__tool card-news-generate-btn",onClick:()=>{D()},disabled:!j||N||j.cards.every(w=>w.locked),children:[N?f.jsx("span",{className:"card-news-spinner","aria-hidden":"true"}):null,N?t("cardNews.progress.generating",{done:E.done,total:E.total}):t("cardNews.batchGenerate")]})]})}function Y_(){const{t}=Ne(),a=Y(c=>c.uiMode),l=Y(c=>c.referenceImages),o=Y(c=>c.clearReferences),s=a==="node"&&Vf?"node":"classic";return f.jsx("aside",{className:"sidebar",children:f.jsxs("div",{className:"sidebar__scroll",children:[f.jsxs("div",{className:"logo",children:[f.jsx("div",{className:"logo-mark","aria-hidden":"true"}),f.jsxs("div",{className:"logo-copy",children:[f.jsx("div",{className:"logo-title",children:"ima2-gen"}),f.jsx("div",{className:"logo-subtitle",children:"gpt-image-2 studio"})]}),f.jsxs("div",{className:"logo-actions",children:[f.jsx(P_,{}),f.jsx(xv,{variant:"sidebar"}),f.jsx(j_,{})]})]}),f.jsx(E_,{}),s==="classic"?f.jsxs(f.Fragment,{children:[f.jsx(C_,{}),f.jsx(T_,{}),f.jsx(Ty,{})]}):s==="card-news"?f.jsx(f.Fragment,{children:f.jsx(V_,{})}):f.jsxs(f.Fragment,{children:[f.jsx(A_,{}),l.length>0?f.jsxs("div",{className:"node-mode-ref-warning",role:"status",children:[f.jsx("strong",{children:t("node.classicRefsParkedTitle")}),f.jsx("span",{children:t("node.classicRefsParkedBody")}),f.jsx("button",{type:"button",onClick:o,children:t("node.clearParkedRefs")})]}):null,f.jsx("div",{className:"sidebar__node-hint",children:t("sidebar.nodeModeHint")}),f.jsx(Ty,{})]})]})})}function P_(){const{t}=Ne(),a=Y(l=>l.togglePromptLibrary);return f.jsx("button",{type:"button",className:"settings-button",onClick:a,title:t("promptLibrary.title"),"aria-label":t("promptLibrary.title"),children:f.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:f.jsx("path",{d:"M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z"})})})}function $_(){const{t}=Ne(),a=Y(x=>x.currentImage),l=Y(x=>x.showToast),o=Y(x=>x.setPrompt),s=Y(x=>x.trashHistoryItem),c=Y(x=>x.permanentlyDeleteHistoryItemByClick),d=Y(x=>x.canvasOpen),m=Y(x=>x.openCanvas);if(!a)return null;const y=()=>{const x=document.createElement("a");x.href=a.image,x.download=a.filename||"generated.png",x.click()},p=async()=>{try{const S=await(await fetch(a.image)).blob();await navigator.clipboard.write([new ClipboardItem({[S.type]:S})]),l(t("toast.imageCopied"))}catch{l(t("toast.copyFailed"),!0)}},g=()=>{a.prompt&&(navigator.clipboard.writeText(a.prompt),l(t("toast.promptCopied")))},v=async()=>{if(!a.prompt){l(t("toast.noPromptToFork"),!0);return}o(a.prompt);try{await Y.getState().useCurrentAsReference()}catch{}const x=document.querySelector('textarea[name="prompt"], textarea#prompt, .sidebar textarea');x&&(x.focus(),x.setSelectionRange(x.value.length,x.value.length)),l(t("toast.forkStarted"))};return f.jsxs("div",{className:"result-actions",children:[f.jsx("button",{type:"button",className:"action-btn",onClick:y,children:t("result.download")}),f.jsx("button",{type:"button",className:"action-btn",onClick:p,children:t("result.copyImage")}),f.jsx("button",{type:"button",className:"action-btn",onClick:g,children:t("result.copyPrompt")}),f.jsx("button",{type:"button",className:"action-btn action-btn--primary",onClick:v,title:t("result.continueHereTitle"),children:t("result.continueHere")}),!d&&f.jsx("button",{type:"button",className:"action-btn",onClick:m,title:t("canvas.open"),"aria-label":t("canvas.openAria"),children:f.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"2","aria-hidden":"true",children:f.jsx("path",{d:"M4 4h8v8M12 4l-8 8"})})}),a.filename&&f.jsxs(f.Fragment,{children:[f.jsx("button",{type:"button",className:"action-btn action-btn--danger",onClick:()=>{s(a)},title:t("result.deleteTitle"),children:t("result.delete")}),f.jsxs("details",{className:"result-actions__more",children:[f.jsx("summary",{className:"action-btn",children:t("result.more")}),f.jsx("button",{type:"button",className:"result-actions__danger-item",onClick:()=>{c(a)},children:t("result.permanentDelete")})]})]})]})}function F_(){const t=Y(c=>c.multimodeSequence),a=Y(c=>c.cancelMultimode),l=Y(c=>c.activeGenerations),{t:o}=Ne();if(!t)return null;const s=Array.from({length:t.requested},(c,d)=>{const m=t.images[d],y=t.partials.find(p=>p.index===d||p.index==null);return{index:d,image:m,partial:y}});return f.jsxs("section",{className:"multimode-sequence","aria-live":"polite",children:[f.jsxs("div",{className:"multimode-sequence__header",children:[f.jsxs("div",{children:[f.jsx("div",{className:"multimode-sequence__title",children:o("multimode.sequenceTitle")}),f.jsx("div",{className:"multimode-sequence__meta",children:o("multimode.sequenceProgress",{returned:t.returned,requested:t.requested})})]}),l>0?f.jsx("button",{type:"button",className:"secondary-btn",onClick:a,children:o("multimode.cancel")}):null]}),f.jsx("div",{className:`multimode-sequence__grid count-${Math.min(t.requested,4)}`,children:s.map(({index:c,image:d,partial:m})=>f.jsxs("article",{className:`multimode-sequence__slot${d?" done":""}`,children:[f.jsx("div",{className:"multimode-sequence__badge",children:o("multimode.stageLabel",{index:c+1})}),d?f.jsx("img",{src:d.url??d.image,alt:o("canvas.resultAlt")}):m?f.jsx("img",{src:m.image,alt:o("multimode.partialAlt")}):f.jsx("div",{className:"multimode-sequence__empty",children:t.status==="error"?o("multimode.error"):t.status==="empty"?o("multimode.empty"):o("multimode.generating")})]},d?.filename??c))})]})}function Sf(t){return t instanceof HTMLElement?t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement||t instanceof HTMLSelectElement||t instanceof HTMLButtonElement||t.isContentEditable:!1}function X_(t){return t==="low"?"l":t==="medium"?"m":t==="high"?"h":t??null}function Z_(t){if(!t)return null;const a=t.match(/^(\d+)x\1$/);return a?`${a[1]}²`:t.replace("x","×")}function jy(){const t=Y(w=>w.currentImage),a=Y(w=>w.multimodeSequence),l=Y(w=>w.selectHistoryShortcutTarget),o=Y(w=>w.trashHistoryItem),s=Y(w=>w.markGeneratedResultsSeen),c=Y(w=>w.activeGenerations),d=Y(w=>w.quality),m=Y(w=>w.getResolvedSize),y=Y(w=>w.showToast),p=Y(w=>w.canvasOpen),g=Y(w=>w.openCanvas),v=Y(w=>w.closeCanvas),x=Y(w=>w.canvasZoom),{t:S}=Ne(),N=()=>{t?.prompt&&(navigator.clipboard.writeText(t.prompt),y(S("toast.promptCopied")))},_=X_(t?.quality??d),D=Z_(t?.size??m()),j=nv(t?.model),A=w=>{if(w.key==="Delete"||w.key==="Backspace"){if(w.shiftKey||!t)return;w.preventDefault(),o(t);return}w.key!=="ArrowLeft"&&w.key!=="ArrowRight"&&w.key!=="Home"&&w.key!=="End"||w.target===w.currentTarget&&(Sf(w.target)||(w.preventDefault(),w.key==="ArrowLeft"?l("previous"):w.key==="ArrowRight"?l("next"):w.key==="Home"?l("first"):w.key==="End"&&l("last")))},E=w=>{Sf(w.target)||(s(),w.currentTarget.focus())};return f.jsxs("main",{className:`canvas${p?" canvas--mode-open":""}`,children:[p&&f.jsxs("div",{className:"canvas-mode-topbar",children:[f.jsx("span",{className:"canvas-mode-topbar__label",children:"Canvas Mode"}),f.jsxs("button",{type:"button",className:"canvas-mode-close",onClick:v,"aria-label":S("canvas.close"),children:[f.jsx("kbd",{children:"ESC"}),f.jsx("span",{children:S("canvas.close")})]})]}),f.jsx("div",{className:`progress-bar${c>0?" active":""}`}),a?f.jsx(F_,{}):t?f.jsxs("div",{className:"result-container visible",tabIndex:0,onMouseDown:E,onKeyDown:A,"aria-label":S("canvas.imageViewerAria"),children:[f.jsx("img",{className:"result-img",src:t.url??t.image,alt:S("canvas.resultAlt"),onDoubleClick:w=>{w.stopPropagation(),g()},style:{cursor:p?"default":"zoom-in",transform:p?`scale(${x})`:void 0,transition:p?"transform 0.2s ease":void 0}},t.filename??t.url??t.image),t.prompt?f.jsx("div",{className:"result-prompt",onClick:N,children:t.prompt}):null,f.jsx("div",{className:"result-meta",children:[t.elapsed!=null?`${t.elapsed}s`:null,t.usage?S("canvas.tokens",{n:t.usage.total_tokens??"?"}):null,_,D,j,t.provider??null].filter(w=>!!w).join(" · ")}),f.jsx($_,{})]}):null]})}function rt(t){if(typeof t=="string"||typeof t=="number")return""+t;let a="";if(Array.isArray(t))for(let l=0,o;l<t.length;l++)(o=rt(t[l]))!==""&&(a+=(a&&" ")+o);else for(let l in t)t[l]&&(a+=(a&&" ")+l);return a}var K_={value:()=>{}};function oc(){for(var t=0,a=arguments.length,l={},o;t<a;++t){if(!(o=arguments[t]+"")||o in l||/[\s.]/.test(o))throw new Error("illegal type: "+o);l[o]=[]}return new qs(l)}function qs(t){this._=t}function Q_(t,a){return t.trim().split(/^|\s+/).map(function(l){var o="",s=l.indexOf(".");if(s>=0&&(o=l.slice(s+1),l=l.slice(0,s)),l&&!a.hasOwnProperty(l))throw new Error("unknown type: "+l);return{type:l,name:o}})}qs.prototype=oc.prototype={constructor:qs,on:function(t,a){var l=this._,o=Q_(t+"",l),s,c=-1,d=o.length;if(arguments.length<2){for(;++c<d;)if((s=(t=o[c]).type)&&(s=J_(l[s],t.name)))return s;return}if(a!=null&&typeof a!="function")throw new Error("invalid callback: "+a);for(;++c<d;)if(s=(t=o[c]).type)l[s]=zy(l[s],t.name,a);else if(a==null)for(s in l)l[s]=zy(l[s],t.name,null);return this},copy:function(){var t={},a=this._;for(var l in a)t[l]=a[l].slice();return new qs(t)},call:function(t,a){if((s=arguments.length-2)>0)for(var l=new Array(s),o=0,s,c;o<s;++o)l[o]=arguments[o+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(c=this._[t],o=0,s=c.length;o<s;++o)c[o].value.apply(a,l)},apply:function(t,a,l){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var o=this._[t],s=0,c=o.length;s<c;++s)o[s].value.apply(a,l)}};function J_(t,a){for(var l=0,o=t.length,s;l<o;++l)if((s=t[l]).name===a)return s.value}function zy(t,a,l){for(var o=0,s=t.length;o<s;++o)if(t[o].name===a){t[o]=K_,t=t.slice(0,o).concat(t.slice(o+1));break}return l!=null&&t.push({name:a,value:l}),t}var wf="http://www.w3.org/1999/xhtml";const Ry={svg:"http://www.w3.org/2000/svg",xhtml:wf,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function rc(t){var a=t+="",l=a.indexOf(":");return l>=0&&(a=t.slice(0,l))!=="xmlns"&&(t=t.slice(l+1)),Ry.hasOwnProperty(a)?{space:Ry[a],local:t}:t}function W_(t){return function(){var a=this.ownerDocument,l=this.namespaceURI;return l===wf&&a.documentElement.namespaceURI===wf?a.createElement(t):a.createElementNS(l,t)}}function e2(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function wv(t){var a=rc(t);return(a.local?e2:W_)(a)}function t2(){}function Pf(t){return t==null?t2:function(){return this.querySelector(t)}}function n2(t){typeof t!="function"&&(t=Pf(t));for(var a=this._groups,l=a.length,o=new Array(l),s=0;s<l;++s)for(var c=a[s],d=c.length,m=o[s]=new Array(d),y,p,g=0;g<d;++g)(y=c[g])&&(p=t.call(y,y.__data__,g,c))&&("__data__"in y&&(p.__data__=y.__data__),m[g]=p);return new qt(o,this._parents)}function a2(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}function i2(){return[]}function Nv(t){return t==null?i2:function(){return this.querySelectorAll(t)}}function l2(t){return function(){return a2(t.apply(this,arguments))}}function o2(t){typeof t=="function"?t=l2(t):t=Nv(t);for(var a=this._groups,l=a.length,o=[],s=[],c=0;c<l;++c)for(var d=a[c],m=d.length,y,p=0;p<m;++p)(y=d[p])&&(o.push(t.call(y,y.__data__,p,d)),s.push(y));return new qt(o,s)}function _v(t){return function(){return this.matches(t)}}function Ev(t){return function(a){return a.matches(t)}}var r2=Array.prototype.find;function s2(t){return function(){return r2.call(this.children,t)}}function c2(){return this.firstElementChild}function u2(t){return this.select(t==null?c2:s2(typeof t=="function"?t:Ev(t)))}var d2=Array.prototype.filter;function f2(){return Array.from(this.children)}function h2(t){return function(){return d2.call(this.children,t)}}function m2(t){return this.selectAll(t==null?f2:h2(typeof t=="function"?t:Ev(t)))}function p2(t){typeof t!="function"&&(t=_v(t));for(var a=this._groups,l=a.length,o=new Array(l),s=0;s<l;++s)for(var c=a[s],d=c.length,m=o[s]=[],y,p=0;p<d;++p)(y=c[p])&&t.call(y,y.__data__,p,c)&&m.push(y);return new qt(o,this._parents)}function Cv(t){return new Array(t.length)}function g2(){return new qt(this._enter||this._groups.map(Cv),this._parents)}function Xs(t,a){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=a}Xs.prototype={constructor:Xs,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,a){return this._parent.insertBefore(t,a)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function y2(t){return function(){return t}}function v2(t,a,l,o,s,c){for(var d=0,m,y=a.length,p=c.length;d<p;++d)(m=a[d])?(m.__data__=c[d],o[d]=m):l[d]=new Xs(t,c[d]);for(;d<y;++d)(m=a[d])&&(s[d]=m)}function x2(t,a,l,o,s,c,d){var m,y,p=new Map,g=a.length,v=c.length,x=new Array(g),S;for(m=0;m<g;++m)(y=a[m])&&(x[m]=S=d.call(y,y.__data__,m,a)+"",p.has(S)?s[m]=y:p.set(S,y));for(m=0;m<v;++m)S=d.call(t,c[m],m,c)+"",(y=p.get(S))?(o[m]=y,y.__data__=c[m],p.delete(S)):l[m]=new Xs(t,c[m]);for(m=0;m<g;++m)(y=a[m])&&p.get(x[m])===y&&(s[m]=y)}function b2(t){return t.__data__}function S2(t,a){if(!arguments.length)return Array.from(this,b2);var l=a?x2:v2,o=this._parents,s=this._groups;typeof t!="function"&&(t=y2(t));for(var c=s.length,d=new Array(c),m=new Array(c),y=new Array(c),p=0;p<c;++p){var g=o[p],v=s[p],x=v.length,S=w2(t.call(g,g&&g.__data__,p,o)),N=S.length,_=m[p]=new Array(N),D=d[p]=new Array(N),j=y[p]=new Array(x);l(g,v,_,D,j,S,a);for(var A=0,E=0,w,B;A<N;++A)if(w=_[A]){for(A>=E&&(E=A+1);!(B=D[E])&&++E<N;);w._next=B||null}}return d=new qt(d,o),d._enter=m,d._exit=y,d}function w2(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function N2(){return new qt(this._exit||this._groups.map(Cv),this._parents)}function _2(t,a,l){var o=this.enter(),s=this,c=this.exit();return typeof t=="function"?(o=t(o),o&&(o=o.selection())):o=o.append(t+""),a!=null&&(s=a(s),s&&(s=s.selection())),l==null?c.remove():l(c),o&&s?o.merge(s).order():s}function E2(t){for(var a=t.selection?t.selection():t,l=this._groups,o=a._groups,s=l.length,c=o.length,d=Math.min(s,c),m=new Array(s),y=0;y<d;++y)for(var p=l[y],g=o[y],v=p.length,x=m[y]=new Array(v),S,N=0;N<v;++N)(S=p[N]||g[N])&&(x[N]=S);for(;y<s;++y)m[y]=l[y];return new qt(m,this._parents)}function C2(){for(var t=this._groups,a=-1,l=t.length;++a<l;)for(var o=t[a],s=o.length-1,c=o[s],d;--s>=0;)(d=o[s])&&(c&&d.compareDocumentPosition(c)^4&&c.parentNode.insertBefore(d,c),c=d);return this}function T2(t){t||(t=M2);function a(v,x){return v&&x?t(v.__data__,x.__data__):!v-!x}for(var l=this._groups,o=l.length,s=new Array(o),c=0;c<o;++c){for(var d=l[c],m=d.length,y=s[c]=new Array(m),p,g=0;g<m;++g)(p=d[g])&&(y[g]=p);y.sort(a)}return new qt(s,this._parents).order()}function M2(t,a){return t<a?-1:t>a?1:t>=a?0:NaN}function A2(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function j2(){return Array.from(this)}function z2(){for(var t=this._groups,a=0,l=t.length;a<l;++a)for(var o=t[a],s=0,c=o.length;s<c;++s){var d=o[s];if(d)return d}return null}function R2(){let t=0;for(const a of this)++t;return t}function D2(){return!this.node()}function O2(t){for(var a=this._groups,l=0,o=a.length;l<o;++l)for(var s=a[l],c=0,d=s.length,m;c<d;++c)(m=s[c])&&t.call(m,m.__data__,c,s);return this}function I2(t){return function(){this.removeAttribute(t)}}function L2(t){return function(){this.removeAttributeNS(t.space,t.local)}}function H2(t,a){return function(){this.setAttribute(t,a)}}function k2(t,a){return function(){this.setAttributeNS(t.space,t.local,a)}}function B2(t,a){return function(){var l=a.apply(this,arguments);l==null?this.removeAttribute(t):this.setAttribute(t,l)}}function q2(t,a){return function(){var l=a.apply(this,arguments);l==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,l)}}function U2(t,a){var l=rc(t);if(arguments.length<2){var o=this.node();return l.local?o.getAttributeNS(l.space,l.local):o.getAttribute(l)}return this.each((a==null?l.local?L2:I2:typeof a=="function"?l.local?q2:B2:l.local?k2:H2)(l,a))}function Tv(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function G2(t){return function(){this.style.removeProperty(t)}}function V2(t,a,l){return function(){this.style.setProperty(t,a,l)}}function Y2(t,a,l){return function(){var o=a.apply(this,arguments);o==null?this.style.removeProperty(t):this.style.setProperty(t,o,l)}}function P2(t,a,l){return arguments.length>1?this.each((a==null?G2:typeof a=="function"?Y2:V2)(t,a,l??"")):gl(this.node(),t)}function gl(t,a){return t.style.getPropertyValue(a)||Tv(t).getComputedStyle(t,null).getPropertyValue(a)}function $2(t){return function(){delete this[t]}}function F2(t,a){return function(){this[t]=a}}function X2(t,a){return function(){var l=a.apply(this,arguments);l==null?delete this[t]:this[t]=l}}function Z2(t,a){return arguments.length>1?this.each((a==null?$2:typeof a=="function"?X2:F2)(t,a)):this.node()[t]}function Mv(t){return t.trim().split(/^|\s+/)}function $f(t){return t.classList||new Av(t)}function Av(t){this._node=t,this._names=Mv(t.getAttribute("class")||"")}Av.prototype={add:function(t){var a=this._names.indexOf(t);a<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var a=this._names.indexOf(t);a>=0&&(this._names.splice(a,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function jv(t,a){for(var l=$f(t),o=-1,s=a.length;++o<s;)l.add(a[o])}function zv(t,a){for(var l=$f(t),o=-1,s=a.length;++o<s;)l.remove(a[o])}function K2(t){return function(){jv(this,t)}}function Q2(t){return function(){zv(this,t)}}function J2(t,a){return function(){(a.apply(this,arguments)?jv:zv)(this,t)}}function W2(t,a){var l=Mv(t+"");if(arguments.length<2){for(var o=$f(this.node()),s=-1,c=l.length;++s<c;)if(!o.contains(l[s]))return!1;return!0}return this.each((typeof a=="function"?J2:a?K2:Q2)(l,a))}function eE(){this.textContent=""}function tE(t){return function(){this.textContent=t}}function nE(t){return function(){var a=t.apply(this,arguments);this.textContent=a??""}}function aE(t){return arguments.length?this.each(t==null?eE:(typeof t=="function"?nE:tE)(t)):this.node().textContent}function iE(){this.innerHTML=""}function lE(t){return function(){this.innerHTML=t}}function oE(t){return function(){var a=t.apply(this,arguments);this.innerHTML=a??""}}function rE(t){return arguments.length?this.each(t==null?iE:(typeof t=="function"?oE:lE)(t)):this.node().innerHTML}function sE(){this.nextSibling&&this.parentNode.appendChild(this)}function cE(){return this.each(sE)}function uE(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function dE(){return this.each(uE)}function fE(t){var a=typeof t=="function"?t:wv(t);return this.select(function(){return this.appendChild(a.apply(this,arguments))})}function hE(){return null}function mE(t,a){var l=typeof t=="function"?t:wv(t),o=a==null?hE:typeof a=="function"?a:Pf(a);return this.select(function(){return this.insertBefore(l.apply(this,arguments),o.apply(this,arguments)||null)})}function pE(){var t=this.parentNode;t&&t.removeChild(this)}function gE(){return this.each(pE)}function yE(){var t=this.cloneNode(!1),a=this.parentNode;return a?a.insertBefore(t,this.nextSibling):t}function vE(){var t=this.cloneNode(!0),a=this.parentNode;return a?a.insertBefore(t,this.nextSibling):t}function xE(t){return this.select(t?vE:yE)}function bE(t){return arguments.length?this.property("__data__",t):this.node().__data__}function SE(t){return function(a){t.call(this,a,this.__data__)}}function wE(t){return t.trim().split(/^|\s+/).map(function(a){var l="",o=a.indexOf(".");return o>=0&&(l=a.slice(o+1),a=a.slice(0,o)),{type:a,name:l}})}function NE(t){return function(){var a=this.__on;if(a){for(var l=0,o=-1,s=a.length,c;l<s;++l)c=a[l],(!t.type||c.type===t.type)&&c.name===t.name?this.removeEventListener(c.type,c.listener,c.options):a[++o]=c;++o?a.length=o:delete this.__on}}}function _E(t,a,l){return function(){var o=this.__on,s,c=SE(a);if(o){for(var d=0,m=o.length;d<m;++d)if((s=o[d]).type===t.type&&s.name===t.name){this.removeEventListener(s.type,s.listener,s.options),this.addEventListener(s.type,s.listener=c,s.options=l),s.value=a;return}}this.addEventListener(t.type,c,l),s={type:t.type,name:t.name,value:a,listener:c,options:l},o?o.push(s):this.__on=[s]}}function EE(t,a,l){var o=wE(t+""),s,c=o.length,d;if(arguments.length<2){var m=this.node().__on;if(m){for(var y=0,p=m.length,g;y<p;++y)for(s=0,g=m[y];s<c;++s)if((d=o[s]).type===g.type&&d.name===g.name)return g.value}return}for(m=a?_E:NE,s=0;s<c;++s)this.each(m(o[s],a,l));return this}function Rv(t,a,l){var o=Tv(t),s=o.CustomEvent;typeof s=="function"?s=new s(a,l):(s=o.document.createEvent("Event"),l?(s.initEvent(a,l.bubbles,l.cancelable),s.detail=l.detail):s.initEvent(a,!1,!1)),t.dispatchEvent(s)}function CE(t,a){return function(){return Rv(this,t,a)}}function TE(t,a){return function(){return Rv(this,t,a.apply(this,arguments))}}function ME(t,a){return this.each((typeof a=="function"?TE:CE)(t,a))}function*AE(){for(var t=this._groups,a=0,l=t.length;a<l;++a)for(var o=t[a],s=0,c=o.length,d;s<c;++s)(d=o[s])&&(yield d)}var Dv=[null];function qt(t,a){this._groups=t,this._parents=a}function Vo(){return new qt([[document.documentElement]],Dv)}function jE(){return this}qt.prototype=Vo.prototype={constructor:qt,select:n2,selectAll:o2,selectChild:u2,selectChildren:m2,filter:p2,data:S2,enter:g2,exit:N2,join:_2,merge:E2,selection:jE,order:C2,sort:T2,call:A2,nodes:j2,node:z2,size:R2,empty:D2,each:O2,attr:U2,style:P2,property:Z2,classed:W2,text:aE,html:rE,raise:cE,lower:dE,append:fE,insert:mE,remove:gE,clone:xE,datum:bE,on:EE,dispatch:ME,[Symbol.iterator]:AE};function Bt(t){return typeof t=="string"?new qt([[document.querySelector(t)]],[document.documentElement]):new qt([[t]],Dv)}function zE(t){let a;for(;a=t.sourceEvent;)t=a;return t}function nn(t,a){if(t=zE(t),a===void 0&&(a=t.currentTarget),a){var l=a.ownerSVGElement||a;if(l.createSVGPoint){var o=l.createSVGPoint();return o.x=t.clientX,o.y=t.clientY,o=o.matrixTransform(a.getScreenCTM().inverse()),[o.x,o.y]}if(a.getBoundingClientRect){var s=a.getBoundingClientRect();return[t.clientX-s.left-a.clientLeft,t.clientY-s.top-a.clientTop]}}return[t.pageX,t.pageY]}const RE={passive:!1},Do={capture:!0,passive:!1};function nf(t){t.stopImmediatePropagation()}function ml(t){t.preventDefault(),t.stopImmediatePropagation()}function Ov(t){var a=t.document.documentElement,l=Bt(t).on("dragstart.drag",ml,Do);"onselectstart"in a?l.on("selectstart.drag",ml,Do):(a.__noselect=a.style.MozUserSelect,a.style.MozUserSelect="none")}function Iv(t,a){var l=t.document.documentElement,o=Bt(t).on("dragstart.drag",null);a&&(o.on("click.drag",ml,Do),setTimeout(function(){o.on("click.drag",null)},0)),"onselectstart"in l?o.on("selectstart.drag",null):(l.style.MozUserSelect=l.__noselect,delete l.__noselect)}const _s=t=>()=>t;function Nf(t,{sourceEvent:a,subject:l,target:o,identifier:s,active:c,x:d,y:m,dx:y,dy:p,dispatch:g}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:a,enumerable:!0,configurable:!0},subject:{value:l,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:s,enumerable:!0,configurable:!0},active:{value:c,enumerable:!0,configurable:!0},x:{value:d,enumerable:!0,configurable:!0},y:{value:m,enumerable:!0,configurable:!0},dx:{value:y,enumerable:!0,configurable:!0},dy:{value:p,enumerable:!0,configurable:!0},_:{value:g}})}Nf.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function DE(t){return!t.ctrlKey&&!t.button}function OE(){return this.parentNode}function IE(t,a){return a??{x:t.x,y:t.y}}function LE(){return navigator.maxTouchPoints||"ontouchstart"in this}function Lv(){var t=DE,a=OE,l=IE,o=LE,s={},c=oc("start","drag","end"),d=0,m,y,p,g,v=0;function x(w){w.on("mousedown.drag",S).filter(o).on("touchstart.drag",D).on("touchmove.drag",j,RE).on("touchend.drag touchcancel.drag",A).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function S(w,B){if(!(g||!t.call(this,w,B))){var O=E(this,a.call(this,w,B),w,B,"mouse");O&&(Bt(w.view).on("mousemove.drag",N,Do).on("mouseup.drag",_,Do),Ov(w.view),nf(w),p=!1,m=w.clientX,y=w.clientY,O("start",w))}}function N(w){if(ml(w),!p){var B=w.clientX-m,O=w.clientY-y;p=B*B+O*O>v}s.mouse("drag",w)}function _(w){Bt(w.view).on("mousemove.drag mouseup.drag",null),Iv(w.view,p),ml(w),s.mouse("end",w)}function D(w,B){if(t.call(this,w,B)){var O=w.changedTouches,k=a.call(this,w,B),F=O.length,K,de;for(K=0;K<F;++K)(de=E(this,k,w,B,O[K].identifier,O[K]))&&(nf(w),de("start",w,O[K]))}}function j(w){var B=w.changedTouches,O=B.length,k,F;for(k=0;k<O;++k)(F=s[B[k].identifier])&&(ml(w),F("drag",w,B[k]))}function A(w){var B=w.changedTouches,O=B.length,k,F;for(g&&clearTimeout(g),g=setTimeout(function(){g=null},500),k=0;k<O;++k)(F=s[B[k].identifier])&&(nf(w),F("end",w,B[k]))}function E(w,B,O,k,F,K){var de=c.copy(),X=nn(K||O,B),te,se,z;if((z=l.call(w,new Nf("beforestart",{sourceEvent:O,target:x,identifier:F,active:d,x:X[0],y:X[1],dx:0,dy:0,dispatch:de}),k))!=null)return te=z.x-X[0]||0,se=z.y-X[1]||0,function M(T,I,U){var Z=X,ae;switch(T){case"start":s[F]=M,ae=d++;break;case"end":delete s[F],--d;case"drag":X=nn(U||I,B),ae=d;break}de.call(T,w,new Nf(T,{sourceEvent:I,subject:z,target:x,identifier:F,active:ae,x:X[0]+te,y:X[1]+se,dx:X[0]-Z[0],dy:X[1]-Z[1],dispatch:de}),k)}}return x.filter=function(w){return arguments.length?(t=typeof w=="function"?w:_s(!!w),x):t},x.container=function(w){return arguments.length?(a=typeof w=="function"?w:_s(w),x):a},x.subject=function(w){return arguments.length?(l=typeof w=="function"?w:_s(w),x):l},x.touchable=function(w){return arguments.length?(o=typeof w=="function"?w:_s(!!w),x):o},x.on=function(){var w=c.on.apply(c,arguments);return w===c?x:w},x.clickDistance=function(w){return arguments.length?(v=(w=+w)*w,x):Math.sqrt(v)},x}function Ff(t,a,l){t.prototype=a.prototype=l,l.constructor=t}function Hv(t,a){var l=Object.create(t.prototype);for(var o in a)l[o]=a[o];return l}function Yo(){}var Oo=.7,Zs=1/Oo,pl="\\s*([+-]?\\d+)\\s*",Io="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",gn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",HE=/^#([0-9a-f]{3,8})$/,kE=new RegExp(`^rgb\\(${pl},${pl},${pl}\\)$`),BE=new RegExp(`^rgb\\(${gn},${gn},${gn}\\)$`),qE=new RegExp(`^rgba\\(${pl},${pl},${pl},${Io}\\)$`),UE=new RegExp(`^rgba\\(${gn},${gn},${gn},${Io}\\)$`),GE=new RegExp(`^hsl\\(${Io},${gn},${gn}\\)$`),VE=new RegExp(`^hsla\\(${Io},${gn},${gn},${Io}\\)$`),Dy={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};Ff(Yo,ui,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:Oy,formatHex:Oy,formatHex8:YE,formatHsl:PE,formatRgb:Iy,toString:Iy});function Oy(){return this.rgb().formatHex()}function YE(){return this.rgb().formatHex8()}function PE(){return kv(this).formatHsl()}function Iy(){return this.rgb().formatRgb()}function ui(t){var a,l;return t=(t+"").trim().toLowerCase(),(a=HE.exec(t))?(l=a[1].length,a=parseInt(a[1],16),l===6?Ly(a):l===3?new jt(a>>8&15|a>>4&240,a>>4&15|a&240,(a&15)<<4|a&15,1):l===8?Es(a>>24&255,a>>16&255,a>>8&255,(a&255)/255):l===4?Es(a>>12&15|a>>8&240,a>>8&15|a>>4&240,a>>4&15|a&240,((a&15)<<4|a&15)/255):null):(a=kE.exec(t))?new jt(a[1],a[2],a[3],1):(a=BE.exec(t))?new jt(a[1]*255/100,a[2]*255/100,a[3]*255/100,1):(a=qE.exec(t))?Es(a[1],a[2],a[3],a[4]):(a=UE.exec(t))?Es(a[1]*255/100,a[2]*255/100,a[3]*255/100,a[4]):(a=GE.exec(t))?By(a[1],a[2]/100,a[3]/100,1):(a=VE.exec(t))?By(a[1],a[2]/100,a[3]/100,a[4]):Dy.hasOwnProperty(t)?Ly(Dy[t]):t==="transparent"?new jt(NaN,NaN,NaN,0):null}function Ly(t){return new jt(t>>16&255,t>>8&255,t&255,1)}function Es(t,a,l,o){return o<=0&&(t=a=l=NaN),new jt(t,a,l,o)}function $E(t){return t instanceof Yo||(t=ui(t)),t?(t=t.rgb(),new jt(t.r,t.g,t.b,t.opacity)):new jt}function _f(t,a,l,o){return arguments.length===1?$E(t):new jt(t,a,l,o??1)}function jt(t,a,l,o){this.r=+t,this.g=+a,this.b=+l,this.opacity=+o}Ff(jt,_f,Hv(Yo,{brighter(t){return t=t==null?Zs:Math.pow(Zs,t),new jt(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?Oo:Math.pow(Oo,t),new jt(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new jt(ri(this.r),ri(this.g),ri(this.b),Ks(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:Hy,formatHex:Hy,formatHex8:FE,formatRgb:ky,toString:ky}));function Hy(){return`#${li(this.r)}${li(this.g)}${li(this.b)}`}function FE(){return`#${li(this.r)}${li(this.g)}${li(this.b)}${li((isNaN(this.opacity)?1:this.opacity)*255)}`}function ky(){const t=Ks(this.opacity);return`${t===1?"rgb(":"rgba("}${ri(this.r)}, ${ri(this.g)}, ${ri(this.b)}${t===1?")":`, ${t})`}`}function Ks(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function ri(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function li(t){return t=ri(t),(t<16?"0":"")+t.toString(16)}function By(t,a,l,o){return o<=0?t=a=l=NaN:l<=0||l>=1?t=a=NaN:a<=0&&(t=NaN),new an(t,a,l,o)}function kv(t){if(t instanceof an)return new an(t.h,t.s,t.l,t.opacity);if(t instanceof Yo||(t=ui(t)),!t)return new an;if(t instanceof an)return t;t=t.rgb();var a=t.r/255,l=t.g/255,o=t.b/255,s=Math.min(a,l,o),c=Math.max(a,l,o),d=NaN,m=c-s,y=(c+s)/2;return m?(a===c?d=(l-o)/m+(l<o)*6:l===c?d=(o-a)/m+2:d=(a-l)/m+4,m/=y<.5?c+s:2-c-s,d*=60):m=y>0&&y<1?0:d,new an(d,m,y,t.opacity)}function XE(t,a,l,o){return arguments.length===1?kv(t):new an(t,a,l,o??1)}function an(t,a,l,o){this.h=+t,this.s=+a,this.l=+l,this.opacity=+o}Ff(an,XE,Hv(Yo,{brighter(t){return t=t==null?Zs:Math.pow(Zs,t),new an(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Oo:Math.pow(Oo,t),new an(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,a=isNaN(t)||isNaN(this.s)?0:this.s,l=this.l,o=l+(l<.5?l:1-l)*a,s=2*l-o;return new jt(af(t>=240?t-240:t+120,s,o),af(t,s,o),af(t<120?t+240:t-120,s,o),this.opacity)},clamp(){return new an(qy(this.h),Cs(this.s),Cs(this.l),Ks(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 t=Ks(this.opacity);return`${t===1?"hsl(":"hsla("}${qy(this.h)}, ${Cs(this.s)*100}%, ${Cs(this.l)*100}%${t===1?")":`, ${t})`}`}}));function qy(t){return t=(t||0)%360,t<0?t+360:t}function Cs(t){return Math.max(0,Math.min(1,t||0))}function af(t,a,l){return(t<60?a+(l-a)*t/60:t<180?l:t<240?a+(l-a)*(240-t)/60:a)*255}const Xf=t=>()=>t;function ZE(t,a){return function(l){return t+l*a}}function KE(t,a,l){return t=Math.pow(t,l),a=Math.pow(a,l)-t,l=1/l,function(o){return Math.pow(t+o*a,l)}}function QE(t){return(t=+t)==1?Bv:function(a,l){return l-a?KE(a,l,t):Xf(isNaN(a)?l:a)}}function Bv(t,a){var l=a-t;return l?ZE(t,l):Xf(isNaN(t)?a:t)}const Qs=(function t(a){var l=QE(a);function o(s,c){var d=l((s=_f(s)).r,(c=_f(c)).r),m=l(s.g,c.g),y=l(s.b,c.b),p=Bv(s.opacity,c.opacity);return function(g){return s.r=d(g),s.g=m(g),s.b=y(g),s.opacity=p(g),s+""}}return o.gamma=t,o})(1);function JE(t,a){a||(a=[]);var l=t?Math.min(a.length,t.length):0,o=a.slice(),s;return function(c){for(s=0;s<l;++s)o[s]=t[s]*(1-c)+a[s]*c;return o}}function WE(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function eC(t,a){var l=a?a.length:0,o=t?Math.min(l,t.length):0,s=new Array(o),c=new Array(l),d;for(d=0;d<o;++d)s[d]=zo(t[d],a[d]);for(;d<l;++d)c[d]=a[d];return function(m){for(d=0;d<o;++d)c[d]=s[d](m);return c}}function tC(t,a){var l=new Date;return t=+t,a=+a,function(o){return l.setTime(t*(1-o)+a*o),l}}function mn(t,a){return t=+t,a=+a,function(l){return t*(1-l)+a*l}}function nC(t,a){var l={},o={},s;(t===null||typeof t!="object")&&(t={}),(a===null||typeof a!="object")&&(a={});for(s in a)s in t?l[s]=zo(t[s],a[s]):o[s]=a[s];return function(c){for(s in l)o[s]=l[s](c);return o}}var Ef=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,lf=new RegExp(Ef.source,"g");function aC(t){return function(){return t}}function iC(t){return function(a){return t(a)+""}}function qv(t,a){var l=Ef.lastIndex=lf.lastIndex=0,o,s,c,d=-1,m=[],y=[];for(t=t+"",a=a+"";(o=Ef.exec(t))&&(s=lf.exec(a));)(c=s.index)>l&&(c=a.slice(l,c),m[d]?m[d]+=c:m[++d]=c),(o=o[0])===(s=s[0])?m[d]?m[d]+=s:m[++d]=s:(m[++d]=null,y.push({i:d,x:mn(o,s)})),l=lf.lastIndex;return l<a.length&&(c=a.slice(l),m[d]?m[d]+=c:m[++d]=c),m.length<2?y[0]?iC(y[0].x):aC(a):(a=y.length,function(p){for(var g=0,v;g<a;++g)m[(v=y[g]).i]=v.x(p);return m.join("")})}function zo(t,a){var l=typeof a,o;return a==null||l==="boolean"?Xf(a):(l==="number"?mn:l==="string"?(o=ui(a))?(a=o,Qs):qv:a instanceof ui?Qs:a instanceof Date?tC:WE(a)?JE:Array.isArray(a)?eC:typeof a.valueOf!="function"&&typeof a.toString!="function"||isNaN(a)?nC:mn)(t,a)}var Uy=180/Math.PI,Cf={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Uv(t,a,l,o,s,c){var d,m,y;return(d=Math.sqrt(t*t+a*a))&&(t/=d,a/=d),(y=t*l+a*o)&&(l-=t*y,o-=a*y),(m=Math.sqrt(l*l+o*o))&&(l/=m,o/=m,y/=m),t*o<a*l&&(t=-t,a=-a,y=-y,d=-d),{translateX:s,translateY:c,rotate:Math.atan2(a,t)*Uy,skewX:Math.atan(y)*Uy,scaleX:d,scaleY:m}}var Ts;function lC(t){const a=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return a.isIdentity?Cf:Uv(a.a,a.b,a.c,a.d,a.e,a.f)}function oC(t){return t==null||(Ts||(Ts=document.createElementNS("http://www.w3.org/2000/svg","g")),Ts.setAttribute("transform",t),!(t=Ts.transform.baseVal.consolidate()))?Cf:(t=t.matrix,Uv(t.a,t.b,t.c,t.d,t.e,t.f))}function Gv(t,a,l,o){function s(p){return p.length?p.pop()+" ":""}function c(p,g,v,x,S,N){if(p!==v||g!==x){var _=S.push("translate(",null,a,null,l);N.push({i:_-4,x:mn(p,v)},{i:_-2,x:mn(g,x)})}else(v||x)&&S.push("translate("+v+a+x+l)}function d(p,g,v,x){p!==g?(p-g>180?g+=360:g-p>180&&(p+=360),x.push({i:v.push(s(v)+"rotate(",null,o)-2,x:mn(p,g)})):g&&v.push(s(v)+"rotate("+g+o)}function m(p,g,v,x){p!==g?x.push({i:v.push(s(v)+"skewX(",null,o)-2,x:mn(p,g)}):g&&v.push(s(v)+"skewX("+g+o)}function y(p,g,v,x,S,N){if(p!==v||g!==x){var _=S.push(s(S)+"scale(",null,",",null,")");N.push({i:_-4,x:mn(p,v)},{i:_-2,x:mn(g,x)})}else(v!==1||x!==1)&&S.push(s(S)+"scale("+v+","+x+")")}return function(p,g){var v=[],x=[];return p=t(p),g=t(g),c(p.translateX,p.translateY,g.translateX,g.translateY,v,x),d(p.rotate,g.rotate,v,x),m(p.skewX,g.skewX,v,x),y(p.scaleX,p.scaleY,g.scaleX,g.scaleY,v,x),p=g=null,function(S){for(var N=-1,_=x.length,D;++N<_;)v[(D=x[N]).i]=D.x(S);return v.join("")}}}var rC=Gv(lC,"px, ","px)","deg)"),sC=Gv(oC,", ",")",")"),cC=1e-12;function Gy(t){return((t=Math.exp(t))+1/t)/2}function uC(t){return((t=Math.exp(t))-1/t)/2}function dC(t){return((t=Math.exp(2*t))-1)/(t+1)}const Us=(function t(a,l,o){function s(c,d){var m=c[0],y=c[1],p=c[2],g=d[0],v=d[1],x=d[2],S=g-m,N=v-y,_=S*S+N*N,D,j;if(_<cC)j=Math.log(x/p)/a,D=function(k){return[m+k*S,y+k*N,p*Math.exp(a*k*j)]};else{var A=Math.sqrt(_),E=(x*x-p*p+o*_)/(2*p*l*A),w=(x*x-p*p-o*_)/(2*x*l*A),B=Math.log(Math.sqrt(E*E+1)-E),O=Math.log(Math.sqrt(w*w+1)-w);j=(O-B)/a,D=function(k){var F=k*j,K=Gy(B),de=p/(l*A)*(K*dC(a*F+B)-uC(B));return[m+de*S,y+de*N,p*K/Gy(a*F+B)]}}return D.duration=j*1e3*a/Math.SQRT2,D}return s.rho=function(c){var d=Math.max(.001,+c),m=d*d,y=m*m;return t(d,m,y)},s})(Math.SQRT2,2,4);var yl=0,Co=0,So=0,Vv=1e3,Js,To,Ws=0,di=0,sc=0,Lo=typeof performance=="object"&&performance.now?performance:Date,Yv=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function Zf(){return di||(Yv(fC),di=Lo.now()+sc)}function fC(){di=0}function ec(){this._call=this._time=this._next=null}ec.prototype=Pv.prototype={constructor:ec,restart:function(t,a,l){if(typeof t!="function")throw new TypeError("callback is not a function");l=(l==null?Zf():+l)+(a==null?0:+a),!this._next&&To!==this&&(To?To._next=this:Js=this,To=this),this._call=t,this._time=l,Tf()},stop:function(){this._call&&(this._call=null,this._time=1/0,Tf())}};function Pv(t,a,l){var o=new ec;return o.restart(t,a,l),o}function hC(){Zf(),++yl;for(var t=Js,a;t;)(a=di-t._time)>=0&&t._call.call(void 0,a),t=t._next;--yl}function Vy(){di=(Ws=Lo.now())+sc,yl=Co=0;try{hC()}finally{yl=0,pC(),di=0}}function mC(){var t=Lo.now(),a=t-Ws;a>Vv&&(sc-=a,Ws=t)}function pC(){for(var t,a=Js,l,o=1/0;a;)a._call?(o>a._time&&(o=a._time),t=a,a=a._next):(l=a._next,a._next=null,a=t?t._next=l:Js=l);To=t,Tf(o)}function Tf(t){if(!yl){Co&&(Co=clearTimeout(Co));var a=t-di;a>24?(t<1/0&&(Co=setTimeout(Vy,t-Lo.now()-sc)),So&&(So=clearInterval(So))):(So||(Ws=Lo.now(),So=setInterval(mC,Vv)),yl=1,Yv(Vy))}}function Yy(t,a,l){var o=new ec;return a=a==null?0:+a,o.restart(s=>{o.stop(),t(s+a)},a,l),o}var gC=oc("start","end","cancel","interrupt"),yC=[],$v=0,Py=1,Mf=2,Gs=3,$y=4,Af=5,Vs=6;function cc(t,a,l,o,s,c){var d=t.__transition;if(!d)t.__transition={};else if(l in d)return;vC(t,l,{name:a,index:o,group:s,on:gC,tween:yC,time:c.time,delay:c.delay,duration:c.duration,ease:c.ease,timer:null,state:$v})}function Kf(t,a){var l=rn(t,a);if(l.state>$v)throw new Error("too late; already scheduled");return l}function vn(t,a){var l=rn(t,a);if(l.state>Gs)throw new Error("too late; already running");return l}function rn(t,a){var l=t.__transition;if(!l||!(l=l[a]))throw new Error("transition not found");return l}function vC(t,a,l){var o=t.__transition,s;o[a]=l,l.timer=Pv(c,0,l.time);function c(p){l.state=Py,l.timer.restart(d,l.delay,l.time),l.delay<=p&&d(p-l.delay)}function d(p){var g,v,x,S;if(l.state!==Py)return y();for(g in o)if(S=o[g],S.name===l.name){if(S.state===Gs)return Yy(d);S.state===$y?(S.state=Vs,S.timer.stop(),S.on.call("interrupt",t,t.__data__,S.index,S.group),delete o[g]):+g<a&&(S.state=Vs,S.timer.stop(),S.on.call("cancel",t,t.__data__,S.index,S.group),delete o[g])}if(Yy(function(){l.state===Gs&&(l.state=$y,l.timer.restart(m,l.delay,l.time),m(p))}),l.state=Mf,l.on.call("start",t,t.__data__,l.index,l.group),l.state===Mf){for(l.state=Gs,s=new Array(x=l.tween.length),g=0,v=-1;g<x;++g)(S=l.tween[g].value.call(t,t.__data__,l.index,l.group))&&(s[++v]=S);s.length=v+1}}function m(p){for(var g=p<l.duration?l.ease.call(null,p/l.duration):(l.timer.restart(y),l.state=Af,1),v=-1,x=s.length;++v<x;)s[v].call(t,g);l.state===Af&&(l.on.call("end",t,t.__data__,l.index,l.group),y())}function y(){l.state=Vs,l.timer.stop(),delete o[a];for(var p in o)return;delete t.__transition}}function Ys(t,a){var l=t.__transition,o,s,c=!0,d;if(l){a=a==null?null:a+"";for(d in l){if((o=l[d]).name!==a){c=!1;continue}s=o.state>Mf&&o.state<Af,o.state=Vs,o.timer.stop(),o.on.call(s?"interrupt":"cancel",t,t.__data__,o.index,o.group),delete l[d]}c&&delete t.__transition}}function xC(t){return this.each(function(){Ys(this,t)})}function bC(t,a){var l,o;return function(){var s=vn(this,t),c=s.tween;if(c!==l){o=l=c;for(var d=0,m=o.length;d<m;++d)if(o[d].name===a){o=o.slice(),o.splice(d,1);break}}s.tween=o}}function SC(t,a,l){var o,s;if(typeof l!="function")throw new Error;return function(){var c=vn(this,t),d=c.tween;if(d!==o){s=(o=d).slice();for(var m={name:a,value:l},y=0,p=s.length;y<p;++y)if(s[y].name===a){s[y]=m;break}y===p&&s.push(m)}c.tween=s}}function wC(t,a){var l=this._id;if(t+="",arguments.length<2){for(var o=rn(this.node(),l).tween,s=0,c=o.length,d;s<c;++s)if((d=o[s]).name===t)return d.value;return null}return this.each((a==null?bC:SC)(l,t,a))}function Qf(t,a,l){var o=t._id;return t.each(function(){var s=vn(this,o);(s.value||(s.value={}))[a]=l.apply(this,arguments)}),function(s){return rn(s,o).value[a]}}function Fv(t,a){var l;return(typeof a=="number"?mn:a instanceof ui?Qs:(l=ui(a))?(a=l,Qs):qv)(t,a)}function NC(t){return function(){this.removeAttribute(t)}}function _C(t){return function(){this.removeAttributeNS(t.space,t.local)}}function EC(t,a,l){var o,s=l+"",c;return function(){var d=this.getAttribute(t);return d===s?null:d===o?c:c=a(o=d,l)}}function CC(t,a,l){var o,s=l+"",c;return function(){var d=this.getAttributeNS(t.space,t.local);return d===s?null:d===o?c:c=a(o=d,l)}}function TC(t,a,l){var o,s,c;return function(){var d,m=l(this),y;return m==null?void this.removeAttribute(t):(d=this.getAttribute(t),y=m+"",d===y?null:d===o&&y===s?c:(s=y,c=a(o=d,m)))}}function MC(t,a,l){var o,s,c;return function(){var d,m=l(this),y;return m==null?void this.removeAttributeNS(t.space,t.local):(d=this.getAttributeNS(t.space,t.local),y=m+"",d===y?null:d===o&&y===s?c:(s=y,c=a(o=d,m)))}}function AC(t,a){var l=rc(t),o=l==="transform"?sC:Fv;return this.attrTween(t,typeof a=="function"?(l.local?MC:TC)(l,o,Qf(this,"attr."+t,a)):a==null?(l.local?_C:NC)(l):(l.local?CC:EC)(l,o,a))}function jC(t,a){return function(l){this.setAttribute(t,a.call(this,l))}}function zC(t,a){return function(l){this.setAttributeNS(t.space,t.local,a.call(this,l))}}function RC(t,a){var l,o;function s(){var c=a.apply(this,arguments);return c!==o&&(l=(o=c)&&zC(t,c)),l}return s._value=a,s}function DC(t,a){var l,o;function s(){var c=a.apply(this,arguments);return c!==o&&(l=(o=c)&&jC(t,c)),l}return s._value=a,s}function OC(t,a){var l="attr."+t;if(arguments.length<2)return(l=this.tween(l))&&l._value;if(a==null)return this.tween(l,null);if(typeof a!="function")throw new Error;var o=rc(t);return this.tween(l,(o.local?RC:DC)(o,a))}function IC(t,a){return function(){Kf(this,t).delay=+a.apply(this,arguments)}}function LC(t,a){return a=+a,function(){Kf(this,t).delay=a}}function HC(t){var a=this._id;return arguments.length?this.each((typeof t=="function"?IC:LC)(a,t)):rn(this.node(),a).delay}function kC(t,a){return function(){vn(this,t).duration=+a.apply(this,arguments)}}function BC(t,a){return a=+a,function(){vn(this,t).duration=a}}function qC(t){var a=this._id;return arguments.length?this.each((typeof t=="function"?kC:BC)(a,t)):rn(this.node(),a).duration}function UC(t,a){if(typeof a!="function")throw new Error;return function(){vn(this,t).ease=a}}function GC(t){var a=this._id;return arguments.length?this.each(UC(a,t)):rn(this.node(),a).ease}function VC(t,a){return function(){var l=a.apply(this,arguments);if(typeof l!="function")throw new Error;vn(this,t).ease=l}}function YC(t){if(typeof t!="function")throw new Error;return this.each(VC(this._id,t))}function PC(t){typeof t!="function"&&(t=_v(t));for(var a=this._groups,l=a.length,o=new Array(l),s=0;s<l;++s)for(var c=a[s],d=c.length,m=o[s]=[],y,p=0;p<d;++p)(y=c[p])&&t.call(y,y.__data__,p,c)&&m.push(y);return new Pn(o,this._parents,this._name,this._id)}function $C(t){if(t._id!==this._id)throw new Error;for(var a=this._groups,l=t._groups,o=a.length,s=l.length,c=Math.min(o,s),d=new Array(o),m=0;m<c;++m)for(var y=a[m],p=l[m],g=y.length,v=d[m]=new Array(g),x,S=0;S<g;++S)(x=y[S]||p[S])&&(v[S]=x);for(;m<o;++m)d[m]=a[m];return new Pn(d,this._parents,this._name,this._id)}function FC(t){return(t+"").trim().split(/^|\s+/).every(function(a){var l=a.indexOf(".");return l>=0&&(a=a.slice(0,l)),!a||a==="start"})}function XC(t,a,l){var o,s,c=FC(a)?Kf:vn;return function(){var d=c(this,t),m=d.on;m!==o&&(s=(o=m).copy()).on(a,l),d.on=s}}function ZC(t,a){var l=this._id;return arguments.length<2?rn(this.node(),l).on.on(t):this.each(XC(l,t,a))}function KC(t){return function(){var a=this.parentNode;for(var l in this.__transition)if(+l!==t)return;a&&a.removeChild(this)}}function QC(){return this.on("end.remove",KC(this._id))}function JC(t){var a=this._name,l=this._id;typeof t!="function"&&(t=Pf(t));for(var o=this._groups,s=o.length,c=new Array(s),d=0;d<s;++d)for(var m=o[d],y=m.length,p=c[d]=new Array(y),g,v,x=0;x<y;++x)(g=m[x])&&(v=t.call(g,g.__data__,x,m))&&("__data__"in g&&(v.__data__=g.__data__),p[x]=v,cc(p[x],a,l,x,p,rn(g,l)));return new Pn(c,this._parents,a,l)}function WC(t){var a=this._name,l=this._id;typeof t!="function"&&(t=Nv(t));for(var o=this._groups,s=o.length,c=[],d=[],m=0;m<s;++m)for(var y=o[m],p=y.length,g,v=0;v<p;++v)if(g=y[v]){for(var x=t.call(g,g.__data__,v,y),S,N=rn(g,l),_=0,D=x.length;_<D;++_)(S=x[_])&&cc(S,a,l,_,x,N);c.push(x),d.push(g)}return new Pn(c,d,a,l)}var eT=Vo.prototype.constructor;function tT(){return new eT(this._groups,this._parents)}function nT(t,a){var l,o,s;return function(){var c=gl(this,t),d=(this.style.removeProperty(t),gl(this,t));return c===d?null:c===l&&d===o?s:s=a(l=c,o=d)}}function Xv(t){return function(){this.style.removeProperty(t)}}function aT(t,a,l){var o,s=l+"",c;return function(){var d=gl(this,t);return d===s?null:d===o?c:c=a(o=d,l)}}function iT(t,a,l){var o,s,c;return function(){var d=gl(this,t),m=l(this),y=m+"";return m==null&&(y=m=(this.style.removeProperty(t),gl(this,t))),d===y?null:d===o&&y===s?c:(s=y,c=a(o=d,m))}}function lT(t,a){var l,o,s,c="style."+a,d="end."+c,m;return function(){var y=vn(this,t),p=y.on,g=y.value[c]==null?m||(m=Xv(a)):void 0;(p!==l||s!==g)&&(o=(l=p).copy()).on(d,s=g),y.on=o}}function oT(t,a,l){var o=(t+="")=="transform"?rC:Fv;return a==null?this.styleTween(t,nT(t,o)).on("end.style."+t,Xv(t)):typeof a=="function"?this.styleTween(t,iT(t,o,Qf(this,"style."+t,a))).each(lT(this._id,t)):this.styleTween(t,aT(t,o,a),l).on("end.style."+t,null)}function rT(t,a,l){return function(o){this.style.setProperty(t,a.call(this,o),l)}}function sT(t,a,l){var o,s;function c(){var d=a.apply(this,arguments);return d!==s&&(o=(s=d)&&rT(t,d,l)),o}return c._value=a,c}function cT(t,a,l){var o="style."+(t+="");if(arguments.length<2)return(o=this.tween(o))&&o._value;if(a==null)return this.tween(o,null);if(typeof a!="function")throw new Error;return this.tween(o,sT(t,a,l??""))}function uT(t){return function(){this.textContent=t}}function dT(t){return function(){var a=t(this);this.textContent=a??""}}function fT(t){return this.tween("text",typeof t=="function"?dT(Qf(this,"text",t)):uT(t==null?"":t+""))}function hT(t){return function(a){this.textContent=t.call(this,a)}}function mT(t){var a,l;function o(){var s=t.apply(this,arguments);return s!==l&&(a=(l=s)&&hT(s)),a}return o._value=t,o}function pT(t){var a="text";if(arguments.length<1)return(a=this.tween(a))&&a._value;if(t==null)return this.tween(a,null);if(typeof t!="function")throw new Error;return this.tween(a,mT(t))}function gT(){for(var t=this._name,a=this._id,l=Zv(),o=this._groups,s=o.length,c=0;c<s;++c)for(var d=o[c],m=d.length,y,p=0;p<m;++p)if(y=d[p]){var g=rn(y,a);cc(y,t,l,p,d,{time:g.time+g.delay+g.duration,delay:0,duration:g.duration,ease:g.ease})}return new Pn(o,this._parents,t,l)}function yT(){var t,a,l=this,o=l._id,s=l.size();return new Promise(function(c,d){var m={value:d},y={value:function(){--s===0&&c()}};l.each(function(){var p=vn(this,o),g=p.on;g!==t&&(a=(t=g).copy(),a._.cancel.push(m),a._.interrupt.push(m),a._.end.push(y)),p.on=a}),s===0&&c()})}var vT=0;function Pn(t,a,l,o){this._groups=t,this._parents=a,this._name=l,this._id=o}function Zv(){return++vT}var Vn=Vo.prototype;Pn.prototype={constructor:Pn,select:JC,selectAll:WC,selectChild:Vn.selectChild,selectChildren:Vn.selectChildren,filter:PC,merge:$C,selection:tT,transition:gT,call:Vn.call,nodes:Vn.nodes,node:Vn.node,size:Vn.size,empty:Vn.empty,each:Vn.each,on:ZC,attr:AC,attrTween:OC,style:oT,styleTween:cT,text:fT,textTween:pT,remove:QC,tween:wC,delay:HC,duration:qC,ease:GC,easeVarying:YC,end:yT,[Symbol.iterator]:Vn[Symbol.iterator]};function xT(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var bT={time:null,delay:0,duration:250,ease:xT};function ST(t,a){for(var l;!(l=t.__transition)||!(l=l[a]);)if(!(t=t.parentNode))throw new Error(`transition ${a} not found`);return l}function wT(t){var a,l;t instanceof Pn?(a=t._id,t=t._name):(a=Zv(),(l=bT).time=Zf(),t=t==null?null:t+"");for(var o=this._groups,s=o.length,c=0;c<s;++c)for(var d=o[c],m=d.length,y,p=0;p<m;++p)(y=d[p])&&cc(y,t,a,p,d,l||ST(y,a));return new Pn(o,this._parents,t,a)}Vo.prototype.interrupt=xC;Vo.prototype.transition=wT;const Ms=t=>()=>t;function NT(t,{sourceEvent:a,target:l,transform:o,dispatch:s}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:a,enumerable:!0,configurable:!0},target:{value:l,enumerable:!0,configurable:!0},transform:{value:o,enumerable:!0,configurable:!0},_:{value:s}})}function Yn(t,a,l){this.k=t,this.x=a,this.y=l}Yn.prototype={constructor:Yn,scale:function(t){return t===1?this:new Yn(this.k*t,this.x,this.y)},translate:function(t,a){return t===0&a===0?this:new Yn(this.k,this.x+this.k*t,this.y+this.k*a)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var uc=new Yn(1,0,0);Kv.prototype=Yn.prototype;function Kv(t){for(;!t.__zoom;)if(!(t=t.parentNode))return uc;return t.__zoom}function of(t){t.stopImmediatePropagation()}function wo(t){t.preventDefault(),t.stopImmediatePropagation()}function _T(t){return(!t.ctrlKey||t.type==="wheel")&&!t.button}function ET(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t,t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]):[[0,0],[t.clientWidth,t.clientHeight]]}function Fy(){return this.__zoom||uc}function CT(t){return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function TT(){return navigator.maxTouchPoints||"ontouchstart"in this}function MT(t,a,l){var o=t.invertX(a[0][0])-l[0][0],s=t.invertX(a[1][0])-l[1][0],c=t.invertY(a[0][1])-l[0][1],d=t.invertY(a[1][1])-l[1][1];return t.translate(s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s),d>c?(c+d)/2:Math.min(0,c)||Math.max(0,d))}function Qv(){var t=_T,a=ET,l=MT,o=CT,s=TT,c=[0,1/0],d=[[-1/0,-1/0],[1/0,1/0]],m=250,y=Us,p=oc("start","zoom","end"),g,v,x,S=500,N=150,_=0,D=10;function j(z){z.property("__zoom",Fy).on("wheel.zoom",F,{passive:!1}).on("mousedown.zoom",K).on("dblclick.zoom",de).filter(s).on("touchstart.zoom",X).on("touchmove.zoom",te).on("touchend.zoom touchcancel.zoom",se).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}j.transform=function(z,M,T,I){var U=z.selection?z.selection():z;U.property("__zoom",Fy),z!==U?B(z,M,T,I):U.interrupt().each(function(){O(this,arguments).event(I).start().zoom(null,typeof M=="function"?M.apply(this,arguments):M).end()})},j.scaleBy=function(z,M,T,I){j.scaleTo(z,function(){var U=this.__zoom.k,Z=typeof M=="function"?M.apply(this,arguments):M;return U*Z},T,I)},j.scaleTo=function(z,M,T,I){j.transform(z,function(){var U=a.apply(this,arguments),Z=this.__zoom,ae=T==null?w(U):typeof T=="function"?T.apply(this,arguments):T,R=Z.invert(ae),q=typeof M=="function"?M.apply(this,arguments):M;return l(E(A(Z,q),ae,R),U,d)},T,I)},j.translateBy=function(z,M,T,I){j.transform(z,function(){return l(this.__zoom.translate(typeof M=="function"?M.apply(this,arguments):M,typeof T=="function"?T.apply(this,arguments):T),a.apply(this,arguments),d)},null,I)},j.translateTo=function(z,M,T,I,U){j.transform(z,function(){var Z=a.apply(this,arguments),ae=this.__zoom,R=I==null?w(Z):typeof I=="function"?I.apply(this,arguments):I;return l(uc.translate(R[0],R[1]).scale(ae.k).translate(typeof M=="function"?-M.apply(this,arguments):-M,typeof T=="function"?-T.apply(this,arguments):-T),Z,d)},I,U)};function A(z,M){return M=Math.max(c[0],Math.min(c[1],M)),M===z.k?z:new Yn(M,z.x,z.y)}function E(z,M,T){var I=M[0]-T[0]*z.k,U=M[1]-T[1]*z.k;return I===z.x&&U===z.y?z:new Yn(z.k,I,U)}function w(z){return[(+z[0][0]+ +z[1][0])/2,(+z[0][1]+ +z[1][1])/2]}function B(z,M,T,I){z.on("start.zoom",function(){O(this,arguments).event(I).start()}).on("interrupt.zoom end.zoom",function(){O(this,arguments).event(I).end()}).tween("zoom",function(){var U=this,Z=arguments,ae=O(U,Z).event(I),R=a.apply(U,Z),q=T==null?w(R):typeof T=="function"?T.apply(U,Z):T,V=Math.max(R[1][0]-R[0][0],R[1][1]-R[0][1]),W=U.__zoom,fe=typeof M=="function"?M.apply(U,Z):M,$=y(W.invert(q).concat(V/W.k),fe.invert(q).concat(V/fe.k));return function(le){if(le===1)le=fe;else{var ce=$(le),ue=V/ce[2];le=new Yn(ue,q[0]-ce[0]*ue,q[1]-ce[1]*ue)}ae.zoom(null,le)}})}function O(z,M,T){return!T&&z.__zooming||new k(z,M)}function k(z,M){this.that=z,this.args=M,this.active=0,this.sourceEvent=null,this.extent=a.apply(z,M),this.taps=0}k.prototype={event:function(z){return z&&(this.sourceEvent=z),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(z,M){return this.mouse&&z!=="mouse"&&(this.mouse[1]=M.invert(this.mouse[0])),this.touch0&&z!=="touch"&&(this.touch0[1]=M.invert(this.touch0[0])),this.touch1&&z!=="touch"&&(this.touch1[1]=M.invert(this.touch1[0])),this.that.__zoom=M,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(z){var M=Bt(this.that).datum();p.call(z,this.that,new NT(z,{sourceEvent:this.sourceEvent,target:j,transform:this.that.__zoom,dispatch:p}),M)}};function F(z,...M){if(!t.apply(this,arguments))return;var T=O(this,M).event(z),I=this.__zoom,U=Math.max(c[0],Math.min(c[1],I.k*Math.pow(2,o.apply(this,arguments)))),Z=nn(z);if(T.wheel)(T.mouse[0][0]!==Z[0]||T.mouse[0][1]!==Z[1])&&(T.mouse[1]=I.invert(T.mouse[0]=Z)),clearTimeout(T.wheel);else{if(I.k===U)return;T.mouse=[Z,I.invert(Z)],Ys(this),T.start()}wo(z),T.wheel=setTimeout(ae,N),T.zoom("mouse",l(E(A(I,U),T.mouse[0],T.mouse[1]),T.extent,d));function ae(){T.wheel=null,T.end()}}function K(z,...M){if(x||!t.apply(this,arguments))return;var T=z.currentTarget,I=O(this,M,!0).event(z),U=Bt(z.view).on("mousemove.zoom",q,!0).on("mouseup.zoom",V,!0),Z=nn(z,T),ae=z.clientX,R=z.clientY;Ov(z.view),of(z),I.mouse=[Z,this.__zoom.invert(Z)],Ys(this),I.start();function q(W){if(wo(W),!I.moved){var fe=W.clientX-ae,$=W.clientY-R;I.moved=fe*fe+$*$>_}I.event(W).zoom("mouse",l(E(I.that.__zoom,I.mouse[0]=nn(W,T),I.mouse[1]),I.extent,d))}function V(W){U.on("mousemove.zoom mouseup.zoom",null),Iv(W.view,I.moved),wo(W),I.event(W).end()}}function de(z,...M){if(t.apply(this,arguments)){var T=this.__zoom,I=nn(z.changedTouches?z.changedTouches[0]:z,this),U=T.invert(I),Z=T.k*(z.shiftKey?.5:2),ae=l(E(A(T,Z),I,U),a.apply(this,M),d);wo(z),m>0?Bt(this).transition().duration(m).call(B,ae,I,z):Bt(this).call(j.transform,ae,I,z)}}function X(z,...M){if(t.apply(this,arguments)){var T=z.touches,I=T.length,U=O(this,M,z.changedTouches.length===I).event(z),Z,ae,R,q;for(of(z),ae=0;ae<I;++ae)R=T[ae],q=nn(R,this),q=[q,this.__zoom.invert(q),R.identifier],U.touch0?!U.touch1&&U.touch0[2]!==q[2]&&(U.touch1=q,U.taps=0):(U.touch0=q,Z=!0,U.taps=1+!!g);g&&(g=clearTimeout(g)),Z&&(U.taps<2&&(v=q[0],g=setTimeout(function(){g=null},S)),Ys(this),U.start())}}function te(z,...M){if(this.__zooming){var T=O(this,M).event(z),I=z.changedTouches,U=I.length,Z,ae,R,q;for(wo(z),Z=0;Z<U;++Z)ae=I[Z],R=nn(ae,this),T.touch0&&T.touch0[2]===ae.identifier?T.touch0[0]=R:T.touch1&&T.touch1[2]===ae.identifier&&(T.touch1[0]=R);if(ae=T.that.__zoom,T.touch1){var V=T.touch0[0],W=T.touch0[1],fe=T.touch1[0],$=T.touch1[1],le=(le=fe[0]-V[0])*le+(le=fe[1]-V[1])*le,ce=(ce=$[0]-W[0])*ce+(ce=$[1]-W[1])*ce;ae=A(ae,Math.sqrt(le/ce)),R=[(V[0]+fe[0])/2,(V[1]+fe[1])/2],q=[(W[0]+$[0])/2,(W[1]+$[1])/2]}else if(T.touch0)R=T.touch0[0],q=T.touch0[1];else return;T.zoom("touch",l(E(ae,R,q),T.extent,d))}}function se(z,...M){if(this.__zooming){var T=O(this,M).event(z),I=z.changedTouches,U=I.length,Z,ae;for(of(z),x&&clearTimeout(x),x=setTimeout(function(){x=null},S),Z=0;Z<U;++Z)ae=I[Z],T.touch0&&T.touch0[2]===ae.identifier?delete T.touch0:T.touch1&&T.touch1[2]===ae.identifier&&delete T.touch1;if(T.touch1&&!T.touch0&&(T.touch0=T.touch1,delete T.touch1),T.touch0)T.touch0[1]=this.__zoom.invert(T.touch0[0]);else if(T.end(),T.taps===2&&(ae=nn(ae,this),Math.hypot(v[0]-ae[0],v[1]-ae[1])<D)){var R=Bt(this).on("dblclick.zoom");R&&R.apply(this,arguments)}}}return j.wheelDelta=function(z){return arguments.length?(o=typeof z=="function"?z:Ms(+z),j):o},j.filter=function(z){return arguments.length?(t=typeof z=="function"?z:Ms(!!z),j):t},j.touchable=function(z){return arguments.length?(s=typeof z=="function"?z:Ms(!!z),j):s},j.extent=function(z){return arguments.length?(a=typeof z=="function"?z:Ms([[+z[0][0],+z[0][1]],[+z[1][0],+z[1][1]]]),j):a},j.scaleExtent=function(z){return arguments.length?(c[0]=+z[0],c[1]=+z[1],j):[c[0],c[1]]},j.translateExtent=function(z){return arguments.length?(d[0][0]=+z[0][0],d[1][0]=+z[1][0],d[0][1]=+z[0][1],d[1][1]=+z[1][1],j):[[d[0][0],d[0][1]],[d[1][0],d[1][1]]]},j.constrain=function(z){return arguments.length?(l=z,j):l},j.duration=function(z){return arguments.length?(m=+z,j):m},j.interpolate=function(z){return arguments.length?(y=z,j):y},j.on=function(){var z=p.on.apply(p,arguments);return z===p?j:z},j.clickDistance=function(z){return arguments.length?(_=(z=+z)*z,j):Math.sqrt(_)},j.tapDistance=function(z){return arguments.length?(D=+z,j):D},j}const yn={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:t=>`Node type "${t}" 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:t=>`The old edge with id=${t} does not exist.`,error009:t=>`Marker type "${t}" doesn't exist.`,error008:(t,{id:a,sourceHandle:l,targetHandle:o})=>`Couldn't create edge for ${t} handle id: "${t==="source"?l:o}", edge id: ${a}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:t=>`Edge type "${t}" not found. Using fallback type "default".`,error012:t=>`Node with id "${t}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(t="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${t}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},Ho=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Jv=["Enter"," ","Escape"],Wv={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:t,x:a,y:l})=>`Moved selected node ${t}. New position, x: ${a}, y: ${l}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var fi;(function(t){t.Strict="strict",t.Loose="loose"})(fi||(fi={}));var si;(function(t){t.Free="free",t.Vertical="vertical",t.Horizontal="horizontal"})(si||(si={}));var ko;(function(t){t.Partial="partial",t.Full="full"})(ko||(ko={}));const ex={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var Ca;(function(t){t.Bezier="default",t.Straight="straight",t.Step="step",t.SmoothStep="smoothstep",t.SimpleBezier="simplebezier"})(Ca||(Ca={}));var tc;(function(t){t.Arrow="arrow",t.ArrowClosed="arrowclosed"})(tc||(tc={}));var ge;(function(t){t.Left="left",t.Top="top",t.Right="right",t.Bottom="bottom"})(ge||(ge={}));const Xy={[ge.Left]:ge.Right,[ge.Right]:ge.Left,[ge.Top]:ge.Bottom,[ge.Bottom]:ge.Top};function tx(t){return t===null?null:t?"valid":"invalid"}const nx=t=>"id"in t&&"source"in t&&"target"in t,AT=t=>"id"in t&&"position"in t&&!("source"in t)&&!("target"in t),Jf=t=>"id"in t&&"internals"in t&&!("source"in t)&&!("target"in t),Po=(t,a=[0,0])=>{const{width:l,height:o}=$n(t),s=t.origin??a,c=l*s[0],d=o*s[1];return{x:t.position.x-c,y:t.position.y-d}},jT=(t,a={nodeOrigin:[0,0]})=>{if(t.length===0)return{x:0,y:0,width:0,height:0};const l=t.reduce((o,s)=>{const c=typeof s=="string";let d=!a.nodeLookup&&!c?s:void 0;a.nodeLookup&&(d=c?a.nodeLookup.get(s):Jf(s)?s:a.nodeLookup.get(s.id));const m=d?nc(d,a.nodeOrigin):{x:0,y:0,x2:0,y2:0};return dc(o,m)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return fc(l)},$o=(t,a={})=>{let l={x:1/0,y:1/0,x2:-1/0,y2:-1/0},o=!1;return t.forEach(s=>{(a.filter===void 0||a.filter(s))&&(l=dc(l,nc(s)),o=!0)}),o?fc(l):{x:0,y:0,width:0,height:0}},Wf=(t,a,[l,o,s]=[0,0,1],c=!1,d=!1)=>{const m={...Xo(a,[l,o,s]),width:a.width/s,height:a.height/s},y=[];for(const p of t.values()){const{measured:g,selectable:v=!0,hidden:x=!1}=p;if(d&&!v||x)continue;const S=g.width??p.width??p.initialWidth??null,N=g.height??p.height??p.initialHeight??null,_=Bo(m,xl(p)),D=(S??0)*(N??0),j=c&&_>0;(!p.internals.handleBounds||j||_>=D||p.dragging)&&y.push(p)}return y},zT=(t,a)=>{const l=new Set;return t.forEach(o=>{l.add(o.id)}),a.filter(o=>l.has(o.source)||l.has(o.target))};function RT(t,a){const l=new Map,o=a?.nodes?new Set(a.nodes.map(s=>s.id)):null;return t.forEach(s=>{s.measured.width&&s.measured.height&&(a?.includeHiddenNodes||!s.hidden)&&(!o||o.has(s.id))&&l.set(s.id,s)}),l}async function DT({nodes:t,width:a,height:l,panZoom:o,minZoom:s,maxZoom:c},d){if(t.size===0)return Promise.resolve(!0);const m=RT(t,d),y=$o(m),p=eh(y,a,l,d?.minZoom??s,d?.maxZoom??c,d?.padding??.1);return await o.setViewport(p,{duration:d?.duration,ease:d?.ease,interpolate:d?.interpolate}),Promise.resolve(!0)}function ax({nodeId:t,nextPosition:a,nodeLookup:l,nodeOrigin:o=[0,0],nodeExtent:s,onError:c}){const d=l.get(t),m=d.parentId?l.get(d.parentId):void 0,{x:y,y:p}=m?m.internals.positionAbsolute:{x:0,y:0},g=d.origin??o;let v=d.extent||s;if(d.extent==="parent"&&!d.expandParent)if(!m)c?.("005",yn.error005());else{const S=m.measured.width,N=m.measured.height;S&&N&&(v=[[y,p],[y+S,p+N]])}else m&&bl(d.extent)&&(v=[[d.extent[0][0]+y,d.extent[0][1]+p],[d.extent[1][0]+y,d.extent[1][1]+p]]);const x=bl(v)?hi(a,v,d.measured):a;return(d.measured.width===void 0||d.measured.height===void 0)&&c?.("015",yn.error015()),{position:{x:x.x-y+(d.measured.width??0)*g[0],y:x.y-p+(d.measured.height??0)*g[1]},positionAbsolute:x}}async function OT({nodesToRemove:t=[],edgesToRemove:a=[],nodes:l,edges:o,onBeforeDelete:s}){const c=new Set(t.map(x=>x.id)),d=[];for(const x of l){if(x.deletable===!1)continue;const S=c.has(x.id),N=!S&&x.parentId&&d.find(_=>_.id===x.parentId);(S||N)&&d.push(x)}const m=new Set(a.map(x=>x.id)),y=o.filter(x=>x.deletable!==!1),g=zT(d,y);for(const x of y)m.has(x.id)&&!g.find(N=>N.id===x.id)&&g.push(x);if(!s)return{edges:g,nodes:d};const v=await s({nodes:d,edges:g});return typeof v=="boolean"?v?{edges:g,nodes:d}:{edges:[],nodes:[]}:v}const vl=(t,a=0,l=1)=>Math.min(Math.max(t,a),l),hi=(t={x:0,y:0},a,l)=>({x:vl(t.x,a[0][0],a[1][0]-(l?.width??0)),y:vl(t.y,a[0][1],a[1][1]-(l?.height??0))});function ix(t,a,l){const{width:o,height:s}=$n(l),{x:c,y:d}=l.internals.positionAbsolute;return hi(t,[[c,d],[c+o,d+s]],a)}const Zy=(t,a,l)=>t<a?vl(Math.abs(t-a),1,a)/a:t>l?-vl(Math.abs(t-l),1,a)/a:0,lx=(t,a,l=15,o=40)=>{const s=Zy(t.x,o,a.width-o)*l,c=Zy(t.y,o,a.height-o)*l;return[s,c]},dc=(t,a)=>({x:Math.min(t.x,a.x),y:Math.min(t.y,a.y),x2:Math.max(t.x2,a.x2),y2:Math.max(t.y2,a.y2)}),jf=({x:t,y:a,width:l,height:o})=>({x:t,y:a,x2:t+l,y2:a+o}),fc=({x:t,y:a,x2:l,y2:o})=>({x:t,y:a,width:l-t,height:o-a}),xl=(t,a=[0,0])=>{const{x:l,y:o}=Jf(t)?t.internals.positionAbsolute:Po(t,a);return{x:l,y:o,width:t.measured?.width??t.width??t.initialWidth??0,height:t.measured?.height??t.height??t.initialHeight??0}},nc=(t,a=[0,0])=>{const{x:l,y:o}=Jf(t)?t.internals.positionAbsolute:Po(t,a);return{x:l,y:o,x2:l+(t.measured?.width??t.width??t.initialWidth??0),y2:o+(t.measured?.height??t.height??t.initialHeight??0)}},ox=(t,a)=>fc(dc(jf(t),jf(a))),Bo=(t,a)=>{const l=Math.max(0,Math.min(t.x+t.width,a.x+a.width)-Math.max(t.x,a.x)),o=Math.max(0,Math.min(t.y+t.height,a.y+a.height)-Math.max(t.y,a.y));return Math.ceil(l*o)},Ky=t=>ln(t.width)&&ln(t.height)&&ln(t.x)&&ln(t.y),ln=t=>!isNaN(t)&&isFinite(t),IT=(t,a)=>{},Fo=(t,a=[1,1])=>({x:a[0]*Math.round(t.x/a[0]),y:a[1]*Math.round(t.y/a[1])}),Xo=({x:t,y:a},[l,o,s],c=!1,d=[1,1])=>{const m={x:(t-l)/s,y:(a-o)/s};return c?Fo(m,d):m},ac=({x:t,y:a},[l,o,s])=>({x:t*s+l,y:a*s+o});function rl(t,a){if(typeof t=="number")return Math.floor((a-a/(1+t))*.5);if(typeof t=="string"&&t.endsWith("px")){const l=parseFloat(t);if(!Number.isNaN(l))return Math.floor(l)}if(typeof t=="string"&&t.endsWith("%")){const l=parseFloat(t);if(!Number.isNaN(l))return Math.floor(a*l*.01)}return console.error(`[React Flow] The padding value "${t}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function LT(t,a,l){if(typeof t=="string"||typeof t=="number"){const o=rl(t,l),s=rl(t,a);return{top:o,right:s,bottom:o,left:s,x:s*2,y:o*2}}if(typeof t=="object"){const o=rl(t.top??t.y??0,l),s=rl(t.bottom??t.y??0,l),c=rl(t.left??t.x??0,a),d=rl(t.right??t.x??0,a);return{top:o,right:d,bottom:s,left:c,x:c+d,y:o+s}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function HT(t,a,l,o,s,c){const{x:d,y:m}=ac(t,[a,l,o]),{x:y,y:p}=ac({x:t.x+t.width,y:t.y+t.height},[a,l,o]),g=s-y,v=c-p;return{left:Math.floor(d),top:Math.floor(m),right:Math.floor(g),bottom:Math.floor(v)}}const eh=(t,a,l,o,s,c)=>{const d=LT(c,a,l),m=(a-d.x)/t.width,y=(l-d.y)/t.height,p=Math.min(m,y),g=vl(p,o,s),v=t.x+t.width/2,x=t.y+t.height/2,S=a/2-v*g,N=l/2-x*g,_=HT(t,S,N,g,a,l),D={left:Math.min(_.left-d.left,0),top:Math.min(_.top-d.top,0),right:Math.min(_.right-d.right,0),bottom:Math.min(_.bottom-d.bottom,0)};return{x:S-D.left+D.right,y:N-D.top+D.bottom,zoom:g}},qo=()=>typeof navigator<"u"&&navigator?.userAgent?.indexOf("Mac")>=0;function bl(t){return t!=null&&t!=="parent"}function $n(t){return{width:t.measured?.width??t.width??t.initialWidth??0,height:t.measured?.height??t.height??t.initialHeight??0}}function rx(t){return(t.measured?.width??t.width??t.initialWidth)!==void 0&&(t.measured?.height??t.height??t.initialHeight)!==void 0}function sx(t,a={width:0,height:0},l,o,s){const c={...t},d=o.get(l);if(d){const m=d.origin||s;c.x+=d.internals.positionAbsolute.x-(a.width??0)*m[0],c.y+=d.internals.positionAbsolute.y-(a.height??0)*m[1]}return c}function Qy(t,a){if(t.size!==a.size)return!1;for(const l of t)if(!a.has(l))return!1;return!0}function kT(){let t,a;return{promise:new Promise((o,s)=>{t=o,a=s}),resolve:t,reject:a}}function BT(t){return{...Wv,...t||{}}}function Ro(t,{snapGrid:a=[0,0],snapToGrid:l=!1,transform:o,containerBounds:s}){const{x:c,y:d}=on(t),m=Xo({x:c-(s?.left??0),y:d-(s?.top??0)},o),{x:y,y:p}=l?Fo(m,a):m;return{xSnapped:y,ySnapped:p,...m}}const th=t=>({width:t.offsetWidth,height:t.offsetHeight}),cx=t=>t?.getRootNode?.()||window?.document,qT=["INPUT","SELECT","TEXTAREA"];function ux(t){const a=t.composedPath?.()?.[0]||t.target;return a?.nodeType!==1?!1:qT.includes(a.nodeName)||a.hasAttribute("contenteditable")||!!a.closest(".nokey")}const dx=t=>"clientX"in t,on=(t,a)=>{const l=dx(t),o=l?t.clientX:t.touches?.[0].clientX,s=l?t.clientY:t.touches?.[0].clientY;return{x:o-(a?.left??0),y:s-(a?.top??0)}},Jy=(t,a,l,o,s)=>{const c=a.querySelectorAll(`.${t}`);return!c||!c.length?null:Array.from(c).map(d=>{const m=d.getBoundingClientRect();return{id:d.getAttribute("data-handleid"),type:t,nodeId:s,position:d.getAttribute("data-handlepos"),x:(m.left-l.left)/o,y:(m.top-l.top)/o,...th(d)}})};function fx({sourceX:t,sourceY:a,targetX:l,targetY:o,sourceControlX:s,sourceControlY:c,targetControlX:d,targetControlY:m}){const y=t*.125+s*.375+d*.375+l*.125,p=a*.125+c*.375+m*.375+o*.125,g=Math.abs(y-t),v=Math.abs(p-a);return[y,p,g,v]}function As(t,a){return t>=0?.5*t:a*25*Math.sqrt(-t)}function Wy({pos:t,x1:a,y1:l,x2:o,y2:s,c}){switch(t){case ge.Left:return[a-As(a-o,c),l];case ge.Right:return[a+As(o-a,c),l];case ge.Top:return[a,l-As(l-s,c)];case ge.Bottom:return[a,l+As(s-l,c)]}}function hx({sourceX:t,sourceY:a,sourcePosition:l=ge.Bottom,targetX:o,targetY:s,targetPosition:c=ge.Top,curvature:d=.25}){const[m,y]=Wy({pos:l,x1:t,y1:a,x2:o,y2:s,c:d}),[p,g]=Wy({pos:c,x1:o,y1:s,x2:t,y2:a,c:d}),[v,x,S,N]=fx({sourceX:t,sourceY:a,targetX:o,targetY:s,sourceControlX:m,sourceControlY:y,targetControlX:p,targetControlY:g});return[`M${t},${a} C${m},${y} ${p},${g} ${o},${s}`,v,x,S,N]}function mx({sourceX:t,sourceY:a,targetX:l,targetY:o}){const s=Math.abs(l-t)/2,c=l<t?l+s:l-s,d=Math.abs(o-a)/2,m=o<a?o+d:o-d;return[c,m,s,d]}function UT({sourceNode:t,targetNode:a,selected:l=!1,zIndex:o=0,elevateOnSelect:s=!1,zIndexMode:c="basic"}){if(c==="manual")return o;const d=s&&l?o+1e3:o,m=Math.max(t.parentId||s&&t.selected?t.internals.z:0,a.parentId||s&&a.selected?a.internals.z:0);return d+m}function GT({sourceNode:t,targetNode:a,width:l,height:o,transform:s}){const c=dc(nc(t),nc(a));c.x===c.x2&&(c.x2+=1),c.y===c.y2&&(c.y2+=1);const d={x:-s[0]/s[2],y:-s[1]/s[2],width:l/s[2],height:o/s[2]};return Bo(d,fc(c))>0}const VT=({source:t,sourceHandle:a,target:l,targetHandle:o})=>`xy-edge__${t}${a||""}-${l}${o||""}`,YT=(t,a)=>a.some(l=>l.source===t.source&&l.target===t.target&&(l.sourceHandle===t.sourceHandle||!l.sourceHandle&&!t.sourceHandle)&&(l.targetHandle===t.targetHandle||!l.targetHandle&&!t.targetHandle)),PT=(t,a,l={})=>{if(!t.source||!t.target)return a;const o=l.getEdgeId||VT;let s;return nx(t)?s={...t}:s={...t,id:o(t)},YT(s,a)?a:(s.sourceHandle===null&&delete s.sourceHandle,s.targetHandle===null&&delete s.targetHandle,a.concat(s))};function px({sourceX:t,sourceY:a,targetX:l,targetY:o}){const[s,c,d,m]=mx({sourceX:t,sourceY:a,targetX:l,targetY:o});return[`M ${t},${a}L ${l},${o}`,s,c,d,m]}const e0={[ge.Left]:{x:-1,y:0},[ge.Right]:{x:1,y:0},[ge.Top]:{x:0,y:-1},[ge.Bottom]:{x:0,y:1}},$T=({source:t,sourcePosition:a=ge.Bottom,target:l})=>a===ge.Left||a===ge.Right?t.x<l.x?{x:1,y:0}:{x:-1,y:0}:t.y<l.y?{x:0,y:1}:{x:0,y:-1},t0=(t,a)=>Math.sqrt(Math.pow(a.x-t.x,2)+Math.pow(a.y-t.y,2));function FT({source:t,sourcePosition:a=ge.Bottom,target:l,targetPosition:o=ge.Top,center:s,offset:c,stepPosition:d}){const m=e0[a],y=e0[o],p={x:t.x+m.x*c,y:t.y+m.y*c},g={x:l.x+y.x*c,y:l.y+y.y*c},v=$T({source:p,sourcePosition:a,target:g}),x=v.x!==0?"x":"y",S=v[x];let N=[],_,D;const j={x:0,y:0},A={x:0,y:0},[,,E,w]=mx({sourceX:t.x,sourceY:t.y,targetX:l.x,targetY:l.y});if(m[x]*y[x]===-1){x==="x"?(_=s.x??p.x+(g.x-p.x)*d,D=s.y??(p.y+g.y)/2):(_=s.x??(p.x+g.x)/2,D=s.y??p.y+(g.y-p.y)*d);const F=[{x:_,y:p.y},{x:_,y:g.y}],K=[{x:p.x,y:D},{x:g.x,y:D}];m[x]===S?N=x==="x"?F:K:N=x==="x"?K:F}else{const F=[{x:p.x,y:g.y}],K=[{x:g.x,y:p.y}];if(x==="x"?N=m.x===S?K:F:N=m.y===S?F:K,a===o){const z=Math.abs(t[x]-l[x]);if(z<=c){const M=Math.min(c-1,c-z);m[x]===S?j[x]=(p[x]>t[x]?-1:1)*M:A[x]=(g[x]>l[x]?-1:1)*M}}if(a!==o){const z=x==="x"?"y":"x",M=m[x]===y[z],T=p[z]>g[z],I=p[z]<g[z];(m[x]===1&&(!M&&T||M&&I)||m[x]!==1&&(!M&&I||M&&T))&&(N=x==="x"?F:K)}const de={x:p.x+j.x,y:p.y+j.y},X={x:g.x+A.x,y:g.y+A.y},te=Math.max(Math.abs(de.x-N[0].x),Math.abs(X.x-N[0].x)),se=Math.max(Math.abs(de.y-N[0].y),Math.abs(X.y-N[0].y));te>=se?(_=(de.x+X.x)/2,D=N[0].y):(_=N[0].x,D=(de.y+X.y)/2)}const B={x:p.x+j.x,y:p.y+j.y},O={x:g.x+A.x,y:g.y+A.y};return[[t,...B.x!==N[0].x||B.y!==N[0].y?[B]:[],...N,...O.x!==N[N.length-1].x||O.y!==N[N.length-1].y?[O]:[],l],_,D,E,w]}function XT(t,a,l,o){const s=Math.min(t0(t,a)/2,t0(a,l)/2,o),{x:c,y:d}=a;if(t.x===c&&c===l.x||t.y===d&&d===l.y)return`L${c} ${d}`;if(t.y===d){const p=t.x<l.x?-1:1,g=t.y<l.y?1:-1;return`L ${c+s*p},${d}Q ${c},${d} ${c},${d+s*g}`}const m=t.x<l.x?1:-1,y=t.y<l.y?-1:1;return`L ${c},${d+s*y}Q ${c},${d} ${c+s*m},${d}`}function zf({sourceX:t,sourceY:a,sourcePosition:l=ge.Bottom,targetX:o,targetY:s,targetPosition:c=ge.Top,borderRadius:d=5,centerX:m,centerY:y,offset:p=20,stepPosition:g=.5}){const[v,x,S,N,_]=FT({source:{x:t,y:a},sourcePosition:l,target:{x:o,y:s},targetPosition:c,center:{x:m,y},offset:p,stepPosition:g});let D=`M${v[0].x} ${v[0].y}`;for(let j=1;j<v.length-1;j++)D+=XT(v[j-1],v[j],v[j+1],d);return D+=`L${v[v.length-1].x} ${v[v.length-1].y}`,[D,x,S,N,_]}function n0(t){return t&&!!(t.internals.handleBounds||t.handles?.length)&&!!(t.measured.width||t.width||t.initialWidth)}function ZT(t){const{sourceNode:a,targetNode:l}=t;if(!n0(a)||!n0(l))return null;const o=a.internals.handleBounds||a0(a.handles),s=l.internals.handleBounds||a0(l.handles),c=i0(o?.source??[],t.sourceHandle),d=i0(t.connectionMode===fi.Strict?s?.target??[]:(s?.target??[]).concat(s?.source??[]),t.targetHandle);if(!c||!d)return t.onError?.("008",yn.error008(c?"target":"source",{id:t.id,sourceHandle:t.sourceHandle,targetHandle:t.targetHandle})),null;const m=c?.position||ge.Bottom,y=d?.position||ge.Top,p=mi(a,c,m),g=mi(l,d,y);return{sourceX:p.x,sourceY:p.y,targetX:g.x,targetY:g.y,sourcePosition:m,targetPosition:y}}function a0(t){if(!t)return null;const a=[],l=[];for(const o of t)o.width=o.width??1,o.height=o.height??1,o.type==="source"?a.push(o):o.type==="target"&&l.push(o);return{source:a,target:l}}function mi(t,a,l=ge.Left,o=!1){const s=(a?.x??0)+t.internals.positionAbsolute.x,c=(a?.y??0)+t.internals.positionAbsolute.y,{width:d,height:m}=a??$n(t);if(o)return{x:s+d/2,y:c+m/2};switch(a?.position??l){case ge.Top:return{x:s+d/2,y:c};case ge.Right:return{x:s+d,y:c+m/2};case ge.Bottom:return{x:s+d/2,y:c+m};case ge.Left:return{x:s,y:c+m/2}}}function i0(t,a){return t&&(a?t.find(l=>l.id===a):t[0])||null}function Rf(t,a){return t?typeof t=="string"?t:`${a?`${a}__`:""}${Object.keys(t).sort().map(o=>`${o}=${t[o]}`).join("&")}`:""}function KT(t,{id:a,defaultColor:l,defaultMarkerStart:o,defaultMarkerEnd:s}){const c=new Set;return t.reduce((d,m)=>([m.markerStart||o,m.markerEnd||s].forEach(y=>{if(y&&typeof y=="object"){const p=Rf(y,a);c.has(p)||(d.push({id:p,color:y.color||l,...y}),c.add(p))}}),d),[]).sort((d,m)=>d.id.localeCompare(m.id))}const gx=1e3,QT=10,nh={nodeOrigin:[0,0],nodeExtent:Ho,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},JT={...nh,checkEquality:!0};function ah(t,a){const l={...t};for(const o in a)a[o]!==void 0&&(l[o]=a[o]);return l}function WT(t,a,l){const o=ah(nh,l);for(const s of t.values())if(s.parentId)lh(s,t,a,o);else{const c=Po(s,o.nodeOrigin),d=bl(s.extent)?s.extent:o.nodeExtent,m=hi(c,d,$n(s));s.internals.positionAbsolute=m}}function eM(t,a){if(!t.handles)return t.measured?a?.internals.handleBounds:void 0;const l=[],o=[];for(const s of t.handles){const c={id:s.id,width:s.width??1,height:s.height??1,nodeId:t.id,x:s.x,y:s.y,position:s.position,type:s.type};s.type==="source"?l.push(c):s.type==="target"&&o.push(c)}return{source:l,target:o}}function ih(t){return t==="manual"}function Df(t,a,l,o={}){const s=ah(JT,o),c={i:0},d=new Map(a),m=s?.elevateNodesOnSelect&&!ih(s.zIndexMode)?gx:0;let y=t.length>0,p=!1;a.clear(),l.clear();for(const g of t){let v=d.get(g.id);if(s.checkEquality&&g===v?.internals.userNode)a.set(g.id,v);else{const x=Po(g,s.nodeOrigin),S=bl(g.extent)?g.extent:s.nodeExtent,N=hi(x,S,$n(g));v={...s.defaults,...g,measured:{width:g.measured?.width,height:g.measured?.height},internals:{positionAbsolute:N,handleBounds:eM(g,v),z:yx(g,m,s.zIndexMode),userNode:g}},a.set(g.id,v)}(v.measured===void 0||v.measured.width===void 0||v.measured.height===void 0)&&!v.hidden&&(y=!1),g.parentId&&lh(v,a,l,o,c),p||=g.selected??!1}return{nodesInitialized:y,hasSelectedNodes:p}}function tM(t,a){if(!t.parentId)return;const l=a.get(t.parentId);l?l.set(t.id,t):a.set(t.parentId,new Map([[t.id,t]]))}function lh(t,a,l,o,s){const{elevateNodesOnSelect:c,nodeOrigin:d,nodeExtent:m,zIndexMode:y}=ah(nh,o),p=t.parentId,g=a.get(p);if(!g){console.warn(`Parent node ${p} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}tM(t,l),s&&!g.parentId&&g.internals.rootParentIndex===void 0&&y==="auto"&&(g.internals.rootParentIndex=++s.i,g.internals.z=g.internals.z+s.i*QT),s&&g.internals.rootParentIndex!==void 0&&(s.i=g.internals.rootParentIndex);const v=c&&!ih(y)?gx:0,{x,y:S,z:N}=nM(t,g,d,m,v,y),{positionAbsolute:_}=t.internals,D=x!==_.x||S!==_.y;(D||N!==t.internals.z)&&a.set(t.id,{...t,internals:{...t.internals,positionAbsolute:D?{x,y:S}:_,z:N}})}function yx(t,a,l){const o=ln(t.zIndex)?t.zIndex:0;return ih(l)?o:o+(t.selected?a:0)}function nM(t,a,l,o,s,c){const{x:d,y:m}=a.internals.positionAbsolute,y=$n(t),p=Po(t,l),g=bl(t.extent)?hi(p,t.extent,y):p;let v=hi({x:d+g.x,y:m+g.y},o,y);t.extent==="parent"&&(v=ix(v,y,a));const x=yx(t,s,c),S=a.internals.z??0;return{x:v.x,y:v.y,z:S>=x?S+1:x}}function oh(t,a,l,o=[0,0]){const s=[],c=new Map;for(const d of t){const m=a.get(d.parentId);if(!m)continue;const y=c.get(d.parentId)?.expandedRect??xl(m),p=ox(y,d.rect);c.set(d.parentId,{expandedRect:p,parent:m})}return c.size>0&&c.forEach(({expandedRect:d,parent:m},y)=>{const p=m.internals.positionAbsolute,g=$n(m),v=m.origin??o,x=d.x<p.x?Math.round(Math.abs(p.x-d.x)):0,S=d.y<p.y?Math.round(Math.abs(p.y-d.y)):0,N=Math.max(g.width,Math.round(d.width)),_=Math.max(g.height,Math.round(d.height)),D=(N-g.width)*v[0],j=(_-g.height)*v[1];(x>0||S>0||D||j)&&(s.push({id:y,type:"position",position:{x:m.position.x-x+D,y:m.position.y-S+j}}),l.get(y)?.forEach(A=>{t.some(E=>E.id===A.id)||s.push({id:A.id,type:"position",position:{x:A.position.x+x,y:A.position.y+S}})})),(g.width<d.width||g.height<d.height||x||S)&&s.push({id:y,type:"dimensions",setAttributes:!0,dimensions:{width:N+(x?v[0]*x-D:0),height:_+(S?v[1]*S-j:0)}})}),s}function aM(t,a,l,o,s,c,d){const m=o?.querySelector(".xyflow__viewport");let y=!1;if(!m)return{changes:[],updatedInternals:y};const p=[],g=window.getComputedStyle(m),{m22:v}=new window.DOMMatrixReadOnly(g.transform),x=[];for(const S of t.values()){const N=a.get(S.id);if(!N)continue;if(N.hidden){a.set(N.id,{...N,internals:{...N.internals,handleBounds:void 0}}),y=!0;continue}const _=th(S.nodeElement),D=N.measured.width!==_.width||N.measured.height!==_.height;if(!!(_.width&&_.height&&(D||!N.internals.handleBounds||S.force))){const A=S.nodeElement.getBoundingClientRect(),E=bl(N.extent)?N.extent:c;let{positionAbsolute:w}=N.internals;N.parentId&&N.extent==="parent"?w=ix(w,_,a.get(N.parentId)):E&&(w=hi(w,E,_));const B={...N,measured:_,internals:{...N.internals,positionAbsolute:w,handleBounds:{source:Jy("source",S.nodeElement,A,v,N.id),target:Jy("target",S.nodeElement,A,v,N.id)}}};a.set(N.id,B),N.parentId&&lh(B,a,l,{nodeOrigin:s,zIndexMode:d}),y=!0,D&&(p.push({id:N.id,type:"dimensions",dimensions:_}),N.expandParent&&N.parentId&&x.push({id:N.id,parentId:N.parentId,rect:xl(B,s)}))}}if(x.length>0){const S=oh(x,a,l,s);p.push(...S)}return{changes:p,updatedInternals:y}}async function iM({delta:t,panZoom:a,transform:l,translateExtent:o,width:s,height:c}){if(!a||!t.x&&!t.y)return Promise.resolve(!1);const d=await a.setViewportConstrained({x:l[0]+t.x,y:l[1]+t.y,zoom:l[2]},[[0,0],[s,c]],o),m=!!d&&(d.x!==l[0]||d.y!==l[1]||d.k!==l[2]);return Promise.resolve(m)}function l0(t,a,l,o,s,c){let d=s;const m=o.get(d)||new Map;o.set(d,m.set(l,a)),d=`${s}-${t}`;const y=o.get(d)||new Map;if(o.set(d,y.set(l,a)),c){d=`${s}-${t}-${c}`;const p=o.get(d)||new Map;o.set(d,p.set(l,a))}}function vx(t,a,l){t.clear(),a.clear();for(const o of l){const{source:s,target:c,sourceHandle:d=null,targetHandle:m=null}=o,y={edgeId:o.id,source:s,target:c,sourceHandle:d,targetHandle:m},p=`${s}-${d}--${c}-${m}`,g=`${c}-${m}--${s}-${d}`;l0("source",y,g,t,s,d),l0("target",y,p,t,c,m),a.set(o.id,o)}}function xx(t,a){if(!t.parentId)return!1;const l=a.get(t.parentId);return l?l.selected?!0:xx(l,a):!1}function o0(t,a,l){let o=t;do{if(o?.matches?.(a))return!0;if(o===l)return!1;o=o?.parentElement}while(o);return!1}function lM(t,a,l,o){const s=new Map;for(const[c,d]of t)if((d.selected||d.id===o)&&(!d.parentId||!xx(d,t))&&(d.draggable||a&&typeof d.draggable>"u")){const m=t.get(c);m&&s.set(c,{id:c,position:m.position||{x:0,y:0},distance:{x:l.x-m.internals.positionAbsolute.x,y:l.y-m.internals.positionAbsolute.y},extent:m.extent,parentId:m.parentId,origin:m.origin,expandParent:m.expandParent,internals:{positionAbsolute:m.internals.positionAbsolute||{x:0,y:0}},measured:{width:m.measured.width??0,height:m.measured.height??0}})}return s}function rf({nodeId:t,dragItems:a,nodeLookup:l,dragging:o=!0}){const s=[];for(const[d,m]of a){const y=l.get(d)?.internals.userNode;y&&s.push({...y,position:m.position,dragging:o})}if(!t)return[s[0],s];const c=l.get(t)?.internals.userNode;return[c?{...c,position:a.get(t)?.position||c.position,dragging:o}:s[0],s]}function oM({dragItems:t,snapGrid:a,x:l,y:o}){const s=t.values().next().value;if(!s)return null;const c={x:l-s.distance.x,y:o-s.distance.y},d=Fo(c,a);return{x:d.x-c.x,y:d.y-c.y}}function rM({onNodeMouseDown:t,getStoreItems:a,onDragStart:l,onDrag:o,onDragStop:s}){let c={x:null,y:null},d=0,m=new Map,y=!1,p={x:0,y:0},g=null,v=!1,x=null,S=!1,N=!1,_=null;function D({noDragClassName:A,handleSelector:E,domNode:w,isSelectable:B,nodeId:O,nodeClickDistance:k=0}){x=Bt(w);function F({x:te,y:se}){const{nodeLookup:z,nodeExtent:M,snapGrid:T,snapToGrid:I,nodeOrigin:U,onNodeDrag:Z,onSelectionDrag:ae,onError:R,updateNodePositions:q}=a();c={x:te,y:se};let V=!1;const W=m.size>1,fe=W&&M?jf($o(m)):null,$=W&&I?oM({dragItems:m,snapGrid:T,x:te,y:se}):null;for(const[le,ce]of m){if(!z.has(le))continue;let ue={x:te-ce.distance.x,y:se-ce.distance.y};I&&(ue=$?{x:Math.round(ue.x+$.x),y:Math.round(ue.y+$.y)}:Fo(ue,T));let be=null;if(W&&M&&!ce.extent&&fe){const{positionAbsolute:_e}=ce.internals,je=_e.x-fe.x+M[0][0],Ue=_e.x+ce.measured.width-fe.x2+M[1][0],ke=_e.y-fe.y+M[0][1],ut=_e.y+ce.measured.height-fe.y2+M[1][1];be=[[je,ke],[Ue,ut]]}const{position:ve,positionAbsolute:xe}=ax({nodeId:le,nextPosition:ue,nodeLookup:z,nodeExtent:be||M,nodeOrigin:U,onError:R});V=V||ce.position.x!==ve.x||ce.position.y!==ve.y,ce.position=ve,ce.internals.positionAbsolute=xe}if(N=N||V,!!V&&(q(m,!0),_&&(o||Z||!O&&ae))){const[le,ce]=rf({nodeId:O,dragItems:m,nodeLookup:z});o?.(_,m,le,ce),Z?.(_,le,ce),O||ae?.(_,ce)}}async function K(){if(!g)return;const{transform:te,panBy:se,autoPanSpeed:z,autoPanOnNodeDrag:M}=a();if(!M){y=!1,cancelAnimationFrame(d);return}const[T,I]=lx(p,g,z);(T!==0||I!==0)&&(c.x=(c.x??0)-T/te[2],c.y=(c.y??0)-I/te[2],await se({x:T,y:I})&&F(c)),d=requestAnimationFrame(K)}function de(te){const{nodeLookup:se,multiSelectionActive:z,nodesDraggable:M,transform:T,snapGrid:I,snapToGrid:U,selectNodesOnDrag:Z,onNodeDragStart:ae,onSelectionDragStart:R,unselectNodesAndEdges:q}=a();v=!0,(!Z||!B)&&!z&&O&&(se.get(O)?.selected||q()),B&&Z&&O&&t?.(O);const V=Ro(te.sourceEvent,{transform:T,snapGrid:I,snapToGrid:U,containerBounds:g});if(c=V,m=lM(se,M,V,O),m.size>0&&(l||ae||!O&&R)){const[W,fe]=rf({nodeId:O,dragItems:m,nodeLookup:se});l?.(te.sourceEvent,m,W,fe),ae?.(te.sourceEvent,W,fe),O||R?.(te.sourceEvent,fe)}}const X=Lv().clickDistance(k).on("start",te=>{const{domNode:se,nodeDragThreshold:z,transform:M,snapGrid:T,snapToGrid:I}=a();g=se?.getBoundingClientRect()||null,S=!1,N=!1,_=te.sourceEvent,z===0&&de(te),c=Ro(te.sourceEvent,{transform:M,snapGrid:T,snapToGrid:I,containerBounds:g}),p=on(te.sourceEvent,g)}).on("drag",te=>{const{autoPanOnNodeDrag:se,transform:z,snapGrid:M,snapToGrid:T,nodeDragThreshold:I,nodeLookup:U}=a(),Z=Ro(te.sourceEvent,{transform:z,snapGrid:M,snapToGrid:T,containerBounds:g});if(_=te.sourceEvent,(te.sourceEvent.type==="touchmove"&&te.sourceEvent.touches.length>1||O&&!U.has(O))&&(S=!0),!S){if(!y&&se&&v&&(y=!0,K()),!v){const ae=on(te.sourceEvent,g),R=ae.x-p.x,q=ae.y-p.y;Math.sqrt(R*R+q*q)>I&&de(te)}(c.x!==Z.xSnapped||c.y!==Z.ySnapped)&&m&&v&&(p=on(te.sourceEvent,g),F(Z))}}).on("end",te=>{if(!(!v||S)&&(y=!1,v=!1,cancelAnimationFrame(d),m.size>0)){const{nodeLookup:se,updateNodePositions:z,onNodeDragStop:M,onSelectionDragStop:T}=a();if(N&&(z(m,!1),N=!1),s||M||!O&&T){const[I,U]=rf({nodeId:O,dragItems:m,nodeLookup:se,dragging:!1});s?.(te.sourceEvent,m,I,U),M?.(te.sourceEvent,I,U),O||T?.(te.sourceEvent,U)}}}).filter(te=>{const se=te.target;return!te.button&&(!A||!o0(se,`.${A}`,w))&&(!E||o0(se,E,w))});x.call(X)}function j(){x?.on(".drag",null)}return{update:D,destroy:j}}function sM(t,a,l){const o=[],s={x:t.x-l,y:t.y-l,width:l*2,height:l*2};for(const c of a.values())Bo(s,xl(c))>0&&o.push(c);return o}const cM=250;function uM(t,a,l,o){let s=[],c=1/0;const d=sM(t,l,a+cM);for(const m of d){const y=[...m.internals.handleBounds?.source??[],...m.internals.handleBounds?.target??[]];for(const p of y){if(o.nodeId===p.nodeId&&o.type===p.type&&o.id===p.id)continue;const{x:g,y:v}=mi(m,p,p.position,!0),x=Math.sqrt(Math.pow(g-t.x,2)+Math.pow(v-t.y,2));x>a||(x<c?(s=[{...p,x:g,y:v}],c=x):x===c&&s.push({...p,x:g,y:v}))}}if(!s.length)return null;if(s.length>1){const m=o.type==="source"?"target":"source";return s.find(y=>y.type===m)??s[0]}return s[0]}function bx(t,a,l,o,s,c=!1){const d=o.get(t);if(!d)return null;const m=s==="strict"?d.internals.handleBounds?.[a]:[...d.internals.handleBounds?.source??[],...d.internals.handleBounds?.target??[]],y=(l?m?.find(p=>p.id===l):m?.[0])??null;return y&&c?{...y,...mi(d,y,y.position,!0)}:y}function Sx(t,a){return t||(a?.classList.contains("target")?"target":a?.classList.contains("source")?"source":null)}function dM(t,a){let l=null;return a?l=!0:t&&!a&&(l=!1),l}const wx=()=>!0;function fM(t,{connectionMode:a,connectionRadius:l,handleId:o,nodeId:s,edgeUpdaterType:c,isTarget:d,domNode:m,nodeLookup:y,lib:p,autoPanOnConnect:g,flowId:v,panBy:x,cancelConnection:S,onConnectStart:N,onConnect:_,onConnectEnd:D,isValidConnection:j=wx,onReconnectEnd:A,updateConnection:E,getTransform:w,getFromHandle:B,autoPanSpeed:O,dragThreshold:k=1,handleDomNode:F}){const K=cx(t.target);let de=0,X;const{x:te,y:se}=on(t),z=Sx(c,F),M=m?.getBoundingClientRect();let T=!1;if(!M||!z)return;const I=bx(s,z,o,y,a);if(!I)return;let U=on(t,M),Z=!1,ae=null,R=!1,q=null;function V(){if(!g||!M)return;const[ve,xe]=lx(U,M,O);x({x:ve,y:xe}),de=requestAnimationFrame(V)}const W={...I,nodeId:s,type:z,position:I.position},fe=y.get(s);let le={inProgress:!0,isValid:null,from:mi(fe,W,ge.Left,!0),fromHandle:W,fromPosition:W.position,fromNode:fe,to:U,toHandle:null,toPosition:Xy[W.position],toNode:null,pointer:U};function ce(){T=!0,E(le),N?.(t,{nodeId:s,handleId:o,handleType:z})}k===0&&ce();function ue(ve){if(!T){const{x:ut,y:Zt}=on(ve),zt=ut-te,Kt=Zt-se;if(!(zt*zt+Kt*Kt>k*k))return;ce()}if(!B()||!W){be(ve);return}const xe=w();U=on(ve,M),X=uM(Xo(U,xe,!1,[1,1]),l,y,W),Z||(V(),Z=!0);const _e=Nx(ve,{handle:X,connectionMode:a,fromNodeId:s,fromHandleId:o,fromType:d?"target":"source",isValidConnection:j,doc:K,lib:p,flowId:v,nodeLookup:y});q=_e.handleDomNode,ae=_e.connection,R=dM(!!X,_e.isValid);const je=y.get(s),Ue=je?mi(je,W,ge.Left,!0):le.from,ke={...le,from:Ue,isValid:R,to:_e.toHandle&&R?ac({x:_e.toHandle.x,y:_e.toHandle.y},xe):U,toHandle:_e.toHandle,toPosition:R&&_e.toHandle?_e.toHandle.position:Xy[W.position],toNode:_e.toHandle?y.get(_e.toHandle.nodeId):null,pointer:U};E(ke),le=ke}function be(ve){if(!("touches"in ve&&ve.touches.length>0)){if(T){(X||q)&&ae&&R&&_?.(ae);const{inProgress:xe,..._e}=le,je={..._e,toPosition:le.toHandle?le.toPosition:null};D?.(ve,je),c&&A?.(ve,je)}S(),cancelAnimationFrame(de),Z=!1,R=!1,ae=null,q=null,K.removeEventListener("mousemove",ue),K.removeEventListener("mouseup",be),K.removeEventListener("touchmove",ue),K.removeEventListener("touchend",be)}}K.addEventListener("mousemove",ue),K.addEventListener("mouseup",be),K.addEventListener("touchmove",ue),K.addEventListener("touchend",be)}function Nx(t,{handle:a,connectionMode:l,fromNodeId:o,fromHandleId:s,fromType:c,doc:d,lib:m,flowId:y,isValidConnection:p=wx,nodeLookup:g}){const v=c==="target",x=a?d.querySelector(`.${m}-flow__handle[data-id="${y}-${a?.nodeId}-${a?.id}-${a?.type}"]`):null,{x:S,y:N}=on(t),_=d.elementFromPoint(S,N),D=_?.classList.contains(`${m}-flow__handle`)?_:x,j={handleDomNode:D,isValid:!1,connection:null,toHandle:null};if(D){const A=Sx(void 0,D),E=D.getAttribute("data-nodeid"),w=D.getAttribute("data-handleid"),B=D.classList.contains("connectable"),O=D.classList.contains("connectableend");if(!E||!A)return j;const k={source:v?E:o,sourceHandle:v?w:s,target:v?o:E,targetHandle:v?s:w};j.connection=k;const K=B&&O&&(l===fi.Strict?v&&A==="source"||!v&&A==="target":E!==o||w!==s);j.isValid=K&&p(k),j.toHandle=bx(E,A,w,g,l,!0)}return j}const Of={onPointerDown:fM,isValid:Nx};function hM({domNode:t,panZoom:a,getTransform:l,getViewScale:o}){const s=Bt(t);function c({translateExtent:m,width:y,height:p,zoomStep:g=1,pannable:v=!0,zoomable:x=!0,inversePan:S=!1}){const N=E=>{if(E.sourceEvent.type!=="wheel"||!a)return;const w=l(),B=E.sourceEvent.ctrlKey&&qo()?10:1,O=-E.sourceEvent.deltaY*(E.sourceEvent.deltaMode===1?.05:E.sourceEvent.deltaMode?1:.002)*g,k=w[2]*Math.pow(2,O*B);a.scaleTo(k)};let _=[0,0];const D=E=>{(E.sourceEvent.type==="mousedown"||E.sourceEvent.type==="touchstart")&&(_=[E.sourceEvent.clientX??E.sourceEvent.touches[0].clientX,E.sourceEvent.clientY??E.sourceEvent.touches[0].clientY])},j=E=>{const w=l();if(E.sourceEvent.type!=="mousemove"&&E.sourceEvent.type!=="touchmove"||!a)return;const B=[E.sourceEvent.clientX??E.sourceEvent.touches[0].clientX,E.sourceEvent.clientY??E.sourceEvent.touches[0].clientY],O=[B[0]-_[0],B[1]-_[1]];_=B;const k=o()*Math.max(w[2],Math.log(w[2]))*(S?-1:1),F={x:w[0]-O[0]*k,y:w[1]-O[1]*k},K=[[0,0],[y,p]];a.setViewportConstrained({x:F.x,y:F.y,zoom:w[2]},K,m)},A=Qv().on("start",D).on("zoom",v?j:null).on("zoom.wheel",x?N:null);s.call(A,{})}function d(){s.on("zoom",null)}return{update:c,destroy:d,pointer:nn}}const hc=t=>({x:t.x,y:t.y,zoom:t.k}),sf=({x:t,y:a,zoom:l})=>uc.translate(t,a).scale(l),dl=(t,a)=>t.target.closest(`.${a}`),_x=(t,a)=>a===2&&Array.isArray(t)&&t.includes(2),mM=t=>((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2,cf=(t,a=0,l=mM,o=()=>{})=>{const s=typeof a=="number"&&a>0;return s||o(),s?t.transition().duration(a).ease(l).on("end",o):t},Ex=t=>{const a=t.ctrlKey&&qo()?10:1;return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*a};function pM({zoomPanValues:t,noWheelClassName:a,d3Selection:l,d3Zoom:o,panOnScrollMode:s,panOnScrollSpeed:c,zoomOnPinch:d,onPanZoomStart:m,onPanZoom:y,onPanZoomEnd:p}){return g=>{if(dl(g,a))return g.ctrlKey&&g.preventDefault(),!1;g.preventDefault(),g.stopImmediatePropagation();const v=l.property("__zoom").k||1;if(g.ctrlKey&&d){const D=nn(g),j=Ex(g),A=v*Math.pow(2,j);o.scaleTo(l,A,D,g);return}const x=g.deltaMode===1?20:1;let S=s===si.Vertical?0:g.deltaX*x,N=s===si.Horizontal?0:g.deltaY*x;!qo()&&g.shiftKey&&s!==si.Vertical&&(S=g.deltaY*x,N=0),o.translateBy(l,-(S/v)*c,-(N/v)*c,{internal:!0});const _=hc(l.property("__zoom"));clearTimeout(t.panScrollTimeout),t.isPanScrolling?(y?.(g,_),t.panScrollTimeout=setTimeout(()=>{p?.(g,_),t.isPanScrolling=!1},150)):(t.isPanScrolling=!0,m?.(g,_))}}function gM({noWheelClassName:t,preventScrolling:a,d3ZoomHandler:l}){return function(o,s){const c=o.type==="wheel",d=!a&&c&&!o.ctrlKey,m=dl(o,t);if(o.ctrlKey&&c&&m&&o.preventDefault(),d||m)return null;o.preventDefault(),l.call(this,o,s)}}function yM({zoomPanValues:t,onDraggingChange:a,onPanZoomStart:l}){return o=>{if(o.sourceEvent?.internal)return;const s=hc(o.transform);t.mouseButton=o.sourceEvent?.button||0,t.isZoomingOrPanning=!0,t.prevViewport=s,o.sourceEvent?.type==="mousedown"&&a(!0),l&&l?.(o.sourceEvent,s)}}function vM({zoomPanValues:t,panOnDrag:a,onPaneContextMenu:l,onTransformChange:o,onPanZoom:s}){return c=>{t.usedRightMouseButton=!!(l&&_x(a,t.mouseButton??0)),c.sourceEvent?.sync||o([c.transform.x,c.transform.y,c.transform.k]),s&&!c.sourceEvent?.internal&&s?.(c.sourceEvent,hc(c.transform))}}function xM({zoomPanValues:t,panOnDrag:a,panOnScroll:l,onDraggingChange:o,onPanZoomEnd:s,onPaneContextMenu:c}){return d=>{if(!d.sourceEvent?.internal&&(t.isZoomingOrPanning=!1,c&&_x(a,t.mouseButton??0)&&!t.usedRightMouseButton&&d.sourceEvent&&c(d.sourceEvent),t.usedRightMouseButton=!1,o(!1),s)){const m=hc(d.transform);t.prevViewport=m,clearTimeout(t.timerId),t.timerId=setTimeout(()=>{s?.(d.sourceEvent,m)},l?150:0)}}}function bM({zoomActivationKeyPressed:t,zoomOnScroll:a,zoomOnPinch:l,panOnDrag:o,panOnScroll:s,zoomOnDoubleClick:c,userSelectionActive:d,noWheelClassName:m,noPanClassName:y,lib:p,connectionInProgress:g}){return v=>{const x=t||a,S=l&&v.ctrlKey,N=v.type==="wheel";if(v.button===1&&v.type==="mousedown"&&(dl(v,`${p}-flow__node`)||dl(v,`${p}-flow__edge`)))return!0;if(!o&&!x&&!s&&!c&&!l||d||g&&!N||dl(v,m)&&N||dl(v,y)&&(!N||s&&N&&!t)||!l&&v.ctrlKey&&N)return!1;if(!l&&v.type==="touchstart"&&v.touches?.length>1)return v.preventDefault(),!1;if(!x&&!s&&!S&&N||!o&&(v.type==="mousedown"||v.type==="touchstart")||Array.isArray(o)&&!o.includes(v.button)&&v.type==="mousedown")return!1;const _=Array.isArray(o)&&o.includes(v.button)||!v.button||v.button<=1;return(!v.ctrlKey||N)&&_}}function SM({domNode:t,minZoom:a,maxZoom:l,translateExtent:o,viewport:s,onPanZoom:c,onPanZoomStart:d,onPanZoomEnd:m,onDraggingChange:y}){const p={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},g=t.getBoundingClientRect(),v=Qv().scaleExtent([a,l]).translateExtent(o),x=Bt(t).call(v);A({x:s.x,y:s.y,zoom:vl(s.zoom,a,l)},[[0,0],[g.width,g.height]],o);const S=x.on("wheel.zoom"),N=x.on("dblclick.zoom");v.wheelDelta(Ex);function _(X,te){return x?new Promise(se=>{v?.interpolate(te?.interpolate==="linear"?zo:Us).transform(cf(x,te?.duration,te?.ease,()=>se(!0)),X)}):Promise.resolve(!1)}function D({noWheelClassName:X,noPanClassName:te,onPaneContextMenu:se,userSelectionActive:z,panOnScroll:M,panOnDrag:T,panOnScrollMode:I,panOnScrollSpeed:U,preventScrolling:Z,zoomOnPinch:ae,zoomOnScroll:R,zoomOnDoubleClick:q,zoomActivationKeyPressed:V,lib:W,onTransformChange:fe,connectionInProgress:$,paneClickDistance:le,selectionOnDrag:ce}){z&&!p.isZoomingOrPanning&&j();const ue=M&&!V&&!z;v.clickDistance(ce?1/0:!ln(le)||le<0?0:le);const be=ue?pM({zoomPanValues:p,noWheelClassName:X,d3Selection:x,d3Zoom:v,panOnScrollMode:I,panOnScrollSpeed:U,zoomOnPinch:ae,onPanZoomStart:d,onPanZoom:c,onPanZoomEnd:m}):gM({noWheelClassName:X,preventScrolling:Z,d3ZoomHandler:S});if(x.on("wheel.zoom",be,{passive:!1}),!z){const xe=yM({zoomPanValues:p,onDraggingChange:y,onPanZoomStart:d});v.on("start",xe);const _e=vM({zoomPanValues:p,panOnDrag:T,onPaneContextMenu:!!se,onPanZoom:c,onTransformChange:fe});v.on("zoom",_e);const je=xM({zoomPanValues:p,panOnDrag:T,panOnScroll:M,onPaneContextMenu:se,onPanZoomEnd:m,onDraggingChange:y});v.on("end",je)}const ve=bM({zoomActivationKeyPressed:V,panOnDrag:T,zoomOnScroll:R,panOnScroll:M,zoomOnDoubleClick:q,zoomOnPinch:ae,userSelectionActive:z,noPanClassName:te,noWheelClassName:X,lib:W,connectionInProgress:$});v.filter(ve),q?x.on("dblclick.zoom",N):x.on("dblclick.zoom",null)}function j(){v.on("zoom",null)}async function A(X,te,se){const z=sf(X),M=v?.constrain()(z,te,se);return M&&await _(M),new Promise(T=>T(M))}async function E(X,te){const se=sf(X);return await _(se,te),new Promise(z=>z(se))}function w(X){if(x){const te=sf(X),se=x.property("__zoom");(se.k!==X.zoom||se.x!==X.x||se.y!==X.y)&&v?.transform(x,te,null,{sync:!0})}}function B(){const X=x?Kv(x.node()):{x:0,y:0,k:1};return{x:X.x,y:X.y,zoom:X.k}}function O(X,te){return x?new Promise(se=>{v?.interpolate(te?.interpolate==="linear"?zo:Us).scaleTo(cf(x,te?.duration,te?.ease,()=>se(!0)),X)}):Promise.resolve(!1)}function k(X,te){return x?new Promise(se=>{v?.interpolate(te?.interpolate==="linear"?zo:Us).scaleBy(cf(x,te?.duration,te?.ease,()=>se(!0)),X)}):Promise.resolve(!1)}function F(X){v?.scaleExtent(X)}function K(X){v?.translateExtent(X)}function de(X){const te=!ln(X)||X<0?0:X;v?.clickDistance(te)}return{update:D,destroy:j,setViewport:E,setViewportConstrained:A,getViewport:B,scaleTo:O,scaleBy:k,setScaleExtent:F,setTranslateExtent:K,syncViewport:w,setClickDistance:de}}var Sl;(function(t){t.Line="line",t.Handle="handle"})(Sl||(Sl={}));function wM({width:t,prevWidth:a,height:l,prevHeight:o,affectsX:s,affectsY:c}){const d=t-a,m=l-o,y=[d>0?1:d<0?-1:0,m>0?1:m<0?-1:0];return d&&s&&(y[0]=y[0]*-1),m&&c&&(y[1]=y[1]*-1),y}function r0(t){const a=t.includes("right")||t.includes("left"),l=t.includes("bottom")||t.includes("top"),o=t.includes("left"),s=t.includes("top");return{isHorizontal:a,isVertical:l,affectsX:o,affectsY:s}}function Na(t,a){return Math.max(0,a-t)}function _a(t,a){return Math.max(0,t-a)}function js(t,a,l){return Math.max(0,a-t,t-l)}function s0(t,a){return t?!a:a}function NM(t,a,l,o,s,c,d,m){let{affectsX:y,affectsY:p}=a;const{isHorizontal:g,isVertical:v}=a,x=g&&v,{xSnapped:S,ySnapped:N}=l,{minWidth:_,maxWidth:D,minHeight:j,maxHeight:A}=o,{x:E,y:w,width:B,height:O,aspectRatio:k}=t;let F=Math.floor(g?S-t.pointerX:0),K=Math.floor(v?N-t.pointerY:0);const de=B+(y?-F:F),X=O+(p?-K:K),te=-c[0]*B,se=-c[1]*O;let z=js(de,_,D),M=js(X,j,A);if(d){let U=0,Z=0;y&&F<0?U=Na(E+F+te,d[0][0]):!y&&F>0&&(U=_a(E+de+te,d[1][0])),p&&K<0?Z=Na(w+K+se,d[0][1]):!p&&K>0&&(Z=_a(w+X+se,d[1][1])),z=Math.max(z,U),M=Math.max(M,Z)}if(m){let U=0,Z=0;y&&F>0?U=_a(E+F,m[0][0]):!y&&F<0&&(U=Na(E+de,m[1][0])),p&&K>0?Z=_a(w+K,m[0][1]):!p&&K<0&&(Z=Na(w+X,m[1][1])),z=Math.max(z,U),M=Math.max(M,Z)}if(s){if(g){const U=js(de/k,j,A)*k;if(z=Math.max(z,U),d){let Z=0;!y&&!p||y&&!p&&x?Z=_a(w+se+de/k,d[1][1])*k:Z=Na(w+se+(y?F:-F)/k,d[0][1])*k,z=Math.max(z,Z)}if(m){let Z=0;!y&&!p||y&&!p&&x?Z=Na(w+de/k,m[1][1])*k:Z=_a(w+(y?F:-F)/k,m[0][1])*k,z=Math.max(z,Z)}}if(v){const U=js(X*k,_,D)/k;if(M=Math.max(M,U),d){let Z=0;!y&&!p||p&&!y&&x?Z=_a(E+X*k+te,d[1][0])/k:Z=Na(E+(p?K:-K)*k+te,d[0][0])/k,M=Math.max(M,Z)}if(m){let Z=0;!y&&!p||p&&!y&&x?Z=Na(E+X*k,m[1][0])/k:Z=_a(E+(p?K:-K)*k,m[0][0])/k,M=Math.max(M,Z)}}}K=K+(K<0?M:-M),F=F+(F<0?z:-z),s&&(x?de>X*k?K=(s0(y,p)?-F:F)/k:F=(s0(y,p)?-K:K)*k:g?(K=F/k,p=y):(F=K*k,y=p));const T=y?E+F:E,I=p?w+K:w;return{width:B+(y?-F:F),height:O+(p?-K:K),x:c[0]*F*(y?-1:1)+T,y:c[1]*K*(p?-1:1)+I}}const Cx={width:0,height:0,x:0,y:0},_M={...Cx,pointerX:0,pointerY:0,aspectRatio:1};function EM(t){return[[0,0],[t.measured.width,t.measured.height]]}function CM(t,a,l){const o=a.position.x+t.position.x,s=a.position.y+t.position.y,c=t.measured.width??0,d=t.measured.height??0,m=l[0]*c,y=l[1]*d;return[[o-m,s-y],[o+c-m,s+d-y]]}function TM({domNode:t,nodeId:a,getStoreItems:l,onChange:o,onEnd:s}){const c=Bt(t);let d={controlDirection:r0("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function m({controlPosition:p,boundaries:g,keepAspectRatio:v,resizeDirection:x,onResizeStart:S,onResize:N,onResizeEnd:_,shouldResize:D}){let j={...Cx},A={..._M};d={boundaries:g,resizeDirection:x,keepAspectRatio:v,controlDirection:r0(p)};let E,w=null,B=[],O,k,F,K=!1;const de=Lv().on("start",X=>{const{nodeLookup:te,transform:se,snapGrid:z,snapToGrid:M,nodeOrigin:T,paneDomNode:I}=l();if(E=te.get(a),!E)return;w=I?.getBoundingClientRect()??null;const{xSnapped:U,ySnapped:Z}=Ro(X.sourceEvent,{transform:se,snapGrid:z,snapToGrid:M,containerBounds:w});j={width:E.measured.width??0,height:E.measured.height??0,x:E.position.x??0,y:E.position.y??0},A={...j,pointerX:U,pointerY:Z,aspectRatio:j.width/j.height},O=void 0,E.parentId&&(E.extent==="parent"||E.expandParent)&&(O=te.get(E.parentId),k=O&&E.extent==="parent"?EM(O):void 0),B=[],F=void 0;for(const[ae,R]of te)if(R.parentId===a&&(B.push({id:ae,position:{...R.position},extent:R.extent}),R.extent==="parent"||R.expandParent)){const q=CM(R,E,R.origin??T);F?F=[[Math.min(q[0][0],F[0][0]),Math.min(q[0][1],F[0][1])],[Math.max(q[1][0],F[1][0]),Math.max(q[1][1],F[1][1])]]:F=q}S?.(X,{...j})}).on("drag",X=>{const{transform:te,snapGrid:se,snapToGrid:z,nodeOrigin:M}=l(),T=Ro(X.sourceEvent,{transform:te,snapGrid:se,snapToGrid:z,containerBounds:w}),I=[];if(!E)return;const{x:U,y:Z,width:ae,height:R}=j,q={},V=E.origin??M,{width:W,height:fe,x:$,y:le}=NM(A,d.controlDirection,T,d.boundaries,d.keepAspectRatio,V,k,F),ce=W!==ae,ue=fe!==R,be=$!==U&&ce,ve=le!==Z&&ue;if(!be&&!ve&&!ce&&!ue)return;if((be||ve||V[0]===1||V[1]===1)&&(q.x=be?$:j.x,q.y=ve?le:j.y,j.x=q.x,j.y=q.y,B.length>0)){const Ue=$-U,ke=le-Z;for(const ut of B)ut.position={x:ut.position.x-Ue+V[0]*(W-ae),y:ut.position.y-ke+V[1]*(fe-R)},I.push(ut)}if((ce||ue)&&(q.width=ce&&(!d.resizeDirection||d.resizeDirection==="horizontal")?W:j.width,q.height=ue&&(!d.resizeDirection||d.resizeDirection==="vertical")?fe:j.height,j.width=q.width,j.height=q.height),O&&E.expandParent){const Ue=V[0]*(q.width??0);q.x&&q.x<Ue&&(j.x=Ue,A.x=A.x-(q.x-Ue));const ke=V[1]*(q.height??0);q.y&&q.y<ke&&(j.y=ke,A.y=A.y-(q.y-ke))}const xe=wM({width:j.width,prevWidth:ae,height:j.height,prevHeight:R,affectsX:d.controlDirection.affectsX,affectsY:d.controlDirection.affectsY}),_e={...j,direction:xe};D?.(X,_e)!==!1&&(K=!0,N?.(X,_e),o(q,I))}).on("end",X=>{K&&(_?.(X,{...j}),s?.({...j}),K=!1)});c.call(de)}function y(){c.on(".drag",null)}return{update:m,destroy:y}}var uf={exports:{}},df={},ff={exports:{}},hf={};var c0;function MM(){if(c0)return hf;c0=1;var t=Go();function a(v,x){return v===x&&(v!==0||1/v===1/x)||v!==v&&x!==x}var l=typeof Object.is=="function"?Object.is:a,o=t.useState,s=t.useEffect,c=t.useLayoutEffect,d=t.useDebugValue;function m(v,x){var S=x(),N=o({inst:{value:S,getSnapshot:x}}),_=N[0].inst,D=N[1];return c(function(){_.value=S,_.getSnapshot=x,y(_)&&D({inst:_})},[v,S,x]),s(function(){return y(_)&&D({inst:_}),v(function(){y(_)&&D({inst:_})})},[v]),d(S),S}function y(v){var x=v.getSnapshot;v=v.value;try{var S=x();return!l(v,S)}catch{return!0}}function p(v,x){return x()}var g=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?p:m;return hf.useSyncExternalStore=t.useSyncExternalStore!==void 0?t.useSyncExternalStore:g,hf}var u0;function AM(){return u0||(u0=1,ff.exports=MM()),ff.exports}var d0;function jM(){if(d0)return df;d0=1;var t=Go(),a=AM();function l(p,g){return p===g&&(p!==0||1/p===1/g)||p!==p&&g!==g}var o=typeof Object.is=="function"?Object.is:l,s=a.useSyncExternalStore,c=t.useRef,d=t.useEffect,m=t.useMemo,y=t.useDebugValue;return df.useSyncExternalStoreWithSelector=function(p,g,v,x,S){var N=c(null);if(N.current===null){var _={hasValue:!1,value:null};N.current=_}else _=N.current;N=m(function(){function j(O){if(!A){if(A=!0,E=O,O=x(O),S!==void 0&&_.hasValue){var k=_.value;if(S(k,O))return w=k}return w=O}if(k=w,o(E,O))return k;var F=x(O);return S!==void 0&&S(k,F)?(E=O,k):(E=O,w=F)}var A=!1,E,w,B=v===void 0?null:v;return[function(){return j(g())},B===null?void 0:function(){return j(B())}]},[g,v,x,S]);var D=s(p,N[0],N[1]);return d(function(){_.hasValue=!0,_.value=D},[D]),y(D),D},df}var f0;function zM(){return f0||(f0=1,uf.exports=jM()),uf.exports}var RM=zM();const DM=P0(RM),OM={},h0=t=>{let a;const l=new Set,o=(g,v)=>{const x=typeof g=="function"?g(a):g;if(!Object.is(x,a)){const S=a;a=v??(typeof x!="object"||x===null)?x:Object.assign({},a,x),l.forEach(N=>N(a,S))}},s=()=>a,y={setState:o,getState:s,getInitialState:()=>p,subscribe:g=>(l.add(g),()=>l.delete(g)),destroy:()=>{(OM?"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."),l.clear()}},p=a=t(o,s,y);return y},IM=t=>t?h0(t):h0,{useDebugValue:LM}=Eo,{useSyncExternalStoreWithSelector:HM}=DM,kM=t=>t;function Tx(t,a=kM,l){const o=HM(t.subscribe,t.getState,t.getServerState||t.getInitialState,a,l);return LM(o),o}const m0=(t,a)=>{const l=IM(t),o=(s,c=a)=>Tx(l,s,c);return Object.assign(o,l),o},BM=(t,a)=>t?m0(t,a):m0;function Ze(t,a){if(Object.is(t,a))return!0;if(typeof t!="object"||t===null||typeof a!="object"||a===null)return!1;if(t instanceof Map&&a instanceof Map){if(t.size!==a.size)return!1;for(const[o,s]of t)if(!Object.is(s,a.get(o)))return!1;return!0}if(t instanceof Set&&a instanceof Set){if(t.size!==a.size)return!1;for(const o of t)if(!a.has(o))return!1;return!0}const l=Object.keys(t);if(l.length!==Object.keys(a).length)return!1;for(const o of l)if(!Object.prototype.hasOwnProperty.call(a,o)||!Object.is(t[o],a[o]))return!1;return!0}$0();const mc=L.createContext(null),qM=mc.Provider,Mx=yn.error001();function Oe(t,a){const l=L.useContext(mc);if(l===null)throw new Error(Mx);return Tx(l,t,a)}function Ke(){const t=L.useContext(mc);if(t===null)throw new Error(Mx);return L.useMemo(()=>({getState:t.getState,setState:t.setState,subscribe:t.subscribe}),[t])}const p0={display:"none"},UM={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},Ax="react-flow__node-desc",jx="react-flow__edge-desc",GM="react-flow__aria-live",VM=t=>t.ariaLiveMessage,YM=t=>t.ariaLabelConfig;function PM({rfId:t}){const a=Oe(VM);return f.jsx("div",{id:`${GM}-${t}`,"aria-live":"assertive","aria-atomic":"true",style:UM,children:a})}function $M({rfId:t,disableKeyboardA11y:a}){const l=Oe(YM);return f.jsxs(f.Fragment,{children:[f.jsx("div",{id:`${Ax}-${t}`,style:p0,children:a?l["node.a11yDescription.default"]:l["node.a11yDescription.keyboardDisabled"]}),f.jsx("div",{id:`${jx}-${t}`,style:p0,children:l["edge.a11yDescription.default"]}),!a&&f.jsx(PM,{rfId:t})]})}const Zo=L.forwardRef(({position:t="top-left",children:a,className:l,style:o,...s},c)=>{const d=`${t}`.split("-");return f.jsx("div",{className:rt(["react-flow__panel",l,...d]),style:o,ref:c,...s,children:a})});Zo.displayName="Panel";function FM({proOptions:t,position:a="bottom-right"}){return t?.hideAttribution?null:f.jsx(Zo,{position:a,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:f.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const XM=t=>{const a=[],l=[];for(const[,o]of t.nodeLookup)o.selected&&a.push(o.internals.userNode);for(const[,o]of t.edgeLookup)o.selected&&l.push(o);return{selectedNodes:a,selectedEdges:l}},zs=t=>t.id;function ZM(t,a){return Ze(t.selectedNodes.map(zs),a.selectedNodes.map(zs))&&Ze(t.selectedEdges.map(zs),a.selectedEdges.map(zs))}function KM({onSelectionChange:t}){const a=Ke(),{selectedNodes:l,selectedEdges:o}=Oe(XM,ZM);return L.useEffect(()=>{const s={nodes:l,edges:o};t?.(s),a.getState().onSelectionChangeHandlers.forEach(c=>c(s))},[l,o,t]),null}const QM=t=>!!t.onSelectionChangeHandlers;function JM({onSelectionChange:t}){const a=Oe(QM);return t||a?f.jsx(KM,{onSelectionChange:t}):null}const If=typeof window<"u"?L.useLayoutEffect:L.useEffect,zx=[0,0],WM={x:0,y:0,zoom:1},eA=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode"],g0=[...eA,"rfId"],tA=t=>({setNodes:t.setNodes,setEdges:t.setEdges,setMinZoom:t.setMinZoom,setMaxZoom:t.setMaxZoom,setTranslateExtent:t.setTranslateExtent,setNodeExtent:t.setNodeExtent,reset:t.reset,setDefaultNodesAndEdges:t.setDefaultNodesAndEdges}),y0={translateExtent:Ho,nodeOrigin:zx,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function nA(t){const{setNodes:a,setEdges:l,setMinZoom:o,setMaxZoom:s,setTranslateExtent:c,setNodeExtent:d,reset:m,setDefaultNodesAndEdges:y}=Oe(tA,Ze),p=Ke();If(()=>(y(t.defaultNodes,t.defaultEdges),()=>{g.current=y0,m()}),[]);const g=L.useRef(y0);return If(()=>{for(const v of g0){const x=t[v],S=g.current[v];x!==S&&(typeof t[v]>"u"||(v==="nodes"?a(x):v==="edges"?l(x):v==="minZoom"?o(x):v==="maxZoom"?s(x):v==="translateExtent"?c(x):v==="nodeExtent"?d(x):v==="ariaLabelConfig"?p.setState({ariaLabelConfig:BT(x)}):v==="fitView"?p.setState({fitViewQueued:x}):v==="fitViewOptions"?p.setState({fitViewOptions:x}):p.setState({[v]:x})))}g.current=t},g0.map(v=>t[v])),null}function v0(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function aA(t){const[a,l]=L.useState(t==="system"?null:t);return L.useEffect(()=>{if(t!=="system"){l(t);return}const o=v0(),s=()=>l(o?.matches?"dark":"light");return s(),o?.addEventListener("change",s),()=>{o?.removeEventListener("change",s)}},[t]),a!==null?a:v0()?.matches?"dark":"light"}const x0=typeof document<"u"?document:null;function Uo(t=null,a={target:x0,actInsideInputWithModifier:!0}){const[l,o]=L.useState(!1),s=L.useRef(!1),c=L.useRef(new Set([])),[d,m]=L.useMemo(()=>{if(t!==null){const p=(Array.isArray(t)?t:[t]).filter(v=>typeof v=="string").map(v=>v.replace("+",`
24
- `).replace(`
25
-
26
- `,`
27
- +`).split(`
28
- `)),g=p.reduce((v,x)=>v.concat(...x),[]);return[p,g]}return[[],[]]},[t]);return L.useEffect(()=>{const y=a?.target??x0,p=a?.actInsideInputWithModifier??!0;if(t!==null){const g=S=>{if(s.current=S.ctrlKey||S.metaKey||S.shiftKey||S.altKey,(!s.current||s.current&&!p)&&ux(S))return!1;const _=S0(S.code,m);if(c.current.add(S[_]),b0(d,c.current,!1)){const D=S.composedPath?.()?.[0]||S.target,j=D?.nodeName==="BUTTON"||D?.nodeName==="A";a.preventDefault!==!1&&(s.current||!j)&&S.preventDefault(),o(!0)}},v=S=>{const N=S0(S.code,m);b0(d,c.current,!0)?(o(!1),c.current.clear()):c.current.delete(S[N]),S.key==="Meta"&&c.current.clear(),s.current=!1},x=()=>{c.current.clear(),o(!1)};return y?.addEventListener("keydown",g),y?.addEventListener("keyup",v),window.addEventListener("blur",x),window.addEventListener("contextmenu",x),()=>{y?.removeEventListener("keydown",g),y?.removeEventListener("keyup",v),window.removeEventListener("blur",x),window.removeEventListener("contextmenu",x)}}},[t,o]),l}function b0(t,a,l){return t.filter(o=>l||o.length===a.size).some(o=>o.every(s=>a.has(s)))}function S0(t,a){return a.includes(t)?"code":"key"}const iA=()=>{const t=Ke();return L.useMemo(()=>({zoomIn:a=>{const{panZoom:l}=t.getState();return l?l.scaleBy(1.2,a):Promise.resolve(!1)},zoomOut:a=>{const{panZoom:l}=t.getState();return l?l.scaleBy(1/1.2,a):Promise.resolve(!1)},zoomTo:(a,l)=>{const{panZoom:o}=t.getState();return o?o.scaleTo(a,l):Promise.resolve(!1)},getZoom:()=>t.getState().transform[2],setViewport:async(a,l)=>{const{transform:[o,s,c],panZoom:d}=t.getState();return d?(await d.setViewport({x:a.x??o,y:a.y??s,zoom:a.zoom??c},l),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{const[a,l,o]=t.getState().transform;return{x:a,y:l,zoom:o}},setCenter:async(a,l,o)=>t.getState().setCenter(a,l,o),fitBounds:async(a,l)=>{const{width:o,height:s,minZoom:c,maxZoom:d,panZoom:m}=t.getState(),y=eh(a,o,s,c,d,l?.padding??.1);return m?(await m.setViewport(y,{duration:l?.duration,ease:l?.ease,interpolate:l?.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(a,l={})=>{const{transform:o,snapGrid:s,snapToGrid:c,domNode:d}=t.getState();if(!d)return a;const{x:m,y}=d.getBoundingClientRect(),p={x:a.x-m,y:a.y-y},g=l.snapGrid??s,v=l.snapToGrid??c;return Xo(p,o,v,g)},flowToScreenPosition:a=>{const{transform:l,domNode:o}=t.getState();if(!o)return a;const{x:s,y:c}=o.getBoundingClientRect(),d=ac(a,l);return{x:d.x+s,y:d.y+c}}}),[])};function Rx(t,a){const l=[],o=new Map,s=[];for(const c of t)if(c.type==="add"){s.push(c);continue}else if(c.type==="remove"||c.type==="replace")o.set(c.id,[c]);else{const d=o.get(c.id);d?d.push(c):o.set(c.id,[c])}for(const c of a){const d=o.get(c.id);if(!d){l.push(c);continue}if(d[0].type==="remove")continue;if(d[0].type==="replace"){l.push({...d[0].item});continue}const m={...c};for(const y of d)lA(y,m);l.push(m)}return s.length&&s.forEach(c=>{c.index!==void 0?l.splice(c.index,0,{...c.item}):l.push({...c.item})}),l}function lA(t,a){switch(t.type){case"select":{a.selected=t.selected;break}case"position":{typeof t.position<"u"&&(a.position=t.position),typeof t.dragging<"u"&&(a.dragging=t.dragging);break}case"dimensions":{typeof t.dimensions<"u"&&(a.measured={...t.dimensions},t.setAttributes&&((t.setAttributes===!0||t.setAttributes==="width")&&(a.width=t.dimensions.width),(t.setAttributes===!0||t.setAttributes==="height")&&(a.height=t.dimensions.height))),typeof t.resizing=="boolean"&&(a.resizing=t.resizing);break}}}function Dx(t,a){return Rx(t,a)}function Ox(t,a){return Rx(t,a)}function ni(t,a){return{id:t,type:"select",selected:a}}function fl(t,a=new Set,l=!1){const o=[];for(const[s,c]of t){const d=a.has(s);!(c.selected===void 0&&!d)&&c.selected!==d&&(l&&(c.selected=d),o.push(ni(c.id,d)))}return o}function w0({items:t=[],lookup:a}){const l=[],o=new Map(t.map(s=>[s.id,s]));for(const[s,c]of t.entries()){const d=a.get(c.id),m=d?.internals?.userNode??d;m!==void 0&&m!==c&&l.push({id:c.id,item:c,type:"replace"}),m===void 0&&l.push({item:c,type:"add",index:s})}for(const[s]of a)o.get(s)===void 0&&l.push({id:s,type:"remove"});return l}function N0(t){return{id:t.id,type:"remove"}}const _0=t=>AT(t),oA=t=>nx(t);function Ix(t){return L.forwardRef(t)}function E0(t){const[a,l]=L.useState(BigInt(0)),[o]=L.useState(()=>rA(()=>l(s=>s+BigInt(1))));return If(()=>{const s=o.get();s.length&&(t(s),o.reset())},[a]),o}function rA(t){let a=[];return{get:()=>a,reset:()=>{a=[]},push:l=>{a.push(l),t()}}}const Lx=L.createContext(null);function sA({children:t}){const a=Ke(),l=L.useCallback(m=>{const{nodes:y=[],setNodes:p,hasDefaultNodes:g,onNodesChange:v,nodeLookup:x,fitViewQueued:S,onNodesChangeMiddlewareMap:N}=a.getState();let _=y;for(const j of m)_=typeof j=="function"?j(_):j;let D=w0({items:_,lookup:x});for(const j of N.values())D=j(D);g&&p(_),D.length>0?v?.(D):S&&window.requestAnimationFrame(()=>{const{fitViewQueued:j,nodes:A,setNodes:E}=a.getState();j&&E(A)})},[]),o=E0(l),s=L.useCallback(m=>{const{edges:y=[],setEdges:p,hasDefaultEdges:g,onEdgesChange:v,edgeLookup:x}=a.getState();let S=y;for(const N of m)S=typeof N=="function"?N(S):N;g?p(S):v&&v(w0({items:S,lookup:x}))},[]),c=E0(s),d=L.useMemo(()=>({nodeQueue:o,edgeQueue:c}),[]);return f.jsx(Lx.Provider,{value:d,children:t})}function cA(){const t=L.useContext(Lx);if(!t)throw new Error("useBatchContext must be used within a BatchProvider");return t}const uA=t=>!!t.panZoom;function pc(){const t=iA(),a=Ke(),l=cA(),o=Oe(uA),s=L.useMemo(()=>{const c=v=>a.getState().nodeLookup.get(v),d=v=>{l.nodeQueue.push(v)},m=v=>{l.edgeQueue.push(v)},y=v=>{const{nodeLookup:x,nodeOrigin:S}=a.getState(),N=_0(v)?v:x.get(v.id),_=N.parentId?sx(N.position,N.measured,N.parentId,x,S):N.position,D={...N,position:_,width:N.measured?.width??N.width,height:N.measured?.height??N.height};return xl(D)},p=(v,x,S={replace:!1})=>{d(N=>N.map(_=>{if(_.id===v){const D=typeof x=="function"?x(_):x;return S.replace&&_0(D)?D:{..._,...D}}return _}))},g=(v,x,S={replace:!1})=>{m(N=>N.map(_=>{if(_.id===v){const D=typeof x=="function"?x(_):x;return S.replace&&oA(D)?D:{..._,...D}}return _}))};return{getNodes:()=>a.getState().nodes.map(v=>({...v})),getNode:v=>c(v)?.internals.userNode,getInternalNode:c,getEdges:()=>{const{edges:v=[]}=a.getState();return v.map(x=>({...x}))},getEdge:v=>a.getState().edgeLookup.get(v),setNodes:d,setEdges:m,addNodes:v=>{const x=Array.isArray(v)?v:[v];l.nodeQueue.push(S=>[...S,...x])},addEdges:v=>{const x=Array.isArray(v)?v:[v];l.edgeQueue.push(S=>[...S,...x])},toObject:()=>{const{nodes:v=[],edges:x=[],transform:S}=a.getState(),[N,_,D]=S;return{nodes:v.map(j=>({...j})),edges:x.map(j=>({...j})),viewport:{x:N,y:_,zoom:D}}},deleteElements:async({nodes:v=[],edges:x=[]})=>{const{nodes:S,edges:N,onNodesDelete:_,onEdgesDelete:D,triggerNodeChanges:j,triggerEdgeChanges:A,onDelete:E,onBeforeDelete:w}=a.getState(),{nodes:B,edges:O}=await OT({nodesToRemove:v,edgesToRemove:x,nodes:S,edges:N,onBeforeDelete:w}),k=O.length>0,F=B.length>0;if(k){const K=O.map(N0);D?.(O),A(K)}if(F){const K=B.map(N0);_?.(B),j(K)}return(F||k)&&E?.({nodes:B,edges:O}),{deletedNodes:B,deletedEdges:O}},getIntersectingNodes:(v,x=!0,S)=>{const N=Ky(v),_=N?v:y(v),D=S!==void 0;return _?(S||a.getState().nodes).filter(j=>{const A=a.getState().nodeLookup.get(j.id);if(A&&!N&&(j.id===v.id||!A.internals.positionAbsolute))return!1;const E=xl(D?j:A),w=Bo(E,_);return x&&w>0||w>=E.width*E.height||w>=_.width*_.height}):[]},isNodeIntersecting:(v,x,S=!0)=>{const _=Ky(v)?v:y(v);if(!_)return!1;const D=Bo(_,x);return S&&D>0||D>=x.width*x.height||D>=_.width*_.height},updateNode:p,updateNodeData:(v,x,S={replace:!1})=>{p(v,N=>{const _=typeof x=="function"?x(N):x;return S.replace?{...N,data:_}:{...N,data:{...N.data,..._}}},S)},updateEdge:g,updateEdgeData:(v,x,S={replace:!1})=>{g(v,N=>{const _=typeof x=="function"?x(N):x;return S.replace?{...N,data:_}:{...N,data:{...N.data,..._}}},S)},getNodesBounds:v=>{const{nodeLookup:x,nodeOrigin:S}=a.getState();return jT(v,{nodeLookup:x,nodeOrigin:S})},getHandleConnections:({type:v,id:x,nodeId:S})=>Array.from(a.getState().connectionLookup.get(`${S}-${v}${x?`-${x}`:""}`)?.values()??[]),getNodeConnections:({type:v,handleId:x,nodeId:S})=>Array.from(a.getState().connectionLookup.get(`${S}${v?x?`-${v}-${x}`:`-${v}`:""}`)?.values()??[]),fitView:async v=>{const x=a.getState().fitViewResolver??kT();return a.setState({fitViewQueued:!0,fitViewOptions:v,fitViewResolver:x}),l.nodeQueue.push(S=>[...S]),x.promise}}},[]);return L.useMemo(()=>({...s,...t,viewportInitialized:o}),[o])}const C0=t=>t.selected,dA=typeof window<"u"?window:void 0;function fA({deleteKeyCode:t,multiSelectionKeyCode:a}){const l=Ke(),{deleteElements:o}=pc(),s=Uo(t,{actInsideInputWithModifier:!1}),c=Uo(a,{target:dA});L.useEffect(()=>{if(s){const{edges:d,nodes:m}=l.getState();o({nodes:m.filter(C0),edges:d.filter(C0)}),l.setState({nodesSelectionActive:!1})}},[s]),L.useEffect(()=>{l.setState({multiSelectionActive:c})},[c])}function hA(t){const a=Ke();L.useEffect(()=>{const l=()=>{if(!t.current||!(t.current.checkVisibility?.()??!0))return!1;const o=th(t.current);(o.height===0||o.width===0)&&a.getState().onError?.("004",yn.error004()),a.setState({width:o.width||500,height:o.height||500})};if(t.current){l(),window.addEventListener("resize",l);const o=new ResizeObserver(()=>l());return o.observe(t.current),()=>{window.removeEventListener("resize",l),o&&t.current&&o.unobserve(t.current)}}},[])}const gc={position:"absolute",width:"100%",height:"100%",top:0,left:0},mA=t=>({userSelectionActive:t.userSelectionActive,lib:t.lib,connectionInProgress:t.connection.inProgress});function pA({onPaneContextMenu:t,zoomOnScroll:a=!0,zoomOnPinch:l=!0,panOnScroll:o=!1,panOnScrollSpeed:s=.5,panOnScrollMode:c=si.Free,zoomOnDoubleClick:d=!0,panOnDrag:m=!0,defaultViewport:y,translateExtent:p,minZoom:g,maxZoom:v,zoomActivationKeyCode:x,preventScrolling:S=!0,children:N,noWheelClassName:_,noPanClassName:D,onViewportChange:j,isControlledViewport:A,paneClickDistance:E,selectionOnDrag:w}){const B=Ke(),O=L.useRef(null),{userSelectionActive:k,lib:F,connectionInProgress:K}=Oe(mA,Ze),de=Uo(x),X=L.useRef();hA(O);const te=L.useCallback(se=>{j?.({x:se[0],y:se[1],zoom:se[2]}),A||B.setState({transform:se})},[j,A]);return L.useEffect(()=>{if(O.current){X.current=SM({domNode:O.current,minZoom:g,maxZoom:v,translateExtent:p,viewport:y,onDraggingChange:T=>B.setState(I=>I.paneDragging===T?I:{paneDragging:T}),onPanZoomStart:(T,I)=>{const{onViewportChangeStart:U,onMoveStart:Z}=B.getState();Z?.(T,I),U?.(I)},onPanZoom:(T,I)=>{const{onViewportChange:U,onMove:Z}=B.getState();Z?.(T,I),U?.(I)},onPanZoomEnd:(T,I)=>{const{onViewportChangeEnd:U,onMoveEnd:Z}=B.getState();Z?.(T,I),U?.(I)}});const{x:se,y:z,zoom:M}=X.current.getViewport();return B.setState({panZoom:X.current,transform:[se,z,M],domNode:O.current.closest(".react-flow")}),()=>{X.current?.destroy()}}},[]),L.useEffect(()=>{X.current?.update({onPaneContextMenu:t,zoomOnScroll:a,zoomOnPinch:l,panOnScroll:o,panOnScrollSpeed:s,panOnScrollMode:c,zoomOnDoubleClick:d,panOnDrag:m,zoomActivationKeyPressed:de,preventScrolling:S,noPanClassName:D,userSelectionActive:k,noWheelClassName:_,lib:F,onTransformChange:te,connectionInProgress:K,selectionOnDrag:w,paneClickDistance:E})},[t,a,l,o,s,c,d,m,de,S,D,k,_,F,te,K,w,E]),f.jsx("div",{className:"react-flow__renderer",ref:O,style:gc,children:N})}const gA=t=>({userSelectionActive:t.userSelectionActive,userSelectionRect:t.userSelectionRect});function yA(){const{userSelectionActive:t,userSelectionRect:a}=Oe(gA,Ze);return t&&a?f.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:a.width,height:a.height,transform:`translate(${a.x}px, ${a.y}px)`}}):null}const mf=(t,a)=>l=>{l.target===a.current&&t?.(l)},vA=t=>({userSelectionActive:t.userSelectionActive,elementsSelectable:t.elementsSelectable,connectionInProgress:t.connection.inProgress,dragging:t.paneDragging});function xA({isSelecting:t,selectionKeyPressed:a,selectionMode:l=ko.Full,panOnDrag:o,paneClickDistance:s,selectionOnDrag:c,onSelectionStart:d,onSelectionEnd:m,onPaneClick:y,onPaneContextMenu:p,onPaneScroll:g,onPaneMouseEnter:v,onPaneMouseMove:x,onPaneMouseLeave:S,children:N}){const _=Ke(),{userSelectionActive:D,elementsSelectable:j,dragging:A,connectionInProgress:E}=Oe(vA,Ze),w=j&&(t||D),B=L.useRef(null),O=L.useRef(),k=L.useRef(new Set),F=L.useRef(new Set),K=L.useRef(!1),de=U=>{if(K.current||E){K.current=!1;return}y?.(U),_.getState().resetSelectedElements(),_.setState({nodesSelectionActive:!1})},X=U=>{if(Array.isArray(o)&&o?.includes(2)){U.preventDefault();return}p?.(U)},te=g?U=>g(U):void 0,se=U=>{K.current&&(U.stopPropagation(),K.current=!1)},z=U=>{const{domNode:Z}=_.getState();if(O.current=Z?.getBoundingClientRect(),!O.current)return;const ae=U.target===B.current;if(!ae&&!!U.target.closest(".nokey")||!t||!(c&&ae||a)||U.button!==0||!U.isPrimary)return;U.target?.setPointerCapture?.(U.pointerId),K.current=!1;const{x:V,y:W}=on(U.nativeEvent,O.current);_.setState({userSelectionRect:{width:0,height:0,startX:V,startY:W,x:V,y:W}}),ae||(U.stopPropagation(),U.preventDefault())},M=U=>{const{userSelectionRect:Z,transform:ae,nodeLookup:R,edgeLookup:q,connectionLookup:V,triggerNodeChanges:W,triggerEdgeChanges:fe,defaultEdgeOptions:$,resetSelectedElements:le}=_.getState();if(!O.current||!Z)return;const{x:ce,y:ue}=on(U.nativeEvent,O.current),{startX:be,startY:ve}=Z;if(!K.current){const ke=a?0:s;if(Math.hypot(ce-be,ue-ve)<=ke)return;le(),d?.(U)}K.current=!0;const xe={startX:be,startY:ve,x:ce<be?ce:be,y:ue<ve?ue:ve,width:Math.abs(ce-be),height:Math.abs(ue-ve)},_e=k.current,je=F.current;k.current=new Set(Wf(R,xe,ae,l===ko.Partial,!0).map(ke=>ke.id)),F.current=new Set;const Ue=$?.selectable??!0;for(const ke of k.current){const ut=V.get(ke);if(ut)for(const{edgeId:Zt}of ut.values()){const zt=q.get(Zt);zt&&(zt.selectable??Ue)&&F.current.add(Zt)}}if(!Qy(_e,k.current)){const ke=fl(R,k.current,!0);W(ke)}if(!Qy(je,F.current)){const ke=fl(q,F.current);fe(ke)}_.setState({userSelectionRect:xe,userSelectionActive:!0,nodesSelectionActive:!1})},T=U=>{U.button===0&&(U.target?.releasePointerCapture?.(U.pointerId),!D&&U.target===B.current&&_.getState().userSelectionRect&&de?.(U),_.setState({userSelectionActive:!1,userSelectionRect:null}),K.current&&(m?.(U),_.setState({nodesSelectionActive:k.current.size>0})))},I=o===!0||Array.isArray(o)&&o.includes(0);return f.jsxs("div",{className:rt(["react-flow__pane",{draggable:I,dragging:A,selection:t}]),onClick:w?void 0:mf(de,B),onContextMenu:mf(X,B),onWheel:mf(te,B),onPointerEnter:w?void 0:v,onPointerMove:w?M:x,onPointerUp:w?T:void 0,onPointerDownCapture:w?z:void 0,onClickCapture:w?se:void 0,onPointerLeave:S,ref:B,style:gc,children:[N,f.jsx(yA,{})]})}function Lf({id:t,store:a,unselect:l=!1,nodeRef:o}){const{addSelectedNodes:s,unselectNodesAndEdges:c,multiSelectionActive:d,nodeLookup:m,onError:y}=a.getState(),p=m.get(t);if(!p){y?.("012",yn.error012(t));return}a.setState({nodesSelectionActive:!1}),p.selected?(l||p.selected&&d)&&(c({nodes:[p],edges:[]}),requestAnimationFrame(()=>o?.current?.blur())):s([t])}function Hx({nodeRef:t,disabled:a=!1,noDragClassName:l,handleSelector:o,nodeId:s,isSelectable:c,nodeClickDistance:d}){const m=Ke(),[y,p]=L.useState(!1),g=L.useRef();return L.useEffect(()=>{g.current=rM({getStoreItems:()=>m.getState(),onNodeMouseDown:v=>{Lf({id:v,store:m,nodeRef:t})},onDragStart:()=>{p(!0)},onDragStop:()=>{p(!1)}})},[]),L.useEffect(()=>{if(!(a||!t.current||!g.current))return g.current.update({noDragClassName:l,handleSelector:o,domNode:t.current,isSelectable:c,nodeId:s,nodeClickDistance:d}),()=>{g.current?.destroy()}},[l,o,a,c,t,s,d]),y}const bA=t=>a=>a.selected&&(a.draggable||t&&typeof a.draggable>"u");function kx(){const t=Ke();return L.useCallback(l=>{const{nodeExtent:o,snapToGrid:s,snapGrid:c,nodesDraggable:d,onError:m,updateNodePositions:y,nodeLookup:p,nodeOrigin:g}=t.getState(),v=new Map,x=bA(d),S=s?c[0]:5,N=s?c[1]:5,_=l.direction.x*S*l.factor,D=l.direction.y*N*l.factor;for(const[,j]of p){if(!x(j))continue;let A={x:j.internals.positionAbsolute.x+_,y:j.internals.positionAbsolute.y+D};s&&(A=Fo(A,c));const{position:E,positionAbsolute:w}=ax({nodeId:j.id,nextPosition:A,nodeLookup:p,nodeExtent:o,nodeOrigin:g,onError:m});j.position=E,j.internals.positionAbsolute=w,v.set(j.id,j)}y(v)},[])}const rh=L.createContext(null),SA=rh.Provider;rh.Consumer;const Bx=()=>L.useContext(rh),wA=t=>({connectOnClick:t.connectOnClick,noPanClassName:t.noPanClassName,rfId:t.rfId}),NA=(t,a,l)=>o=>{const{connectionClickStartHandle:s,connectionMode:c,connection:d}=o,{fromHandle:m,toHandle:y,isValid:p}=d,g=y?.nodeId===t&&y?.id===a&&y?.type===l;return{connectingFrom:m?.nodeId===t&&m?.id===a&&m?.type===l,connectingTo:g,clickConnecting:s?.nodeId===t&&s?.id===a&&s?.type===l,isPossibleEndHandle:c===fi.Strict?m?.type!==l:t!==m?.nodeId||a!==m?.id,connectionInProcess:!!m,clickConnectionInProcess:!!s,valid:g&&p}};function _A({type:t="source",position:a=ge.Top,isValidConnection:l,isConnectable:o=!0,isConnectableStart:s=!0,isConnectableEnd:c=!0,id:d,onConnect:m,children:y,className:p,onMouseDown:g,onTouchStart:v,...x},S){const N=d||null,_=t==="target",D=Ke(),j=Bx(),{connectOnClick:A,noPanClassName:E,rfId:w}=Oe(wA,Ze),{connectingFrom:B,connectingTo:O,clickConnecting:k,isPossibleEndHandle:F,connectionInProcess:K,clickConnectionInProcess:de,valid:X}=Oe(NA(j,N,t),Ze);j||D.getState().onError?.("010",yn.error010());const te=M=>{const{defaultEdgeOptions:T,onConnect:I,hasDefaultEdges:U}=D.getState(),Z={...T,...M};if(U){const{edges:ae,setEdges:R}=D.getState();R(PT(Z,ae))}I?.(Z),m?.(Z)},se=M=>{if(!j)return;const T=dx(M.nativeEvent);if(s&&(T&&M.button===0||!T)){const I=D.getState();Of.onPointerDown(M.nativeEvent,{handleDomNode:M.currentTarget,autoPanOnConnect:I.autoPanOnConnect,connectionMode:I.connectionMode,connectionRadius:I.connectionRadius,domNode:I.domNode,nodeLookup:I.nodeLookup,lib:I.lib,isTarget:_,handleId:N,nodeId:j,flowId:I.rfId,panBy:I.panBy,cancelConnection:I.cancelConnection,onConnectStart:I.onConnectStart,onConnectEnd:(...U)=>D.getState().onConnectEnd?.(...U),updateConnection:I.updateConnection,onConnect:te,isValidConnection:l||((...U)=>D.getState().isValidConnection?.(...U)??!0),getTransform:()=>D.getState().transform,getFromHandle:()=>D.getState().connection.fromHandle,autoPanSpeed:I.autoPanSpeed,dragThreshold:I.connectionDragThreshold})}T?g?.(M):v?.(M)},z=M=>{const{onClickConnectStart:T,onClickConnectEnd:I,connectionClickStartHandle:U,connectionMode:Z,isValidConnection:ae,lib:R,rfId:q,nodeLookup:V,connection:W}=D.getState();if(!j||!U&&!s)return;if(!U){T?.(M.nativeEvent,{nodeId:j,handleId:N,handleType:t}),D.setState({connectionClickStartHandle:{nodeId:j,type:t,id:N}});return}const fe=cx(M.target),$=l||ae,{connection:le,isValid:ce}=Of.isValid(M.nativeEvent,{handle:{nodeId:j,id:N,type:t},connectionMode:Z,fromNodeId:U.nodeId,fromHandleId:U.id||null,fromType:U.type,isValidConnection:$,flowId:q,doc:fe,lib:R,nodeLookup:V});ce&&le&&te(le);const ue=structuredClone(W);delete ue.inProgress,ue.toPosition=ue.toHandle?ue.toHandle.position:null,I?.(M,ue),D.setState({connectionClickStartHandle:null})};return f.jsx("div",{"data-handleid":N,"data-nodeid":j,"data-handlepos":a,"data-id":`${w}-${j}-${N}-${t}`,className:rt(["react-flow__handle",`react-flow__handle-${a}`,"nodrag",E,p,{source:!_,target:_,connectable:o,connectablestart:s,connectableend:c,clickconnecting:k,connectingfrom:B,connectingto:O,valid:X,connectionindicator:o&&(!K||F)&&(K||de?c:s)}]),onMouseDown:se,onTouchStart:se,onClick:A?z:void 0,ref:S,...x,children:y})}const wl=L.memo(Ix(_A));function EA({data:t,isConnectable:a,sourcePosition:l=ge.Bottom}){return f.jsxs(f.Fragment,{children:[t?.label,f.jsx(wl,{type:"source",position:l,isConnectable:a})]})}function CA({data:t,isConnectable:a,targetPosition:l=ge.Top,sourcePosition:o=ge.Bottom}){return f.jsxs(f.Fragment,{children:[f.jsx(wl,{type:"target",position:l,isConnectable:a}),t?.label,f.jsx(wl,{type:"source",position:o,isConnectable:a})]})}function TA(){return null}function MA({data:t,isConnectable:a,targetPosition:l=ge.Top}){return f.jsxs(f.Fragment,{children:[f.jsx(wl,{type:"target",position:l,isConnectable:a}),t?.label]})}const ic={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},T0={input:EA,default:CA,output:MA,group:TA};function AA(t){return t.internals.handleBounds===void 0?{width:t.width??t.initialWidth??t.style?.width,height:t.height??t.initialHeight??t.style?.height}:{width:t.width??t.style?.width,height:t.height??t.style?.height}}const jA=t=>{const{width:a,height:l,x:o,y:s}=$o(t.nodeLookup,{filter:c=>!!c.selected});return{width:ln(a)?a:null,height:ln(l)?l:null,userSelectionActive:t.userSelectionActive,transformString:`translate(${t.transform[0]}px,${t.transform[1]}px) scale(${t.transform[2]}) translate(${o}px,${s}px)`}};function zA({onSelectionContextMenu:t,noPanClassName:a,disableKeyboardA11y:l}){const o=Ke(),{width:s,height:c,transformString:d,userSelectionActive:m}=Oe(jA,Ze),y=kx(),p=L.useRef(null);L.useEffect(()=>{l||p.current?.focus({preventScroll:!0})},[l]);const g=!m&&s!==null&&c!==null;if(Hx({nodeRef:p,disabled:!g}),!g)return null;const v=t?S=>{const N=o.getState().nodes.filter(_=>_.selected);t(S,N)}:void 0,x=S=>{Object.prototype.hasOwnProperty.call(ic,S.key)&&(S.preventDefault(),y({direction:ic[S.key],factor:S.shiftKey?4:1}))};return f.jsx("div",{className:rt(["react-flow__nodesselection","react-flow__container",a]),style:{transform:d},children:f.jsx("div",{ref:p,className:"react-flow__nodesselection-rect",onContextMenu:v,tabIndex:l?void 0:-1,onKeyDown:l?void 0:x,style:{width:s,height:c}})})}const M0=typeof window<"u"?window:void 0,RA=t=>({nodesSelectionActive:t.nodesSelectionActive,userSelectionActive:t.userSelectionActive});function qx({children:t,onPaneClick:a,onPaneMouseEnter:l,onPaneMouseMove:o,onPaneMouseLeave:s,onPaneContextMenu:c,onPaneScroll:d,paneClickDistance:m,deleteKeyCode:y,selectionKeyCode:p,selectionOnDrag:g,selectionMode:v,onSelectionStart:x,onSelectionEnd:S,multiSelectionKeyCode:N,panActivationKeyCode:_,zoomActivationKeyCode:D,elementsSelectable:j,zoomOnScroll:A,zoomOnPinch:E,panOnScroll:w,panOnScrollSpeed:B,panOnScrollMode:O,zoomOnDoubleClick:k,panOnDrag:F,defaultViewport:K,translateExtent:de,minZoom:X,maxZoom:te,preventScrolling:se,onSelectionContextMenu:z,noWheelClassName:M,noPanClassName:T,disableKeyboardA11y:I,onViewportChange:U,isControlledViewport:Z}){const{nodesSelectionActive:ae,userSelectionActive:R}=Oe(RA,Ze),q=Uo(p,{target:M0}),V=Uo(_,{target:M0}),W=V||F,fe=V||w,$=g&&W!==!0,le=q||R||$;return fA({deleteKeyCode:y,multiSelectionKeyCode:N}),f.jsx(pA,{onPaneContextMenu:c,elementsSelectable:j,zoomOnScroll:A,zoomOnPinch:E,panOnScroll:fe,panOnScrollSpeed:B,panOnScrollMode:O,zoomOnDoubleClick:k,panOnDrag:!q&&W,defaultViewport:K,translateExtent:de,minZoom:X,maxZoom:te,zoomActivationKeyCode:D,preventScrolling:se,noWheelClassName:M,noPanClassName:T,onViewportChange:U,isControlledViewport:Z,paneClickDistance:m,selectionOnDrag:$,children:f.jsxs(xA,{onSelectionStart:x,onSelectionEnd:S,onPaneClick:a,onPaneMouseEnter:l,onPaneMouseMove:o,onPaneMouseLeave:s,onPaneContextMenu:c,onPaneScroll:d,panOnDrag:W,isSelecting:!!le,selectionMode:v,selectionKeyPressed:q,paneClickDistance:m,selectionOnDrag:$,children:[t,ae&&f.jsx(zA,{onSelectionContextMenu:z,noPanClassName:T,disableKeyboardA11y:I})]})})}qx.displayName="FlowRenderer";const DA=L.memo(qx),OA=t=>a=>t?Wf(a.nodeLookup,{x:0,y:0,width:a.width,height:a.height},a.transform,!0).map(l=>l.id):Array.from(a.nodeLookup.keys());function IA(t){return Oe(L.useCallback(OA(t),[t]),Ze)}const LA=t=>t.updateNodeInternals;function HA(){const t=Oe(LA),[a]=L.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(l=>{const o=new Map;l.forEach(s=>{const c=s.target.getAttribute("data-id");o.set(c,{id:c,nodeElement:s.target,force:!0})}),t(o)}));return L.useEffect(()=>()=>{a?.disconnect()},[a]),a}function kA({node:t,nodeType:a,hasDimensions:l,resizeObserver:o}){const s=Ke(),c=L.useRef(null),d=L.useRef(null),m=L.useRef(t.sourcePosition),y=L.useRef(t.targetPosition),p=L.useRef(a),g=l&&!!t.internals.handleBounds;return L.useEffect(()=>{c.current&&!t.hidden&&(!g||d.current!==c.current)&&(d.current&&o?.unobserve(d.current),o?.observe(c.current),d.current=c.current)},[g,t.hidden]),L.useEffect(()=>()=>{d.current&&(o?.unobserve(d.current),d.current=null)},[]),L.useEffect(()=>{if(c.current){const v=p.current!==a,x=m.current!==t.sourcePosition,S=y.current!==t.targetPosition;(v||x||S)&&(p.current=a,m.current=t.sourcePosition,y.current=t.targetPosition,s.getState().updateNodeInternals(new Map([[t.id,{id:t.id,nodeElement:c.current,force:!0}]])))}},[t.id,a,t.sourcePosition,t.targetPosition]),c}function BA({id:t,onClick:a,onMouseEnter:l,onMouseMove:o,onMouseLeave:s,onContextMenu:c,onDoubleClick:d,nodesDraggable:m,elementsSelectable:y,nodesConnectable:p,nodesFocusable:g,resizeObserver:v,noDragClassName:x,noPanClassName:S,disableKeyboardA11y:N,rfId:_,nodeTypes:D,nodeClickDistance:j,onError:A}){const{node:E,internals:w,isParent:B}=Oe(ce=>{const ue=ce.nodeLookup.get(t),be=ce.parentLookup.has(t);return{node:ue,internals:ue.internals,isParent:be}},Ze);let O=E.type||"default",k=D?.[O]||T0[O];k===void 0&&(A?.("003",yn.error003(O)),O="default",k=D?.default||T0.default);const F=!!(E.draggable||m&&typeof E.draggable>"u"),K=!!(E.selectable||y&&typeof E.selectable>"u"),de=!!(E.connectable||p&&typeof E.connectable>"u"),X=!!(E.focusable||g&&typeof E.focusable>"u"),te=Ke(),se=rx(E),z=kA({node:E,nodeType:O,hasDimensions:se,resizeObserver:v}),M=Hx({nodeRef:z,disabled:E.hidden||!F,noDragClassName:x,handleSelector:E.dragHandle,nodeId:t,isSelectable:K,nodeClickDistance:j}),T=kx();if(E.hidden)return null;const I=$n(E),U=AA(E),Z=K||F||a||l||o||s,ae=l?ce=>l(ce,{...w.userNode}):void 0,R=o?ce=>o(ce,{...w.userNode}):void 0,q=s?ce=>s(ce,{...w.userNode}):void 0,V=c?ce=>c(ce,{...w.userNode}):void 0,W=d?ce=>d(ce,{...w.userNode}):void 0,fe=ce=>{const{selectNodesOnDrag:ue,nodeDragThreshold:be}=te.getState();K&&(!ue||!F||be>0)&&Lf({id:t,store:te,nodeRef:z}),a&&a(ce,{...w.userNode})},$=ce=>{if(!(ux(ce.nativeEvent)||N)){if(Jv.includes(ce.key)&&K){const ue=ce.key==="Escape";Lf({id:t,store:te,unselect:ue,nodeRef:z})}else if(F&&E.selected&&Object.prototype.hasOwnProperty.call(ic,ce.key)){ce.preventDefault();const{ariaLabelConfig:ue}=te.getState();te.setState({ariaLiveMessage:ue["node.a11yDescription.ariaLiveMessage"]({direction:ce.key.replace("Arrow","").toLowerCase(),x:~~w.positionAbsolute.x,y:~~w.positionAbsolute.y})}),T({direction:ic[ce.key],factor:ce.shiftKey?4:1})}}},le=()=>{if(N||!z.current?.matches(":focus-visible"))return;const{transform:ce,width:ue,height:be,autoPanOnNodeFocus:ve,setCenter:xe}=te.getState();if(!ve)return;Wf(new Map([[t,E]]),{x:0,y:0,width:ue,height:be},ce,!0).length>0||xe(E.position.x+I.width/2,E.position.y+I.height/2,{zoom:ce[2]})};return f.jsx("div",{className:rt(["react-flow__node",`react-flow__node-${O}`,{[S]:F},E.className,{selected:E.selected,selectable:K,parent:B,draggable:F,dragging:M}]),ref:z,style:{zIndex:w.z,transform:`translate(${w.positionAbsolute.x}px,${w.positionAbsolute.y}px)`,pointerEvents:Z?"all":"none",visibility:se?"visible":"hidden",...E.style,...U},"data-id":t,"data-testid":`rf__node-${t}`,onMouseEnter:ae,onMouseMove:R,onMouseLeave:q,onContextMenu:V,onClick:fe,onDoubleClick:W,onKeyDown:X?$:void 0,tabIndex:X?0:void 0,onFocus:X?le:void 0,role:E.ariaRole??(X?"group":void 0),"aria-roledescription":"node","aria-describedby":N?void 0:`${Ax}-${_}`,"aria-label":E.ariaLabel,...E.domAttributes,children:f.jsx(SA,{value:t,children:f.jsx(k,{id:t,data:E.data,type:O,positionAbsoluteX:w.positionAbsolute.x,positionAbsoluteY:w.positionAbsolute.y,selected:E.selected??!1,selectable:K,draggable:F,deletable:E.deletable??!0,isConnectable:de,sourcePosition:E.sourcePosition,targetPosition:E.targetPosition,dragging:M,dragHandle:E.dragHandle,zIndex:w.z,parentId:E.parentId,...I})})})}var qA=L.memo(BA);const UA=t=>({nodesDraggable:t.nodesDraggable,nodesConnectable:t.nodesConnectable,nodesFocusable:t.nodesFocusable,elementsSelectable:t.elementsSelectable,onError:t.onError});function Ux(t){const{nodesDraggable:a,nodesConnectable:l,nodesFocusable:o,elementsSelectable:s,onError:c}=Oe(UA,Ze),d=IA(t.onlyRenderVisibleElements),m=HA();return f.jsx("div",{className:"react-flow__nodes",style:gc,children:d.map(y=>f.jsx(qA,{id:y,nodeTypes:t.nodeTypes,nodeExtent:t.nodeExtent,onClick:t.onNodeClick,onMouseEnter:t.onNodeMouseEnter,onMouseMove:t.onNodeMouseMove,onMouseLeave:t.onNodeMouseLeave,onContextMenu:t.onNodeContextMenu,onDoubleClick:t.onNodeDoubleClick,noDragClassName:t.noDragClassName,noPanClassName:t.noPanClassName,rfId:t.rfId,disableKeyboardA11y:t.disableKeyboardA11y,resizeObserver:m,nodesDraggable:a,nodesConnectable:l,nodesFocusable:o,elementsSelectable:s,nodeClickDistance:t.nodeClickDistance,onError:c},y))})}Ux.displayName="NodeRenderer";const GA=L.memo(Ux);function VA(t){return Oe(L.useCallback(l=>{if(!t)return l.edges.map(s=>s.id);const o=[];if(l.width&&l.height)for(const s of l.edges){const c=l.nodeLookup.get(s.source),d=l.nodeLookup.get(s.target);c&&d&&GT({sourceNode:c,targetNode:d,width:l.width,height:l.height,transform:l.transform})&&o.push(s.id)}return o},[t]),Ze)}const YA=({color:t="none",strokeWidth:a=1})=>{const l={strokeWidth:a,...t&&{stroke:t}};return f.jsx("polyline",{className:"arrow",style:l,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},PA=({color:t="none",strokeWidth:a=1})=>{const l={strokeWidth:a,...t&&{stroke:t,fill:t}};return f.jsx("polyline",{className:"arrowclosed",style:l,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},A0={[tc.Arrow]:YA,[tc.ArrowClosed]:PA};function $A(t){const a=Ke();return L.useMemo(()=>Object.prototype.hasOwnProperty.call(A0,t)?A0[t]:(a.getState().onError?.("009",yn.error009(t)),null),[t])}const FA=({id:t,type:a,color:l,width:o=12.5,height:s=12.5,markerUnits:c="strokeWidth",strokeWidth:d,orient:m="auto-start-reverse"})=>{const y=$A(a);return y?f.jsx("marker",{className:"react-flow__arrowhead",id:t,markerWidth:`${o}`,markerHeight:`${s}`,viewBox:"-10 -10 20 20",markerUnits:c,orient:m,refX:"0",refY:"0",children:f.jsx(y,{color:l,strokeWidth:d})}):null},Gx=({defaultColor:t,rfId:a})=>{const l=Oe(c=>c.edges),o=Oe(c=>c.defaultEdgeOptions),s=L.useMemo(()=>KT(l,{id:a,defaultColor:t,defaultMarkerStart:o?.markerStart,defaultMarkerEnd:o?.markerEnd}),[l,o,a,t]);return s.length?f.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:f.jsx("defs",{children:s.map(c=>f.jsx(FA,{id:c.id,type:c.type,color:c.color,width:c.width,height:c.height,markerUnits:c.markerUnits,strokeWidth:c.strokeWidth,orient:c.orient},c.id))})}):null};Gx.displayName="MarkerDefinitions";var XA=L.memo(Gx);function Vx({x:t,y:a,label:l,labelStyle:o,labelShowBg:s=!0,labelBgStyle:c,labelBgPadding:d=[2,4],labelBgBorderRadius:m=2,children:y,className:p,...g}){const[v,x]=L.useState({x:1,y:0,width:0,height:0}),S=rt(["react-flow__edge-textwrapper",p]),N=L.useRef(null);return L.useEffect(()=>{if(N.current){const _=N.current.getBBox();x({x:_.x,y:_.y,width:_.width,height:_.height})}},[l]),l?f.jsxs("g",{transform:`translate(${t-v.width/2} ${a-v.height/2})`,className:S,visibility:v.width?"visible":"hidden",...g,children:[s&&f.jsx("rect",{width:v.width+2*d[0],x:-d[0],y:-d[1],height:v.height+2*d[1],className:"react-flow__edge-textbg",style:c,rx:m,ry:m}),f.jsx("text",{className:"react-flow__edge-text",y:v.height/2,dy:"0.3em",ref:N,style:o,children:l}),y]}):null}Vx.displayName="EdgeText";const ZA=L.memo(Vx);function yc({path:t,labelX:a,labelY:l,label:o,labelStyle:s,labelShowBg:c,labelBgStyle:d,labelBgPadding:m,labelBgBorderRadius:y,interactionWidth:p=20,...g}){return f.jsxs(f.Fragment,{children:[f.jsx("path",{...g,d:t,fill:"none",className:rt(["react-flow__edge-path",g.className])}),p?f.jsx("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:p,className:"react-flow__edge-interaction"}):null,o&&ln(a)&&ln(l)?f.jsx(ZA,{x:a,y:l,label:o,labelStyle:s,labelShowBg:c,labelBgStyle:d,labelBgPadding:m,labelBgBorderRadius:y}):null]})}function j0({pos:t,x1:a,y1:l,x2:o,y2:s}){return t===ge.Left||t===ge.Right?[.5*(a+o),l]:[a,.5*(l+s)]}function Yx({sourceX:t,sourceY:a,sourcePosition:l=ge.Bottom,targetX:o,targetY:s,targetPosition:c=ge.Top}){const[d,m]=j0({pos:l,x1:t,y1:a,x2:o,y2:s}),[y,p]=j0({pos:c,x1:o,y1:s,x2:t,y2:a}),[g,v,x,S]=fx({sourceX:t,sourceY:a,targetX:o,targetY:s,sourceControlX:d,sourceControlY:m,targetControlX:y,targetControlY:p});return[`M${t},${a} C${d},${m} ${y},${p} ${o},${s}`,g,v,x,S]}function Px(t){return L.memo(({id:a,sourceX:l,sourceY:o,targetX:s,targetY:c,sourcePosition:d,targetPosition:m,label:y,labelStyle:p,labelShowBg:g,labelBgStyle:v,labelBgPadding:x,labelBgBorderRadius:S,style:N,markerEnd:_,markerStart:D,interactionWidth:j})=>{const[A,E,w]=Yx({sourceX:l,sourceY:o,sourcePosition:d,targetX:s,targetY:c,targetPosition:m}),B=t.isInternal?void 0:a;return f.jsx(yc,{id:B,path:A,labelX:E,labelY:w,label:y,labelStyle:p,labelShowBg:g,labelBgStyle:v,labelBgPadding:x,labelBgBorderRadius:S,style:N,markerEnd:_,markerStart:D,interactionWidth:j})})}const KA=Px({isInternal:!1}),$x=Px({isInternal:!0});KA.displayName="SimpleBezierEdge";$x.displayName="SimpleBezierEdgeInternal";function Fx(t){return L.memo(({id:a,sourceX:l,sourceY:o,targetX:s,targetY:c,label:d,labelStyle:m,labelShowBg:y,labelBgStyle:p,labelBgPadding:g,labelBgBorderRadius:v,style:x,sourcePosition:S=ge.Bottom,targetPosition:N=ge.Top,markerEnd:_,markerStart:D,pathOptions:j,interactionWidth:A})=>{const[E,w,B]=zf({sourceX:l,sourceY:o,sourcePosition:S,targetX:s,targetY:c,targetPosition:N,borderRadius:j?.borderRadius,offset:j?.offset,stepPosition:j?.stepPosition}),O=t.isInternal?void 0:a;return f.jsx(yc,{id:O,path:E,labelX:w,labelY:B,label:d,labelStyle:m,labelShowBg:y,labelBgStyle:p,labelBgPadding:g,labelBgBorderRadius:v,style:x,markerEnd:_,markerStart:D,interactionWidth:A})})}const Xx=Fx({isInternal:!1}),Zx=Fx({isInternal:!0});Xx.displayName="SmoothStepEdge";Zx.displayName="SmoothStepEdgeInternal";function Kx(t){return L.memo(({id:a,...l})=>{const o=t.isInternal?void 0:a;return f.jsx(Xx,{...l,id:o,pathOptions:L.useMemo(()=>({borderRadius:0,offset:l.pathOptions?.offset}),[l.pathOptions?.offset])})})}const QA=Kx({isInternal:!1}),Qx=Kx({isInternal:!0});QA.displayName="StepEdge";Qx.displayName="StepEdgeInternal";function Jx(t){return L.memo(({id:a,sourceX:l,sourceY:o,targetX:s,targetY:c,label:d,labelStyle:m,labelShowBg:y,labelBgStyle:p,labelBgPadding:g,labelBgBorderRadius:v,style:x,markerEnd:S,markerStart:N,interactionWidth:_})=>{const[D,j,A]=px({sourceX:l,sourceY:o,targetX:s,targetY:c}),E=t.isInternal?void 0:a;return f.jsx(yc,{id:E,path:D,labelX:j,labelY:A,label:d,labelStyle:m,labelShowBg:y,labelBgStyle:p,labelBgPadding:g,labelBgBorderRadius:v,style:x,markerEnd:S,markerStart:N,interactionWidth:_})})}const JA=Jx({isInternal:!1}),Wx=Jx({isInternal:!0});JA.displayName="StraightEdge";Wx.displayName="StraightEdgeInternal";function eb(t){return L.memo(({id:a,sourceX:l,sourceY:o,targetX:s,targetY:c,sourcePosition:d=ge.Bottom,targetPosition:m=ge.Top,label:y,labelStyle:p,labelShowBg:g,labelBgStyle:v,labelBgPadding:x,labelBgBorderRadius:S,style:N,markerEnd:_,markerStart:D,pathOptions:j,interactionWidth:A})=>{const[E,w,B]=hx({sourceX:l,sourceY:o,sourcePosition:d,targetX:s,targetY:c,targetPosition:m,curvature:j?.curvature}),O=t.isInternal?void 0:a;return f.jsx(yc,{id:O,path:E,labelX:w,labelY:B,label:y,labelStyle:p,labelShowBg:g,labelBgStyle:v,labelBgPadding:x,labelBgBorderRadius:S,style:N,markerEnd:_,markerStart:D,interactionWidth:A})})}const WA=eb({isInternal:!1}),tb=eb({isInternal:!0});WA.displayName="BezierEdge";tb.displayName="BezierEdgeInternal";const z0={default:tb,straight:Wx,step:Qx,smoothstep:Zx,simplebezier:$x},R0={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},ej=(t,a,l)=>l===ge.Left?t-a:l===ge.Right?t+a:t,tj=(t,a,l)=>l===ge.Top?t-a:l===ge.Bottom?t+a:t,D0="react-flow__edgeupdater";function O0({position:t,centerX:a,centerY:l,radius:o=10,onMouseDown:s,onMouseEnter:c,onMouseOut:d,type:m}){return f.jsx("circle",{onMouseDown:s,onMouseEnter:c,onMouseOut:d,className:rt([D0,`${D0}-${m}`]),cx:ej(a,o,t),cy:tj(l,o,t),r:o,stroke:"transparent",fill:"transparent"})}function nj({isReconnectable:t,reconnectRadius:a,edge:l,sourceX:o,sourceY:s,targetX:c,targetY:d,sourcePosition:m,targetPosition:y,onReconnect:p,onReconnectStart:g,onReconnectEnd:v,setReconnecting:x,setUpdateHover:S}){const N=Ke(),_=(w,B)=>{if(w.button!==0)return;const{autoPanOnConnect:O,domNode:k,connectionMode:F,connectionRadius:K,lib:de,onConnectStart:X,cancelConnection:te,nodeLookup:se,rfId:z,panBy:M,updateConnection:T}=N.getState(),I=B.type==="target",U=(R,q)=>{x(!1),v?.(R,l,B.type,q)},Z=R=>p?.(l,R),ae=(R,q)=>{x(!0),g?.(w,l,B.type),X?.(R,q)};Of.onPointerDown(w.nativeEvent,{autoPanOnConnect:O,connectionMode:F,connectionRadius:K,domNode:k,handleId:B.id,nodeId:B.nodeId,nodeLookup:se,isTarget:I,edgeUpdaterType:B.type,lib:de,flowId:z,cancelConnection:te,panBy:M,isValidConnection:(...R)=>N.getState().isValidConnection?.(...R)??!0,onConnect:Z,onConnectStart:ae,onConnectEnd:(...R)=>N.getState().onConnectEnd?.(...R),onReconnectEnd:U,updateConnection:T,getTransform:()=>N.getState().transform,getFromHandle:()=>N.getState().connection.fromHandle,dragThreshold:N.getState().connectionDragThreshold,handleDomNode:w.currentTarget})},D=w=>_(w,{nodeId:l.target,id:l.targetHandle??null,type:"target"}),j=w=>_(w,{nodeId:l.source,id:l.sourceHandle??null,type:"source"}),A=()=>S(!0),E=()=>S(!1);return f.jsxs(f.Fragment,{children:[(t===!0||t==="source")&&f.jsx(O0,{position:m,centerX:o,centerY:s,radius:a,onMouseDown:D,onMouseEnter:A,onMouseOut:E,type:"source"}),(t===!0||t==="target")&&f.jsx(O0,{position:y,centerX:c,centerY:d,radius:a,onMouseDown:j,onMouseEnter:A,onMouseOut:E,type:"target"})]})}function aj({id:t,edgesFocusable:a,edgesReconnectable:l,elementsSelectable:o,onClick:s,onDoubleClick:c,onContextMenu:d,onMouseEnter:m,onMouseMove:y,onMouseLeave:p,reconnectRadius:g,onReconnect:v,onReconnectStart:x,onReconnectEnd:S,rfId:N,edgeTypes:_,noPanClassName:D,onError:j,disableKeyboardA11y:A}){let E=Oe(xe=>xe.edgeLookup.get(t));const w=Oe(xe=>xe.defaultEdgeOptions);E=w?{...w,...E}:E;let B=E.type||"default",O=_?.[B]||z0[B];O===void 0&&(j?.("011",yn.error011(B)),B="default",O=_?.default||z0.default);const k=!!(E.focusable||a&&typeof E.focusable>"u"),F=typeof v<"u"&&(E.reconnectable||l&&typeof E.reconnectable>"u"),K=!!(E.selectable||o&&typeof E.selectable>"u"),de=L.useRef(null),[X,te]=L.useState(!1),[se,z]=L.useState(!1),M=Ke(),{zIndex:T,sourceX:I,sourceY:U,targetX:Z,targetY:ae,sourcePosition:R,targetPosition:q}=Oe(L.useCallback(xe=>{const _e=xe.nodeLookup.get(E.source),je=xe.nodeLookup.get(E.target);if(!_e||!je)return{zIndex:E.zIndex,...R0};const Ue=ZT({id:t,sourceNode:_e,targetNode:je,sourceHandle:E.sourceHandle||null,targetHandle:E.targetHandle||null,connectionMode:xe.connectionMode,onError:j});return{zIndex:UT({selected:E.selected,zIndex:E.zIndex,sourceNode:_e,targetNode:je,elevateOnSelect:xe.elevateEdgesOnSelect,zIndexMode:xe.zIndexMode}),...Ue||R0}},[E.source,E.target,E.sourceHandle,E.targetHandle,E.selected,E.zIndex]),Ze),V=L.useMemo(()=>E.markerStart?`url('#${Rf(E.markerStart,N)}')`:void 0,[E.markerStart,N]),W=L.useMemo(()=>E.markerEnd?`url('#${Rf(E.markerEnd,N)}')`:void 0,[E.markerEnd,N]);if(E.hidden||I===null||U===null||Z===null||ae===null)return null;const fe=xe=>{const{addSelectedEdges:_e,unselectNodesAndEdges:je,multiSelectionActive:Ue}=M.getState();K&&(M.setState({nodesSelectionActive:!1}),E.selected&&Ue?(je({nodes:[],edges:[E]}),de.current?.blur()):_e([t])),s&&s(xe,E)},$=c?xe=>{c(xe,{...E})}:void 0,le=d?xe=>{d(xe,{...E})}:void 0,ce=m?xe=>{m(xe,{...E})}:void 0,ue=y?xe=>{y(xe,{...E})}:void 0,be=p?xe=>{p(xe,{...E})}:void 0,ve=xe=>{if(!A&&Jv.includes(xe.key)&&K){const{unselectNodesAndEdges:_e,addSelectedEdges:je}=M.getState();xe.key==="Escape"?(de.current?.blur(),_e({edges:[E]})):je([t])}};return f.jsx("svg",{style:{zIndex:T},children:f.jsxs("g",{className:rt(["react-flow__edge",`react-flow__edge-${B}`,E.className,D,{selected:E.selected,animated:E.animated,inactive:!K&&!s,updating:X,selectable:K}]),onClick:fe,onDoubleClick:$,onContextMenu:le,onMouseEnter:ce,onMouseMove:ue,onMouseLeave:be,onKeyDown:k?ve:void 0,tabIndex:k?0:void 0,role:E.ariaRole??(k?"group":"img"),"aria-roledescription":"edge","data-id":t,"data-testid":`rf__edge-${t}`,"aria-label":E.ariaLabel===null?void 0:E.ariaLabel||`Edge from ${E.source} to ${E.target}`,"aria-describedby":k?`${jx}-${N}`:void 0,ref:de,...E.domAttributes,children:[!se&&f.jsx(O,{id:t,source:E.source,target:E.target,type:E.type,selected:E.selected,animated:E.animated,selectable:K,deletable:E.deletable??!0,label:E.label,labelStyle:E.labelStyle,labelShowBg:E.labelShowBg,labelBgStyle:E.labelBgStyle,labelBgPadding:E.labelBgPadding,labelBgBorderRadius:E.labelBgBorderRadius,sourceX:I,sourceY:U,targetX:Z,targetY:ae,sourcePosition:R,targetPosition:q,data:E.data,style:E.style,sourceHandleId:E.sourceHandle,targetHandleId:E.targetHandle,markerStart:V,markerEnd:W,pathOptions:"pathOptions"in E?E.pathOptions:void 0,interactionWidth:E.interactionWidth}),F&&f.jsx(nj,{edge:E,isReconnectable:F,reconnectRadius:g,onReconnect:v,onReconnectStart:x,onReconnectEnd:S,sourceX:I,sourceY:U,targetX:Z,targetY:ae,sourcePosition:R,targetPosition:q,setUpdateHover:te,setReconnecting:z})]})})}var ij=L.memo(aj);const lj=t=>({edgesFocusable:t.edgesFocusable,edgesReconnectable:t.edgesReconnectable,elementsSelectable:t.elementsSelectable,connectionMode:t.connectionMode,onError:t.onError});function nb({defaultMarkerColor:t,onlyRenderVisibleElements:a,rfId:l,edgeTypes:o,noPanClassName:s,onReconnect:c,onEdgeContextMenu:d,onEdgeMouseEnter:m,onEdgeMouseMove:y,onEdgeMouseLeave:p,onEdgeClick:g,reconnectRadius:v,onEdgeDoubleClick:x,onReconnectStart:S,onReconnectEnd:N,disableKeyboardA11y:_}){const{edgesFocusable:D,edgesReconnectable:j,elementsSelectable:A,onError:E}=Oe(lj,Ze),w=VA(a);return f.jsxs("div",{className:"react-flow__edges",children:[f.jsx(XA,{defaultColor:t,rfId:l}),w.map(B=>f.jsx(ij,{id:B,edgesFocusable:D,edgesReconnectable:j,elementsSelectable:A,noPanClassName:s,onReconnect:c,onContextMenu:d,onMouseEnter:m,onMouseMove:y,onMouseLeave:p,onClick:g,reconnectRadius:v,onDoubleClick:x,onReconnectStart:S,onReconnectEnd:N,rfId:l,onError:E,edgeTypes:o,disableKeyboardA11y:_},B))]})}nb.displayName="EdgeRenderer";const oj=L.memo(nb),rj=t=>`translate(${t.transform[0]}px,${t.transform[1]}px) scale(${t.transform[2]})`;function sj({children:t}){const a=Oe(rj);return f.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:a},children:t})}function cj(t){const a=pc(),l=L.useRef(!1);L.useEffect(()=>{!l.current&&a.viewportInitialized&&t&&(setTimeout(()=>t(a),1),l.current=!0)},[t,a.viewportInitialized])}const uj=t=>t.panZoom?.syncViewport;function dj(t){const a=Oe(uj),l=Ke();return L.useEffect(()=>{t&&(a?.(t),l.setState({transform:[t.x,t.y,t.zoom]}))},[t,a]),null}function fj(t){return t.connection.inProgress?{...t.connection,to:Xo(t.connection.to,t.transform)}:{...t.connection}}function hj(t){return fj}function mj(t){const a=hj();return Oe(a,Ze)}const pj=t=>({nodesConnectable:t.nodesConnectable,isValid:t.connection.isValid,inProgress:t.connection.inProgress,width:t.width,height:t.height});function gj({containerStyle:t,style:a,type:l,component:o}){const{nodesConnectable:s,width:c,height:d,isValid:m,inProgress:y}=Oe(pj,Ze);return!(c&&s&&y)?null:f.jsx("svg",{style:t,width:c,height:d,className:"react-flow__connectionline react-flow__container",children:f.jsx("g",{className:rt(["react-flow__connection",tx(m)]),children:f.jsx(ab,{style:a,type:l,CustomComponent:o,isValid:m})})})}const ab=({style:t,type:a=Ca.Bezier,CustomComponent:l,isValid:o})=>{const{inProgress:s,from:c,fromNode:d,fromHandle:m,fromPosition:y,to:p,toNode:g,toHandle:v,toPosition:x,pointer:S}=mj();if(!s)return;if(l)return f.jsx(l,{connectionLineType:a,connectionLineStyle:t,fromNode:d,fromHandle:m,fromX:c.x,fromY:c.y,toX:p.x,toY:p.y,fromPosition:y,toPosition:x,connectionStatus:tx(o),toNode:g,toHandle:v,pointer:S});let N="";const _={sourceX:c.x,sourceY:c.y,sourcePosition:y,targetX:p.x,targetY:p.y,targetPosition:x};switch(a){case Ca.Bezier:[N]=hx(_);break;case Ca.SimpleBezier:[N]=Yx(_);break;case Ca.Step:[N]=zf({..._,borderRadius:0});break;case Ca.SmoothStep:[N]=zf(_);break;default:[N]=px(_)}return f.jsx("path",{d:N,fill:"none",className:"react-flow__connection-path",style:t})};ab.displayName="ConnectionLine";const yj={};function I0(t=yj){L.useRef(t),Ke(),L.useEffect(()=>{},[t])}function vj(){Ke(),L.useRef(!1),L.useEffect(()=>{},[])}function ib({nodeTypes:t,edgeTypes:a,onInit:l,onNodeClick:o,onEdgeClick:s,onNodeDoubleClick:c,onEdgeDoubleClick:d,onNodeMouseEnter:m,onNodeMouseMove:y,onNodeMouseLeave:p,onNodeContextMenu:g,onSelectionContextMenu:v,onSelectionStart:x,onSelectionEnd:S,connectionLineType:N,connectionLineStyle:_,connectionLineComponent:D,connectionLineContainerStyle:j,selectionKeyCode:A,selectionOnDrag:E,selectionMode:w,multiSelectionKeyCode:B,panActivationKeyCode:O,zoomActivationKeyCode:k,deleteKeyCode:F,onlyRenderVisibleElements:K,elementsSelectable:de,defaultViewport:X,translateExtent:te,minZoom:se,maxZoom:z,preventScrolling:M,defaultMarkerColor:T,zoomOnScroll:I,zoomOnPinch:U,panOnScroll:Z,panOnScrollSpeed:ae,panOnScrollMode:R,zoomOnDoubleClick:q,panOnDrag:V,onPaneClick:W,onPaneMouseEnter:fe,onPaneMouseMove:$,onPaneMouseLeave:le,onPaneScroll:ce,onPaneContextMenu:ue,paneClickDistance:be,nodeClickDistance:ve,onEdgeContextMenu:xe,onEdgeMouseEnter:_e,onEdgeMouseMove:je,onEdgeMouseLeave:Ue,reconnectRadius:ke,onReconnect:ut,onReconnectStart:Zt,onReconnectEnd:zt,noDragClassName:Kt,noWheelClassName:xn,noPanClassName:ja,disableKeyboardA11y:za,nodeExtent:ft,rfId:gi,viewport:bn,onViewportChange:Fn}){return I0(t),I0(a),vj(),cj(l),dj(bn),f.jsx(DA,{onPaneClick:W,onPaneMouseEnter:fe,onPaneMouseMove:$,onPaneMouseLeave:le,onPaneContextMenu:ue,onPaneScroll:ce,paneClickDistance:be,deleteKeyCode:F,selectionKeyCode:A,selectionOnDrag:E,selectionMode:w,onSelectionStart:x,onSelectionEnd:S,multiSelectionKeyCode:B,panActivationKeyCode:O,zoomActivationKeyCode:k,elementsSelectable:de,zoomOnScroll:I,zoomOnPinch:U,zoomOnDoubleClick:q,panOnScroll:Z,panOnScrollSpeed:ae,panOnScrollMode:R,panOnDrag:V,defaultViewport:X,translateExtent:te,minZoom:se,maxZoom:z,onSelectionContextMenu:v,preventScrolling:M,noDragClassName:Kt,noWheelClassName:xn,noPanClassName:ja,disableKeyboardA11y:za,onViewportChange:Fn,isControlledViewport:!!bn,children:f.jsxs(sj,{children:[f.jsx(oj,{edgeTypes:a,onEdgeClick:s,onEdgeDoubleClick:d,onReconnect:ut,onReconnectStart:Zt,onReconnectEnd:zt,onlyRenderVisibleElements:K,onEdgeContextMenu:xe,onEdgeMouseEnter:_e,onEdgeMouseMove:je,onEdgeMouseLeave:Ue,reconnectRadius:ke,defaultMarkerColor:T,noPanClassName:ja,disableKeyboardA11y:za,rfId:gi}),f.jsx(gj,{style:_,type:N,component:D,containerStyle:j}),f.jsx("div",{className:"react-flow__edgelabel-renderer"}),f.jsx(GA,{nodeTypes:t,onNodeClick:o,onNodeDoubleClick:c,onNodeMouseEnter:m,onNodeMouseMove:y,onNodeMouseLeave:p,onNodeContextMenu:g,nodeClickDistance:ve,onlyRenderVisibleElements:K,noPanClassName:ja,noDragClassName:Kt,disableKeyboardA11y:za,nodeExtent:ft,rfId:gi}),f.jsx("div",{className:"react-flow__viewport-portal"})]})})}ib.displayName="GraphView";const xj=L.memo(ib),L0=({nodes:t,edges:a,defaultNodes:l,defaultEdges:o,width:s,height:c,fitView:d,fitViewOptions:m,minZoom:y=.5,maxZoom:p=2,nodeOrigin:g,nodeExtent:v,zIndexMode:x="basic"}={})=>{const S=new Map,N=new Map,_=new Map,D=new Map,j=o??a??[],A=l??t??[],E=g??[0,0],w=v??Ho;vx(_,D,j);const{nodesInitialized:B}=Df(A,S,N,{nodeOrigin:E,nodeExtent:w,zIndexMode:x});let O=[0,0,1];if(d&&s&&c){const k=$o(S,{filter:X=>!!((X.width||X.initialWidth)&&(X.height||X.initialHeight))}),{x:F,y:K,zoom:de}=eh(k,s,c,y,p,m?.padding??.1);O=[F,K,de]}return{rfId:"1",width:s??0,height:c??0,transform:O,nodes:A,nodesInitialized:B,nodeLookup:S,parentLookup:N,edges:j,edgeLookup:D,connectionLookup:_,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:l!==void 0,hasDefaultEdges:o!==void 0,panZoom:null,minZoom:y,maxZoom:p,translateExtent:Ho,nodeExtent:w,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:fi.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:E,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:d??!1,fitViewOptions:m,fitViewResolver:null,connection:{...ex},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:IT,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:Wv,zIndexMode:x,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},bj=({nodes:t,edges:a,defaultNodes:l,defaultEdges:o,width:s,height:c,fitView:d,fitViewOptions:m,minZoom:y,maxZoom:p,nodeOrigin:g,nodeExtent:v,zIndexMode:x})=>BM((S,N)=>{async function _(){const{nodeLookup:D,panZoom:j,fitViewOptions:A,fitViewResolver:E,width:w,height:B,minZoom:O,maxZoom:k}=N();j&&(await DT({nodes:D,width:w,height:B,panZoom:j,minZoom:O,maxZoom:k},A),E?.resolve(!0),S({fitViewResolver:null}))}return{...L0({nodes:t,edges:a,width:s,height:c,fitView:d,fitViewOptions:m,minZoom:y,maxZoom:p,nodeOrigin:g,nodeExtent:v,defaultNodes:l,defaultEdges:o,zIndexMode:x}),setNodes:D=>{const{nodeLookup:j,parentLookup:A,nodeOrigin:E,elevateNodesOnSelect:w,fitViewQueued:B,zIndexMode:O,nodesSelectionActive:k}=N(),{nodesInitialized:F,hasSelectedNodes:K}=Df(D,j,A,{nodeOrigin:E,nodeExtent:v,elevateNodesOnSelect:w,checkEquality:!0,zIndexMode:O}),de=k&&K;B&&F?(_(),S({nodes:D,nodesInitialized:F,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:de})):S({nodes:D,nodesInitialized:F,nodesSelectionActive:de})},setEdges:D=>{const{connectionLookup:j,edgeLookup:A}=N();vx(j,A,D),S({edges:D})},setDefaultNodesAndEdges:(D,j)=>{if(D){const{setNodes:A}=N();A(D),S({hasDefaultNodes:!0})}if(j){const{setEdges:A}=N();A(j),S({hasDefaultEdges:!0})}},updateNodeInternals:D=>{const{triggerNodeChanges:j,nodeLookup:A,parentLookup:E,domNode:w,nodeOrigin:B,nodeExtent:O,debug:k,fitViewQueued:F,zIndexMode:K}=N(),{changes:de,updatedInternals:X}=aM(D,A,E,w,B,O,K);X&&(WT(A,E,{nodeOrigin:B,nodeExtent:O,zIndexMode:K}),F?(_(),S({fitViewQueued:!1,fitViewOptions:void 0})):S({}),de?.length>0&&(k&&console.log("React Flow: trigger node changes",de),j?.(de)))},updateNodePositions:(D,j=!1)=>{const A=[];let E=[];const{nodeLookup:w,triggerNodeChanges:B,connection:O,updateConnection:k,onNodesChangeMiddlewareMap:F}=N();for(const[K,de]of D){const X=w.get(K),te=!!(X?.expandParent&&X?.parentId&&de?.position),se={id:K,type:"position",position:te?{x:Math.max(0,de.position.x),y:Math.max(0,de.position.y)}:de.position,dragging:j};if(X&&O.inProgress&&O.fromNode.id===X.id){const z=mi(X,O.fromHandle,ge.Left,!0);k({...O,from:z})}te&&X.parentId&&A.push({id:K,parentId:X.parentId,rect:{...de.internals.positionAbsolute,width:de.measured.width??0,height:de.measured.height??0}}),E.push(se)}if(A.length>0){const{parentLookup:K,nodeOrigin:de}=N(),X=oh(A,w,K,de);E.push(...X)}for(const K of F.values())E=K(E);B(E)},triggerNodeChanges:D=>{const{onNodesChange:j,setNodes:A,nodes:E,hasDefaultNodes:w,debug:B}=N();if(D?.length){if(w){const O=Dx(D,E);A(O)}B&&console.log("React Flow: trigger node changes",D),j?.(D)}},triggerEdgeChanges:D=>{const{onEdgesChange:j,setEdges:A,edges:E,hasDefaultEdges:w,debug:B}=N();if(D?.length){if(w){const O=Ox(D,E);A(O)}B&&console.log("React Flow: trigger edge changes",D),j?.(D)}},addSelectedNodes:D=>{const{multiSelectionActive:j,edgeLookup:A,nodeLookup:E,triggerNodeChanges:w,triggerEdgeChanges:B}=N();if(j){const O=D.map(k=>ni(k,!0));w(O);return}w(fl(E,new Set([...D]),!0)),B(fl(A))},addSelectedEdges:D=>{const{multiSelectionActive:j,edgeLookup:A,nodeLookup:E,triggerNodeChanges:w,triggerEdgeChanges:B}=N();if(j){const O=D.map(k=>ni(k,!0));B(O);return}B(fl(A,new Set([...D]))),w(fl(E,new Set,!0))},unselectNodesAndEdges:({nodes:D,edges:j}={})=>{const{edges:A,nodes:E,nodeLookup:w,triggerNodeChanges:B,triggerEdgeChanges:O}=N(),k=D||E,F=j||A,K=[];for(const X of k){if(!X.selected)continue;const te=w.get(X.id);te&&(te.selected=!1),K.push(ni(X.id,!1))}const de=[];for(const X of F)X.selected&&de.push(ni(X.id,!1));B(K),O(de)},setMinZoom:D=>{const{panZoom:j,maxZoom:A}=N();j?.setScaleExtent([D,A]),S({minZoom:D})},setMaxZoom:D=>{const{panZoom:j,minZoom:A}=N();j?.setScaleExtent([A,D]),S({maxZoom:D})},setTranslateExtent:D=>{N().panZoom?.setTranslateExtent(D),S({translateExtent:D})},resetSelectedElements:()=>{const{edges:D,nodes:j,triggerNodeChanges:A,triggerEdgeChanges:E,elementsSelectable:w}=N();if(!w)return;const B=j.reduce((k,F)=>F.selected?[...k,ni(F.id,!1)]:k,[]),O=D.reduce((k,F)=>F.selected?[...k,ni(F.id,!1)]:k,[]);A(B),E(O)},setNodeExtent:D=>{const{nodes:j,nodeLookup:A,parentLookup:E,nodeOrigin:w,elevateNodesOnSelect:B,nodeExtent:O,zIndexMode:k}=N();D[0][0]===O[0][0]&&D[0][1]===O[0][1]&&D[1][0]===O[1][0]&&D[1][1]===O[1][1]||(Df(j,A,E,{nodeOrigin:w,nodeExtent:D,elevateNodesOnSelect:B,checkEquality:!1,zIndexMode:k}),S({nodeExtent:D}))},panBy:D=>{const{transform:j,width:A,height:E,panZoom:w,translateExtent:B}=N();return iM({delta:D,panZoom:w,transform:j,translateExtent:B,width:A,height:E})},setCenter:async(D,j,A)=>{const{width:E,height:w,maxZoom:B,panZoom:O}=N();if(!O)return Promise.resolve(!1);const k=typeof A?.zoom<"u"?A.zoom:B;return await O.setViewport({x:E/2-D*k,y:w/2-j*k,zoom:k},{duration:A?.duration,ease:A?.ease,interpolate:A?.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{S({connection:{...ex}})},updateConnection:D=>{S({connection:D})},reset:()=>S({...L0()})}},Object.is);function lb({initialNodes:t,initialEdges:a,defaultNodes:l,defaultEdges:o,initialWidth:s,initialHeight:c,initialMinZoom:d,initialMaxZoom:m,initialFitViewOptions:y,fitView:p,nodeOrigin:g,nodeExtent:v,zIndexMode:x,children:S}){const[N]=L.useState(()=>bj({nodes:t,edges:a,defaultNodes:l,defaultEdges:o,width:s,height:c,fitView:p,minZoom:d,maxZoom:m,fitViewOptions:y,nodeOrigin:g,nodeExtent:v,zIndexMode:x}));return f.jsx(qM,{value:N,children:f.jsx(sA,{children:S})})}function Sj({children:t,nodes:a,edges:l,defaultNodes:o,defaultEdges:s,width:c,height:d,fitView:m,fitViewOptions:y,minZoom:p,maxZoom:g,nodeOrigin:v,nodeExtent:x,zIndexMode:S}){return L.useContext(mc)?f.jsx(f.Fragment,{children:t}):f.jsx(lb,{initialNodes:a,initialEdges:l,defaultNodes:o,defaultEdges:s,initialWidth:c,initialHeight:d,fitView:m,initialFitViewOptions:y,initialMinZoom:p,initialMaxZoom:g,nodeOrigin:v,nodeExtent:x,zIndexMode:S,children:t})}const wj={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function Nj({nodes:t,edges:a,defaultNodes:l,defaultEdges:o,className:s,nodeTypes:c,edgeTypes:d,onNodeClick:m,onEdgeClick:y,onInit:p,onMove:g,onMoveStart:v,onMoveEnd:x,onConnect:S,onConnectStart:N,onConnectEnd:_,onClickConnectStart:D,onClickConnectEnd:j,onNodeMouseEnter:A,onNodeMouseMove:E,onNodeMouseLeave:w,onNodeContextMenu:B,onNodeDoubleClick:O,onNodeDragStart:k,onNodeDrag:F,onNodeDragStop:K,onNodesDelete:de,onEdgesDelete:X,onDelete:te,onSelectionChange:se,onSelectionDragStart:z,onSelectionDrag:M,onSelectionDragStop:T,onSelectionContextMenu:I,onSelectionStart:U,onSelectionEnd:Z,onBeforeDelete:ae,connectionMode:R,connectionLineType:q=Ca.Bezier,connectionLineStyle:V,connectionLineComponent:W,connectionLineContainerStyle:fe,deleteKeyCode:$="Backspace",selectionKeyCode:le="Shift",selectionOnDrag:ce=!1,selectionMode:ue=ko.Full,panActivationKeyCode:be="Space",multiSelectionKeyCode:ve=qo()?"Meta":"Control",zoomActivationKeyCode:xe=qo()?"Meta":"Control",snapToGrid:_e,snapGrid:je,onlyRenderVisibleElements:Ue=!1,selectNodesOnDrag:ke,nodesDraggable:ut,autoPanOnNodeFocus:Zt,nodesConnectable:zt,nodesFocusable:Kt,nodeOrigin:xn=zx,edgesFocusable:ja,edgesReconnectable:za,elementsSelectable:ft=!0,defaultViewport:gi=WM,minZoom:bn=.5,maxZoom:Fn=2,translateExtent:Ra=Ho,preventScrolling:vc=!0,nodeExtent:yi,defaultMarkerColor:xc="#b1b1b7",zoomOnScroll:bc=!0,zoomOnPinch:Da=!0,panOnScroll:xt=!1,panOnScrollSpeed:sn=.5,panOnScrollMode:bt=si.Free,zoomOnDoubleClick:Sc=!0,panOnDrag:wc=!0,onPaneClick:Nc,onPaneMouseEnter:vi,onPaneMouseMove:xi,onPaneMouseLeave:bi,onPaneScroll:Sn,onPaneContextMenu:Si,paneClickDistance:Oa=1,nodeClickDistance:_c=0,children:Ko,onReconnect:Nl,onReconnectStart:Ia,onReconnectEnd:Ec,onEdgeContextMenu:Qo,onEdgeDoubleClick:Jo,onEdgeMouseEnter:Wo,onEdgeMouseMove:_l,onEdgeMouseLeave:El,reconnectRadius:er=10,onNodesChange:tr,onEdgesChange:cn,noDragClassName:st="nodrag",noWheelClassName:yt="nowheel",noPanClassName:wn="nopan",fitView:wi,fitViewOptions:nr,connectOnClick:Cc,attributionPosition:ar,proOptions:La,defaultEdgeOptions:Cl,elevateNodesOnSelect:Xn=!0,elevateEdgesOnSelect:Zn=!1,disableKeyboardA11y:Kn=!1,autoPanOnConnect:Qn,autoPanOnNodeDrag:nt,autoPanSpeed:ir,connectionRadius:lr,isValidConnection:Nn,onError:Jn,style:Tc,id:Tl,nodeDragThreshold:or,connectionDragThreshold:Mc,viewport:Ni,onViewportChange:_i,width:Qt,height:wt,colorMode:rr="light",debug:Ac,onScroll:Ei,ariaLabelConfig:sr,zIndexMode:Ha="basic",...jc},Nt){const ka=Tl||"1",cr=aA(rr),Ml=L.useCallback(_n=>{_n.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),Ei?.(_n)},[Ei]);return f.jsx("div",{"data-testid":"rf__wrapper",...jc,onScroll:Ml,style:{...Tc,...wj},ref:Nt,className:rt(["react-flow",s,cr]),id:Tl,role:"application",children:f.jsxs(Sj,{nodes:t,edges:a,width:Qt,height:wt,fitView:wi,fitViewOptions:nr,minZoom:bn,maxZoom:Fn,nodeOrigin:xn,nodeExtent:yi,zIndexMode:Ha,children:[f.jsx(nA,{nodes:t,edges:a,defaultNodes:l,defaultEdges:o,onConnect:S,onConnectStart:N,onConnectEnd:_,onClickConnectStart:D,onClickConnectEnd:j,nodesDraggable:ut,autoPanOnNodeFocus:Zt,nodesConnectable:zt,nodesFocusable:Kt,edgesFocusable:ja,edgesReconnectable:za,elementsSelectable:ft,elevateNodesOnSelect:Xn,elevateEdgesOnSelect:Zn,minZoom:bn,maxZoom:Fn,nodeExtent:yi,onNodesChange:tr,onEdgesChange:cn,snapToGrid:_e,snapGrid:je,connectionMode:R,translateExtent:Ra,connectOnClick:Cc,defaultEdgeOptions:Cl,fitView:wi,fitViewOptions:nr,onNodesDelete:de,onEdgesDelete:X,onDelete:te,onNodeDragStart:k,onNodeDrag:F,onNodeDragStop:K,onSelectionDrag:M,onSelectionDragStart:z,onSelectionDragStop:T,onMove:g,onMoveStart:v,onMoveEnd:x,noPanClassName:wn,nodeOrigin:xn,rfId:ka,autoPanOnConnect:Qn,autoPanOnNodeDrag:nt,autoPanSpeed:ir,onError:Jn,connectionRadius:lr,isValidConnection:Nn,selectNodesOnDrag:ke,nodeDragThreshold:or,connectionDragThreshold:Mc,onBeforeDelete:ae,debug:Ac,ariaLabelConfig:sr,zIndexMode:Ha}),f.jsx(xj,{onInit:p,onNodeClick:m,onEdgeClick:y,onNodeMouseEnter:A,onNodeMouseMove:E,onNodeMouseLeave:w,onNodeContextMenu:B,onNodeDoubleClick:O,nodeTypes:c,edgeTypes:d,connectionLineType:q,connectionLineStyle:V,connectionLineComponent:W,connectionLineContainerStyle:fe,selectionKeyCode:le,selectionOnDrag:ce,selectionMode:ue,deleteKeyCode:$,multiSelectionKeyCode:ve,panActivationKeyCode:be,zoomActivationKeyCode:xe,onlyRenderVisibleElements:Ue,defaultViewport:gi,translateExtent:Ra,minZoom:bn,maxZoom:Fn,preventScrolling:vc,zoomOnScroll:bc,zoomOnPinch:Da,zoomOnDoubleClick:Sc,panOnScroll:xt,panOnScrollSpeed:sn,panOnScrollMode:bt,panOnDrag:wc,onPaneClick:Nc,onPaneMouseEnter:vi,onPaneMouseMove:xi,onPaneMouseLeave:bi,onPaneScroll:Sn,onPaneContextMenu:Si,paneClickDistance:Oa,nodeClickDistance:_c,onSelectionContextMenu:I,onSelectionStart:U,onSelectionEnd:Z,onReconnect:Nl,onReconnectStart:Ia,onReconnectEnd:Ec,onEdgeContextMenu:Qo,onEdgeDoubleClick:Jo,onEdgeMouseEnter:Wo,onEdgeMouseMove:_l,onEdgeMouseLeave:El,reconnectRadius:er,defaultMarkerColor:xc,noDragClassName:st,noWheelClassName:yt,noPanClassName:wn,rfId:ka,disableKeyboardA11y:Kn,nodeExtent:yi,viewport:Ni,onViewportChange:_i}),f.jsx(JM,{onSelectionChange:se}),Ko,f.jsx(FM,{proOptions:La,position:ar}),f.jsx($M,{rfId:ka,disableKeyboardA11y:Kn})]})})}var _j=Ix(Nj);function Ej({dimensions:t,lineWidth:a,variant:l,className:o}){return f.jsx("path",{strokeWidth:a,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`,className:rt(["react-flow__background-pattern",l,o])})}function Cj({radius:t,className:a}){return f.jsx("circle",{cx:t,cy:t,r:t,className:rt(["react-flow__background-pattern","dots",a])})}var Ma;(function(t){t.Lines="lines",t.Dots="dots",t.Cross="cross"})(Ma||(Ma={}));const Tj={[Ma.Dots]:1,[Ma.Lines]:1,[Ma.Cross]:6},Mj=t=>({transform:t.transform,patternId:`pattern-${t.rfId}`});function ob({id:t,variant:a=Ma.Dots,gap:l=20,size:o,lineWidth:s=1,offset:c=0,color:d,bgColor:m,style:y,className:p,patternClassName:g}){const v=L.useRef(null),{transform:x,patternId:S}=Oe(Mj,Ze),N=o||Tj[a],_=a===Ma.Dots,D=a===Ma.Cross,j=Array.isArray(l)?l:[l,l],A=[j[0]*x[2]||1,j[1]*x[2]||1],E=N*x[2],w=Array.isArray(c)?c:[c,c],B=D?[E,E]:A,O=[w[0]*x[2]||1+B[0]/2,w[1]*x[2]||1+B[1]/2],k=`${S}${t||""}`;return f.jsxs("svg",{className:rt(["react-flow__background",p]),style:{...y,...gc,"--xy-background-color-props":m,"--xy-background-pattern-color-props":d},ref:v,"data-testid":"rf__background",children:[f.jsx("pattern",{id:k,x:x[0]%A[0],y:x[1]%A[1],width:A[0],height:A[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${O[0]},-${O[1]})`,children:_?f.jsx(Cj,{radius:E/2,className:g}):f.jsx(Ej,{dimensions:B,lineWidth:s,variant:a,className:g})}),f.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${k})`})]})}ob.displayName="Background";const Aj=L.memo(ob);function jj(){return f.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:f.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function zj(){return f.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:f.jsx("path",{d:"M0 0h32v4.2H0z"})})}function Rj(){return f.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:f.jsx("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 Dj(){return f.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:f.jsx("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 Oj(){return f.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:f.jsx("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"})})}function Rs({children:t,className:a,...l}){return f.jsx("button",{type:"button",className:rt(["react-flow__controls-button",a]),...l,children:t})}const Ij=t=>({isInteractive:t.nodesDraggable||t.nodesConnectable||t.elementsSelectable,minZoomReached:t.transform[2]<=t.minZoom,maxZoomReached:t.transform[2]>=t.maxZoom,ariaLabelConfig:t.ariaLabelConfig});function rb({style:t,showZoom:a=!0,showFitView:l=!0,showInteractive:o=!0,fitViewOptions:s,onZoomIn:c,onZoomOut:d,onFitView:m,onInteractiveChange:y,className:p,children:g,position:v="bottom-left",orientation:x="vertical","aria-label":S}){const N=Ke(),{isInteractive:_,minZoomReached:D,maxZoomReached:j,ariaLabelConfig:A}=Oe(Ij,Ze),{zoomIn:E,zoomOut:w,fitView:B}=pc(),O=()=>{E(),c?.()},k=()=>{w(),d?.()},F=()=>{B(s),m?.()},K=()=>{N.setState({nodesDraggable:!_,nodesConnectable:!_,elementsSelectable:!_}),y?.(!_)},de=x==="horizontal"?"horizontal":"vertical";return f.jsxs(Zo,{className:rt(["react-flow__controls",de,p]),position:v,style:t,"data-testid":"rf__controls","aria-label":S??A["controls.ariaLabel"],children:[a&&f.jsxs(f.Fragment,{children:[f.jsx(Rs,{onClick:O,className:"react-flow__controls-zoomin",title:A["controls.zoomIn.ariaLabel"],"aria-label":A["controls.zoomIn.ariaLabel"],disabled:j,children:f.jsx(jj,{})}),f.jsx(Rs,{onClick:k,className:"react-flow__controls-zoomout",title:A["controls.zoomOut.ariaLabel"],"aria-label":A["controls.zoomOut.ariaLabel"],disabled:D,children:f.jsx(zj,{})})]}),l&&f.jsx(Rs,{className:"react-flow__controls-fitview",onClick:F,title:A["controls.fitView.ariaLabel"],"aria-label":A["controls.fitView.ariaLabel"],children:f.jsx(Rj,{})}),o&&f.jsx(Rs,{className:"react-flow__controls-interactive",onClick:K,title:A["controls.interactive.ariaLabel"],"aria-label":A["controls.interactive.ariaLabel"],children:_?f.jsx(Oj,{}):f.jsx(Dj,{})}),g]})}rb.displayName="Controls";const Lj=L.memo(rb);function Hj({id:t,x:a,y:l,width:o,height:s,style:c,color:d,strokeColor:m,strokeWidth:y,className:p,borderRadius:g,shapeRendering:v,selected:x,onClick:S}){const{background:N,backgroundColor:_}=c||{},D=d||N||_;return f.jsx("rect",{className:rt(["react-flow__minimap-node",{selected:x},p]),x:a,y:l,rx:g,ry:g,width:o,height:s,style:{fill:D,stroke:m,strokeWidth:y},shapeRendering:v,onClick:S?j=>S(j,t):void 0})}const kj=L.memo(Hj),Bj=t=>t.nodes.map(a=>a.id),pf=t=>t instanceof Function?t:()=>t;function qj({nodeStrokeColor:t,nodeColor:a,nodeClassName:l="",nodeBorderRadius:o=5,nodeStrokeWidth:s,nodeComponent:c=kj,onClick:d}){const m=Oe(Bj,Ze),y=pf(a),p=pf(t),g=pf(l),v=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return f.jsx(f.Fragment,{children:m.map(x=>f.jsx(Gj,{id:x,nodeColorFunc:y,nodeStrokeColorFunc:p,nodeClassNameFunc:g,nodeBorderRadius:o,nodeStrokeWidth:s,NodeComponent:c,onClick:d,shapeRendering:v},x))})}function Uj({id:t,nodeColorFunc:a,nodeStrokeColorFunc:l,nodeClassNameFunc:o,nodeBorderRadius:s,nodeStrokeWidth:c,shapeRendering:d,NodeComponent:m,onClick:y}){const{node:p,x:g,y:v,width:x,height:S}=Oe(N=>{const _=N.nodeLookup.get(t);if(!_)return{node:void 0,x:0,y:0,width:0,height:0};const D=_.internals.userNode,{x:j,y:A}=_.internals.positionAbsolute,{width:E,height:w}=$n(D);return{node:D,x:j,y:A,width:E,height:w}},Ze);return!p||p.hidden||!rx(p)?null:f.jsx(m,{x:g,y:v,width:x,height:S,style:p.style,selected:!!p.selected,className:o(p),color:a(p),borderRadius:s,strokeColor:l(p),strokeWidth:c,shapeRendering:d,onClick:y,id:p.id})}const Gj=L.memo(Uj);var Vj=L.memo(qj);const Yj=200,Pj=150,$j=t=>!t.hidden,Fj=t=>{const a={x:-t.transform[0]/t.transform[2],y:-t.transform[1]/t.transform[2],width:t.width/t.transform[2],height:t.height/t.transform[2]};return{viewBB:a,boundingRect:t.nodeLookup.size>0?ox($o(t.nodeLookup,{filter:$j}),a):a,rfId:t.rfId,panZoom:t.panZoom,translateExtent:t.translateExtent,flowWidth:t.width,flowHeight:t.height,ariaLabelConfig:t.ariaLabelConfig}},Xj="react-flow__minimap-desc";function sb({style:t,className:a,nodeStrokeColor:l,nodeColor:o,nodeClassName:s="",nodeBorderRadius:c=5,nodeStrokeWidth:d,nodeComponent:m,bgColor:y,maskColor:p,maskStrokeColor:g,maskStrokeWidth:v,position:x="bottom-right",onClick:S,onNodeClick:N,pannable:_=!1,zoomable:D=!1,ariaLabel:j,inversePan:A,zoomStep:E=1,offsetScale:w=5}){const B=Ke(),O=L.useRef(null),{boundingRect:k,viewBB:F,rfId:K,panZoom:de,translateExtent:X,flowWidth:te,flowHeight:se,ariaLabelConfig:z}=Oe(Fj,Ze),M=t?.width??Yj,T=t?.height??Pj,I=k.width/M,U=k.height/T,Z=Math.max(I,U),ae=Z*M,R=Z*T,q=w*Z,V=k.x-(ae-k.width)/2-q,W=k.y-(R-k.height)/2-q,fe=ae+q*2,$=R+q*2,le=`${Xj}-${K}`,ce=L.useRef(0),ue=L.useRef();ce.current=Z,L.useEffect(()=>{if(O.current&&de)return ue.current=hM({domNode:O.current,panZoom:de,getTransform:()=>B.getState().transform,getViewScale:()=>ce.current}),()=>{ue.current?.destroy()}},[de]),L.useEffect(()=>{ue.current?.update({translateExtent:X,width:te,height:se,inversePan:A,pannable:_,zoomStep:E,zoomable:D})},[_,D,A,E,X,te,se]);const be=S?_e=>{const[je,Ue]=ue.current?.pointer(_e)||[0,0];S(_e,{x:je,y:Ue})}:void 0,ve=N?L.useCallback((_e,je)=>{const Ue=B.getState().nodeLookup.get(je).internals.userNode;N(_e,Ue)},[]):void 0,xe=j??z["minimap.ariaLabel"];return f.jsx(Zo,{position:x,style:{...t,"--xy-minimap-background-color-props":typeof y=="string"?y:void 0,"--xy-minimap-mask-background-color-props":typeof p=="string"?p:void 0,"--xy-minimap-mask-stroke-color-props":typeof g=="string"?g:void 0,"--xy-minimap-mask-stroke-width-props":typeof v=="number"?v*Z:void 0,"--xy-minimap-node-background-color-props":typeof o=="string"?o:void 0,"--xy-minimap-node-stroke-color-props":typeof l=="string"?l:void 0,"--xy-minimap-node-stroke-width-props":typeof d=="number"?d:void 0},className:rt(["react-flow__minimap",a]),"data-testid":"rf__minimap",children:f.jsxs("svg",{width:M,height:T,viewBox:`${V} ${W} ${fe} ${$}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":le,ref:O,onClick:be,children:[xe&&f.jsx("title",{id:le,children:xe}),f.jsx(Vj,{onClick:ve,nodeColor:o,nodeStrokeColor:l,nodeBorderRadius:c,nodeClassName:s,nodeStrokeWidth:d,nodeComponent:m}),f.jsx("path",{className:"react-flow__minimap-mask",d:`M${V-q},${W-q}h${fe+q*2}v${$+q*2}h${-fe-q*2}z
29
- M${F.x},${F.y}h${F.width}v${F.height}h${-F.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}sb.displayName="MiniMap";const Zj=L.memo(sb),Kj=t=>a=>t?`${Math.max(1/a.transform[2],1)}`:void 0,Qj={[Sl.Line]:"right",[Sl.Handle]:"bottom-right"};function Jj({nodeId:t,position:a,variant:l=Sl.Handle,className:o,style:s=void 0,children:c,color:d,minWidth:m=10,minHeight:y=10,maxWidth:p=Number.MAX_VALUE,maxHeight:g=Number.MAX_VALUE,keepAspectRatio:v=!1,resizeDirection:x,autoScale:S=!0,shouldResize:N,onResizeStart:_,onResize:D,onResizeEnd:j}){const A=Bx(),E=typeof t=="string"?t:A,w=Ke(),B=L.useRef(null),O=l===Sl.Handle,k=Oe(L.useCallback(Kj(O&&S),[O,S]),Ze),F=L.useRef(null),K=a??Qj[l];L.useEffect(()=>{if(!(!B.current||!E))return F.current||(F.current=TM({domNode:B.current,nodeId:E,getStoreItems:()=>{const{nodeLookup:X,transform:te,snapGrid:se,snapToGrid:z,nodeOrigin:M,domNode:T}=w.getState();return{nodeLookup:X,transform:te,snapGrid:se,snapToGrid:z,nodeOrigin:M,paneDomNode:T}},onChange:(X,te)=>{const{triggerNodeChanges:se,nodeLookup:z,parentLookup:M,nodeOrigin:T}=w.getState(),I=[],U={x:X.x,y:X.y},Z=z.get(E);if(Z&&Z.expandParent&&Z.parentId){const ae=Z.origin??T,R=X.width??Z.measured.width??0,q=X.height??Z.measured.height??0,V={id:Z.id,parentId:Z.parentId,rect:{width:R,height:q,...sx({x:X.x??Z.position.x,y:X.y??Z.position.y},{width:R,height:q},Z.parentId,z,ae)}},W=oh([V],z,M,T);I.push(...W),U.x=X.x?Math.max(ae[0]*R,X.x):void 0,U.y=X.y?Math.max(ae[1]*q,X.y):void 0}if(U.x!==void 0&&U.y!==void 0){const ae={id:E,type:"position",position:{...U}};I.push(ae)}if(X.width!==void 0&&X.height!==void 0){const R={id:E,type:"dimensions",resizing:!0,setAttributes:x?x==="horizontal"?"width":"height":!0,dimensions:{width:X.width,height:X.height}};I.push(R)}for(const ae of te){const R={...ae,type:"position"};I.push(R)}se(I)},onEnd:({width:X,height:te})=>{const se={id:E,type:"dimensions",resizing:!1,dimensions:{width:X,height:te}};w.getState().triggerNodeChanges([se])}})),F.current.update({controlPosition:K,boundaries:{minWidth:m,minHeight:y,maxWidth:p,maxHeight:g},keepAspectRatio:v,resizeDirection:x,onResizeStart:_,onResize:D,onResizeEnd:j,shouldResize:N}),()=>{F.current?.destroy()}},[K,m,y,p,g,v,_,D,j,N]);const de=K.split("-");return f.jsx("div",{className:rt(["react-flow__resize-control","nodrag",...de,l,o]),ref:B,style:{...s,scale:k,...d&&{[O?"backgroundColor":"borderColor"]:d}},children:c})}L.memo(Jj);const gf=5,Ps=240,Wj=180,ez=420,H0=[{id:"top",position:ge.Top},{id:"right",position:ge.Right},{id:"bottom",position:ge.Bottom},{id:"left",position:ge.Left}];function tz(t){const a=/^(\d+)x(\d+)$/.exec(t??"");if(!a)return Ps;const l=Number(a[1]),o=Number(a[2]);if(!Number.isFinite(l)||!Number.isFinite(o)||l<=0||o<=0)return Ps;const s=Ps*(l/o);return Math.round(Math.min(ez,Math.max(Wj,s)))}function nz({id:t,data:a,selected:l}){const{t:o}=Ne(),s=a,c=Y(V=>V.updateNodePrompt),d=Y(V=>V.addNodeReferences),m=Y(V=>V.readDroppedImageMetadata),y=Y(V=>V.removeNodeReference),p=Y(V=>V.generateNode),g=Y(V=>V.generateNodeInPlace),v=Y(V=>V.generateNodeVariation),x=Y(V=>V.addChildNode),S=Y(V=>V.duplicateBranchRoot),N=Y(V=>V.deleteNode),_=L.useRef(null),[D,j]=L.useState(!1),[A,E]=L.useState(!1),w=s.referenceImages??[],B=s.status==="pending"||s.status==="reconciling",O=!B&&w.length<gf,k={"--node-preview-w":`${tz(s.size)}px`,"--node-preview-h":`${Ps}px`},F=L.useCallback(V=>c(t,V.target.value),[t,c]),K=L.useCallback(()=>{p(t)},[t,p]),de=L.useCallback(()=>{g(t)},[t,g]),X=L.useCallback(()=>{v(t)},[t,v]),te=L.useCallback(()=>{s.status==="ready"&&x(t)},[t,s.status,x]),se=L.useCallback(()=>{S(t)},[t,S]),z=L.useCallback(()=>N(t),[t,N]),M=V=>{if(!V)return[];const W=[];for(const fe of Array.from(V)){if(fe.kind!=="file"||!fe.type.startsWith("image/"))continue;const $=fe.getAsFile();$&&W.push($)}return W},T=async V=>{V.length!==0&&(V.length===1&&await m(V[0],t)||await d(t,V))},I=async V=>{V.preventDefault(),V.stopPropagation(),j(!1);const W=Array.from(V.dataTransfer.files).filter(fe=>fe.type.startsWith("image/"));W.length===1&&await m(W[0],t)||O&&W.length>0&&d(t,W)},U=V=>{V.preventDefault(),V.stopPropagation(),O&&!D&&j(!0)},Z=V=>{V.currentTarget.contains(V.relatedTarget)||j(!1)},ae=V=>{const W=M(V.clipboardData?.items??null);if(W.length===0||(V.preventDefault(),V.stopPropagation(),!O))return;const fe=gf-w.length;d(t,W.slice(0,fe))},q=(()=>{switch(s.status){case"empty":return o("node.empty");case"pending":return o("node.pending");case"reconciling":return s.pendingPhase?o("node.reconcilingPhase",{phase:s.pendingPhase}):o("node.reconciling");case"ready":return[s.webSearchCalls?o("node.readyWithSearch",{elapsed:s.elapsed??"?",searches:s.webSearchCalls}):o("node.ready",{elapsed:s.elapsed??"?"}),nv(s.model)].filter(Boolean).join(" · ");case"stale":return s.error?o("node.staleWithError",{error:s.error}):o("node.stale");case"asset-missing":return s.error?o("node.assetMissingWithError",{error:s.error}):o("node.assetMissing");case"error":return o("node.error",{error:s.error??o("node.errorUnknown")});default:return""}})();return f.jsxs("div",{className:`image-node image-node--${s.status}${l?" image-node--selected":""}`,style:k,children:[H0.map(({id:V,position:W})=>f.jsx(wl,{type:"target",id:`target-${V}`,position:W,className:`image-node__handle image-node__handle--target image-node__handle--${V}`},`target-${V}`)),f.jsx("div",{className:"image-node__preview",children:s.imageUrl&&s.status!=="asset-missing"?f.jsx("img",{src:s.imageUrl,alt:o("node.nodeImageAlt")}):B&&s.partialImageUrl?f.jsx("img",{className:"image-node__partial",src:s.partialImageUrl,alt:o("node.partialImageAlt")}):B?f.jsx("div",{className:"image-node__skeleton"}):s.status==="asset-missing"?f.jsx("div",{className:"image-node__placeholder",children:o("node.noAsset")}):s.status==="stale"?f.jsx("div",{className:"image-node__placeholder",children:o("node.stateStale")}):f.jsx("div",{className:"image-node__placeholder",children:o("node.noImage")})}),f.jsxs("div",{className:`image-node__composer nodrag${D?" is-dragging":""}`,onDrop:I,onDragOver:U,onDragLeave:Z,onPaste:ae,children:[w.length>0?f.jsx("div",{className:"image-node__refs",children:w.map((V,W)=>f.jsxs("div",{className:"image-node__ref-chip",title:o("node.refAlt",{n:W+1}),children:[f.jsx("img",{src:V,alt:o("node.refAlt",{n:W+1})}),f.jsx("button",{type:"button",className:"image-node__ref-remove",onClick:()=>y(t,W),disabled:B,"aria-label":o("node.removeRef",{n:W+1}),children:"×"})]},W))}):null,f.jsx("textarea",{className:"image-node__prompt",value:s.prompt,onChange:F,onKeyDown:V=>V.stopPropagation(),placeholder:s.parentServerNodeId?o("node.editPromptPlaceholder"):o("node.promptPlaceholder"),rows:2,disabled:B}),f.jsxs("div",{className:"image-node__composer-bar",children:[f.jsx("button",{type:"button",className:"image-node__attach",onClick:()=>O&&_.current?.click(),disabled:!O,title:s.parentServerNodeId?o("node.nodeRefsUsedWithParent"):o("node.attachRefTitle"),children:o("node.attachRef")}),D?f.jsx("span",{className:"image-node__drop-hint",children:o("node.dropRefs")}):w.length>0?f.jsxs("span",{className:"image-node__ref-count",children:[w.length,"/",gf]}):null]}),f.jsx("input",{ref:_,type:"file",accept:"image/*",multiple:!0,hidden:!0,onChange:V=>{const W=Array.from(V.target.files??[]);W.length>0&&T(W),V.target.value=""}})]}),f.jsxs("div",{className:"image-node__footer nodrag",children:[f.jsx("span",{className:"image-node__status",title:q,children:q}),f.jsxs("div",{className:"image-node__actions",children:[f.jsxs("div",{style:{position:"relative"},children:[f.jsx("button",{type:"button",onClick:()=>E(V=>!V),disabled:!s.prompt?.trim(),title:o("promptLibrary.saveTitle"),"aria-label":o("promptLibrary.saveTitle"),children:"☆"}),A&&f.jsx(Yf,{text:s.prompt||"",onClose:()=>E(!1)})]}),s.status==="ready"?f.jsxs(f.Fragment,{children:[f.jsx("button",{type:"button",onClick:de,disabled:B,title:o("node.regenerateTitle"),"aria-label":o("node.regenerateTitle"),children:"↻"}),f.jsx("button",{type:"button",onClick:X,disabled:B,title:o("node.newVariationTitle"),"aria-label":o("node.newVariationTitle"),children:o("node.newVariation")})]}):f.jsx("button",{type:"button",className:"image-node__generate",onClick:K,disabled:B,title:o("node.generateTitle"),"aria-label":o("node.generateTitle"),children:o("node.generate")}),s.status==="ready"?f.jsxs(f.Fragment,{children:[f.jsx("button",{type:"button",onClick:te,title:o("node.addChildTitle"),"aria-label":o("node.addChildTitle"),children:o("node.addChild")}),f.jsx("button",{type:"button",onClick:se,title:o("node.duplicateBranchTitle"),"aria-label":o("node.duplicateBranchTitle"),children:o("node.duplicateBranch")})]}):null,f.jsx("button",{type:"button",onClick:z,className:"image-node__del",title:o("node.deleteTitle"),"aria-label":o("node.deleteTitle"),children:"×"})]})]}),H0.map(({id:V,position:W})=>f.jsx(wl,{type:"source",id:`source-${V}`,position:W,className:`image-node__handle image-node__handle--source image-node__handle--${V}`},`source-${V}`))]})}const az=L.memo(nz);function iz(){const{t}=Ne(),a=Y(A=>A.graphNodes),l=Y(A=>A.graphEdges),o=Y(A=>A.nodeSelectionMode),s=Y(A=>A.nodeBatchRunning),c=Y(A=>A.nodeBatchStopping),d=Y(A=>A.toggleNodeSelectionMode),m=Y(A=>A.selectAllGraphNodes),y=Y(A=>A.clearNodeSelection),p=Y(A=>A.runNodeBatch),g=Y(A=>A.cancelNodeBatch),v=Y(A=>A.disconnectEdges),x=a.filter(A=>A.selected).map(A=>A.id),S=l.filter(A=>A.selected).map(A=>A.id),N=new Set(x),_=a.filter(A=>N.has(A.id)&&!rv(A)).length,D=sv(l,x).length,j=A=>{p(A)};return f.jsxs(Zo,{position:"top-center",className:"node-batch-bar nodrag",children:[f.jsx("button",{type:"button",onClick:d,"aria-pressed":o,children:t(o?"nodeBatch.selectionOn":"nodeBatch.selectionOff")}),f.jsx("button",{type:"button",onClick:m,disabled:a.length===0,children:t("nodeBatch.selectAll")}),S.length>0?f.jsx("button",{type:"button",className:"node-batch-bar__danger",onClick:()=>v(S),title:t("edge.disconnectTitle"),"aria-label":t("edge.disconnectTitle"),children:t("edge.disconnect")}):null,x.length>0?f.jsxs(f.Fragment,{children:[f.jsx("span",{className:"node-batch-bar__meta",children:t("nodeBatch.summary",{selected:x.length,missing:_,stale:D})}),f.jsx("button",{type:"button",onClick:()=>j("missing-only"),disabled:s,children:t("nodeBatch.generateMissing")}),f.jsx("button",{type:"button",onClick:()=>j("regenerate-all"),disabled:s,children:t("nodeBatch.regenerateSelected")}),s?f.jsx("button",{type:"button",onClick:g,disabled:c,children:t(c?"nodeBatch.stopping":"nodeBatch.stopRemaining")}):null,f.jsx("button",{type:"button",onClick:y,disabled:s,children:t("nodeBatch.clear")})]}):null]})}function lz(){const{t}=Ne(),a=Y(O=>O.graphNodes),l=Y(O=>O.graphEdges),o=Y(O=>O.setGraphNodes),s=Y(O=>O.setGraphEdges),c=Y(O=>O.disconnectEdges),d=Y(O=>O.addRootNode),m=Y(O=>O.addChildNodeAt),y=Y(O=>O.connectNodes),p=Y(O=>O.deleteNodes),g=Y(O=>O.nodeSelectionMode),v=Y(O=>O.selectNodeGraph),x=Y(O=>O.sessionLoading),{screenToFlowPosition:S}=pc(),N=L.useRef(null),_=L.useMemo(()=>({imageNode:az}),[]),D=L.useCallback(O=>o(Dx(O,a)),[a,o]),j=L.useCallback(O=>{const k=O.filter(F=>F.type==="remove").map(F=>F.id);if(k.length>0){if(g)return;c(k);return}s(Ox(O,l))},[c,l,g,s]),A=L.useCallback(O=>{O.source&&O.target&&y(O.source,O.target,O.sourceHandle,O.targetHandle)},[y]),E=L.useCallback((O,k)=>{if(k.isValid)return;const F=k.fromNode?.id;if(!F||k.toNode||k.toHandle)return;const K="touches"in O?O.changedTouches[0].clientX:O.clientX,de="touches"in O?O.changedTouches[0].clientY:O.clientY,X=S({x:K,y:de});m(F,X,k.fromHandle?.id??null)},[m,S]),w=L.useCallback(O=>p(O.map(k=>k.id)),[p]),B=L.useCallback((O,k)=>{g&&(O.preventDefault(),v(k.id,O.metaKey||O.ctrlKey))},[g,v]);return f.jsxs("main",{className:"node-canvas",ref:N,children:[x&&f.jsx("div",{className:"node-canvas__loading",children:t("nodeCanvas.loading")}),a.length===0?f.jsx("button",{type:"button",className:"node-canvas__plus",onClick:()=>d(),children:t("nodeCanvas.addFirst")}):f.jsxs(f.Fragment,{children:[f.jsxs(_j,{nodes:a,edges:l,onNodesChange:D,onEdgesChange:j,onConnect:A,onConnectEnd:E,onNodesDelete:w,onNodeClick:B,nodeTypes:_,connectionMode:fi.Loose,connectionRadius:32,selectionOnDrag:g,multiSelectionKeyCode:g?null:void 0,panOnDrag:g?[2]:!0,fitView:!0,deleteKeyCode:g?null:["Delete","Backspace"],proOptions:{hideAttribution:!0},children:[f.jsx(iz,{}),f.jsx(Aj,{gap:24,color:"var(--canvas-grid)"}),f.jsx(Lj,{className:"node-canvas__controls"}),f.jsx(Zj,{pannable:!0,zoomable:!0,maskColor:"var(--minimap-mask)",nodeColor:"var(--minimap-node-fill)",nodeStrokeColor:"var(--minimap-node-stroke)",style:{background:"var(--minimap-bg)",border:"1px solid var(--minimap-border)"}})]}),f.jsx("button",{type:"button",className:"node-canvas__add-root",onClick:()=>d(),title:t("nodeCanvas.addRootTitle"),children:"+"}),f.jsx("div",{className:"node-canvas__hint",children:t("nodeCanvas.hint")})]})]})}function oz(){return f.jsx(lb,{children:f.jsx(lz,{})})}function oi({title:t,help:a,items:l,value:o,onChange:s}){return f.jsxs("div",{className:"option-group",children:[t?f.jsx("div",{className:"section-title",children:t}):null,f.jsx("div",{className:"option-row",children:l.map(c=>f.jsxs("button",{className:`option-btn${c.value===o?" active":""}`,style:c.color?{color:c.color}:void 0,disabled:c.disabled,onClick:()=>s(c.value),type:"button",children:[c.label,c.sub?f.jsxs(f.Fragment,{children:[f.jsx("br",{}),f.jsx("span",{className:"option-sub",children:c.sub})]}):null]},c.value))}),a?f.jsx("p",{className:"option-help",children:a}):null]})}const cb="ima2.customSizeSlots";function rz(t){if(!t||typeof t!="object")return!1;const a=t;return typeof a.id=="string"&&typeof a.w=="number"&&typeof a.h=="number"&&typeof a.updatedAt=="number"}function sz(){try{const t=localStorage.getItem(cb);if(!t)return[];const a=JSON.parse(t);return Array.isArray(a)?hl(a.filter(rz)):[]}catch{return[]}}function cz(t){try{localStorage.setItem(cb,JSON.stringify(hl(t)))}catch{}}function uz(t,a,l){return lc({id:`slot_${Date.now()}_${Math.random().toString(36).slice(2,7)}`,w:t,h:a,ratio:l,updatedAt:Date.now()})}function No(t){return t.map(a=>({value:a.value,label:a.label,sub:a.sub}))}function dz(){const t=Y(M=>M.sizePreset),a=Y(M=>M.setSizePreset),l=Y(M=>M.customW),o=Y(M=>M.customH),s=Y(M=>M.setCustomSize),{t:c}=Ne(),[d,m]=L.useState(String(l)),[y,p]=L.useState(String(o)),[g,v]=L.useState(t==="custom"),[x,S]=L.useState(()=>sz()),[N,_]=L.useState(null),[D,j]=L.useState("free"),A=t==="custom",E=Uf(d,y,l,o),w=GN().filter(M=>M.value==="auto");L.useEffect(()=>{m(String(l)),p(String(o))},[l,o]),L.useEffect(()=>{A||(v(!1),_(null))},[A]);function B(M){S(M),cz(M)}function O(){const M=Aa(d,l),T=Aa(y,o);s(M,T),m(String(M)),p(String(T))}function k(M){M.key==="Enter"&&(M.preventDefault(),O())}function F(){a("custom"),v(!0),_(x.length>=sl?x[0]?.id??null:null)}function K(M){a(M),M!=="custom"&&(v(!1),_(null))}function de(M){a("custom"),s(M.w,M.h),m(String(M.w)),p(String(M.h)),v(!1),_(M.id)}function X(M){j(M.id);const T=IN(M);T&&(m(String(T.w)),p(String(T.h)))}function te(){const M=uz(E.w,E.h,D),T=x.length>=sl&&N?HN(x,N,M):LN(x,M);B(T),a("custom"),s(E.w,E.h),m(String(E.w)),p(String(E.h)),_(M.id),v(!1)}const se=E.reasons.length>0?E.reasons.map(M=>c(`size.adjustedReasons.${M}`)).join(", "):c("size.noAdjustment"),z=E.reasons.includes("maxPixels")&&E.requestedW===E.requestedH&&E.w===E.h?c("size.squareMaxHint",{size:`${dy}×${dy}`}):null;return f.jsxs("div",{className:"option-group size-picker",children:[f.jsx("div",{className:"section-title",children:c("size.title")}),f.jsx(oi,{title:"",items:No(kN),value:t,onChange:K}),f.jsx(oi,{title:"",items:No(BN),value:t,onChange:K}),f.jsx(oi,{title:"",items:No(qN),value:t,onChange:K}),f.jsx(oi,{title:"",items:No(UN),value:t,onChange:K}),f.jsxs("div",{className:"option-row size-picker__quick-row",children:[No(w).map(M=>f.jsxs("button",{type:"button",className:`option-btn${t===M.value?" active":""}`,onClick:()=>K(M.value),children:[M.label,M.sub?f.jsxs(f.Fragment,{children:[f.jsx("br",{}),f.jsx("span",{className:"option-sub",children:M.sub})]}):null]},M.value)),f.jsxs("button",{type:"button",className:`option-btn${A?" active":""}`,onClick:F,children:[c("size.customPlus"),f.jsx("br",{}),f.jsx("span",{className:"option-sub",children:c("size.customSub")})]})]}),x.length>0?f.jsx("div",{className:"option-row size-picker__slot-row",children:x.map(M=>f.jsxs("button",{type:"button",className:`option-btn size-picker__slot${A&&l===M.w&&o===M.h?" active":""}`,onClick:()=>de(M),children:[M.w,"×",M.h,f.jsx("br",{}),f.jsx("span",{className:"option-sub",children:M.ratio||c("size.customSlot")})]},M.id))}):null,g?f.jsxs(f.Fragment,{children:[f.jsx("div",{className:"size-picker__ratio-row",children:DN.map(M=>f.jsx("button",{type:"button",className:`size-picker__ratio${D===M.id?" active":""}`,onClick:()=>X(M),children:M.id==="free"?c("size.ratioFree"):M.label},M.id))}),f.jsxs("div",{className:"option-row",children:[f.jsx("input",{type:"text",inputMode:"numeric",pattern:"[0-9]*",className:"custom-size-input",value:d,onChange:M=>m(M.target.value.replace(/\D/g,"")),onBlur:O,onKeyDown:k,placeholder:c("size.width")}),f.jsx("span",{style:{color:"var(--text-dim)",alignSelf:"center",fontFamily:"var(--mono)",fontSize:12},children:"x"}),f.jsx("input",{type:"text",inputMode:"numeric",pattern:"[0-9]*",className:"custom-size-input",value:y,onChange:M=>p(M.target.value.replace(/\D/g,"")),onBlur:O,onKeyDown:k,placeholder:c("size.height")})]}),f.jsxs("div",{className:"size-picker__preview",children:[f.jsx("span",{children:c("size.normalizedPreview")}),f.jsx("strong",{children:ON(E.w,E.h)})]}),f.jsx("div",{className:"size-picker__preview size-picker__preview--reason",children:se}),z?f.jsx("div",{className:"size-picker__preview size-picker__preview--detail",children:z}):null,x.length>=sl?f.jsxs("div",{className:"size-picker__replace-row",children:[f.jsx("span",{children:c("size.replaceCustomSlot")}),x.map(M=>f.jsxs("button",{type:"button",className:`size-picker__replace${N===M.id?" active":""}`,onClick:()=>_(M.id),children:[M.w,"×",M.h]},M.id))]}):null,f.jsx("button",{type:"button",className:"size-picker__save",onClick:te,children:x.length>=sl?c("size.replaceCustomSlot"):c("size.saveCustomSlot")}),f.jsx("div",{className:"size-hint",children:c("size.hint")})]}):null]})}const yf=[1,2,4];function k0(t){return Math.min(8,Math.max(1,Math.trunc(t||1)))}function fz(){const t=Y(A=>A.count),a=Y(A=>A.setCount),l=Y(A=>A.uiMode),o=Y(A=>A.multimode),s=Y(A=>A.multimodeMaxImages),c=Y(A=>A.setMultimodeMaxImages),{t:d}=Ne(),m=l==="classic"&&o,y=m?s:t,p=m?c:a,[g,v]=L.useState(!yf.includes(y)),[x,S]=L.useState(String(y));L.useEffect(()=>{v(!yf.includes(y)),S(String(y))},[m,y]);function N(A=x){const E=k0(Number.parseInt(A,10));p(E),S(String(E))}function _(A){v(!1),S(String(A)),p(A)}function D(A){const E=k0(y+A);v(!0),S(String(E)),p(E)}function j(A){A.key==="Enter"&&(A.preventDefault(),N())}return f.jsxs("div",{className:"option-group count-picker",children:[f.jsx("div",{className:"section-title",children:d(m?"multimode.maxStages":"count.title")}),f.jsxs("div",{className:"option-row",children:[yf.map(A=>f.jsx("button",{type:"button",className:`option-btn${y===A&&!g?" active":""}`,onClick:()=>_(A),children:A},A)),f.jsx("button",{type:"button",className:`option-btn${g?" active":""}`,onClick:()=>{v(A=>!A),S(String(y))},children:d("count.customPlus")})]}),g?f.jsxs(f.Fragment,{children:[f.jsxs("div",{className:"count-picker__custom",children:[f.jsx("button",{type:"button",className:"count-picker__step",onClick:()=>D(-1),"aria-label":d("count.decrease"),children:"-"}),f.jsx("input",{type:"text",inputMode:"numeric",pattern:"[0-9]*",className:"count-picker__input",value:x,onChange:A=>S(A.target.value.replace(/\D/g,"")),onBlur:()=>N(),onKeyDown:j,"aria-label":d("count.customLabel")}),f.jsx("button",{type:"button",className:"count-picker__step",onClick:()=>D(1),"aria-label":d("count.increase"),children:"+"})]}),f.jsx("p",{className:"option-help",children:y>=5?d(m?"multimode.highCountHint":"count.highCountHint"):d(m?"multimode.minMaxHint":"count.minMaxHint")})]}):null]})}const hz={low:{"1024x1024":.006,"1024x1536":.005,"1536x1024":.005,"1024x1360":.005,"1360x1024":.005,"1024x1824":.006,"1824x1024":.006,"2048x2048":.012,"2048x1152":.009,"1152x2048":.009,"3840x2160":.023,"2160x3840":.023,auto:.006},medium:{"1024x1024":.053,"1024x1536":.041,"1536x1024":.041,"1024x1360":.041,"1360x1024":.041,"1024x1824":.05,"1824x1024":.05,"2048x2048":.106,"2048x1152":.08,"1152x2048":.08,"3840x2160":.2,"2160x3840":.2,auto:.053},high:{"1024x1024":.211,"1024x1536":.165,"1536x1024":.165,"1024x1360":.165,"1360x1024":.165,"1024x1824":.2,"1824x1024":.2,"2048x2048":.422,"2048x1152":.32,"1152x2048":.32,"3840x2160":.8,"2160x3840":.8,auto:.211}};function mz(t,a){return hz[t]?.[a]??0}function pz(){const{t}=Ne(),a=Y(v=>v.provider),l=Y(v=>v.quality),o=Y(v=>v.multimode),s=Y(v=>v.multimodeMaxImages),d=Y(v=>v.getResolvedSize)(),m=a==="oauth",y=mz(l,d),p=m?t("cost.free"):o?t("cost.multimodeApprox",{amount:(y*s).toFixed(3),count:s}):t("cost.approx",{amount:y.toFixed(3)}),g=m?"var(--green)":void 0;return f.jsxs("div",{className:"cost-estimate",children:[f.jsx("span",{children:t("cost.label")}),f.jsx("span",{className:"price",style:g?{color:g}:void 0,children:p})]})}const gz=[{value:"png",label:"PNG"},{value:"jpeg",label:"JPEG"},{value:"webp",label:"WebP"}];function yz(){const t=Y(A=>A.rightPanelOpen),a=Y(A=>A.toggleRightPanel),{t:l}=Ne(),[o,s]=L.useState(typeof window<"u"?window.matchMedia("(max-width: 800px)").matches:!1);L.useEffect(()=>{if(typeof window>"u")return;const A=window.matchMedia("(max-width: 800px)"),E=()=>s(A.matches);return A.addEventListener("change",E),()=>A.removeEventListener("change",E)},[]);const c=o?t:!0,d=Y(A=>A.quality),m=Y(A=>A.setQuality),y=Y(A=>A.format),p=Y(A=>A.setFormat),g=Y(A=>A.moderation),v=Y(A=>A.setModeration),x=Y(A=>A.multimode),S=Y(A=>A.setMultimode),_=Y(A=>A.uiMode)==="classic",D=[{value:"low",label:l("quality.lowLabel"),sub:l("quality.lowSub")},{value:"medium",label:l("quality.mediumLabel"),sub:l("quality.mediumSub")},{value:"high",label:l("quality.highLabel"),sub:l("quality.highSub")}],j=[{value:"auto",label:l("moderation.autoLabel"),sub:l("moderation.autoSub")},{value:"low",label:l("moderation.lowLabel"),sub:l("moderation.lowSub"),color:"var(--amber)"}];return f.jsxs(f.Fragment,{children:[o&&t?f.jsx("div",{className:"right-panel-backdrop",role:"button","aria-label":l("panel.closeSettings"),onClick:a}):null,f.jsxs("aside",{className:`right-panel${t?"":" collapsed"}${o&&c?" drawer-open":""}`,"aria-label":l("panel.detailSettings"),children:[f.jsx("button",{type:"button",className:"right-panel-toggle","aria-expanded":t,"aria-controls":"right-panel-body",onClick:a,title:l(t?"panel.toggleHide":"panel.toggleShow"),children:o?l(t?"panel.close":"panel.open"):t?">":"<"}),f.jsxs("div",{id:"right-panel-body",className:"right-panel-body",hidden:!t,children:[f.jsx("div",{className:"section-title",children:l("panel.detailSettings")}),f.jsx(oi,{title:l("quality.title"),items:D,value:d,onChange:m}),f.jsx(dz,{}),f.jsx(oi,{title:l("format.title"),items:gz,value:y,onChange:p}),f.jsx(oi,{title:l("moderation.title"),items:j,value:g,onChange:v}),f.jsx("p",{className:"option-help",children:l("moderation.explain")}),_&&f.jsx("div",{className:"option-group multimode-toggle",children:f.jsxs("button",{type:"button",className:`multimode-toggle__button${x?" active":""}`,"aria-pressed":x,title:l("multimode.tooltip"),onClick:()=>S(!x),children:[f.jsx("span",{children:l("multimode.label")}),f.jsx("span",{children:l("multimode.shortHint")})]})}),f.jsx(fz,{}),f.jsx(pz,{})]})]})]})}function ub(t){const a=t.currentTarget;if(a.scrollWidth<=a.clientWidth||!(Math.abs(t.deltaY)>Math.abs(t.deltaX)))return;const o=a.scrollLeft<=0,s=a.scrollLeft+a.clientWidth>=a.scrollWidth-1,c=t.deltaY<0,d=t.deltaY>0;c&&o||d&&s||(t.preventDefault(),a.scrollLeft+=t.deltaY)}function B0(t){return t.filename??t.url??t.image}function vz(){const t=Y(m=>m.history),a=Y(m=>m.currentImage),l=Y(m=>m.selectHistory),o=Y(m=>m.openGallery),s=L.useRef({}),{t:c}=Ne(),d=a?B0(a):null;return L.useEffect(()=>{d&&s.current[d]?.scrollIntoView({block:"nearest",inline:"nearest"})},[d,t]),f.jsxs("div",{className:"history-strip",onWheel:ub,children:[f.jsx("button",{type:"button",className:"history-thumb history-thumb--add",onClick:o,"aria-label":c("history.openGalleryAria"),title:c("history.openGalleryTitle"),children:f.jsxs("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[f.jsx("rect",{x:"3",y:"3",width:"7",height:"7",rx:"1"}),f.jsx("rect",{x:"14",y:"3",width:"7",height:"7",rx:"1"}),f.jsx("rect",{x:"3",y:"14",width:"7",height:"7",rx:"1"}),f.jsx("rect",{x:"14",y:"14",width:"7",height:"7",rx:"1"})]})}),t.map((m,y)=>{const p=B0(m),g=d===p;return f.jsx("img",{ref:v=>{s.current[p]=v},src:m.thumb||m.url||m.image,alt:"",className:`history-thumb${g?" active":""}`,onClick:()=>l(m)},m.filename??`${y}-${m.image}`)})]})}function xz(){const[t,a]=L.useState(null),[l,o]=L.useState(!1);return L.useEffect(()=>{let s=!1;return I1().then(c=>{s||a(c)}).catch(()=>{s||o(!0)}),()=>{s=!0}},[]),{data:t,error:l}}function bz(){const[t,a]=L.useState(null);return L.useEffect(()=>{let l=!1,o=null;const s=async()=>{try{const c=await O1();if(l)return;a(c),c.status==="starting"&&(o=setTimeout(s,3e3))}catch{l||a(null)}};return s(),()=>{l=!0,o&&clearTimeout(o)}},[]),t}function Sz(t){return t==="ready"?"Ready":t==="auth_required"?"Login required":t==="starting"?"Starting":t==="offline"?"Offline":"Checking"}function wz(){const{t}=Ne(),a=bz(),{data:l,error:o}=xz(),s=l?.apiKeySource==="env"||l?.apiKeySource==="config"||l?.apiKeyValid===!0,c=a?.status==="ready",d=l?.apiKeySource==="config"?t("settings.account.apiSourceConfig"):t("settings.account.apiSourceEnv");return f.jsxs(f.Fragment,{children:[f.jsxs("article",{className:"settings-row",children:[f.jsxs("div",{className:"settings-row__copy",children:[f.jsx("p",{className:"settings-eyebrow",children:t("settings.account.primaryEyebrow")}),f.jsx("h4",{children:t("settings.account.oauthTitle")}),f.jsx("p",{children:t("settings.account.oauthBody")})]}),f.jsxs("div",{className:`settings-status${c?" is-ok":""}`,children:[f.jsx("span",{"aria-hidden":"true"}),Sz(a?.status)]})]}),s?f.jsxs("article",{className:"settings-row",children:[f.jsxs("div",{className:"settings-row__copy",children:[f.jsx("p",{className:"settings-eyebrow",children:d}),f.jsx("h4",{children:t("settings.account.apiTitle")}),f.jsx("p",{children:t("settings.account.apiBody")})]}),f.jsxs("div",{className:"settings-status is-muted",children:[f.jsx("span",{"aria-hidden":"true"}),t(o?"settings.account.apiUnknown":"settings.account.apiDisabled")]})]}):null]})}const Nz={ko:"KO",en:"EN"};function _z(){const{t,locale:a}=Ne(),l=Y(o=>o.setLocale);return f.jsx("div",{className:"lang-toggle",role:"group","aria-label":t("language.label"),children:CN.map(o=>f.jsx("button",{type:"button",className:`lang-toggle__btn ${a===o?"is-active":""}`,onClick:()=>l(o),"aria-pressed":a===o,title:t(`language.${o}`),children:f.jsx("span",{className:"lang-toggle__label",children:Nz[o]})},o))})}const Ez=["system","dark","light"];function Cz(){const{t}=Ne(),a=Y(p=>p.theme),l=Y(p=>p.setTheme),o=Y(p=>p.themeFamily),s=Y(p=>p.setThemeFamily),[c,d]=L.useState(!1),m=L.useRef(null);L.useEffect(()=>{if(!c)return;const p=v=>{m.current&&(m.current.contains(v.target)||d(!1))},g=v=>{v.key==="Escape"&&d(!1)};return document.addEventListener("mousedown",p),document.addEventListener("keydown",g),()=>{document.removeEventListener("mousedown",p),document.removeEventListener("keydown",g)}},[c]);const y=p=>t(`theme.family.${p}`);return f.jsxs("div",{className:"theme-toggle","aria-label":t("theme.label"),children:[f.jsxs("div",{className:"theme-toggle__row",children:[f.jsx("span",{className:"theme-toggle__label",id:"theme-style-label",children:t("theme.styleLabel")}),f.jsxs("div",{className:"theme-toggle__family",ref:m,children:[f.jsxs("button",{type:"button",className:"theme-toggle__family-trigger","aria-haspopup":"listbox","aria-expanded":c,"aria-labelledby":"theme-style-label",onClick:()=>d(p=>!p),children:[f.jsx("span",{className:`theme-toggle__family-dot theme-toggle__family-dot--${o}`,"aria-hidden":"true"}),f.jsx("span",{className:"theme-toggle__family-name",children:y(o)}),f.jsx("span",{className:"theme-toggle__family-caret","aria-hidden":"true",children:"▾"})]}),c?f.jsx("ul",{className:"theme-toggle__family-menu",role:"listbox","aria-labelledby":"theme-style-label",children:X0.map(p=>f.jsx("li",{role:"none",children:f.jsxs("button",{type:"button",role:"option","aria-selected":o===p,className:`theme-toggle__family-option ${o===p?"is-active":""}`,onClick:()=>{s(p),d(!1)},children:[f.jsx("span",{className:`theme-toggle__family-dot theme-toggle__family-dot--${p}`,"aria-hidden":"true"}),f.jsx("span",{className:"theme-toggle__family-name",children:y(p)})]})},p))}):null]})]}),f.jsxs("div",{className:"theme-toggle__row",children:[f.jsx("span",{className:"theme-toggle__label",id:"theme-mode-label",children:t("theme.modeLabel")}),f.jsx("div",{className:"theme-toggle__mode",role:"group","aria-labelledby":"theme-mode-label",children:Ez.map(p=>f.jsx("button",{type:"button",className:`theme-toggle__btn ${a===p?"is-active":""}`,onClick:()=>l(p),"aria-pressed":a===p,title:t(`theme.${p}`),children:t(`theme.${p}`)},p))})]})]})}const vf=["account","generation","appearance","language","future"];function _o({id:t,setRef:a,children:l}){const{t:o}=Ne();return f.jsxs("section",{id:t,ref:s=>a(t,s),className:"settings-section","aria-labelledby":`settings-section-${t}`,children:[f.jsx("header",{className:"settings-section__header",children:f.jsxs("div",{children:[f.jsx("h3",{id:`settings-section-${t}`,children:o(`settings.sections.${t}.title`)}),f.jsx("p",{children:o(`settings.sections.${t}.hint`)})]})}),f.jsx("div",{className:"settings-section__body",children:l})]})}function Tz(){const{t}=Ne(),a=Y(g=>g.activeSettingsSection),l=Y(g=>g.setActiveSettingsSection),o=Y(g=>g.closeSettings),s=L.useRef(null),c=L.useRef(null),d=L.useRef(!1),m=L.useRef({account:null,generation:null,appearance:null,language:null,future:null}),y=(g,v)=>{m.current[g]=v},p=g=>{l(g),d.current=!0,m.current[g]?.scrollIntoView({behavior:"auto",block:"start"}),c.current!==null&&window.clearTimeout(c.current),c.current=window.setTimeout(()=>{d.current=!1,c.current=null},120)};return L.useEffect(()=>{const g=v=>{v.key==="Escape"&&o()};return window.addEventListener("keydown",g),()=>window.removeEventListener("keydown",g)},[o]),L.useEffect(()=>{const g=s.current;if(!g||typeof IntersectionObserver!="function")return;const v=new IntersectionObserver(x=>{if(d.current)return;const N=x.filter(_=>_.isIntersecting).sort((_,D)=>D.intersectionRatio-_.intersectionRatio)[0]?.target.id;N&&vf.includes(N)&&l(N)},{root:g,threshold:[.35,.6]});for(const x of vf){const S=m.current[x];S&&v.observe(S)}return()=>v.disconnect()},[l]),L.useEffect(()=>()=>{c.current!==null&&window.clearTimeout(c.current)},[]),f.jsx("main",{ref:s,className:"settings-workspace","aria-labelledby":"settings-title",children:f.jsxs("div",{className:"settings-shell",children:[f.jsxs("header",{className:"settings-header",children:[f.jsxs("div",{children:[f.jsx("p",{className:"settings-eyebrow",children:t("settings.eyebrow")}),f.jsx("h2",{id:"settings-title",children:t("settings.title")}),f.jsx("p",{children:t("settings.subtitle")})]}),f.jsx("button",{type:"button",className:"settings-close",onClick:o,"aria-label":t("settings.closeAria"),title:t("settings.closeTitle"),children:"X"})]}),f.jsxs("div",{className:"settings-layout",children:[f.jsx("nav",{className:"settings-nav","aria-label":t("settings.navAria"),children:vf.map(g=>f.jsxs("button",{type:"button",className:`settings-nav__item${a===g?" is-active":""}`,onClick:()=>p(g),"aria-label":t("settings.jumpTo",{section:t(`settings.sections.${g}.title`)}),children:[f.jsx("span",{children:t(`settings.sections.${g}.title`)}),f.jsx("small",{children:t(`settings.sections.${g}.hint`)})]},g))}),f.jsxs("section",{className:"settings-content","aria-label":t("settings.contentAria"),children:[f.jsx(_o,{id:"account",setRef:y,children:f.jsx(wz,{})}),f.jsx(_o,{id:"generation",setRef:y,children:f.jsxs("article",{className:"settings-row",children:[f.jsxs("div",{className:"settings-row__copy",children:[f.jsx("h4",{children:t("settings.imageModel.title")}),f.jsx("p",{children:t("settings.imageModel.body")}),f.jsx("p",{className:"settings-row__microcopy",children:t("settings.imageModel.unsupportedHelp")})]}),f.jsx("div",{className:"settings-row__control",children:f.jsx(xv,{variant:"settings"})})]})}),f.jsx(_o,{id:"appearance",setRef:y,children:f.jsxs("article",{className:"settings-row",children:[f.jsxs("div",{className:"settings-row__copy",children:[f.jsx("h4",{children:t("settings.appearance.themeTitle")}),f.jsx("p",{children:t("settings.appearance.themeBody")})]}),f.jsx("div",{className:"settings-row__control",children:f.jsx(Cz,{})})]})}),f.jsx(_o,{id:"language",setRef:y,children:f.jsxs("article",{className:"settings-row",children:[f.jsxs("div",{className:"settings-row__copy",children:[f.jsx("h4",{children:t("settings.language.title")}),f.jsx("p",{children:t("settings.language.body")})]}),f.jsx("div",{className:"settings-row__control",children:f.jsx(_z,{})})]})}),f.jsx(_o,{id:"future",setRef:y,children:f.jsxs("article",{className:"settings-note",children:[f.jsx("h4",{children:t("settings.future.title")}),f.jsx("p",{children:t("settings.future.body")})]})})]})]})]})})}function Mz(){const t=Y(s=>s.toast),[a,l]=L.useState(!1);if(L.useEffect(()=>{if(!t)return;l(!0);const s=setTimeout(()=>l(!1),3e3);return()=>clearTimeout(s)},[t]),!t)return null;const o=["toast",a?"visible":"",t.error?"error":""].filter(Boolean).join(" ");return f.jsx("div",{className:o,children:t.message})}function Az(){const{t}=Ne(),a=Y(v=>v.errorCard),l=Y(v=>v.dismissErrorCard);if(!a)return null;const o=Ao[a.code]??Ao.UNKNOWN,s=`${o.cardKey??"errorCard.unknown"}.title`,c=`${o.cardKey??"errorCard.unknown"}.body`,d=o.cta?`${o.cardKey??"errorCard.unknown"}.cta`:null,m=t(s),y=t(c),p=d?t(d):null,g=()=>{if(o.cta==="reload"){window.location.reload();return}else l()};return f.jsx("div",{className:"error-card-backdrop",role:"alertdialog","aria-labelledby":"error-card-title",children:f.jsxs("div",{className:"error-card",children:[f.jsx("div",{className:"error-card__icon","aria-hidden":"true",children:f.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[f.jsx("circle",{cx:"12",cy:"12",r:"10"}),f.jsx("line",{x1:"12",y1:"8",x2:"12",y2:"12"}),f.jsx("line",{x1:"12",y1:"16",x2:"12.01",y2:"16"})]})}),f.jsxs("div",{className:"error-card__content",children:[f.jsx("h3",{id:"error-card-title",className:"error-card__title",children:m}),f.jsx("p",{className:"error-card__body",children:y}),a.fallbackMessage&&f.jsxs("details",{className:"error-card__details",children:[f.jsx("summary",{children:t("errorCard.details")}),f.jsx("pre",{children:a.fallbackMessage})]}),f.jsxs("div",{className:"error-card__actions",children:[f.jsx("button",{type:"button",className:"btn btn--ghost",onClick:l,children:t("errorCard.close")}),p&&f.jsx("button",{type:"button",className:"btn btn--primary",onClick:g,children:p})]})]})]})})}function jz(t){if(!t)return"earlier";const a=new Date(t);if(Number.isNaN(a.getTime()))return"earlier";const o=Math.floor((new Date().getTime()-a.getTime())/864e5);return o===0?"today":o===1?"yesterday":o<7?"thisWeek":a.toLocaleDateString("ko-KR",{year:"numeric",month:"short",day:"numeric"})}function q0(t){return t.filename||t.image}function zz({item:t,onOpen:a,onCopyPath:l,onDownloadManifest:o}){const{t:s}=Ne(),d=t.cards?.find(m=>m.headline)?.headline||t.headline||s("gallery.cardNewsSet");return f.jsxs(f.Fragment,{children:[f.jsxs("button",{type:"button",className:"gallery__tile",onClick:()=>a(t),title:d,children:[t.image?f.jsx("img",{src:t.image,alt:d,loading:"lazy"}):null,f.jsxs("div",{className:"gallery__caption",children:[f.jsx("small",{children:s("gallery.cardNewsSet")}),f.jsx("span",{className:"gallery__caption-text",children:d})]}),f.jsx("div",{className:"gallery-card-news-strip",children:(t.cards||[]).slice(0,5).map((m,y)=>f.jsxs("span",{children:[m.url?f.jsx("img",{src:m.url,alt:m.headline??"",loading:"lazy"}):null,f.jsx("em",{children:m.cardOrder??y+1})]},`${m.url}-${y}`))})]}),f.jsxs("div",{className:"gallery-card-news-actions",children:[f.jsx("span",{children:s("gallery.cardNewsCount",{n:t.cards?.length??0})}),f.jsx("button",{type:"button",onClick:()=>a(t),children:s("gallery.openCardNewsSet")}),f.jsx("button",{type:"button",onClick:m=>l(t,m),children:s("gallery.copyCardNewsSetPath")}),f.jsx("button",{type:"button",onClick:m=>o(t,m),children:s("gallery.downloadCardNewsManifest")})]})]})}function Rz({item:t,active:a,itemRef:l,onSelect:o,onDelete:s,onToggleFavorite:c,t:d}){return f.jsxs("div",{ref:l,className:`gallery__tile-wrap${a?" gallery__tile-wrap--active":""}${t.isFavorite?" gallery__tile-wrap--favorite":""}`,children:[f.jsxs("button",{type:"button",className:`gallery__tile${a?" gallery__tile--active":""}`,onClick:()=>o(t),title:t.prompt??"",children:[f.jsx("img",{src:t.thumb||t.image,alt:t.prompt??d("gallery.imageAltFallback"),loading:"lazy",decoding:"async"}),t.prompt&&f.jsx("div",{className:"gallery__caption",children:f.jsx("span",{className:"gallery__caption-text",children:t.prompt})})]}),t.filename&&c&&f.jsx("button",{type:"button",className:`gallery__favorite${t.isFavorite?" gallery__favorite--on":""}`,onClick:m=>{m.stopPropagation(),c(t)},title:t.isFavorite?d("gallery.unfavoriteTitle"):d("gallery.favoriteTitle"),"aria-label":t.isFavorite?d("gallery.unfavoriteAria"):d("gallery.favoriteAria"),children:t.isFavorite?"★":"☆"}),t.filename&&f.jsx("button",{type:"button",className:"gallery__delete",onClick:m=>s(t,m),title:d("gallery.deleteTitle"),"aria-label":d("gallery.deleteAria"),children:"×"})]})}const U0="ima2.storageNoticeDismissed.0.09.23";function Dz(){const{t}=Ne(),a=Y($=>$.galleryOpen),l=Y($=>$.closeGallery),o=Y($=>$.history),s=Y($=>$.selectHistory),c=Y($=>$.currentImage),d=Y($=>$.trashHistoryItem),m=Y($=>$.showToast),y=Y($=>$.toggleGalleryFavorite),[p,g]=L.useState(""),[v,x]=L.useState("date"),[S,N]=L.useState(!1),[_,D]=L.useState([]),[j,A]=L.useState([]),[E,w]=L.useState(null),[B,O]=L.useState(()=>{try{return localStorage.getItem(U0)==="1"}catch{return!1}}),k=L.useRef(null),F=L.useRef({}),K=L.useRef(0);L.useEffect(()=>{if(!a)return;const $=le=>{le.key==="Escape"&&l()};return window.addEventListener("keydown",$),()=>window.removeEventListener("keydown",$)},[a,l]),L.useEffect(()=>{a||g("")},[a]),L.useEffect(()=>{if(!a)return;let $=!1;return(async()=>{try{const le=await U1();$||w(le)}catch{$||w({generatedDirLabel:"~/.ima2/generated",generatedCount:0,legacyCandidatesScanned:0,legacySourcesFound:0,legacyFilesFound:0,state:"unknown",messageKind:"unknown",recoveryDocsPath:"docs/RECOVER_OLD_IMAGES.md",doctorCommand:"ima2 doctor",overrides:{generatedDir:!1,configDir:!1}})}})(),()=>{$=!0}},[a]),L.useEffect(()=>{if(!a||v!=="session")return;let $=!1;return(async()=>{try{const le=await B1({limit:500});if($)return;const ce=ue=>{const be=ue.kind,ve=be==="classic"||be==="edit"||be==="generate"||be==="card-news-card"||be==="card-news-set"?be:null;return{image:ue.url,url:ue.url,filename:ue.filename,prompt:ue.prompt??void 0,size:ue.size??void 0,quality:ue.quality??void 0,model:ue.model??void 0,provider:ue.provider,createdAt:ue.createdAt,sessionId:ue.sessionId??null,nodeId:ue.nodeId??null,clientNodeId:ue.clientNodeId??null,kind:ve,setId:ue.setId??null,cardId:ue.cardId??null,cardOrder:ue.cardOrder??null,headline:ue.headline??null,body:ue.body??null,cards:ue.cards,isFavorite:ue.isFavorite??!1}};D(le.sessions.map(ue=>({sessionId:ue.sessionId,title:ue.title??null,label:ue.label??null,displayLabel:ue.title||ue.label||ue.sessionId.slice(0,8),items:ue.items.map(ce)}))),A(le.loose.map(ce))}catch{}})(),()=>{$=!0}},[a,v]);const de=L.useMemo(()=>{const $=p.trim().toLowerCase().normalize("NFC");return o.filter(le=>S&&!le.isFavorite?!1:$?(le.prompt??"").toLowerCase().normalize("NFC").includes($)||(le.filename??"").toLowerCase().normalize("NFC").includes($):!0)},[o,p,S]),X=L.useMemo(()=>S?_.map($=>({...$,items:$.items.filter(le=>le.isFavorite)})).filter($=>$.items.length>0):_,[_,S]),te=L.useMemo(()=>S?j.filter($=>$.isFavorite):j,[j,S]),se=L.useMemo(()=>{const $=new Map;for(const le of de){const ce=jz(le.createdAt);$.has(ce)||$.set(ce,[]),$.get(ce).push(le)}return Array.from($.entries())},[de]),z=v==="session"?X.reduce(($,le)=>$+le.items.length,0)+te.length:de.length;L.useLayoutEffect(()=>{if(!a)return;const $=c?q0(c):null,le=$?F.current[$]:null;if(le){le.scrollIntoView({block:"center"});return}k.current&&(k.current.scrollTop=K.current)},[a,c?.filename,c?.image,v,z,se.length,X.length,te.length]);async function M($,le){le.stopPropagation(),await d($)}async function T(){try{await G1(),m(t("toast.openGeneratedDirOpened"))}catch{m(t("toast.openGeneratedDirFailed"),!0)}}async function I($){if($.setId)try{await we.getState().loadSet($.setId),Y.getState().setUIMode("card-news"),l()}catch{m(t("gallery.openCardNewsSetFailed"),!0)}}async function U($,le){if(le.stopPropagation(),!$.setId)return;const ce=`generated/cardnews/${$.setId}`;try{await navigator.clipboard?.writeText(ce),m(t("gallery.cardNewsPathCopied"))}catch{m(t("toast.copyFailed"),!0)}}function Z($,le){le.stopPropagation(),$.setId&&window.open(H_($.setId),"_blank","noopener,noreferrer")}function ae(){O(!0);try{localStorage.setItem(U0,"1")}catch{}}if(!a)return null;const R=$=>$==="earlier"||$==="today"||$==="yesterday"||$==="thisWeek"?t(`gallery.${$}`):$,q=($,le,ce)=>{const ue=c?.image===$.image,be=ve=>{F.current[q0($)]=ve};return $.kind==="card-news-set"?f.jsx("div",{ref:be,className:"gallery__tile-wrap gallery-card-news-set",children:f.jsx(zz,{item:$,onOpen:ve=>{I(ve)},onCopyPath:U,onDownloadManifest:Z})},`${le}-${ce}-${$.filename??ce}`):f.jsx(Rz,{item:$,active:ue,itemRef:be,onSelect:ve=>{s(ve),l()},onDelete:M,onToggleFavorite:ve=>{y(ve.filename)},t},`${le}-${ce}-${$.filename??ce}`)},V=v==="session",W=E!=null&&E.state!=="ok"&&!B,fe=E?.state==="recoverable"?"gallery.storageNoticeRecoverable":E?.state==="not_found"?"gallery.storageNoticeNotFound":"gallery.storageNoticeUnknown";return f.jsx("div",{className:"gallery-backdrop",onClick:l,role:"presentation",children:f.jsxs("div",{className:"gallery",role:"dialog","aria-modal":"true","aria-label":t("gallery.ariaLabel"),onClick:$=>$.stopPropagation(),children:[f.jsxs("div",{className:"gallery__header",children:[f.jsxs("div",{className:"gallery__title-row",children:[f.jsx("div",{className:"gallery__title",children:t("gallery.title")}),f.jsxs("div",{className:"gallery__meta",children:[t("gallery.total",{n:z}),p||S?t("gallery.totalFiltered",{n:o.length}):""]}),f.jsxs("div",{className:"gallery__favorite-filter",role:"tablist","aria-label":t("gallery.favoriteFilterAria"),children:[f.jsx("button",{type:"button",role:"tab","aria-selected":!S,className:S?"":"active",onClick:()=>N(!1),children:t("gallery.filterAll")}),f.jsx("button",{type:"button",role:"tab","aria-selected":S,className:S?"active":"",onClick:()=>N(!0),children:t("gallery.filterFavorites")})]}),f.jsxs("div",{className:"gallery__group-toggle",role:"tablist","aria-label":t("gallery.sortByAria"),children:[f.jsx("button",{type:"button",role:"tab","aria-selected":v==="date",className:v==="date"?"active":"",onClick:()=>x("date"),children:t("gallery.sortByDate")}),f.jsx("button",{type:"button",role:"tab","aria-selected":v==="session",className:v==="session"?"active":"",onClick:()=>x("session"),children:t("gallery.sortBySession")})]})]}),f.jsx("input",{type:"text",className:"gallery__search",placeholder:t(V?"gallery.searchDisabledPlaceholder":"gallery.searchPlaceholder"),value:p,onChange:$=>g($.target.value),autoFocus:!0,disabled:V}),f.jsx("button",{type:"button",className:"gallery__close",onClick:l,"aria-label":t("gallery.closeAria"),title:t("gallery.closeTitle"),children:"×"})]}),f.jsxs("div",{className:`gallery__storage-bar${W?" gallery__storage-bar--notice":""}`,children:[W?f.jsxs("div",{className:"gallery__storage-copy",children:[f.jsx("div",{className:"gallery__storage-title",children:t("gallery.storageNoticeTitle")}),f.jsx("div",{className:"gallery__storage-text",children:t(fe)})]}):f.jsx("div",{className:"gallery__storage-copy gallery__storage-copy--quiet",children:E?.generatedDirLabel??"~/.ima2/generated"}),f.jsxs("div",{className:"gallery__storage-actions",children:[f.jsx("button",{type:"button",className:"gallery__storage-button",onClick:T,title:t("gallery.openGeneratedDirTitle"),children:t("gallery.openGeneratedDir")}),W&&f.jsx("button",{type:"button",className:"gallery__storage-button gallery__storage-button--ghost",onClick:ae,children:t("common.close")})]})]}),f.jsx("div",{className:"gallery__scroll",ref:k,onScroll:()=>{K.current=k.current?.scrollTop??0},children:V?f.jsxs(f.Fragment,{children:[X.map($=>f.jsxs("section",{className:"gallery__group",children:[f.jsxs("header",{className:"gallery__group-header",children:[f.jsx("span",{className:"gallery__group-label",title:$.sessionId,children:$.title?$.displayLabel:t("gallery.sessionLabel",{name:$.displayLabel})}),f.jsx("span",{className:"gallery__group-count",children:$.items.length})]}),f.jsx("div",{className:"gallery__grid",children:$.items.map((le,ce)=>q(le,$.sessionId,ce))})]},$.sessionId)),te.length>0&&f.jsxs("section",{className:"gallery__group",children:[f.jsxs("header",{className:"gallery__group-header",children:[f.jsx("span",{className:"gallery__group-label",children:t("gallery.standalone")}),f.jsx("span",{className:"gallery__group-count",children:te.length})]}),f.jsx("div",{className:"gallery__grid",children:te.map(($,le)=>q($,"loose",le))})]}),X.length===0&&te.length===0&&f.jsx("div",{className:"gallery__empty",children:t(S?"gallery.emptyFavorites":"gallery.emptySessions")})]}):de.length===0?f.jsx("div",{className:"gallery__empty",children:o.length===0?t("gallery.emptyAll"):t(S?"gallery.emptyFavorites":"gallery.noResults")}):se.map(([$,le])=>f.jsxs("section",{className:"gallery__group",children:[f.jsxs("header",{className:"gallery__group-header",children:[f.jsx("span",{className:"gallery__group-label",children:R($)}),f.jsx("span",{className:"gallery__group-count",children:le.length})]}),f.jsx("div",{className:"gallery__grid",children:le.map((ce,ue)=>q(ce,$,ue))})]},$))})]})})}function Oz(t){return t.includes("ratio")?"sizeConfirm.reasonRatio":t.includes("maxPixels")||t.includes("pixels")?"sizeConfirm.reasonPixels":t.includes("minPixels")?"sizeConfirm.reasonMinPixels":t.includes("min")?"sizeConfirm.reasonMin":t.includes("maxEdge")||t.includes("max")?"sizeConfirm.reasonMax":"sizeConfirm.reasonSnap"}function Iz(){const t=Y(m=>m.customSizeConfirm),a=Y(m=>m.confirmCustomSizeAdjustment),l=Y(m=>m.cancelCustomSizeAdjustment),o=L.useRef(null),{t:s}=Ne();if(L.useEffect(()=>{if(!t)return;o.current?.focus();const m=y=>{y.key==="Escape"&&l()};return window.addEventListener("keydown",m),()=>window.removeEventListener("keydown",m)},[l,t]),!t)return null;const c=`${t.requestedW}x${t.requestedH}`,d=`${t.adjustedW}x${t.adjustedH}`;return f.jsx("div",{className:"modal-backdrop custom-size-confirm-backdrop",role:"presentation",children:f.jsxs("div",{className:"modal custom-size-confirm",role:"dialog","aria-modal":"true","aria-labelledby":"custom-size-confirm-title","aria-describedby":"custom-size-confirm-body",children:[f.jsx("div",{id:"custom-size-confirm-title",className:"modal__title",children:s("sizeConfirm.title")}),f.jsxs("div",{id:"custom-size-confirm-body",className:"modal__body",children:[f.jsx("p",{children:s("sizeConfirm.body")}),f.jsxs("dl",{className:"size-confirm__pairs",children:[f.jsxs("div",{className:"size-confirm__pair",children:[f.jsx("dt",{children:s("sizeConfirm.requested")}),f.jsx("dd",{children:c})]}),f.jsxs("div",{className:"size-confirm__pair",children:[f.jsx("dt",{children:s("sizeConfirm.adjusted")}),f.jsx("dd",{children:d})]})]}),f.jsx("p",{className:"size-confirm__reason",children:s(Oz(t.reasons))})]}),f.jsxs("div",{className:"modal__actions",children:[f.jsx("button",{ref:o,type:"button",className:"modal__btn modal__btn--secondary",onClick:l,children:s("sizeConfirm.cancel")}),f.jsx("button",{type:"button",className:"modal__btn",onClick:()=>{a()},children:s("sizeConfirm.approve")})]})]})})}function Ds(t){return t==null||t===""?"-":String(t)}function Lz(){const{t}=Ne(),a=Y(m=>m.metadataRestore),l=Y(m=>m.applyMetadataRestore),o=Y(m=>m.addMetadataRestoreAsReference),s=Y(m=>m.cancelMetadataRestore);if(!a)return null;const c=a.metadata,d=c.userPrompt||c.prompt||c.revisedPrompt||"";return f.jsx("div",{className:"modal-backdrop metadata-restore-backdrop",role:"presentation",children:f.jsxs("div",{className:"modal metadata-restore",role:"dialog","aria-modal":"true","aria-labelledby":"metadata-restore-title",children:[f.jsx("div",{id:"metadata-restore-title",className:"modal__title",children:t("metadata.restoreTitle")}),f.jsxs("div",{className:"modal__body metadata-restore__body",children:[f.jsx("p",{children:t("metadata.restoreBody")}),f.jsxs("div",{className:"metadata-restore__preview",children:[f.jsx("img",{src:a.image,alt:t("metadata.imageAlt")}),f.jsxs("div",{className:"metadata-restore__details",children:[f.jsxs("div",{children:[f.jsx("span",{children:t("metadata.prompt")}),f.jsx("strong",{title:d,children:Ds(d)})]}),f.jsxs("div",{children:[f.jsx("span",{children:t("metadata.size")}),f.jsx("strong",{children:Ds(c.size)})]}),f.jsxs("div",{children:[f.jsx("span",{children:t("metadata.quality")}),f.jsx("strong",{children:Ds(c.quality)})]}),f.jsxs("div",{children:[f.jsx("span",{children:t("metadata.model")}),f.jsx("strong",{children:Ds(c.model)})]}),f.jsxs("div",{children:[f.jsx("span",{children:t("metadata.source")}),f.jsx("strong",{children:a.source==="png-comment"?t("metadata.sourcePngComment"):t("metadata.sourceXmp")})]})]})]})]}),f.jsxs("div",{className:"modal__actions",children:[f.jsx("button",{type:"button",className:"modal__btn modal__btn--secondary",onClick:s,children:t("common.cancel")}),f.jsx("button",{type:"button",className:"modal__btn modal__btn--secondary",onClick:o,children:t("metadata.useAsReferenceOnly")}),f.jsx("button",{type:"button",className:"modal__btn",onClick:l,children:t("metadata.applySettings")})]})]})})}function Hz(){const t=Y(d=>d.trashPending),a=Y(d=>d.restorePendingTrash),l=Y(d=>d.clearPendingTrash),{t:o}=Ne(),[s,c]=L.useState(Date.now());return L.useEffect(()=>{if(!t)return;c(Date.now());const d=window.setInterval(()=>{const m=Date.now();c(m),m>=t.expiresAt&&l()},500);return()=>window.clearInterval(d)},[l,t]),t?f.jsxs("div",{className:"trash-undo-toast",children:[f.jsx("span",{children:o("gallery.deleted",{filename:t.filename})}),f.jsx("button",{type:"button",onClick:()=>{a()},children:o("gallery.undo")}),f.jsx("span",{className:"trash-undo-toast__timer",children:o("gallery.secondsSuffix",{n:Math.max(0,Math.ceil((t.expiresAt-s)/1e3))})})]}):null}function kz(t){const a=t.slots.filter(o=>o.kind==="text"||o.textKind).length,l=t.slots.filter(o=>o.kind==="image").length;return`${a} text / ${l} image`}function Bz(){const{t}=Ne(),a=we(s=>s.templates),l=we(s=>s.imageTemplateId),o=we(s=>s.setImageTemplate);return f.jsxs("section",{className:"card-news-panel",children:[f.jsxs("div",{className:"card-news-panel__head",children:[f.jsx("span",{children:t("cardNews.imageTemplate")}),f.jsx("button",{type:"button",disabled:!0,title:t("cardNews.newTemplateLater"),children:"+"})]}),f.jsx("div",{className:"card-news-template-grid",children:a.map(s=>f.jsxs("button",{type:"button",className:`card-news-template${l===s.id?" selected":""}`,onClick:()=>o(s.id),children:[f.jsx("img",{src:s.previewUrl,alt:""}),f.jsxs("span",{className:"card-news-template__body",children:[f.jsx("span",{className:"card-news-template__name",children:s.name}),f.jsx("span",{className:"card-news-template__meta",children:kz(s)}),f.jsx("span",{className:"card-news-template__sizes",children:s.recommendedOutputSizes.join(" · ")})]})]},s.id))})]})}function qz(){const{t}=Ne(),a=we(s=>s.roleTemplates),l=we(s=>s.roleTemplateId),o=we(s=>s.setRoleTemplate);return f.jsxs("section",{className:"card-news-panel",children:[f.jsx("div",{className:"card-news-panel__head",children:f.jsx("span",{children:t("cardNews.roleTemplate")})}),f.jsx("div",{className:"card-news-role-row",children:a.map(s=>f.jsx("button",{type:"button",className:l===s.id?"selected":"",onClick:()=>o(s.id),children:s.name},s.id))})]})}function Uz({status:t,locked:a}){const{t:l}=Ne(),o=a?"locked":t,s=o==="queued"||o==="generating";return f.jsxs("span",{className:`card-news-status-badge card-news-status-badge--${o}`,children:[s?f.jsx("span",{className:"card-news-spinner","aria-hidden":"true"}):null,l(`cardNews.status.${o}`)]})}function Gz(t,a){const l=`cardNews.roles.${t}`,o=a(l);return o===l?t:o}function Vz(){const{t}=Ne(),a=we(s=>s.activePlan),l=we(s=>s.selectedCardId),o=we(s=>s.selectCard);return a?f.jsx("div",{className:"card-news-deck","aria-label":"Card deck",onWheel:ub,children:a.cards.map(s=>f.jsxs("button",{type:"button",className:`card-news-deck-card${l===s.id?" selected":""}`,onClick:()=>o(s.id),children:[f.jsx("span",{children:String(s.order).padStart(2,"0")}),s.url?f.jsx("img",{src:s.url,alt:"",className:"card-news-deck-card__thumb"}):null,f.jsx("strong",{children:Gz(s.role,t)}),f.jsx("small",{children:s.headline||s.textFields.find(c=>c.renderMode==="in-image")?.text}),f.jsx(Uz,{status:s.status,locked:s.locked})]},s.id))}):null}const Yz=[];function Pz(){const{t}=Ne(),a=we(s=>s.activePlan?.cards??Yz),l=we(s=>s.generating),o={total:a.length,done:a.filter(s=>s.status==="generated").length,queued:a.filter(s=>s.status==="queued").length,errors:a.filter(s=>s.status==="error").length,skipped:a.filter(s=>s.locked||s.status==="skipped").length};return o.total?f.jsxs("div",{className:"card-news-batch-bar","aria-live":"polite",children:[f.jsx("span",{children:l?t("cardNews.progress.generating",{done:o.done,total:o.total}):t("cardNews.progress.summary",{done:o.done,total:o.total})}),f.jsx("span",{children:t("cardNews.progress.detail",{queued:o.queued,errors:o.errors,skipped:o.skipped})})]}):null}function $z({meta:t}){const{t:a}=Ne();if(!t)return null;const l=t.mode==="structured-output"?a("cardNews.planner.structured"):t.mode==="json-mode"?a("cardNews.planner.jsonMode"):a("cardNews.planner.fallback");return f.jsxs("span",{className:"card-news-planner-badge",children:[l," · ",t.model,t.repaired?` · ${a("cardNews.planner.repaired")}`:""]})}function Fz(t){const a=t.textFields.filter(l=>l.renderMode==="in-image"&&l.text).map(l=>`[${l.placement}] ${l.text}`);return[t.headline,...a].filter(Boolean).join(`
30
- `)}function Xz(t,a){const l=t.slotId?a?.slots.find(o=>o.id===t.slotId):null;return l?{left:`${l.x/20.48}%`,top:`${l.y/20.48}%`,width:`${l.w/20.48}%`,minHeight:`${l.h/20.48}%`}:Zz(t)}const G0={"top-left":{left:"10%",top:"10%",width:"34%"},"top-center":{left:"50%",top:"10%",width:"42%",transform:"translateX(-50%)"},"top-right":{right:"10%",top:"10%",width:"34%"},"center-left":{left:"10%",top:"50%",width:"34%",transform:"translateY(-50%)"},center:{left:"50%",top:"50%",width:"44%",transform:"translate(-50%, -50%)"},"center-right":{right:"10%",top:"50%",width:"34%",transform:"translateY(-50%)"},"bottom-left":{left:"10%",bottom:"10%",width:"34%"},"bottom-center":{left:"50%",bottom:"10%",width:"42%",transform:"translateX(-50%)"},"bottom-right":{right:"10%",bottom:"10%",width:"34%"},free:{left:"50%",top:"50%",width:"44%",transform:"translate(-50%, -50%)"}};function Zz(t){return G0[t.placement]||G0.center}function Kz(){const{t}=Ne(),a=we(v=>v.activePlan),l=we(v=>v.selectedCardId),o=we(v=>v.selectedTextFieldId),s=we(v=>v.templates),c=we(v=>v.plannerMeta),d=we(v=>v.retryCard),m=we(v=>v.selectTextField),y=a?.cards.find(v=>v.id===l)||a?.cards[0],p=a?s.find(v=>v.id===a.imageTemplateId):void 0,g=y?.textFields.filter(v=>v.renderMode==="in-image")||[];return!a||!y?f.jsxs("section",{className:"card-news-empty",children:[f.jsxs("div",{className:"card-news-empty__deck","aria-hidden":"true",children:[f.jsx("div",{className:"card-news-empty__card card-news-empty__card--back"}),f.jsx("div",{className:"card-news-empty__card card-news-empty__card--mid"}),f.jsxs("div",{className:"card-news-empty__card",children:[f.jsx("span",{}),f.jsx("strong",{}),f.jsx("em",{})]})]}),f.jsxs("div",{className:"card-news-empty__copy",children:[f.jsx("span",{children:t("uiMode.cardNews")}),f.jsx("h2",{children:t("cardNews.emptyTitle")}),f.jsx("p",{children:t("cardNews.emptyBody")})]})]}):f.jsxs("section",{className:"card-news-stage",children:[f.jsxs("div",{className:"card-news-stage__header",children:[f.jsxs("div",{children:[f.jsx("h2",{children:a.title}),f.jsx("p",{children:a.generationStrategy}),f.jsx($z,{meta:c})]}),f.jsxs("span",{children:[y.order," / ",a.cards.length]})]}),f.jsx(Pz,{}),f.jsxs("div",{className:"card-news-preview",children:[y.status==="queued"||y.status==="generating"?f.jsx("div",{className:"card-news-preview__loading",children:t("cardNews.progress.cardGenerating")}):y.status==="error"?f.jsxs("div",{className:"card-news-preview__error",children:[f.jsx("span",{children:y.error||t("cardNews.error")}),y.locked?null:f.jsx("button",{type:"button",onClick:()=>{d(y.id)},children:t("cardNews.retryCard")})]}):y.url?f.jsx("img",{src:y.url,alt:y.headline}):f.jsx("div",{className:"card-news-preview__slot"}),g.length?f.jsx("div",{className:"card-news-stage-overlay",children:g.map(v=>f.jsx("button",{type:"button",className:`card-news-stage-overlay__field card-news-stage-overlay__field--${v.placement}${o===v.id?" selected":""}`,style:Xz(v,p),onClick:()=>m(v.id),"aria-label":t("cardNews.selectTextField",{text:v.text||v.kind}),children:f.jsx("span",{children:v.text||v.kind})},v.id))}):null]}),y.url?f.jsxs("div",{className:"card-news-result-actions",children:[f.jsx("button",{type:"button",onClick:()=>navigator.clipboard?.writeText(y.visualPrompt),children:t("cardNews.actions.copyPrompt")}),f.jsx("button",{type:"button",onClick:()=>navigator.clipboard?.writeText(Fz(y)),children:t("cardNews.actions.copyCopy")}),f.jsx("a",{href:y.url,target:"_blank",rel:"noreferrer",children:t("cardNews.actions.openImage")}),f.jsx("a",{href:y.url,download:!0,children:t("cardNews.actions.downloadCard")})]}):null]})}function db(t,a){const l=`cardNews.placements.${t}`,o=a(l);return o===l?t:o}function Qz({placement:t}){const{t:a}=Ne();return f.jsx("span",{className:"card-news-placement-chip",children:db(t,a)})}const Jz=["headline","body","caption","cta","badge","number"],Wz=["top-left","top-center","top-right","center-left","center","center-right","bottom-left","bottom-center","bottom-right","free"],e3=["in-image","ui-only"],t3=["primary","secondary","supporting"];function Os(t,a,l){const o=`cardNews.${t}.${a}`,s=l(o);return s===o?a:s}function n3({field:t,locked:a,selected:l=!1,onSelect:o,onChange:s,onRemove:c}){const{t:d}=Ne(),m=t.text.length,y=typeof t.maxChars=="number"&&m>t.maxChars,p=t.maxChars===null||t.maxChars>80;return f.jsxs("div",{className:`card-news-text-field-card${l?" selected":""}`,onClick:o,children:[f.jsxs("div",{className:"card-news-text-field-card__header",children:[f.jsx("span",{children:Os("textKinds",t.kind,d)}),f.jsx(Qz,{placement:t.placement})]}),f.jsxs("label",{className:"card-news-field",children:[f.jsx("span",{children:d("cardNews.textFieldText")}),p?f.jsx("textarea",{value:t.text,disabled:a,onChange:g=>s({text:g.target.value,source:"user"})}):f.jsx("input",{value:t.text,disabled:a,onChange:g=>s({text:g.target.value,source:"user"})})]}),f.jsxs("div",{className:"card-news-text-field-card__grid",children:[f.jsxs("label",{className:"card-news-field",children:[f.jsx("span",{children:d("cardNews.textKind")}),f.jsx("select",{value:t.kind,disabled:a,onChange:g=>s({kind:g.target.value,source:"user"}),children:Jz.map(g=>f.jsx("option",{value:g,children:Os("textKinds",g,d)},g))})]}),f.jsxs("label",{className:"card-news-field",children:[f.jsx("span",{children:d("cardNews.placement")}),f.jsx("select",{value:t.placement,disabled:a,onChange:g=>s({placement:g.target.value,source:"user"}),children:Wz.map(g=>f.jsx("option",{value:g,children:db(g,d)},g))})]}),f.jsxs("label",{className:"card-news-field",children:[f.jsx("span",{children:d("cardNews.renderMode")}),f.jsx("select",{value:t.renderMode,disabled:a,onChange:g=>s({renderMode:g.target.value,source:"user"}),children:e3.map(g=>f.jsx("option",{value:g,children:Os("renderModes",g,d)},g))})]}),f.jsxs("label",{className:"card-news-field",children:[f.jsx("span",{children:d("cardNews.hierarchyLabel")}),f.jsx("select",{value:t.hierarchy,disabled:a,onChange:g=>s({hierarchy:g.target.value,source:"user"}),children:t3.map(g=>f.jsx("option",{value:g,children:Os("hierarchy",g,d)},g))})]})]}),f.jsxs("div",{className:`card-news-text-field-card__meta${y?" over":""}`,children:[f.jsx("span",{children:t.maxChars===null?m:`${m}/${t.maxChars}`}),y?f.jsx("span",{children:d("cardNews.textTooLong")}):null,c?f.jsx("button",{type:"button",disabled:a,onClick:c,children:d("cardNews.removeTextField")}):null]})]})}function a3(){return{id:`tf_${Date.now().toString(36)}`,kind:"body",text:"",renderMode:"in-image",placement:"center",slotId:null,hierarchy:"supporting",maxChars:null,language:null,source:"user"}}function i3(){const{t}=Ne(),a=we(v=>v.activePlan),l=we(v=>v.selectedCardId),o=we(v=>v.selectedTextFieldId),s=we(v=>v.updateCard),c=we(v=>v.updateTextField),d=we(v=>v.addTextField),m=we(v=>v.removeTextField),y=we(v=>v.selectTextField),p=we(v=>v.retryCard),g=a?.cards.find(v=>v.id===l)||a?.cards[0];return g?f.jsxs("aside",{className:"card-news-inspector",children:[f.jsx("div",{className:"section-title",children:t("cardNews.inspector")}),f.jsxs("div",{className:"card-news-inspector-group",children:[f.jsx("span",{className:"card-news-inspector-label",children:t("cardNews.cardTitle")}),f.jsxs("label",{className:"card-news-field",children:[f.jsx("span",{children:t("cardNews.headline")}),f.jsx("input",{value:g.headline,disabled:g.locked,onChange:v=>s(g.id,{headline:v.target.value})})]})]}),f.jsxs("div",{className:"card-news-inspector-group",children:[f.jsxs("div",{className:"card-news-inspector-row",children:[f.jsx("span",{className:"card-news-inspector-label",children:t("cardNews.textFields")}),f.jsx("button",{type:"button",className:"secondary-btn",disabled:g.locked,onClick:()=>d(g.id,a3()),children:t("cardNews.addTextField")})]}),g.textFields.length?g.textFields.map(v=>f.jsx(n3,{field:v,locked:g.locked,selected:o===v.id,onSelect:()=>y(v.id),onChange:x=>c(g.id,v.id,x),onRemove:()=>m(g.id,v.id)},v.id)):f.jsx("p",{className:"card-news-muted",children:t("cardNews.noTextFields")})]}),f.jsxs("details",{className:"card-news-inspector-group card-news-advanced-prompt",children:[f.jsx("summary",{children:t("cardNews.designPrompt")}),f.jsxs("label",{className:"card-news-field",children:[f.jsx("span",{children:t("cardNews.visualPrompt")}),f.jsx("textarea",{value:g.visualPrompt,disabled:g.locked,onChange:v=>s(g.id,{visualPrompt:v.target.value})})]})]}),g.imageFilename?f.jsxs("div",{className:"card-news-generated-meta",children:[f.jsx("span",{children:t("cardNews.generatedMeta")}),f.jsx("code",{children:g.imageFilename}),f.jsx("span",{children:g.status})]}):null,g.locked?f.jsx("p",{className:"card-news-locked-help",children:t("cardNews.lockedHelp")}):null,f.jsx("button",{type:"button",className:`secondary-btn${g.locked?" active":""}`,onClick:()=>s(g.id,{locked:!g.locked}),children:g.locked?t("cardNews.locked"):t("cardNews.unlocked")}),f.jsx("button",{type:"button",className:"secondary-btn",disabled:g.locked||!["draft","error"].includes(g.status),onClick:()=>{p(g.id)},children:t("cardNews.retryCard")})]}):f.jsxs("aside",{className:"card-news-inspector card-news-inspector-empty",children:[f.jsx("div",{className:"section-title",children:t("cardNews.inspector")}),f.jsxs("div",{className:"card-news-inspector-empty__mock","aria-hidden":"true",children:[f.jsx("span",{}),f.jsx("strong",{}),f.jsx("i",{}),f.jsx("i",{})]}),f.jsx("p",{children:t("cardNews.noCard")})]})}function l3(){const{t}=Ne(),a=we(o=>o.hydrate),l=we(o=>o.error);return L.useEffect(()=>{a()},[a]),f.jsxs("main",{className:"card-news-workspace","aria-label":t("cardNews.workspace"),children:[f.jsxs("div",{className:"card-news-setup",children:[f.jsx(Bz,{}),f.jsx(qz,{})]}),f.jsxs("div",{className:"card-news-main",children:[l?f.jsx("div",{className:"card-news-error",role:"alert",children:l}):null,f.jsx(Kz,{}),f.jsx(Vz,{})]}),f.jsx(i3,{})]})}function o3({prompt:t,onClose:a,onLoad:l,onInsert:o,onDelete:s,onToggleFavorite:c}){const{t:d}=Ne(),m=async()=>{try{await navigator.clipboard.writeText(t.text)}catch{}};return f.jsxs("div",{className:"prompt-detail-modal",onClick:a,children:[f.jsx("div",{className:"prompt-detail-modal__backdrop"}),f.jsxs("div",{className:"prompt-detail-modal__content",onClick:y=>y.stopPropagation(),children:[f.jsxs("div",{className:"prompt-detail-modal__header",children:[f.jsx("h4",{children:t.name||d("promptLibrary.untitled")}),f.jsx("button",{className:"prompt-detail-modal__close",onClick:a,"aria-label":d("common.close"),children:"×"})]}),f.jsxs("div",{className:"prompt-detail-modal__body",children:[f.jsx("div",{className:"prompt-detail-modal__label",children:d("promptLibrary.content")}),f.jsx("div",{className:"prompt-detail-modal__prompt",children:t.text}),t.tags.length>0&&f.jsxs("div",{className:"prompt-detail-modal__tags",children:[f.jsx("div",{className:"prompt-detail-modal__label",children:d("promptLibrary.tags")}),f.jsx("div",{className:"prompt-detail-modal__tag-list",children:t.tags.map(y=>f.jsxs("span",{className:"prompt-detail-modal__tag",children:["#",y]},y))})]})]}),f.jsxs("div",{className:"prompt-detail-modal__footer",children:[f.jsx("button",{className:"prompt-detail-modal__load",onClick:l,children:d("promptLibrary.load")}),f.jsx("button",{className:"prompt-detail-modal__copy",onClick:m,children:d("promptLibrary.copy")}),f.jsxs("button",{className:"prompt-detail-modal__insert",onClick:o,children:["+ ",d("promptLibrary.insert")]}),f.jsx("button",{className:`prompt-detail-modal__favorite${t.isFavorite?" prompt-detail-modal__favorite--on":""}`,onClick:c,children:t.isFavorite?"★ "+d("promptLibrary.unfavorite"):"☆ "+d("promptLibrary.favorite")}),f.jsx("button",{className:"prompt-detail-modal__delete",onClick:s,children:d("common.delete")})]})]})]})}function r3({prompt:t,onLoad:a,onInsert:l,onDelete:o,onToggleFavorite:s}){const{t:c}=Ne(),[d,m]=L.useState(!1),y=t.text.length>45?t.text.slice(0,45)+"...":t.text;return f.jsxs(f.Fragment,{children:[f.jsxs("div",{className:"prompt-library-row",onClick:()=>m(!0),children:[f.jsxs("div",{className:"prompt-library-row__main",children:[f.jsx("div",{className:"prompt-library-row__title",children:t.name||c("promptLibrary.untitled")}),f.jsx("div",{className:"prompt-library-row__preview",children:y})]}),f.jsxs("div",{className:"prompt-library-row__actions",children:[f.jsx("button",{className:"prompt-library-row__insert",onClick:p=>{p.stopPropagation(),l()},title:c("promptLibrary.insert"),"aria-label":c("promptLibrary.insert"),children:"+"}),f.jsx("button",{className:`prompt-library-row__star${t.isFavorite?" prompt-library-row__star--on":""}`,onClick:p=>{p.stopPropagation(),s()},"aria-label":t.isFavorite?c("promptLibrary.unfavorite"):c("promptLibrary.favorite"),children:t.isFavorite?"★":"☆"}),f.jsx("span",{className:"prompt-library-row__chevron",children:"›"})]})]}),d&&f.jsx(o3,{prompt:t,onClose:()=>m(!1),onLoad:()=>{a(),m(!1)},onInsert:()=>{l(),m(!1)},onDelete:o,onToggleFavorite:s})]})}function s3(){const{t}=Ne(),a=Y(z=>z.promptLibraryOpen),l=Y(z=>z.togglePromptLibrary),o=Y(z=>z.promptLibrary),s=Y(z=>z.promptLibraryLoading),c=Y(z=>z.loadPromptLibrary),d=Y(z=>z.deletePromptFromLibrary),m=Y(z=>z.togglePromptFavorite),y=Y(z=>z.setPrompt),p=Y(z=>z.insertPromptToComposer),g=Y(z=>z.clearInsertedPrompts),v=Y(z=>z.showToast),x=Y(z=>z.importPromptsToLibrary),[S,N]=L.useState(""),[_,D]=L.useState(!1),[j,A]=L.useState(!1),[E,w]=L.useState(!1),B=L.useRef(0),O=L.useRef(null);L.useEffect(()=>{a&&c()},[a,c]);const k=L.useCallback(z=>{z.preventDefault(),z.stopPropagation(),B.current+=1,B.current>0&&w(!0)},[]),F=L.useCallback(z=>{z.preventDefault(),z.stopPropagation(),B.current=Math.max(0,B.current-1),B.current===0&&w(!1)},[]),K=L.useCallback(z=>{z.preventDefault(),z.stopPropagation()},[]),de=L.useCallback(z=>{z.preventDefault(),z.stopPropagation(),B.current=0,w(!1);const M=Array.from(z.dataTransfer.files).filter(T=>/\.(txt|md)$/i.test(T.name));M.length>0&&x(M)},[x]),X=L.useCallback(z=>{const M=Array.from(z.target.files??[]);M.length>0&&x(M),z.target.value=""},[x]),te=L.useCallback(z=>{p({id:z.id,name:z.name||t("promptLibrary.untitled"),text:z.text}),v(t("promptLibrary.inserted")),l()},[p,v,t,l]);if(!a)return null;const se=o.prompts.filter(z=>{if(_&&!z.isFavorite)return!1;if(!S.trim())return!0;const M=S.toLowerCase();return z.name.toLowerCase().includes(M)||z.text.toLowerCase().includes(M)||z.tags.some(T=>T.toLowerCase().includes(M))});return f.jsxs("div",{className:"prompt-library-panel",onDragEnter:k,onDragLeave:F,onDragOver:K,onDrop:de,children:[f.jsx("div",{className:"prompt-library-panel__backdrop",onClick:l}),f.jsxs("div",{className:"prompt-library-panel__drawer",children:[f.jsxs("div",{className:"prompt-library-panel__header",children:[f.jsx("h3",{children:t("promptLibrary.title")}),f.jsxs("div",{style:{display:"flex",gap:"8px",alignItems:"center"},children:[f.jsx("button",{className:"prompt-library-panel__add",onClick:()=>A(z=>!z),title:t("promptLibrary.addNew"),"aria-label":t("promptLibrary.addNew"),children:"+"}),f.jsx("button",{className:"prompt-library-panel__import",onClick:()=>O.current?.click(),title:t("promptLibrary.importFiles"),"aria-label":t("promptLibrary.importFiles"),children:t("promptLibrary.import")}),f.jsx("input",{ref:O,className:"prompt-library-panel__file-input",type:"file",accept:".txt,.md,text/plain,text/markdown",multiple:!0,onChange:X}),f.jsx("button",{onClick:l,"aria-label":t("common.close"),children:"×"})]}),j&&f.jsx(Yf,{text:"",onClose:()=>A(!1)})]}),f.jsxs("div",{className:"prompt-library-panel__search",children:[f.jsx("input",{type:"text",placeholder:t("promptLibrary.search"),value:S,onChange:z=>N(z.target.value)}),f.jsxs("label",{className:"prompt-library-panel__filter",children:[f.jsx("input",{type:"checkbox",checked:_,onChange:z=>D(z.target.checked)}),f.jsxs("span",{children:["★ ",t("promptLibrary.favorites")]})]})]}),s?f.jsx("div",{className:"prompt-library-panel__loading",children:t("common.loading")}):f.jsx("div",{className:"prompt-library-panel__list",children:se.length===0?f.jsx("div",{className:"prompt-library-panel__empty",children:t("promptLibrary.empty")}):se.map(z=>f.jsx(r3,{prompt:z,onLoad:()=>{g(),y(z.text),l()},onInsert:()=>te(z),onDelete:()=>d(z.id),onToggleFavorite:()=>m(z.id)},z.id))}),E&&f.jsx("div",{className:"prompt-library-panel__drop-overlay",children:f.jsx("div",{className:"prompt-library-panel__drop-message",children:t("promptLibrary.dropImport")})})]})]})}const c3={ArrowLeft:"previous",ArrowRight:"next",Home:"first",End:"last"};function u3(){const t=Y(o=>o.uiMode),a=Y(o=>o.currentImage),l=Y(o=>o.selectHistoryShortcutTarget);L.useEffect(()=>{if(t!=="classic")return;const o=s=>{const c=c3[s.key];c&&(s.defaultPrevented||Sf(s.target)||a&&(s.preventDefault(),l(c)))};return window.addEventListener("keydown",o),()=>window.removeEventListener("keydown",o)},[a,l,t])}const Is=64,fb="Image Gen";let sh=fb,Hf=!1,Ta=null,ch="",kf=!1;function hb(){return navigator}function mb(){if(typeof document>"u")return null;if(Ta)return Ta;const t=document.querySelector('link[rel~="icon"]');if(t)return Ta=t,ch=t.href||t.getAttribute("href")||"",t;const a=document.createElement("link");return a.rel="icon",document.head.appendChild(a),Ta=a,kf=!0,a}function d3(t){const a=document.createElement("canvas");a.width=Is,a.height=Is;const l=a.getContext("2d");return l?(l.clearRect(0,0,Is,Is),l.fillStyle="#0a0a0a",f3(l,6,6,52,52,12),l.fill(),l.strokeStyle="#ffffff",l.lineWidth=5,l.beginPath(),l.arc(30,32,14,0,Math.PI*2),l.stroke(),l.fillStyle="#ffffff",l.beginPath(),l.arc(30,32,5,0,Math.PI*2),l.fill(),l.beginPath(),l.arc(48,16,t>1?13:10,0,Math.PI*2),l.fillStyle="#ff335f",l.fill(),l.lineWidth=4,l.strokeStyle="#ffffff",l.stroke(),t>1&&(l.fillStyle="#ffffff",l.font="bold 15px sans-serif",l.textAlign="center",l.textBaseline="middle",l.fillText(String(Math.min(t,9)),48,17)),a.toDataURL("image/png")):ch}function f3(t,a,l,o,s,c){t.beginPath(),t.moveTo(a+c,l),t.arcTo(a+o,l,a+o,l+s,c),t.arcTo(a+o,l+s,a,l+s,c),t.arcTo(a,l+s,a,l,c),t.arcTo(a,l,a+o,l,c),t.closePath()}async function h3(t){const a=hb();if(typeof a.setAppBadge=="function")try{await a.setAppBadge(t)}catch{}}async function m3(){const t=hb();if(typeof t.clearAppBadge=="function")try{await t.clearAppBadge()}catch{}}function p3(t){document.title=`(${t}) ${sh}`;const a=mb();a&&(a.href=d3(t)),h3(t)}function V0(){document.title=sh,Ta&&(kf?(Ta.remove(),Ta=null,kf=!1):Ta.href=ch),m3()}function Y0(){Hf||typeof document>"u"||(Hf=!0,sh=document.title||fb,mb())}function g3(t){L.useEffect(()=>(Y0(),()=>{Hf&&V0()}),[]),L.useEffect(()=>{Y0(),t>0?p3(t):V0()},[t])}function y3(){u3();const t=Y(_=>_.hydrateHistory),a=Y(_=>_.loadSessions),l=Y(_=>_.startInFlightPolling),o=Y(_=>_.reconcileInflight),s=Y(_=>_.syncFromStorage),c=Y(_=>_.theme),d=Y(_=>_.resolvedTheme),m=Y(_=>_.themeFamily),y=Y(_=>_.settingsOpen),p=Y(_=>_.unseenGeneratedCount),g=Y(_=>_.syncThemeFromStorage),v=Y(_=>_.syncThemeFamilyFromStorage),x=Y(_=>_.refreshResolvedTheme),N=Y(_=>_.uiMode)==="node"&&Vf?"node":"classic";return g3(p),L.useEffect(()=>{t(),a(),o(),l()},[t,a,o,l]),L.useEffect(()=>{const _=D=>{D.key&&(D.key==="ima2.inFlight"||D.key==="ima2.selectedFilename"?s():D.key==="ima2:theme"?g():D.key==="ima2:themeFamily"&&v())};return window.addEventListener("storage",_),()=>window.removeEventListener("storage",_)},[s,g,v]),L.useEffect(()=>{const _=document.documentElement;_.dataset.theme=d,_.dataset.themeMode=d,_.dataset.themeFamily=m,_.style.colorScheme=d},[d,m]),L.useEffect(()=>{if(c!=="system")return;const _=window.matchMedia("(prefers-color-scheme: light)");return _.addEventListener("change",x),()=>_.removeEventListener("change",x)},[x,c]),L.useEffect(()=>{const _=()=>{__(Y.getState)};return window.addEventListener("beforeunload",_),()=>{window.removeEventListener("beforeunload",_)}},[]),f.jsxs(f.Fragment,{children:[f.jsxs("div",{className:`app${y?" app--settings-open":""}`,"data-theme-mode":d,"data-theme-family":m,children:[f.jsx(Y_,{}),f.jsx(vz,{}),y?f.jsx(Tz,{}):N==="classic"?f.jsx(jy,{}):N==="node"?f.jsx(oz,{}):N==="card-news"?f.jsx(l3,{}):f.jsx(jy,{}),N==="card-news"?null:f.jsx(yz,{})]}),f.jsx(Iz,{}),f.jsx(Hz,{}),f.jsx(Mz,{}),f.jsx(Az,{}),f.jsx(Dz,{}),f.jsx(Lz,{}),f.jsx(s3,{})]})}M1.createRoot(document.getElementById("root")).render(f.jsx(L.StrictMode,{children:f.jsx(y3,{})}));
31
- //# sourceMappingURL=index-DPSq9qEs.js.map