23 lines
465 KiB
JavaScript
23 lines
465 KiB
JavaScript
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var l=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=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,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function D(e,t){return E(e.type,t,e.props)}function O(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function ee(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var te=/\/+/g;function ne(e,t){return typeof e==`object`&&e&&e.key!=null?ee(``+e.key):t.toString(36)}function k(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function A(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,A(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+ne(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(te,`$&/`)+`/`),A(o,r,i,``,function(e){return e})):o!=null&&(O(o)&&(o=D(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(te,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+ne(a,u),c+=A(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+ne(a,u++),c+=A(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return A(k(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function re(e,t,n){if(e==null)return e;var r=[],i=0;return A(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function j(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var M=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},N={map:re,forEach:function(e,t,n){re(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return re(e,function(){t++}),t},toArray:function(e){return re(e,function(e){return e})||[]},only:function(e){if(!O(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=N,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!T.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return E(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)T.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return E(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=O,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:j}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,M)}catch(e){M(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()},e.version=`19.2.6`})),u=o(((e,t)=>{t.exports=l()})),d=o((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m)if(n(c)!==null)m=!0,S||(S=!0,O());else{var t=n(l);t!==null&&ne(x,t.startTime-e)}}var S=!1,C=-1,w=5,T=-1;function E(){return g?!0:!(e.unstable_now()-T<w)}function D(){if(g=!1,S){var t=e.unstable_now();T=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(C),C=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&E());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&ne(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?O():S=!1}}}var O;if(typeof y==`function`)O=function(){y(D)};else if(typeof MessageChannel<`u`){var ee=new MessageChannel,te=ee.port2;ee.port1.onmessage=D,O=function(){te.postMessage(null)}}else O=function(){_(D,0)};function ne(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):w=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,ne(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,O()))),r},e.unstable_shouldYield=E,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),f=o(((e,t)=>{t.exports=d()})),p=o((e=>{var t=u();function n(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function r(){}var i={d:{f:r,r:function(){throw Error(n(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},a=Symbol.for(`react.portal`);function o(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:a,key:r==null?null:``+r,children:e,containerInfo:t,implementation:n}}var s=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function c(e,t){if(e===`font`)return``;if(typeof t==`string`)return t===`use-credentials`?t:``}e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=i,e.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(n(299));return o(e,t,null,r)},e.flushSync=function(e){var t=s.T,n=i.p;try{if(s.T=null,i.p=2,e)return e()}finally{s.T=t,i.p=n,i.d.f()}},e.preconnect=function(e,t){typeof e==`string`&&(t?(t=t.crossOrigin,t=typeof t==`string`?t===`use-credentials`?t:``:void 0):t=null,i.d.C(e,t))},e.prefetchDNS=function(e){typeof e==`string`&&i.d.D(e)},e.preinit=function(e,t){if(typeof e==`string`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin),a=typeof t.integrity==`string`?t.integrity:void 0,o=typeof t.fetchPriority==`string`?t.fetchPriority:void 0;n===`style`?i.d.S(e,typeof t.precedence==`string`?t.precedence:void 0,{crossOrigin:r,integrity:a,fetchPriority:o}):n===`script`&&i.d.X(e,{crossOrigin:r,integrity:a,fetchPriority:o,nonce:typeof t.nonce==`string`?t.nonce:void 0})}},e.preinitModule=function(e,t){if(typeof e==`string`)if(typeof t==`object`&&t){if(t.as==null||t.as===`script`){var n=c(t.as,t.crossOrigin);i.d.M(e,{crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0})}}else t??i.d.M(e)},e.preload=function(e,t){if(typeof e==`string`&&typeof t==`object`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin);i.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,type:typeof t.type==`string`?t.type:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy==`string`?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet==`string`?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes==`string`?t.imageSizes:void 0,media:typeof t.media==`string`?t.media:void 0})}},e.preloadModule=function(e,t){if(typeof e==`string`)if(t){var n=c(t.as,t.crossOrigin);i.d.m(e,{as:typeof t.as==`string`&&t.as!==`script`?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0})}else i.d.m(e)},e.requestFormReset=function(e){i.d.r(e)},e.unstable_batchedUpdates=function(e,t){return e(t)},e.useFormState=function(e,t,n){return s.H.useFormState(e,t,n)},e.useFormStatus=function(){return s.H.useHostTransitionStatus()},e.version=`19.2.6`})),m=o(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=p()})),h=o((e=>{var t=f(),n=u(),r=m();function i(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function a(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function o(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function s(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function c(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function l(e){if(o(e)!==e)throw Error(i(188))}function d(e){var t=e.alternate;if(!t){if(t=o(e),t===null)throw Error(i(188));return t===e?e:null}for(var n=e,r=t;;){var a=n.return;if(a===null)break;var s=a.alternate;if(s===null){if(r=a.return,r!==null){n=r;continue}break}if(a.child===s.child){for(s=a.child;s;){if(s===n)return l(a),e;if(s===r)return l(a),t;s=s.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=s;else{for(var c=!1,u=a.child;u;){if(u===n){c=!0,n=a,r=s;break}if(u===r){c=!0,r=a,n=s;break}u=u.sibling}if(!c){for(u=s.child;u;){if(u===n){c=!0,n=s,r=a;break}if(u===r){c=!0,r=s,n=a;break}u=u.sibling}if(!c)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(n.tag!==3)throw Error(i(188));return n.stateNode.current===n?e:t}function p(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=p(e),t!==null)return t;e=e.sibling}return null}var h=Object.assign,g=Symbol.for(`react.element`),_=Symbol.for(`react.transitional.element`),v=Symbol.for(`react.portal`),y=Symbol.for(`react.fragment`),b=Symbol.for(`react.strict_mode`),x=Symbol.for(`react.profiler`),S=Symbol.for(`react.consumer`),C=Symbol.for(`react.context`),w=Symbol.for(`react.forward_ref`),T=Symbol.for(`react.suspense`),E=Symbol.for(`react.suspense_list`),D=Symbol.for(`react.memo`),O=Symbol.for(`react.lazy`),ee=Symbol.for(`react.activity`),te=Symbol.for(`react.memo_cache_sentinel`),ne=Symbol.iterator;function k(e){return typeof e!=`object`||!e?null:(e=ne&&e[ne]||e[`@@iterator`],typeof e==`function`?e:null)}var A=Symbol.for(`react.client.reference`);function re(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===A?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case y:return`Fragment`;case x:return`Profiler`;case b:return`StrictMode`;case T:return`Suspense`;case E:return`SuspenseList`;case ee:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case v:return`Portal`;case C:return e.displayName||`Context`;case S:return(e._context.displayName||`Context`)+`.Consumer`;case w:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case D:return t=e.displayName||null,t===null?re(e.type)||`Memo`:t;case O:t=e._payload,e=e._init;try{return re(e(t))}catch{}}return null}var j=Array.isArray,M=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,N=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,P={pending:!1,data:null,method:null,action:null},ie=[],F=-1;function I(e){return{current:e}}function L(e){0>F||(e.current=ie[F],ie[F]=null,F--)}function R(e,t){F++,ie[F]=e.current,e.current=t}var ae=I(null),oe=I(null),se=I(null),ce=I(null);function le(e,t){switch(R(se,t),R(oe,e),R(ae,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Vd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Vd(t),e=Hd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}L(ae),R(ae,e)}function z(){L(ae),L(oe),L(se)}function B(e){e.memoizedState!==null&&R(ce,e);var t=ae.current,n=Hd(t,e.type);t!==n&&(R(oe,e),R(ae,n))}function ue(e){oe.current===e&&(L(ae),L(oe)),ce.current===e&&(L(ce),Qf._currentValue=P)}var de,fe;function pe(e){if(de===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);de=t&&t[1]||``,fe=-1<e.stack.indexOf(`
|
||
at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return`
|
||
`+de+e+fe}var me=!1;function he(e,t){if(!e||me)return``;me=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){r=e}e.call(n.prototype)}}else{try{throw Error()}catch(e){r=e}(n=e())&&typeof n.catch==`function`&&n.catch(function(){})}}catch(e){if(e&&r&&typeof e.stack==`string`)return[e.stack,r.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`;var i=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`);i&&i.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:`DetermineComponentFrameRoot`});var a=r.DetermineComponentFrameRoot(),o=a[0],s=a[1];if(o&&s){var c=o.split(`
|
||
`),l=s.split(`
|
||
`);for(i=r=0;r<c.length&&!c[r].includes(`DetermineComponentFrameRoot`);)r++;for(;i<l.length&&!l[i].includes(`DetermineComponentFrameRoot`);)i++;if(r===c.length||i===l.length)for(r=c.length-1,i=l.length-1;1<=r&&0<=i&&c[r]!==l[i];)i--;for(;1<=r&&0<=i;r--,i--)if(c[r]!==l[i]){if(r!==1||i!==1)do if(r--,i--,0>i||c[r]!==l[i]){var u=`
|
||
`+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(`<anonymous>`)&&(u=u.replace(`<anonymous>`,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{me=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?pe(n):``}function ge(e,t){switch(e.tag){case 26:case 27:case 5:return pe(e.type);case 16:return pe(`Lazy`);case 13:return e.child!==t&&t!==null?pe(`Suspense Fallback`):pe(`Suspense`);case 19:return pe(`SuspenseList`);case 0:case 15:return he(e.type,!1);case 11:return he(e.type.render,!1);case 1:return he(e.type,!0);case 31:return pe(`Activity`);default:return``}}function _e(e){try{var t=``,n=null;do t+=ge(e,n),n=e,e=e.return;while(e);return t}catch(e){return`
|
||
Error generating stack: `+e.message+`
|
||
`+e.stack}}var ve=Object.prototype.hasOwnProperty,ye=t.unstable_scheduleCallback,be=t.unstable_cancelCallback,xe=t.unstable_shouldYield,V=t.unstable_requestPaint,Se=t.unstable_now,Ce=t.unstable_getCurrentPriorityLevel,we=t.unstable_ImmediatePriority,H=t.unstable_UserBlockingPriority,U=t.unstable_NormalPriority,Te=t.unstable_LowPriority,Ee=t.unstable_IdlePriority,De=t.log,Oe=t.unstable_setDisableYieldValue,ke=null,Ae=null;function je(e){if(typeof De==`function`&&Oe(e),Ae&&typeof Ae.setStrictMode==`function`)try{Ae.setStrictMode(ke,e)}catch{}}var Me=Math.clz32?Math.clz32:Fe,Ne=Math.log,Pe=Math.LN2;function Fe(e){return e>>>=0,e===0?32:31-(Ne(e)/Pe|0)|0}var Ie=256,Le=262144,Re=4194304;function ze(e){var t=e&42;if(t!==0)return t;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 Be(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=ze(n))):i=ze(o):i=ze(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=ze(n))):i=ze(o)):i=ze(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function Ve(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function He(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+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 t+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 Ue(){var e=Re;return Re<<=1,!(Re&62914560)&&(Re=4194304),e}function We(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Ge(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Ke(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0<n;){var u=31-Me(n),d=1<<u;s[u]=0,c[u]=-1;var f=l[u];if(f!==null)for(l[u]=null,u=0;u<f.length;u++){var p=f[u];p!==null&&(p.lane&=-536870913)}n&=~d}r!==0&&qe(e,r,0),a!==0&&i===0&&e.tag!==0&&(e.suspendedLanes|=a&~(o&~t))}function qe(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-Me(t);e.entangledLanes|=t,e.entanglements[r]=e.entanglements[r]|1073741824|n&261930}function Je(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-Me(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}function Ye(e,t){var n=t&-t;return n=n&42?1:Xe(n),(n&(e.suspendedLanes|t))===0?n:0}function Xe(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 Ze(e){return e&=-e,2<e?8<e?e&134217727?32:268435456:8:2}function Qe(){var e=N.p;return e===0?(e=window.event,e===void 0?32:mp(e.type)):e}function $e(e,t){var n=N.p;try{return N.p=e,t()}finally{N.p=n}}var et=Math.random().toString(36).slice(2),tt=`__reactFiber$`+et,nt=`__reactProps$`+et,rt=`__reactContainer$`+et,it=`__reactEvents$`+et,at=`__reactListeners$`+et,ot=`__reactHandles$`+et,st=`__reactResources$`+et,ct=`__reactMarker$`+et;function lt(e){delete e[tt],delete e[nt],delete e[it],delete e[at],delete e[ot]}function ut(e){var t=e[tt];if(t)return t;for(var n=e.parentNode;n;){if(t=n[rt]||n[tt]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=df(e);e!==null;){if(n=e[tt])return n;e=df(e)}return t}e=n,n=e.parentNode}return null}function dt(e){if(e=e[tt]||e[rt]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function ft(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(i(33))}function pt(e){var t=e[st];return t||=e[st]={hoistableStyles:new Map,hoistableScripts:new Map},t}function mt(e){e[ct]=!0}var ht=new Set,gt={};function _t(e,t){vt(e,t),vt(e+`Capture`,t)}function vt(e,t){for(gt[e]=t,e=0;e<t.length;e++)ht.add(t[e])}var yt=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]*$`),bt={},xt={};function St(e){return ve.call(xt,e)?!0:ve.call(bt,e)?!1:yt.test(e)?xt[e]=!0:(bt[e]=!0,!1)}function Ct(e,t,n){if(St(t))if(n===null)e.removeAttribute(t);else{switch(typeof n){case`undefined`:case`function`:case`symbol`:e.removeAttribute(t);return;case`boolean`:var r=t.toLowerCase().slice(0,5);if(r!==`data-`&&r!==`aria-`){e.removeAttribute(t);return}}e.setAttribute(t,``+n)}}function wt(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case`undefined`:case`function`:case`symbol`:case`boolean`:e.removeAttribute(t);return}e.setAttribute(t,``+n)}}function Tt(e,t,n,r){if(r===null)e.removeAttribute(n);else{switch(typeof r){case`undefined`:case`function`:case`symbol`:case`boolean`:e.removeAttribute(n);return}e.setAttributeNS(t,n,``+r)}}function Et(e){switch(typeof e){case`bigint`:case`boolean`:case`number`:case`string`:case`undefined`:return e;case`object`:return e;default:return``}}function Dt(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===`input`&&(t===`checkbox`||t===`radio`)}function Ot(e,t,n){var r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&r!==void 0&&typeof r.get==`function`&&typeof r.set==`function`){var i=r.get,a=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){n=``+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(e){n=``+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function kt(e){if(!e._valueTracker){var t=Dt(e)?`checked`:`value`;e._valueTracker=Ot(e,t,``+e[t])}}function At(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=``;return e&&(r=Dt(e)?e.checked?`true`:`false`:e.value),e=r,e===n?!1:(t.setValue(e),!0)}function jt(e){if(e||=typeof document<`u`?document:void 0,e===void 0)return null;try{return e.activeElement||e.body}catch{return e.body}}var Mt=/[\n"\\]/g;function Nt(e){return e.replace(Mt,function(e){return`\\`+e.charCodeAt(0).toString(16)+` `})}function Pt(e,t,n,r,i,a,o,s){e.name=``,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`?e.type=o:e.removeAttribute(`type`),t==null?o!==`submit`&&o!==`reset`||e.removeAttribute(`value`):o===`number`?(t===0&&e.value===``||e.value!=t)&&(e.value=``+Et(t)):e.value!==``+Et(t)&&(e.value=``+Et(t)),t==null?n==null?r!=null&&e.removeAttribute(`value`):It(e,o,Et(n)):It(e,o,Et(t)),i==null&&a!=null&&(e.defaultChecked=!!a),i!=null&&(e.checked=i&&typeof i!=`function`&&typeof i!=`symbol`),s!=null&&typeof s!=`function`&&typeof s!=`symbol`&&typeof s!=`boolean`?e.name=``+Et(s):e.removeAttribute(`name`)}function Ft(e,t,n,r,i,a,o,s){if(a!=null&&typeof a!=`function`&&typeof a!=`symbol`&&typeof a!=`boolean`&&(e.type=a),t!=null||n!=null){if(!(a!==`submit`&&a!==`reset`||t!=null)){kt(e);return}n=n==null?``:``+Et(n),t=t==null?n:``+Et(t),s||t===e.value||(e.value=t),e.defaultValue=t}r??=i,r=typeof r!=`function`&&typeof r!=`symbol`&&!!r,e.checked=s?e.checked:!!r,e.defaultChecked=!!r,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`&&(e.name=o),kt(e)}function It(e,t,n){t===`number`&&jt(e.ownerDocument)===e||e.defaultValue===``+n||(e.defaultValue=``+n)}function Lt(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t[`$`+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty(`$`+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=``+Et(n),t=null,i=0;i<e.length;i++){if(e[i].value===n){e[i].selected=!0,r&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function Rt(e,t,n){if(t!=null&&(t=``+Et(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n==null?``:``+Et(n)}function zt(e,t,n,r){if(t==null){if(r!=null){if(n!=null)throw Error(i(92));if(j(r)){if(1<r.length)throw Error(i(93));r=r[0]}n=r}n??=``,t=n}n=Et(t),e.defaultValue=n,r=e.textContent,r===n&&r!==``&&r!==null&&(e.value=r),kt(e)}function Bt(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Vt=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 Ht(e,t,n){var r=t.indexOf(`--`)===0;n==null||typeof n==`boolean`||n===``?r?e.setProperty(t,``):t===`float`?e.cssFloat=``:e[t]=``:r?e.setProperty(t,n):typeof n!=`number`||n===0||Vt.has(t)?t===`float`?e.cssFloat=n:e[t]=(``+n).trim():e[t]=n+`px`}function Ut(e,t,n){if(t!=null&&typeof t!=`object`)throw Error(i(62));if(e=e.style,n!=null){for(var r in n)!n.hasOwnProperty(r)||t!=null&&t.hasOwnProperty(r)||(r.indexOf(`--`)===0?e.setProperty(r,``):r===`float`?e.cssFloat=``:e[r]=``);for(var a in t)r=t[a],t.hasOwnProperty(a)&&n[a]!==r&&Ht(e,a,r)}else for(var o in t)t.hasOwnProperty(o)&&Ht(e,o,t[o])}function Wt(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 Gt=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`]]),Kt=/^[\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 qt(e){return Kt.test(``+e)?`javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')`:e}function Jt(){}var Yt=null;function Xt(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Zt=null,Qt=null;function $t(e){var t=dt(e);if(t&&(e=t.stateNode)){var n=e[nt]||null;a:switch(e=t.stateNode,t.type){case`input`:if(Pt(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type===`radio`&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll(`input[name="`+Nt(``+t)+`"][type="radio"]`),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var a=r[nt]||null;if(!a)throw Error(i(90));Pt(r,a.value,a.defaultValue,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name)}}for(t=0;t<n.length;t++)r=n[t],r.form===e.form&&At(r)}break a;case`textarea`:Rt(e,n.value,n.defaultValue);break a;case`select`:t=n.value,t!=null&&Lt(e,!!n.multiple,t,!1)}}}var en=!1;function tn(e,t,n){if(en)return e(t,n);en=!0;try{return e(t)}finally{if(en=!1,(Zt!==null||Qt!==null)&&(bu(),Zt&&(t=Zt,e=Qt,Qt=Zt=null,$t(t),e)))for(t=0;t<e.length;t++)$t(e[t])}}function nn(e,t){var n=e.stateNode;if(n===null)return null;var r=n[nt]||null;if(r===null)return null;n=r[t];a:switch(t){case`onClick`:case`onClickCapture`:case`onDoubleClick`:case`onDoubleClickCapture`:case`onMouseDown`:case`onMouseDownCapture`:case`onMouseMove`:case`onMouseMoveCapture`:case`onMouseUp`:case`onMouseUpCapture`:case`onMouseEnter`:(r=!r.disabled)||(e=e.type,r=!(e===`button`||e===`input`||e===`select`||e===`textarea`)),e=!r;break a;default:e=!1}if(e)return null;if(n&&typeof n!=`function`)throw Error(i(231,t,typeof n));return n}var rn=!(typeof window>`u`||window.document===void 0||window.document.createElement===void 0),an=!1;if(rn)try{var on={};Object.defineProperty(on,"passive",{get:function(){an=!0}}),window.addEventListener(`test`,on,on),window.removeEventListener(`test`,on,on)}catch{an=!1}var sn=null,cn=null,ln=null;function un(){if(ln)return ln;var e,t=cn,n=t.length,r,i=`value`in sn?sn.value:sn.textContent,a=i.length;for(e=0;e<n&&t[e]===i[e];e++);var o=n-e;for(r=1;r<=o&&t[n-r]===i[a-r];r++);return ln=i.slice(e,1<r?1-r:void 0)}function dn(e){var t=e.keyCode;return`charCode`in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function fn(){return!0}function pn(){return!1}function mn(e){function t(t,n,r,i,a){for(var o in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=i,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(o)&&(t=e[o],this[o]=t?t(i):i[o]);return this.isDefaultPrevented=(i.defaultPrevented==null?!1===i.returnValue:i.defaultPrevented)?fn:pn,this.isPropagationStopped=pn,this}return h(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():typeof e.returnValue!=`unknown`&&(e.returnValue=!1),this.isDefaultPrevented=fn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():typeof e.cancelBubble!=`unknown`&&(e.cancelBubble=!0),this.isPropagationStopped=fn)},persist:function(){},isPersistent:fn}),t}var hn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},gn=mn(hn),_n=h({},hn,{view:0,detail:0}),vn=mn(_n),yn,bn,xn,Sn=h({},_n,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Nn,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!==xn&&(xn&&e.type===`mousemove`?(yn=e.screenX-xn.screenX,bn=e.screenY-xn.screenY):bn=yn=0,xn=e),yn)},movementY:function(e){return`movementY`in e?e.movementY:bn}}),Cn=mn(Sn),wn=mn(h({},Sn,{dataTransfer:0})),Tn=mn(h({},_n,{relatedTarget:0})),En=mn(h({},hn,{animationName:0,elapsedTime:0,pseudoElement:0})),Dn=mn(h({},hn,{clipboardData:function(e){return`clipboardData`in e?e.clipboardData:window.clipboardData}})),On=mn(h({},hn,{data:0})),kn={Esc:`Escape`,Spacebar:` `,Left:`ArrowLeft`,Up:`ArrowUp`,Right:`ArrowRight`,Down:`ArrowDown`,Del:`Delete`,Win:`OS`,Menu:`ContextMenu`,Apps:`ContextMenu`,Scroll:`ScrollLock`,MozPrintableKey:`Unidentified`},An={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`},jn={Alt:`altKey`,Control:`ctrlKey`,Meta:`metaKey`,Shift:`shiftKey`};function Mn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=jn[e])?!!t[e]:!1}function Nn(){return Mn}var Pn=mn(h({},_n,{key:function(e){if(e.key){var t=kn[e.key]||e.key;if(t!==`Unidentified`)return t}return e.type===`keypress`?(e=dn(e),e===13?`Enter`:String.fromCharCode(e)):e.type===`keydown`||e.type===`keyup`?An[e.keyCode]||`Unidentified`:``},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Nn,charCode:function(e){return e.type===`keypress`?dn(e):0},keyCode:function(e){return e.type===`keydown`||e.type===`keyup`?e.keyCode:0},which:function(e){return e.type===`keypress`?dn(e):e.type===`keydown`||e.type===`keyup`?e.keyCode:0}})),Fn=mn(h({},Sn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),In=mn(h({},_n,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Nn})),Ln=mn(h({},hn,{propertyName:0,elapsedTime:0,pseudoElement:0})),Rn=mn(h({},Sn,{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})),zn=mn(h({},hn,{newState:0,oldState:0})),Bn=[9,13,27,32],Vn=rn&&`CompositionEvent`in window,Hn=null;rn&&`documentMode`in document&&(Hn=document.documentMode);var Un=rn&&`TextEvent`in window&&!Hn,Wn=rn&&(!Vn||Hn&&8<Hn&&11>=Hn),Gn=` `,Kn=!1;function qn(e,t){switch(e){case`keyup`:return Bn.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function Jn(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var Yn=!1;function Xn(e,t){switch(e){case`compositionend`:return Jn(t);case`keypress`:return t.which===32?(Kn=!0,Gn):null;case`textInput`:return e=t.data,e===Gn&&Kn?null:e;default:return null}}function Zn(e,t){if(Yn)return e===`compositionend`||!Vn&&qn(e,t)?(e=un(),ln=cn=sn=null,Yn=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case`compositionend`:return Wn&&t.locale!==`ko`?null:t.data;default:return null}}var Qn={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 $n(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t===`input`?!!Qn[e.type]:t===`textarea`}function er(e,t,n,r){Zt?Qt?Qt.push(r):Qt=[r]:Zt=r,t=Ed(t,`onChange`),0<t.length&&(n=new gn(`onChange`,`change`,null,n,r),e.push({event:n,listeners:t}))}var tr=null,nr=null;function rr(e){yd(e,0)}function ir(e){if(At(ft(e)))return e}function ar(e,t){if(e===`change`)return t}var or=!1;if(rn){var sr;if(rn){var cr=`oninput`in document;if(!cr){var lr=document.createElement(`div`);lr.setAttribute(`oninput`,`return;`),cr=typeof lr.oninput==`function`}sr=cr}else sr=!1;or=sr&&(!document.documentMode||9<document.documentMode)}function ur(){tr&&(tr.detachEvent(`onpropertychange`,dr),nr=tr=null)}function dr(e){if(e.propertyName===`value`&&ir(nr)){var t=[];er(t,nr,e,Xt(e)),tn(rr,t)}}function fr(e,t,n){e===`focusin`?(ur(),tr=t,nr=n,tr.attachEvent(`onpropertychange`,dr)):e===`focusout`&&ur()}function pr(e){if(e===`selectionchange`||e===`keyup`||e===`keydown`)return ir(nr)}function mr(e,t){if(e===`click`)return ir(t)}function hr(e,t){if(e===`input`||e===`change`)return ir(t)}function gr(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var _r=typeof Object.is==`function`?Object.is:gr;function vr(e,t){if(_r(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var i=n[r];if(!ve.call(t,i)||!_r(e[i],t[i]))return!1}return!0}function yr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function br(e,t){var n=yr(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=yr(n)}}function xr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?xr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Sr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=jt(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=jt(e.document)}return t}function Cr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var wr=rn&&`documentMode`in document&&11>=document.documentMode,Tr=null,Er=null,Dr=null,Or=!1;function kr(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Or||Tr==null||Tr!==jt(r)||(r=Tr,`selectionStart`in r&&Cr(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}),Dr&&vr(Dr,r)||(Dr=r,r=Ed(Er,`onSelect`),0<r.length&&(t=new gn(`onSelect`,`select`,null,t,n),e.push({event:t,listeners:r}),t.target=Tr)))}function Ar(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[`Webkit`+e]=`webkit`+t,n[`Moz`+e]=`moz`+t,n}var jr={animationend:Ar(`Animation`,`AnimationEnd`),animationiteration:Ar(`Animation`,`AnimationIteration`),animationstart:Ar(`Animation`,`AnimationStart`),transitionrun:Ar(`Transition`,`TransitionRun`),transitionstart:Ar(`Transition`,`TransitionStart`),transitioncancel:Ar(`Transition`,`TransitionCancel`),transitionend:Ar(`Transition`,`TransitionEnd`)},Mr={},Nr={};rn&&(Nr=document.createElement(`div`).style,`AnimationEvent`in window||(delete jr.animationend.animation,delete jr.animationiteration.animation,delete jr.animationstart.animation),`TransitionEvent`in window||delete jr.transitionend.transition);function Pr(e){if(Mr[e])return Mr[e];if(!jr[e])return e;var t=jr[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in Nr)return Mr[e]=t[n];return e}var Fr=Pr(`animationend`),Ir=Pr(`animationiteration`),Lr=Pr(`animationstart`),Rr=Pr(`transitionrun`),zr=Pr(`transitionstart`),Br=Pr(`transitioncancel`),Vr=Pr(`transitionend`),Hr=new Map,Ur=`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(` `);Ur.push(`scrollEnd`);function Wr(e,t){Hr.set(e,t),_t(t,[e])}var Gr=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},Kr=[],qr=0,Jr=0;function Yr(){for(var e=qr,t=Jr=qr=0;t<e;){var n=Kr[t];Kr[t++]=null;var r=Kr[t];Kr[t++]=null;var i=Kr[t];Kr[t++]=null;var a=Kr[t];if(Kr[t++]=null,r!==null&&i!==null){var o=r.pending;o===null?i.next=i:(i.next=o.next,o.next=i),r.pending=i}a!==0&&$r(n,i,a)}}function Xr(e,t,n,r){Kr[qr++]=e,Kr[qr++]=t,Kr[qr++]=n,Kr[qr++]=r,Jr|=r,e.lanes|=r,e=e.alternate,e!==null&&(e.lanes|=r)}function Zr(e,t,n,r){return Xr(e,t,n,r),ei(e)}function Qr(e,t){return Xr(e,null,null,t),ei(e)}function $r(e,t,n){e.lanes|=n;var r=e.alternate;r!==null&&(r.lanes|=n);for(var i=!1,a=e.return;a!==null;)a.childLanes|=n,r=a.alternate,r!==null&&(r.childLanes|=n),a.tag===22&&(e=a.stateNode,e===null||e._visibility&1||(i=!0)),e=a,a=a.return;return e.tag===3?(a=e.stateNode,i&&t!==null&&(i=31-Me(n),e=a.hiddenUpdates,r=e[i],r===null?e[i]=[t]:r.push(t),t.lane=n|536870912),a):null}function ei(e){if(50<du)throw du=0,fu=null,Error(i(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var ti={};function ni(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function ri(e,t,n,r){return new ni(e,t,n,r)}function ii(e){return e=e.prototype,!(!e||!e.isReactComponent)}function ai(e,t){var n=e.alternate;return n===null?(n=ri(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&65011712,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function oi(e,t){e.flags&=65011714;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function si(e,t,n,r,a,o){var s=0;if(r=e,typeof e==`function`)ii(e)&&(s=1);else if(typeof e==`string`)s=Uf(e,n,ae.current)?26:e===`html`||e===`head`||e===`body`?27:5;else a:switch(e){case ee:return e=ri(31,n,t,a),e.elementType=ee,e.lanes=o,e;case y:return ci(n.children,a,o,t);case b:s=8,a|=24;break;case x:return e=ri(12,n,t,a|2),e.elementType=x,e.lanes=o,e;case T:return e=ri(13,n,t,a),e.elementType=T,e.lanes=o,e;case E:return e=ri(19,n,t,a),e.elementType=E,e.lanes=o,e;default:if(typeof e==`object`&&e)switch(e.$$typeof){case C:s=10;break a;case S:s=9;break a;case w:s=11;break a;case D:s=14;break a;case O:s=16,r=null;break a}s=29,n=Error(i(130,e===null?`null`:typeof e,``)),r=null}return t=ri(s,n,t,a),t.elementType=e,t.type=r,t.lanes=o,t}function ci(e,t,n,r){return e=ri(7,e,r,t),e.lanes=n,e}function li(e,t,n){return e=ri(6,e,null,t),e.lanes=n,e}function ui(e){var t=ri(18,null,null,0);return t.stateNode=e,t}function di(e,t,n){return t=ri(4,e.children===null?[]:e.children,e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var fi=new WeakMap;function pi(e,t){if(typeof e==`object`&&e){var n=fi.get(e);return n===void 0?(t={value:e,source:t,stack:_e(t)},fi.set(e,t),t):n}return{value:e,source:t,stack:_e(t)}}var mi=[],hi=0,gi=null,_i=0,vi=[],yi=0,bi=null,xi=1,Si=``;function Ci(e,t){mi[hi++]=_i,mi[hi++]=gi,gi=e,_i=t}function wi(e,t,n){vi[yi++]=xi,vi[yi++]=Si,vi[yi++]=bi,bi=e;var r=xi;e=Si;var i=32-Me(r)-1;r&=~(1<<i),n+=1;var a=32-Me(t)+i;if(30<a){var o=i-i%5;a=(r&(1<<o)-1).toString(32),r>>=o,i-=o,xi=1<<32-Me(t)+i|n<<i|r,Si=a+e}else xi=1<<a|n<<i|r,Si=e}function Ti(e){e.return!==null&&(Ci(e,1),wi(e,1,0))}function Ei(e){for(;e===gi;)gi=mi[--hi],mi[hi]=null,_i=mi[--hi],mi[hi]=null;for(;e===bi;)bi=vi[--yi],vi[yi]=null,Si=vi[--yi],vi[yi]=null,xi=vi[--yi],vi[yi]=null}function Di(e,t){vi[yi++]=xi,vi[yi++]=Si,vi[yi++]=bi,xi=t.id,Si=t.overflow,bi=e}var Oi=null,ki=null,W=!1,Ai=null,ji=!1,Mi=Error(i(519));function Ni(e){throw zi(pi(Error(i(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?`text`:`HTML`,``)),e)),Mi}function Pi(e){var t=e.stateNode,n=e.type,r=e.memoizedProps;switch(t[tt]=e,t[nt]=r,n){case`dialog`:Q(`cancel`,t),Q(`close`,t);break;case`iframe`:case`object`:case`embed`:Q(`load`,t);break;case`video`:case`audio`:for(n=0;n<_d.length;n++)Q(_d[n],t);break;case`source`:Q(`error`,t);break;case`img`:case`image`:case`link`:Q(`error`,t),Q(`load`,t);break;case`details`:Q(`toggle`,t);break;case`input`:Q(`invalid`,t),Ft(t,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0);break;case`select`:Q(`invalid`,t);break;case`textarea`:Q(`invalid`,t),zt(t,r.value,r.defaultValue,r.children)}n=r.children,typeof n!=`string`&&typeof n!=`number`&&typeof n!=`bigint`||t.textContent===``+n||!0===r.suppressHydrationWarning||Md(t.textContent,n)?(r.popover!=null&&(Q(`beforetoggle`,t),Q(`toggle`,t)),r.onScroll!=null&&Q(`scroll`,t),r.onScrollEnd!=null&&Q(`scrollend`,t),r.onClick!=null&&(t.onclick=Jt),t=!0):t=!1,t||Ni(e,!0)}function Fi(e){for(Oi=e.return;Oi;)switch(Oi.tag){case 5:case 31:case 13:ji=!1;return;case 27:case 3:ji=!0;return;default:Oi=Oi.return}}function Ii(e){if(e!==Oi)return!1;if(!W)return Fi(e),W=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=!(n!==`form`&&n!==`button`)||Ud(e.type,e.memoizedProps)),n=!n),n&&ki&&Ni(e),Fi(e),t===13){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(317));ki=uf(e)}else if(t===31){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(317));ki=uf(e)}else t===27?(t=ki,Zd(e.type)?(e=lf,lf=null,ki=e):ki=t):ki=Oi?cf(e.stateNode.nextSibling):null;return!0}function Li(){ki=Oi=null,W=!1}function Ri(){var e=Ai;return e!==null&&(Zl===null?Zl=e:Zl.push.apply(Zl,e),Ai=null),e}function zi(e){Ai===null?Ai=[e]:Ai.push(e)}var Bi=I(null),Vi=null,Hi=null;function Ui(e,t,n){R(Bi,t._currentValue),t._currentValue=n}function Wi(e){e._currentValue=Bi.current,L(Bi)}function Gi(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)===t?r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t):(e.childLanes|=t,r!==null&&(r.childLanes|=t)),e===n)break;e=e.return}}function Ki(e,t,n,r){var a=e.child;for(a!==null&&(a.return=e);a!==null;){var o=a.dependencies;if(o!==null){var s=a.child;o=o.firstContext;a:for(;o!==null;){var c=o;o=a;for(var l=0;l<t.length;l++)if(c.context===t[l]){o.lanes|=n,c=o.alternate,c!==null&&(c.lanes|=n),Gi(o.return,n,e),r||(s=null);break a}o=c.next}}else if(a.tag===18){if(s=a.return,s===null)throw Error(i(341));s.lanes|=n,o=s.alternate,o!==null&&(o.lanes|=n),Gi(s,n,e),s=null}else s=a.child;if(s!==null)s.return=a;else for(s=a;s!==null;){if(s===e){s=null;break}if(a=s.sibling,a!==null){a.return=s.return,s=a;break}s=s.return}a=s}}function qi(e,t,n,r){e=null;for(var a=t,o=!1;a!==null;){if(!o){if(a.flags&524288)o=!0;else if(a.flags&262144)break}if(a.tag===10){var s=a.alternate;if(s===null)throw Error(i(387));if(s=s.memoizedProps,s!==null){var c=a.type;_r(a.pendingProps.value,s.value)||(e===null?e=[c]:e.push(c))}}else if(a===ce.current){if(s=a.alternate,s===null)throw Error(i(387));s.memoizedState.memoizedState!==a.memoizedState.memoizedState&&(e===null?e=[Qf]:e.push(Qf))}a=a.return}e!==null&&Ki(t,e,n,r),t.flags|=262144}function Ji(e){for(e=e.firstContext;e!==null;){if(!_r(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function Yi(e){Vi=e,Hi=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function Xi(e){return Qi(Vi,e)}function Zi(e,t){return Vi===null&&Yi(e),Qi(e,t)}function Qi(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},Hi===null){if(e===null)throw Error(i(308));Hi=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else Hi=Hi.next=t;return n}var $i=typeof AbortController<`u`?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(t,n){e.push(n)}};this.abort=function(){t.aborted=!0,e.forEach(function(e){return e()})}},ea=t.unstable_scheduleCallback,ta=t.unstable_NormalPriority,na={$$typeof:C,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function ra(){return{controller:new $i,data:new Map,refCount:0}}function ia(e){e.refCount--,e.refCount===0&&ea(ta,function(){e.controller.abort()})}var aa=null,oa=0,sa=0,ca=null;function la(e,t){if(aa===null){var n=aa=[];oa=0,sa=dd(),ca={status:`pending`,value:void 0,then:function(e){n.push(e)}}}return oa++,t.then(ua,ua),t}function ua(){if(--oa===0&&aa!==null){ca!==null&&(ca.status=`fulfilled`);var e=aa;aa=null,sa=0,ca=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function da(e,t){var n=[],r={status:`pending`,value:null,reason:null,then:function(e){n.push(e)}};return e.then(function(){r.status=`fulfilled`,r.value=t;for(var e=0;e<n.length;e++)(0,n[e])(t)},function(e){for(r.status=`rejected`,r.reason=e,e=0;e<n.length;e++)(0,n[e])(void 0)}),r}var fa=M.S;M.S=function(e,t){eu=Se(),typeof t==`object`&&t&&typeof t.then==`function`&&la(e,t),fa!==null&&fa(e,t)};var pa=I(null);function ma(){var e=pa.current;return e===null?Rl.pooledCache:e}function ha(e,t){t===null?R(pa,pa.current):R(pa,t.pool)}function ga(){var e=ma();return e===null?null:{parent:na._currentValue,pool:e}}var _a=Error(i(460)),va=Error(i(474)),ya=Error(i(542)),ba={then:function(){}};function xa(e){return e=e.status,e===`fulfilled`||e===`rejected`}function Sa(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(Jt,Jt),t=n),t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,Ea(e),e;default:if(typeof t.status==`string`)t.then(Jt,Jt);else{if(e=Rl,e!==null&&100<e.shellSuspendCounter)throw Error(i(482));e=t,e.status=`pending`,e.then(function(e){if(t.status===`pending`){var n=t;n.status=`fulfilled`,n.value=e}},function(e){if(t.status===`pending`){var n=t;n.status=`rejected`,n.reason=e}})}switch(t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,Ea(e),e}throw wa=t,_a}}function Ca(e){try{var t=e._init;return t(e._payload)}catch(e){throw typeof e==`object`&&e&&typeof e.then==`function`?(wa=e,_a):e}}var wa=null;function Ta(){if(wa===null)throw Error(i(459));var e=wa;return wa=null,e}function Ea(e){if(e===_a||e===ya)throw Error(i(483))}var Da=null,Oa=0;function ka(e){var t=Oa;return Oa+=1,Da===null&&(Da=[]),Sa(Da,e,t)}function Aa(e,t){t=t.props.ref,e.ref=t===void 0?null:t}function ja(e,t){throw t.$$typeof===g?Error(i(525)):(e=Object.prototype.toString.call(t),Error(i(31,e===`[object Object]`?`object with keys {`+Object.keys(t).join(`, `)+`}`:e)))}function Ma(e){function t(t,n){if(e){var r=t.deletions;r===null?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;r!==null;)t(n,r),r=r.sibling;return null}function r(e){for(var t=new Map;e!==null;)e.key===null?t.set(e.index,e):t.set(e.key,e),e=e.sibling;return t}function a(e,t){return e=ai(e,t),e.index=0,e.sibling=null,e}function o(t,n,r){return t.index=r,e?(r=t.alternate,r===null?(t.flags|=67108866,n):(r=r.index,r<n?(t.flags|=67108866,n):r)):(t.flags|=1048576,n)}function s(t){return e&&t.alternate===null&&(t.flags|=67108866),t}function c(e,t,n,r){return t===null||t.tag!==6?(t=li(n,e.mode,r),t.return=e,t):(t=a(t,n),t.return=e,t)}function l(e,t,n,r){var i=n.type;return i===y?d(e,t,n.props.children,r,n.key):t!==null&&(t.elementType===i||typeof i==`object`&&i&&i.$$typeof===O&&Ca(i)===t.type)?(t=a(t,n.props),Aa(t,n),t.return=e,t):(t=si(n.type,n.key,n.props,null,e.mode,r),Aa(t,n),t.return=e,t)}function u(e,t,n,r){return t===null||t.tag!==4||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?(t=di(n,e.mode,r),t.return=e,t):(t=a(t,n.children||[]),t.return=e,t)}function d(e,t,n,r,i){return t===null||t.tag!==7?(t=ci(n,e.mode,r,i),t.return=e,t):(t=a(t,n),t.return=e,t)}function f(e,t,n){if(typeof t==`string`&&t!==``||typeof t==`number`||typeof t==`bigint`)return t=li(``+t,e.mode,n),t.return=e,t;if(typeof t==`object`&&t){switch(t.$$typeof){case _:return n=si(t.type,t.key,t.props,null,e.mode,n),Aa(n,t),n.return=e,n;case v:return t=di(t,e.mode,n),t.return=e,t;case O:return t=Ca(t),f(e,t,n)}if(j(t)||k(t))return t=ci(t,e.mode,n,null),t.return=e,t;if(typeof t.then==`function`)return f(e,ka(t),n);if(t.$$typeof===C)return f(e,Zi(e,t),n);ja(e,t)}return null}function p(e,t,n,r){var i=t===null?null:t.key;if(typeof n==`string`&&n!==``||typeof n==`number`||typeof n==`bigint`)return i===null?c(e,t,``+n,r):null;if(typeof n==`object`&&n){switch(n.$$typeof){case _:return n.key===i?l(e,t,n,r):null;case v:return n.key===i?u(e,t,n,r):null;case O:return n=Ca(n),p(e,t,n,r)}if(j(n)||k(n))return i===null?d(e,t,n,r,null):null;if(typeof n.then==`function`)return p(e,t,ka(n),r);if(n.$$typeof===C)return p(e,t,Zi(e,n),r);ja(e,n)}return null}function m(e,t,n,r,i){if(typeof r==`string`&&r!==``||typeof r==`number`||typeof r==`bigint`)return e=e.get(n)||null,c(t,e,``+r,i);if(typeof r==`object`&&r){switch(r.$$typeof){case _:return e=e.get(r.key===null?n:r.key)||null,l(t,e,r,i);case v:return e=e.get(r.key===null?n:r.key)||null,u(t,e,r,i);case O:return r=Ca(r),m(e,t,n,r,i)}if(j(r)||k(r))return e=e.get(n)||null,d(t,e,r,i,null);if(typeof r.then==`function`)return m(e,t,n,ka(r),i);if(r.$$typeof===C)return m(e,t,n,Zi(t,r),i);ja(t,r)}return null}function h(i,a,s,c){for(var l=null,u=null,d=a,h=a=0,g=null;d!==null&&h<s.length;h++){d.index>h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),W&&Ci(i,h),l;if(d===null){for(;h<s.length;h++)d=f(i,s[h],c),d!==null&&(a=o(d,a,h),u===null?l=d:u.sibling=d,u=d);return W&&Ci(i,h),l}for(d=r(d);h<s.length;h++)g=m(d,i,h,s[h],c),g!==null&&(e&&g.alternate!==null&&d.delete(g.key===null?h:g.key),a=o(g,a,h),u===null?l=g:u.sibling=g,u=g);return e&&d.forEach(function(e){return t(i,e)}),W&&Ci(i,h),l}function g(a,s,c,l){if(c==null)throw Error(i(151));for(var u=null,d=null,h=s,g=s=0,_=null,v=c.next();h!==null&&!v.done;g++,v=c.next()){h.index>g?(_=h,h=null):_=h.sibling;var y=p(a,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(a,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(a,h),W&&Ci(a,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(a,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return W&&Ci(a,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,a,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(a,e)}),W&&Ci(a,g),u}function b(e,r,o,c){if(typeof o==`object`&&o&&o.type===y&&o.key===null&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case _:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===y){if(r.tag===7){n(e,r.sibling),c=a(r,o.props.children),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===O&&Ca(l)===r.type){n(e,r.sibling),c=a(r,o.props),Aa(c,o),c.return=e,e=c;break a}n(e,r);break}else t(e,r);r=r.sibling}o.type===y?(c=ci(o.props.children,e.mode,c,o.key),c.return=e,e=c):(c=si(o.type,o.key,o.props,null,e.mode,c),Aa(c,o),c.return=e,e=c)}return s(e);case v:a:{for(l=o.key;r!==null;){if(r.key===l)if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=a(r,o.children||[]),c.return=e,e=c;break a}else{n(e,r);break}else t(e,r);r=r.sibling}c=di(o,e.mode,c),c.return=e,e=c}return s(e);case O:return o=Ca(o),b(e,r,o,c)}if(j(o))return h(e,r,o,c);if(k(o)){if(l=k(o),typeof l!=`function`)throw Error(i(150));return o=l.call(o),g(e,r,o,c)}if(typeof o.then==`function`)return b(e,r,ka(o),c);if(o.$$typeof===C)return b(e,r,Zi(e,o),c);ja(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=a(r,o),c.return=e,e=c):(n(e,r),c=li(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{Oa=0;var i=b(e,t,n,r);return Da=null,i}catch(t){if(t===_a||t===ya)throw t;var a=ri(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var Na=Ma(!0),Pa=Ma(!1),Fa=!1;function Ia(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function La(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Ra(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function za(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,q&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=ei(e),$r(e,null,n),t}return Xr(e,r,t,n),ei(e)}function Ba(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Je(e,n)}}function Va(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Ha=!1;function Ua(){if(Ha){var e=ca;if(e!==null)throw e}}function Wa(e,t,n,r){Ha=!1;var i=e.updateQueue;Fa=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,p=f!==s.lane;if(p?(Y&f)===f:(r&f)===f){f!==0&&f===sa&&(Ha=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var m=e,g=s;f=t;var _=n;switch(g.tag){case 1:if(m=g.payload,typeof m==`function`){d=m.call(_,d,f);break a}d=m;break a;case 3:m.flags=m.flags&-65537|128;case 0:if(m=g.payload,f=typeof m==`function`?m.call(_,d,f):m,f==null)break a;d=h({},d,f);break a;case 2:Fa=!0}}f=s.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=i.callbacks,p===null?i.callbacks=[f]:p.push(f))}else p={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;p=s,s=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),Gl|=o,e.lanes=o,e.memoizedState=d}}function Ga(e,t){if(typeof e!=`function`)throw Error(i(191,e));e.call(t)}function Ka(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)Ga(n[e],t)}var qa=I(null),Ja=I(0);function Ya(e,t){e=Ul,R(Ja,e),R(qa,t),Ul=e|t.baseLanes}function Xa(){R(Ja,Ul),R(qa,qa.current)}function Za(){Ul=Ja.current,L(qa),L(Ja)}var Qa=I(null),$a=null;function eo(e){var t=e.alternate;R(ao,ao.current&1),R(Qa,e),$a===null&&(t===null||qa.current!==null||t.memoizedState!==null)&&($a=e)}function to(e){R(ao,ao.current),R(Qa,e),$a===null&&($a=e)}function no(e){e.tag===22?(R(ao,ao.current),R(Qa,e),$a===null&&($a=e)):ro(e)}function ro(){R(ao,ao.current),R(Qa,Qa.current)}function io(e){L(Qa),$a===e&&($a=null),L(ao)}var ao=I(0);function oo(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||af(n)||of(n)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder===`forwards`||t.memoizedProps.revealOrder===`backwards`||t.memoizedProps.revealOrder===`unstable_legacy-backwards`||t.memoizedProps.revealOrder===`together`)){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var so=0,G=null,K=null,co=null,lo=!1,uo=!1,fo=!1,po=0,mo=0,ho=null,go=0;function _o(){throw Error(i(321))}function vo(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!_r(e[n],t[n]))return!1;return!0}function yo(e,t,n,r,i,a){return so=a,G=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,M.H=e===null||e.memoizedState===null?Is:Ls,fo=!1,a=n(r,i),fo=!1,uo&&(a=xo(t,n,r,i)),bo(e),a}function bo(e){M.H=Fs;var t=K!==null&&K.next!==null;if(so=0,co=K=G=null,lo=!1,mo=0,ho=null,t)throw Error(i(300));e===null||ec||(e=e.dependencies,e!==null&&Ji(e)&&(ec=!0))}function xo(e,t,n,r){G=e;var a=0;do{if(uo&&(ho=null),mo=0,uo=!1,25<=a)throw Error(i(301));if(a+=1,co=K=null,e.updateQueue!=null){var o=e.updateQueue;o.lastEffect=null,o.events=null,o.stores=null,o.memoCache!=null&&(o.memoCache.index=0)}M.H=Rs,o=t(n,r)}while(uo);return o}function So(){var e=M.H,t=e.useState()[0];return t=typeof t.then==`function`?ko(t):t,e=e.useState()[0],(K===null?null:K.memoizedState)!==e&&(G.flags|=1024),t}function Co(){var e=po!==0;return po=0,e}function wo(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function To(e){if(lo){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}lo=!1}so=0,co=K=G=null,uo=!1,mo=po=0,ho=null}function Eo(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return co===null?G.memoizedState=co=e:co=co.next=e,co}function Do(){if(K===null){var e=G.alternate;e=e===null?null:e.memoizedState}else e=K.next;var t=co===null?G.memoizedState:co.next;if(t!==null)co=t,K=e;else{if(e===null)throw G.alternate===null?Error(i(467)):Error(i(310));K=e,e={memoizedState:K.memoizedState,baseState:K.baseState,baseQueue:K.baseQueue,queue:K.queue,next:null},co===null?G.memoizedState=co=e:co=co.next=e}return co}function Oo(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function ko(e){var t=mo;return mo+=1,ho===null&&(ho=[]),e=Sa(ho,e,t),t=G,(co===null?t.memoizedState:co.next)===null&&(t=t.alternate,M.H=t===null||t.memoizedState===null?Is:Ls),e}function Ao(e){if(typeof e==`object`&&e){if(typeof e.then==`function`)return ko(e);if(e.$$typeof===C)return Xi(e)}throw Error(i(438,String(e)))}function jo(e){var t=null,n=G.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var r=G.alternate;r!==null&&(r=r.updateQueue,r!==null&&(r=r.memoCache,r!=null&&(t={data:r.data.map(function(e){return e.slice()}),index:0})))}if(t??={data:[],index:0},n===null&&(n=Oo(),G.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),r=0;r<e;r++)n[r]=te;return t.index++,n}function Mo(e,t){return typeof t==`function`?t(e):t}function No(e){return Po(Do(),K,e)}function Po(e,t,n){var r=e.queue;if(r===null)throw Error(i(311));r.lastRenderedReducer=n;var a=e.baseQueue,o=r.pending;if(o!==null){if(a!==null){var s=a.next;a.next=o.next,o.next=s}t.baseQueue=a=o,r.pending=null}if(o=e.baseState,a===null)e.memoizedState=o;else{t=a.next;var c=s=null,l=null,u=t,d=!1;do{var f=u.lane&-536870913;if(f===u.lane?(so&f)===f:(Y&f)===f){var p=u.revertLane;if(p===0)l!==null&&(l=l.next={lane:0,revertLane:0,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),f===sa&&(d=!0);else if((so&p)===p){u=u.next,p===sa&&(d=!0);continue}else f={lane:0,revertLane:u.revertLane,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=f,s=o):l=l.next=f,G.lanes|=p,Gl|=p;f=u.action,fo&&n(o,f),o=u.hasEagerState?u.eagerState:n(o,f)}else p={lane:f,revertLane:u.revertLane,gesture:u.gesture,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=p,s=o):l=l.next=p,G.lanes|=f,Gl|=f;u=u.next}while(u!==null&&u!==t);if(l===null?s=o:l.next=c,!_r(o,e.memoizedState)&&(ec=!0,d&&(n=ca,n!==null)))throw n;e.memoizedState=o,e.baseState=s,e.baseQueue=l,r.lastRenderedState=o}return a===null&&(r.lanes=0),[e.memoizedState,r.dispatch]}function Fo(e){var t=Do(),n=t.queue;if(n===null)throw Error(i(311));n.lastRenderedReducer=e;var r=n.dispatch,a=n.pending,o=t.memoizedState;if(a!==null){n.pending=null;var s=a=a.next;do o=e(o,s.action),s=s.next;while(s!==a);_r(o,t.memoizedState)||(ec=!0),t.memoizedState=o,t.baseQueue===null&&(t.baseState=o),n.lastRenderedState=o}return[o,r]}function Io(e,t,n){var r=G,a=Do(),o=W;if(o){if(n===void 0)throw Error(i(407));n=n()}else n=t();var s=!_r((K||a).memoizedState,n);if(s&&(a.memoizedState=n,ec=!0),a=a.queue,ss(zo.bind(null,r,a,e),[e]),a.getSnapshot!==t||s||co!==null&&co.memoizedState.tag&1){if(r.flags|=2048,ns(9,{destroy:void 0},Ro.bind(null,r,a,n,t),null),Rl===null)throw Error(i(349));o||so&127||Lo(r,t,n)}return n}function Lo(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=G.updateQueue,t===null?(t=Oo(),G.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function Ro(e,t,n,r){t.value=n,t.getSnapshot=r,Bo(t)&&Vo(e)}function zo(e,t,n){return n(function(){Bo(t)&&Vo(e)})}function Bo(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!_r(e,n)}catch{return!0}}function Vo(e){var t=Qr(e,2);t!==null&&hu(t,e,2)}function Ho(e){var t=Eo();if(typeof e==`function`){var n=e;if(e=n(),fo){je(!0);try{n()}finally{je(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Mo,lastRenderedState:e},t}function Uo(e,t,n,r){return e.baseState=n,Po(e,K,typeof r==`function`?r:Mo)}function Wo(e,t,n,r,a){if(Ms(e))throw Error(i(485));if(e=t.action,e!==null){var o={payload:a,action:e,next:null,isTransition:!0,status:`pending`,value:null,reason:null,listeners:[],then:function(e){o.listeners.push(e)}};M.T===null?o.isTransition=!1:n(!0),r(o),n=t.pending,n===null?(o.next=t.pending=o,Go(t,o)):(o.next=n.next,t.pending=n.next=o)}}function Go(e,t){var n=t.action,r=t.payload,i=e.state;if(t.isTransition){var a=M.T,o={};M.T=o;try{var s=n(i,r),c=M.S;c!==null&&c(o,s),Ko(e,t,s)}catch(n){Jo(e,t,n)}finally{a!==null&&o.types!==null&&(a.types=o.types),M.T=a}}else try{a=n(i,r),Ko(e,t,a)}catch(n){Jo(e,t,n)}}function Ko(e,t,n){typeof n==`object`&&n&&typeof n.then==`function`?n.then(function(n){qo(e,t,n)},function(n){return Jo(e,t,n)}):qo(e,t,n)}function qo(e,t,n){t.status=`fulfilled`,t.value=n,Yo(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,Go(e,n)))}function Jo(e,t,n){var r=e.pending;if(e.pending=null,r!==null){r=r.next;do t.status=`rejected`,t.reason=n,Yo(t),t=t.next;while(t!==r)}e.action=null}function Yo(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function Xo(e,t){return t}function Zo(e,t){if(W){var n=Rl.formState;if(n!==null){a:{var r=G;if(W){if(ki){b:{for(var i=ki,a=ji;i.nodeType!==8;){if(!a){i=null;break b}if(i=cf(i.nextSibling),i===null){i=null;break b}}a=i.data,i=a===`F!`||a===`F`?i:null}if(i){ki=cf(i.nextSibling),r=i.data===`F!`;break a}}Ni(r)}r=!1}r&&(t=n[0])}}return n=Eo(),n.memoizedState=n.baseState=t,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Xo,lastRenderedState:t},n.queue=r,n=ks.bind(null,G,r),r.dispatch=n,r=Ho(!1),a=js.bind(null,G,!1,r.queue),r=Eo(),i={state:t,dispatch:null,action:e,pending:null},r.queue=i,n=Wo.bind(null,G,i,a,n),i.dispatch=n,r.memoizedState=e,[t,n,!1]}function Qo(e){return $o(Do(),K,e)}function $o(e,t,n){if(t=Po(e,t,Xo)[0],e=No(Mo)[0],typeof t==`object`&&t&&typeof t.then==`function`)try{var r=ko(t)}catch(e){throw e===_a?ya:e}else r=t;t=Do();var i=t.queue,a=i.dispatch;return n!==t.memoizedState&&(G.flags|=2048,ns(9,{destroy:void 0},es.bind(null,i,n),null)),[r,a,e]}function es(e,t){e.action=t}function ts(e){var t=Do(),n=K;if(n!==null)return $o(t,n,e);Do(),t=t.memoizedState,n=Do();var r=n.queue.dispatch;return n.memoizedState=e,[t,r,!1]}function ns(e,t,n,r){return e={tag:e,create:n,deps:r,inst:t,next:null},t=G.updateQueue,t===null&&(t=Oo(),G.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function rs(){return Do().memoizedState}function is(e,t,n,r){var i=Eo();G.flags|=e,i.memoizedState=ns(1|t,{destroy:void 0},n,r===void 0?null:r)}function as(e,t,n,r){var i=Do();r=r===void 0?null:r;var a=i.memoizedState.inst;K!==null&&r!==null&&vo(r,K.memoizedState.deps)?i.memoizedState=ns(t,a,n,r):(G.flags|=e,i.memoizedState=ns(1|t,a,n,r))}function os(e,t){is(8390656,8,e,t)}function ss(e,t){as(2048,8,e,t)}function cs(e){G.flags|=4;var t=G.updateQueue;if(t===null)t=Oo(),G.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function ls(e){var t=Do().memoizedState;return cs({ref:t,nextImpl:e}),function(){if(q&2)throw Error(i(440));return t.impl.apply(void 0,arguments)}}function us(e,t){return as(4,2,e,t)}function ds(e,t){return as(4,4,e,t)}function fs(e,t){if(typeof t==`function`){e=e();var n=t(e);return function(){typeof n==`function`?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function ps(e,t,n){n=n==null?null:n.concat([e]),as(4,4,fs.bind(null,t,e),n)}function ms(){}function hs(e,t){var n=Do();t=t===void 0?null:t;var r=n.memoizedState;return t!==null&&vo(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function gs(e,t){var n=Do();t=t===void 0?null:t;var r=n.memoizedState;if(t!==null&&vo(t,r[1]))return r[0];if(r=e(),fo){je(!0);try{e()}finally{je(!1)}}return n.memoizedState=[r,t],r}function _s(e,t,n){return n===void 0||so&1073741824&&!(Y&261930)?e.memoizedState=t:(e.memoizedState=n,e=mu(),G.lanes|=e,Gl|=e,n)}function vs(e,t,n,r){return _r(n,t)?n:qa.current===null?!(so&42)||so&1073741824&&!(Y&261930)?(ec=!0,e.memoizedState=n):(e=mu(),G.lanes|=e,Gl|=e,t):(e=_s(e,n,r),_r(e,t)||(ec=!0),e)}function ys(e,t,n,r,i){var a=N.p;N.p=a!==0&&8>a?a:8;var o=M.T,s={};M.T=s,js(e,!1,t,n);try{var c=i(),l=M.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?As(e,t,da(c,r),pu(e)):As(e,t,r,pu(e))}catch(n){As(e,t,{then:function(){},status:`rejected`,reason:n},pu())}finally{N.p=a,o!==null&&s.types!==null&&(o.types=s.types),M.T=o}}function bs(){}function xs(e,t,n,r){if(e.tag!==5)throw Error(i(476));var a=Ss(e).queue;ys(e,a,t,P,n===null?bs:function(){return Cs(e),n(r)})}function Ss(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:P,baseState:P,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Mo,lastRenderedState:P},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Mo,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Cs(e){var t=Ss(e);t.next===null&&(t=e.alternate.memoizedState),As(e,t.next.queue,{},pu())}function ws(){return Xi(Qf)}function Ts(){return Do().memoizedState}function Es(){return Do().memoizedState}function Ds(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=pu();e=Ra(n);var r=za(t,e,n);r!==null&&(hu(r,t,n),Ba(r,t,n)),t={cache:ra()},e.payload=t;return}t=t.return}}function Os(e,t,n){var r=pu();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Ms(e)?Ns(t,n):(n=Zr(e,t,n,r),n!==null&&(hu(n,e,r),Ps(n,t,r)))}function ks(e,t,n){As(e,t,n,pu())}function As(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Ms(e))Ns(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,_r(s,o))return Xr(e,t,i,0),Rl===null&&Yr(),!1}catch{}if(n=Zr(e,t,i,r),n!==null)return hu(n,e,r),Ps(n,t,r),!0}return!1}function js(e,t,n,r){if(r={lane:2,revertLane:dd(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Ms(e)){if(t)throw Error(i(479))}else t=Zr(e,n,r,2),t!==null&&hu(t,e,2)}function Ms(e){var t=e.alternate;return e===G||t!==null&&t===G}function Ns(e,t){uo=lo=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Ps(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Je(e,n)}}var Fs={readContext:Xi,use:Ao,useCallback:_o,useContext:_o,useEffect:_o,useImperativeHandle:_o,useLayoutEffect:_o,useInsertionEffect:_o,useMemo:_o,useReducer:_o,useRef:_o,useState:_o,useDebugValue:_o,useDeferredValue:_o,useTransition:_o,useSyncExternalStore:_o,useId:_o,useHostTransitionStatus:_o,useFormState:_o,useActionState:_o,useOptimistic:_o,useMemoCache:_o,useCacheRefresh:_o};Fs.useEffectEvent=_o;var Is={readContext:Xi,use:Ao,useCallback:function(e,t){return Eo().memoizedState=[e,t===void 0?null:t],e},useContext:Xi,useEffect:os,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),is(4194308,4,fs.bind(null,t,e),n)},useLayoutEffect:function(e,t){return is(4194308,4,e,t)},useInsertionEffect:function(e,t){is(4,2,e,t)},useMemo:function(e,t){var n=Eo();t=t===void 0?null:t;var r=e();if(fo){je(!0);try{e()}finally{je(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=Eo();if(n!==void 0){var i=n(t);if(fo){je(!0);try{n(t)}finally{je(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=Os.bind(null,G,e),[r.memoizedState,e]},useRef:function(e){var t=Eo();return e={current:e},t.memoizedState=e},useState:function(e){e=Ho(e);var t=e.queue,n=ks.bind(null,G,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:ms,useDeferredValue:function(e,t){return _s(Eo(),e,t)},useTransition:function(){var e=Ho(!1);return e=ys.bind(null,G,e.queue,!0,!1),Eo().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=G,a=Eo();if(W){if(n===void 0)throw Error(i(407));n=n()}else{if(n=t(),Rl===null)throw Error(i(349));Y&127||Lo(r,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,os(zo.bind(null,r,o,e),[e]),r.flags|=2048,ns(9,{destroy:void 0},Ro.bind(null,r,o,n,t),null),n},useId:function(){var e=Eo(),t=Rl.identifierPrefix;if(W){var n=Si,r=xi;n=(r&~(1<<32-Me(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=po++,0<n&&(t+=`H`+n.toString(32)),t+=`_`}else n=go++,t=`_`+t+`r_`+n.toString(32)+`_`;return e.memoizedState=t},useHostTransitionStatus:ws,useFormState:Zo,useActionState:Zo,useOptimistic:function(e){var t=Eo();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=js.bind(null,G,!0,n),n.dispatch=t,[e,t]},useMemoCache:jo,useCacheRefresh:function(){return Eo().memoizedState=Ds.bind(null,G)},useEffectEvent:function(e){var t=Eo(),n={impl:e};return t.memoizedState=n,function(){if(q&2)throw Error(i(440));return n.impl.apply(void 0,arguments)}}},Ls={readContext:Xi,use:Ao,useCallback:hs,useContext:Xi,useEffect:ss,useImperativeHandle:ps,useInsertionEffect:us,useLayoutEffect:ds,useMemo:gs,useReducer:No,useRef:rs,useState:function(){return No(Mo)},useDebugValue:ms,useDeferredValue:function(e,t){return vs(Do(),K.memoizedState,e,t)},useTransition:function(){var e=No(Mo)[0],t=Do().memoizedState;return[typeof e==`boolean`?e:ko(e),t]},useSyncExternalStore:Io,useId:Ts,useHostTransitionStatus:ws,useFormState:Qo,useActionState:Qo,useOptimistic:function(e,t){return Uo(Do(),K,e,t)},useMemoCache:jo,useCacheRefresh:Es};Ls.useEffectEvent=ls;var Rs={readContext:Xi,use:Ao,useCallback:hs,useContext:Xi,useEffect:ss,useImperativeHandle:ps,useInsertionEffect:us,useLayoutEffect:ds,useMemo:gs,useReducer:Fo,useRef:rs,useState:function(){return Fo(Mo)},useDebugValue:ms,useDeferredValue:function(e,t){var n=Do();return K===null?_s(n,e,t):vs(n,K.memoizedState,e,t)},useTransition:function(){var e=Fo(Mo)[0],t=Do().memoizedState;return[typeof e==`boolean`?e:ko(e),t]},useSyncExternalStore:Io,useId:Ts,useHostTransitionStatus:ws,useFormState:ts,useActionState:ts,useOptimistic:function(e,t){var n=Do();return K===null?(n.baseState=e,[e,n.queue.dispatch]):Uo(n,K,e,t)},useMemoCache:jo,useCacheRefresh:Es};Rs.useEffectEvent=ls;function zs(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:h({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Bs={enqueueSetState:function(e,t,n){e=e._reactInternals;var r=pu(),i=Ra(r);i.payload=t,n!=null&&(i.callback=n),t=za(e,i,r),t!==null&&(hu(t,e,r),Ba(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=pu(),i=Ra(r);i.tag=1,i.payload=t,n!=null&&(i.callback=n),t=za(e,i,r),t!==null&&(hu(t,e,r),Ba(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=pu(),r=Ra(n);r.tag=2,t!=null&&(r.callback=t),t=za(e,r,n),t!==null&&(hu(t,e,n),Ba(t,e,n))}};function Vs(e,t,n,r,i,a,o){return e=e.stateNode,typeof e.shouldComponentUpdate==`function`?e.shouldComponentUpdate(r,a,o):t.prototype&&t.prototype.isPureReactComponent?!vr(n,r)||!vr(i,a):!0}function Hs(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps==`function`&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps==`function`&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Bs.enqueueReplaceState(t,t.state,null)}function Us(e,t){var n=t;if(`ref`in t)for(var r in n={},t)r!==`ref`&&(n[r]=t[r]);if(e=e.defaultProps)for(var i in n===t&&(n=h({},n)),e)n[i]===void 0&&(n[i]=e[i]);return n}function Ws(e){Gr(e)}function Gs(e){console.error(e)}function Ks(e){Gr(e)}function qs(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(e){setTimeout(function(){throw e})}}function Js(e,t,n){try{var r=e.onCaughtError;r(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(e){setTimeout(function(){throw e})}}function Ys(e,t,n){return n=Ra(n),n.tag=3,n.payload={element:null},n.callback=function(){qs(e,t)},n}function Xs(e){return e=Ra(e),e.tag=3,e}function Zs(e,t,n,r){var i=n.type.getDerivedStateFromError;if(typeof i==`function`){var a=r.value;e.payload=function(){return i(a)},e.callback=function(){Js(t,n,r)}}var o=n.stateNode;o!==null&&typeof o.componentDidCatch==`function`&&(e.callback=function(){Js(t,n,r),typeof i!=`function`&&(ru===null?ru=new Set([this]):ru.add(this));var e=r.stack;this.componentDidCatch(r.value,{componentStack:e===null?``:e})})}function Qs(e,t,n,r,a){if(n.flags|=32768,typeof r==`object`&&r&&typeof r.then==`function`){if(t=n.alternate,t!==null&&qi(t,n,a,!0),n=Qa.current,n!==null){switch(n.tag){case 31:case 13:return $a===null?Du():n.alternate===null&&Wl===0&&(Wl=3),n.flags&=-257,n.flags|=65536,n.lanes=a,r===ba?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([r]):t.add(r),Gu(e,r,a)),!1;case 22:return n.flags|=65536,r===ba?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([r])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([r]):n.add(r)),Gu(e,r,a)),!1}throw Error(i(435,n.tag))}return Gu(e,r,a),Du(),!1}if(W)return t=Qa.current,t===null?(r!==Mi&&(t=Error(i(423),{cause:r}),zi(pi(t,n))),e=e.current.alternate,e.flags|=65536,a&=-a,e.lanes|=a,r=pi(r,n),a=Ys(e.stateNode,r,a),Va(e,a),Wl!==4&&(Wl=2)):(!(t.flags&65536)&&(t.flags|=256),t.flags|=65536,t.lanes=a,r!==Mi&&(e=Error(i(422),{cause:r}),zi(pi(e,n)))),!1;var o=Error(i(520),{cause:r});if(o=pi(o,n),Xl===null?Xl=[o]:Xl.push(o),Wl!==4&&(Wl=2),t===null)return!0;r=pi(r,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=a&-a,n.lanes|=e,e=Ys(n.stateNode,r,e),Va(n,e),!1;case 1:if(t=n.type,o=n.stateNode,!(n.flags&128)&&(typeof t.getDerivedStateFromError==`function`||o!==null&&typeof o.componentDidCatch==`function`&&(ru===null||!ru.has(o))))return n.flags|=65536,a&=-a,n.lanes|=a,a=Xs(a),Zs(a,e,n,r),Va(n,a),!1}n=n.return}while(n!==null);return!1}var $s=Error(i(461)),ec=!1;function tc(e,t,n,r){t.child=e===null?Pa(t,null,n,r):Na(t,e.child,n,r)}function nc(e,t,n,r,i){n=n.render;var a=t.ref;if(`ref`in r){var o={};for(var s in r)s!==`ref`&&(o[s]=r[s])}else o=r;return Yi(t),r=yo(e,t,n,o,a,i),s=Co(),e!==null&&!ec?(wo(e,t,i),Ec(e,t,i)):(W&&s&&Ti(t),t.flags|=1,tc(e,t,r,i),t.child)}function rc(e,t,n,r,i){if(e===null){var a=n.type;return typeof a==`function`&&!ii(a)&&a.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=a,ic(e,t,a,r,i)):(e=si(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!Dc(e,i)){var o=a.memoizedProps;if(n=n.compare,n=n===null?vr:n,n(o,r)&&e.ref===t.ref)return Ec(e,t,i)}return t.flags|=1,e=ai(a,r),e.ref=t.ref,e.return=t,t.child=e}function ic(e,t,n,r,i){if(e!==null){var a=e.memoizedProps;if(vr(a,r)&&e.ref===t.ref)if(ec=!1,t.pendingProps=r=a,Dc(e,i))e.flags&131072&&(ec=!0);else return t.lanes=e.lanes,Ec(e,t,i)}return fc(e,t,n,r,i)}function ac(e,t,n,r){var i=r.children,a=e===null?null:e.memoizedState;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),r.mode===`hidden`){if(t.flags&128){if(a=a===null?n:a.baseLanes|n,e!==null){for(r=t.child=e.child,i=0;r!==null;)i=i|r.lanes|r.childLanes,r=r.sibling;r=i&~a}else r=0,t.child=null;return sc(e,t,a,n,r)}if(n&536870912)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&ha(t,a===null?null:a.cachePool),a===null?Xa():Ya(t,a),no(t);else return r=t.lanes=536870912,sc(e,t,a===null?n:a.baseLanes|n,n,r)}else a===null?(e!==null&&ha(t,null),Xa(),ro(t)):(ha(t,a.cachePool),Ya(t,a),ro(t),t.memoizedState=null);return tc(e,t,i,n),t.child}function oc(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function sc(e,t,n,r,i){var a=ma();return a=a===null?null:{parent:na._currentValue,pool:a},t.memoizedState={baseLanes:n,cachePool:a},e!==null&&ha(t,null),Xa(),no(t),e!==null&&qi(e,t,r,!0),t.childLanes=i,null}function cc(e,t){return t=xc({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function lc(e,t,n){return Na(t,e.child,null,n),e=cc(t,t.pendingProps),e.flags|=2,io(t),t.memoizedState=null,e}function uc(e,t,n){var r=t.pendingProps,a=(t.flags&128)!=0;if(t.flags&=-129,e===null){if(W){if(r.mode===`hidden`)return e=cc(t,r),t.lanes=536870912,oc(null,e);if(to(t),(e=ki)?(e=rf(e,ji),e=e!==null&&e.data===`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:bi===null?null:{id:xi,overflow:Si},retryLane:536870912,hydrationErrors:null},n=ui(e),n.return=t,t.child=n,Oi=t,ki=null)):e=null,e===null)throw Ni(t);return t.lanes=536870912,null}return cc(t,r)}var o=e.memoizedState;if(o!==null){var s=o.dehydrated;if(to(t),a)if(t.flags&256)t.flags&=-257,t=lc(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(i(558));else if(ec||qi(e,t,n,!1),a=(n&e.childLanes)!==0,ec||a){if(r=Rl,r!==null&&(s=Ye(r,n),s!==0&&s!==o.retryLane))throw o.retryLane=s,Qr(e,s),hu(r,e,s),$s;Du(),t=lc(e,t,n)}else e=o.treeContext,ki=cf(s.nextSibling),Oi=t,W=!0,Ai=null,ji=!1,e!==null&&Di(t,e),t=cc(t,r),t.flags|=4096;return t}return e=ai(e.child,{mode:r.mode,children:r.children}),e.ref=t.ref,t.child=e,e.return=t,e}function dc(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!=`function`&&typeof n!=`object`)throw Error(i(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function fc(e,t,n,r,i){return Yi(t),n=yo(e,t,n,r,void 0,i),r=Co(),e!==null&&!ec?(wo(e,t,i),Ec(e,t,i)):(W&&r&&Ti(t),t.flags|=1,tc(e,t,n,i),t.child)}function pc(e,t,n,r,i,a){return Yi(t),t.updateQueue=null,n=xo(t,r,n,i),bo(e),r=Co(),e!==null&&!ec?(wo(e,t,a),Ec(e,t,a)):(W&&r&&Ti(t),t.flags|=1,tc(e,t,n,a),t.child)}function mc(e,t,n,r,i){if(Yi(t),t.stateNode===null){var a=ti,o=n.contextType;typeof o==`object`&&o&&(a=Xi(o)),a=new n(r,a),t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,a.updater=Bs,t.stateNode=a,a._reactInternals=t,a=t.stateNode,a.props=r,a.state=t.memoizedState,a.refs={},Ia(t),o=n.contextType,a.context=typeof o==`object`&&o?Xi(o):ti,a.state=t.memoizedState,o=n.getDerivedStateFromProps,typeof o==`function`&&(zs(t,n,o,r),a.state=t.memoizedState),typeof n.getDerivedStateFromProps==`function`||typeof a.getSnapshotBeforeUpdate==`function`||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(o=a.state,typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount(),o!==a.state&&Bs.enqueueReplaceState(a,a.state,null),Wa(t,r,a,i),Ua(),a.state=t.memoizedState),typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!0}else if(e===null){a=t.stateNode;var s=t.memoizedProps,c=Us(n,s);a.props=c;var l=a.context,u=n.contextType;o=ti,typeof u==`object`&&u&&(o=Xi(u));var d=n.getDerivedStateFromProps;u=typeof d==`function`||typeof a.getSnapshotBeforeUpdate==`function`,s=t.pendingProps!==s,u||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(s||l!==o)&&Hs(t,a,r,o),Fa=!1;var f=t.memoizedState;a.state=f,Wa(t,r,a,i),Ua(),l=t.memoizedState,s||f!==l||Fa?(typeof d==`function`&&(zs(t,n,d,r),l=t.memoizedState),(c=Fa||Vs(t,n,c,r,f,l,o))?(u||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount==`function`&&(t.flags|=4194308)):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),a.props=r,a.state=l,a.context=o,r=c):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,La(e,t),o=t.memoizedProps,u=Us(n,o),a.props=u,d=t.pendingProps,f=a.context,l=n.contextType,c=ti,typeof l==`object`&&l&&(c=Xi(l)),s=n.getDerivedStateFromProps,(l=typeof s==`function`||typeof a.getSnapshotBeforeUpdate==`function`)||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(o!==d||f!==c)&&Hs(t,a,r,c),Fa=!1,f=t.memoizedState,a.state=f,Wa(t,r,a,i),Ua();var p=t.memoizedState;o!==d||f!==p||Fa||e!==null&&e.dependencies!==null&&Ji(e.dependencies)?(typeof s==`function`&&(zs(t,n,s,r),p=t.memoizedState),(u=Fa||Vs(t,n,u,r,f,p,c)||e!==null&&e.dependencies!==null&&Ji(e.dependencies))?(l||typeof a.UNSAFE_componentWillUpdate!=`function`&&typeof a.componentWillUpdate!=`function`||(typeof a.componentWillUpdate==`function`&&a.componentWillUpdate(r,p,c),typeof a.UNSAFE_componentWillUpdate==`function`&&a.UNSAFE_componentWillUpdate(r,p,c)),typeof a.componentDidUpdate==`function`&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate==`function`&&(t.flags|=1024)):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=p),a.props=r,a.state=p,a.context=c,r=u):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return a=r,dc(e,t),r=(t.flags&128)!=0,a||r?(a=t.stateNode,n=r&&typeof n.getDerivedStateFromError!=`function`?null:a.render(),t.flags|=1,e!==null&&r?(t.child=Na(t,e.child,null,i),t.child=Na(t,null,n,i)):tc(e,t,n,i),t.memoizedState=a.state,e=t.child):e=Ec(e,t,i),e}function hc(e,t,n,r){return Li(),t.flags|=256,tc(e,t,n,r),t.child}var gc={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function _c(e){return{baseLanes:e,cachePool:ga()}}function vc(e,t,n){return e=e===null?0:e.childLanes&~n,t&&(e|=Jl),e}function yc(e,t,n){var r=t.pendingProps,a=!1,o=(t.flags&128)!=0,s;if((s=o)||(s=e!==null&&e.memoizedState===null?!1:(ao.current&2)!=0),s&&(a=!0,t.flags&=-129),s=(t.flags&32)!=0,t.flags&=-33,e===null){if(W){if(a?eo(t):ro(t),(e=ki)?(e=rf(e,ji),e=e!==null&&e.data!==`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:bi===null?null:{id:xi,overflow:Si},retryLane:536870912,hydrationErrors:null},n=ui(e),n.return=t,t.child=n,Oi=t,ki=null)):e=null,e===null)throw Ni(t);return of(e)?t.lanes=32:t.lanes=536870912,null}var c=r.children;return r=r.fallback,a?(ro(t),a=t.mode,c=xc({mode:`hidden`,children:c},a),r=ci(r,a,n,null),c.return=t,r.return=t,c.sibling=r,t.child=c,r=t.child,r.memoizedState=_c(n),r.childLanes=vc(e,s,n),t.memoizedState=gc,oc(null,r)):(eo(t),bc(t,c))}var l=e.memoizedState;if(l!==null&&(c=l.dehydrated,c!==null)){if(o)t.flags&256?(eo(t),t.flags&=-257,t=Sc(e,t,n)):t.memoizedState===null?(ro(t),c=r.fallback,a=t.mode,r=xc({mode:`visible`,children:r.children},a),c=ci(c,a,n,null),c.flags|=2,r.return=t,c.return=t,r.sibling=c,t.child=r,Na(t,e.child,null,n),r=t.child,r.memoizedState=_c(n),r.childLanes=vc(e,s,n),t.memoizedState=gc,t=oc(null,r)):(ro(t),t.child=e.child,t.flags|=128,t=null);else if(eo(t),of(c)){if(s=c.nextSibling&&c.nextSibling.dataset,s)var u=s.dgst;s=u,r=Error(i(419)),r.stack=``,r.digest=s,zi({value:r,source:null,stack:null}),t=Sc(e,t,n)}else if(ec||qi(e,t,n,!1),s=(n&e.childLanes)!==0,ec||s){if(s=Rl,s!==null&&(r=Ye(s,n),r!==0&&r!==l.retryLane))throw l.retryLane=r,Qr(e,r),hu(s,e,r),$s;af(c)||Du(),t=Sc(e,t,n)}else af(c)?(t.flags|=192,t.child=e.child,t=null):(e=l.treeContext,ki=cf(c.nextSibling),Oi=t,W=!0,Ai=null,ji=!1,e!==null&&Di(t,e),t=bc(t,r.children),t.flags|=4096);return t}return a?(ro(t),c=r.fallback,a=t.mode,l=e.child,u=l.sibling,r=ai(l,{mode:`hidden`,children:r.children}),r.subtreeFlags=l.subtreeFlags&65011712,u===null?(c=ci(c,a,n,null),c.flags|=2):c=ai(u,c),c.return=t,r.return=t,r.sibling=c,t.child=r,oc(null,r),r=t.child,c=e.child.memoizedState,c===null?c=_c(n):(a=c.cachePool,a===null?a=ga():(l=na._currentValue,a=a.parent===l?a:{parent:l,pool:l}),c={baseLanes:c.baseLanes|n,cachePool:a}),r.memoizedState=c,r.childLanes=vc(e,s,n),t.memoizedState=gc,oc(e.child,r)):(eo(t),n=e.child,e=n.sibling,n=ai(n,{mode:`visible`,children:r.children}),n.return=t,n.sibling=null,e!==null&&(s=t.deletions,s===null?(t.deletions=[e],t.flags|=16):s.push(e)),t.child=n,t.memoizedState=null,n)}function bc(e,t){return t=xc({mode:`visible`,children:t},e.mode),t.return=e,e.child=t}function xc(e,t){return e=ri(22,e,null,t),e.lanes=0,e}function Sc(e,t,n){return Na(t,e.child,null,n),e=bc(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Cc(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Gi(e.return,t,n)}function wc(e,t,n,r,i,a){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i,treeForkCount:a}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=i,o.treeForkCount=a)}function Tc(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail;r=r.children;var o=ao.current,s=(o&2)!=0;if(s?(o=o&1|2,t.flags|=128):o&=1,R(ao,o),tc(e,t,r,n),r=W?_i:0,!s&&e!==null&&e.flags&128)a:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Cc(e,n,t);else if(e.tag===19)Cc(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break a;for(;e.sibling===null;){if(e.return===null||e.return===t)break a;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(i){case`forwards`:for(n=t.child,i=null;n!==null;)e=n.alternate,e!==null&&oo(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),wc(t,!1,i,n,a,r);break;case`backwards`:case`unstable_legacy-backwards`:for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&oo(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}wc(t,!0,n,null,a,r);break;case`together`:wc(t,!1,null,null,void 0,r);break;default:t.memoizedState=null}return t.child}function Ec(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Gl|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(qi(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(i(153));if(t.child!==null){for(e=t.child,n=ai(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=ai(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Dc(e,t){return(e.lanes&t)===0?(e=e.dependencies,!!(e!==null&&Ji(e))):!0}function Oc(e,t,n){switch(t.tag){case 3:le(t,t.stateNode.containerInfo),Ui(t,na,e.memoizedState.cache),Li();break;case 27:case 5:B(t);break;case 4:le(t,t.stateNode.containerInfo);break;case 10:Ui(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,to(t),null;break;case 13:var r=t.memoizedState;if(r!==null)return r.dehydrated===null?(n&t.child.childLanes)===0?(eo(t),e=Ec(e,t,n),e===null?null:e.sibling):yc(e,t,n):(eo(t),t.flags|=128,null);eo(t);break;case 19:var i=(e.flags&128)!=0;if(r=(n&t.childLanes)!==0,r||=(qi(e,t,n,!1),(n&t.childLanes)!==0),i){if(r)return Tc(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),R(ao,ao.current),r)break;return null;case 22:return t.lanes=0,ac(e,t,n,t.pendingProps);case 24:Ui(t,na,e.memoizedState.cache)}return Ec(e,t,n)}function kc(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)ec=!0;else{if(!Dc(e,n)&&!(t.flags&128))return ec=!1,Oc(e,t,n);ec=!!(e.flags&131072)}else ec=!1,W&&t.flags&1048576&&wi(t,_i,t.index);switch(t.lanes=0,t.tag){case 16:a:{var r=t.pendingProps;if(e=Ca(t.elementType),t.type=e,typeof e==`function`)ii(e)?(r=Us(e,r),t.tag=1,t=mc(null,t,e,r,n)):(t.tag=0,t=fc(null,t,e,r,n));else{if(e!=null){var a=e.$$typeof;if(a===w){t.tag=11,t=nc(null,t,e,r,n);break a}else if(a===D){t.tag=14,t=rc(null,t,e,r,n);break a}}throw t=re(e)||e,Error(i(306,t,``))}}return t;case 0:return fc(e,t,t.type,t.pendingProps,n);case 1:return r=t.type,a=Us(r,t.pendingProps),mc(e,t,r,a,n);case 3:a:{if(le(t,t.stateNode.containerInfo),e===null)throw Error(i(387));r=t.pendingProps;var o=t.memoizedState;a=o.element,La(e,t),Wa(t,r,null,n);var s=t.memoizedState;if(r=s.cache,Ui(t,na,r),r!==o.cache&&Ki(t,[na],n,!0),Ua(),r=s.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:s.cache},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){t=hc(e,t,r,n);break a}else if(r!==a){a=pi(Error(i(424)),t),zi(a),t=hc(e,t,r,n);break a}else{switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName===`HTML`?e.ownerDocument.body:e}for(ki=cf(e.firstChild),Oi=t,W=!0,Ai=null,ji=!0,n=Pa(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(Li(),r===a){t=Ec(e,t,n);break a}tc(e,t,r,n)}t=t.child}return t;case 26:return dc(e,t),e===null?(n=kf(t.type,null,t.pendingProps,null))?t.memoizedState=n:W||(n=t.type,e=t.pendingProps,r=Bd(se.current).createElement(n),r[tt]=t,r[nt]=e,Pd(r,n,e),mt(r),t.stateNode=r):t.memoizedState=kf(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return B(t),e===null&&W&&(r=t.stateNode=ff(t.type,t.pendingProps,se.current),Oi=t,ji=!0,a=ki,Zd(t.type)?(lf=a,ki=cf(r.firstChild)):ki=a),tc(e,t,t.pendingProps.children,n),dc(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&W&&((a=r=ki)&&(r=tf(r,t.type,t.pendingProps,ji),r===null?a=!1:(t.stateNode=r,Oi=t,ki=cf(r.firstChild),ji=!1,a=!0)),a||Ni(t)),B(t),a=t.type,o=t.pendingProps,s=e===null?null:e.memoizedProps,r=o.children,Ud(a,o)?r=null:s!==null&&Ud(a,s)&&(t.flags|=32),t.memoizedState!==null&&(a=yo(e,t,So,null,null,n),Qf._currentValue=a),dc(e,t),tc(e,t,r,n),t.child;case 6:return e===null&&W&&((e=n=ki)&&(n=nf(n,t.pendingProps,ji),n===null?e=!1:(t.stateNode=n,Oi=t,ki=null,e=!0)),e||Ni(t)),null;case 13:return yc(e,t,n);case 4:return le(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Na(t,null,r,n):tc(e,t,r,n),t.child;case 11:return nc(e,t,t.type,t.pendingProps,n);case 7:return tc(e,t,t.pendingProps,n),t.child;case 8:return tc(e,t,t.pendingProps.children,n),t.child;case 12:return tc(e,t,t.pendingProps.children,n),t.child;case 10:return r=t.pendingProps,Ui(t,t.type,r.value),tc(e,t,r.children,n),t.child;case 9:return a=t.type._context,r=t.pendingProps.children,Yi(t),a=Xi(a),r=r(a),t.flags|=1,tc(e,t,r,n),t.child;case 14:return rc(e,t,t.type,t.pendingProps,n);case 15:return ic(e,t,t.type,t.pendingProps,n);case 19:return Tc(e,t,n);case 31:return uc(e,t,n);case 22:return ac(e,t,n,t.pendingProps);case 24:return Yi(t),r=Xi(na),e===null?(a=ma(),a===null&&(a=Rl,o=ra(),a.pooledCache=o,o.refCount++,o!==null&&(a.pooledCacheLanes|=n),a=o),t.memoizedState={parent:r,cache:a},Ia(t),Ui(t,na,a)):((e.lanes&n)!==0&&(La(e,t),Wa(t,null,null,n),Ua()),a=e.memoizedState,o=t.memoizedState,a.parent===r?(r=o.cache,Ui(t,na,r),r!==a.cache&&Ki(t,[na],n,!0)):(a={parent:r,cache:r},t.memoizedState=a,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=a),Ui(t,na,r))),tc(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(i(156,t.tag))}function Ac(e){e.flags|=4}function jc(e,t,n,r,i){if((t=(e.mode&32)!=0)&&(t=!1),t){if(e.flags|=16777216,(i&335544128)===i)if(e.stateNode.complete)e.flags|=8192;else if(wu())e.flags|=8192;else throw wa=ba,va}else e.flags&=-16777217}function Mc(e,t){if(t.type!==`stylesheet`||t.state.loading&4)e.flags&=-16777217;else if(e.flags|=16777216,!Wf(t))if(wu())e.flags|=8192;else throw wa=ba,va}function Nc(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag===22?536870912:Ue(),e.lanes|=t,Yl|=t)}function Pc(e,t){if(!W)switch(e.tailMode){case`hidden`:t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case`collapsed`:n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Fc(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&65011712,r|=i.flags&65011712,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Ic(e,t,n){var r=t.pendingProps;switch(Ei(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Fc(t),null;case 1:return Fc(t),null;case 3:return n=t.stateNode,r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),Wi(na),z(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(Ii(t)?Ac(t):e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Ri())),Fc(t),null;case 26:var a=t.type,o=t.memoizedState;return e===null?(Ac(t),o===null?(Fc(t),jc(t,a,null,r,n)):(Fc(t),Mc(t,o))):o?o===e.memoizedState?(Fc(t),t.flags&=-16777217):(Ac(t),Fc(t),Mc(t,o)):(e=e.memoizedProps,e!==r&&Ac(t),Fc(t),jc(t,a,e,r,n)),null;case 27:if(ue(t),n=se.current,a=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Ac(t);else{if(!r){if(t.stateNode===null)throw Error(i(166));return Fc(t),null}e=ae.current,Ii(t)?Pi(t,e):(e=ff(a,r,n),t.stateNode=e,Ac(t))}return Fc(t),null;case 5:if(ue(t),a=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Ac(t);else{if(!r){if(t.stateNode===null)throw Error(i(166));return Fc(t),null}if(o=ae.current,Ii(t))Pi(t,o);else{var s=Bd(se.current);switch(o){case 1:o=s.createElementNS(`http://www.w3.org/2000/svg`,a);break;case 2:o=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,a);break;default:switch(a){case`svg`:o=s.createElementNS(`http://www.w3.org/2000/svg`,a);break;case`math`:o=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,a);break;case`script`:o=s.createElement(`div`),o.innerHTML=`<script><\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(a,{is:r.is}):s.createElement(a)}}o[tt]=t,o[nt]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(Pd(o,a,r),a){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&Ac(t)}}return Fc(t),jc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&Ac(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(i(166));if(e=se.current,Ii(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,a=Oi,a!==null)switch(a.tag){case 27:case 5:r=a.memoizedProps}e[tt]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||Md(e.nodeValue,n)),e||Ni(t,!0)}else e=Bd(e).createTextNode(r),e[tt]=t,t.stateNode=e}return Fc(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Ii(t),n!==null){if(e===null){if(!r)throw Error(i(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(557));e[tt]=t}else Li(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Fc(t),e=!1}else n=Ri(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(io(t),t):(io(t),null);if(t.flags&128)throw Error(i(558))}return Fc(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(a=Ii(t),r!==null&&r.dehydrated!==null){if(e===null){if(!a)throw Error(i(318));if(a=t.memoizedState,a=a===null?null:a.dehydrated,!a)throw Error(i(317));a[tt]=t}else Li(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Fc(t),a=!1}else a=Ri(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a)return t.flags&256?(io(t),t):(io(t),null)}return io(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,a=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(a=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==a&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Nc(t,t.updateQueue),Fc(t),null);case 4:return z(),e===null&&Sd(t.stateNode.containerInfo),Fc(t),null;case 10:return Wi(t.type),Fc(t),null;case 19:if(L(ao),r=t.memoizedState,r===null)return Fc(t),null;if(a=(t.flags&128)!=0,o=r.rendering,o===null)if(a)Pc(r,!1);else{if(Wl!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=oo(e),o!==null){for(t.flags|=128,Pc(r,!1),e=o.updateQueue,t.updateQueue=e,Nc(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)oi(n,e),n=n.sibling;return R(ao,ao.current&1|2),W&&Ci(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Se()>tu&&(t.flags|=128,a=!0,Pc(r,!1),t.lanes=4194304)}else{if(!a)if(e=oo(o),e!==null){if(t.flags|=128,a=!0,e=e.updateQueue,t.updateQueue=e,Nc(t,e),Pc(r,!0),r.tail===null&&r.tailMode===`hidden`&&!o.alternate&&!W)return Fc(t),null}else 2*Se()-r.renderingStartTime>tu&&n!==536870912&&(t.flags|=128,a=!0,Pc(r,!1),t.lanes=4194304);r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}return r.tail===null?(Fc(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Se(),e.sibling=null,n=ao.current,R(ao,a?n&1|2:n&1),W&&Ci(t,r.treeForkCount),e);case 22:case 23:return io(t),Za(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(Fc(t),t.subtreeFlags&6&&(t.flags|=8192)):Fc(t),n=t.updateQueue,n!==null&&Nc(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&L(pa),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),Wi(na),Fc(t),null;case 25:return null;case 30:return null}throw Error(i(156,t.tag))}function Lc(e,t){switch(Ei(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Wi(na),z(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return ue(t),null;case 31:if(t.memoizedState!==null){if(io(t),t.alternate===null)throw Error(i(340));Li()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(io(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(i(340));Li()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return L(ao),null;case 4:return z(),null;case 10:return Wi(t.type),null;case 22:case 23:return io(t),Za(),e!==null&&L(pa),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Wi(na),null;case 25:return null;default:return null}}function Rc(e,t){switch(Ei(t),t.tag){case 3:Wi(na),z();break;case 26:case 27:case 5:ue(t);break;case 4:z();break;case 31:t.memoizedState!==null&&io(t);break;case 13:io(t);break;case 19:L(ao);break;case 10:Wi(t.type);break;case 22:case 23:io(t),Za(),e!==null&&L(pa);break;case 24:Wi(na)}}function zc(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){Z(t,t.return,e)}}function Bc(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){Z(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Z(t,t.return,e)}}function Vc(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{Ka(t,n)}catch(t){Z(e,e.return,t)}}}function Hc(e,t,n){n.props=Us(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Z(e,t,n)}}function Uc(e,t){try{var n=e.ref;if(n!==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 n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){Z(e,t,n)}}function Wc(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r==`function`)try{r()}catch(n){Z(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){Z(e,t,n)}else n.current=null}function Gc(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){Z(e,e.return,t)}}function Kc(e,t,n){try{var r=e.stateNode;Fd(r,e.type,n,t),r[nt]=t}catch(t){Z(e,e.return,t)}}function qc(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Zd(e.type)||e.tag===4}function Jc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||qc(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&&Zd(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Yc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Jt));else if(r!==4&&(r===27&&Zd(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Yc(e,t,n),e=e.sibling;e!==null;)Yc(e,t,n),e=e.sibling}function Xc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&Zd(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(Xc(e,t,n),e=e.sibling;e!==null;)Xc(e,t,n),e=e.sibling}function Zc(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Pd(t,r,n),t[tt]=e,t[nt]=n}catch(t){Z(e,e.return,t)}}var Qc=!1,$c=!1,el=!1,tl=typeof WeakSet==`function`?WeakSet:Set,nl=null;function rl(e,t){if(e=e.containerInfo,Rd=sp,e=Sr(e),Cr(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var a=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||a!==0&&f.nodeType!==3||(c=s+a),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===a&&(c=s),p===o&&++d===r&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(zd={focusedElem:e,selectionRange:n},sp=!1,nl=t;nl!==null;)if(t=nl,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,nl=e;else for(;nl!==null;){switch(t=nl,o=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e===null?null:e.events,e!==null))for(n=0;n<e.length;n++)a=e[n],a.ref.impl=a.nextImpl;break;case 11:case 15:break;case 1:if(e&1024&&o!==null){e=void 0,n=t,a=o.memoizedProps,o=o.memoizedState,r=n.stateNode;try{var h=Us(n.type,a);e=r.getSnapshotBeforeUpdate(h,o),r.__reactInternalSnapshotBeforeUpdate=e}catch(e){Z(n,n.return,e)}}break;case 3:if(e&1024){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)ef(e);else if(n===1)switch(e.nodeName){case`HEAD`:case`HTML`:case`BODY`:ef(e);break;default:e.textContent=``}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if(e&1024)throw Error(i(163))}if(e=t.sibling,e!==null){e.return=t.return,nl=e;break}nl=t.return}}function il(e,t,n){var r=n.flags;switch(n.tag){case 0:case 11:case 15:yl(e,n),r&4&&zc(5,n);break;case 1:if(yl(e,n),r&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(e){Z(n,n.return,e)}else{var i=Us(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(i,t,e.__reactInternalSnapshotBeforeUpdate)}catch(e){Z(n,n.return,e)}}r&64&&Vc(n),r&512&&Uc(n,n.return);break;case 3:if(yl(e,n),r&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{Ka(e,t)}catch(e){Z(n,n.return,e)}}break;case 27:t===null&&r&4&&Zc(n);case 26:case 5:yl(e,n),t===null&&r&4&&Gc(n),r&512&&Uc(n,n.return);break;case 12:yl(e,n);break;case 31:yl(e,n),r&4&&ul(e,n);break;case 13:yl(e,n),r&4&&dl(e,n),r&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=Ju.bind(null,n),sf(e,n))));break;case 22:if(r=n.memoizedState!==null||Qc,!r){t=t!==null&&t.memoizedState!==null||$c,i=Qc;var a=$c;Qc=r,($c=t)&&!a?xl(e,n,(n.subtreeFlags&8772)!=0):yl(e,n),Qc=i,$c=a}break;case 30:break;default:yl(e,n)}}function al(e){var t=e.alternate;t!==null&&(e.alternate=null,al(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&<(t)),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 ol=null,sl=!1;function cl(e,t,n){for(n=n.child;n!==null;)ll(e,t,n),n=n.sibling}function ll(e,t,n){if(Ae&&typeof Ae.onCommitFiberUnmount==`function`)try{Ae.onCommitFiberUnmount(ke,n)}catch{}switch(n.tag){case 26:$c||Wc(n,t),cl(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:$c||Wc(n,t);var r=ol,i=sl;Zd(n.type)&&(ol=n.stateNode,sl=!1),cl(e,t,n),pf(n.stateNode),ol=r,sl=i;break;case 5:$c||Wc(n,t);case 6:if(r=ol,i=sl,ol=null,cl(e,t,n),ol=r,sl=i,ol!==null)if(sl)try{(ol.nodeType===9?ol.body:ol.nodeName===`HTML`?ol.ownerDocument.body:ol).removeChild(n.stateNode)}catch(e){Z(n,t,e)}else try{ol.removeChild(n.stateNode)}catch(e){Z(n,t,e)}break;case 18:ol!==null&&(sl?(e=ol,Qd(e.nodeType===9?e.body:e.nodeName===`HTML`?e.ownerDocument.body:e,n.stateNode),Np(e)):Qd(ol,n.stateNode));break;case 4:r=ol,i=sl,ol=n.stateNode.containerInfo,sl=!0,cl(e,t,n),ol=r,sl=i;break;case 0:case 11:case 14:case 15:Bc(2,n,t),$c||Bc(4,n,t),cl(e,t,n);break;case 1:$c||(Wc(n,t),r=n.stateNode,typeof r.componentWillUnmount==`function`&&Hc(n,t,r)),cl(e,t,n);break;case 21:cl(e,t,n);break;case 22:$c=(r=$c)||n.memoizedState!==null,cl(e,t,n),$c=r;break;default:cl(e,t,n)}}function ul(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Np(e)}catch(e){Z(t,t.return,e)}}}function dl(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Np(e)}catch(e){Z(t,t.return,e)}}function fl(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new tl),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new tl),t;default:throw Error(i(435,e.tag))}}function pl(e,t){var n=fl(e);t.forEach(function(t){if(!n.has(t)){n.add(t);var r=Yu.bind(null,e,t);t.then(r,r)}})}function ml(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var a=n[r],o=e,s=t,c=s;a:for(;c!==null;){switch(c.tag){case 27:if(Zd(c.type)){ol=c.stateNode,sl=!1;break a}break;case 5:ol=c.stateNode,sl=!1;break a;case 3:case 4:ol=c.stateNode.containerInfo,sl=!0;break a}c=c.return}if(ol===null)throw Error(i(160));ll(o,s,a),ol=null,sl=!1,o=a.alternate,o!==null&&(o.return=null),a.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)gl(t,e),t=t.sibling}var hl=null;function gl(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:ml(t,e),_l(e),r&4&&(Bc(3,e,e.return),zc(3,e),Bc(5,e,e.return));break;case 1:ml(t,e),_l(e),r&512&&($c||n===null||Wc(n,n.return)),r&64&&Qc&&(e=e.updateQueue,e!==null&&(r=e.callbacks,r!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?r:n.concat(r))));break;case 26:var a=hl;if(ml(t,e),_l(e),r&512&&($c||n===null||Wc(n,n.return)),r&4){var o=n===null?null:n.memoizedState;if(r=e.memoizedState,n===null)if(r===null)if(e.stateNode===null){a:{r=e.type,n=e.memoizedProps,a=a.ownerDocument||a;b:switch(r){case`title`:o=a.getElementsByTagName(`title`)[0],(!o||o[ct]||o[tt]||o.namespaceURI===`http://www.w3.org/2000/svg`||o.hasAttribute(`itemprop`))&&(o=a.createElement(r),a.head.insertBefore(o,a.querySelector(`head > title`))),Pd(o,r,n),o[tt]=e,mt(o),r=o;break a;case`link`:var s=Vf(`link`,`href`,a).get(r+(n.href||``));if(s){for(var c=0;c<s.length;c++)if(o=s[c],o.getAttribute(`href`)===(n.href==null||n.href===``?null:n.href)&&o.getAttribute(`rel`)===(n.rel==null?null:n.rel)&&o.getAttribute(`title`)===(n.title==null?null:n.title)&&o.getAttribute(`crossorigin`)===(n.crossOrigin==null?null:n.crossOrigin)){s.splice(c,1);break b}}o=a.createElement(r),Pd(o,r,n),a.head.appendChild(o);break;case`meta`:if(s=Vf(`meta`,`content`,a).get(r+(n.content||``))){for(c=0;c<s.length;c++)if(o=s[c],o.getAttribute(`content`)===(n.content==null?null:``+n.content)&&o.getAttribute(`name`)===(n.name==null?null:n.name)&&o.getAttribute(`property`)===(n.property==null?null:n.property)&&o.getAttribute(`http-equiv`)===(n.httpEquiv==null?null:n.httpEquiv)&&o.getAttribute(`charset`)===(n.charSet==null?null:n.charSet)){s.splice(c,1);break b}}o=a.createElement(r),Pd(o,r,n),a.head.appendChild(o);break;default:throw Error(i(468,r))}o[tt]=e,mt(o),r=o}e.stateNode=r}else Hf(a,e.type,e.stateNode);else e.stateNode=If(a,r,e.memoizedProps);else o===r?r===null&&e.stateNode!==null&&Kc(e,e.memoizedProps,n.memoizedProps):(o===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):o.count--,r===null?Hf(a,e.type,e.stateNode):If(a,r,e.memoizedProps))}break;case 27:ml(t,e),_l(e),r&512&&($c||n===null||Wc(n,n.return)),n!==null&&r&4&&Kc(e,e.memoizedProps,n.memoizedProps);break;case 5:if(ml(t,e),_l(e),r&512&&($c||n===null||Wc(n,n.return)),e.flags&32){a=e.stateNode;try{Bt(a,``)}catch(t){Z(e,e.return,t)}}r&4&&e.stateNode!=null&&(a=e.memoizedProps,Kc(e,a,n===null?a:n.memoizedProps)),r&1024&&(el=!0);break;case 6:if(ml(t,e),_l(e),r&4){if(e.stateNode===null)throw Error(i(162));r=e.memoizedProps,n=e.stateNode;try{n.nodeValue=r}catch(t){Z(e,e.return,t)}}break;case 3:if(Bf=null,a=hl,hl=gf(t.containerInfo),ml(t,e),hl=a,_l(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{Np(t.containerInfo)}catch(t){Z(e,e.return,t)}el&&(el=!1,vl(e));break;case 4:r=hl,hl=gf(e.stateNode.containerInfo),ml(t,e),_l(e),hl=r;break;case 12:ml(t,e),_l(e);break;case 31:ml(t,e),_l(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,pl(e,r)));break;case 13:ml(t,e),_l(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&($l=Se()),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,pl(e,r)));break;case 22:a=e.memoizedState!==null;var l=n!==null&&n.memoizedState!==null,u=Qc,d=$c;if(Qc=u||a,$c=d||l,ml(t,e),$c=d,Qc=u,_l(e),r&8192)a:for(t=e.stateNode,t._visibility=a?t._visibility&-2:t._visibility|1,a&&(n===null||l||Qc||$c||bl(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){l=n=t;try{if(o=l.stateNode,a)s=o.style,typeof s.setProperty==`function`?s.setProperty(`display`,`none`,`important`):s.display=`none`;else{c=l.stateNode;var f=l.memoizedProps.style,p=f!=null&&f.hasOwnProperty(`display`)?f.display:null;c.style.display=p==null||typeof p==`boolean`?``:(``+p).trim()}}catch(e){Z(l,l.return,e)}}}else if(t.tag===6){if(n===null){l=t;try{l.stateNode.nodeValue=a?``:l.memoizedProps}catch(e){Z(l,l.return,e)}}}else if(t.tag===18){if(n===null){l=t;try{var m=l.stateNode;a?$d(m,!0):$d(l.stateNode,!1)}catch(e){Z(l,l.return,e)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break a;for(;t.sibling===null;){if(t.return===null||t.return===e)break a;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}r&4&&(r=e.updateQueue,r!==null&&(n=r.retryQueue,n!==null&&(r.retryQueue=null,pl(e,n))));break;case 19:ml(t,e),_l(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,pl(e,r)));break;case 30:break;case 21:break;default:ml(t,e),_l(e)}}function _l(e){var t=e.flags;if(t&2){try{for(var n,r=e.return;r!==null;){if(qc(r)){n=r;break}r=r.return}if(n==null)throw Error(i(160));switch(n.tag){case 27:var a=n.stateNode;Xc(e,Jc(e),a);break;case 5:var o=n.stateNode;n.flags&32&&(Bt(o,``),n.flags&=-33),Xc(e,Jc(e),o);break;case 3:case 4:var s=n.stateNode.containerInfo;Yc(e,Jc(e),s);break;default:throw Error(i(161))}}catch(t){Z(e,e.return,t)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function vl(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;vl(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function yl(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)il(e,t.alternate,t),t=t.sibling}function bl(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:Bc(4,t,t.return),bl(t);break;case 1:Wc(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount==`function`&&Hc(t,t.return,n),bl(t);break;case 27:pf(t.stateNode);case 26:case 5:Wc(t,t.return),bl(t);break;case 22:t.memoizedState===null&&bl(t);break;case 30:bl(t);break;default:bl(t)}e=e.sibling}}function xl(e,t,n){for(n&&=(t.subtreeFlags&8772)!=0,t=t.child;t!==null;){var r=t.alternate,i=e,a=t,o=a.flags;switch(a.tag){case 0:case 11:case 15:xl(i,a,n),zc(4,a);break;case 1:if(xl(i,a,n),r=a,i=r.stateNode,typeof i.componentDidMount==`function`)try{i.componentDidMount()}catch(e){Z(r,r.return,e)}if(r=a,i=r.updateQueue,i!==null){var s=r.stateNode;try{var c=i.shared.hiddenCallbacks;if(c!==null)for(i.shared.hiddenCallbacks=null,i=0;i<c.length;i++)Ga(c[i],s)}catch(e){Z(r,r.return,e)}}n&&o&64&&Vc(a),Uc(a,a.return);break;case 27:Zc(a);case 26:case 5:xl(i,a,n),n&&r===null&&o&4&&Gc(a),Uc(a,a.return);break;case 12:xl(i,a,n);break;case 31:xl(i,a,n),n&&o&4&&ul(i,a);break;case 13:xl(i,a,n),n&&o&4&&dl(i,a);break;case 22:a.memoizedState===null&&xl(i,a,n),Uc(a,a.return);break;case 30:break;default:xl(i,a,n)}t=t.sibling}}function Sl(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&ia(n))}function Cl(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&ia(e))}function wl(e,t,n,r){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)Tl(e,t,n,r),t=t.sibling}function Tl(e,t,n,r){var i=t.flags;switch(t.tag){case 0:case 11:case 15:wl(e,t,n,r),i&2048&&zc(9,t);break;case 1:wl(e,t,n,r);break;case 3:wl(e,t,n,r),i&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&ia(e)));break;case 12:if(i&2048){wl(e,t,n,r),e=t.stateNode;try{var a=t.memoizedProps,o=a.id,s=a.onPostCommit;typeof s==`function`&&s(o,t.alternate===null?`mount`:`update`,e.passiveEffectDuration,-0)}catch(e){Z(t,t.return,e)}}else wl(e,t,n,r);break;case 31:wl(e,t,n,r);break;case 13:wl(e,t,n,r);break;case 23:break;case 22:a=t.stateNode,o=t.alternate,t.memoizedState===null?a._visibility&2?wl(e,t,n,r):(a._visibility|=2,El(e,t,n,r,(t.subtreeFlags&10256)!=0||!1)):a._visibility&2?wl(e,t,n,r):Dl(e,t),i&2048&&Sl(o,t);break;case 24:wl(e,t,n,r),i&2048&&Cl(t.alternate,t);break;default:wl(e,t,n,r)}}function El(e,t,n,r,i){for(i&&=(t.subtreeFlags&10256)!=0||!1,t=t.child;t!==null;){var a=e,o=t,s=n,c=r,l=o.flags;switch(o.tag){case 0:case 11:case 15:El(a,o,s,c,i),zc(8,o);break;case 23:break;case 22:var u=o.stateNode;o.memoizedState===null?(u._visibility|=2,El(a,o,s,c,i)):u._visibility&2?El(a,o,s,c,i):Dl(a,o),i&&l&2048&&Sl(o.alternate,o);break;case 24:El(a,o,s,c,i),i&&l&2048&&Cl(o.alternate,o);break;default:El(a,o,s,c,i)}t=t.sibling}}function Dl(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,r=t,i=r.flags;switch(r.tag){case 22:Dl(n,r),i&2048&&Sl(r.alternate,r);break;case 24:Dl(n,r),i&2048&&Cl(r.alternate,r);break;default:Dl(n,r)}t=t.sibling}}var Ol=8192;function kl(e,t,n){if(e.subtreeFlags&Ol)for(e=e.child;e!==null;)Al(e,t,n),e=e.sibling}function Al(e,t,n){switch(e.tag){case 26:kl(e,t,n),e.flags&Ol&&e.memoizedState!==null&&Gf(n,hl,e.memoizedState,e.memoizedProps);break;case 5:kl(e,t,n);break;case 3:case 4:var r=hl;hl=gf(e.stateNode.containerInfo),kl(e,t,n),hl=r;break;case 22:e.memoizedState===null&&(r=e.alternate,r!==null&&r.memoizedState!==null?(r=Ol,Ol=16777216,kl(e,t,n),Ol=r):kl(e,t,n));break;default:kl(e,t,n)}}function jl(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function Ml(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];nl=r,Fl(r,e)}jl(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)Nl(e),e=e.sibling}function Nl(e){switch(e.tag){case 0:case 11:case 15:Ml(e),e.flags&2048&&Bc(9,e,e.return);break;case 3:Ml(e);break;case 12:Ml(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Pl(e)):Ml(e);break;default:Ml(e)}}function Pl(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];nl=r,Fl(r,e)}jl(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:Bc(8,t,t.return),Pl(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,Pl(t));break;default:Pl(t)}e=e.sibling}}function Fl(e,t){for(;nl!==null;){var n=nl;switch(n.tag){case 0:case 11:case 15:Bc(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var r=n.memoizedState.cachePool.pool;r!=null&&r.refCount++}break;case 24:ia(n.memoizedState.cache)}if(r=n.child,r!==null)r.return=n,nl=r;else a:for(n=e;nl!==null;){r=nl;var i=r.sibling,a=r.return;if(al(r),r===n){nl=null;break a}if(i!==null){i.return=a,nl=i;break a}nl=a}}}var Il={getCacheForType:function(e){var t=Xi(na),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return Xi(na).controller.signal}},Ll=typeof WeakMap==`function`?WeakMap:Map,q=0,Rl=null,J=null,Y=0,X=0,zl=null,Bl=!1,Vl=!1,Hl=!1,Ul=0,Wl=0,Gl=0,Kl=0,ql=0,Jl=0,Yl=0,Xl=null,Zl=null,Ql=!1,$l=0,eu=0,tu=1/0,nu=null,ru=null,iu=0,au=null,ou=null,su=0,cu=0,lu=null,uu=null,du=0,fu=null;function pu(){return q&2&&Y!==0?Y&-Y:M.T===null?Qe():dd()}function mu(){if(Jl===0)if(!(Y&536870912)||W){var e=Le;Le<<=1,!(Le&3932160)&&(Le=262144),Jl=e}else Jl=536870912;return e=Qa.current,e!==null&&(e.flags|=32),Jl}function hu(e,t,n){(e===Rl&&(X===2||X===9)||e.cancelPendingCommit!==null)&&(Su(e,0),yu(e,Y,Jl,!1)),Ge(e,n),(!(q&2)||e!==Rl)&&(e===Rl&&(!(q&2)&&(Kl|=n),Wl===4&&yu(e,Y,Jl,!1)),rd(e))}function gu(e,t,n){if(q&6)throw Error(i(327));var r=!n&&(t&127)==0&&(t&e.expiredLanes)===0||Ve(e,t),a=r?Au(e,t):Ou(e,t,!0),o=r;do{if(a===0){Vl&&!r&&yu(e,t,0,!1);break}else{if(n=e.current.alternate,o&&!vu(n)){a=Ou(e,t,!1),o=!1;continue}if(a===2){if(o=t,e.errorRecoveryDisabledLanes&o)var s=0;else s=e.pendingLanes&-536870913,s=s===0?s&536870912?536870912:0:s;if(s!==0){t=s;a:{var c=e;a=Xl;var l=c.current.memoizedState.isDehydrated;if(l&&(Su(c,s).flags|=256),s=Ou(c,s,!1),s!==2){if(Hl&&!l){c.errorRecoveryDisabledLanes|=o,Kl|=o,a=4;break a}o=Zl,Zl=a,o!==null&&(Zl===null?Zl=o:Zl.push.apply(Zl,o))}a=s}if(o=!1,a!==2)continue}}if(a===1){Su(e,0),yu(e,t,0,!0);break}a:{switch(r=e,o=a,o){case 0:case 1:throw Error(i(345));case 4:if((t&4194048)!==t)break;case 6:yu(r,t,Jl,!Bl);break a;case 2:Zl=null;break;case 3:case 5:break;default:throw Error(i(329))}if((t&62914560)===t&&(a=$l+300-Se(),10<a)){if(yu(r,t,Jl,!Bl),Be(r,0,!0)!==0)break a;su=t,r.timeoutHandle=Kd(_u.bind(null,r,n,Zl,nu,Ql,t,Jl,Kl,Yl,Bl,o,`Throttled`,-0,0),a);break a}_u(r,n,Zl,nu,Ql,t,Jl,Kl,Yl,Bl,o,null,-0,0)}}break}while(1);rd(e)}function _u(e,t,n,r,i,a,o,s,c,l,u,d,f,p){if(e.timeoutHandle=-1,d=t.subtreeFlags,d&8192||(d&16785408)==16785408){d={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:Jt},Al(t,a,d);var m=(a&62914560)===a?$l-Se():(a&4194048)===a?eu-Se():0;if(m=qf(d,m),m!==null){su=a,e.cancelPendingCommit=m(Lu.bind(null,e,t,a,n,r,i,o,s,c,u,d,null,f,p)),yu(e,a,o,!l);return}}Lu(e,t,a,n,r,i,o,s,c)}function vu(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var r=0;r<n.length;r++){var i=n[r],a=i.getSnapshot;i=i.value;try{if(!_r(a(),i))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function yu(e,t,n,r){t&=~ql,t&=~Kl,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var i=t;0<i;){var a=31-Me(i),o=1<<a;r[a]=-1,i&=~o}n!==0&&qe(e,n,t)}function bu(){return q&6?!0:(id(0,!1),!1)}function xu(){if(J!==null){if(X===0)var e=J.return;else e=J,Hi=Vi=null,To(e),Da=null,Oa=0,e=J;for(;e!==null;)Rc(e.alternate,e),e=e.return;J=null}}function Su(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,qd(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),su=0,xu(),Rl=e,J=n=ai(e.current,null),Y=t,X=0,zl=null,Bl=!1,Vl=Ve(e,t),Hl=!1,Yl=Jl=ql=Kl=Gl=Wl=0,Zl=Xl=null,Ql=!1,t&8&&(t|=t&32);var r=e.entangledLanes;if(r!==0)for(e=e.entanglements,r&=t;0<r;){var i=31-Me(r),a=1<<i;t|=e[i],r&=~a}return Ul=t,Yr(),n}function Cu(e,t){G=null,M.H=Fs,t===_a||t===ya?(t=Ta(),X=3):t===va?(t=Ta(),X=4):X=t===$s?8:typeof t==`object`&&t&&typeof t.then==`function`?6:1,zl=t,J===null&&(Wl=1,qs(e,pi(t,e.current)))}function wu(){var e=Qa.current;return e===null?!0:(Y&4194048)===Y?$a===null:(Y&62914560)===Y||Y&536870912?e===$a:!1}function Tu(){var e=M.H;return M.H=Fs,e===null?Fs:e}function Eu(){var e=M.A;return M.A=Il,e}function Du(){Wl=4,Bl||(Y&4194048)!==Y&&Qa.current!==null||(Vl=!0),!(Gl&134217727)&&!(Kl&134217727)||Rl===null||yu(Rl,Y,Jl,!1)}function Ou(e,t,n){var r=q;q|=2;var i=Tu(),a=Eu();(Rl!==e||Y!==t)&&(nu=null,Su(e,t)),t=!1;var o=Wl;a:do try{if(X!==0&&J!==null){var s=J,c=zl;switch(X){case 8:xu(),o=6;break a;case 3:case 2:case 9:case 6:Qa.current===null&&(t=!0);var l=X;if(X=0,zl=null,Pu(e,s,c,l),n&&Vl){o=0;break a}break;default:l=X,X=0,zl=null,Pu(e,s,c,l)}}ku(),o=Wl;break}catch(t){Cu(e,t)}while(1);return t&&e.shellSuspendCounter++,Hi=Vi=null,q=r,M.H=i,M.A=a,J===null&&(Rl=null,Y=0,Yr()),o}function ku(){for(;J!==null;)Mu(J)}function Au(e,t){var n=q;q|=2;var r=Tu(),a=Eu();Rl!==e||Y!==t?(nu=null,tu=Se()+500,Su(e,t)):Vl=Ve(e,t);a:do try{if(X!==0&&J!==null){t=J;var o=zl;b:switch(X){case 1:X=0,zl=null,Pu(e,t,o,1);break;case 2:case 9:if(xa(o)){X=0,zl=null,Nu(t);break}t=function(){X!==2&&X!==9||Rl!==e||(X=7),rd(e)},o.then(t,t);break a;case 3:X=7;break a;case 4:X=5;break a;case 7:xa(o)?(X=0,zl=null,Nu(t)):(X=0,zl=null,Pu(e,t,o,7));break;case 5:var s=null;switch(J.tag){case 26:s=J.memoizedState;case 5:case 27:var c=J;if(s?Wf(s):c.stateNode.complete){X=0,zl=null;var l=c.sibling;if(l!==null)J=l;else{var u=c.return;u===null?J=null:(J=u,Fu(u))}break b}}X=0,zl=null,Pu(e,t,o,5);break;case 6:X=0,zl=null,Pu(e,t,o,6);break;case 8:xu(),Wl=6;break a;default:throw Error(i(462))}}ju();break}catch(t){Cu(e,t)}while(1);return Hi=Vi=null,M.H=r,M.A=a,q=n,J===null?(Rl=null,Y=0,Yr(),Wl):0}function ju(){for(;J!==null&&!xe();)Mu(J)}function Mu(e){var t=kc(e.alternate,e,Ul);e.memoizedProps=e.pendingProps,t===null?Fu(e):J=t}function Nu(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=pc(n,t,t.pendingProps,t.type,void 0,Y);break;case 11:t=pc(n,t,t.pendingProps,t.type.render,t.ref,Y);break;case 5:To(t);default:Rc(n,t),t=J=oi(t,Ul),t=kc(n,t,Ul)}e.memoizedProps=e.pendingProps,t===null?Fu(e):J=t}function Pu(e,t,n,r){Hi=Vi=null,To(t),Da=null,Oa=0;var i=t.return;try{if(Qs(e,i,t,n,Y)){Wl=1,qs(e,pi(n,e.current)),J=null;return}}catch(t){if(i!==null)throw J=i,t;Wl=1,qs(e,pi(n,e.current)),J=null;return}t.flags&32768?(W||r===1?e=!0:Vl||Y&536870912?e=!1:(Bl=e=!0,(r===2||r===9||r===3||r===6)&&(r=Qa.current,r!==null&&r.tag===13&&(r.flags|=16384))),Iu(t,e)):Fu(t)}function Fu(e){var t=e;do{if(t.flags&32768){Iu(t,Bl);return}e=t.return;var n=Ic(t.alternate,t,Ul);if(n!==null){J=n;return}if(t=t.sibling,t!==null){J=t;return}J=t=e}while(t!==null);Wl===0&&(Wl=5)}function Iu(e,t){do{var n=Lc(e.alternate,e);if(n!==null){n.flags&=32767,J=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){J=e;return}J=e=n}while(e!==null);Wl=6,J=null}function Lu(e,t,n,r,a,o,s,c,l){e.cancelPendingCommit=null;do Hu();while(iu!==0);if(q&6)throw Error(i(327));if(t!==null){if(t===e.current)throw Error(i(177));if(o=t.lanes|t.childLanes,o|=Jr,Ke(e,n,o,s,c,l),e===Rl&&(J=Rl=null,Y=0),ou=t,au=e,su=n,cu=o,lu=a,uu=r,t.subtreeFlags&10256||t.flags&10256?(e.callbackNode=null,e.callbackPriority=0,Xu(U,function(){return Uu(),null})):(e.callbackNode=null,e.callbackPriority=0),r=(t.flags&13878)!=0,t.subtreeFlags&13878||r){r=M.T,M.T=null,a=N.p,N.p=2,s=q,q|=4;try{rl(e,t,n)}finally{q=s,N.p=a,M.T=r}}iu=1,Ru(),zu(),Bu()}}function Ru(){if(iu===1){iu=0;var e=au,t=ou,n=(t.flags&13878)!=0;if(t.subtreeFlags&13878||n){n=M.T,M.T=null;var r=N.p;N.p=2;var i=q;q|=4;try{gl(t,e);var a=zd,o=Sr(e.containerInfo),s=a.focusedElem,c=a.selectionRange;if(o!==s&&s&&s.ownerDocument&&xr(s.ownerDocument.documentElement,s)){if(c!==null&&Cr(s)){var l=c.start,u=c.end;if(u===void 0&&(u=l),`selectionStart`in s)s.selectionStart=l,s.selectionEnd=Math.min(u,s.value.length);else{var d=s.ownerDocument||document,f=d&&d.defaultView||window;if(f.getSelection){var p=f.getSelection(),m=s.textContent.length,h=Math.min(c.start,m),g=c.end===void 0?h:Math.min(c.end,m);!p.extend&&h>g&&(o=g,g=h,h=o);var _=br(s,h),v=br(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;s<d.length;s++){var b=d[s];b.element.scrollLeft=b.left,b.element.scrollTop=b.top}}sp=!!Rd,zd=Rd=null}finally{q=i,N.p=r,M.T=n}}e.current=t,iu=2}}function zu(){if(iu===2){iu=0;var e=au,t=ou,n=(t.flags&8772)!=0;if(t.subtreeFlags&8772||n){n=M.T,M.T=null;var r=N.p;N.p=2;var i=q;q|=4;try{il(e,t.alternate,t)}finally{q=i,N.p=r,M.T=n}}iu=3}}function Bu(){if(iu===4||iu===3){iu=0,V();var e=au,t=ou,n=su,r=uu;t.subtreeFlags&10256||t.flags&10256?iu=5:(iu=0,ou=au=null,Vu(e,e.pendingLanes));var i=e.pendingLanes;if(i===0&&(ru=null),Ze(n),t=t.stateNode,Ae&&typeof Ae.onCommitFiberRoot==`function`)try{Ae.onCommitFiberRoot(ke,t,void 0,(t.current.flags&128)==128)}catch{}if(r!==null){t=M.T,i=N.p,N.p=2,M.T=null;try{for(var a=e.onRecoverableError,o=0;o<r.length;o++){var s=r[o];a(s.value,{componentStack:s.stack})}}finally{M.T=t,N.p=i}}su&3&&Hu(),rd(e),i=e.pendingLanes,n&261930&&i&42?e===fu?du++:(du=0,fu=e):du=0,id(0,!1)}}function Vu(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,ia(t)))}function Hu(){return Ru(),zu(),Bu(),Uu()}function Uu(){if(iu!==5)return!1;var e=au,t=cu;cu=0;var n=Ze(su),r=M.T,a=N.p;try{N.p=32>n?32:n,M.T=null,n=lu,lu=null;var o=au,s=su;if(iu=0,ou=au=null,su=0,q&6)throw Error(i(331));var c=q;if(q|=4,Nl(o.current),Tl(o,o.current,s,n),q=c,id(0,!1),Ae&&typeof Ae.onPostCommitFiberRoot==`function`)try{Ae.onPostCommitFiberRoot(ke,o)}catch{}return!0}finally{N.p=a,M.T=r,Vu(e,t)}}function Wu(e,t,n){t=pi(n,t),t=Ys(e.stateNode,t,2),e=za(e,t,2),e!==null&&(Ge(e,2),rd(e))}function Z(e,t,n){if(e.tag===3)Wu(e,e,n);else for(;t!==null;){if(t.tag===3){Wu(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(ru===null||!ru.has(r))){e=pi(n,e),n=Xs(2),r=za(t,n,2),r!==null&&(Zs(n,r,t,e),Ge(r,2),rd(r));break}}t=t.return}}function Gu(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Ll;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(Hl=!0,i.add(n),e=Ku.bind(null,e,t,n),t.then(e,e))}function Ku(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Rl===e&&(Y&n)===n&&(Wl===4||Wl===3&&(Y&62914560)===Y&&300>Se()-$l?!(q&2)&&Su(e,0):ql|=n,Yl===Y&&(Yl=0)),rd(e)}function qu(e,t){t===0&&(t=Ue()),e=Qr(e,t),e!==null&&(Ge(e,t),rd(e))}function Ju(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),qu(e,n)}function Yu(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(i(314))}r!==null&&r.delete(t),qu(e,n)}function Xu(e,t){return ye(e,t)}var Zu=null,Qu=null,$u=!1,ed=!1,td=!1,nd=0;function rd(e){e!==Qu&&e.next===null&&(Qu===null?Zu=Qu=e:Qu=Qu.next=e),ed=!0,$u||($u=!0,ud())}function id(e,t){if(!td&&ed){td=!0;do for(var n=!1,r=Zu;r!==null;){if(!t)if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-Me(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,ld(r,a))}else a=Y,a=Be(r,r===Rl?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||Ve(r,a)||(n=!0,ld(r,a));r=r.next}while(n);td=!1}}function ad(){od()}function od(){ed=$u=!1;var e=0;nd!==0&&Gd()&&(e=nd);for(var t=Se(),n=null,r=Zu;r!==null;){var i=r.next,a=sd(r,t);a===0?(r.next=null,n===null?Zu=i:n.next=i,i===null&&(Qu=n)):(n=r,(e!==0||a&3)&&(ed=!0)),r=i}iu!==0&&iu!==5||id(e,!1),nd!==0&&(nd=0)}function sd(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0<a;){var o=31-Me(a),s=1<<o,c=i[o];c===-1?((s&n)===0||(s&r)!==0)&&(i[o]=He(s,t)):c<=t&&(e.expiredLanes|=s),a&=~s}if(t=Rl,n=Y,n=Be(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r=e.callbackNode,n===0||e===t&&(X===2||X===9)||e.cancelPendingCommit!==null)return r!==null&&r!==null&&be(r),e.callbackNode=null,e.callbackPriority=0;if(!(n&3)||Ve(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(r!==null&&be(r),Ze(n)){case 2:case 8:n=H;break;case 32:n=U;break;case 268435456:n=Ee;break;default:n=U}return r=cd.bind(null,e),n=ye(n,r),e.callbackPriority=t,e.callbackNode=n,t}return r!==null&&r!==null&&be(r),e.callbackPriority=2,e.callbackNode=null,2}function cd(e,t){if(iu!==0&&iu!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(Hu()&&e.callbackNode!==n)return null;var r=Y;return r=Be(e,e===Rl?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r===0?null:(gu(e,r,t),sd(e,Se()),e.callbackNode!=null&&e.callbackNode===n?cd.bind(null,e):null)}function ld(e,t){if(Hu())return null;gu(e,t,!0)}function ud(){Yd(function(){q&6?ye(we,ad):od()})}function dd(){if(nd===0){var e=sa;e===0&&(e=Ie,Ie<<=1,!(Ie&261888)&&(Ie=256)),nd=e}return nd}function fd(e){return e==null||typeof e==`symbol`||typeof e==`boolean`?null:typeof e==`function`?e:qt(``+e)}function pd(e,t){var n=t.ownerDocument.createElement(`input`);return n.name=t.name,n.value=t.value,e.id&&n.setAttribute(`form`,e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function md(e,t,n,r,i){if(t===`submit`&&n&&n.stateNode===i){var a=fd((i[nt]||null).action),o=r.submitter;o&&(t=(t=o[nt]||null)?fd(t.formAction):o.getAttribute(`formAction`),t!==null&&(a=t,o=null));var s=new gn(`action`,`action`,null,r,i);e.push({event:s,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(nd!==0){var e=o?pd(i,o):new FormData(i);xs(n,{pending:!0,data:e,method:i.method,action:a},null,e)}}else typeof a==`function`&&(s.preventDefault(),e=o?pd(i,o):new FormData(i),xs(n,{pending:!0,data:e,method:i.method,action:a},a,e))},currentTarget:i}]})}}for(var hd=0;hd<Ur.length;hd++){var gd=Ur[hd];Wr(gd.toLowerCase(),`on`+(gd[0].toUpperCase()+gd.slice(1)))}Wr(Fr,`onAnimationEnd`),Wr(Ir,`onAnimationIteration`),Wr(Lr,`onAnimationStart`),Wr(`dblclick`,`onDoubleClick`),Wr(`focusin`,`onFocus`),Wr(`focusout`,`onBlur`),Wr(Rr,`onTransitionRun`),Wr(zr,`onTransitionStart`),Wr(Br,`onTransitionCancel`),Wr(Vr,`onTransitionEnd`),vt(`onMouseEnter`,[`mouseout`,`mouseover`]),vt(`onMouseLeave`,[`mouseout`,`mouseover`]),vt(`onPointerEnter`,[`pointerout`,`pointerover`]),vt(`onPointerLeave`,[`pointerout`,`pointerover`]),_t(`onChange`,`change click focusin focusout input keydown keyup selectionchange`.split(` `)),_t(`onSelect`,`focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange`.split(` `)),_t(`onBeforeInput`,[`compositionend`,`keypress`,`textInput`,`paste`]),_t(`onCompositionEnd`,`compositionend focusout keydown keypress keyup mousedown`.split(` `)),_t(`onCompositionStart`,`compositionstart focusout keydown keypress keyup mousedown`.split(` `)),_t(`onCompositionUpdate`,`compositionupdate focusout keydown keypress keyup mousedown`.split(` `));var _d=`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(` `),vd=new Set(`beforetoggle cancel close invalid load scroll scrollend toggle`.split(` `).concat(_d));function yd(e,t){t=(t&4)!=0;for(var n=0;n<e.length;n++){var r=e[n],i=r.event;r=r.listeners;a:{var a=void 0;if(t)for(var o=r.length-1;0<=o;o--){var s=r[o],c=s.instance,l=s.currentTarget;if(s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){Gr(e)}i.currentTarget=null,a=c}else for(o=0;o<r.length;o++){if(s=r[o],c=s.instance,l=s.currentTarget,s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){Gr(e)}i.currentTarget=null,a=c}}}}function Q(e,t){var n=t[it];n===void 0&&(n=t[it]=new Set);var r=e+`__bubble`;n.has(r)||(Cd(t,e,2,!1),n.add(r))}function bd(e,t,n){var r=0;t&&(r|=4),Cd(n,e,r,t)}var xd=`_reactListening`+Math.random().toString(36).slice(2);function Sd(e){if(!e[xd]){e[xd]=!0,ht.forEach(function(t){t!==`selectionchange`&&(vd.has(t)||bd(t,!1,e),bd(t,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[xd]||(t[xd]=!0,bd(`selectionchange`,!1,t))}}function Cd(e,t,n,r){switch(mp(t)){case 2:var i=cp;break;case 8:i=lp;break;default:i=up}n=i.bind(null,t,n,e),i=void 0,!an||t!==`touchstart`&&t!==`touchmove`&&t!==`wheel`||(i=!0),r?i===void 0?e.addEventListener(t,n,!0):e.addEventListener(t,n,{capture:!0,passive:i}):i===void 0?e.addEventListener(t,n,!1):e.addEventListener(t,n,{passive:i})}function wd(e,t,n,r,i){var a=r;if(!(t&1)&&!(t&2)&&r!==null)a:for(;;){if(r===null)return;var s=r.tag;if(s===3||s===4){var c=r.stateNode.containerInfo;if(c===i)break;if(s===4)for(s=r.return;s!==null;){var l=s.tag;if((l===3||l===4)&&s.stateNode.containerInfo===i)return;s=s.return}for(;c!==null;){if(s=ut(c),s===null)return;if(l=s.tag,l===5||l===6||l===26||l===27){r=a=s;continue a}c=c.parentNode}}r=r.return}tn(function(){var r=a,i=Xt(n),s=[];a:{var c=Hr.get(e);if(c!==void 0){var l=gn,u=e;switch(e){case`keypress`:if(dn(n)===0)break a;case`keydown`:case`keyup`:l=Pn;break;case`focusin`:u=`focus`,l=Tn;break;case`focusout`:u=`blur`,l=Tn;break;case`beforeblur`:case`afterblur`:l=Tn;break;case`click`:if(n.button===2)break a;case`auxclick`:case`dblclick`:case`mousedown`:case`mousemove`:case`mouseup`:case`mouseout`:case`mouseover`:case`contextmenu`:l=Cn;break;case`drag`:case`dragend`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`dragstart`:case`drop`:l=wn;break;case`touchcancel`:case`touchend`:case`touchmove`:case`touchstart`:l=In;break;case Fr:case Ir:case Lr:l=En;break;case Vr:l=Ln;break;case`scroll`:case`scrollend`:l=vn;break;case`wheel`:l=Rn;break;case`copy`:case`cut`:case`paste`:l=Dn;break;case`gotpointercapture`:case`lostpointercapture`:case`pointercancel`:case`pointerdown`:case`pointermove`:case`pointerout`:case`pointerover`:case`pointerup`:l=Fn;break;case`toggle`:case`beforetoggle`:l=zn}var d=(t&4)!=0,f=!d&&(e===`scroll`||e===`scrollend`),p=d?c===null?null:c+`Capture`:c;d=[];for(var m=r,h;m!==null;){var g=m;if(h=g.stateNode,g=g.tag,g!==5&&g!==26&&g!==27||h===null||p===null||(g=nn(m,p),g!=null&&d.push(Td(m,g,h))),f)break;m=m.return}0<d.length&&(c=new l(c,u,null,n,i),s.push({event:c,listeners:d}))}}if(!(t&7)){a:{if(c=e===`mouseover`||e===`pointerover`,l=e===`mouseout`||e===`pointerout`,c&&n!==Yt&&(u=n.relatedTarget||n.fromElement)&&(ut(u)||u[rt]))break a;if((l||c)&&(c=i.window===i?i:(c=i.ownerDocument)?c.defaultView||c.parentWindow:window,l?(u=n.relatedTarget||n.toElement,l=r,u=u?ut(u):null,u!==null&&(f=o(u),d=u.tag,u!==f||d!==5&&d!==27&&d!==6)&&(u=null)):(l=null,u=r),l!==u)){if(d=Cn,g=`onMouseLeave`,p=`onMouseEnter`,m=`mouse`,(e===`pointerout`||e===`pointerover`)&&(d=Fn,g=`onPointerLeave`,p=`onPointerEnter`,m=`pointer`),f=l==null?c:ft(l),h=u==null?c:ft(u),c=new d(g,m+`leave`,l,n,i),c.target=f,c.relatedTarget=h,g=null,ut(i)===r&&(d=new d(p,m+`enter`,u,n,i),d.target=h,d.relatedTarget=f,g=d),f=g,l&&u)b:{for(d=Dd,p=l,m=u,h=0,g=p;g;g=d(g))h++;g=0;for(var _=m;_;_=d(_))g++;for(;0<h-g;)p=d(p),h--;for(;0<g-h;)m=d(m),g--;for(;h--;){if(p===m||m!==null&&p===m.alternate){d=p;break b}p=d(p),m=d(m)}d=null}else d=null;l!==null&&Od(s,c,l,d,!1),u!==null&&f!==null&&Od(s,f,u,d,!0)}}a:{if(c=r?ft(r):window,l=c.nodeName&&c.nodeName.toLowerCase(),l===`select`||l===`input`&&c.type===`file`)var v=ar;else if($n(c))if(or)v=hr;else{v=pr;var y=fr}else l=c.nodeName,!l||l.toLowerCase()!==`input`||c.type!==`checkbox`&&c.type!==`radio`?r&&Wt(r.elementType)&&(v=ar):v=mr;if(v&&=v(e,r)){er(s,v,n,i);break a}y&&y(e,c,r),e===`focusout`&&r&&c.type===`number`&&r.memoizedProps.value!=null&&It(c,`number`,c.value)}switch(y=r?ft(r):window,e){case`focusin`:($n(y)||y.contentEditable===`true`)&&(Tr=y,Er=r,Dr=null);break;case`focusout`:Dr=Er=Tr=null;break;case`mousedown`:Or=!0;break;case`contextmenu`:case`mouseup`:case`dragend`:Or=!1,kr(s,n,i);break;case`selectionchange`:if(wr)break;case`keydown`:case`keyup`:kr(s,n,i)}var b;if(Vn)b:{switch(e){case`compositionstart`:var x=`onCompositionStart`;break b;case`compositionend`:x=`onCompositionEnd`;break b;case`compositionupdate`:x=`onCompositionUpdate`;break b}x=void 0}else Yn?qn(e,n)&&(x=`onCompositionEnd`):e===`keydown`&&n.keyCode===229&&(x=`onCompositionStart`);x&&(Wn&&n.locale!==`ko`&&(Yn||x!==`onCompositionStart`?x===`onCompositionEnd`&&Yn&&(b=un()):(sn=i,cn=`value`in sn?sn.value:sn.textContent,Yn=!0)),y=Ed(r,x),0<y.length&&(x=new On(x,e,null,n,i),s.push({event:x,listeners:y}),b?x.data=b:(b=Jn(n),b!==null&&(x.data=b)))),(b=Un?Xn(e,n):Zn(e,n))&&(x=Ed(r,`onBeforeInput`),0<x.length&&(y=new On(`onBeforeInput`,`beforeinput`,null,n,i),s.push({event:y,listeners:x}),y.data=b)),md(s,e,r,n,i)}yd(s,t)})}function Td(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Ed(e,t){for(var n=t+`Capture`,r=[];e!==null;){var i=e,a=i.stateNode;if(i=i.tag,i!==5&&i!==26&&i!==27||a===null||(i=nn(e,n),i!=null&&r.unshift(Td(e,i,a)),i=nn(e,t),i!=null&&r.push(Td(e,i,a))),e.tag===3)return r;e=e.return}return[]}function Dd(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Od(e,t,n,r,i){for(var a=t._reactName,o=[];n!==null&&n!==r;){var s=n,c=s.alternate,l=s.stateNode;if(s=s.tag,c!==null&&c===r)break;s!==5&&s!==26&&s!==27||l===null||(c=l,i?(l=nn(n,a),l!=null&&o.unshift(Td(n,l,c))):i||(l=nn(n,a),l!=null&&o.push(Td(n,l,c)))),n=n.return}o.length!==0&&e.push({event:t,listeners:o})}var kd=/\r\n?/g,Ad=/\u0000|\uFFFD/g;function jd(e){return(typeof e==`string`?e:``+e).replace(kd,`
|
||
`).replace(Ad,``)}function Md(e,t){return t=jd(t),jd(e)===t}function $(e,t,n,r,a,o){switch(n){case`children`:typeof r==`string`?t===`body`||t===`textarea`&&r===``||Bt(e,r):(typeof r==`number`||typeof r==`bigint`)&&t!==`body`&&Bt(e,``+r);break;case`className`:wt(e,`class`,r);break;case`tabIndex`:wt(e,`tabindex`,r);break;case`dir`:case`role`:case`viewBox`:case`width`:case`height`:wt(e,n,r);break;case`style`:Ut(e,r,o);break;case`data`:if(t!==`object`){wt(e,`data`,r);break}case`src`:case`href`:if(r===``&&(t!==`a`||n!==`href`)){e.removeAttribute(n);break}if(r==null||typeof r==`function`||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=qt(``+r),e.setAttribute(n,r);break;case`action`:case`formAction`:if(typeof r==`function`){e.setAttribute(n,`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 o==`function`&&(n===`formAction`?(t!==`input`&&$(e,t,`name`,a.name,a,null),$(e,t,`formEncType`,a.formEncType,a,null),$(e,t,`formMethod`,a.formMethod,a,null),$(e,t,`formTarget`,a.formTarget,a,null)):($(e,t,`encType`,a.encType,a,null),$(e,t,`method`,a.method,a,null),$(e,t,`target`,a.target,a,null)));if(r==null||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=qt(``+r),e.setAttribute(n,r);break;case`onClick`:r!=null&&(e.onclick=Jt);break;case`onScroll`:r!=null&&Q(`scroll`,e);break;case`onScrollEnd`:r!=null&&Q(`scrollend`,e);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(i(61));if(n=r.__html,n!=null){if(a.children!=null)throw Error(i(60));e.innerHTML=n}}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}n=qt(``+r),e.setAttributeNS(`http://www.w3.org/1999/xlink`,`xlink:href`,n);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(n,``+r):e.removeAttribute(n);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(n,``):e.removeAttribute(n);break;case`capture`:case`download`:!0===r?e.setAttribute(n,``):!1!==r&&r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,r):e.removeAttribute(n);break;case`cols`:case`rows`:case`size`:case`span`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`&&!isNaN(r)&&1<=r?e.setAttribute(n,r):e.removeAttribute(n);break;case`rowSpan`:case`start`:r==null||typeof r==`function`||typeof r==`symbol`||isNaN(r)?e.removeAttribute(n):e.setAttribute(n,r);break;case`popover`:Q(`beforetoggle`,e),Q(`toggle`,e),Ct(e,`popover`,r);break;case`xlinkActuate`:Tt(e,`http://www.w3.org/1999/xlink`,`xlink:actuate`,r);break;case`xlinkArcrole`:Tt(e,`http://www.w3.org/1999/xlink`,`xlink:arcrole`,r);break;case`xlinkRole`:Tt(e,`http://www.w3.org/1999/xlink`,`xlink:role`,r);break;case`xlinkShow`:Tt(e,`http://www.w3.org/1999/xlink`,`xlink:show`,r);break;case`xlinkTitle`:Tt(e,`http://www.w3.org/1999/xlink`,`xlink:title`,r);break;case`xlinkType`:Tt(e,`http://www.w3.org/1999/xlink`,`xlink:type`,r);break;case`xmlBase`:Tt(e,`http://www.w3.org/XML/1998/namespace`,`xml:base`,r);break;case`xmlLang`:Tt(e,`http://www.w3.org/XML/1998/namespace`,`xml:lang`,r);break;case`xmlSpace`:Tt(e,`http://www.w3.org/XML/1998/namespace`,`xml:space`,r);break;case`is`:Ct(e,`is`,r);break;case`innerText`:case`textContent`:break;default:(!(2<n.length)||n[0]!==`o`&&n[0]!==`O`||n[1]!==`n`&&n[1]!==`N`)&&(n=Gt.get(n)||n,Ct(e,n,r))}}function Nd(e,t,n,r,a,o){switch(n){case`style`:Ut(e,r,o);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(i(61));if(n=r.__html,n!=null){if(a.children!=null)throw Error(i(60));e.innerHTML=n}}break;case`children`:typeof r==`string`?Bt(e,r):(typeof r==`number`||typeof r==`bigint`)&&Bt(e,``+r);break;case`onScroll`:r!=null&&Q(`scroll`,e);break;case`onScrollEnd`:r!=null&&Q(`scrollend`,e);break;case`onClick`:r!=null&&(e.onclick=Jt);break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`innerHTML`:case`ref`:break;case`innerText`:case`textContent`:break;default:if(!gt.hasOwnProperty(n))a:{if(n[0]===`o`&&n[1]===`n`&&(a=n.endsWith(`Capture`),t=n.slice(2,a?n.length-7:void 0),o=e[nt]||null,o=o==null?null:o[n],typeof o==`function`&&e.removeEventListener(t,o,a),typeof r==`function`)){typeof o!=`function`&&o!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,r,a);break a}n in e?e[n]=r:!0===r?e.setAttribute(n,``):Ct(e,n,r)}}}function Pd(e,t,n){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`img`:Q(`error`,e),Q(`load`,e);var r=!1,a=!1,o;for(o in n)if(n.hasOwnProperty(o)){var s=n[o];if(s!=null)switch(o){case`src`:r=!0;break;case`srcSet`:a=!0;break;case`children`:case`dangerouslySetInnerHTML`:throw Error(i(137,t));default:$(e,t,o,s,n,null)}}a&&$(e,t,`srcSet`,n.srcSet,n,null),r&&$(e,t,`src`,n.src,n,null);return;case`input`:Q(`invalid`,e);var c=o=s=a=null,l=null,u=null;for(r in n)if(n.hasOwnProperty(r)){var d=n[r];if(d!=null)switch(r){case`name`:a=d;break;case`type`:s=d;break;case`checked`:l=d;break;case`defaultChecked`:u=d;break;case`value`:o=d;break;case`defaultValue`:c=d;break;case`children`:case`dangerouslySetInnerHTML`:if(d!=null)throw Error(i(137,t));break;default:$(e,t,r,d,n,null)}}Ft(e,o,c,l,u,s,a,!1);return;case`select`:for(a in Q(`invalid`,e),r=s=o=null,n)if(n.hasOwnProperty(a)&&(c=n[a],c!=null))switch(a){case`value`:o=c;break;case`defaultValue`:s=c;break;case`multiple`:r=c;default:$(e,t,a,c,n,null)}t=o,n=s,e.multiple=!!r,t==null?n!=null&&Lt(e,!!r,n,!0):Lt(e,!!r,t,!1);return;case`textarea`:for(s in Q(`invalid`,e),o=a=r=null,n)if(n.hasOwnProperty(s)&&(c=n[s],c!=null))switch(s){case`value`:r=c;break;case`defaultValue`:a=c;break;case`children`:o=c;break;case`dangerouslySetInnerHTML`:if(c!=null)throw Error(i(91));break;default:$(e,t,s,c,n,null)}zt(e,r,a,o);return;case`option`:for(l in n)if(n.hasOwnProperty(l)&&(r=n[l],r!=null))switch(l){case`selected`:e.selected=r&&typeof r!=`function`&&typeof r!=`symbol`;break;default:$(e,t,l,r,n,null)}return;case`dialog`:Q(`beforetoggle`,e),Q(`toggle`,e),Q(`cancel`,e),Q(`close`,e);break;case`iframe`:case`object`:Q(`load`,e);break;case`video`:case`audio`:for(r=0;r<_d.length;r++)Q(_d[r],e);break;case`image`:Q(`error`,e),Q(`load`,e);break;case`details`:Q(`toggle`,e);break;case`embed`:case`source`:case`link`:Q(`error`,e),Q(`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(u in n)if(n.hasOwnProperty(u)&&(r=n[u],r!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:throw Error(i(137,t));default:$(e,t,u,r,n,null)}return;default:if(Wt(t)){for(d in n)n.hasOwnProperty(d)&&(r=n[d],r!==void 0&&Nd(e,t,d,r,n,void 0));return}}for(c in n)n.hasOwnProperty(c)&&(r=n[c],r!=null&&$(e,t,c,r,n,null))}function Fd(e,t,n,r){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`input`:var a=null,o=null,s=null,c=null,l=null,u=null,d=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&f!=null)switch(m){case`checked`:break;case`value`:break;case`defaultValue`:l=f;default:r.hasOwnProperty(m)||$(e,t,m,null,r,f)}}for(var p in r){var m=r[p];if(f=n[p],r.hasOwnProperty(p)&&(m!=null||f!=null))switch(p){case`type`:o=m;break;case`name`:a=m;break;case`checked`:u=m;break;case`defaultChecked`:d=m;break;case`value`:s=m;break;case`defaultValue`:c=m;break;case`children`:case`dangerouslySetInnerHTML`:if(m!=null)throw Error(i(137,t));break;default:m!==f&&$(e,t,p,m,r,f)}}Pt(e,s,c,l,u,d,o,a);return;case`select`:for(o in m=s=c=p=null,n)if(l=n[o],n.hasOwnProperty(o)&&l!=null)switch(o){case`value`:break;case`multiple`:m=l;default:r.hasOwnProperty(o)||$(e,t,o,null,r,l)}for(a in r)if(o=r[a],l=n[a],r.hasOwnProperty(a)&&(o!=null||l!=null))switch(a){case`value`:p=o;break;case`defaultValue`:c=o;break;case`multiple`:s=o;default:o!==l&&$(e,t,a,o,r,l)}t=c,n=s,r=m,p==null?!!r!=!!n&&(t==null?Lt(e,!!n,n?[]:``,!1):Lt(e,!!n,t,!0)):Lt(e,!!n,p,!1);return;case`textarea`:for(c in m=p=null,n)if(a=n[c],n.hasOwnProperty(c)&&a!=null&&!r.hasOwnProperty(c))switch(c){case`value`:break;case`children`:break;default:$(e,t,c,null,r,a)}for(s in r)if(a=r[s],o=n[s],r.hasOwnProperty(s)&&(a!=null||o!=null))switch(s){case`value`:p=a;break;case`defaultValue`:m=a;break;case`children`:break;case`dangerouslySetInnerHTML`:if(a!=null)throw Error(i(91));break;default:a!==o&&$(e,t,s,a,r,o)}Rt(e,p,m);return;case`option`:for(var h in n)if(p=n[h],n.hasOwnProperty(h)&&p!=null&&!r.hasOwnProperty(h))switch(h){case`selected`:e.selected=!1;break;default:$(e,t,h,null,r,p)}for(l in r)if(p=r[l],m=n[l],r.hasOwnProperty(l)&&p!==m&&(p!=null||m!=null))switch(l){case`selected`:e.selected=p&&typeof p!=`function`&&typeof p!=`symbol`;break;default:$(e,t,l,p,r,m)}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 g in n)p=n[g],n.hasOwnProperty(g)&&p!=null&&!r.hasOwnProperty(g)&&$(e,t,g,null,r,p);for(u in r)if(p=r[u],m=n[u],r.hasOwnProperty(u)&&p!==m&&(p!=null||m!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:if(p!=null)throw Error(i(137,t));break;default:$(e,t,u,p,r,m)}return;default:if(Wt(t)){for(var _ in n)p=n[_],n.hasOwnProperty(_)&&p!==void 0&&!r.hasOwnProperty(_)&&Nd(e,t,_,void 0,r,p);for(d in r)p=r[d],m=n[d],!r.hasOwnProperty(d)||p===m||p===void 0&&m===void 0||Nd(e,t,d,p,r,m);return}}for(var v in n)p=n[v],n.hasOwnProperty(v)&&p!=null&&!r.hasOwnProperty(v)&&$(e,t,v,null,r,p);for(f in r)p=r[f],m=n[f],!r.hasOwnProperty(f)||p===m||p==null&&m==null||$(e,t,f,p,r,m)}function Id(e){switch(e){case`css`:case`script`:case`font`:case`img`:case`image`:case`input`:case`link`:return!0;default:return!1}}function Ld(){if(typeof performance.getEntriesByType==`function`){for(var e=0,t=0,n=performance.getEntriesByType(`resource`),r=0;r<n.length;r++){var i=n[r],a=i.transferSize,o=i.initiatorType,s=i.duration;if(a&&s&&Id(o)){for(o=0,s=i.responseEnd,r+=1;r<n.length;r++){var c=n[r],l=c.startTime;if(l>s)break;var u=c.transferSize,d=c.initiatorType;u&&Id(d)&&(c=c.responseEnd,o+=u*(c<s?1:(s-l)/(c-l)))}if(--r,t+=8*(a+o)/(i.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e==`number`)?e:5}var Rd=null,zd=null;function Bd(e){return e.nodeType===9?e:e.ownerDocument}function Vd(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 Hd(e,t){if(e===0)switch(t){case`svg`:return 1;case`math`:return 2;default:return 0}return e===1&&t===`foreignObject`?0:e}function Ud(e,t){return e===`textarea`||e===`noscript`||typeof t.children==`string`||typeof t.children==`number`||typeof t.children==`bigint`||typeof t.dangerouslySetInnerHTML==`object`&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Wd=null;function Gd(){var e=window.event;return e&&e.type===`popstate`?e===Wd?!1:(Wd=e,!0):(Wd=null,!1)}var Kd=typeof setTimeout==`function`?setTimeout:void 0,qd=typeof clearTimeout==`function`?clearTimeout:void 0,Jd=typeof Promise==`function`?Promise:void 0,Yd=typeof queueMicrotask==`function`?queueMicrotask:Jd===void 0?Kd:function(e){return Jd.resolve(null).then(e).catch(Xd)};function Xd(e){setTimeout(function(){throw e})}function Zd(e){return e===`head`}function Qd(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&i.nodeType===8)if(n=i.data,n===`/$`||n===`/&`){if(r===0){e.removeChild(i),Np(t);return}r--}else if(n===`$`||n===`$?`||n===`$~`||n===`$!`||n===`&`)r++;else if(n===`html`)pf(e.ownerDocument.documentElement);else if(n===`head`){n=e.ownerDocument.head,pf(n);for(var a=n.firstChild;a;){var o=a.nextSibling,s=a.nodeName;a[ct]||s===`SCRIPT`||s===`STYLE`||s===`LINK`&&a.rel.toLowerCase()===`stylesheet`||n.removeChild(a),a=o}}else n===`body`&&pf(e.ownerDocument.body);n=i}while(n);Np(t)}function $d(e,t){var n=e;e=0;do{var r=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display=`none`):(n.style.display=n._stashedDisplay||``,n.getAttribute(`style`)===``&&n.removeAttribute(`style`)):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=``):n.nodeValue=n._stashedText||``),r&&r.nodeType===8)if(n=r.data,n===`/$`){if(e===0)break;e--}else n!==`$`&&n!==`$?`&&n!==`$~`&&n!==`$!`||e++;n=r}while(n)}function ef(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case`HTML`:case`HEAD`:case`BODY`:ef(n),lt(n);continue;case`SCRIPT`:case`STYLE`:continue;case`LINK`:if(n.rel.toLowerCase()===`stylesheet`)continue}e.removeChild(n)}}function tf(e,t,n,r){for(;e.nodeType===1;){var i=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&(e.nodeName!==`INPUT`||e.type!==`hidden`))break}else if(!r)if(t===`input`&&e.type===`hidden`){var a=i.name==null?null:``+i.name;if(i.type===`hidden`&&e.getAttribute(`name`)===a)return e}else return e;else if(!e[ct])switch(t){case`meta`:if(!e.hasAttribute(`itemprop`))break;return e;case`link`:if(a=e.getAttribute(`rel`),a===`stylesheet`&&e.hasAttribute(`data-precedence`)||a!==i.rel||e.getAttribute(`href`)!==(i.href==null||i.href===``?null:i.href)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin)||e.getAttribute(`title`)!==(i.title==null?null:i.title))break;return e;case`style`:if(e.hasAttribute(`data-precedence`))break;return e;case`script`:if(a=e.getAttribute(`src`),(a!==(i.src==null?null:i.src)||e.getAttribute(`type`)!==(i.type==null?null:i.type)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin))&&a&&e.hasAttribute(`async`)&&!e.hasAttribute(`itemprop`))break;return e;default:return e}if(e=cf(e.nextSibling),e===null)break}return null}function nf(e,t,n){if(t===``)return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!n||(e=cf(e.nextSibling),e===null))return null;return e}function rf(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!t||(e=cf(e.nextSibling),e===null))return null;return e}function af(e){return e.data===`$?`||e.data===`$~`}function of(e){return e.data===`$!`||e.data===`$?`&&e.ownerDocument.readyState!==`loading`}function sf(e,t){var n=e.ownerDocument;if(e.data===`$~`)e._reactRetry=t;else if(e.data!==`$?`||n.readyState!==`loading`)t();else{var r=function(){t(),n.removeEventListener(`DOMContentLoaded`,r)};n.addEventListener(`DOMContentLoaded`,r),e._reactRetry=r}}function cf(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t===`$`||t===`$!`||t===`$?`||t===`$~`||t===`&`||t===`F!`||t===`F`)break;if(t===`/$`||t===`/&`)return null}}return e}var lf=null;function uf(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`/$`||n===`/&`){if(t===0)return cf(e.nextSibling);t--}else n!==`$`&&n!==`$!`&&n!==`$?`&&n!==`$~`&&n!==`&`||t++}e=e.nextSibling}return null}function df(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`$`||n===`$!`||n===`$?`||n===`$~`||n===`&`){if(t===0)return e;t--}else n!==`/$`&&n!==`/&`||t++}e=e.previousSibling}return null}function ff(e,t,n){switch(t=Bd(n),e){case`html`:if(e=t.documentElement,!e)throw Error(i(452));return e;case`head`:if(e=t.head,!e)throw Error(i(453));return e;case`body`:if(e=t.body,!e)throw Error(i(454));return e;default:throw Error(i(451))}}function pf(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);lt(e)}var mf=new Map,hf=new Set;function gf(e){return typeof e.getRootNode==`function`?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var _f=N.d;N.d={f:vf,r:yf,D:Sf,C:Cf,L:wf,m:Tf,X:Df,S:Ef,M:Of};function vf(){var e=_f.f(),t=bu();return e||t}function yf(e){var t=dt(e);t!==null&&t.tag===5&&t.type===`form`?Cs(t):_f.r(e)}var bf=typeof document>`u`?null:document;function xf(e,t,n){var r=bf;if(r&&typeof t==`string`&&t){var i=Nt(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),hf.has(i)||(hf.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Pd(t,`link`,e),mt(t),r.head.appendChild(t)))}}function Sf(e){_f.D(e),xf(`dns-prefetch`,e,null)}function Cf(e,t){_f.C(e,t),xf(`preconnect`,e,t)}function wf(e,t,n){_f.L(e,t,n);var r=bf;if(r&&e&&t){var i=`link[rel="preload"][as="`+Nt(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+Nt(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+Nt(n.imageSizes)+`"]`)):i+=`[href="`+Nt(e)+`"]`;var a=i;switch(t){case`style`:a=Af(e);break;case`script`:a=Pf(e)}mf.has(a)||(e=h({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),mf.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(jf(a))||t===`script`&&r.querySelector(Ff(a))||(t=r.createElement(`link`),Pd(t,`link`,e),mt(t),r.head.appendChild(t)))}}function Tf(e,t){_f.m(e,t);var n=bf;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+Nt(r)+`"][href="`+Nt(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Pf(e)}if(!mf.has(a)&&(e=h({rel:`modulepreload`,href:e},t),mf.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(Ff(a)))return}r=n.createElement(`link`),Pd(r,`link`,e),mt(r),n.head.appendChild(r)}}}function Ef(e,t,n){_f.S(e,t,n);var r=bf;if(r&&e){var i=pt(r).hoistableStyles,a=Af(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(jf(a)))s.loading=5;else{e=h({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=mf.get(a))&&Rf(e,n);var c=o=r.createElement(`link`);mt(c),Pd(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Lf(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function Df(e,t){_f.X(e,t);var n=bf;if(n&&e){var r=pt(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=h({src:e,async:!0},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),mt(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Of(e,t){_f.M(e,t);var n=bf;if(n&&e){var r=pt(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=h({src:e,async:!0,type:`module`},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),mt(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function kf(e,t,n,r){var a=(a=se.current)?gf(a):null;if(!a)throw Error(i(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=Af(n.href),n=pt(a).hoistableStyles,r=n.get(t),r||(r={type:`style`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Af(n.href);var o=pt(a).hoistableStyles,s=o.get(e);if(s||(a=a.ownerDocument||a,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=a.querySelector(jf(e)))&&!o._p&&(s.instance=o,s.state.loading=5),mf.has(e)||(n={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},mf.set(e,n),o||Nf(a,e,n,s.state))),t&&r===null)throw Error(i(528,``));return s}if(t&&r!==null)throw Error(i(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Pf(n),n=pt(a).hoistableScripts,r=n.get(t),r||(r={type:`script`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(i(444,e))}}function Af(e){return`href="`+Nt(e)+`"`}function jf(e){return`link[rel="stylesheet"][`+e+`]`}function Mf(e){return h({},e,{"data-precedence":e.precedence,precedence:null})}function Nf(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=1:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2}),Pd(t,`link`,n),mt(t),e.head.appendChild(t))}function Pf(e){return`[src="`+Nt(e)+`"]`}function Ff(e){return`script[async]`+e}function If(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+Nt(n.href)+`"]`);if(r)return t.instance=r,mt(r),r;var a=h({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),mt(r),Pd(r,`style`,a),Lf(r,n.precedence,e),t.instance=r;case`stylesheet`:a=Af(n.href);var o=e.querySelector(jf(a));if(o)return t.state.loading|=4,t.instance=o,mt(o),o;r=Mf(n),(a=mf.get(a))&&Rf(r,a),o=(e.ownerDocument||e).createElement(`link`),mt(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),Pd(o,`link`,r),t.state.loading|=4,Lf(o,n.precedence,e),t.instance=o;case`script`:return o=Pf(n.src),(a=e.querySelector(Ff(o)))?(t.instance=a,mt(a),a):(r=n,(a=mf.get(o))&&(r=h({},n),zf(r,a)),e=e.ownerDocument||e,a=e.createElement(`script`),mt(a),Pd(a,`link`,r),e.head.appendChild(a),t.instance=a);case`void`:return null;default:throw Error(i(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Lf(r,n.precedence,e));return t.instance}function Lf(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o<r.length;o++){var s=r[o];if(s.dataset.precedence===t)a=s;else if(a!==i)break}a?a.parentNode.insertBefore(e,a.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function Rf(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.title??=t.title}function zf(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.integrity??=t.integrity}var Bf=null;function Vf(e,t,n){if(Bf===null){var r=new Map,i=Bf=new Map;i.set(n,r)}else i=Bf,r=i.get(n),r||(r=new Map,i.set(n,r));if(r.has(e))return r;for(r.set(e,null),n=n.getElementsByTagName(e),i=0;i<n.length;i++){var a=n[i];if(!(a[ct]||a[tt]||e===`link`&&a.getAttribute(`rel`)===`stylesheet`)&&a.namespaceURI!==`http://www.w3.org/2000/svg`){var o=a.getAttribute(t)||``;o=e+o;var s=r.get(o);s?s.push(a):r.set(o,[a])}}return r}function Hf(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t===`title`?e.querySelector(`head > title`):null)}function Uf(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Wf(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Gf(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Af(r.href),a=t.querySelector(jf(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=Jf.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,mt(a);return}a=t.ownerDocument||t,r=Mf(r),(i=mf.get(i))&&Rf(r,i),a=a.createElement(`link`),mt(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Pd(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=Jf.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var Kf=0;function qf(e,t){return e.stylesheets&&e.count===0&&Xf(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var r=setTimeout(function(){if(e.stylesheets&&Xf(e,e.stylesheets),e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}},6e4+t);0<e.imgBytes&&Kf===0&&(Kf=62500*Ld());var i=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Xf(e,e.stylesheets),e.unsuspend)){var t=e.unsuspend;e.unsuspend=null,t()}},(e.imgBytes>Kf?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function Jf(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Xf(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Yf=null;function Xf(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Yf=new Map,t.forEach(Zf,e),Yf=null,Jf.call(e))}function Zf(e,t){if(!(t.state.loading&4)){var n=Yf.get(e);if(n)var r=n.get(null);else{n=new Map,Yf.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a<i.length;a++){var o=i[a];(o.nodeName===`LINK`||o.getAttribute(`media`)!==`not all`)&&(n.set(o.dataset.precedence,o),r=o)}r&&n.set(null,r)}i=t.instance,o=i.getAttribute(`data-precedence`),a=n.get(o)||r,a===r&&n.set(null,i),n.set(o,i),this.count++,r=Jf.bind(this),i.addEventListener(`load`,r),i.addEventListener(`error`,r),a?a.parentNode.insertBefore(i,a.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(i,e.firstChild)),t.state.loading|=4}}var Qf={$$typeof:C,Provider:null,Consumer:null,_currentValue:P,_currentValue2:P,_threadCount:0};function $f(e,t,n,r,i,a,o,s,c){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=We(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=We(0),this.hiddenUpdates=We(null),this.identifierPrefix=r,this.onUncaughtError=i,this.onCaughtError=a,this.onRecoverableError=o,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=c,this.incompleteTransitions=new Map}function ep(e,t,n,r,i,a,o,s,c,l,u,d){return e=new $f(e,t,n,o,c,l,u,d,s),t=1,!0===a&&(t|=24),a=ri(3,null,null,t),e.current=a,a.stateNode=e,t=ra(),t.refCount++,e.pooledCache=t,t.refCount++,a.memoizedState={element:r,isDehydrated:n,cache:t},Ia(a),e}function tp(e){return e?(e=ti,e):ti}function np(e,t,n,r,i,a){i=tp(i),r.context===null?r.context=i:r.pendingContext=i,r=Ra(t),r.payload={element:n},a=a===void 0?null:a,a!==null&&(r.callback=a),n=za(e,r,t),n!==null&&(hu(n,e,t),Ba(n,e,t))}function rp(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function ip(e,t){rp(e,t),(e=e.alternate)&&rp(e,t)}function ap(e){if(e.tag===13||e.tag===31){var t=Qr(e,67108864);t!==null&&hu(t,e,67108864),ip(e,67108864)}}function op(e){if(e.tag===13||e.tag===31){var t=pu();t=Xe(t);var n=Qr(e,t);n!==null&&hu(n,e,t),ip(e,t)}}var sp=!0;function cp(e,t,n,r){var i=M.T;M.T=null;var a=N.p;try{N.p=2,up(e,t,n,r)}finally{N.p=a,M.T=i}}function lp(e,t,n,r){var i=M.T;M.T=null;var a=N.p;try{N.p=8,up(e,t,n,r)}finally{N.p=a,M.T=i}}function up(e,t,n,r){if(sp){var i=dp(r);if(i===null)wd(e,t,r,fp,n),Cp(e,r);else if(Tp(i,e,t,n,r))r.stopPropagation();else if(Cp(e,r),t&4&&-1<Sp.indexOf(e)){for(;i!==null;){var a=dt(i);if(a!==null)switch(a.tag){case 3:if(a=a.stateNode,a.current.memoizedState.isDehydrated){var o=ze(a.pendingLanes);if(o!==0){var s=a;for(s.pendingLanes|=2,s.entangledLanes|=2;o;){var c=1<<31-Me(o);s.entanglements[1]|=c,o&=~c}rd(a),!(q&6)&&(tu=Se()+500,id(0,!1))}}break;case 31:case 13:s=Qr(a,2),s!==null&&hu(s,a,2),bu(),ip(a,2)}if(a=dp(r),a===null&&wd(e,t,r,fp,n),a===i)break;i=a}i!==null&&r.stopPropagation()}else wd(e,t,r,null,n)}}function dp(e){return e=Xt(e),pp(e)}var fp=null;function pp(e){if(fp=null,e=ut(e),e!==null){var t=o(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=s(t),e!==null)return e;e=null}else if(n===31){if(e=c(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return fp=e,null}function mp(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(Ce()){case we:return 2;case H:return 8;case U:case Te:return 32;case Ee:return 268435456;default:return 32}default:return 32}}var hp=!1,gp=null,_p=null,vp=null,yp=new Map,bp=new Map,xp=[],Sp=`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 Cp(e,t){switch(e){case`focusin`:case`focusout`:gp=null;break;case`dragenter`:case`dragleave`:_p=null;break;case`mouseover`:case`mouseout`:vp=null;break;case`pointerover`:case`pointerout`:yp.delete(t.pointerId);break;case`gotpointercapture`:case`lostpointercapture`:bp.delete(t.pointerId)}}function wp(e,t,n,r,i,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[i]},t!==null&&(t=dt(t),t!==null&&ap(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function Tp(e,t,n,r,i){switch(t){case`focusin`:return gp=wp(gp,e,t,n,r,i),!0;case`dragenter`:return _p=wp(_p,e,t,n,r,i),!0;case`mouseover`:return vp=wp(vp,e,t,n,r,i),!0;case`pointerover`:var a=i.pointerId;return yp.set(a,wp(yp.get(a)||null,e,t,n,r,i)),!0;case`gotpointercapture`:return a=i.pointerId,bp.set(a,wp(bp.get(a)||null,e,t,n,r,i)),!0}return!1}function Ep(e){var t=ut(e.target);if(t!==null){var n=o(t);if(n!==null){if(t=n.tag,t===13){if(t=s(n),t!==null){e.blockedOn=t,$e(e.priority,function(){op(n)});return}}else if(t===31){if(t=c(n),t!==null){e.blockedOn=t,$e(e.priority,function(){op(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Dp(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=dp(e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);Yt=r,n.target.dispatchEvent(r),Yt=null}else return t=dt(n),t!==null&&ap(t),e.blockedOn=n,!1;t.shift()}return!0}function Op(e,t,n){Dp(e)&&n.delete(t)}function kp(){hp=!1,gp!==null&&Dp(gp)&&(gp=null),_p!==null&&Dp(_p)&&(_p=null),vp!==null&&Dp(vp)&&(vp=null),yp.forEach(Op),bp.forEach(Op)}function Ap(e,n){e.blockedOn===n&&(e.blockedOn=null,hp||(hp=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,kp)))}var jp=null;function Mp(e){jp!==e&&(jp=e,t.unstable_scheduleCallback(t.unstable_NormalPriority,function(){jp===e&&(jp=null);for(var t=0;t<e.length;t+=3){var n=e[t],r=e[t+1],i=e[t+2];if(typeof r!=`function`){if(pp(r||n)===null)continue;break}var a=dt(n);a!==null&&(e.splice(t,3),t-=3,xs(a,{pending:!0,data:i,method:n.method,action:r},r,i))}}))}function Np(e){function t(t){return Ap(t,e)}gp!==null&&Ap(gp,e),_p!==null&&Ap(_p,e),vp!==null&&Ap(vp,e),yp.forEach(t),bp.forEach(t);for(var n=0;n<xp.length;n++){var r=xp[n];r.blockedOn===e&&(r.blockedOn=null)}for(;0<xp.length&&(n=xp[0],n.blockedOn===null);)Ep(n),n.blockedOn===null&&xp.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(r=0;r<n.length;r+=3){var i=n[r],a=n[r+1],o=i[nt]||null;if(typeof a==`function`)o||Mp(n);else if(o){var s=null;if(a&&a.hasAttribute(`formAction`)){if(i=a,o=a[nt]||null)s=o.formAction;else if(pp(i)!==null)continue}else s=o.action;typeof s==`function`?n[r+1]=s:(n.splice(r,3),r-=3),Mp(n)}}}function Pp(){function e(e){e.canIntercept&&e.info===`react-transition`&&e.intercept({handler:function(){return new Promise(function(e){return i=e})},focusReset:`manual`,scroll:`manual`})}function t(){i!==null&&(i(),i=null),r||setTimeout(n,20)}function n(){if(!r&&!navigation.transition){var e=navigation.currentEntry;e&&e.url!=null&&navigation.navigate(e.url,{state:e.getState(),info:`react-transition`,history:`replace`})}}if(typeof navigation==`object`){var r=!1,i=null;return navigation.addEventListener(`navigate`,e),navigation.addEventListener(`navigatesuccess`,t),navigation.addEventListener(`navigateerror`,t),setTimeout(n,100),function(){r=!0,navigation.removeEventListener(`navigate`,e),navigation.removeEventListener(`navigatesuccess`,t),navigation.removeEventListener(`navigateerror`,t),i!==null&&(i(),i=null)}}}function Fp(e){this._internalRoot=e}Ip.prototype.render=Fp.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(i(409));var n=t.current;np(n,pu(),e,t,null,null)},Ip.prototype.unmount=Fp.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;np(e.current,2,null,e,null,null),bu(),t[rt]=null}};function Ip(e){this._internalRoot=e}Ip.prototype.unstable_scheduleHydration=function(e){if(e){var t=Qe();e={blockedOn:null,target:e,priority:t};for(var n=0;n<xp.length&&t!==0&&t<xp[n].priority;n++);xp.splice(n,0,e),n===0&&Ep(e)}};var Lp=n.version;if(Lp!==`19.2.6`)throw Error(i(527,Lp,`19.2.6`));N.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render==`function`?Error(i(188)):(e=Object.keys(e).join(`,`),Error(i(268,e)));return e=d(t),e=e===null?null:p(e),e=e===null?null:e.stateNode,e};var Rp={bundleType:0,version:`19.2.6`,rendererPackageName:`react-dom`,currentDispatcherRef:M,reconcilerVersion:`19.2.6`};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`){var zp=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!zp.isDisabled&&zp.supportsFiber)try{ke=zp.inject(Rp),Ae=zp}catch{}}e.createRoot=function(e,t){if(!a(e))throw Error(i(299));var n=!1,r=``,o=Ws,s=Gs,c=Ks;return t!=null&&(!0===t.unstable_strictMode&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onUncaughtError!==void 0&&(o=t.onUncaughtError),t.onCaughtError!==void 0&&(s=t.onCaughtError),t.onRecoverableError!==void 0&&(c=t.onRecoverableError)),t=ep(e,1,!1,null,null,n,r,null,o,s,c,Pp),e[rt]=t.current,Sd(e),new Fp(t)}})),g=o(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=h()})),_=c(u(),1),v=c(g(),1),y=-1;function b(){return--y,y}var x={background:`Hintergründe`,pump:`Pumpen`,heat_generation:`Wärmeerzeugung`,cold_generation:`Kälteerzeugung`,heat_recovery:`Wärmetauscher / WRG`,valve:`Ventile`,fan:`Ventilatoren`,sensor:`Fühler`,text:`Text / Label`,custom:`Sonstige`},S=[{key:``,label:`Frei wählen`,value:``},{key:`heating_supply`,label:`Vorlauf Rot`,value:`#dc2626`},{key:`heating_return`,label:`Rücklauf Dunkelblau`,value:`#1d4ed8`},{key:`cold_water`,label:`Kaltwasser Blau`,value:`#0ea5e9`},{key:`warm_water`,label:`Warmwasser Orange`,value:`#f97316`},{key:`gas`,label:`Gas Gelb`,value:`#eab308`},{key:`air_supply`,label:`Zuluft Grün`,value:`#22c55e`},{key:`air_exhaust`,label:`Abluft Braun`,value:`#92400e`},{key:`neutral`,label:`Neutral Grau`,value:`#94a3b8`},{key:`black`,label:`Schwarz`,value:`#020617`},{key:`white`,label:`Weiß`,value:`#ffffff`}],C=[{value:`Arial, sans-serif`,label:`Arial`},{value:`"Segoe UI", sans-serif`,label:`Segoe UI`},{value:`Verdana, sans-serif`,label:`Verdana`},{value:`Tahoma, sans-serif`,label:`Tahoma`},{value:`Georgia, serif`,label:`Georgia`},{value:`"Times New Roman", serif`,label:`Times New Roman`},{value:`"Courier New", monospace`,label:`Courier New`},{value:`ui-monospace, Consolas, monospace`,label:`Monospace`}],w={sensor:{element_type:`value`,name:`Fühler`,label:`Fühler`,w:190,h:86,style_json:{kind:`sensor`,subtype:`sensor`,color:`#f59e0b`,marker:`T`,markerColor:`#f59e0b`,strokeColor:`#60a5fa`,strokeWidth:3,showBorder:!0,fillColor:`transparent`,markerTextColor:`#0f172a`,markerSize:34,markerFontSize:13,labelColor:`rgba(209, 213, 219, 0.78)`,labelFontSize:12,valueColor:`#ffffff`,valueFontSize:20,unitMode:`auto`,decimals:1}},setpoint:{element_type:`value`,name:`Sollwert`,label:`Sollwert`,w:210,h:96,style_json:{kind:`setpoint`,subtype:`setpoint`,color:`#38bdf8`,marker:`SP`,markerColor:`#38bdf8`,markerTextColor:`#0f172a`,markerSize:34,markerFontSize:13,labelColor:`rgba(209, 213, 219, 0.78)`,labelFontSize:12,valueColor:`#ffffff`,valueFontSize:20,unitMode:`auto`,decimals:1,strokeColor:`#60a5fa`,strokeWidth:3,showBorder:!0,fillColor:`#082f49`,fillMode:`linear`,gradientColor:`#2563eb`,gradientAngle:110,gradientOrigin:`center`}},scale_bar:{element_type:`value`,name:`Skalenbalken`,label:`Skalenbalken`,w:360,h:110,style_json:{kind:`scale_bar`,orientation:`horizontal`,min:0,max:100,majorStep:20,minorDivisions:4,labelMode:`all`,labelFontSize:12,labelOffset:0,barColor:`#334155`,fillEnabled:!1,fillColor:`#38bdf8`,needleColor:`#f8fafc`,pointerStyle:`triangle`,decimals:1,ranges:[],point:null}},dial_gauge:{element_type:`value`,name:`Zeigerinstrument`,label:`Zeigerinstrument`,w:260,h:210,style_json:{kind:`dial_gauge`,min:0,max:100,majorStep:20,minorDivisions:4,labelMode:`all`,labelFontSize:12,labelOffset:0,barColor:`#334155`,fillEnabled:!1,fillColor:`#38bdf8`,needleColor:`#f8fafc`,pointerStyle:`needle`,decimals:1,ranges:[],point:null}},trend_chart:{element_type:`value`,name:`Trendgraph`,label:`Trendgraph`,w:560,h:320,style_json:{kind:`trend_chart`,series:[],range:`24h`,interval:`auto`,aggregate:`mean`,refreshSeconds:60,displayMode:`line`,interpolation:`linear`,connectNulls:!0,lineWidth:3,fillOpacity:.18,showLegend:!0,backgroundColor:`rgba(15, 23, 42, 0.46)`,borderColor:`rgba(148, 163, 184, 0.42)`,radius:14}},sankey_chart:{element_type:`value`,name:`Sankey`,label:`Sankey`,w:620,h:340,style_json:{kind:`sankey_chart`,nodes:[{id:`sankey-node-1`,label:`Quelle`,column:0,order:0,color:`#38bdf8`},{id:`sankey-node-2`,label:`Verbraucher`,column:1,order:0,color:`#22c55e`}],links:[{id:`sankey-link-1`,sourceId:`sankey-node-1`,targetId:`sankey-node-2`,label:`Fluss 1`,sourceMode:`static`,staticValue:`10`,color:`#38bdf8`,opacity:.46,thicknessFactor:1}],unit:``,decimals:1,refreshSeconds:30,nodeWidth:26,nodeRadius:10,nodeGap:14,minLinkWidth:4,linkOpacity:.46,curve:.42,minNodeHeight:24,backgroundColor:`rgba(15, 23, 42, 0.46)`,borderColor:`rgba(148, 163, 184, 0.42)`,labelColor:`#e2e8f0`,radius:14,showValues:!0}},text:{element_type:`text`,name:`Text`,label:`Text`,w:190,h:60,style_json:{subtype:`text`,color:`#ffffff`,fontSize:22,fontFamily:`Arial, sans-serif`,textRules:[]}},link:{element_type:`text`,name:`Link`,label:`Link`,w:220,h:60,style_json:{subtype:`link`,color:`#93c5fd`,fontSize:22,fontFamily:`Arial, sans-serif`,textRules:[],linkMode:`page`,linkPageId:``,linkUrl:``,linkTarget:`same_tab`,renderAsButton:!1,buttonShape:`rounded`,buttonRadius:16,buttonFill:`rgba(37, 99, 235, 0.78)`,buttonBorderColor:`rgba(147, 197, 253, 0.72)`}},menu:{element_type:`text`,name:`Menü`,label:`Menü`,w:320,h:120,style_json:{subtype:`menu`,color:`#93c5fd`,fontSize:18,fontFamily:`Arial, sans-serif`,menuOrientation:`vertical`,menuGap:8,menuButtonSize:42,linkTarget:`same_tab`,renderAsButton:!0,buttonShape:`rounded`,buttonRadius:16,buttonFill:`rgba(37, 99, 235, 0.78)`,buttonBorderColor:`rgba(147, 197, 253, 0.72)`,menuItems:[{id:`menu-1`,label:`Link 1`,linkMode:`page`,linkPageId:``,linkUrl:``,linkTarget:`same_tab`},{id:`menu-2`,label:`Link 2`,linkMode:`page`,linkPageId:``,linkUrl:``,linkTarget:`same_tab`}]}}},T={background:`🖼️`,pump:`💧`,heat_generation:`🔥`,cold_generation:`❄️`,heat_recovery:`♻️`,valve:`⚙️`,fan:`🌀`,sensor:`🌡️`,text:`🏷️`,custom:`▦`};function E(e,t=null){if(!e)return t;if(typeof e==`object`)return e;try{return JSON.parse(e)}catch{return t}}function D(e){return{id:Number(e.id||0),asset_id:Number(e.asset_id||0),state_key:e.state_key||``,label:e.label||``,image_file:e.image_file||``,sort_order:Number(e.sort_order||100),is_default:!!Number(e.is_default||0)}}function O(e){return{id:e.id?Number(e.id):0,element_id:e.element_id?Number(e.element_id):0,asset_state_id:e.asset_state_id?Number(e.asset_state_id):0,variable_type:e.variable_type||`digital`,external_id:e.external_id||``,variable_id:e.variable_id?Number(e.variable_id):``,point_key:e.point_key||``,point_label:e.point_label||``,operator:e.operator||`eq`,compare_value:e.compare_value??``,priority:Number(e.priority||100),state_key:e.state_key||``,state_label:e.state_label||``,image_file:e.image_file||``}}function ee(e){return{id:Number(e.id||0),asset_id:e.asset_id?Number(e.asset_id):null,asset_name:e.asset_name||``,asset_type:e.asset_type||``,asset_states:Array.isArray(e.asset_states)?e.asset_states.map(D):[],element_type:e.element_type||`shape`,name:e.name||``,variable_id:e.variable_id?Number(e.variable_id):``,label:e.label||e.name||``,x:Number(e.x||0),y:Number(e.y||0),w:Number(e.w||120),h:Number(e.h||120),rotation:Number(e.rotation||0),z_index:Number(e.z_index||10),opacity:Number(e.opacity??1),state_rules:E(e.state_rules,null),style_json:E(e.style_json,{}),is_locked:!!Number(e.is_locked||0),rules:Array.isArray(e.rules)?e.rules.map(O):[]}}function te(e){return{id:Number(e.id||0),project_id:e.project_id?Number(e.project_id):null,name:e.name||``,description:e.description||``,asset_type:e.asset_type||`custom`,is_global:!!Number(e.is_global??1),states:Array.isArray(e.states)?e.states.map(D):[]}}function ne(e){return{...e,id:Number(e.id||0),project_id:Number(e.project_id||0),width:Number(e.width||1920),height:Number(e.height||1080),background_color:e.background_color||`#0f172a`,background_image:e.background_image||``,grid_enabled:!!Number(e.grid_enabled??1),grid_size:Number(e.grid_size||40),snap_enabled:!!Number(e.snap_enabled??1)}}function k(e){return[e?.type||e?.variable_type||``,e?.external_id||``,e?.variable_id||``,e?.point_key||``].join(`|`)}function A(e){if(!e)return[];let t=e?.type||e?.variable_type||``,n=[],r=t=>{n.push([t||``,e?.external_id||``,e?.variable_id||``,e?.point_key||``].join(`|`))};return e.source_key&&n.push(e.source_key),r(t),t===`alarm`&&r(`digital`),t===`digital`&&r(`alarm`),[...new Set(n.filter(Boolean))]}function re(e){if(!e)return!1;let t=e.value!==null&&e.value!==void 0&&String(e.value).trim()!==``,n=e.value_formatted!==null&&e.value_formatted!==void 0&&String(e.value_formatted).trim()!==``;return t||n}function j(e,t={}){if(!e||!t)return null;if((e.type||e.variable_type)===`static`){let t=e.static_value??e.value??e.value_formatted??``;return{...e,type:`static`,value:t,value_formatted:String(t),label:e.point_label||e.label||`Fester Wert`,quality:`static`}}let n=null;for(let r of A(e)){let e=t[r];if(e&&(n||=e,re(e)))return e}if(e.variable_id&&t[String(e.variable_id)]){let r=t[String(e.variable_id)];if(re(r))return r;n||=r}return n}function M(e,t={}){if(!e||typeof e!=`object`||Array.isArray(e))return e;let n=e.templatePlaceholderKey||(e.type===`placeholder`||e.variable_type===`placeholder`?e.point_key:``);if(!n)return e;let r=t?.templateBindings;if(!r||typeof r!=`object`||Array.isArray(r))return e;let i=r[n];return i?{...e,...i,templatePlaceholderKey:n}:e}function N(e){return e?String(e.value??e.value_formatted??``).trim():``}function P(e,t){let n=N(t),r=String(e.compare_value??``).trim(),i=Number(String(n).replace(`,`,`.`)),a=Number(String(r).replace(`,`,`.`));switch(e.operator){case`truthy`:return[`1`,`true`,`on`,`ein`,`ja`,`yes`].includes(n.toLowerCase());case`falsy`:return[`0`,`false`,`off`,`aus`,`nein`,`no`].includes(n.toLowerCase());case`neq`:return n!==r;case`gt`:return!Number.isNaN(i)&&!Number.isNaN(a)&&i>a;case`gte`:return!Number.isNaN(i)&&!Number.isNaN(a)&&i>=a;case`lt`:return!Number.isNaN(i)&&!Number.isNaN(a)&&i<a;case`lte`:return!Number.isNaN(i)&&!Number.isNaN(a)&&i<=a;case`contains`:return n.toLowerCase().includes(r.toLowerCase());case`not_contains`:return!n.toLowerCase().includes(r.toLowerCase());default:return n===r}}function ie(e,t={}){let n=e?.style_json||{},r=M(n.visibilityRule,n);if(!r?.enabled)return!0;let i=j(r,t);return i?!P(r,i):!0}function F(e,t){if(!t?.snap_enabled)return e;let n=Number(t.grid_size||40);return n<=1?e:Math.round(e/n)*n}function I(e){let t=String(e||``).replace(`#`,``);return/^[0-9a-fA-F]{6}$/.test(t)?{r:parseInt(t.slice(0,2),16),g:parseInt(t.slice(2,4),16),b:parseInt(t.slice(4,6),16)}:{r:0,g:0,b:0}}function L(e,t,n){let r=e=>Math.max(0,Math.min(255,Number(e||0)));return`#`+[r(e),r(t),r(n)].map(e=>e.toString(16).padStart(2,`0`)).join(``)}function R(e,t,n=30){let r=b();return{...JSON.parse(JSON.stringify(e)),id:r,x:F(Number(e.x||0)+n,t),y:F(Number(e.y||0)+n,t),z_index:Number(e.z_index||10)+1}}function ae(){(0,_.useEffect)(()=>{function e(){let e=document.getElementById(`root`);if(!e)return;let t=e.getBoundingClientRect().top,n=Math.max(320,window.innerHeight-t);document.documentElement.style.setProperty(`--visu-root-height`,`${n}px`)}return e(),window.addEventListener(`resize`,e),setTimeout(e,50),setTimeout(e,300),()=>window.removeEventListener(`resize`,e)},[])}function oe(e){let t=new Map;return e.forEach(e=>{let n=String(e.project_id);t.has(n)||t.set(n,{project_id:e.project_id,year:e.year,project_number:e.project_number,project_name:e.project_name,customer_name:e.customer_name,pages:[]}),t.get(n).pages.push(e)}),Array.from(t.values()).sort((e,t)=>{let n=Number(e.year||0),r=Number(t.year||0);return n===r?String(e.project_number||``).localeCompare(String(t.project_number||``),`de`,{numeric:!0,sensitivity:`base`}):r-n})}function se(e,t=1,n=`…`){if(!e)return n;let r=String(e.value_formatted??e.value??``).trim(),i=String(e.value??e.value_formatted??``).replace(`,`,`.`).match(/-?\d+(?:\.\d+)?/);if(!i)return r||n;let a=Number(i[0]);if(!Number.isFinite(a))return r||n;let o=Number(t??1),s=Number.isFinite(o)?Math.max(0,Math.min(8,Math.round(o))):1,c=a.toLocaleString(`de-DE`,{minimumFractionDigits:s,maximumFractionDigits:s}),l=String(e.value_formatted??``).trim().replace(/^-?\s*\d+(?:[.,]\d+)?\s*/,``).trim();return l?`${c} ${l}`:c}function ce(e){let t=e.fillColor||`#082f49`,n=e.gradientColor||`#2563eb`;return e.fillMode===`solid`?t:e.fillMode===`radial`?`radial-gradient(circle, ${t}, ${n})`:`linear-gradient(${Number(e.gradientAngle??110)}deg, ${t}, ${n})`}var le=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),z=o(((e,t)=>{t.exports=le()}))();function B(e,t,n){return Math.max(t,Math.min(n,e))}function ue(e,t){return j(M(e.point||{},e),t)}function de(e,t){let n=String(e?.value??e?.value_formatted??``).replace(`,`,`.`).match(/-?\d+(?:\.\d+)?/);return n?Number(n[0]):t}function fe(e,t){let n=Number(e.min??0),r=Number(e.max??100),i=r===n?n+1:r,a=Math.min(n,i),o=Math.max(n,i),s=ue(e,t),c=B(de(s,a+(o-a)*.55),a,o),l=(c-a)/(o-a),u=Number(e.decimals??1),d=Number.isFinite(u)?Math.max(0,Math.min(8,Math.round(u))):1;return{low:a,high:o,value:c,ratio:l,point:s,display:s?se(s,d):c.toLocaleString(`de-DE`,{minimumFractionDigits:d,maximumFractionDigits:d})}}function pe(e,t,n){let r=Math.max(1e-4,Number(n||(t-e)/5)),i=[e];for(let n=e+r;n<t&&i.length<100;n+=r)i.push(Number(n.toFixed(6)));return i[i.length-1]!==t&&i.push(t),i}function me(e,t,n){return e===`none`?!1:e===`ends`?t===0||t===n-1:!0}function he(e,t,n){return(Array.isArray(e.ranges)?e.ranges:[]).map(e=>({start:B((Number(e.from??t)-t)/(n-t),0,1),end:B((Number(e.to??n)-t)/(n-t),0,1),color:e.color||`#22c55e`})).filter(e=>e.end>e.start)}function ge(e){return Number(e).toLocaleString(`de-DE`,{maximumFractionDigits:2})}function _e({style:e,x:t,y:n}){let r=e.needleColor||`#f8fafc`;return e.pointerStyle===`line`?(0,z.jsx)(`line`,{className:`instrument-pointer-line`,x1:t,x2:t,y1:n-18,y2:n+18,style:{stroke:r}}):e.pointerStyle===`diamond`?(0,z.jsx)(`path`,{className:`instrument-pointer`,d:`M ${t} ${n-15} l 8 8 l -8 8 l -8 -8 z`,style:{fill:r}}):(0,z.jsx)(`path`,{className:`instrument-pointer`,d:`M ${t} ${n-15} l -7 -10 h 14 z`,style:{fill:r}})}function ve({style:e,x:t,y:n}){let r=e.needleColor||`#f8fafc`;return e.pointerStyle===`line`?(0,z.jsx)(`line`,{className:`instrument-pointer-line`,x1:t-18,x2:t+18,y1:n,y2:n,style:{stroke:r}}):e.pointerStyle===`diamond`?(0,z.jsx)(`path`,{className:`instrument-pointer`,d:`M ${t+9} ${n} l 8 -8 l 8 8 l -8 8 z`,style:{fill:r}}):(0,z.jsx)(`path`,{className:`instrument-pointer`,d:`M ${t+9} ${n} l 13 -7 v 14 z`,style:{fill:r}})}function ye({element:e,style:t,config:n}){let r=Math.max(80,Number(e.w||360)),i=Math.max(70,Number(e.h||110)),a=r-22,o=Math.min(44,i*.4),s=a-22,c=pe(n.low,n.high,t.majorStep),l=Math.max(0,Math.round(Number(t.minorDivisions??4))),u=Math.max(8,Number(t.labelFontSize??12)),d=o+25+Number(t.labelOffset??0),f=he(t,n.low,n.high);return(0,z.jsxs)(`svg`,{className:`instrument-svg`,viewBox:`0 0 ${r} ${i}`,children:[(0,z.jsx)(`line`,{className:`instrument-rail`,x1:22,x2:a,y1:o,y2:o,style:{stroke:t.barColor||`#334155`}}),f.map((e,t)=>(0,z.jsx)(`line`,{className:`instrument-range`,x1:22+e.start*s,x2:22+e.end*s,y1:o,y2:o,style:{stroke:e.color}},t)),t.fillEnabled&&(0,z.jsx)(`line`,{className:`instrument-fill`,x1:22,x2:22+n.ratio*s,y1:o,y2:o,style:{stroke:t.fillColor||`#38bdf8`}}),c.flatMap((e,r)=>{let i=(e-n.low)/(n.high-n.low),a=22+i*s,f=[(0,z.jsx)(`line`,{className:`instrument-major`,x1:a,x2:a,y1:o+8,y2:o+18},`major-${r}`)];if(r<c.length-1&&l>0){let e=(c[r+1]-n.low)/(n.high-n.low);for(let t=1;t<l;t+=1){let n=22+(i+(e-i)*(t/l))*s;f.push((0,z.jsx)(`line`,{className:`instrument-minor`,x1:n,x2:n,y1:o+10,y2:o+15},`minor-${r}-${t}`))}}return me(t.labelMode||`all`,r,c.length)&&f.push((0,z.jsx)(`text`,{className:`instrument-label`,x:a,y:d,style:{fontSize:u},children:ge(e)},`label-${r}`)),f}),(0,z.jsx)(_e,{style:t,x:22+n.ratio*s,y:o}),(0,z.jsx)(`text`,{className:`instrument-value`,x:r/2,y:i-10,children:n.display})]})}function be({element:e,style:t,config:n}){let r=Math.max(90,Number(e.w||120)),i=Math.max(120,Number(e.h||300)),a=i-28,o=Math.max(42,r*.52),s=a-20,c=pe(n.low,n.high,t.majorStep),l=Math.max(0,Math.round(Number(t.minorDivisions??4))),u=Math.max(8,Number(t.labelFontSize??12)),d=o-20-Number(t.labelOffset??0),f=he(t,n.low,n.high);return(0,z.jsxs)(`svg`,{className:`instrument-svg`,viewBox:`0 0 ${r} ${i}`,children:[(0,z.jsx)(`line`,{className:`instrument-rail`,x1:o,x2:o,y1:a,y2:20,style:{stroke:t.barColor||`#334155`}}),f.map((e,t)=>(0,z.jsx)(`line`,{className:`instrument-range`,x1:o,x2:o,y1:a-e.start*s,y2:a-e.end*s,style:{stroke:e.color}},t)),t.fillEnabled&&(0,z.jsx)(`line`,{className:`instrument-fill`,x1:o,x2:o,y1:a,y2:a-n.ratio*s,style:{stroke:t.fillColor||`#38bdf8`}}),c.flatMap((e,r)=>{let i=(e-n.low)/(n.high-n.low),f=a-i*s,p=[(0,z.jsx)(`line`,{className:`instrument-major`,x1:o-18,x2:o-8,y1:f,y2:f},`major-${r}`)];if(r<c.length-1&&l>0){let e=(c[r+1]-n.low)/(n.high-n.low);for(let t=1;t<l;t+=1){let n=a-(i+(e-i)*(t/l))*s;p.push((0,z.jsx)(`line`,{className:`instrument-minor`,x1:o-15,x2:o-9,y1:n,y2:n},`minor-${r}-${t}`))}}return me(t.labelMode||`all`,r,c.length)&&p.push((0,z.jsx)(`text`,{className:`instrument-label end`,x:d,y:f+u/3,style:{fontSize:u},children:ge(e)},`label-${r}`)),p}),(0,z.jsx)(ve,{style:t,x:o,y:a-n.ratio*s}),(0,z.jsx)(`text`,{className:`instrument-value`,x:r/2,y:i-7,children:n.display})]})}function xe(e,t,n,r){let i=(r-90)*Math.PI/180;return{x:e+n*Math.cos(i),y:t+n*Math.sin(i)}}function V(e,t,n,r,i){let a=xe(e,t,n,r),o=xe(e,t,n,i);return`M ${a.x} ${a.y} A ${n} ${n} 0 ${+(Math.abs(i-r)>180)} 1 ${o.x} ${o.y}`}function Se({element:e,style:t,config:n}){let r=Math.max(140,Number(e.w||260)),i=Math.max(120,Number(e.h||210)),a=r/2,o=i*.6,s=Math.max(34,Math.min(r*.38,i*.43)),c=-135,l=pe(n.low,n.high,t.majorStep),u=Math.max(0,Math.round(Number(t.minorDivisions??4))),d=Math.max(8,Number(t.labelFontSize??12)),f=s+22+Number(t.labelOffset??0),p=he(t,n.low,n.high),m=c+n.ratio*270,h=xe(a,o,s-12,m),g=xe(a,o,10,m-90),_=xe(a,o,10,m+90);return(0,z.jsxs)(`svg`,{className:`instrument-svg`,viewBox:`0 0 ${r} ${i}`,children:[(0,z.jsx)(`path`,{className:`instrument-dial-rail`,d:V(a,o,s,c,135),style:{stroke:t.barColor||`#334155`}}),p.map((e,t)=>(0,z.jsx)(`path`,{className:`instrument-dial-range`,d:V(a,o,s,c+e.start*270,c+e.end*270),style:{stroke:e.color}},t)),t.fillEnabled&&n.ratio>0&&(0,z.jsx)(`path`,{className:`instrument-dial-fill`,d:V(a,o,s,c,c+n.ratio*270),style:{stroke:t.fillColor||`#38bdf8`}}),l.flatMap((e,r)=>{let i=(e-n.low)/(n.high-n.low),p=c+i*270,m=xe(a,o,s-8,p),h=xe(a,o,s-20,p),g=xe(a,o,f,p),_=[(0,z.jsx)(`line`,{className:`instrument-major`,x1:h.x,y1:h.y,x2:m.x,y2:m.y},`major-${r}`)];if(r<l.length-1&&u>0){let e=(l[r+1]-n.low)/(n.high-n.low);for(let t=1;t<u;t+=1){let n=c+(i+(e-i)*(t/u))*270,l=xe(a,o,s-9,n),d=xe(a,o,s-16,n);_.push((0,z.jsx)(`line`,{className:`instrument-minor`,x1:d.x,y1:d.y,x2:l.x,y2:l.y},`minor-${r}-${t}`))}}return me(t.labelMode||`all`,r,l.length)&&_.push((0,z.jsx)(`text`,{className:`instrument-label`,x:g.x,y:g.y+d/3,style:{fontSize:d},children:ge(e)},`label-${r}`)),_}),t.pointerStyle===`wedge`?(0,z.jsx)(`path`,{className:`instrument-dial-wedge`,d:`M ${g.x} ${g.y} L ${h.x} ${h.y} L ${_.x} ${_.y} Z`,style:{fill:t.needleColor||`#f8fafc`}}):(0,z.jsx)(`line`,{className:`instrument-needle ${t.pointerStyle===`slim`?`slim`:``}`,x1:a,y1:o,x2:h.x,y2:h.y,style:{stroke:t.needleColor||`#f8fafc`}}),(0,z.jsx)(`circle`,{className:`instrument-hub`,cx:a,cy:o,r:`7`,style:{fill:t.needleColor||`#f8fafc`}}),(0,z.jsx)(`text`,{className:`instrument-value`,x:a,y:i-9,children:n.display})]})}function Ce({element:e,liveValues:t={}}){let n=e.style_json||{},r=fe(n,t);return n.kind===`dial_gauge`?(0,z.jsx)(Se,{element:e,style:n,config:r}):n.orientation===`vertical`?(0,z.jsx)(be,{element:e,style:n,config:r}):(0,z.jsx)(ye,{element:e,style:n,config:r})}var we=`/api/visu_api.php`;async function H(e,t={}){let n=new URL(we,window.location.origin);n.searchParams.set(`action`,e),Object.entries(t).forEach(([e,t])=>{t!=null&&t!==``&&n.searchParams.set(e,t)});let r=await fetch(n.toString(),{credentials:`same-origin`,headers:{Accept:`application/json`}}),i=await r.text(),a;try{a=JSON.parse(i)}catch{throw Error(i||`API liefert kein JSON`)}if(!r.ok||!a.ok)throw Error(a.error||`API Fehler`);return a}async function U(e,t={}){let n=new FormData;n.append(`action`,e),Object.entries(t).forEach(([e,t])=>{n.append(e,t??``)});let r=await fetch(we,{method:`POST`,credentials:`same-origin`,headers:{Accept:`application/json`},body:n}),i=await r.text(),a;try{a=JSON.parse(i)}catch{throw Error(i||`API liefert kein JSON`)}if(!r.ok||!a.ok)throw Error(a.error||`API Fehler`);return a}async function Te(e){let t=await fetch(we,{method:`POST`,credentials:`same-origin`,headers:{Accept:`application/json`},body:e}),n=await t.text(),r;try{r=JSON.parse(n)}catch{throw Error(n||`API liefert kein JSON`)}if(!t.ok||!r.ok)throw Error(r.error||`API Fehler`);return r}var Ee=4,De=124,Oe=12,ke=[{key:`simple_value`,label:`Einfacher Wert`},{key:`value_table`,label:`Wertetabelle`},{key:`scale_bar`,label:`Werteskala`},{key:`dial_gauge`,label:`Zeigerinstrument`}],Ae=[{value:`all`,label:`Alle Hauptwerte`},{value:`ends`,label:`Nur Anfang und Ende`},{value:`none`,label:`Keine Zahlen`}],je=[{value:`triangle`,label:`Dreieck`},{value:`line`,label:`Markierungslinie`},{value:`diamond`,label:`Raute`}],Me=[{value:`needle`,label:`Standardzeiger`},{value:`slim`,label:`Dünner Zeiger`},{value:`wedge`,label:`Breiter Zeiger`}];function Ne(e){return e?{type:e.type||``,external_id:e.external_id||``,variable_id:e.variable_id||``,point_key:e.point_key||``,point_label:e.label||e.point_label||``}:null}function Pe(e){return e===`scale_bar`?{...JSON.parse(JSON.stringify(w.scale_bar.style_json)),point:null}:e===`dial_gauge`?{...JSON.parse(JSON.stringify(w.dial_gauge.style_json)),point:null}:e===`value_table`?{rows:[]}:{point:null,decimals:1}}function Fe(e){let t=e.widget_type||`simple_value`,n=Pe(t),r=E(e.config_json,{})||{};return{id:Number(e.id||0),widget_type:t,title:e.title||``,project_id:Number(e.project_id||0),grid_x:Math.max(0,Number(e.grid_x||0)),grid_y:Math.max(0,Number(e.grid_y||0)),grid_w:Math.max(1,Math.min(4,Number(e.grid_w||1))),grid_h:Math.max(1,Math.min(4,Number(e.grid_h||1))),sort_order:Number(e.sort_order||100),config:{...n,...r}}}function Ie(e){let t={},n=e=>e&&(e.value!==null&&e.value!==void 0&&String(e.value).trim()!==``||e.value_formatted!==null&&e.value_formatted!==void 0&&String(e.value_formatted).trim()!==``);return(e||[]).forEach(e=>{if(e?.source_key&&(t[e.source_key]=e,e.variable_id)){let r=String(e.variable_id);(!t[r]||!n(t[r])||n(e))&&(t[r]=e)}}),t}function Le(e,t,n){return!t||!n?null:j(n,e[t]||{})}function Re(e){return ke.find(t=>t.key===e)?.label||e}function ze(e,t){return!(e.grid_x+e.grid_w<=t.grid_x||t.grid_x+t.grid_w<=e.grid_x||e.grid_y+e.grid_h<=t.grid_y||t.grid_y+t.grid_h<=e.grid_y)}function Be(e,t,n=0){return e.grid_x<0||e.grid_y<0||e.grid_w<1||e.grid_h<1||e.grid_x+e.grid_w>Ee?!1:!t.some(t=>Number(t.id)!==Number(n)&&ze(e,t))}function Ve(e,t,n=0,r=0){for(let i=Math.max(0,r);i<240;i+=1)for(let r=0;r<=Ee-e.grid_w;r+=1){let a={...e,grid_x:r,grid_y:i};if(Be(a,t,n))return a}return{...e,grid_x:0,grid_y:Math.max(0,r)}}function He(e,t,n=0){let r={...e,grid_w:Math.max(1,Math.min(4,Number(e.grid_w||1))),grid_h:Math.max(1,Math.min(4,Number(e.grid_h||1))),grid_x:Math.max(0,Math.min(Ee-Math.max(1,Math.min(4,Number(e.grid_w||1))),Number(e.grid_x||0))),grid_y:Math.max(0,Number(e.grid_y||0))};return Be(r,t,n)?r:Ve(r,t,n,r.grid_y)}function Ue({value:e,onChange:t}){let[n,r]=(0,_.useState)([]),[i,a]=(0,_.useState)(``),[o,s]=(0,_.useState)(``);(0,_.useEffect)(()=>{H(`projects`).then(e=>r(e.projects||[])).catch(e=>s(e.message))},[]);let c=n.filter(e=>[e.year,e.project_number,e.name,e.customer_name].filter(Boolean).join(` `).toLowerCase().includes(i.toLowerCase()));return(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Projekt`}),(0,z.jsx)(`input`,{type:`text`,value:i,onChange:e=>a(e.target.value),placeholder:`Projekt suchen…`,className:`form-input`}),(0,z.jsxs)(`select`,{value:e,onChange:e=>t(Number(e.target.value||0)),className:`form-input`,children:[(0,z.jsx)(`option`,{value:``,children:`Projekt auswählen…`}),c.map(e=>(0,z.jsxs)(`option`,{value:e.id,children:[e.year,` | `,e.project_number,` | `,e.name,e.customer_name?` | ${e.customer_name}`:``]},e.id))]}),o&&(0,z.jsx)(`div`,{className:`tiny-error`,children:o})]})}function We({projectId:e,value:t,onChange:n}){let[r,i]=(0,_.useState)([]),[a,o]=(0,_.useState)(``),[s,c]=(0,_.useState)(!1),[l,u]=(0,_.useState)(``);(0,_.useEffect)(()=>{if(!e){i([]);return}c(!0),u(``),H(`project_values`,{project_id:e}).then(e=>i(e.values||[])).catch(e=>u(e.message)).finally(()=>c(!1))},[e]);let d=r.filter(e=>[e.type,e.label,e.point_key,e.variable_id,e.value_formatted].filter(Boolean).join(` `).toLowerCase().includes(a.toLowerCase()));function f(e){let t=r.find(t=>t.source_key===e);n(t?Ne(t):null)}return(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Wert`}),(0,z.jsx)(`input`,{value:a,onChange:e=>o(e.target.value),placeholder:`Wert suchen…`,className:`form-input`,disabled:!e}),(0,z.jsxs)(`select`,{value:t||``,onChange:e=>f(e.target.value),className:`form-input`,disabled:!e,children:[(0,z.jsx)(`option`,{value:``,children:e?`Wert auswählen…`:`Erst Projekt wählen…`}),d.map(e=>(0,z.jsxs)(`option`,{value:e.source_key,children:[e.label,` `,e.value_formatted?`(${e.value_formatted})`:``]},e.source_key))]}),s&&(0,z.jsx)(`div`,{className:`small-muted`,children:`Werte werden geladen…`}),l&&(0,z.jsx)(`div`,{className:`tiny-error`,children:l})]})}function Ge({label:e,value:t,onChange:n}){let r=/^#[0-9a-fA-F]{6}$/.test(t||``)?t:`#000000`;return(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:e}),(0,z.jsxs)(`div`,{className:`dashboard-color-row`,children:[(0,z.jsx)(`input`,{type:`color`,value:r,onChange:e=>n(e.target.value)}),(0,z.jsx)(`input`,{className:`form-input`,value:t||``,onChange:e=>n(e.target.value)})]})]})}function Ke({ranges:e,onChange:t}){function n(n,r){let i=[...e];i[n]={...i[n],...r},t(i)}return(0,z.jsxs)(`div`,{className:`dashboard-ranges`,children:[(0,z.jsx)(`div`,{className:`small-title`,children:`Farbbereiche`}),(e||[]).map((r,i)=>(0,z.jsxs)(`div`,{className:`dashboard-range-row`,children:[(0,z.jsx)(`input`,{type:`number`,value:Number(r.from??0),onChange:e=>n(i,{from:Number(e.target.value||0)}),placeholder:`Von`}),(0,z.jsx)(`input`,{type:`number`,value:Number(r.to??0),onChange:e=>n(i,{to:Number(e.target.value||0)}),placeholder:`Bis`}),(0,z.jsx)(`input`,{type:`color`,value:r.color||`#22c55e`,onChange:e=>n(i,{color:e.target.value})}),(0,z.jsx)(`button`,{type:`button`,className:`btn small`,onClick:()=>t(e.filter((e,t)=>t!==i)),children:`Entfernen`})]},i)),(0,z.jsx)(`button`,{type:`button`,className:`btn small`,onClick:()=>t([...e||[],{from:0,to:10,color:`#22c55e`}]),children:`+ Bereich`})]})}function qe({open:e,draft:t,onClose:n,onSave:r}){let[i,a]=(0,_.useState)(null);if((0,_.useEffect)(()=>{a(t?JSON.parse(JSON.stringify(t)):null)},[t]),!e||!i)return null;function o(e,t){a(n=>({...n,[e]:t}))}function s(e){a(t=>({...t,config:{...t.config,...e}}))}function c(e,t){let n=[...i.config.rows||[]];n[e]={...n[e],...t},s({rows:n})}return(0,z.jsx)(`div`,{className:`modal-backdrop`,onPointerDown:n,children:(0,z.jsxs)(`div`,{className:`asset-modal dashboard-widget-modal`,onPointerDown:e=>e.stopPropagation(),children:[(0,z.jsxs)(`div`,{className:`modal-head`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`div`,{className:`eyebrow`,children:`Dashboard`}),(0,z.jsx)(`h2`,{children:i.id?`Widget bearbeiten`:`Widget hinzufügen`})]}),(0,z.jsx)(`button`,{type:`button`,className:`icon-close`,onClick:n,children:`✕`})]}),(0,z.jsxs)(`div`,{className:`dashboard-widget-form`,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Typ`}),(0,z.jsx)(`input`,{className:`form-input`,value:Re(i.widget_type),readOnly:!0})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Titel`}),(0,z.jsx)(`input`,{className:`form-input`,value:i.title,onChange:e=>o(`title`,e.target.value),placeholder:`Optionaler Titel`})]}),(0,z.jsx)(Ue,{value:i.project_id,onChange:e=>o(`project_id`,e)}),i.widget_type===`simple_value`&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(We,{projectId:i.project_id,value:i.config.point?k(i.config.point):``,onChange:e=>s({point:e})}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Nachkommastellen`}),(0,z.jsx)(`input`,{type:`number`,min:`0`,max:`8`,value:Number(i.config.decimals??1),onChange:e=>s({decimals:Math.max(0,Math.min(8,Number(e.target.value||1)))})})]})]}),i.widget_type===`value_table`&&(0,z.jsxs)(`div`,{className:`dashboard-table-editor`,children:[(0,z.jsx)(`div`,{className:`small-title`,children:`Tabellenwerte`}),(i.config.rows||[]).map((e,t)=>(0,z.jsxs)(`div`,{className:`dashboard-table-row`,children:[(0,z.jsx)(`input`,{className:`form-input`,value:e.label||``,onChange:e=>c(t,{label:e.target.value}),placeholder:`Label`}),(0,z.jsx)(We,{projectId:i.project_id,value:e.point?k(e.point):``,onChange:e=>c(t,{point:e})}),(0,z.jsx)(`input`,{className:`form-input`,type:`number`,min:`0`,max:`8`,value:Number(e.decimals??1),onChange:e=>c(t,{decimals:Math.max(0,Math.min(8,Number(e.target.value||1)))}),placeholder:`Nachkommastellen`}),(0,z.jsx)(`button`,{type:`button`,className:`btn small`,onClick:()=>s({rows:i.config.rows.filter((e,n)=>n!==t)}),children:`Entfernen`})]},t)),(0,z.jsx)(`button`,{type:`button`,className:`btn small`,onClick:()=>s({rows:[...i.config.rows||[],{label:``,point:null,decimals:1}]}),children:`+ Wert hinzufügen`})]}),[`scale_bar`,`dial_gauge`].includes(i.widget_type)&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(We,{projectId:i.project_id,value:i.config.point?k(i.config.point):``,onChange:e=>s({point:e})}),i.widget_type===`scale_bar`&&(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Ausrichtung`}),(0,z.jsxs)(`select`,{value:i.config.orientation||`horizontal`,onChange:e=>s({orientation:e.target.value}),children:[(0,z.jsx)(`option`,{value:`horizontal`,children:`Horizontal`}),(0,z.jsx)(`option`,{value:`vertical`,children:`Vertikal`})]})]}),(0,z.jsxs)(`div`,{className:`prop-grid-2`,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Minimum`}),(0,z.jsx)(`input`,{type:`number`,value:Number(i.config.min??0),onChange:e=>s({min:Number(e.target.value||0)})})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Maximum`}),(0,z.jsx)(`input`,{type:`number`,value:Number(i.config.max??100),onChange:e=>s({max:Number(e.target.value||100)})})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Hauptstrich`}),(0,z.jsx)(`input`,{type:`number`,min:`1`,value:Number(i.config.majorStep??20),onChange:e=>s({majorStep:Number(e.target.value||20)})})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Unterteilungen`}),(0,z.jsx)(`input`,{type:`number`,min:`0`,max:`10`,value:Number(i.config.minorDivisions??4),onChange:e=>s({minorDivisions:Number(e.target.value||4)})})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Nachkommastellen`}),(0,z.jsx)(`input`,{type:`number`,min:`0`,max:`8`,value:Number(i.config.decimals??1),onChange:e=>s({decimals:Math.max(0,Math.min(8,Number(e.target.value||1)))})})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Zahlenmodus`}),(0,z.jsx)(`select`,{value:i.config.labelMode||`all`,onChange:e=>s({labelMode:e.target.value}),children:Ae.map(e=>(0,z.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Zahlengröße`}),(0,z.jsx)(`input`,{type:`number`,min:`8`,max:`32`,value:Number(i.config.labelFontSize??12),onChange:e=>s({labelFontSize:Number(e.target.value||12)})})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Zahlenposition`}),(0,z.jsx)(`input`,{type:`number`,min:`-90`,max:`48`,value:Number(i.config.labelOffset??0),onChange:e=>s({labelOffset:Number(e.target.value||0)})})]})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Zeiger`}),(0,z.jsx)(`select`,{value:i.config.pointerStyle||(i.widget_type===`dial_gauge`?`needle`:`triangle`),onChange:e=>s({pointerStyle:e.target.value}),children:(i.widget_type===`dial_gauge`?Me:je).map(e=>(0,z.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),(0,z.jsx)(Ge,{label:`Skalenfarbe`,value:i.config.barColor||`#334155`,onChange:e=>s({barColor:e})}),(0,z.jsx)(Ge,{label:`Zeigerfarbe`,value:i.config.needleColor||`#f8fafc`,onChange:e=>s({needleColor:e})}),(0,z.jsxs)(`label`,{className:`check-line`,children:[(0,z.jsx)(`input`,{type:`checkbox`,checked:!!i.config.fillEnabled,onChange:e=>s({fillEnabled:e.target.checked})}),`Füllanzeige aktivieren`]}),i.config.fillEnabled&&(0,z.jsx)(Ge,{label:`Füllfarbe`,value:i.config.fillColor||`#38bdf8`,onChange:e=>s({fillColor:e})}),(0,z.jsx)(Ke,{ranges:i.config.ranges||[],onChange:e=>s({ranges:e})})]}),(0,z.jsxs)(`div`,{className:`dashboard-widget-form-actions`,children:[(0,z.jsx)(`button`,{type:`button`,className:`btn primary`,onClick:()=>r(i),children:`Speichern`}),(0,z.jsx)(`button`,{type:`button`,className:`btn`,onClick:n,children:`Abbrechen`})]})]})]})})}function Je({onCreated:e,compact:t=!1}){let[n,r]=(0,_.useState)(0),[i,a]=(0,_.useState)(``),[o,s]=(0,_.useState)(``),[c,l]=(0,_.useState)(1920),[u,d]=(0,_.useState)(1080),[f,p]=(0,_.useState)(!1),[m,h]=(0,_.useState)(``);async function g(t){if(t.preventDefault(),h(``),!n)return h(`Bitte Projekt auswählen.`);if(!i.trim())return h(`Bitte Namen eintragen.`);p(!0);try{let t=await U(`page_create`,{project_id:n,name:i,description:o,width:c,height:u});e?.(t.page_id)}catch(e){h(e.message)}finally{p(!1)}}return(0,z.jsxs)(`form`,{className:`create-form ${t?`compact`:``}`,onSubmit:g,children:[(0,z.jsxs)(`div`,{className:`form-head`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`div`,{className:`eyebrow`,children:`Neue Seite`}),(0,z.jsx)(`h2`,{children:`Visualisierung anlegen`})]}),(0,z.jsx)(`span`,{children:`SE-Cloud Vis`})]}),(0,z.jsxs)(`div`,{className:`form-grid ${t?`compact`:``}`,children:[(0,z.jsx)(Ue,{value:n,onChange:r}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Name`}),(0,z.jsx)(`input`,{className:`form-input`,value:i,onChange:e=>a(e.target.value),placeholder:`z.B. Heizzentrale`})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Breite`}),(0,z.jsx)(`input`,{className:`form-input`,type:`number`,value:c,onChange:e=>l(Number(e.target.value||1920))})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Höhe`}),(0,z.jsx)(`input`,{className:`form-input`,type:`number`,value:u,onChange:e=>d(Number(e.target.value||1080))})]}),(0,z.jsxs)(`div`,{className:`field form-wide`,children:[(0,z.jsx)(`label`,{children:`Beschreibung`}),(0,z.jsx)(`input`,{className:`form-input`,value:o,onChange:e=>s(e.target.value),placeholder:`Optional`})]}),(0,z.jsx)(`div`,{className:`form-action`,children:(0,z.jsx)(`button`,{className:`btn primary`,disabled:f,children:f?`Speichert…`:`+ Anlegen`})})]}),m&&(0,z.jsx)(`div`,{className:`error-box small`,children:m})]})}function Ye({open:e,onClose:t,onCreated:n}){return e?(0,z.jsx)(`div`,{className:`modal-backdrop`,onPointerDown:t,children:(0,z.jsxs)(`div`,{className:`asset-modal dashboard-widget-modal`,onPointerDown:e=>e.stopPropagation(),children:[(0,z.jsxs)(`div`,{className:`modal-head`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`div`,{className:`eyebrow`,children:`Neue Seite`}),(0,z.jsx)(`h2`,{children:`Visualisierung anlegen`})]}),(0,z.jsx)(`button`,{type:`button`,className:`icon-close`,onClick:t,children:`✕`})]}),(0,z.jsx)(Je,{onCreated:e=>{t(),n?.(e)},compact:!0})]})}):null}function Xe({pages:e,canDesign:t,canEdit:n,onDelete:r}){let[i,a]=(0,_.useState)(``),[o,s]=(0,_.useState)({}),c=(0,_.useMemo)(()=>{let t=i.trim().toLowerCase();return t?e.filter(e=>[e.name,e.description,e.year,e.project_number,e.project_name,e.customer_name].filter(Boolean).join(` `).toLowerCase().includes(t)):e},[e,i]),l=(0,_.useMemo)(()=>oe(c),[c]);(0,_.useEffect)(()=>{l.length!==0&&(Object.keys(o).length>0||s({[l[0].project_id]:!0}))},[l,o]);function u(e){s(t=>({...t,[e]:!t[e]}))}return(0,z.jsxs)(`aside`,{className:`viewer-tree overview-tree`,children:[(0,z.jsx)(`div`,{className:`viewer-tree-title`,children:`Visualisierungen`}),(0,z.jsx)(`input`,{className:`form-input viewer-tree-search`,value:i,onChange:e=>a(e.target.value),placeholder:`Projekt oder Bild suchen…`}),l.length===0&&(0,z.jsx)(`div`,{className:`empty-mini`,children:`Keine sichtbaren Visualisierungen gefunden.`}),(0,z.jsx)(`div`,{className:`viewer-tree-project-list`,children:l.map(e=>{let i=!!o[e.project_id];return(0,z.jsxs)(`div`,{className:`viewer-tree-project-block`,children:[(0,z.jsxs)(`button`,{type:`button`,className:`viewer-tree-project-toggle`,onClick:()=>u(e.project_id),children:[(0,z.jsx)(`span`,{className:`viewer-tree-arrow`,children:i?`▾`:`▸`}),(0,z.jsxs)(`span`,{className:`viewer-tree-project-text`,children:[(0,z.jsxs)(`strong`,{children:[e.year,` · `,e.project_number]}),(0,z.jsx)(`small`,{children:e.project_name}),e.customer_name&&(0,z.jsx)(`small`,{className:`viewer-tree-customer`,children:e.customer_name})]}),(0,z.jsx)(`em`,{children:e.pages.length})]}),i&&(0,z.jsx)(`div`,{className:`viewer-tree-list`,children:e.pages.map(e=>(0,z.jsxs)(`div`,{className:`viewer-tree-row`,children:[(0,z.jsxs)(`a`,{href:`/visu/?mode=viewer&page_id=${e.id}`,children:[(0,z.jsx)(`span`,{children:e.name}),(0,z.jsxs)(`small`,{children:[e.width,`×`,e.height]})]}),(0,z.jsxs)(`div`,{className:`overview-tree-actions`,children:[t&&(0,z.jsx)(`a`,{className:`viewer-tree-edit`,href:`/visu/?mode=designer&page_id=${e.id}`,title:`Bearbeiten`,children:`✏️`}),n&&(0,z.jsx)(`button`,{type:`button`,className:`viewer-tree-edit overview-tree-delete`,title:`Deaktivieren`,onClick:()=>r(e.id),children:`🗑️`})]})]},e.id))})]},e.project_id)})})]})}function Ze({widget:e,projectValues:t}){if(e.widget_type===`simple_value`){let n=Le(t,e.project_id,e.config.point);return(0,z.jsxs)(`div`,{className:`dashboard-value-widget`,children:[(0,z.jsx)(`div`,{className:`dashboard-value-label`,children:e.config.point?.point_label||e.title||`Wert`}),(0,z.jsx)(`div`,{className:`dashboard-value-number`,children:se(n,e.config.decimals??1)})]})}if(e.widget_type===`value_table`){let n=Array.isArray(e.config.rows)?e.config.rows:[];return(0,z.jsxs)(`div`,{className:`dashboard-table-widget`,children:[n.length===0&&(0,z.jsx)(`div`,{className:`small-muted`,children:`Noch keine Werte verknüpft.`}),n.map((n,r)=>{let i=Le(t,e.project_id,n.point);return(0,z.jsxs)(`div`,{className:`dashboard-table-value-row`,children:[(0,z.jsx)(`span`,{children:n.label||n.point?.point_label||`Wert ${r+1}`}),(0,z.jsx)(`strong`,{children:se(i,n.decimals??1)})]},r)})]})}let n={...e.config,kind:e.widget_type===`dial_gauge`?`dial_gauge`:`scale_bar`};return(0,z.jsx)(`div`,{className:`dashboard-instrument-widget`,children:(0,z.jsx)(Ce,{element:{w:Math.max(180,e.grid_w*220-26),h:Math.max(120,e.grid_h*De-54),style_json:n},liveValues:t[e.project_id]||{}})})}function Qe({mode:e,pageCount:t=0,widgetCount:n=0}){return(0,z.jsxs)(`div`,{className:`overview-mode-tabs`,children:[(0,z.jsx)(`a`,{href:`/visu/?mode=dashboard`,className:`btn small ${e===`dashboard`?`primary`:``}`,children:`Dashboard`}),(0,z.jsx)(`a`,{href:`/visu/?mode=manage`,className:`btn small ${e===`manage`?`primary`:``}`,children:`Verwaltung`}),(0,z.jsx)(`a`,{href:`/visu/?mode=templates`,className:`btn small`,children:`Templates`}),(0,z.jsx)(`a`,{href:`/visu/?mode=monitoring`,className:`btn small`,children:`Datenpunkte`}),(0,z.jsx)(`a`,{href:`/visu/?mode=virtual_points`,className:`btn small`,children:`Virtuelle Datenpunkte`}),(0,z.jsx)(`a`,{href:`/visu/?mode=csv_exports`,className:`btn small`,children:`CSV Exporte`}),(0,z.jsx)(`span`,{children:e===`dashboard`?`${n} Widget(s)`:`${t} Seite(n)`})]})}function $e({pages:e,canDesign:t,canEdit:n,onDelete:r}){return(0,z.jsx)(`div`,{className:`project-visu-grid manage-page-grid`,children:(0,_.useMemo)(()=>oe(e),[e]).map(e=>(0,z.jsxs)(`article`,{className:`project-visu-card`,children:[(0,z.jsxs)(`div`,{className:`project-visu-head`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsxs)(`div`,{className:`project-visu-title`,children:[e.year,` · `,e.project_number,` · `,e.project_name]}),e.customer_name&&(0,z.jsx)(`div`,{className:`project-visu-meta`,children:e.customer_name})]}),(0,z.jsxs)(`span`,{children:[e.pages.length,` Bild(er)`]})]}),(0,z.jsx)(`div`,{className:`project-page-grid`,children:e.pages.map(e=>(0,z.jsxs)(`div`,{className:`visu-card compact`,children:[(0,z.jsx)(`div`,{className:`visu-title`,children:e.name}),(0,z.jsxs)(`div`,{className:`visu-meta`,children:[e.width,`×`,e.height]}),e.description&&(0,z.jsx)(`div`,{className:`visu-description`,children:e.description}),(0,z.jsxs)(`div`,{className:`visu-actions`,children:[(0,z.jsx)(`a`,{href:`/visu/?mode=viewer&page_id=${e.id}`,className:`mini-btn`,children:`Anzeigen`}),t&&(0,z.jsx)(`a`,{href:`/visu/?mode=designer&page_id=${e.id}`,className:`mini-btn`,children:`✏️ Bearbeiten`}),n&&(0,z.jsx)(`button`,{type:`button`,className:`mini-btn danger`,onClick:()=>r(e.id),children:`Löschen`})]})]},e.id))})]},e.project_id))})}function et({mode:e=`dashboard`}){let t=(0,_.useRef)(null),n=e!==`manage`,[r,i]=(0,_.useState)([]),[a,o]=(0,_.useState)([]),[s,c]=(0,_.useState)({}),[l,u]=(0,_.useState)(!1),[d,f]=(0,_.useState)(!1),[p,m]=(0,_.useState)(!0),[h,g]=(0,_.useState)(``),[v,y]=(0,_.useState)(``),[b,x]=(0,_.useState)(null),[S,C]=(0,_.useState)(null),[w,T]=(0,_.useState)(!1);function E(e){window.location.href=`/visu/?mode=designer&page_id=${e}`}async function D(){let e=await H(`pages`);i(e.pages||[]),u(!!e.can_edit),f(!!e.can_design)}async function O(){o(((await H(`dashboard_widgets`)).widgets||[]).map(Fe))}(0,_.useEffect)(()=>{m(!0),g(``),(n?Promise.all([D(),O()]):Promise.all([D()])).catch(e=>g(e.message)).finally(()=>m(!1))},[n]);let ee=(0,_.useMemo)(()=>{let e=new Set;return a.forEach(t=>{t.project_id>0&&e.add(t.project_id)}),Array.from(e)},[a]),te=(0,_.useMemo)(()=>{let e={};return r.forEach(t=>{!t.project_id||e[t.project_id]||(e[t.project_id]=[t.year,t.project_number,t.project_name].filter(Boolean).join(` · `))}),e},[r]);(0,_.useMemo)(()=>oe(r),[r]),(0,_.useEffect)(()=>{if(!n){c({});return}if(ee.length===0){c({});return}let e=!1;async function t(){try{let t=await Promise.all(ee.map(async e=>[e,Ie((await H(`project_values`,{project_id:e})).values||[])]));e||c(Object.fromEntries(t))}catch(t){e||y(t.message)}}y(``),t();let r=window.setInterval(t,5e3);return()=>{e=!0,window.clearInterval(r)}},[n,ee]),(0,_.useEffect)(()=>{if(!S)return;function e(){let e=t.current?.getBoundingClientRect();if(!e)return null;let n=(e.width-Oe*(Ee-1))/Ee;return{rect:e,cellWidth:n,fullWidth:n+Oe,fullHeight:136}}function n(t){let n=e();if(!n)return;if(S.mode===`move`){let e=t.clientX-n.rect.left,r=t.clientY-n.rect.top,i=Math.max(0,Math.min(Ee-S.preview.grid_w,Math.round(e/n.fullWidth))),a=Math.max(0,Math.round(r/n.fullHeight));C(e=>({...e,preview:{...e.preview,grid_x:i,grid_y:a}}));return}let r=t.clientX-S.startX,i=t.clientY-S.startY,a=Math.max(1,Math.min(4,S.startW+Math.round(r/n.fullWidth))),o=Math.max(1,Math.min(4,S.startH+Math.round(i/n.fullHeight))),s=Math.max(0,Math.min(Ee-a,S.preview.grid_x));C(e=>({...e,preview:{...e.preview,grid_w:a,grid_h:o,grid_x:s}}))}async function r(){let e=a.find(e=>Number(e.id)===Number(S.widgetId));if(!e){C(null);return}let t=He({...e,...S.preview},a,e.id);o(a.map(n=>Number(n.id)===Number(e.id)?{...n,...t}:n)),C(null);try{await ne({...e,...t})}catch{await O()}}return window.addEventListener(`pointermove`,n),window.addEventListener(`pointerup`,r,{once:!0}),()=>{window.removeEventListener(`pointermove`,n),window.removeEventListener(`pointerup`,r)}},[S,a]);async function ne(e){let t=await U(`dashboard_widget_save`,{widget_id:e.id||``,widget_type:e.widget_type,title:e.title||``,project_id:e.project_id||``,grid_x:e.grid_x,grid_y:e.grid_y,grid_w:e.grid_w,grid_h:e.grid_h,sort_order:e.sort_order??100,config_json:JSON.stringify(e.config||{})}),n={...e,id:Number(t.widget_id||e.id||0)};return o(e=>e.some(e=>Number(e.id)===Number(n.id))?e.map(e=>Number(e.id)===Number(n.id)?n:e):[...e,n]),n}async function k(e){if(confirm(`Visualisierung wirklich deaktivieren?`))try{await U(`page_delete`,{page_id:e}),await D()}catch(e){alert(e.message)}}async function A(e){if(confirm(`Widget wirklich löschen?`))try{await U(`dashboard_widget_delete`,{widget_id:e}),o(t=>t.filter(t=>Number(t.id)!==Number(e)))}catch(e){alert(e.message)}}function re(e){let t=e===`simple_value`?{grid_w:1,grid_h:1}:{grid_w:2,grid_h:2};return{id:0,widget_type:e,title:``,project_id:0,grid_x:0,grid_y:0,grid_w:t.grid_w,grid_h:t.grid_h,sort_order:a.length*10+100,config:Pe(e)}}async function j(e){try{await ne(He(e,a,e.id)),x(null)}catch(e){alert(e.message)}}function M(e){return!S||Number(S.widgetId)!==Number(e.id)?e:{...e,...S.preview}}return n?(0,z.jsxs)(`div`,{className:`page-shell full overview-full`,children:[(0,z.jsxs)(`section`,{className:`glass-card overview-main-card`,children:[(0,z.jsxs)(`div`,{className:`section-head`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`div`,{className:`eyebrow`,children:`SE-Cloud Vis`}),(0,z.jsx)(`h2`,{children:`Dashboard`})]}),(0,z.jsx)(Qe,{mode:`dashboard`,pageCount:r.length,widgetCount:a.length})]}),h&&(0,z.jsx)(`div`,{className:`error-box`,children:h}),!h&&(0,z.jsxs)(`div`,{className:`overview-main-layout`,children:[(0,z.jsx)(Xe,{pages:r,canDesign:d,canEdit:l,onDelete:k}),(0,z.jsxs)(`div`,{className:`overview-dashboard-card`,children:[(0,z.jsxs)(`div`,{className:`dashboard-toolbar`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`div`,{className:`small-title`,children:`Dashboard`}),(0,z.jsx)(`div`,{className:`small-muted`,children:`Widgets lassen sich per Ziehen verschieben und unten rechts in der Größe ändern.`})]}),(0,z.jsx)(`div`,{className:`dashboard-toolbar-actions`,children:ke.map(e=>(0,z.jsxs)(`button`,{type:`button`,className:`btn small`,onClick:()=>x(re(e.key)),children:[`+ `,e.label]},e.key))})]}),v&&(0,z.jsx)(`div`,{className:`error-box small`,children:v}),(0,z.jsxs)(`div`,{ref:t,className:`dashboard-grid`,style:{"--dashboard-columns":Ee,"--dashboard-row-height":`${De}px`,"--dashboard-gap":`${Oe}px`},children:[a.length===0&&(0,z.jsx)(`div`,{className:`dashboard-empty`,children:`Noch keine Dashboard-Widgets angelegt.`}),a.map(e=>{let t=M(e);return(0,z.jsxs)(`article`,{className:`dashboard-widget ${S?.widgetId===e.id?`is-moving`:``}`,style:{gridColumn:`${t.grid_x+1} / span ${t.grid_w}`,gridRow:`${t.grid_y+1} / span ${t.grid_h}`},children:[(0,z.jsxs)(`div`,{className:`dashboard-widget-header`,onPointerDown:n=>{n.button===0&&(n.target.closest(`button, a`)||C({mode:`move`,widgetId:e.id,preview:{grid_x:t.grid_x,grid_y:t.grid_y,grid_w:t.grid_w,grid_h:t.grid_h}}))},children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`strong`,{children:e.title||Re(e.widget_type)}),(0,z.jsx)(`small`,{children:te[e.project_id]||`Kein Projekt gewählt`})]}),(0,z.jsxs)(`div`,{className:`dashboard-widget-actions`,children:[(0,z.jsx)(`button`,{type:`button`,className:`icon-btn subtle-icon`,title:`Bearbeiten`,onPointerDown:e=>e.stopPropagation(),onClick:()=>x(e),children:`✎`}),(0,z.jsx)(`button`,{type:`button`,className:`icon-btn subtle-icon`,title:`Löschen`,onPointerDown:e=>e.stopPropagation(),onClick:()=>A(e.id),children:`✕`})]})]}),(0,z.jsx)(`div`,{className:`dashboard-widget-body`,children:(0,z.jsx)(Ze,{widget:e,projectValues:s})}),(0,z.jsx)(`button`,{type:`button`,className:`dashboard-resize-handle`,title:`Größe ändern`,onPointerDown:n=>{n.stopPropagation(),C({mode:`resize`,widgetId:e.id,startX:n.clientX,startY:n.clientY,startW:t.grid_w,startH:t.grid_h,preview:{grid_x:t.grid_x,grid_y:t.grid_y,grid_w:t.grid_w,grid_h:t.grid_h}})},children:`◢`})]},e.id||`${e.widget_type}-${e.grid_x}-${e.grid_y}`)})]})]})]})]}),(0,z.jsx)(qe,{open:!!b,draft:b,onClose:()=>x(null),onSave:j})]}):(0,z.jsxs)(`div`,{className:`page-shell full overview-full`,children:[(0,z.jsxs)(`section`,{className:`glass-card overview-main-card manage-main-card`,children:[(0,z.jsxs)(`div`,{className:`section-head`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`div`,{className:`eyebrow`,children:`SE-Cloud Vis`}),(0,z.jsx)(`h2`,{children:`Verwaltung`})]}),(0,z.jsxs)(`div`,{className:`manage-head-actions`,children:[l&&(0,z.jsx)(`button`,{type:`button`,className:`btn small primary`,onClick:()=>T(!0),children:`+ Neue Seite`}),(0,z.jsx)(Qe,{mode:`manage`,pageCount:r.length,widgetCount:a.length})]})]}),h&&(0,z.jsx)(`div`,{className:`error-box`,children:h}),!h&&(0,z.jsx)(`div`,{className:`overview-manage-layout single-column`,children:(0,z.jsx)($e,{pages:r,canDesign:d,canEdit:l,onDelete:k})})]}),(0,z.jsx)(Ye,{open:w,onClose:()=>T(!1),onCreated:E})]})}var tt=m(),nt={top_left:{x:0,y:0},top_center:{x:50,y:0},top_right:{x:100,y:0},middle_left:{x:0,y:50},center:{x:50,y:50},middle_right:{x:100,y:50},bottom_left:{x:0,y:100},bottom_center:{x:50,y:100},bottom_right:{x:100,y:100}};function rt(e,t){return j(e,t)}function it(e,t){let n={fillColor:e.fillColor||`transparent`,gradientColor:e.gradientColor||e.fillColor||`#000000`},r=Array.isArray(e.colorRules)?[...e.colorRules].sort((e,t)=>Number(e.priority||100)-Number(t.priority||100)):[];for(let i of r){let r=M(i,e),a=rt(r,t);if(a&&P(r,a))return{fillColor:r.fillColor||n.fillColor,gradientColor:r.gradientColor||n.gradientColor}}return n}function at(e){return nt[e.gradientOrigin]||{x:Number(e.gradientOriginX??50),y:Number(e.gradientOriginY??50)}}function ot(e,t){let n=rt(M(e.flowPoint||{},e),t),r=Number(N(n).replace(`,`,`.`)),i=Number(e.flowMin??0),a=Number(e.flowMax??100)-i,o=Number.isFinite(r)&&a!==0?(r-i)/a:.5;o=Math.max(0,Math.min(1,o)),e.flowInvertSpeed&&(o=1-o);let s=Math.max(.2,Number(e.flowSlowSeconds??5)),c=Math.max(.1,Number(e.flowFastSeconds??.7));return{duration:s-o*(s-c),reverse:e.flowDirection===`reverse`}}function st(e){switch(e){case`diamond`:return`M 0 0 L -5 -5 L -10 0 L -5 5 z`;case`chevron`:return`M 0 0 L -7 -5 L -7 -2.5 L -10 -2.5 L -3 0 L -10 2.5 L -7 2.5 L -7 5 z`;case`kite`:return`M 0 0 L -6 -5 L -10 0 L -6 5 z`;default:return`M 0 0 L -10 -5 L -10 5 z`}}function ct(e){return{x:Number(e?.x??0),y:Number(e?.y??0)}}function lt(e,t){return Math.atan2(t.y-e.y,t.x-e.x)*180/Math.PI}function ut({id:e,type:t,size:n,angle:r,gap:i,point:a,color:o}){let s=Math.max(.6,Number(n||20)/10),c=r*Math.PI/180,l=a.x+Math.cos(c)*Number(i||0),u=a.y+Math.sin(c)*Number(i||0);return(0,z.jsx)(`path`,{d:st(t),fill:o,transform:`translate(${l} ${u}) rotate(${r}) scale(${s})`},e)}function dt({element:e,liveValues:t={},pointEditMode:n=!1,onPointPointerDown:r}){let i=e.style_json||{},a=i.strokeColor||i.color||`#60a5fa`,o=Number(i.strokeWidth||i.thickness||4),s=Math.max(8,Number(i.arrowSize??20)),c=Math.max(-120,Math.min(120,Number(i.arrowGap??0))),l=Math.max(-120,Math.min(120,Number(i.startArrowGap??c))),u=Math.max(-120,Math.min(120,Number(i.endArrowGap??c))),d=i.subtype||`rect`,f=it(i,t),p=i.fillMode||`solid`,m=String(e.id).replace(/[^a-zA-Z0-9_-]/g,``),h=`shape-fill-${m}`,g=p===`solid`?f.fillColor:`url(#${h})`,_=Array.isArray(i.points)?i.points.map(ct):[],v=_.map(e=>`${e.x},${e.y}`).join(` `),y=at(i),b=y.x===50&&y.y===50,x=ot(i,t),S=d===`polyline`&&!!i.flowEnabled,C=_.length>1?{from:_[0],to:_[1]}:null,w=_.length>1?{from:_[_.length-2],to:_[_.length-1]}:null,T=C?lt(C.from,C.to):0,E=w?lt(w.from,w.to):0,D=Number(i.startArrowRotation??0),O=Number(i.endArrowRotation??0),ee=i.startArrow===`outward`?T+180+D:T+D,te=i.endArrow===`outward`?E+O:E+180+O;return(0,z.jsxs)(`svg`,{viewBox:`0 0 ${e.w} ${e.h}`,className:`shape-svg`,children:[(0,z.jsxs)(`defs`,{children:[p===`radial`&&(0,z.jsxs)(`radialGradient`,{id:h,cx:`${y.x}%`,cy:`${y.y}%`,r:`72%`,children:[(0,z.jsx)(`stop`,{offset:`0%`,stopColor:f.fillColor}),(0,z.jsx)(`stop`,{offset:`100%`,stopColor:f.gradientColor})]}),p===`linear`&&(0,z.jsx)(`linearGradient`,{id:h,x1:b?`0%`:`${y.x}%`,y1:b?`50%`:`${y.y}%`,x2:b?`100%`:`${100-y.x}%`,y2:b?`50%`:`${100-y.y}%`,gradientTransform:`rotate(${Number(i.gradientAngle||0)} 0.5 0.5)`,children:b?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`stop`,{offset:`0%`,stopColor:f.gradientColor}),(0,z.jsx)(`stop`,{offset:`50%`,stopColor:f.fillColor}),(0,z.jsx)(`stop`,{offset:`100%`,stopColor:f.gradientColor})]}):(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`stop`,{offset:`0%`,stopColor:f.fillColor}),(0,z.jsx)(`stop`,{offset:`100%`,stopColor:f.gradientColor})]})})]}),d===`polyline`&&(0,z.jsxs)(z.Fragment,{children:[i.fillClosed&&_.length>2&&(0,z.jsx)(`polygon`,{points:v,fill:g,stroke:`none`}),(0,z.jsx)(`polyline`,{points:v,fill:`none`,stroke:a,strokeWidth:o,strokeLinecap:`round`,strokeLinejoin:`round`}),S&&(0,z.jsx)(`polyline`,{points:v,className:`shape-flow-line`,fill:`none`,stroke:i.flowColor||`#e0f2fe`,strokeWidth:Math.max(2,o*.55),strokeDasharray:`14 18`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{animationDuration:`${x.duration.toFixed(2)}s`,animationDirection:x.reverse?`reverse`:`normal`}}),i.startArrow!==`none`&&C&&ut({id:`start-${m}`,type:i.startArrowType||`triangle`,size:s,angle:ee,gap:l,point:_[0],color:a}),i.endArrow!==`none`&&w&&ut({id:`end-${m}`,type:i.endArrowType||`triangle`,size:s,angle:te,gap:u,point:_[_.length-1],color:a})]}),d===`polygon`&&(0,z.jsx)(`polygon`,{points:v,fill:g,stroke:a,strokeWidth:o,strokeLinecap:`round`,strokeLinejoin:`round`}),(d===`ellipse`||d===`circle`)&&(0,z.jsx)(`ellipse`,{cx:e.w/2,cy:e.h/2,rx:Math.max(1,e.w/2-o),ry:Math.max(1,e.h/2-o),fill:g,stroke:a,strokeWidth:o}),d===`rect`&&(0,z.jsx)(`rect`,{x:o/2,y:o/2,width:Math.max(1,e.w-o),height:Math.max(1,e.h-o),rx:Number(i.radius||0),fill:g,stroke:a,strokeWidth:o}),n&&_.map((e,t)=>(0,z.jsx)(`circle`,{cx:e.x,cy:e.y,r:`7`,className:`poly-point`,onPointerDown:e=>r(e,t)},t))]})}var ft={top_left:{x:0,y:0},top_center:{x:50,y:0},top_right:{x:100,y:0},middle_left:{x:0,y:50},center:{x:50,y:50},middle_right:{x:100,y:50},bottom_left:{x:0,y:100},bottom_center:{x:50,y:100},bottom_right:{x:100,y:100}};function pt(e){return ft[e.gradientOrigin]||{x:Number(e.gradientOriginX??50),y:Number(e.gradientOriginY??50)}}function mt(e,t){let n=e.style_json||{};if((n.subtype||`text`)!==`text`)return e.label||`Text`;let r=Array.isArray(n.textRules)?[...n.textRules].sort((e,t)=>Number(e.priority||100)-Number(t.priority||100)):[];for(let e of r){let r=M(e,n),i=j(r,t);if(i&&P(r,i))return r.text||``}return e.label||`Text`}function ht(e){return e?e.linkMode===`page`&&e.linkPageId?`/visu/?mode=viewer&page_id=${e.linkPageId}`:e.linkMode===`external`&&e.linkUrl?e.linkUrl:``:``}function gt(e){return!Array.isArray(e.menuItems)||e.menuItems.length===0?[]:e.menuItems.map((t,n)=>({id:t.id||`menu-${n+1}`,label:t.label||`Link ${n+1}`,linkMode:t.linkMode||`page`,linkPageId:t.linkPageId||``,linkUrl:t.linkUrl||``,linkTarget:t.linkTarget||e.linkTarget||`same_tab`}))}function _t(e){return e.buttonShape===`rect`?0:Math.max(0,Number(e.buttonRadius??16))}function vt(e){return{borderRadius:`${_t(e)}px`,background:e.buttonFill||`rgba(37, 99, 235, 0.78)`,border:`1px solid ${e.buttonBorderColor||`rgba(147, 197, 253, 0.72)`}`,boxShadow:`0 10px 24px rgba(15, 23, 42, 0.24)`,textDecoration:`none`}}function yt(e){let t=Number(e.strokeWidth??0),n=e.fillColor||`transparent`,r=e.gradientColor||`#1d4ed8`,i=e.fillMode||`solid`,a=pt(e),o=i===`linear`?a.x===50&&a.y===50?`linear-gradient(${Number(e.gradientAngle||0)}deg, ${r} 0%, ${n} 50%, ${r} 100%)`:`linear-gradient(${Number(e.gradientAngle||0)}deg, ${n}, ${r})`:i===`radial`?`radial-gradient(circle at ${a.x}% ${a.y}%, ${n}, ${r})`:n;return{border:`${Math.max(0,t)}px solid ${e.strokeColor||e.color||`#60a5fa`}`,background:o,borderRadius:`${Number(e.radius||0)}px`}}function bt({href:e,targetMode:t,interactive:n,children:r,className:i,style:a}){let o=t===`new_tab`?`_blank`:void 0,s=o?`noreferrer noopener`:void 0;return!n||!e?(0,z.jsx)(`span`,{className:i,style:a,children:r}):(0,z.jsx)(`a`,{className:i,style:a,href:e,target:o,rel:s,children:r})}function xt({element:e,liveValues:t={},interactive:n=!1}){let r=e.style_json||{},i=r.subtype||`text`,a=mt(e,t),o=!!r.renderAsButton&&(i===`link`||i===`menu`),s=r.menuOrientation===`horizontal`?`horizontal`:`vertical`,c=Math.max(22,Number(r.menuButtonSize??42)),l={color:r.color||`#ffffff`,fontSize:r.fontSize||20,fontFamily:r.fontFamily||C[0].value,...yt(r)};if(i===`menu`){let e=gt(r);return(0,z.jsx)(`div`,{className:`text-element text-menu ${s===`horizontal`?`is-horizontal`:`is-vertical`} ${o?`has-button-items`:``}`,style:{...l,gap:`${Math.max(0,Number(r.menuGap??8))}px`},children:e.map(e=>(0,z.jsx)(bt,{href:ht(e),targetMode:e.linkTarget,interactive:n,className:`text-menu-item ${o?`as-button`:``}`,style:o?{...vt(r),width:s===`horizontal`?`${c}px`:`100%`,height:s===`vertical`?`${c}px`:`100%`,minHeight:s===`vertical`?`${c}px`:`100%`,flex:`0 0 auto`}:void 0,children:e.label},e.id))})}return i===`link`?(0,z.jsx)(`div`,{className:`text-element`,style:l,children:(0,z.jsx)(bt,{href:ht(r),targetMode:r.linkTarget||`same_tab`,interactive:n,className:`text-link-anchor ${o?`as-button`:``}`,style:o?{...vt(r),width:`100%`,height:`100%`}:void 0,children:a})}):(0,z.jsx)(`div`,{className:`text-element`,style:l,children:a})}var St=[{value:`15m`,label:`15 Min`},{value:`1h`,label:`1 h`},{value:`6h`,label:`6 h`},{value:`12h`,label:`12 h`},{value:`24h`,label:`24 h`},{value:`7d`,label:`7 Tage`},{value:`30d`,label:`30 Tage`},{value:`90d`,label:`90 Tage`},{value:`180d`,label:`6 Monate`}];function Ct(e){if(e==null||e===``)return null;let t=Number(String(e).replace(`,`,`.`));return Number.isFinite(t)?t:null}function wt(e){if(!e)return``;let t=new Date(e);return Number.isNaN(t.getTime())?``:t.toLocaleString(`de-DE`,{hour:`2-digit`,minute:`2-digit`})}function Tt(e){if(!e)return``;let t=new Date(e);return Number.isNaN(t.getTime())?``:t.toLocaleString(`de-DE`,{year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function Et(e){return Number.isFinite(e)?e.toLocaleString(`de-DE`,{maximumFractionDigits:2}):``}function Dt(e,t=0,n=100){let r=e.filter(e=>Number.isFinite(e));if(!r.length)return{min:t,max:n};let i=Math.min(...r),a=Math.max(...r);i===a&&(--i,a+=1);let o=(a-i)*.08;return{min:i-o,max:a+o}}function Ot(e){return e.filter(e=>Number.isFinite(e.y))}function kt(e){let t=[],n=[];return e.forEach(e=>{if(!Number.isFinite(e.y)){n.length&&t.push(n),n=[];return}n.push(e)}),n.length&&t.push(n),t}function At(e,t,n){let r=[],i=!1;return e.forEach(e=>{if(!Number.isFinite(e.y)){i=!1;return}r.push(`${i?`L`:`M`} ${t(e.x).toFixed(2)} ${n(e.y).toFixed(2)}`),i=!0}),r.join(` `)}function jt(e,t,n){let r=Ot(e);if(r.length===0)return``;if(r.length===1)return`M ${t(r[0].x).toFixed(2)} ${n(r[0].y).toFixed(2)}`;let i=r.map(e=>({x:t(e.x),y:n(e.y)})),a=[],o=Array(i.length).fill(0);for(let e=0;e<i.length-1;e+=1){let t=i[e+1].x-i[e].x;a[e]=t<=0?0:(i[e+1].y-i[e].y)/t}o[0]=a[0]??0,o[i.length-1]=a[i.length-2]??0;for(let e=1;e<i.length-1;e+=1){let t=a[e-1],n=a[e];if(!Number.isFinite(t)||!Number.isFinite(n)||t===0||n===0||t*n<0){o[e]=0;continue}let r=i[e].x-i[e-1].x,s=i[e+1].x-i[e].x;o[e]=(r+s)/(r/t+s/n)}for(let e=0;e<a.length;e+=1){let t=a[e];if(!Number.isFinite(t)||t===0){o[e]=0,o[e+1]=0;continue}let n=o[e]/t,r=o[e+1]/t,i=n*n+r*r;if(i>9){let a=3/Math.sqrt(i);o[e]=a*n*t,o[e+1]=a*r*t}}let s=[`M ${i[0].x.toFixed(2)} ${i[0].y.toFixed(2)}`];for(let e=0;e<i.length-1;e+=1){let t=i[e],n=i[e+1],r=n.x-t.x;if(r<=0){s.push(`L ${n.x.toFixed(2)} ${n.y.toFixed(2)}`);continue}let a=t.x+r/3,c=t.y+o[e]*r/3,l=n.x-r/3,u=n.y-o[e+1]*r/3;s.push(`C ${a.toFixed(2)} ${c.toFixed(2)} ${l.toFixed(2)} ${u.toFixed(2)} ${n.x.toFixed(2)} ${n.y.toFixed(2)}`)}return s.join(` `)}function Mt(e,t,n){let r=Ot(e);if(!r.length)return``;let i=[`M ${t(r[0].x).toFixed(2)} ${n(r[0].y).toFixed(2)}`];for(let e=1;e<r.length;e+=1){let a=r[e-1],o=r[e],s=t(o.x);i.push(`L ${s.toFixed(2)} ${n(a.y).toFixed(2)}`),i.push(`L ${s.toFixed(2)} ${n(o.y).toFixed(2)}`)}return i.join(` `)}function Nt(e,t,n,r=`linear`,i=!0){if(i){let i=Ot(e);return r===`smooth`?jt(i,t,n):r===`step`?Mt(i,t,n):At(i,t,n)}return kt(e).map(e=>r===`smooth`?jt(e,t,n):r===`step`?Mt(e,t,n):At(e,t,n)).join(` `)}function Pt(e,t,n,r,i=!0){return(i?[Ot(e)]:kt(e)).filter(e=>e.length>0).map(e=>{let i=e[0],a=e[e.length-1];return[`M ${t(i.x).toFixed(2)} ${r.toFixed(2)}`,...e.map(e=>`L ${t(e.x).toFixed(2)} ${n(e.y).toFixed(2)}`),`L ${t(a.x).toFixed(2)} ${r.toFixed(2)}`,`Z`].join(` `)}).join(` `)}function Ft({element:e,interactive:t=!1,tooltipsEnabled:n=!1,timeRange:r,customTimeRange:i,controlsMode:a=`local`,onTimeRangeChange:o,onShowTooltip:s,onMoveTooltip:c,onHideTooltip:l,onExpand:u}){let d=e.style_json||{},f=Array.isArray(d.series)?d.series:[],p=Math.max(0,Number(d.refreshSeconds??60)),m=(0,_.useRef)(null),h=(0,_.useRef)(null),[g,v]=(0,_.useState)(d.range||`24h`),[y,b]=(0,_.useState)(null),[x,S]=(0,_.useState)(null),[C,w]=(0,_.useState)(null),[T,E]=(0,_.useState)(``),[D,O]=(0,_.useState)(!1),[ee,te]=(0,_.useState)(null),ne=JSON.stringify({series:f,range:r||g||d.range||`24h`,interval:d.interval||`auto`,aggregate:d.aggregate||`mean`,customRange:i||y});(0,_.useEffect)(()=>{a!==`global`&&(v(d.range||`24h`),b(null))},[a,e.id,d.range]),(0,_.useEffect)(()=>{n||te(null)},[n]),(0,_.useEffect)(()=>{let e=!0,t=null;async function n(){if(!f.length){w(null),E(``);return}O(!0);try{let t={series_json:JSON.stringify(f),range:r||g||d.range||`24h`,interval:d.interval||`auto`,aggregate:d.aggregate||`mean`},n=i||y;n&&(t.start=String(n.start),t.end=String(n.end));let a=await U(`trend_data`,t);if(!e)return;w(a.data||null),E(``)}catch(t){if(!e)return;E(t.message||`Trenddaten konnten nicht geladen werden.`)}finally{e&&O(!1)}}return n(),p>0&&(t=window.setInterval(n,p*1e3)),()=>{e=!1,t&&window.clearInterval(t)}},[ne,p]);let k=(0,_.useMemo)(()=>{let e=C?.series||[],t=[],n=e.map((e,n)=>{let r=f.find(t=>String(t.id)===String(e.id))||f[n]||{},i=(e.values||[]).map(e=>({x:Date.parse(e.time),time:e.time,y:Ct(e.value)})).filter(e=>Number.isFinite(e.x));return i.forEach(e=>{Number.isFinite(e.y)&&t.push(e)}),{...e,...r,color:r.color||e.color||`#38bdf8`,label:r.label||e.label||`Trend ${n+1}`,unit:r.unit||``,yAxis:Math.max(1,Math.min(4,Number(r.yAxis||1))),points:i}}),r=t.map(e=>e.x),i=t.map(e=>e.y),a=r.length?Math.min(...r):Date.now()-36e5,o=r.length?Math.max(...r):Date.now(),{min:s,max:c}=Dt(i,Number(d.min??0),Number(d.max??100)),l={};return[1,2,3,4].forEach(e=>{let t=Dt(n.filter(t=>Number(t.yAxis||1)===e).flatMap(e=>e.points.map(e=>e.y).filter(e=>Number.isFinite(e))),s,c),r=n.find(t=>Number(t.yAxis||1)===e&&t.unit)?.unit||``,i=n.find(t=>Number(t.yAxis||1)===e)?.color||`#cbd5e1`;l[e]={...t,unit:r,color:i}}),{series:n,xMin:a,xMax:o===a?a+1:o,yMin:s,yMax:c,yAxes:l}},[C,f,d.min,d.max]),A=Math.max(240,Number(e.w||520)),re=Math.max(160,Number(e.h||300)),j=d.showLegend!==!1&&k.series.length>0,M=[1,2,3,4].filter(e=>k.series.some(t=>Number(t.yAxis||1)===e)),N=t?j?78:58:j?52:42,P={left:48,right:22+Math.max(0,M.length-1)*42,top:38,bottom:N},ie=Math.max(20,A-P.left-P.right),F=Math.max(20,re-P.top-P.bottom),I=e=>P.left+(e-k.xMin)/(k.xMax-k.xMin)*ie,L=(e,t=1)=>{let n=k.yAxes?.[t]||{min:k.yMin,max:k.yMax};return P.top+(1-(e-n.min)/(n.max-n.min))*F},R=P.top+F,ae=(e=1)=>{let t=k.yAxes?.[e]||{min:k.yMin,max:k.yMax};return[0,.25,.5,.75,1].map(e=>t.min+(t.max-t.min)*e)},oe=[k.xMin,k.xMin+(k.xMax-k.xMin)/2,k.xMax],se=d.backgroundColor||`rgba(15, 23, 42, 0.46)`,ce=d.borderColor||`rgba(148, 163, 184, 0.42)`,le=i||y?`custom`:r||g||d.range||`24h`,B=d.displayMode||`line`,ue=d.interpolation||`linear`,de=d.connectNulls!==!1;function fe(e){let t=m.current?.getBoundingClientRect();return t?{x:(e.clientX-t.left)/Math.max(1,t.width)*A,y:(e.clientY-t.top)/Math.max(1,t.height)*re}:null}function pe(e){let t=(Math.max(P.left,Math.min(A-P.right,e))-P.left)/ie;return k.xMin+t*(k.xMax-k.xMin)}function me(e){let t=fe(e);if(!t)return null;let n=null;return k.series.forEach(e=>{e.points.forEach(r=>{if(!Number.isFinite(r.y))return;let i=I(r.x)-t.x,a=L(r.y)-t.y,o=Math.sqrt(i*i+a*a);(!n||o<n.distance)&&(n={serie:e,point:r,distance:o})})}),n&&n.distance<=28?n:null}function he(e){if(!t||e.button!==0)return;let n=fe(e);!n||n.x<P.left||n.x>A-P.right||n.y<P.top||n.y>R||(e.preventDefault(),e.stopPropagation(),te(null),h.current={startX:n.x,currentX:n.x},S({startX:n.x,currentX:n.x}))}function ge(e){if(h.current){let t=fe(e);if(!t)return;h.current.currentX=t.x,S({startX:h.current.startX,currentX:t.x});return}if(!t||!n)return;let r=me(e);if(!r){te(null),l?.();return}te({x:I(r.point.x),y:L(r.point.y,r.serie.yAxis||1),color:r.serie.color||`#38bdf8`}),s?.(e,[{key:`${r.serie.id||r.serie.label}-${r.point.time}`,label:r.serie.label||`Trend`,value:`${Et(r.point.y)}${r.serie.unit?` ${r.serie.unit}`:``}`,updated:Tt(r.point.time),quality:`trend`,pointKey:r.serie.tag_value||``,type:r.serie.measurement||`Influx`,group:r.serie.tag_key||``,source:r.serie.database||``}],`Trendwert`),c?.(e)}function _e(){if(!h.current)return;let{startX:e,currentX:t}=h.current;if(h.current=null,S(null),te(null),Math.abs(t-e)<12)return;let n=pe(Math.min(e,t)),r=pe(Math.max(e,t));if(a===`global`){o?.({customRange:{start:Math.round(n),end:Math.round(r)}});return}b({start:Math.round(n),end:Math.round(r)})}function ve(e=d.range||`24h`){if(a===`global`){o?.({range:e,customRange:null});return}v(e),b(null)}function ye(e){t&&(e.preventDefault(),e.stopPropagation(),ve(g||d.range||`24h`))}return(0,z.jsxs)(`div`,{className:`trend-chart`,style:{background:se,borderColor:ce},children:[(0,z.jsxs)(`svg`,{ref:m,viewBox:`0 0 ${A} ${re}`,preserveAspectRatio:`none`,onPointerDown:he,onPointerMove:ge,onPointerUp:_e,onDoubleClick:ye,onPointerLeave:()=>{h.current=null,S(null),te(null),l?.()},children:[(0,z.jsx)(`rect`,{x:`0.5`,y:`0.5`,width:A-1,height:re-1,rx:Number(d.radius??14),className:`trend-chart-frame`}),B!==`donut`&&B!==`digital_bar`&&M.map(e=>{let t=e===M[0],n=M.indexOf(e)*42,r=t?P.left-8:A-P.right+8+n,i=t?`end`:`start`,a=ae(e),o=k.yAxes?.[e]||{};return(0,z.jsxs)(`g`,{children:[a.map(n=>{let a=L(n,e);return(0,z.jsxs)(`g`,{children:[t&&(0,z.jsx)(`line`,{x1:P.left,x2:A-P.right,y1:a,y2:a,className:`trend-grid-line`}),(0,z.jsx)(`text`,{x:r,y:a+4,className:`trend-axis-label`,textAnchor:i,style:{fill:o.color},children:Et(n)})]},`${e}-${n}`)}),o.unit&&(0,z.jsx)(`text`,{x:r,y:P.top-12,className:`trend-axis-label`,textAnchor:i,style:{fill:o.color},children:o.unit})]},e)}),B!==`donut`&&oe.map(e=>(0,z.jsx)(`text`,{x:I(e),y:R+24,className:`trend-axis-label trend-x-label`,textAnchor:`middle`,children:wt(e)},e)),B!==`donut`&&B!==`digital_bar`&&(0,z.jsx)(`line`,{x1:P.left,x2:P.left,y1:P.top,y2:R,className:`trend-axis`}),B!==`donut`&&B!==`digital_bar`&&M.slice(1).map((e,t)=>(0,z.jsx)(`line`,{x1:A-P.right+6+t*42,x2:A-P.right+6+t*42,y1:P.top,y2:R,className:`trend-axis`},e)),B!==`donut`&&(0,z.jsx)(`line`,{x1:P.left,x2:A-P.right,y1:R,y2:R,className:`trend-axis`}),B===`digital_bar`&&k.series.map((e,t)=>{let n=F/Math.max(1,k.series.length),r=P.top+n*t+5,i=Math.max(8,n-10),a=e.color||`#22c55e`,o=e.points.filter(e=>Number.isFinite(e.x)).sort((e,t)=>e.x-t.x);return(0,z.jsxs)(`g`,{children:[(0,z.jsx)(`text`,{x:P.left-8,y:r+i/2+4,className:`trend-axis-label`,textAnchor:`end`,children:e.label||`Trend ${t+1}`}),o.map((n,s)=>{let c=o[s+1],l=I(n.x),u=c?I(c.x):A-P.right,d=Number(n.y)>=1;return(0,z.jsx)(`rect`,{x:l,y:r,width:Math.max(1,u-l),height:i,fill:d?a:`rgba(2, 6, 23, 0.58)`,opacity:d?.74:.5},`${e.id||t}-${s}`)})]},e.id||t)}),B===`vertical_bar`&&k.series.map((e,t)=>{let n=e.points.filter(e=>Number.isFinite(e.y)),r=e.color||`#38bdf8`,i=ie/Math.max(1,n.length),a=Math.max(2,Math.min(28,i/Math.max(1,k.series.length)-2));return(0,z.jsx)(`g`,{children:n.map((n,o)=>{let s=I(n.x)-i/2+t*(a+2),c=L(n.y,e.yAxis||1);return(0,z.jsx)(`rect`,{x:s,y:Math.min(c,R),width:a,height:Math.max(1,Math.abs(R-c)),rx:`2`,fill:r,opacity:`0.82`},`${e.id||t}-${o}`)})},e.id||t)}),B===`donut`&&(()=>{let e=A/2,t=P.top+F/2,n=Math.max(18,Math.min(ie,F)/2-10),r=Math.max(12,n*.28),i=k.series.map((e,t)=>{let n=[...e.points].reverse().find(e=>Number.isFinite(e.y));return{serie:e,index:t,value:Math.max(0,Math.abs(Number(n?.y||0)))}}).filter(e=>e.value>0),a=i.reduce((e,t)=>e+t.value,0)||1,o=0;return(0,z.jsxs)(`g`,{children:[(0,z.jsx)(`circle`,{cx:e,cy:t,r:n,fill:`none`,stroke:`rgba(15,23,42,0.58)`,strokeWidth:r}),i.map(i=>{let s=i.value/a,c=`${(s*100).toFixed(3)} ${(100-s*100).toFixed(3)}`,l=o;return o-=s*100,(0,z.jsx)(`circle`,{cx:e,cy:t,r:n,fill:`none`,stroke:i.serie.color||`#38bdf8`,strokeWidth:r,strokeDasharray:c,strokeDashoffset:l,pathLength:`100`,transform:`rotate(-90 ${e} ${t})`},i.serie.id||i.index)}),(0,z.jsx)(`text`,{x:e,y:t+5,className:`trend-axis-label`,textAnchor:`middle`,children:Et(a)})]})})(),B===`line`&&k.series.map((e,t)=>{let n=t=>L(t,e.yAxis||1),r=Nt(e.points,I,n,ue,de),i=Pt(e.points,I,n,R,de),a=e.color||`#38bdf8`,o=Math.max(1,Number(e.lineWidth??d.lineWidth??3)),s=Math.max(0,Math.min(.8,Number(e.fillOpacity??d.fillOpacity??.18)));return(0,z.jsxs)(`g`,{children:[e.fillEnabled&&i&&(0,z.jsx)(`path`,{d:i,fill:a,opacity:s}),r&&(0,z.jsx)(`path`,{d:r,fill:`none`,stroke:a,strokeWidth:o,strokeLinecap:`round`,strokeLinejoin:`round`,vectorEffect:`non-scaling-stroke`})]},e.id||t)}),ee&&(0,z.jsx)(`circle`,{cx:ee.x,cy:ee.y,r:`5`,fill:ee.color,className:`trend-hover-point`}),x&&(0,z.jsx)(`rect`,{x:Math.min(x.startX,x.currentX),y:P.top,width:Math.abs(x.currentX-x.startX),height:F,className:`trend-selection`})]}),(0,z.jsxs)(`div`,{className:`trend-chart-head`,children:[(0,z.jsx)(`strong`,{children:e.label||e.name||`Trendgraph`}),(0,z.jsxs)(`span`,{children:[le===`custom`?`Auswahl`:le,` · `,C?.interval||d.interval||`auto`]})]}),j&&(0,z.jsx)(`div`,{className:`trend-legend ${t?`has-footer`:``}`,children:k.series.map((e,t)=>(0,z.jsxs)(`span`,{children:[(0,z.jsx)(`i`,{style:{background:e.color||`#38bdf8`}}),e.label||`Trend ${t+1}`]},e.id||t))}),!f.length&&(0,z.jsx)(`div`,{className:`trend-empty`,children:`Datenpunkte auswählen`}),D&&!C&&(0,z.jsx)(`div`,{className:`trend-empty`,children:`Trend wird geladen...`}),T&&(0,z.jsx)(`div`,{className:`trend-error`,children:T}),t&&(0,z.jsxs)(`div`,{className:`trend-footer`,onPointerDown:e=>e.stopPropagation(),children:[a!==`global`&&(0,z.jsxs)(`select`,{value:y?`custom`:g||d.range||`24h`,onChange:e=>{e.target.value!==`custom`&&ve(e.target.value)},children:[y&&(0,z.jsx)(`option`,{value:`custom`,children:`Auswahl`}),St.map(e=>(0,z.jsx)(`option`,{value:e.value,children:e.label},e.value))]}),a!==`global`&&y&&(0,z.jsx)(`button`,{type:`button`,onClick:()=>ve(g||d.range||`24h`),children:`Reset`}),(0,z.jsx)(`button`,{type:`button`,title:`Trend auf Canvas vergrößern`,onClick:()=>u?.(e),children:`⤢`})]})]})}function It(e){if(e==null||e===``)return null;let t=String(e).replace(`,`,`.`).match(/-?\d+(?:\.\d+)?/);return t?Number(t[0]):null}function Lt(e,t=1,n=``){if(!Number.isFinite(e))return`--`;let r=e.toLocaleString(`de-DE`,{minimumFractionDigits:Math.max(0,Math.min(8,t)),maximumFractionDigits:Math.max(0,Math.min(8,t))});return n?`${r} ${n}`:r}function Rt(e){return JSON.stringify({database:e?.influx?.database||``,measurement:e?.influx?.measurement||``,tag_key:e?.influx?.tag_key||``,tag_value:e?.influx?.tag_value||``})}function zt(e){return!!(e?.sourceMode===`influx`&&e?.influx?.database&&e?.influx?.measurement&&e?.influx?.tag_key&&e?.influx?.tag_value)}function Bt(e,t,n,r){if(e?.sourceMode===`static`)return It(e.staticValue);if(e?.sourceMode===`point`){let r=j(M(e.point||{},t),n);return It(r?.value??r?.value_formatted)}return e?.sourceMode===`influx`?It(r[e.id]):null}function Vt({element:e,liveValues:t={}}){let n=e?.style_json||{},r=Array.isArray(n.nodes)?n.nodes:[],i=Array.isArray(n.links)?n.links:[],a=Math.max(0,Number(n.refreshSeconds??30)),[o,s]=(0,_.useState)({}),c=(0,_.useMemo)(()=>i.filter(zt),[i]);(0,_.useEffect)(()=>{let e=!0,t=null;async function n(){if(!c.length){s({});return}try{let t=await U(`influx_latest_values`,{series_json:JSON.stringify(c.map(e=>({id:e.id,database:e.influx.database,measurement:e.influx.measurement,tag_key:e.influx.tag_key,tag_value:e.influx.tag_value})))});if(!e)return;let n={};(t.series||[]).forEach(e=>{n[e.id]=e.value}),s(n)}catch{e&&s({})}}return n(),a>0&&c.length&&(t=window.setInterval(n,a*1e3)),()=>{e=!1,t&&window.clearInterval(t)}},[a,JSON.stringify(c.map(e=>({id:e.id,signature:Rt(e)})))]);let l=Math.max(260,Number(e?.w||560)),u=Math.max(180,Number(e?.h||320)),d=(0,_.useMemo)(()=>{let e=new Map(r.map((e,t)=>[e.id||`node-${t}`,{...e,id:e.id||`node-${t}`,label:e.label||`Knoten ${t+1}`,column:Number(e.column??0),order:Number(e.order??t),color:e.color||`#38bdf8`,incoming:[],outgoing:[]}])),a=i.map((r,i)=>{let a=r.sourceId||``,s=r.targetId||``,c=e.get(a),l=e.get(s),u=Bt(r,n,t,o);return!c||!l||!Number.isFinite(u)||u<=0?null:{...r,id:r.id||`link-${i}`,sourceId:a,targetId:s,label:r.label||``,color:r.color||c.color||`#38bdf8`,opacity:Math.max(.08,Math.min(1,Number(r.opacity??n.linkOpacity??.46))),thicknessFactor:Math.max(.25,Number(r.thicknessFactor??1)),value:u,source:c,target:l}}).filter(Boolean);a.forEach(e=>{e.source.outgoing.push(e),e.target.incoming.push(e)});let s=Array.from(e.values());s.forEach(e=>{let t=e.incoming.reduce((e,t)=>e+t.value,0),n=e.outgoing.reduce((e,t)=>e+t.value,0);e.total=Math.max(t,n,1e-4)});let c=new Map;s.forEach(e=>{let t=Number.isFinite(e.column)?e.column:0;c.has(t)||c.set(t,[]),c.get(t).push(e)});let d=Array.from(c.keys()).sort((e,t)=>e-t),f=Math.max(18,Number(n.nodeWidth??26)),p=Math.max(0,Number(n.nodeRadius??10)),m=Math.max(6,Number(n.nodeGap??14)),h=Math.max(40,u-18-18),g=Number(n.scaleFactor??1);if(!(g>0)){let e=d.map(e=>{let t=(c.get(e)||[]).sort((e,t)=>e.order-t.order),n=t.reduce((e,t)=>e+t.total,0),r=Math.max(0,t.length-1)*m;return n>0?(h-r)/n:0}).filter(e=>e>0);g=e.length?Math.min(...e):18}let _=Math.max(20,Number(n.minNodeHeight??24)),v=Math.max(1,d.length-1),y=Math.max(40,l-16-16-f);d.forEach(e=>{let t=(c.get(e)||[]).sort((e,t)=>e.order-t.order),n=t.map(e=>Math.max(e.total*g,_)),r=n.reduce((e,t)=>e+t,0),i=18+Math.max(0,h-r-Math.max(0,t.length-1)*m)/2;t.forEach((t,r)=>{let a=n[r],o=Math.max(1,t.total*g);t.w=f,t.h=a,t.flowHeight=Math.min(o,a),t.flowOffset=(a-t.flowHeight)/2,t.x=16+(d.length===1?y/2:(e-d[0])/v*y),t.y=i,t.radius=p,t.outCursor=0,t.inCursor=0,i+=a+m})});let b=Math.max(1,Number(n.minLinkWidth??4)),x=Math.max(.15,Math.min(.6,Number(n.curve??.42)));return{nodes:s,links:a.map(e=>{let t=Math.max(b,e.value*g*e.thicknessFactor),n=Math.max(b,e.value*g*e.thicknessFactor),r=e.source.y+e.source.flowOffset+e.source.outCursor,i=e.target.y+e.target.flowOffset+e.target.inCursor;e.source.outCursor+=t,e.target.inCursor+=n;let a=e.source.x+f,o=e.target.x;if(![a,o,r,i,t,n].every(Number.isFinite))return null;let s=Math.max(20,(o-a)*x),c=r,l=r+t,u=i,d=i+n,p=[`M ${a.toFixed(2)} ${c.toFixed(2)}`,`C ${(a+s).toFixed(2)} ${c.toFixed(2)} ${(o-s).toFixed(2)} ${u.toFixed(2)} ${o.toFixed(2)} ${u.toFixed(2)}`,`L ${o.toFixed(2)} ${d.toFixed(2)}`,`C ${(o-s).toFixed(2)} ${d.toFixed(2)} ${(a+s).toFixed(2)} ${l.toFixed(2)} ${a.toFixed(2)} ${l.toFixed(2)}`,`Z`].join(` `);return{...e,width:t,path:p,labelX:a+(o-a)/2,labelY:(c+l+u+d)/4}}).filter(Boolean)}},[r,i,n,l,u,t,o]),f=n.backgroundColor||`rgba(15, 23, 42, 0.42)`,p=n.borderColor||`rgba(148, 163, 184, 0.38)`,m=n.labelColor||`#e2e8f0`,h=Math.max(.2,Math.min(1,Number(n.nodeOpacity??.9))),g=n.showValues!==!1,v=n.showLegend!==!1;return(0,z.jsxs)(`div`,{className:`sankey-chart`,style:{background:f,borderColor:p},children:[(0,z.jsxs)(`svg`,{viewBox:`0 0 ${l} ${u}`,preserveAspectRatio:`none`,children:[(0,z.jsx)(`rect`,{x:`0.5`,y:`0.5`,width:l-1,height:u-1,rx:Number(n.radius??14),className:`trend-chart-frame`}),d.links.map(e=>(0,z.jsxs)(`g`,{children:[(0,z.jsx)(`path`,{d:e.path,fill:e.color,opacity:e.opacity}),g&&e.label&&(0,z.jsx)(`text`,{x:e.labelX,y:e.labelY,className:`sankey-link-label`,textAnchor:`middle`,style:{fill:m},children:e.label})]},e.id)),d.nodes.map(e=>(0,z.jsxs)(`g`,{children:[(0,z.jsx)(`rect`,{x:e.x,y:e.y,width:e.w,height:e.h,rx:e.radius,fill:e.color,opacity:h}),(0,z.jsx)(`text`,{x:e.x+e.w+8,y:e.y+16,className:`sankey-node-label`,style:{fill:m},children:e.label})]},e.id))]}),(0,z.jsxs)(`div`,{className:`sankey-chart-head`,children:[(0,z.jsx)(`strong`,{children:e.label||e.name||`Sankey`}),(0,z.jsxs)(`span`,{children:[d.links.length,` Flüsse · `,d.nodes.length,` Knoten`]})]}),v&&g&&d.links.length>0&&(0,z.jsx)(`div`,{className:`sankey-legend`,children:d.links.slice(0,6).map(e=>(0,z.jsxs)(`span`,{children:[(0,z.jsx)(`i`,{style:{background:e.color}}),e.label||`${e.source.label} → ${e.target.label}`,`: `,Lt(e.value,Number(n.decimals??1),n.unit||``)]},e.id))}),d.links.length===0&&(0,z.jsx)(`div`,{className:`trend-empty`,children:`Sankey-Flüsse konfigurieren`})]})}var Ht=`visu:last-viewer-page`;function Ut(e){let t=Number(e||0);t>0&&sessionStorage.setItem(Ht,String(t))}function Wt(e){let t=Number(sessionStorage.getItem(`visu:last-viewer-page`)||0),n=e.find(e=>Number(e.id)===t)||e[0];return n?`/visu/?mode=viewer&page_id=${n.id}`:`/visu/?mode=dashboard`}function Gt({className:e=`btn`,label:t=`Anzeigen`,disabled:n=!1}){let[r,i]=(0,_.useState)(()=>{let e=Number(sessionStorage.getItem(`visu:last-viewer-page`)||0);return e>0?`/visu/?mode=viewer&page_id=${e}`:`/visu/?mode=dashboard`});return(0,_.useEffect)(()=>{let e=!0;return H(`pages`).then(t=>{e&&i(Wt(t.pages||[]))}).catch(()=>{}),()=>{e=!1}},[]),n?(0,z.jsx)(`span`,{className:e,children:t}):(0,z.jsx)(`a`,{href:r,className:e,children:t})}function Kt(e,t=``){if(!e)return null;if((e.type||e.variable_type)===`static`){let n=e.static_value??e.value??``;return{type:`static`,variable_type:`static`,external_id:``,variable_id:``,point_key:``,point_label:e.point_label||e.label||`Fester Wert ${n}`,label:e.label||e.point_label||`Fester Wert ${n}`,static_value:n,value:n,value_formatted:String(n),templatePlaceholderKey:t}}return{type:e.type||e.variable_type||``,variable_type:e.type||e.variable_type||``,external_id:e.external_id||``,variable_id:e.variable_id||``,point_key:e.point_key||``,point_label:e.point_label||e.label||``,label:e.label||e.point_label||``,templatePlaceholderKey:t}}function qt(e){return!!(e&&typeof e==`object`&&!Array.isArray(e)&&(e.variable_type===`placeholder`||e.type===`placeholder`)&&e.point_key)}function Jt(e,t){if(Array.isArray(e))return e.map(e=>Jt(e,t));if(!e||typeof e!=`object`)return e;let n={};if(Object.entries(e).forEach(([e,r])=>{n[e]=Jt(r,t)}),qt(e)){let r=Kt(t[e.point_key],e.point_key);return r?{...n,...r}:{...n,templatePlaceholderKey:e.point_key}}return n}function Yt(e,t={}){if(Array.isArray(e))return e.forEach(e=>Yt(e,t)),t;if(!e||typeof e!=`object`)return t;let n=e.style_json?.templateBindings;return n&&typeof n==`object`&&!Array.isArray(n)&&Object.entries(n).forEach(([e,n])=>{n&&!t[e]&&(t[e]=Kt(n,e))}),e.templatePlaceholderKey&&!t[e.templatePlaceholderKey]&&(t[e.templatePlaceholderKey]=Kt(e,e.templatePlaceholderKey)),Object.values(e).forEach(e=>Yt(e,t)),t}function Xt(e,t){return String(e?.style_json?.templateElementUid||e?.style_json?.templateElementId||e?.id||`index-${t}`)}function Zt(e){return{minX:Math.min(...e.map(e=>Number(e.x||0))),minY:Math.min(...e.map(e=>Number(e.y||0))),minZ:Math.min(...e.map(e=>Number(e.z_index||10)))}}async function Qt(e,t){let n=new Map;if(e.forEach(e=>{let t=e.style_json||{};!t.templateGroupId||!t.templateSourceId||(n.has(t.templateGroupId)||n.set(t.templateGroupId,[]),n.get(t.templateGroupId).push(e))}),n.size===0)return e;let r=new Map,i=new Map;for(let[e,a]of n.entries()){let n=a[0]?.style_json||{},o=Number(n.templateSourceId||0);if(!o)continue;i.has(o)||i.set(o,await t(o));let s=i.get(o),c=Array.isArray(s?.elements)?s.elements.map(ee):[];if(c.length===0)continue;let l=Yt(a),u=Zt(a),d=Zt(c),f=new Map;a.forEach((e,t)=>{f.set(Xt(e,t),e)});let p=c.map((t,r)=>{let i=Xt(t,r),c=f.get(i)||a[r],p=Jt(t,l),m=p.style_json||{};return ee({...p,id:c?.id||b(),x:Number(p.x||0)-d.minX+u.minX,y:Number(p.y||0)-d.minY+u.minY,z_index:Number(p.z_index||10)-d.minZ+u.minZ,style_json:{...m,templateGroupId:e,templateSourceId:o,templateElementId:i,templateName:s?.template?.name||n.templateName||`Template`,templatePlaceholders:s?.placeholders||n.templatePlaceholders||[],templateBindings:l}})});r.set(e,p)}let a=[],o=new Set;return e.forEach(e=>{let t=e.style_json?.templateGroupId;if(t&&r.has(t)){o.has(t)||(a.push(...r.get(t)),o.add(t));return}a.push(e)}),a}var $t=`visu.viewer.tooltips.enabled`,en=`visu.viewer.tooltips.position`,tn=300,nn=220,rn=10,an=`visu.viewer.trend.range`,on=[{value:`15m`,label:`15 Min`},{value:`1h`,label:`1 h`},{value:`6h`,label:`6 h`},{value:`12h`,label:`12 h`},{value:`24h`,label:`24 h`},{value:`7d`,label:`7 Tage`},{value:`30d`,label:`30 Tage`},{value:`90d`,label:`90 Tage`},{value:`180d`,label:`6 Monate`}];function sn(e,t,n){return Math.max(t,Math.min(n,e))}function cn(e,t){let n=e.style_json||{},r=[...e.rules||[]].sort((e,t)=>Number(e.priority||100)-Number(t.priority||100));for(let e of r){let r=M(e,n),i=j(r,t);if(i&&P(r,i))return{image:r.image_file||``,hasState:!0}}let i=e.asset_states?.find(e=>e.is_default)||e.asset_states?.[0]||null;return i?{image:i.image_file||``,hasState:!0}:e.style_json?.default_image?{image:e.style_json.default_image,hasState:!0}:{image:``,hasState:!1}}function ln(){try{return sessionStorage.getItem($t)!==`0`}catch{return!0}}function un(){try{return sessionStorage.getItem(en)||`cursor`}catch{return`cursor`}}function dn(){try{return sessionStorage.getItem(an)||`24h`}catch{return`24h`}}function fn(e){let t=Number(e);return!Number.isFinite(t)||t<0?`Unbekannt`:t<60?`vor ${Math.round(t)} s`:t<3600?`vor ${Math.round(t/60)} min`:t<86400?`vor ${Math.round(t/3600)} h`:`vor ${Math.round(t/86400)} d`}function pn(e,t={}){return t.unitMode===`custom`?String(t.unit||``).trim():t.unitMode===`hidden`?``:String(e?.unit||``).trim()}function mn(e,t={},n){let r=se(e,t.decimals??1,n),i=pn(e,t);return!i||r.includes(i)?r:`${r} ${i}`}function hn(e){let t=new Set;return Object.values(e||{}).filter(e=>{if(!e||typeof e!=`object`)return!1;let n=e.source_key||[e.type,e.external_id,e.variable_id,e.point_key].join(`|`);return t.has(n)?!1:(t.add(n),!0)})}function gn(e,t=`,`){let n=String(e??``);return/["\r\n]/.test(n)||n.includes(t)?`"${n.replace(/"/g,`""`)}"`:n}function _n(e,t,n={}){let r=new Set,i=[];for(let a of e){let e=M(a,n);if(!e)continue;let o=k(e);if(!o||r.has(o))continue;r.add(o);let s=j(e,t);i.push({key:o,label:s?.label||e.point_label||e.label||`Datenpunkt`,value:s?se(s,1):`Keine Live-Daten`,updated:fn(s?.age_s),quality:s?.quality??`Unbekannt`,unit:s?.unit||``,pointKey:s?.point_key||e.point_key||``,type:s?.type||e.variable_type||``,group:s?.group||``,source:s?.external_id||e.external_id||``,point:s})}return i}function vn(e,t){let n=e.style_json||{};if(e.element_type===`asset`)return _n(e.rules||[],t,n);if(e.element_type===`shape`)return _n([...Array.isArray(n.colorRules)?n.colorRules:[],n.flowPoint||null],t,n);if(e.element_type===`text`)return _n(n.textRules||[],t,n);if(e.element_type===`value`){let r=[n.point||null];return!n.point&&e.variable_id&&r.push({variable_id:e.variable_id,point_label:e.label||e.name||`Datenpunkt`}),_n(r,t,n)}return[]}function yn({tooltip:e}){return e?.items?.length?(0,tt.createPortal)((0,z.jsxs)(`div`,{className:`viewer-tooltip ${e.align===`right`?`align-right`:``}`,style:{left:e.x,top:e.y},children:[e.title&&(0,z.jsx)(`div`,{className:`viewer-tooltip-title`,children:e.title}),(0,z.jsx)(`div`,{className:`viewer-tooltip-list`,children:e.items.map(e=>(0,z.jsxs)(`div`,{className:`viewer-tooltip-row`,children:[(0,z.jsx)(`strong`,{children:e.label}),(0,z.jsx)(`span`,{children:e.value}),e.pointKey&&(0,z.jsxs)(`small`,{children:[`Datenpunkt: `,e.pointKey]}),e.type&&(0,z.jsxs)(`small`,{children:[`Typ: `,e.type]}),e.group&&(0,z.jsxs)(`small`,{children:[`Gruppe: `,e.group]}),(0,z.jsxs)(`small`,{children:[`Zuletzt aktualisiert: `,e.updated]}),(0,z.jsxs)(`small`,{children:[`Qualität: `,e.quality??`Unbekannt`]})]},e.key))})]}),document.body):null}function bn({element:e,liveValues:t,tooltipsEnabled:n,onShowTooltip:r,onMoveTooltip:i,onHideTooltip:a}){let o=e.style_json?.attachedValues||[],s=e.style_json||{};return!Array.isArray(o)||o.length===0?null:(0,z.jsx)(z.Fragment,{children:o.slice(0,3).map((e,o)=>{let c=j(M(e,s),t),l=se(c,e.decimals??1),u=Number(e.fontSize||13),d=_n([e],t,s);return(0,z.jsxs)(`div`,{className:`attached-value`,style:{left:`${e.x??50}%`,top:`${e.y??100}%`,fontSize:`${u}px`},onPointerEnter:n&&d.length>0?t=>{t.stopPropagation(),r(t,d,e.label||c?.label||`Wert ${o+1}`)}:void 0,onPointerMove:n&&d.length>0?e=>{e.stopPropagation(),i(e)}:void 0,onPointerLeave:n&&d.length>0?e=>{e.stopPropagation(),a(e)}:void 0,children:[(0,z.jsx)(`span`,{style:{fontSize:`${Math.max(8,u-4)}px`},children:e.label||c?.raw_label||`Wert ${o+1}`}),(0,z.jsx)(`strong`,{style:{fontSize:`${u}px`},children:l})]},o)})})}function xn({pageId:e,element:t,point:n,canWrite:r,onWritten:i}){let[a,o]=(0,_.useState)(!1),[s,c]=(0,_.useState)(``),[l,u]=(0,_.useState)(!1);if(t.style_json?.kind!==`setpoint`||!r)return null;async function d(n){n.preventDefault(),u(!0);try{await U(`set_value`,{page_id:e,external_id:t.style_json?.point?.external_id||``,variable_id:t.style_json?.point?.variable_id||``,point_key:t.style_json?.point?.point_key||``,value:s}),o(!1),c(``),await i?.()}catch(e){alert(e.message)}finally{u(!1)}}return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`button`,{type:`button`,className:`setpoint-edit-btn`,onClick:e=>{e.stopPropagation(),o(!0)},children:`✎`}),a&&(0,z.jsx)(`div`,{className:`setpoint-popover`,onPointerDown:e=>e.stopPropagation(),children:(0,z.jsxs)(`form`,{onSubmit:d,children:[(0,z.jsx)(`div`,{className:`small-title`,children:`Sollwert schreiben`}),(0,z.jsx)(`div`,{className:`small-muted`,children:t.label}),(0,z.jsx)(`input`,{className:`form-input`,value:s,onChange:e=>c(e.target.value),placeholder:String(n?.value??``),autoFocus:!0}),(0,z.jsxs)(`div`,{className:`setpoint-actions`,children:[(0,z.jsx)(`button`,{className:`btn small primary`,disabled:l,children:l?`…`:`Schreiben`}),(0,z.jsx)(`button`,{type:`button`,className:`btn small`,onClick:()=>o(!1),children:`Abbrechen`})]})]})})]})}function Sn({pageId:e,element:t,liveValue:n,liveValues:r,canWriteSetpoints:i,onSetpointWritten:a,tooltipsEnabled:o,onShowTooltip:s,onMoveTooltip:c,onHideTooltip:l,onExpandTrend:u,trendRange:d,trendCustomRange:f,onTrendRangeChange:p}){let m=t.style_json||{},h=m.color||`#60a5fa`,g=`translate(${t.x}px, ${t.y}px) rotate(${t.rotation||0}deg)`;if(!ie(t,r))return null;let _=vn(t,r),v=t.label||t.name||`Datenpunkt`,y=o&&_.length>0?{onPointerEnter:e=>s(e,_,v),onPointerMove:c,onPointerLeave:l}:{};return(0,z.jsxs)(`div`,{className:`canvas-element`,style:{width:t.w,height:t.h,transform:g,zIndex:t.z_index||10,opacity:t.opacity??1},...y,children:[t.element_type===`asset`&&(0,z.jsxs)(z.Fragment,{children:[(()=>{let e=cn(t,r);return e.image?(0,z.jsx)(`img`,{className:`asset-canvas-image`,src:e.image,alt:t.label||t.name||``,draggable:!1}):e.hasState?null:(0,z.jsx)(`div`,{className:`asset-missing`,children:`Kein Zustand`})})(),(0,z.jsx)(bn,{element:t,liveValues:r,tooltipsEnabled:o,onShowTooltip:s,onMoveTooltip:c,onHideTooltip:l})]}),t.element_type===`text`&&(0,z.jsx)(xt,{element:t,liveValues:r,interactive:!0}),t.element_type===`value`&&m.kind===`trend_chart`&&(0,z.jsx)(Ft,{element:t,interactive:!0,tooltipsEnabled:o,timeRange:d,customTimeRange:f,controlsMode:`global`,onTimeRangeChange:p,onShowTooltip:s,onMoveTooltip:c,onHideTooltip:l,onExpand:u}),t.element_type===`value`&&m.kind===`sankey_chart`&&(0,z.jsx)(Vt,{element:t,liveValues:r}),t.element_type===`value`&&[`scale_bar`,`dial_gauge`].includes(m.kind)&&(0,z.jsx)(Ce,{element:t,liveValues:r}),t.element_type===`value`&&![`scale_bar`,`dial_gauge`,`trend_chart`,`sankey_chart`].includes(m.kind)&&(0,z.jsxs)(`div`,{className:`sensor-element ${m.kind===`setpoint`?`is-setpoint`:``}`,style:{borderColor:m.strokeColor||h,background:m.kind===`setpoint`?ce(m):void 0},children:[(0,z.jsx)(`div`,{className:`sensor-marker`,style:{background:m.markerColor||h},children:m.marker||(m.kind===`setpoint`?`SP`:`T`)}),(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`div`,{className:`sensor-label`,children:t.label||(m.kind===`setpoint`?`Sollwert`:`Fühler`)}),(0,z.jsx)(`div`,{className:`sensor-value`,children:mn(n,m)})]}),(0,z.jsx)(xn,{pageId:e,element:t,point:n,canWrite:i,onWritten:a})]}),t.element_type===`shape`&&(0,z.jsx)(dt,{element:t,liveValues:r})]})}function Cn({currentPageId:e,canDesign:t,onToggle:n}){let[r,i]=(0,_.useState)([]),[a,o]=(0,_.useState)(``),[s,c]=(0,_.useState)({}),[l,u]=(0,_.useState)(``);(0,_.useEffect)(()=>{H(`pages`).then(t=>{let n=t.pages||[];i(n);let r=n.find(t=>Number(t.id)===Number(e));r?.project_id&&c(e=>({...e,[r.project_id]:!0}))}).catch(e=>u(e.message))},[e]);let d=(0,_.useMemo)(()=>{let e=a.trim().toLowerCase();return e?r.filter(t=>[t.name,t.description,t.year,t.project_number,t.project_name,t.customer_name].filter(Boolean).join(` `).toLowerCase().includes(e)):r},[r,a]),f=(0,_.useMemo)(()=>oe(d),[d]);function p(e){c(t=>({...t,[e]:!t[e]}))}return l?(0,z.jsx)(`aside`,{className:`viewer-tree`,children:(0,z.jsx)(`div`,{className:`tiny-error`,children:l})}):(0,z.jsxs)(`aside`,{className:`viewer-tree`,children:[(0,z.jsx)(`div`,{className:`viewer-tree-title`,children:`Visualisierungen`}),(0,z.jsx)(`input`,{className:`form-input viewer-tree-search`,value:a,onChange:e=>o(e.target.value),placeholder:`Projekt oder Bild suchen…`}),f.length===0&&(0,z.jsx)(`div`,{className:`empty-mini`,children:`Keine sichtbaren Visualisierungen gefunden.`}),(0,z.jsx)(`div`,{className:`viewer-tree-project-list`,children:f.map(n=>{let r=!!s[n.project_id];return(0,z.jsxs)(`div`,{className:`viewer-tree-project-block ${n.pages.some(t=>Number(t.id)===Number(e))?`has-current-page`:``}`,children:[(0,z.jsxs)(`button`,{type:`button`,className:`viewer-tree-project-toggle`,onClick:()=>p(n.project_id),children:[(0,z.jsx)(`span`,{className:`viewer-tree-arrow`,children:r?`▾`:`▸`}),(0,z.jsxs)(`span`,{className:`viewer-tree-project-text`,children:[(0,z.jsxs)(`strong`,{children:[n.year,` · `,n.project_number]}),(0,z.jsx)(`small`,{children:n.project_name}),n.customer_name&&(0,z.jsx)(`small`,{className:`viewer-tree-customer`,children:n.customer_name})]}),(0,z.jsx)(`em`,{children:n.pages.length})]}),r&&(0,z.jsx)(`div`,{className:`viewer-tree-list`,children:n.pages.map(n=>(0,z.jsxs)(`div`,{className:`viewer-tree-row ${Number(n.id)===Number(e)?`active`:``}`,children:[(0,z.jsxs)(`a`,{href:`/visu/?mode=viewer&page_id=${n.id}`,children:[(0,z.jsx)(`span`,{children:n.name}),(0,z.jsxs)(`small`,{children:[n.width,`×`,n.height]})]}),t&&(0,z.jsx)(`a`,{className:`viewer-tree-edit`,href:`/visu/?mode=designer&page_id=${n.id}`,title:`Bearbeiten`,children:`✏️`})]},n.id))})]},n.project_id)})}),(0,z.jsx)(`button`,{type:`button`,className:`viewer-tree-collapse`,title:`Liste einklappen`,onClick:n,children:`◂`})]})}function wn({pageId:e}){let t=(0,_.useRef)(null),n=(0,_.useRef)(null),r=(0,_.useRef)(null),i=(0,_.useRef)(!1),[a,o]=(0,_.useState)(null),[s,c]=(0,_.useState)([]),[l,u]=(0,_.useState)({}),[d,f]=(0,_.useState)(!1),[p,m]=(0,_.useState)(!1),[h,g]=(0,_.useState)(``),[v,y]=(0,_.useState)(!!e),[b,x]=(0,_.useState)(!0),[S,C]=(0,_.useState)(1),[w,T]=(0,_.useState)(!1),[E,D]=(0,_.useState)(ln),[O,te]=(0,_.useState)(un),[k,A]=(0,_.useState)(null),[re,N]=(0,_.useState)(null),[P,ie]=(0,_.useState)(dn),[F,I]=(0,_.useState)(null);(0,_.useEffect)(()=>{Ut(e)},[e]);async function L(){if(!i.current){i.current=!0;try{let t=await H(`live_values`,{page_id:e});u(t.values||{}),f(!!t.can_write_setpoints)}finally{i.current=!1}}}(0,_.useEffect)(()=>{if(!e){y(!1);return}N(null),H(`page`,{id:e}).then(async e=>{let t=await Qt((e.elements||[]).map(ee),e=>H(`template`,{id:e})),n=t.find(e=>e.element_type===`value`&&e.style_json?.kind===`trend_chart`);o(ne(e.page||{})),c(t),ie(n?.style_json?.range||dn()),I(null),f(!!e.can_write_setpoints),m(!!e.can_design)}).catch(e=>g(e.message)).finally(()=>y(!1))},[e]),(0,_.useEffect)(()=>{if(!e)return;let t=!1;async function n(){if(!i.current){i.current=!0;try{let n=await H(`live_values`,{page_id:e});t||(u(n.values||{}),f(!!n.can_write_setpoints))}catch{}finally{i.current=!1}}}n();let r=setInterval(n,1e4);return()=>{t=!0,clearInterval(r)}},[e]),(0,_.useEffect)(()=>{if(!a||!t.current)return;function e(){let e=t.current;if(!e)return;let n=Math.max(120,e.clientWidth-40),r=Math.max(120,e.clientHeight-40),i=n/Math.max(1,Number(a.width||1)),o=r/Math.max(1,Number(a.height||1));C(Math.max(.08,Math.min(2.5,Math.min(i,o))))}e();let n=new ResizeObserver(e);return n.observe(t.current),window.addEventListener(`resize`,e),()=>{n.disconnect(),window.removeEventListener(`resize`,e)}},[a?.id,a?.width,a?.height,b,w]),(0,_.useEffect)(()=>{try{sessionStorage.setItem($t,E?`1`:`0`)}catch{}},[E]),(0,_.useEffect)(()=>{try{sessionStorage.setItem(en,O)}catch{}},[O]),(0,_.useEffect)(()=>{E||A(null)},[E]),(0,_.useEffect)(()=>{!E||O===`cursor`||A(e=>e&&{...e,...ae(null)})},[O,S,b,w,E]),(0,_.useEffect)(()=>{try{sessionStorage.setItem(an,P)}catch{}},[P]);function R(e){if(e?.customRange){I(e.customRange);return}ie(e?.range||`24h`),I(null)}function ae(e){let r={left:8,top:8,right:window.innerWidth-8,bottom:window.innerHeight-8};if(O===`cursor`&&e){let t=e.clientX+rn,n=e.clientY+rn;return t+tn>r.right&&(t=e.clientX-tn-rn),n+nn>r.bottom&&(n=e.clientY-nn-rn),{x:sn(t,r.left,Math.max(r.left,r.right-tn)),y:sn(n,r.top,Math.max(r.top,r.bottom-nn)),align:`left`}}let i=n.current?.getBoundingClientRect(),a=t.current?.getBoundingClientRect(),o=i&&a?{left:Math.max(i.left,a.left),top:Math.max(i.top,a.top),right:Math.min(i.right,a.right),bottom:Math.min(i.bottom,a.bottom)}:i||a;if(!o)return{x:r.left+rn,y:r.top+rn,align:`left`};let s=Math.max(r.left,o.left+rn),c=Math.min(r.right,o.right-rn),l=Math.max(r.top,o.top+rn);return{x:sn(O===`corner-right`?c-tn:s,r.left,Math.max(r.left,r.right-tn)),y:sn(l,r.top,Math.max(r.top,r.bottom-nn)),align:`left`}}function oe(e,t,n=``){!E||!Array.isArray(t)||t.length===0||A({...ae(e),title:n,items:t})}function se(e){O===`cursor`&&A(t=>t&&{...t,...ae(e)})}function ce(){A(null)}function le(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.click(),setTimeout(()=>URL.revokeObjectURL(n),1e3)}function B(e,t){if(!(e instanceof Element)||!(t instanceof Element))return;let n=window.getComputedStyle(e);t.setAttribute(`style`,Array.from(n).map(e=>`${e}:${n.getPropertyValue(e)};`).join(``)),Array.from(e.children).forEach((e,n)=>{B(e,t.children[n])})}function ue(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(r.result),r.onerror=()=>n(Error(`Bild konnte nicht eingebettet werden.`)),r.readAsDataURL(e)})}async function de(e){if(!e||e.startsWith(`data:`))return e;let t=new URL(e,window.location.href).toString(),n=await fetch(t,{credentials:`same-origin`});if(!n.ok)throw Error(`Bild konnte nicht geladen werden.`);return ue(await n.blob())}async function fe(e){let t=Array.from(e.querySelectorAll(`img`));await Promise.all(t.map(async e=>{let t=e.getAttribute(`src`)||e.src;if(!(!t||t.startsWith(`data:`)))try{e.setAttribute(`src`,await de(t))}catch{}}));let n=[e,...Array.from(e.querySelectorAll(`*`))];await Promise.all(n.map(async e=>{let t=e.style?.backgroundImage||``,n=t.match(/url\(["']?([^"')]+)["']?\)/)?.[1];if(!(!n||n.startsWith(`data:`)))try{e.style.backgroundImage=t.replace(n,await de(n))}catch{}}))}function pe(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;n+=1)t[n]=e.charCodeAt(n);return t}function me(e,t,n){let r=atob(e.split(`,`)[1]||``),i=Math.max(1,Math.round(t*.75)),a=Math.max(1,Math.round(n*.75)),o=[`1 0 obj
|
||
<< /Type /Catalog /Pages 2 0 R >>
|
||
endobj
|
||
`,`2 0 obj
|
||
<< /Type /Pages /Count 1 /Kids [3 0 R] >>
|
||
endobj
|
||
`,`3 0 obj\n<< /Type /Page /Parent 2 0 R /MediaBox [0 0 ${i} ${a}] /Resources << /XObject << /Im0 4 0 R >> >> /Contents 5 0 R >>\nendobj\n`,`4 0 obj\n<< /Type /XObject /Subtype /Image /Width ${t} /Height ${n} /ColorSpace /DeviceRGB /BitsPerComponent 8 /Filter /DCTDecode /Length ${r.length} >>\nstream\n${r}\nendstream\nendobj\n`,`5 0 obj\n<< /Length ${`q\n${i} 0 0 ${a} 0 0 cm\n/Im0 Do\nQ\n`.length} >>\nstream\nq\n${i} 0 0 ${a} 0 0 cm\n/Im0 Do\nQ\nendstream\nendobj\n`],s=`%PDF-1.4
|
||
`,c=[0];o.forEach(e=>{c.push(s.length),s+=e});let l=s.length;return s+=`xref\n0 ${o.length+1}\n0000000000 65535 f \n`,c.slice(1).forEach(e=>{s+=`${String(e).padStart(10,`0`)} 00000 n \n`}),s+=`trailer\n<< /Size ${o.length+1} /Root 1 0 R >>\nstartxref\n${l}\n%%EOF`,new Blob([pe(s)],{type:`application/pdf`})}async function he(){let e=r.current;if(!e||!a)throw Error(`Canvas nicht gefunden.`);let t=e.cloneNode(!0);B(e,t),t.setAttribute(`xmlns`,`http://www.w3.org/1999/xhtml`),t.style.transform=`none`,t.style.width=`${a.width}px`,t.style.height=`${a.height}px`,await fe(t);let n=`
|
||
<svg xmlns="http://www.w3.org/2000/svg" width="${a.width}" height="${a.height}">
|
||
<foreignObject width="100%" height="100%">${new XMLSerializer().serializeToString(t)}</foreignObject>
|
||
</svg>
|
||
`,i=new Image;i.decoding=`async`,i.src=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(n)}`,await new Promise((e,t)=>{i.onload=e,i.onerror=()=>t(Error(`Canvas-Export konnte nicht gerendert werden.`))});let o=document.createElement(`canvas`);return o.width=a.width,o.height=a.height,o.getContext(`2d`).drawImage(i,0,0),o}async function ge(e){try{let t=await he(),n=(a?.name||`visualisierung`).replace(/[^a-z0-9_-]+/gi,`_`);if(e===`pdf`){le(me(t.toDataURL(`image/jpeg`,.92),t.width,t.height),`${n}.pdf`);return}let r=e===`jpg`?`image/jpeg`:`image/png`,i=e===`jpg`?`jpg`:`png`;t.toBlob(e=>{e&&le(e,`${n}.${i}`)},r,.92)}catch(e){alert(e.message||`Export fehlgeschlagen.`)}}function _e(e=`,`){let t=hn(l),n=[[`Label`,`Wert`,`Einheit`,`Typ`,`Gruppe`,`Datenpunkt`,`Quelle`,`Qualitaet`,`Alter Sekunden`].map(t=>gn(t,e)).join(e),...t.map(t=>[t.label||t.raw_label||``,t.value??t.value_formatted??``,t.unit||``,t.type||``,t.group||``,t.point_key||``,t.external_id||``,t.quality||``,t.age_s??``].map(t=>gn(t,e)).join(e))];le(new Blob([`\uFEFF${n.join(`\r
|
||
`)}`],{type:`text/csv;charset=utf-8`}),`${(a?.name||`visualisierung`).replace(/[^a-z0-9_-]+/gi,`_`)}_werte.csv`)}return(0,z.jsx)(`div`,{className:`page-shell full viewer-full`,children:(0,z.jsxs)(`section`,{className:`glass-card visu-workspace viewer-workspace ${w?`focus-mode`:``}`,children:[!w&&(0,z.jsxs)(`div`,{className:`section-head visu-topbar`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`div`,{className:`eyebrow`,children:`Viewer`}),(0,z.jsx)(`h1`,{children:a?.name||`Visualisierung #${e||`?`}`}),a&&(0,z.jsxs)(`p`,{className:`subline`,children:[a.year,` · `,a.project_number,` · `,a.project_name]})]}),(0,z.jsxs)(`div`,{className:`designer-actions`,children:[(0,z.jsx)(`button`,{type:`button`,className:`btn`,title:`Canvas maximieren`,onClick:()=>{T(!0),x(!1)},children:`⤢`}),(0,z.jsxs)(`div`,{className:`viewer-trend-timebar`,children:[(0,z.jsx)(`span`,{children:`Trendzeit`}),(0,z.jsxs)(`select`,{className:`form-input viewer-trend-range-select`,value:F?`custom`:P,onChange:e=>R({range:e.target.value}),children:[F&&(0,z.jsx)(`option`,{value:`custom`,children:`Auswahl`}),on.map(e=>(0,z.jsx)(`option`,{value:e.value,children:e.label},e.value))]}),F&&(0,z.jsx)(`button`,{type:`button`,className:`btn small`,onClick:()=>R({range:P}),children:`Reset`})]}),(0,z.jsxs)(`details`,{className:`export-menu`,children:[(0,z.jsx)(`summary`,{className:`btn`,children:`Export`}),(0,z.jsxs)(`div`,{className:`export-menu-panel`,children:[(0,z.jsx)(`button`,{type:`button`,className:`mini-btn`,onClick:()=>ge(`png`),children:`PNG`}),(0,z.jsx)(`button`,{type:`button`,className:`mini-btn`,onClick:()=>ge(`jpg`),children:`JPG`}),(0,z.jsx)(`button`,{type:`button`,className:`mini-btn`,onClick:()=>ge(`pdf`),children:`PDF`}),(0,z.jsx)(`button`,{type:`button`,className:`mini-btn`,onClick:()=>_e(`,`),children:`Werte CSV (,)`}),(0,z.jsx)(`button`,{type:`button`,className:`mini-btn`,onClick:()=>_e(`;`),children:`Werte CSV (;)`})]})]}),(0,z.jsxs)(`button`,{type:`button`,className:`btn ${E?`primary`:``}`,onClick:()=>D(e=>!e),children:[`Tooltips `,E?`an`:`aus`]}),(0,z.jsxs)(`select`,{className:`form-input viewer-tooltip-position-select`,value:O,onChange:e=>te(e.target.value),title:`Tooltip-Position`,children:[(0,z.jsx)(`option`,{value:`cursor`,children:`Tooltip an Maus`}),(0,z.jsx)(`option`,{value:`corner-left`,children:`Canvas oben links`}),(0,z.jsx)(`option`,{value:`corner-right`,children:`Canvas oben rechts`})]}),(0,z.jsx)(`a`,{href:`/visu/?mode=dashboard`,className:`btn`,children:`Dashboard`}),(0,z.jsx)(`a`,{href:`/visu/?mode=manage`,className:`btn`,children:`Verwaltung`}),(0,z.jsx)(`a`,{href:`/visu/?mode=templates`,className:`btn`,children:`Templates`}),(0,z.jsx)(`a`,{href:`/visu/?mode=monitoring`,className:`btn`,children:`Datenpunkte`}),(0,z.jsx)(`a`,{href:`/visu/?mode=virtual_points`,className:`btn`,children:`Virtuelle Datenpunkte`}),(0,z.jsx)(`a`,{href:`/visu/?mode=csv_exports`,className:`btn`,children:`CSV Exporte`}),(0,z.jsx)(`a`,{href:`/visu/?mode=viewer&page_id=${e}`,className:`btn primary`,children:`Anzeigen`}),e>0&&p&&(0,z.jsx)(`a`,{href:`/visu/?mode=designer&page_id=${e}`,className:`btn`,children:`✏️ Bearbeiten`})]})]}),v&&(0,z.jsx)(`div`,{className:`empty-box`,children:`Visualisierung wird geladen…`}),h&&(0,z.jsx)(`div`,{className:`error-box`,children:h}),a&&(0,z.jsxs)(`div`,{className:`viewer-layout ${b&&!w?``:`tree-collapsed`} ${w?`focus-active`:``}`,children:[b&&!w&&(0,z.jsx)(Cn,{currentPageId:e,canDesign:p,onToggle:()=>x(!1)}),(0,z.jsxs)(`div`,{ref:t,className:`viewer-scroll`,children:[w&&(0,z.jsx)(`button`,{type:`button`,className:`viewer-focus-toggle`,title:`Canvasansicht verlassen`,onClick:()=>T(!1),children:`⤡`}),!b&&(0,z.jsx)(`button`,{type:`button`,className:`viewer-tree-collapse viewer-tree-collapse-floating`,title:`Liste einblenden`,onClick:()=>x(!0),children:`▸`}),(0,z.jsx)(`div`,{className:`viewer-stage`,children:(0,z.jsx)(`div`,{ref:n,className:`viewer-fit-plane`,style:{width:`${a.width*S}px`,height:`${a.height*S}px`},children:(0,z.jsxs)(`div`,{ref:r,className:`viewer-canvas ${a?.grid_enabled?`grid-on`:`grid-off`}`,style:{width:`${a.width}px`,height:`${a.height}px`,transform:`scale(${S})`,backgroundColor:a?.background_color||`#0f172a`,backgroundImage:a?.background_image?`url(${a.background_image})`:void 0,"--grid-size":`${a?.grid_size||40}px`},children:[s.map(t=>{let n=t.style_json||{},r=n.point?M(n.point,n):null;return(0,z.jsx)(Sn,{pageId:e,element:t,liveValue:(r?j(r,l):null)||j(t,l),liveValues:l,canWriteSetpoints:d,onSetpointWritten:L,tooltipsEnabled:E,onShowTooltip:oe,onMoveTooltip:se,onHideTooltip:ce,onExpandTrend:e=>N(e),trendRange:P,trendCustomRange:F,onTrendRangeChange:R},t.id)}),re&&(0,z.jsxs)(`div`,{className:`trend-expanded-canvas`,style:{width:a.width,height:a.height,zIndex:999999},children:[(0,z.jsx)(Ft,{element:{...re,w:a.width,h:a.height},interactive:!0,tooltipsEnabled:E,timeRange:P,customTimeRange:F,controlsMode:`global`,onTimeRangeChange:R,onShowTooltip:oe,onMoveTooltip:se,onHideTooltip:ce,onExpand:()=>{}}),(0,z.jsx)(`button`,{type:`button`,className:`trend-expanded-close`,onClick:()=>N(null),children:`×`})]})]})})})]})]}),(0,z.jsx)(yn,{tooltip:k})]})})}function Tn(e){return`${e}-${Date.now()}-${Math.round(Math.random()*1e5)}`}function En(e){return[`influx`,e.database||``,e.measurement||``,e.tag_key||``,e.tag_value||``].join(`|`)}function Dn(e){return String(e?.measurement||``).trim()}function On(e){return e?{type:e.type||``,variable_type:e.type||e.variable_type||``,external_id:e.external_id||``,variable_id:e.variable_id||``,point_key:e.point_key||``,point_label:e.label||e.point_label||``,label:e.label||e.point_label||``,source_key:e.source_key||k(e)}:null}function kn(e){return[`#38bdf8`,`#0ea5e9`,`#22c55e`,`#f59e0b`,`#f97316`,`#a78bfa`,`#ef4444`,`#14b8a6`][e%8]}function An({projectId:e,value:t,onChange:n,disabled:r=!1}){let[i,a]=(0,_.useState)([]),[o,s]=(0,_.useState)(``),[c,l]=(0,_.useState)(!1);(0,_.useEffect)(()=>{if(!e){a([]);return}let t=!0;return l(!0),H(`project_values`,{project_id:e}).then(e=>{t&&a(e.values||[])}).catch(()=>{t&&a([])}).finally(()=>{t&&l(!1)}),()=>{t=!1}},[e]);let u=(0,_.useMemo)(()=>i.filter(e=>[e.type,e.label,e.point_key,e.variable_id,e.value_formatted,e.group].filter(Boolean).join(` `).toLowerCase().includes(o.trim().toLowerCase())),[i,o]);function d(e){let t=i.find(t=>t.source_key===e);n(t?On(t):null)}return(0,z.jsxs)(`div`,{className:`field compact-field`,children:[(0,z.jsx)(`label`,{children:`API / VDP Quelle`}),(0,z.jsx)(`input`,{className:`form-input`,disabled:r,value:o,onChange:e=>s(e.target.value),placeholder:c?`Laedt...`:`Datenpunkt suchen`}),(0,z.jsxs)(`select`,{className:`form-input`,disabled:r||c,value:t||``,onChange:e=>d(e.target.value),children:[(0,z.jsx)(`option`,{value:``,children:`Quelle waehlen`}),u.slice(0,500).map(e=>(0,z.jsx)(`option`,{value:e.source_key,children:e.label},e.source_key))]})]})}function jn({value:e,onChange:t,disabled:n=!1}){let[r,i]=(0,_.useState)([]),[a,o]=(0,_.useState)(e?.database||``),[s,c]=(0,_.useState)([]),[l,u]=(0,_.useState)(``),[d,f]=(0,_.useState)(e?.measurement||``),[p,m]=(0,_.useState)(!1);(0,_.useEffect)(()=>{let e=!0;return m(!0),H(`trend_sources`,{database:a}).then(t=>{e&&(i(t.databases||[]),o(e=>e||t.selected_database||t.databases?.[0]||``),c(t.points||[]))}).catch(()=>{e&&(i([]),c([]))}).finally(()=>{e&&m(!1)}),()=>{e=!1}},[a]);let h=(0,_.useMemo)(()=>Array.from(new Set(s.map(Dn).filter(Boolean))).sort((e,t)=>e.localeCompare(t,`de`,{numeric:!0,sensitivity:`base`})),[s]),g=(0,_.useMemo)(()=>s.filter(e=>{let t=`${e.measurement} ${e.tag_key} ${e.tag_value} ${e.label}`.toLowerCase(),n=!l.trim()||t.includes(l.trim().toLowerCase()),r=!d||Dn(e)===d;return n&&r}),[s,l,d]);function v(e){let n=s.find(t=>En(t)===e);t(n?{database:n.database,measurement:n.measurement,tag_key:n.tag_key,tag_value:n.tag_value,label:n.label||n.tag_value}:null)}return(0,z.jsxs)(`div`,{className:`sankey-influx-picker`,children:[(0,z.jsxs)(`div`,{className:`prop-grid-2`,children:[(0,z.jsxs)(`div`,{className:`field compact-field`,children:[(0,z.jsx)(`label`,{children:`Influx DB`}),(0,z.jsxs)(`select`,{className:`form-input`,disabled:n||p,value:a,onChange:e=>o(e.target.value),children:[(0,z.jsx)(`option`,{value:``,children:`DB waehlen`}),r.map(e=>(0,z.jsx)(`option`,{value:e,children:e},e))]})]}),(0,z.jsxs)(`div`,{className:`field compact-field`,children:[(0,z.jsx)(`label`,{children:`Measurement`}),(0,z.jsxs)(`select`,{className:`form-input`,disabled:n||p,value:d,onChange:e=>f(e.target.value),children:[(0,z.jsx)(`option`,{value:``,children:`Alle Measurements`}),h.map(e=>(0,z.jsx)(`option`,{value:e,children:e},e))]})]})]}),(0,z.jsxs)(`div`,{className:`field compact-field`,children:[(0,z.jsx)(`label`,{children:`Influx Quelle`}),(0,z.jsx)(`input`,{className:`form-input`,disabled:n,value:l,onChange:e=>u(e.target.value),placeholder:p?`Laedt...`:`Measurement / Tag suchen`}),(0,z.jsxs)(`select`,{className:`form-input`,disabled:n||p,value:e?En(e):``,onChange:e=>v(e.target.value),children:[(0,z.jsx)(`option`,{value:``,children:`Influx Punkt waehlen`}),g.slice(0,500).map(e=>(0,z.jsxs)(`option`,{value:En(e),children:[e.measurement,` - `,e.tag_value]},En(e)))]})]})]})}function Mn({selected:e,page:t,onChange:n,disabled:r=!1}){let i=e?.style_json||{};if(!e||e.element_type!==`value`||i.kind!==`sankey_chart`)return null;let a=Array.isArray(i.nodes)?i.nodes:[],o=Array.isArray(i.links)?i.links:[];function s(t){n({...e,style_json:{...i,...t}})}function c(e,t){let n=[...a];n[e]={...n[e],...t},s({nodes:n})}function l(){let e=a.reduce((e,t)=>Math.max(e,Number(t.column??0)),0);s({nodes:[...a,{id:Tn(`sankey-node`),label:`Knoten ${a.length+1}`,column:a.length?e+1:0,order:a.length,color:kn(a.length)}]})}function u(e){let t=a.filter((t,n)=>n!==e),n=a[e]?.id;s({nodes:t,links:o.filter(e=>e.sourceId!==n&&e.targetId!==n)})}function d(e,t){let n=[...o];n[e]={...n[e],...t},s({links:n})}function f(){s({links:[...o,{id:Tn(`sankey-link`),sourceId:a[0]?.id||``,targetId:a[1]?.id||a[0]?.id||``,label:`Section ${o.length+1}`,sourceMode:`static`,staticValue:`10`,point:null,influx:null,color:`#38bdf8`,opacity:Number(i.linkOpacity??.46),thicknessFactor:1}]})}function p(e){s({links:o.filter((t,n)=>n!==e)})}let m=o.filter(e=>e.sourceMode===`influx`).length,h=o.filter(e=>e.sourceMode===`point`).length;return(0,z.jsxs)(`div`,{className:`sankey-editor`,children:[(0,z.jsxs)(`div`,{className:`sankey-overview-strip`,children:[(0,z.jsxs)(`div`,{className:`sankey-overview-card`,children:[(0,z.jsx)(`span`,{children:`Knoten`}),(0,z.jsx)(`strong`,{children:a.length})]}),(0,z.jsxs)(`div`,{className:`sankey-overview-card`,children:[(0,z.jsx)(`span`,{children:`Sections`}),(0,z.jsx)(`strong`,{children:o.length})]}),(0,z.jsxs)(`div`,{className:`sankey-overview-card`,children:[(0,z.jsx)(`span`,{children:`API / VDP`}),(0,z.jsx)(`strong`,{children:h})]}),(0,z.jsxs)(`div`,{className:`sankey-overview-card`,children:[(0,z.jsx)(`span`,{children:`Influx`}),(0,z.jsx)(`strong`,{children:m})]})]}),(0,z.jsxs)(`div`,{className:`sankey-control-grid`,children:[(0,z.jsxs)(`div`,{className:`sankey-control-card`,children:[(0,z.jsx)(`div`,{className:`small-title`,children:`Daten`}),(0,z.jsxs)(`div`,{className:`prop-grid-2`,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Aktualisierung (s)`}),(0,z.jsx)(`input`,{disabled:r,type:`number`,min:`0`,value:Number(i.refreshSeconds??30),onChange:e=>s({refreshSeconds:Math.max(0,Number(e.target.value||0))})})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Nachkommastellen`}),(0,z.jsx)(`input`,{disabled:r,type:`number`,min:`0`,max:`8`,value:Number(i.decimals??1),onChange:e=>s({decimals:Math.max(0,Math.min(8,Number(e.target.value||0)))})})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Einheit`}),(0,z.jsx)(`input`,{disabled:r,value:i.unit||``,onChange:e=>s({unit:e.target.value}),placeholder:`z.B. kW`})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Eckenradius`}),(0,z.jsx)(`input`,{disabled:r,type:`number`,min:`0`,max:`40`,value:Number(i.radius??14),onChange:e=>s({radius:Number(e.target.value||14)})})]})]})]}),(0,z.jsxs)(`div`,{className:`sankey-control-card`,children:[(0,z.jsx)(`div`,{className:`small-title`,children:`Look and Feel`}),(0,z.jsxs)(`div`,{className:`prop-grid-2`,children:[(0,z.jsxs)(`div`,{className:`field compact-field`,children:[(0,z.jsx)(`label`,{children:`Hintergrund`}),(0,z.jsx)(`input`,{disabled:r,type:`color`,value:i.backgroundColorHex||`#0f172a`,onChange:e=>s({backgroundColor:e.target.value,backgroundColorHex:e.target.value})})]}),(0,z.jsxs)(`div`,{className:`field compact-field`,children:[(0,z.jsx)(`label`,{children:`Rahmen`}),(0,z.jsx)(`input`,{disabled:r,type:`color`,value:i.borderColorHex||`#94a3b8`,onChange:e=>s({borderColor:e.target.value,borderColorHex:e.target.value})})]}),(0,z.jsxs)(`div`,{className:`field compact-field`,children:[(0,z.jsx)(`label`,{children:`Textfarbe`}),(0,z.jsx)(`input`,{disabled:r,type:`color`,value:i.labelColor||`#e2e8f0`,onChange:e=>s({labelColor:e.target.value})})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Kurve`}),(0,z.jsx)(`input`,{disabled:r,type:`range`,min:`0.15`,max:`0.6`,step:`0.01`,value:Number(i.curve??.42),onChange:e=>s({curve:Number(e.target.value)})})]})]}),(0,z.jsxs)(`div`,{className:`prop-grid-2`,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Link Deckkraft`}),(0,z.jsx)(`input`,{disabled:r,type:`range`,min:`0.1`,max:`1`,step:`0.05`,value:Number(i.linkOpacity??.46),onChange:e=>s({linkOpacity:Number(e.target.value)})})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Knoten Deckkraft`}),(0,z.jsx)(`input`,{disabled:r,type:`range`,min:`0.2`,max:`1`,step:`0.05`,value:Number(i.nodeOpacity??.9),onChange:e=>s({nodeOpacity:Number(e.target.value)})})]})]}),(0,z.jsxs)(`label`,{className:`check-line`,children:[(0,z.jsx)(`input`,{disabled:r,type:`checkbox`,checked:i.showValues!==!1,onChange:e=>s({showValues:e.target.checked})}),`Werte / Labels anzeigen`]}),(0,z.jsxs)(`label`,{className:`check-line`,children:[(0,z.jsx)(`input`,{disabled:r,type:`checkbox`,checked:i.showLegend!==!1,onChange:e=>s({showLegend:e.target.checked})}),`Legende anzeigen`]})]}),(0,z.jsxs)(`div`,{className:`sankey-control-card`,children:[(0,z.jsx)(`div`,{className:`small-title`,children:`Geometrie`}),(0,z.jsxs)(`div`,{className:`prop-grid-2`,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Knotenbreite`}),(0,z.jsx)(`input`,{disabled:r,type:`number`,min:`12`,max:`80`,value:Number(i.nodeWidth??26),onChange:e=>s({nodeWidth:Number(e.target.value||26)})})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Knotenradius`}),(0,z.jsx)(`input`,{disabled:r,type:`number`,min:`0`,max:`40`,value:Number(i.nodeRadius??10),onChange:e=>s({nodeRadius:Number(e.target.value||10)})})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Knotenabstand`}),(0,z.jsx)(`input`,{disabled:r,type:`number`,min:`4`,max:`80`,value:Number(i.nodeGap??14),onChange:e=>s({nodeGap:Number(e.target.value||14)})})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Mindestdicke Fluss`}),(0,z.jsx)(`input`,{disabled:r,type:`number`,min:`1`,max:`40`,value:Number(i.minLinkWidth??4),onChange:e=>s({minLinkWidth:Number(e.target.value||4)})})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Mindesthoehe Knoten`}),(0,z.jsx)(`input`,{disabled:r,type:`number`,min:`10`,max:`80`,value:Number(i.minNodeHeight??24),onChange:e=>s({minNodeHeight:Number(e.target.value||24)})})]})]})]})]}),(0,z.jsxs)(`div`,{className:`sankey-node-list`,children:[(0,z.jsxs)(`div`,{className:`sankey-section-head`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`div`,{className:`small-title`,children:`Knoten`}),(0,z.jsx)(`div`,{className:`small-muted`,children:`Spalten und Reihenfolge bestimmen das Grundlayout.`})]}),(0,z.jsx)(`button`,{disabled:r,type:`button`,className:`btn small`,onClick:l,children:`+ Knoten`})]}),a.map((e,t)=>(0,z.jsxs)(`div`,{className:`sankey-node-row`,children:[(0,z.jsxs)(`div`,{className:`prop-grid-2`,children:[(0,z.jsxs)(`div`,{className:`field compact-field`,children:[(0,z.jsx)(`label`,{children:`Name`}),(0,z.jsx)(`input`,{disabled:r,value:e.label||``,onChange:e=>c(t,{label:e.target.value})})]}),(0,z.jsxs)(`div`,{className:`field compact-field`,children:[(0,z.jsx)(`label`,{children:`Farbe`}),(0,z.jsx)(`input`,{disabled:r,type:`color`,value:e.color||`#38bdf8`,onChange:e=>c(t,{color:e.target.value})})]}),(0,z.jsxs)(`div`,{className:`field compact-field`,children:[(0,z.jsx)(`label`,{children:`Spalte`}),(0,z.jsx)(`input`,{disabled:r,type:`number`,min:`0`,max:`12`,value:Number(e.column??0),onChange:e=>c(t,{column:Number(e.target.value||0)})})]}),(0,z.jsxs)(`div`,{className:`field compact-field`,children:[(0,z.jsx)(`label`,{children:`Reihenfolge`}),(0,z.jsx)(`input`,{disabled:r,type:`number`,min:`0`,max:`99`,value:Number(e.order??t),onChange:e=>c(t,{order:Number(e.target.value||0)})})]})]}),(0,z.jsxs)(`div`,{className:`rule-footer`,children:[(0,z.jsx)(`span`,{children:e.id}),(0,z.jsx)(`button`,{disabled:r,type:`button`,className:`mini-btn danger`,onClick:()=>u(t),children:`Entfernen`})]})]},e.id||t)),a.length===0&&(0,z.jsx)(`div`,{className:`empty-mini`,children:`Noch keine Knoten vorhanden.`})]}),(0,z.jsxs)(`div`,{className:`sankey-link-list`,children:[(0,z.jsxs)(`div`,{className:`sankey-section-head`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`div`,{className:`small-title`,children:`Sections / Fluesse`}),(0,z.jsx)(`div`,{className:`small-muted`,children:`Jede Section verbindet genau zwei Knoten und kann statisch, per API/VDP oder per Influx gespeist werden.`})]}),(0,z.jsx)(`button`,{disabled:r||a.length<2,type:`button`,className:`btn small`,onClick:f,children:`+ Section`})]}),o.map((e,n)=>(0,z.jsxs)(`div`,{className:`sankey-link-row`,children:[(0,z.jsxs)(`div`,{className:`prop-grid-2`,children:[(0,z.jsxs)(`div`,{className:`field compact-field`,children:[(0,z.jsx)(`label`,{children:`Bezeichnung`}),(0,z.jsx)(`input`,{disabled:r,value:e.label||``,onChange:e=>d(n,{label:e.target.value}),placeholder:`z.B. Waermemenge`})]}),(0,z.jsxs)(`div`,{className:`field compact-field`,children:[(0,z.jsx)(`label`,{children:`Von`}),(0,z.jsxs)(`select`,{className:`form-input`,disabled:r,value:e.sourceId||``,onChange:e=>d(n,{sourceId:e.target.value}),children:[(0,z.jsx)(`option`,{value:``,children:`Knoten waehlen`}),a.map(e=>(0,z.jsx)(`option`,{value:e.id,children:e.label},e.id))]})]}),(0,z.jsxs)(`div`,{className:`field compact-field`,children:[(0,z.jsx)(`label`,{children:`Nach`}),(0,z.jsxs)(`select`,{className:`form-input`,disabled:r,value:e.targetId||``,onChange:e=>d(n,{targetId:e.target.value}),children:[(0,z.jsx)(`option`,{value:``,children:`Knoten waehlen`}),a.map(e=>(0,z.jsx)(`option`,{value:e.id,children:e.label},e.id))]})]}),(0,z.jsxs)(`div`,{className:`field compact-field`,children:[(0,z.jsx)(`label`,{children:`Quelle`}),(0,z.jsxs)(`select`,{className:`form-input`,disabled:r,value:e.sourceMode||`static`,onChange:e=>d(n,{sourceMode:e.target.value}),children:[(0,z.jsx)(`option`,{value:`static`,children:`Fester Wert`}),(0,z.jsx)(`option`,{value:`point`,children:`API / VDP`}),(0,z.jsx)(`option`,{value:`influx`,children:`Influx`})]})]}),(0,z.jsxs)(`div`,{className:`field compact-field`,children:[(0,z.jsx)(`label`,{children:`Farbe`}),(0,z.jsx)(`input`,{disabled:r,type:`color`,value:e.color||`#38bdf8`,onChange:e=>d(n,{color:e.target.value})})]}),(0,z.jsxs)(`div`,{className:`field compact-field`,children:[(0,z.jsx)(`label`,{children:`Dickenfaktor`}),(0,z.jsx)(`input`,{disabled:r,type:`number`,min:`0.25`,step:`0.25`,value:Number(e.thicknessFactor??1),onChange:e=>d(n,{thicknessFactor:Math.max(.25,Number(e.target.value||1))})})]}),(0,z.jsxs)(`div`,{className:`field compact-field`,children:[(0,z.jsx)(`label`,{children:`Deckkraft`}),(0,z.jsx)(`input`,{disabled:r,type:`range`,min:`0.1`,max:`1`,step:`0.05`,value:Number(e.opacity??i.linkOpacity??.46),onChange:e=>d(n,{opacity:Number(e.target.value)})})]})]}),e.sourceMode===`static`&&(0,z.jsxs)(`div`,{className:`field compact-field`,children:[(0,z.jsx)(`label`,{children:`Fester Wert`}),(0,z.jsx)(`input`,{disabled:r,value:e.staticValue??``,onChange:e=>d(n,{staticValue:e.target.value}),placeholder:`z.B. 125`})]}),e.sourceMode===`point`&&(0,z.jsx)(An,{projectId:t?.project_id,disabled:r,value:e.point?k(e.point):``,onChange:e=>d(n,{point:e})}),e.sourceMode===`influx`&&(0,z.jsx)(jn,{disabled:r,value:e.influx||null,onChange:e=>d(n,{influx:e})}),(0,z.jsxs)(`div`,{className:`rule-footer`,children:[(0,z.jsx)(`span`,{children:e.sourceMode===`point`?e.point?.point_label||e.point?.label||`API / VDP`:e.sourceMode===`influx`?e.influx?.label||e.influx?.tag_value||`Influx`:`Statisch`}),(0,z.jsx)(`button`,{disabled:r,type:`button`,className:`mini-btn danger`,onClick:()=>p(n),children:`Entfernen`})]})]},e.id||n)),o.length===0&&(0,z.jsx)(`div`,{className:`empty-mini`,children:`Noch keine Fluesse vorhanden.`})]})]})}var Nn=null,Pn=null;function Fn({projectId:e,value:t,onChange:n,onlyWritable:r=!1}){let[i,a]=(0,_.useState)([]),[o,s]=(0,_.useState)(``),[c,l]=(0,_.useState)(!1),[u,d]=(0,_.useState)(``);(0,_.useEffect)(()=>{if(!e){a([]);return}l(!0),d(``),H(`project_values`,{project_id:e}).then(e=>a(e.values||[])).catch(e=>d(e.message)).finally(()=>l(!1))},[e]);let f=i.filter(e=>r&&!e.writable?!1:[e.type,e.external_id,e.isp_number,e.label,e.point_key,e.variable_id,e.value_formatted,e.value].filter(Boolean).join(` `).toLowerCase().includes(o.toLowerCase()));function p(e){n(i.find(t=>t.source_key===e)||null)}return(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:r?`Sollwert suchen`:`Wert suchen`}),(0,z.jsx)(`input`,{value:o,onChange:e=>s(e.target.value),placeholder:`z.B. Temperatur, Druck, Sollwert…`,className:`form-input`}),(0,z.jsxs)(`select`,{value:t||``,onChange:e=>p(e.target.value),className:`form-input`,children:[(0,z.jsx)(`option`,{value:``,children:`Kein Wert`}),f.map(e=>(0,z.jsxs)(`option`,{value:e.source_key,children:[e.label,` `,e.value_formatted?`(${e.value_formatted})`:``]},e.source_key))]}),c&&(0,z.jsx)(`div`,{className:`small-muted`,children:`Werte werden geladen…`}),u&&(0,z.jsx)(`div`,{className:`tiny-error`,children:u})]})}function In({label:e,value:t,onChange:n}){let r=I(t),i=/^#[0-9a-fA-F]{6}$/.test(t||``)?t:`#000000`;function a(e){let t=S.find(t=>t.key===e.target.value);t?.value&&n(t.value)}return(0,z.jsxs)(`div`,{className:`color-editor`,children:[(0,z.jsx)(`label`,{children:e}),(0,z.jsxs)(`div`,{className:`color-main-row`,children:[(0,z.jsx)(`input`,{type:`color`,value:i,onChange:e=>n(e.target.value)}),(0,z.jsx)(`input`,{className:`form-input`,value:t||`#ffffff`,onChange:e=>n(e.target.value),placeholder:`#ffffff`})]}),(0,z.jsxs)(`div`,{className:`rgb-row`,children:[(0,z.jsx)(`input`,{value:r.r,onChange:e=>n(L(e.target.value,r.g,r.b))}),(0,z.jsx)(`input`,{value:r.g,onChange:e=>n(L(r.r,e.target.value,r.b))}),(0,z.jsx)(`input`,{value:r.b,onChange:e=>n(L(r.r,r.g,e.target.value))})]}),(0,z.jsx)(`select`,{className:`form-input`,onChange:a,value:``,children:S.map(e=>(0,z.jsx)(`option`,{value:e.key,children:e.label},e.key))})]})}function Ln({strokeColor:e,fillColor:t,onStroke:n,onFill:r}){return(0,z.jsxs)(`div`,{className:`color-pair-editor`,children:[(0,z.jsx)(In,{label:`Rahmen / Linie`,value:e||`#60a5fa`,onChange:n}),(0,z.jsxs)(`div`,{className:`color-copy-buttons`,children:[(0,z.jsx)(`button`,{type:`button`,onClick:()=>r(e||`#60a5fa`),title:`Rahmenfarbe zu Füllfarbe`,children:`↓`}),(0,z.jsx)(`button`,{type:`button`,onClick:()=>n(t||`#000000`),title:`Füllfarbe zu Rahmenfarbe`,children:`↑`})]}),(0,z.jsx)(In,{label:`Füllfarbe`,value:t||`#000000`,onChange:r})]})}function Rn({style:e,updateStyle:t,disabled:n=!1}){let r=e.strokeColor||e.color||`#60a5fa`,i=e.markerColor||e.color||`#f59e0b`,a=e.fillColor||`transparent`;return(0,z.jsxs)(`div`,{className:`sensor-color-editor`,children:[(0,z.jsx)(In,{label:`Rahmen`,value:r,onChange:e=>t(`strokeColor`,e)}),(0,z.jsxs)(`div`,{className:`sensor-copy-grid`,children:[(0,z.jsx)(`button`,{disabled:n,type:`button`,title:`Rahmen auf Punkt`,onClick:()=>t(`markerColor`,r),children:`R → P`}),(0,z.jsx)(`button`,{disabled:n,type:`button`,title:`Punkt auf Rahmen`,onClick:()=>t(`strokeColor`,i),children:`P → R`}),(0,z.jsx)(`button`,{disabled:n,type:`button`,title:`Rahmen auf Füllung`,onClick:()=>t(`fillColor`,r),children:`R → F`}),(0,z.jsx)(`button`,{disabled:n,type:`button`,title:`Füllung auf Rahmen`,onClick:()=>t(`strokeColor`,a),children:`F → R`}),(0,z.jsx)(`button`,{disabled:n,type:`button`,title:`Punkt auf Füllung`,onClick:()=>t(`fillColor`,i),children:`P → F`}),(0,z.jsx)(`button`,{disabled:n,type:`button`,title:`Füllung auf Punkt`,onClick:()=>t(`markerColor`,a),children:`F → P`})]}),(0,z.jsx)(In,{label:`Punkt`,value:i,onChange:e=>t(`markerColor`,e)}),(0,z.jsx)(In,{label:`Füllung`,value:a,onChange:e=>t(`fillColor`,e)})]})}function zn({page:e,registerSave:t,onSaved:n,onDirty:r,onPatch:i,onSaveAll:a,disabled:o=!1}){let s=(0,_.useRef)(null),[c,l]=(0,_.useState)(e?.background_color||`#0f172a`),[u,d]=(0,_.useState)(!!e?.grid_enabled),[f,p]=(0,_.useState)(!!e?.snap_enabled),[m,h]=(0,_.useState)(Number(e?.grid_size||40)),[g,v]=(0,_.useState)(Number(e?.width||1920)),[y,b]=(0,_.useState)(Number(e?.height||1080)),[x,S]=(0,_.useState)(!1),[C,w]=(0,_.useState)(``);(0,_.useEffect)(()=>{l(e?.background_color||`#0f172a`),d(!!e?.grid_enabled),p(!!e?.snap_enabled),h(Number(e?.grid_size||40)),v(Number(e?.width||1920)),b(Number(e?.height||1080))},[e?.id,e?.background_color,e?.grid_enabled,e?.snap_enabled,e?.grid_size,e?.width,e?.height]);async function T({silent:t=!1}={}){if(!e?.id||!s.current)return!0;w(``),S(!0);let r=new FormData(s.current);r.append(`action`,e.is_template?`template_settings_save`:`page_settings_save`),r.append(e.is_template?`template_id`:`page_id`,e.id),e.is_template&&(r.set(`name`,e.name||`Template`),r.set(`description`,e.description||``),r.set(`placeholders_json`,JSON.stringify(e.template_placeholders||[]))),r.set(`background_color`,c),r.set(`grid_enabled`,u?`1`:``),r.set(`snap_enabled`,f?`1`:``),r.set(`grid_size`,String(m)),r.set(`width`,String(g)),r.set(`height`,String(y));try{return await Te(r),t||await n?.(),{background_color:c,grid_enabled:u,snap_enabled:f,grid_size:m,width:g,height:y}}catch(e){return w(e.message),!1}finally{S(!1)}}(0,_.useEffect)(()=>{t?.(()=>T({silent:!0}))},[e?.id,c,u,f,m,g,y]);async function E(e){if(e.preventDefault(),a){await a();return}await T({silent:!1})&&await n?.()}function D(e,t,n){e(n),i?.({[t]:n}),r?.()}return(0,z.jsxs)(`details`,{className:`property-section toolbox-section`,children:[(0,z.jsx)(`summary`,{children:`Zeichenfläche`}),(0,z.jsxs)(`form`,{ref:s,className:`page-settings property-section-body toolbox-section-body`,onSubmit:E,children:[(0,z.jsxs)(`div`,{className:`settings-grid`,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Breite`}),(0,z.jsx)(`input`,{disabled:o,type:`number`,min:`320`,max:`10000`,value:g,onChange:e=>D(v,`width`,Number(e.target.value||1920))})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Höhe`}),(0,z.jsx)(`input`,{disabled:o,type:`number`,min:`240`,max:`10000`,value:y,onChange:e=>D(b,`height`,Number(e.target.value||1080))})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Hintergrund`}),(0,z.jsx)(`input`,{disabled:o,type:`color`,value:c,onChange:e=>D(l,`background_color`,e.target.value)})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Rastergröße`}),(0,z.jsx)(`input`,{disabled:o,type:`number`,min:`5`,max:`200`,value:m,onChange:e=>D(h,`grid_size`,Number(e.target.value||40))})]}),(0,z.jsxs)(`label`,{className:`check-line`,children:[(0,z.jsx)(`input`,{disabled:o,type:`checkbox`,checked:u,onChange:e=>D(d,`grid_enabled`,e.target.checked)}),`Raster anzeigen`]}),(0,z.jsxs)(`label`,{className:`check-line`,children:[(0,z.jsx)(`input`,{disabled:o,type:`checkbox`,checked:f,onChange:e=>D(p,`snap_enabled`,e.target.checked)}),`Einrasten`]})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Hintergrundbild`}),(0,z.jsx)(`input`,{disabled:o,name:`background_image`,type:`file`,accept:`image/png,image/jpeg,image/webp,image/svg+xml`,className:`form-input`,onChange:()=>r?.()})]}),e?.background_image&&(0,z.jsxs)(`label`,{className:`check-line`,children:[(0,z.jsx)(`input`,{disabled:o,name:`remove_background_image`,type:`checkbox`,onChange:()=>r?.()}),`Hintergrundbild entfernen`]}),(0,z.jsx)(`button`,{className:`btn small primary`,disabled:x||o,children:x?`Speichert...`:`Zeichenfläche speichern`}),C&&(0,z.jsx)(`div`,{className:`error-box small`,children:C})]})]})}function Bn({open:e,projectId:t,value:n,onSelect:r,onClose:i}){let[a,o]=(0,_.useState)([]),[s,c]=(0,_.useState)(!1),[l,u]=(0,_.useState)(!1),[d,f]=(0,_.useState)(``);async function p(){c(!0),f(``);try{o((await H(`image_library`,{project_id:t||``})).images||[])}catch(e){f(e.message)}finally{c(!1)}}(0,_.useEffect)(()=>{e&&p()},[e,t]);async function m(e){let n=Array.from(e||[]);if(!n.length)return;let r=new FormData;r.append(`action`,`image_library_upload`),r.append(`project_id`,t||``),n.forEach(e=>r.append(`images[]`,e)),u(!0),f(``);try{await Te(r),await p()}catch(e){f(e.message)}finally{u(!1)}}async function h(e){if(!(!e?.id||Number(e.usage_count||0)>0))try{await U(`image_library_delete`,{image_id:e.id}),await p()}catch(e){f(e.message)}}return e?(0,tt.createPortal)((0,z.jsx)(`div`,{className:`modal-backdrop`,onMouseDown:e=>{e.target===e.currentTarget&&i?.()},children:(0,z.jsxs)(`div`,{className:`asset-modal image-library-modal`,role:`dialog`,"aria-modal":`true`,children:[(0,z.jsxs)(`div`,{className:`modal-head`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`p`,{className:`eyebrow`,children:`Bilderbibliothek`}),(0,z.jsx)(`h2`,{children:`Bild auswählen`})]}),(0,z.jsx)(`button`,{type:`button`,className:`btn small`,onClick:i,children:`Schließen`})]}),(0,z.jsxs)(`div`,{className:`image-library-drop`,onDragOver:e=>e.preventDefault(),onDrop:e=>{e.preventDefault(),m(e.dataTransfer.files)},children:[(0,z.jsx)(`strong`,{children:l?`Upload laeuft...`:`Bilder hier ablegen`}),(0,z.jsx)(`span`,{children:`PNG, JPG, WEBP oder SVG. Mehrere Dateien sind erlaubt.`}),(0,z.jsx)(`input`,{type:`file`,multiple:!0,accept:`image/png,image/jpeg,image/webp,image/svg+xml`,onChange:e=>m(e.target.files)})]}),d&&(0,z.jsx)(`div`,{className:`error-box small`,children:d}),s&&(0,z.jsx)(`div`,{className:`small-muted`,children:`Bilder werden geladen...`}),(0,z.jsx)(`div`,{className:`image-library-grid`,children:a.map(e=>{let t=Number(e.usage_count||0)>0;return(0,z.jsxs)(`div`,{className:`image-library-card ${n&&n===e.file_url?`is-selected`:``}`,children:[(0,z.jsx)(`button`,{type:`button`,className:`image-library-preview`,onClick:()=>{r?.(e.file_url),i?.()},children:(0,z.jsx)(`img`,{src:e.file_url,alt:e.original_name||`Bild`})}),(0,z.jsxs)(`div`,{className:`image-library-info`,children:[(0,z.jsx)(`strong`,{title:e.original_name||e.file_url,children:e.original_name||`Bild`}),(0,z.jsx)(`span`,{children:t?`${e.usage_count}x verwendet`:`Nicht verwendet`})]}),(0,z.jsx)(`button`,{type:`button`,className:`mini-btn danger`,disabled:t,title:t?`Bild wird verwendet`:`Bild loeschen`,onClick:()=>h(e),children:`Loeschen`})]},e.id||e.file_url)})})]})}),document.body):null}function Vn({assetId:e,projectId:t,state:n,isFirstState:r=!1,onDone:i}){let[a,o]=(0,_.useState)(``),[s,c]=(0,_.useState)(``),[l,u]=(0,_.useState)(100),[d,f]=(0,_.useState)(!1),[p,m]=(0,_.useState)(!1),[h,g]=(0,_.useState)(``),[v,y]=(0,_.useState)(!1),[b,x]=(0,_.useState)(``);(0,_.useEffect)(()=>{n?(o(n.label||``),c(n.state_key||``),u(n.sort_order||100),f(!!n.is_default)):(o(``),c(``),u(100),f(r)),g(``),x(``)},[n,r]);async function S(t){t.preventDefault(),x(``),y(!0);let r=t.currentTarget,a=new FormData(r);a.append(`action`,n?`asset_state_update`:`asset_state_create`),a.append(`asset_id`,e),n&&a.append(`state_id`,n.id);try{await Te(a),r.reset(),g(``),n||(o(``),c(``),u(100),f(!1)),await i?.({created:!n})}catch(e){x(e.message)}finally{y(!1)}}return(0,z.jsxs)(`form`,{className:`state-form compact`,onSubmit:S,children:[(0,z.jsx)(`div`,{className:`small-title`,children:n?`Zustand bearbeiten`:`Zustand hinzufügen`}),(0,z.jsx)(`input`,{name:`label`,className:`form-input`,value:a,onChange:e=>o(e.target.value),placeholder:`Name`,required:!0}),(0,z.jsx)(`input`,{name:`state_key`,className:`form-input`,value:s,onChange:e=>c(e.target.value),placeholder:`Key optional`}),(0,z.jsxs)(`div`,{className:`asset-form-grid`,children:[(0,z.jsx)(`input`,{name:`sort_order`,className:`form-input`,type:`number`,value:l,onChange:e=>u(Number(e.target.value||100))}),(0,z.jsxs)(`label`,{className:`check-line`,children:[(0,z.jsx)(`input`,{name:`is_default`,type:`checkbox`,checked:r||d,onChange:e=>{r||f(e.target.checked)}}),`Default`]})]}),r&&(0,z.jsx)(`div`,{className:`small-muted`,children:`Der erste Zustand wird automatisch als Default verwendet.`}),(0,z.jsx)(`input`,{type:`hidden`,name:`image_library_url`,value:h}),(0,z.jsxs)(`div`,{className:`state-image-picker`,children:[(h||n?.image_file)&&(0,z.jsx)(`div`,{className:`state-image-picker-preview`,children:(0,z.jsx)(`img`,{src:h||n.image_file,alt:``})}),(0,z.jsxs)(`div`,{className:`state-image-picker-actions`,children:[(0,z.jsx)(`button`,{type:`button`,className:`btn small`,onClick:()=>m(!0),children:`Aus Bibliothek`}),h&&(0,z.jsx)(`button`,{type:`button`,className:`btn small ghost`,onClick:()=>g(``),children:`Auswahl entfernen`})]})]}),(0,z.jsx)(`input`,{name:`image_file`,className:`form-input`,type:`file`,accept:`image/png,image/jpeg,image/webp,image/svg+xml`}),(0,z.jsx)(`div`,{className:`small-muted`,children:`Optional. Ohne Bild kann der Zustand trotzdem für Regeln verwendet werden. Neue Uploads landen automatisch in der Bibliothek.`}),(0,z.jsx)(`button`,{className:`btn primary small`,disabled:v,children:v?`…`:n?`Speichern`:`+ Zustand`}),b&&(0,z.jsx)(`div`,{className:`error-box small`,children:b}),(0,z.jsx)(Bn,{open:p,projectId:t,value:h,onSelect:g,onClose:()=>m(!1)})]})}function Hn({asset:e,onDone:t}){let[n,r]=(0,_.useState)(null),[i,a]=(0,_.useState)(``);(0,_.useEffect)(()=>{if(!i)return;let e=window.setTimeout(()=>a(``),3200);return()=>window.clearTimeout(e)},[i]);async function o(e){if(confirm(`Zustand wirklich löschen?`))try{await U(`asset_state_delete`,{state_id:e}),await t?.()}catch(e){alert(e.message)}}return(0,z.jsxs)(`div`,{className:`states-editor compact`,children:[(0,z.jsx)(`div`,{className:`small-title`,children:`Zustände`}),i&&(0,z.jsx)(`div`,{className:`success-notice`,role:`status`,children:i}),(0,z.jsx)(`div`,{className:`state-list`,children:(e.states||[]).map(e=>(0,z.jsxs)(`div`,{className:`state-row`,children:[(0,z.jsx)(`div`,{className:`state-image`,children:e.image_file?(0,z.jsx)(`img`,{src:e.image_file,alt:``}):(0,z.jsx)(`span`,{children:`Ohne Bild`})}),(0,z.jsxs)(`div`,{className:`state-info`,children:[(0,z.jsx)(`strong`,{children:e.label}),(0,z.jsxs)(`span`,{children:[e.is_default?`Default · `:``,e.state_key]})]}),(0,z.jsx)(`button`,{type:`button`,className:`icon-btn`,title:`Bearbeiten`,onClick:()=>r(e),children:`Edit`}),(0,z.jsx)(`button`,{type:`button`,className:`icon-btn danger-icon`,title:`Löschen`,onClick:()=>o(e.id),children:`Del`})]},e.id))}),(0,z.jsx)(Vn,{assetId:e.id,projectId:e.project_id||``,state:n,isFirstState:!n&&(e.states||[]).length===0,onDone:async({created:e}={})=>{r(null),e&&a(`Zustand eingefügt. Er kann später jederzeit bearbeitet werden.`),await t?.()}})]})}function Un({open:e,projectId:t,editing:n,onClose:r,onDone:i}){let[a,o]=(0,_.useState)(``),[s,c]=(0,_.useState)(``),[l,u]=(0,_.useState)(`pump`),[d,f]=(0,_.useState)(!0),[p,m]=(0,_.useState)(null),[h,g]=(0,_.useState)(!1),[v,y]=(0,_.useState)(``);if((0,_.useEffect)(()=>{e&&(n?(o(n.name||``),c(n.description||``),u(n.asset_type||`custom`),f(!!n.is_global),m(n)):(o(``),c(``),u(`pump`),f(!0),m(null)),y(``))},[e,n]),!e)return null;async function b(e){e.preventDefault(),y(``),g(!0);try{let e=await U(n?`asset_update`:`asset_create`,{asset_id:n?.id||``,project_id:t||``,name:a,description:s,asset_type:l,is_global:d?`1`:`0`});m({...n||{},id:n?.id||e.asset_id,name:a,description:s,asset_type:l,is_global:d,states:n?.states||[]}),await i?.()}catch(e){y(e.message)}finally{g(!1)}}return(0,z.jsx)(`div`,{className:`modal-backdrop`,onPointerDown:r,children:(0,z.jsxs)(`div`,{className:`asset-modal`,onPointerDown:e=>e.stopPropagation(),children:[(0,z.jsxs)(`div`,{className:`modal-head`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`div`,{className:`eyebrow`,children:`Symbolverwaltung`}),(0,z.jsx)(`h2`,{children:n?`Symbol bearbeiten`:`Symbol erstellen`})]}),(0,z.jsx)(`button`,{type:`button`,className:`icon-close`,onClick:r,children:`?`})]}),(0,z.jsxs)(`form`,{onSubmit:b,className:`asset-modal-form`,children:[(0,z.jsxs)(`div`,{className:`modal-grid`,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Name`}),(0,z.jsx)(`input`,{className:`form-input`,value:a,onChange:e=>o(e.target.value),placeholder:`z.B. Pumpe Grundfos`,required:!0})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Art`}),(0,z.jsxs)(`select`,{className:`form-input`,value:l,onChange:e=>u(e.target.value),children:[(0,z.jsx)(`option`,{value:`pump`,children:`Pumpe`}),(0,z.jsx)(`option`,{value:`heat_generation`,children:`Wärmeerzeugung`}),(0,z.jsx)(`option`,{value:`cold_generation`,children:`Kälteerzeugung`}),(0,z.jsx)(`option`,{value:`heat_recovery`,children:`Wärmetauscher / WRG`}),(0,z.jsx)(`option`,{value:`valve`,children:`Ventil`}),(0,z.jsx)(`option`,{value:`fan`,children:`Ventilator`}),(0,z.jsx)(`option`,{value:`sensor`,children:`Fühler`}),(0,z.jsx)(`option`,{value:`background`,children:`Hintergrund`}),(0,z.jsx)(`option`,{value:`custom`,children:`Sonstiges`})]})]}),(0,z.jsxs)(`label`,{className:`check-line modal-check`,children:[(0,z.jsx)(`input`,{type:`checkbox`,checked:d,onChange:e=>f(e.target.checked)}),`Globales Symbol`]}),(0,z.jsxs)(`div`,{className:`field modal-wide`,children:[(0,z.jsx)(`label`,{children:`Beschreibung`}),(0,z.jsx)(`input`,{className:`form-input`,value:s,onChange:e=>c(e.target.value),placeholder:`Optional`})]})]}),(0,z.jsxs)(`div`,{className:`modal-actions`,children:[(0,z.jsx)(`button`,{className:`btn primary`,disabled:h,children:h?`Speichert…`:`Symbol speichern`}),(0,z.jsx)(`button`,{type:`button`,className:`btn`,onClick:r,children:`Schließen`})]}),v&&(0,z.jsx)(`div`,{className:`error-box small`,children:v})]}),p&&(0,z.jsx)(Hn,{asset:p,onDone:async()=>{let e=await i?.(),t=Array.isArray(e)?e.find(e=>Number(e.id)===Number(p.id)):null;t&&m(t)}})]})})}function Wn({projectId:e,onPickAsset:t}){let[n,r]=(0,_.useState)([]),[i,a]=(0,_.useState)(``),[o,s]=(0,_.useState)(``),[c,l]=(0,_.useState)(!1),[u,d]=(0,_.useState)(null),[f,p]=(0,_.useState)(null);async function m(){s(``);try{let t=((await H(`assets`,{project_id:e||``})).assets||[]).map(te);return r(t),t}catch(e){return s(e.message),r([]),[]}}(0,_.useEffect)(()=>{m()},[e]),(0,_.useEffect)(()=>{if(!f)return;function e(){p(null)}return window.addEventListener(`pointerdown`,e),window.addEventListener(`scroll`,e,!0),()=>{window.removeEventListener(`pointerdown`,e),window.removeEventListener(`scroll`,e,!0)}},[f]);let h=n.filter(e=>[e.name,e.asset_type,e.description].filter(Boolean).join(` `).toLowerCase().includes(i.toLowerCase())).reduce((e,t)=>{let n=t.asset_type||`custom`;return e[n]||(e[n]=[]),e[n].push(t),e},{}),g=Object.keys(h).sort((e,t)=>{let n=x[e]||e,r=x[t]||t;return n.localeCompare(r,`de`)});async function v(e){if(confirm(`Symbol wirklich löschen? Alle Zustände werden ebenfalls gelöscht.`))try{await U(`asset_delete`,{asset_id:e}),await m(),p(null)}catch(e){alert(e.message)}}function y(e,t){e.preventDefault(),e.stopPropagation();let n=Qn(e.clientX,e.clientY,{itemCount:2});p({x:n.x,y:n.y,asset:t})}return(0,z.jsxs)(`div`,{className:`asset-bottom-bar`,children:[(0,z.jsxs)(`div`,{className:`asset-bottom-head`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`strong`,{children:`Symbole`}),(0,z.jsx)(`span`,{children:` gruppiert nach Art`})]}),(0,z.jsxs)(`div`,{className:`asset-bottom-actions`,children:[(0,z.jsx)(`input`,{className:`form-input asset-search`,value:i,onChange:e=>a(e.target.value),placeholder:`Symbol suchen…`}),(0,z.jsx)(`button`,{type:`button`,className:`btn small primary`,onClick:()=>{d(null),l(!0)},children:`+ Symbol`})]})]}),o&&(0,z.jsx)(`div`,{className:`error-box small`,children:o}),(0,z.jsx)(`div`,{className:`asset-category-strip full`,children:g.map(e=>(0,z.jsxs)(`div`,{className:`asset-category`,children:[(0,z.jsxs)(`div`,{className:`asset-category-title`,"data-icon":T[e]||T.custom,children:[(0,z.jsx)(`span`,{children:x[e]||e}),(0,z.jsx)(`em`,{children:h[e].length})]}),(0,z.jsx)(`div`,{className:`asset-row-scroll`,children:h[e].map(e=>{let n=e.states.find(e=>e.is_default)?.image_file||e.states[0]?.image_file||``;return(0,z.jsx)(`div`,{className:`asset-tile`,onContextMenu:t=>y(t,e),children:(0,z.jsxs)(`button`,{type:`button`,className:`asset-tile-main`,onClick:()=>t(e),onContextMenu:t=>y(t,e),title:`Einfügen`,children:[(0,z.jsx)(`div`,{className:`asset-preview`,children:n?(0,z.jsx)(`img`,{src:n,alt:``}):(0,z.jsx)(`span`,{children:`??`})}),(0,z.jsx)(`strong`,{children:e.name})]})},e.id)})})]},e))}),f&&(0,tt.createPortal)((0,z.jsxs)(`div`,{className:`context-menu asset-context-menu`,style:{left:f.x,top:f.y},onPointerDown:e=>e.stopPropagation(),onContextMenu:e=>e.preventDefault(),children:[(0,z.jsx)(`button`,{type:`button`,onClick:()=>{d(f.asset),l(!0),p(null)},children:`✏ Bearbeiten`}),(0,z.jsx)(`button`,{type:`button`,className:`danger-row`,onClick:()=>v(f.asset.id),children:`🗑 Löschen`})]}),document.body),(0,z.jsx)(Un,{open:c,projectId:e,editing:u,onClose:()=>{l(!1),d(null)},onDone:m})]})}function Gn({element:e,liveValues:t}){let n=e.style_json?.attachedValues||[],r=e.style_json||{};return!Array.isArray(n)||n.length===0?null:(0,z.jsx)(z.Fragment,{children:n.slice(0,3).map((e,n)=>{let i=j(M(e,r),t),a=se(i,e.decimals??1),o=Number(e.fontSize||13);return(0,z.jsxs)(`div`,{className:`attached-value`,style:{left:`${e.x??50}%`,top:`${e.y??100}%`,fontSize:`${o}px`},children:[(0,z.jsx)(`span`,{style:{fontSize:`${Math.max(8,o-4)}px`},children:e.label||i?.raw_label||`Wert ${n+1}`}),(0,z.jsx)(`strong`,{style:{fontSize:`${o}px`},children:a})]},n)})})}function Kn(e,t,n=[]){let r=e.style_json||{},i=[...e.rules||[]].sort((e,t)=>Number(e.priority||100)-Number(t.priority||100));for(let e of i){let n=M(e,r),i=j(n,t);if(i&&P(n,i))return{image:n.image_file||``,hasState:!0}}let a=e.asset_states?.find(e=>e.is_default)||e.asset_states?.[0]||null;if(a)return{image:a.image_file||``,hasState:!0};let o=n.find(t=>Number(t.id)===Number(e.asset_id)),s=o?.states?.find(e=>e.is_default)||o?.states?.[0]||null;return s?{image:s.image_file||``,hasState:!0}:e.style_json?.default_image?{image:e.style_json.default_image,hasState:!0}:{image:``,hasState:!1}}function qn({onResizeStart:e}){return(0,z.jsx)(z.Fragment,{children:[`nw`,`n`,`ne`,`e`,`se`,`s`,`sw`,`w`].map(t=>(0,z.jsx)(`span`,{className:`resize-handle handle-${t}`,onPointerDown:n=>e(n,t)},t))})}function Jn({element:e,selected:t,liveValues:n={},assets:r=[],pointEditMode:i=!1,lockedAsTemplate:a=!1,onPointerDown:o,onDoubleClick:s,onResizeStart:c,onPointPointerDown:l,onContextMenu:u}){let d=e.style_json||{},f=d.color||`#60a5fa`,p=`translate(${e.x}px, ${e.y}px) rotate(${e.rotation||0}deg)`;return ie(e,n)?(0,z.jsxs)(`div`,{className:`canvas-element ${t?`is-selected`:``} ${i?`is-point-edit`:``}`,style:{width:e.w,height:e.h,transform:p,zIndex:e.z_index||10,opacity:e.opacity??1},onPointerDown:t=>o(t,e.id),onDoubleClick:t=>{t.preventDefault(),t.stopPropagation(),s?.(t,e.id)},onContextMenu:t=>u?.(t,e.id),children:[e.element_type===`asset`&&(0,z.jsxs)(z.Fragment,{children:[(()=>{let t=Kn(e,n,r);return t.image?(0,z.jsx)(`img`,{className:`asset-canvas-image`,src:t.image,alt:e.label||e.name||``,draggable:!1}):t.hasState?null:(0,z.jsx)(`div`,{className:`asset-missing`,children:`Kein Zustand`})})(),(0,z.jsx)(Gn,{element:e,liveValues:n})]}),e.element_type===`text`&&(0,z.jsx)(xt,{element:e,liveValues:n,interactive:!1}),e.element_type===`value`&&d.kind===`trend_chart`&&(0,z.jsx)(Ft,{element:e}),e.element_type===`value`&&d.kind===`sankey_chart`&&(0,z.jsx)(Vt,{element:e}),e.element_type===`value`&&[`scale_bar`,`dial_gauge`].includes(d.kind)&&(0,z.jsx)(Ce,{element:e,liveValues:n}),e.element_type===`value`&&![`scale_bar`,`dial_gauge`,`trend_chart`,`sankey_chart`].includes(d.kind)&&(0,z.jsxs)(`div`,{className:`sensor-element ${d.kind===`setpoint`?`is-setpoint`:``}`,style:{borderColor:d.showBorder===!1?`transparent`:d.strokeColor||f,borderWidth:`${Number(d.strokeWidth??3)}px`,background:d.fillColor&&d.fillColor!==`transparent`?d.kind===`setpoint`?ce(d):d.fillColor:`transparent`,"--sensor-label-color":d.labelColor||`rgba(209, 213, 219, 0.78)`,"--sensor-label-size":`${Number(d.labelFontSize??12)}px`},children:[(0,z.jsx)(`div`,{className:`sensor-marker`,style:{background:d.markerColor||f,color:d.markerTextColor||`#0f172a`,width:`${Number(d.markerSize??34)}px`,height:`${Number(d.markerSize??34)}px`,fontSize:`${Number(d.markerFontSize??13)}px`},children:d.marker||(d.kind===`setpoint`?`SP`:`T`)}),(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`div`,{className:`sensor-label`,children:e.label||(d.kind===`setpoint`?`Sollwert`:`Fühler`)}),(0,z.jsx)(`div`,{className:`sensor-value`,style:{color:d.valueColor||`#ffffff`,fontSize:`${Number(d.valueFontSize??20)}px`},children:se({value:23.4},d.decimals??1)})]})]}),e.element_type===`shape`&&(0,z.jsx)(dt,{element:e,pointEditMode:i,onPointPointerDown:l}),t&&c&&!i&&!a&&(0,z.jsx)(qn,{onResizeStart:(t,n)=>c(t,e.id,n)})]}):null}function Yn({menu:e,onClose:t,onCopy:n,onPaste:r,onDelete:i,onEditPoints:a,onEditTemplateBindings:o,onBringFront:s,onSendBack:c,onZPlus:l,onZMinus:u}){return e?(0,z.jsxs)(`div`,{className:`context-menu`,style:{left:e.x,top:e.y},onPointerDown:e=>e.stopPropagation(),onContextMenu:e=>e.preventDefault(),children:[e.elementId&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`button`,{type:`button`,onClick:()=>{n(e.elementId),t()},children:`📋 Kopieren`}),(0,z.jsx)(`button`,{type:`button`,onClick:()=>{s(e.elementId),t()},children:`↑ Ganz nach vorne`}),(0,z.jsx)(`button`,{type:`button`,onClick:()=>{l(e.elementId),t()},children:`↗ Eins nach vorne`}),(0,z.jsx)(`button`,{type:`button`,onClick:()=>{u(e.elementId),t()},children:`↘ Eins nach hinten`}),(0,z.jsx)(`button`,{type:`button`,onClick:()=>{c(e.elementId),t()},children:`↓ Ganz nach hinten`}),e.isTemplateGroup&&(0,z.jsx)(`button`,{type:`button`,onClick:()=>{o?.(e.templateGroupId),t()},children:`Platzhalter ändern`}),e.canEditPoints&&!e.isTemplateGroup&&(0,z.jsx)(`button`,{type:`button`,onClick:()=>{a(e.elementId),t()},children:`✍ Punkte bearbeiten`}),(0,z.jsx)(`button`,{type:`button`,className:`danger-row`,onClick:()=>{i(e.elementId),t()},children:`Entfernen`})]}),!e.elementId&&(0,z.jsx)(`button`,{type:`button`,onClick:()=>{r(e.canvasPoint),t()},children:`📥 Einfügen`})]}):null}function Xn({page:e,selected:t,assets:n,onChange:r}){if(!t||t.element_type!==`asset`)return null;let i=n.find(e=>Number(e.id)===Number(t.asset_id)),a=new Map;[...t.asset_states||[],...i?.states||[]].forEach(e=>{e?.id&&a.set(Number(e.id),e)});let o=Array.from(a.values()).sort((e,t)=>Number(t.is_default||0)-Number(e.is_default||0)||Number(e.sort_order||100)-Number(t.sort_order||100));function s(e,n){let i=[...t.rules||[]];i[e]={...i[e],...n},r({...t,rules:i})}function c(){let e=o[0];if(!e){alert(`Das Symbol hat noch keine Zustände.`);return}r({...t,rules:[...t.rules||[],{asset_state_id:e.id,variable_type:`digital`,external_id:``,variable_id:``,point_key:``,point_label:``,operator:`eq`,compare_value:`1`,priority:100,image_file:e.image_file,state_label:e.label}]})}function l(e){let n=[...t.rules||[]];n.splice(e,1),r({...t,rules:n})}return(0,z.jsxs)(`div`,{className:`rules-editor`,children:[(0,z.jsx)(`div`,{className:`small-title`,children:`Zustandsregeln`}),(t.rules||[]).map((t,n)=>(0,z.jsxs)(`div`,{className:`rule-box`,children:[(0,z.jsxs)(`select`,{className:`form-input`,value:t.asset_state_id||``,onChange:e=>{let t=o.find(t=>Number(t.id)===Number(e.target.value));s(n,{asset_state_id:Number(e.target.value||0),image_file:t?.image_file||``,state_label:t?.label||``})},children:[(0,z.jsx)(`option`,{value:``,children:`Zustand wählen`}),o.map(e=>(0,z.jsxs)(`option`,{value:e.id,children:[e.label,e.image_file?``:` (ohne Bild)`]},e.id))]}),(0,z.jsx)(br,{page:e,value:k(t),onChange:e=>{if(!e){s(n,{variable_type:`digital`,external_id:``,variable_id:``,point_key:``,point_label:``});return}s(n,{variable_type:e.type,external_id:e.external_id,variable_id:e.variable_id||``,point_key:e.point_key||``,point_label:e.label||``})}}),(0,z.jsxs)(`div`,{className:`rule-grid`,children:[(0,z.jsxs)(`select`,{className:`form-input`,value:t.operator||`eq`,onChange:e=>s(n,{operator:e.target.value}),children:[(0,z.jsx)(`option`,{value:`eq`,children:`=`}),(0,z.jsx)(`option`,{value:`neq`,children:`!=`}),(0,z.jsx)(`option`,{value:`gt`,children:`>`}),(0,z.jsx)(`option`,{value:`gte`,children:`>=`}),(0,z.jsx)(`option`,{value:`lt`,children:`<`}),(0,z.jsx)(`option`,{value:`lte`,children:`<=`}),(0,z.jsx)(`option`,{value:`contains`,children:`enthält`}),(0,z.jsx)(`option`,{value:`not_contains`,children:`enthält nicht`}),(0,z.jsx)(`option`,{value:`truthy`,children:`wahr`}),(0,z.jsx)(`option`,{value:`falsy`,children:`falsch`})]}),(0,z.jsx)(`input`,{className:`form-input`,value:t.compare_value??``,onChange:e=>s(n,{compare_value:e.target.value}),placeholder:`Wert`}),(0,z.jsx)(`input`,{className:`form-input`,type:`number`,value:t.priority||100,onChange:e=>s(n,{priority:Number(e.target.value||100)})})]}),(0,z.jsxs)(`div`,{className:`rule-footer`,children:[(0,z.jsx)(`span`,{children:t.point_label||`Kein Wert gewählt`}),(0,z.jsx)(`button`,{type:`button`,className:`mini-btn danger`,onClick:()=>l(n),children:`Regel löschen`})]})]},n)),(0,z.jsx)(`button`,{type:`button`,className:`btn small`,onClick:c,children:`+ Regel hinzufügen`})]})}function Zn({page:e,selected:t,onChange:n,disabled:r=!1}){if(!t||t.element_type!==`shape`)return null;let i=t.style_json||{},a=Array.isArray(i.colorRules)?i.colorRules:[];function o(e){n({...t,style_json:{...i,colorRules:e}})}function s(e,t){let n=[...a];n[e]={...n[e],...t},o(n)}function c(){o([...a,{variable_type:`digital`,external_id:``,variable_id:``,point_key:``,point_label:``,operator:`eq`,compare_value:`1`,priority:100,fillColor:i.fillColor||`#60a5fa`,gradientColor:i.gradientColor||i.fillColor||`#1d4ed8`}])}function l(e){let t=[...a];t.splice(e,1),o(t)}return(0,z.jsxs)(`div`,{className:`rules-editor`,children:[(0,z.jsx)(`div`,{className:`small-title`,children:`Farbregeln`}),(0,z.jsx)(`div`,{className:`small-muted`,children:`Die erste passende Regel ersetzt die Füllfarbe.`}),a.map((t,n)=>(0,z.jsxs)(`div`,{className:`rule-box`,children:[(0,z.jsx)(In,{label:`Füllfarbe bei Treffer`,value:t.fillColor||`#60a5fa`,onChange:e=>s(n,{fillColor:e})}),(i.fillMode===`linear`||i.fillMode===`radial`)&&(0,z.jsx)(In,{label:`Zweite Farbe bei Treffer`,value:t.gradientColor||i.gradientColor||`#1d4ed8`,onChange:e=>s(n,{gradientColor:e})}),(0,z.jsx)(br,{page:e,value:k(t),onChange:e=>{if(!e){s(n,{variable_type:`digital`,external_id:``,variable_id:``,point_key:``,point_label:``});return}s(n,{variable_type:e.type,external_id:e.external_id,variable_id:e.variable_id||``,point_key:e.point_key||``,point_label:e.label||``})}}),(0,z.jsxs)(`div`,{className:`rule-grid`,children:[(0,z.jsxs)(`select`,{disabled:r,className:`form-input`,value:t.operator||`eq`,onChange:e=>s(n,{operator:e.target.value}),children:[(0,z.jsx)(`option`,{value:`eq`,children:`=`}),(0,z.jsx)(`option`,{value:`neq`,children:`!=`}),(0,z.jsx)(`option`,{value:`gt`,children:`>`}),(0,z.jsx)(`option`,{value:`gte`,children:`>=`}),(0,z.jsx)(`option`,{value:`lt`,children:`<`}),(0,z.jsx)(`option`,{value:`lte`,children:`<=`}),(0,z.jsx)(`option`,{value:`contains`,children:`enthält`}),(0,z.jsx)(`option`,{value:`not_contains`,children:`enthält nicht`}),(0,z.jsx)(`option`,{value:`truthy`,children:`wahr`}),(0,z.jsx)(`option`,{value:`falsy`,children:`falsch`})]}),(0,z.jsx)(`input`,{disabled:r,className:`form-input`,value:t.compare_value??``,onChange:e=>s(n,{compare_value:e.target.value}),placeholder:`Wert`}),(0,z.jsx)(`input`,{disabled:r,className:`form-input`,type:`number`,value:t.priority||100,onChange:e=>s(n,{priority:Number(e.target.value||100)})})]}),(0,z.jsxs)(`div`,{className:`rule-footer`,children:[(0,z.jsx)(`span`,{children:t.point_label||`Kein Wert gewählt`}),(0,z.jsx)(`button`,{disabled:r,type:`button`,className:`mini-btn danger`,onClick:()=>l(n),children:`Regel löschen`})]})]},n)),(0,z.jsx)(`button`,{disabled:r,type:`button`,className:`btn small`,onClick:c,children:`+ Farbregel hinzufügen`})]})}function Qn(e,t,n={}){let r=14+(Number(n.itemCount||0)||(n.elementId?6+ +!!n.canEditPoints:1))*30,i=e,a=t;return i+190+8>window.innerWidth&&(i=e-190),a+r+8>window.innerHeight&&(a=t-r),{x:Math.max(8,Math.min(i,window.innerWidth-190-8)),y:Math.max(8,Math.min(a,window.innerHeight-r-8))}}function $n(e=`Link`){return{id:`menu-${Math.abs(b())}`,label:e,linkMode:`page`,linkPageId:``,linkUrl:``,linkTarget:`same_tab`}}function er(){return Nn?Promise.resolve(Nn):Pn||(Pn=H(`pages`).then(e=>(Nn=e.pages||[],Nn)).finally(()=>{Pn=null}),Pn)}function tr(e){return Array.isArray(e)?e.map((e,t)=>({id:e.id||`menu-${t+1}`,label:e.label||`Link ${t+1}`,linkMode:e.linkMode||`page`,linkPageId:e.linkPageId||``,linkUrl:e.linkUrl||``,linkTarget:e.linkTarget||`same_tab`})):[]}function nr({value:e,onChange:t,disabled:n=!1}){let[r,i]=(0,_.useState)([]),[a,o]=(0,_.useState)(``);(0,_.useEffect)(()=>{er().then(e=>i(e||[])).catch(e=>o(e.message))},[]);let s=oe(r);return(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Zielseite`}),(0,z.jsxs)(`select`,{disabled:n,value:String(e||``),onChange:e=>t(e.target.value),children:[(0,z.jsx)(`option`,{value:``,children:`Seite wählen…`}),s.map(e=>(0,z.jsx)(`optgroup`,{label:`${e.year||``} · ${e.project_number||``} · ${e.project_name||``}`,children:e.pages.map(e=>(0,z.jsx)(`option`,{value:e.id,children:e.name},e.id))},e.project_id))]}),a&&(0,z.jsx)(`div`,{className:`tiny-error`,children:a})]})}function rr({value:e,onChange:t,disabled:n=!1}){let r=e.linkMode||`page`,i=e.linkTarget||`same_tab`;function a(n){t({...e,...n})}return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Ziel`}),(0,z.jsxs)(`select`,{disabled:n,value:r,onChange:e=>a({linkMode:e.target.value}),children:[(0,z.jsx)(`option`,{value:`page`,children:`Andere Visualisierung`}),(0,z.jsx)(`option`,{value:`external`,children:`Externe Website`}),(0,z.jsx)(`option`,{value:`none`,children:`Kein Link`})]})]}),r===`page`&&(0,z.jsx)(nr,{value:e.linkPageId||``,onChange:e=>a({linkPageId:e}),disabled:n}),r===`external`&&(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Externe URL`}),(0,z.jsx)(`input`,{disabled:n,value:e.linkUrl||``,onChange:e=>a({linkUrl:e.target.value}),placeholder:`https://example.com`})]}),r!==`none`&&(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Öffnen`}),(0,z.jsxs)(`select`,{disabled:n,value:i,onChange:e=>a({linkTarget:e.target.value}),children:[(0,z.jsx)(`option`,{value:`same_tab`,children:`Im selben Tab`}),(0,z.jsx)(`option`,{value:`new_tab`,children:`In neuem Tab`})]})]})]})}function ir({page:e,selected:t,onChange:n,disabled:r=!1}){if(!t||![`asset`,`shape`,`text`].includes(t.element_type))return null;let i=t.style_json||{},a=i.visibilityRule||{},o=!!a.enabled;function s(e){n({...t,style_json:{...i,visibilityRule:{enabled:!0,variable_type:`digital`,external_id:``,variable_id:``,point_key:``,point_label:``,operator:`eq`,compare_value:`1`,...a,...e}}})}function c(e){if(e){s({enabled:!0});return}n({...t,style_json:{...i,visibilityRule:{...a,enabled:!1}}})}return(0,z.jsxs)(`div`,{className:`rules-editor`,children:[(0,z.jsxs)(`label`,{className:`check-line`,children:[(0,z.jsx)(`input`,{disabled:r,type:`checkbox`,checked:o,onChange:e=>c(e.target.checked)}),`Element per Wert ausblenden`]}),o&&(0,z.jsxs)(`div`,{className:`rule-box`,children:[(0,z.jsx)(br,{page:e,value:k(a),onChange:e=>{if(!e){s({variable_type:`digital`,external_id:``,variable_id:``,point_key:``,point_label:``});return}s({variable_type:e.type,external_id:e.external_id,variable_id:e.variable_id||``,point_key:e.point_key||``,point_label:e.label||``})}}),(0,z.jsxs)(`div`,{className:`rule-grid`,children:[(0,z.jsxs)(`select`,{disabled:r,className:`form-input`,value:a.operator||`eq`,onChange:e=>s({operator:e.target.value}),children:[(0,z.jsx)(`option`,{value:`eq`,children:`=`}),(0,z.jsx)(`option`,{value:`neq`,children:`!=`}),(0,z.jsx)(`option`,{value:`gt`,children:`>`}),(0,z.jsx)(`option`,{value:`gte`,children:`>=`}),(0,z.jsx)(`option`,{value:`lt`,children:`<`}),(0,z.jsx)(`option`,{value:`lte`,children:`<=`}),(0,z.jsx)(`option`,{value:`contains`,children:`enthält`}),(0,z.jsx)(`option`,{value:`not_contains`,children:`enthält nicht`}),(0,z.jsx)(`option`,{value:`truthy`,children:`wahr`}),(0,z.jsx)(`option`,{value:`falsy`,children:`falsch`})]}),(0,z.jsx)(`input`,{disabled:r||[`truthy`,`falsy`].includes(a.operator),className:`form-input`,value:a.compare_value??`1`,onChange:e=>s({compare_value:e.target.value}),placeholder:`Wert`}),(0,z.jsx)(`input`,{disabled:r,className:`form-input`,type:`number`,min:`1`,value:Number(a.priority||100),onChange:e=>s({priority:Number(e.target.value||100)}),title:`Priorität`})]}),(0,z.jsx)(`div`,{className:`small-muted`,children:`Wenn diese Bedingung zutrifft, wird das Element im Viewer ausgeblendet.`})]})]})}function ar({page:e,selected:t,onChange:n,disabled:r=!1}){if(!t||t.element_type!==`text`)return null;let i=t.style_json||{},a=Array.isArray(i.textRules)?i.textRules:[];function o(e){n({...t,style_json:{...i,textRules:e}})}function s(e,t){let n=[...a];n[e]={...n[e],...t},o(n)}function c(){o([...a,{text:t.label||`Text`,variable_type:`digital`,external_id:``,variable_id:``,point_key:``,point_label:``,operator:`eq`,compare_value:`1`,priority:100}])}function l(e){let t=[...a];t.splice(e,1),o(t)}return(0,z.jsxs)(`div`,{className:`rules-editor`,children:[(0,z.jsx)(`div`,{className:`small-title`,children:`Textzustände`}),(0,z.jsx)(`div`,{className:`small-muted`,children:`Die erste passende Regel ersetzt den Standardtext.`}),a.map((t,n)=>(0,z.jsxs)(`div`,{className:`rule-box`,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Text bei Treffer`}),(0,z.jsx)(`input`,{disabled:r,value:t.text||``,onChange:e=>s(n,{text:e.target.value})})]}),(0,z.jsx)(br,{page:e,value:k(t),onChange:e=>{if(!e){s(n,{variable_type:`digital`,external_id:``,variable_id:``,point_key:``,point_label:``});return}s(n,{variable_type:e.type,external_id:e.external_id,variable_id:e.variable_id||``,point_key:e.point_key||``,point_label:e.label||``})}}),(0,z.jsxs)(`div`,{className:`rule-grid`,children:[(0,z.jsxs)(`select`,{disabled:r,className:`form-input`,value:t.operator||`eq`,onChange:e=>s(n,{operator:e.target.value}),children:[(0,z.jsx)(`option`,{value:`eq`,children:`=`}),(0,z.jsx)(`option`,{value:`neq`,children:`!=`}),(0,z.jsx)(`option`,{value:`gt`,children:`>`}),(0,z.jsx)(`option`,{value:`gte`,children:`>=`}),(0,z.jsx)(`option`,{value:`lt`,children:`<`}),(0,z.jsx)(`option`,{value:`lte`,children:`<=`}),(0,z.jsx)(`option`,{value:`contains`,children:`enthält`}),(0,z.jsx)(`option`,{value:`not_contains`,children:`enthält nicht`}),(0,z.jsx)(`option`,{value:`truthy`,children:`wahr`}),(0,z.jsx)(`option`,{value:`falsy`,children:`falsch`})]}),(0,z.jsx)(`input`,{disabled:r,className:`form-input`,value:t.compare_value??``,onChange:e=>s(n,{compare_value:e.target.value}),placeholder:`Wert`}),(0,z.jsx)(`input`,{disabled:r,className:`form-input`,type:`number`,value:t.priority||100,onChange:e=>s(n,{priority:Number(e.target.value||100)})})]}),(0,z.jsxs)(`div`,{className:`rule-footer`,children:[(0,z.jsx)(`span`,{children:t.point_label||`Kein Wert gewählt`}),(0,z.jsx)(`button`,{disabled:r,type:`button`,className:`mini-btn danger`,onClick:()=>l(n),children:`Regel löschen`})]})]},n)),(0,z.jsx)(`button`,{disabled:r,type:`button`,className:`btn small`,onClick:c,children:`+ Textzustand hinzufügen`})]})}var or=[{key:`top_left`,label:`Links oben`},{key:`top_center`,label:`Oben`},{key:`top_right`,label:`Rechts oben`},{key:`middle_left`,label:`Links`},{key:`center`,label:`Mitte`},{key:`middle_right`,label:`Rechts`},{key:`bottom_left`,label:`Links unten`},{key:`bottom_center`,label:`Unten`},{key:`bottom_right`,label:`Rechts unten`}],sr=[{value:`triangle`,label:`Dreieck`},{value:`diamond`,label:`Raute`},{value:`chevron`,label:`Chevron`},{value:`kite`,label:`Kite`}];function cr({value:e,onChange:t,disabled:n=!1}){return(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Startpunkt des Verlaufs`}),(0,z.jsx)(`div`,{className:`gradient-origin-picker`,children:or.map(r=>(0,z.jsx)(`button`,{disabled:n,type:`button`,className:e===r.key?`active`:``,title:r.label,"aria-label":r.label,onClick:()=>t(r.key),children:(0,z.jsx)(`span`,{})},r.key))})]})}function lr({value:e=0,onChange:t,disabled:n=!1}){return(0,z.jsx)(`div`,{className:`rotation-jumps arrow-rotation-jumps`,children:[-90,0,90].map(r=>(0,z.jsxs)(`button`,{disabled:n,type:`button`,className:`btn small ${Number(e||0)===r?`primary`:``}`,onClick:()=>t(r),children:[r>0?`+`:``,r,`°`]},r))})}function ur({page:e,selected:t,onChange:n,disabled:r=!1}){let i=t?.style_json||{},a=Number(i.arrowGap??0),o=i.arrowGapLinked!==!1,s=Number(i.startArrowGap??a),c=Number(i.endArrowGap??a),[l,u]=(0,_.useState)(String(s)),[d,f]=(0,_.useState)(String(c));if((0,_.useEffect)(()=>{u(String(s)),f(String(c))},[t?.id,s,c]),!t||t.element_type!==`shape`||t.style_json?.subtype!==`polyline`)return null;function p(e){n({...t,style_json:{...i,...e}})}function m(e,t){if(!/^-?\d*$/.test(t)||(e===`start`&&u(t),e===`end`&&f(t),t===``||t===`-`))return;let n=Math.max(-120,Math.min(120,Number(t)));if(o){u(String(n)),f(String(n)),p({arrowGapLinked:!0,arrowGap:n,startArrowGap:n,endArrowGap:n});return}p(e===`start`?{startArrowGap:n}:{endArrowGap:n})}function h(e){let t=e===`start`?l:d,n=e===`start`?s:c;if(t===``||t===`-`||Number.isNaN(Number(t))){e===`start`&&u(String(n)),e===`end`&&f(String(n));return}m(e,t)}function g(){if(!o){let e=Math.max(-120,Math.min(120,Number(l===`-`||l===``?s:l)));u(String(e)),f(String(e)),p({arrowGapLinked:!0,arrowGap:e,startArrowGap:e,endArrowGap:e});return}p({arrowGapLinked:!1,startArrowGap:s,endArrowGap:c})}return(0,z.jsxs)(`div`,{className:`rules-editor line-flow-editor`,children:[(0,z.jsx)(`div`,{className:`small-title`,children:`Linienfluss und Pfeile`}),(0,z.jsxs)(`div`,{className:`prop-grid-2`,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Pfeil am Anfang`}),(0,z.jsxs)(`select`,{disabled:r,value:i.startArrow||`none`,onChange:e=>p({startArrow:e.target.value}),children:[(0,z.jsx)(`option`,{value:`none`,children:`Keiner`}),(0,z.jsx)(`option`,{value:`outward`,children:`Nach außen`}),(0,z.jsx)(`option`,{value:`inward`,children:`In die Linie`})]})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Pfeil am Ende`}),(0,z.jsxs)(`select`,{disabled:r,value:i.endArrow||`none`,onChange:e=>p({endArrow:e.target.value}),children:[(0,z.jsx)(`option`,{value:`none`,children:`Keiner`}),(0,z.jsx)(`option`,{value:`outward`,children:`Nach außen`}),(0,z.jsx)(`option`,{value:`inward`,children:`In die Linie`})]})]})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Pfeilgröße`}),(0,z.jsx)(`input`,{disabled:r,type:`number`,min:`8`,max:`120`,value:Number(i.arrowSize??20),onChange:e=>p({arrowSize:Math.max(8,Math.min(120,Number(e.target.value||20)))})})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Pfeilabstand`}),(0,z.jsxs)(`div`,{className:`linked-gap-row`,children:[(0,z.jsx)(`input`,{disabled:r,type:`text`,inputMode:`numeric`,value:l,onChange:e=>m(`start`,e.target.value),onBlur:()=>h(`start`),placeholder:`-120 bis 120`}),(0,z.jsx)(`button`,{disabled:r,type:`button`,className:`icon-btn subtle-icon ${o?`is-active`:``}`,title:o?`Abstände gekoppelt`:`Abstände entkoppelt`,onClick:g,children:`?`}),(0,z.jsx)(`input`,{disabled:r,type:`text`,inputMode:`numeric`,value:d,onChange:e=>m(`end`,e.target.value),onBlur:()=>h(`end`),placeholder:`-120 bis 120`})]})]}),(0,z.jsxs)(`div`,{className:`prop-grid-2`,children:[(0,z.jsxs)(`div`,{className:`rule-box`,children:[(0,z.jsx)(`div`,{className:`small-title`,children:`Pfeil Anfang`}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Art`}),(0,z.jsx)(`select`,{disabled:r||(i.startArrow||`none`)===`none`,value:i.startArrowType||`triangle`,onChange:e=>p({startArrowType:e.target.value}),children:sr.map(e=>(0,z.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Drehung`}),(0,z.jsx)(lr,{disabled:r||(i.startArrow||`none`)===`none`,value:Number(i.startArrowRotation??0),onChange:e=>p({startArrowRotation:e})})]})]}),(0,z.jsxs)(`div`,{className:`rule-box`,children:[(0,z.jsx)(`div`,{className:`small-title`,children:`Pfeil Ende`}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Art`}),(0,z.jsx)(`select`,{disabled:r||(i.endArrow||`none`)===`none`,value:i.endArrowType||`triangle`,onChange:e=>p({endArrowType:e.target.value}),children:sr.map(e=>(0,z.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Drehung`}),(0,z.jsx)(lr,{disabled:r||(i.endArrow||`none`)===`none`,value:Number(i.endArrowRotation??0),onChange:e=>p({endArrowRotation:e})})]})]})]}),(0,z.jsxs)(`label`,{className:`check-line`,children:[(0,z.jsx)(`input`,{disabled:r,type:`checkbox`,checked:!!i.flowEnabled,onChange:e=>p({flowEnabled:e.target.checked})}),`Animierten Fluss anzeigen`]}),i.flowEnabled&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(br,{page:e,value:i.flowPoint?k(i.flowPoint):``,onChange:e=>p({flowPoint:e?{type:e.type,external_id:e.external_id,variable_id:e.variable_id||``,point_key:e.point_key||``,point_label:e.label||``}:null})}),(0,z.jsxs)(`div`,{className:`prop-grid-2`,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Minimalwert`}),(0,z.jsx)(`input`,{disabled:r,type:`number`,value:Number(i.flowMin??0),onChange:e=>p({flowMin:Number(e.target.value||0)})})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Maximalwert`}),(0,z.jsx)(`input`,{disabled:r,type:`number`,value:Number(i.flowMax??100),onChange:e=>p({flowMax:Number(e.target.value||100)})})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Langsam (Sek.)`}),(0,z.jsx)(`input`,{disabled:r,type:`number`,min:`0.2`,step:`0.1`,value:Number(i.flowSlowSeconds??5),onChange:e=>p({flowSlowSeconds:Number(e.target.value||5)})})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Schnell (Sek.)`}),(0,z.jsx)(`input`,{disabled:r,type:`number`,min:`0.1`,step:`0.1`,value:Number(i.flowFastSeconds??.7),onChange:e=>p({flowFastSeconds:Number(e.target.value||.7)})})]})]}),(0,z.jsx)(In,{label:`Flussfarbe`,value:i.flowColor||`#e0f2fe`,onChange:e=>p({flowColor:e})}),(0,z.jsxs)(`label`,{className:`check-line`,children:[(0,z.jsx)(`input`,{disabled:r,type:`checkbox`,checked:i.flowDirection===`reverse`,onChange:e=>p({flowDirection:e.target.checked?`reverse`:`forward`})}),`Flussrichtung umkehren`]}),(0,z.jsxs)(`label`,{className:`check-line`,children:[(0,z.jsx)(`input`,{disabled:r,type:`checkbox`,checked:!!i.flowInvertSpeed,onChange:e=>p({flowInvertSpeed:e.target.checked})}),`Geschwindigkeit invertieren (Minimum schnell)`]})]})]})}function dr({page:e,selected:t,onChange:n}){if(!t||t.element_type!==`asset`)return null;let r=Array.isArray(t.style_json?.attachedValues)?t.style_json.attachedValues:[];function i(e){n({...t,style_json:{...t.style_json,attachedValues:e.slice(0,3)}})}function a(e,t){let n=[...r];n[e]={...n[e],...t},i(n)}function o(){if(r.length>=3){alert(`Maximal 3 Werte pro Symbol.`);return}i([...r,{label:`Wert ${r.length+1}`,x:50,y:105,fontSize:13,decimals:1,type:``,external_id:``,variable_id:``,point_key:``}])}function s(e){let t=[...r];t.splice(e,1),i(t)}return(0,z.jsxs)(`div`,{className:`attached-editor`,children:[(0,z.jsx)(`div`,{className:`small-title`,children:`Angeheftete Werte`}),r.map((t,n)=>(0,z.jsxs)(`div`,{className:`attached-editor-row`,children:[(0,z.jsx)(`input`,{className:`form-input`,value:t.label||``,onChange:e=>a(n,{label:e.target.value}),placeholder:`Label`}),(0,z.jsx)(br,{page:e,value:k(t),onChange:e=>{if(!e){a(n,{type:``,external_id:``,variable_id:``,point_key:``,point_label:``});return}a(n,{type:e.type,external_id:e.external_id,variable_id:e.variable_id||``,point_key:e.point_key||``,point_label:e.label||``,label:t.label||e.raw_label||e.label||`Wert ${n+1}`})}}),(0,z.jsxs)(`div`,{className:`prop-grid-3`,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`X %`}),(0,z.jsx)(`input`,{type:`number`,value:t.x??50,onChange:e=>a(n,{x:Number(e.target.value||0)})})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Y %`}),(0,z.jsx)(`input`,{type:`number`,value:t.y??105,onChange:e=>a(n,{y:Number(e.target.value||0)})})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Größe`}),(0,z.jsx)(`input`,{type:`number`,min:`8`,max:`80`,value:t.fontSize??13,onChange:e=>a(n,{fontSize:Number(e.target.value||13)})})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Nachkommastellen`}),(0,z.jsx)(`input`,{type:`number`,min:`0`,max:`8`,value:t.decimals??1,onChange:e=>a(n,{decimals:Math.max(0,Math.min(8,Number(e.target.value||0)))})})]})]}),(0,z.jsx)(`button`,{type:`button`,className:`mini-btn danger`,onClick:()=>s(n),children:`Wert löschen`})]},n)),(0,z.jsx)(`button`,{type:`button`,className:`btn small`,onClick:o,children:`+ Wert hinzufügen`})]})}function fr({selected:e,onChange:t,disabled:n=!1}){let r=e?.style_json||{};if(!e||e.element_type!==`value`||![`scale_bar`,`dial_gauge`].includes(r.kind))return null;let i=Array.isArray(r.ranges)?r.ranges:[];function a(n){t({...e,style_json:{...r,...n}})}function o(e,t){let n=[...i];n[e]={...n[e],...t},a({ranges:n})}function s(){a({ranges:[...i,{from:Number(r.min??0),to:Number(r.max??100),color:`#22c55e`}]})}function c(e){let t=[...i];t.splice(e,1),a({ranges:t})}return(0,z.jsxs)(`div`,{className:`instrument-editor`,children:[r.kind===`scale_bar`&&(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Ausrichtung`}),(0,z.jsxs)(`select`,{disabled:n,value:r.orientation||`horizontal`,onChange:e=>a({orientation:e.target.value}),children:[(0,z.jsx)(`option`,{value:`horizontal`,children:`Horizontal`}),(0,z.jsx)(`option`,{value:`vertical`,children:`Vertikal`})]})]}),(0,z.jsxs)(`label`,{className:`check-line`,children:[(0,z.jsx)(`input`,{disabled:n,type:`checkbox`,checked:!!r.fillEnabled,onChange:e=>a({fillEnabled:e.target.checked})}),r.kind===`dial_gauge`?`Füllbogen für aktuellen Wert anzeigen`:`Füllbalken für aktuellen Wert anzeigen`]}),r.fillEnabled&&(0,z.jsx)(In,{label:r.kind===`dial_gauge`?`Füllbogenfarbe`:`Füllbalkenfarbe`,value:r.fillColor||`#38bdf8`,onChange:e=>a({fillColor:e})}),(0,z.jsxs)(`div`,{className:`prop-grid-2`,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Minimum`}),(0,z.jsx)(`input`,{disabled:n,type:`number`,value:Number(r.min??0),onChange:e=>a({min:Number(e.target.value||0)})})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Maximum`}),(0,z.jsx)(`input`,{disabled:n,type:`number`,value:Number(r.max??100),onChange:e=>a({max:Number(e.target.value||100)})})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Hauptstriche alle`}),(0,z.jsx)(`input`,{disabled:n,type:`number`,min:`0.001`,step:`any`,value:Number(r.majorStep??20),onChange:e=>a({majorStep:Math.max(.001,Number(e.target.value||20))})})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Unterteilungen`}),(0,z.jsx)(`input`,{disabled:n,type:`number`,min:`0`,max:`20`,value:Number(r.minorDivisions??4),onChange:e=>a({minorDivisions:Math.max(0,Number(e.target.value||0))})})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Nachkommastellen`}),(0,z.jsx)(`input`,{disabled:n,type:`number`,min:`0`,max:`8`,value:Number(r.decimals??1),onChange:e=>a({decimals:Math.max(0,Math.min(8,Number(e.target.value||0)))})})]})]}),(0,z.jsxs)(`div`,{className:`prop-grid-2`,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Zahlen anzeigen`}),(0,z.jsxs)(`select`,{disabled:n,value:r.labelMode||`all`,onChange:e=>a({labelMode:e.target.value}),children:[(0,z.jsx)(`option`,{value:`all`,children:`Alle Hauptwerte`}),(0,z.jsx)(`option`,{value:`ends`,children:`Nur Anfang / Ende`}),(0,z.jsx)(`option`,{value:`none`,children:`Ausblenden`})]})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Zahlengröße`}),(0,z.jsx)(`input`,{disabled:n,type:`number`,min:`8`,max:`48`,value:Number(r.labelFontSize??12),onChange:e=>a({labelFontSize:Number(e.target.value||12)})})]})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsxs)(`label`,{children:[`Zahlenposition: `,Number(r.labelOffset??0),` (außen + / innen -)`]}),(0,z.jsx)(`input`,{disabled:n,type:`range`,min:`-90`,max:`48`,value:Number(r.labelOffset??0),onChange:e=>a({labelOffset:Number(e.target.value)})})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Zeigerform`}),r.kind===`scale_bar`?(0,z.jsxs)(`select`,{disabled:n,value:r.pointerStyle||`triangle`,onChange:e=>a({pointerStyle:e.target.value}),children:[(0,z.jsx)(`option`,{value:`triangle`,children:`Dreieck`}),(0,z.jsx)(`option`,{value:`line`,children:`Markierungslinie`}),(0,z.jsx)(`option`,{value:`diamond`,children:`Raute`})]}):(0,z.jsxs)(`select`,{disabled:n,value:r.pointerStyle||`needle`,onChange:e=>a({pointerStyle:e.target.value}),children:[(0,z.jsx)(`option`,{value:`needle`,children:`Standardzeiger`}),(0,z.jsx)(`option`,{value:`slim`,children:`Dünner Zeiger`}),(0,z.jsx)(`option`,{value:`wedge`,children:`Breiter Zeiger`})]})]}),(0,z.jsxs)(`div`,{className:`prop-grid-2 instrument-colors`,children:[(0,z.jsx)(In,{label:`Skalen-Hintergrund`,value:r.barColor||`#334155`,onChange:e=>a({barColor:e})}),(0,z.jsx)(In,{label:r.kind===`dial_gauge`?`Zeiger`:`Wertzeiger`,value:r.needleColor||`#f8fafc`,onChange:e=>a({needleColor:e})})]}),(0,z.jsxs)(`div`,{className:`instrument-ranges`,children:[(0,z.jsx)(`div`,{className:`small-title`,children:`Farbbereiche der Skala`}),i.map((e,t)=>(0,z.jsxs)(`div`,{className:`instrument-range-row`,children:[(0,z.jsx)(`input`,{disabled:n,type:`number`,value:Number(e.from??0),onChange:e=>o(t,{from:Number(e.target.value||0)}),"aria-label":`Von`}),(0,z.jsx)(`input`,{disabled:n,type:`number`,value:Number(e.to??0),onChange:e=>o(t,{to:Number(e.target.value||0)}),"aria-label":`Bis`}),(0,z.jsx)(`input`,{disabled:n,type:`color`,value:e.color||`#22c55e`,onChange:e=>o(t,{color:e.target.value}),"aria-label":`Farbe`}),(0,z.jsx)(`button`,{disabled:n,className:`mini-btn danger`,type:`button`,onClick:()=>c(t),"aria-label":`Bereich löschen`,children:`×`})]},t)),(0,z.jsx)(`button`,{disabled:n,type:`button`,className:`btn small`,onClick:s,children:`+ Farbbereich`})]})]})}function pr(e){return e?[`influx`,e.database||``,e.measurement||``,e.tag_key||``,e.tag_value||``].join(`|`):``}function mr(e){return String(e?.measurement||``).trim()}function hr({selected:e,page:t,onChange:n,disabled:r=!1}){let i=e?.style_json||{},a=Array.isArray(i.series)?i.series:[],[o,s]=(0,_.useState)([]),[c,l]=(0,_.useState)(a[0]?.database||``),[u,d]=(0,_.useState)([]),[f,p]=(0,_.useState)(``),[m,h]=(0,_.useState)(a[0]?.measurement||``),[g,v]=(0,_.useState)(!1),[y,b]=(0,_.useState)(``);if((0,_.useEffect)(()=>{let e=!0;return v(!0),b(``),H(`trend_sources`,{database:c}).then(t=>{e&&(s(t.databases||[]),l(e=>e||t.selected_database||t.databases?.[0]||``),d(t.points||[]))}).catch(t=>{e&&b(t.message)}).finally(()=>{e&&v(!1)}),()=>{e=!1}},[c]),(0,_.useEffect)(()=>{m&&(u.some(e=>mr(e)===m)||h(``))},[m,u]),!e||e.element_type!==`value`||i.kind!==`trend_chart`)return null;function x(t){n({...e,style_json:{...i,...t}})}function S(e,t){let n=[...a];n[e]={...n[e],...t},x({series:n})}function C(e=null){let t=e||E[0],n=[`#38bdf8`,`#f97316`,`#22c55e`,`#a78bfa`,`#f43f5e`,`#eab308`];if(!t){x({series:[...a,{id:`trend-${Date.now()}`,label:`Trend ${a.length+1}`,color:n[a.length%n.length],lineWidth:Number(i.lineWidth??3),fillEnabled:!1,fillOpacity:Number(i.fillOpacity??.18)}]});return}x({series:[...a,{id:`trend-${Date.now()}`,database:t.database,measurement:t.measurement,tag_key:t.tag_key,tag_value:t.tag_value,label:t.tag_value||t.label||`Trend ${a.length+1}`,color:n[a.length%n.length],lineWidth:Number(i.lineWidth??3),fillEnabled:!1,fillOpacity:Number(i.fillOpacity??.18)}]})}function w(e){x({series:a.filter((t,n)=>n!==e)})}function T(e,t){let n=u.find(e=>pr(e)===t);n&&S(e,{database:n.database,measurement:n.measurement,tag_key:n.tag_key,tag_value:n.tag_value,label:a[e]?.label||n.tag_value||n.label})}let E=u.filter(e=>{let t=`${e.measurement} ${e.tag_key} ${e.tag_value} ${e.label}`.toLowerCase(),n=!f.trim()||t.includes(f.trim().toLowerCase()),r=!m||mr(e)===m;return n&&r}),D=Array.from(new Set(u.map(mr).filter(Boolean))).sort((e,t)=>e.localeCompare(t,`de`,{numeric:!0,sensitivity:`base`}));return(0,z.jsxs)(`div`,{className:`trend-editor`,children:[(0,z.jsxs)(`div`,{className:`prop-grid-2`,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Influx DB`}),(0,z.jsxs)(`select`,{disabled:r||g,value:c,onChange:e=>l(e.target.value),children:[(0,z.jsx)(`option`,{value:``,children:`DB waehlen`}),o.map(e=>(0,z.jsx)(`option`,{value:e,children:e},e))]})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Datenpunkt suchen`}),(0,z.jsx)(`input`,{disabled:r,value:f,onChange:e=>p(e.target.value),placeholder:`Measurement, Tag, Wert...`})]})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Measurement / FROM`}),(0,z.jsxs)(`select`,{disabled:r||g,value:m,onChange:e=>h(e.target.value),children:[(0,z.jsx)(`option`,{value:``,children:`Alle Measurements`}),D.map(e=>(0,z.jsx)(`option`,{value:e,children:e},e))]})]}),y&&(0,z.jsx)(`div`,{className:`error-box small`,children:y}),g&&(0,z.jsx)(`div`,{className:`small-muted`,children:`Influx-Datenpunkte werden geladen...`}),(0,z.jsxs)(`div`,{className:`prop-grid-2`,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Zeitbereich`}),(0,z.jsxs)(`select`,{disabled:r,value:i.range||`24h`,onChange:e=>x({range:e.target.value}),children:[(0,z.jsx)(`option`,{value:`15m`,children:`15 Minuten`}),(0,z.jsx)(`option`,{value:`1h`,children:`1 Stunde`}),(0,z.jsx)(`option`,{value:`6h`,children:`6 Stunden`}),(0,z.jsx)(`option`,{value:`12h`,children:`12 Stunden`}),(0,z.jsx)(`option`,{value:`24h`,children:`24 Stunden`}),(0,z.jsx)(`option`,{value:`7d`,children:`7 Tage`}),(0,z.jsx)(`option`,{value:`30d`,children:`30 Tage`}),(0,z.jsx)(`option`,{value:`90d`,children:`90 Tage`}),(0,z.jsx)(`option`,{value:`180d`,children:`6 Monate`})]})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Intervall`}),(0,z.jsxs)(`select`,{disabled:r,value:i.interval||`auto`,onChange:e=>x({interval:e.target.value}),children:[(0,z.jsx)(`option`,{value:`auto`,children:`Auto`}),(0,z.jsx)(`option`,{value:`10s`,children:`10 Sekunden`}),(0,z.jsx)(`option`,{value:`30s`,children:`30 Sekunden`}),(0,z.jsx)(`option`,{value:`1m`,children:`1 Minute`}),(0,z.jsx)(`option`,{value:`5m`,children:`5 Minuten`}),(0,z.jsx)(`option`,{value:`10m`,children:`10 Minuten`}),(0,z.jsx)(`option`,{value:`15m`,children:`15 Minuten`}),(0,z.jsx)(`option`,{value:`30m`,children:`30 Minuten`}),(0,z.jsx)(`option`,{value:`1h`,children:`1 Stunde`}),(0,z.jsx)(`option`,{value:`6h`,children:`6 Stunden`}),(0,z.jsx)(`option`,{value:`12h`,children:`12 Stunden`}),(0,z.jsx)(`option`,{value:`1d`,children:`1 Tag`})]})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Aggregation`}),(0,z.jsxs)(`select`,{disabled:r,value:i.aggregate||`mean`,onChange:e=>x({aggregate:e.target.value}),children:[(0,z.jsx)(`option`,{value:`mean`,children:`Mittelwert`}),(0,z.jsx)(`option`,{value:`last`,children:`Letzter Wert`}),(0,z.jsx)(`option`,{value:`min`,children:`Minimum`}),(0,z.jsx)(`option`,{value:`max`,children:`Maximum`})]})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Aktualisierung (s)`}),(0,z.jsx)(`input`,{disabled:r,type:`number`,min:`0`,value:Number(i.refreshSeconds??60),onChange:e=>x({refreshSeconds:Math.max(0,Number(e.target.value||0))})})]})]}),(0,z.jsxs)(`div`,{className:`prop-grid-2`,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Trend-Art`}),(0,z.jsxs)(`select`,{disabled:r,value:i.displayMode||`line`,onChange:e=>x({displayMode:e.target.value}),children:[(0,z.jsx)(`option`,{value:`line`,children:`Linie`}),(0,z.jsx)(`option`,{value:`digital_bar`,children:`Liegende Digital-Balken`}),(0,z.jsx)(`option`,{value:`vertical_bar`,children:`Stehende Balken`}),(0,z.jsx)(`option`,{value:`donut`,children:`Donut / Kuchen`})]})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Linieninterpolation`}),(0,z.jsxs)(`select`,{disabled:r||(i.displayMode||`line`)!==`line`,value:i.interpolation||`linear`,onChange:e=>x({interpolation:e.target.value}),children:[(0,z.jsx)(`option`,{value:`linear`,children:`Gerade`}),(0,z.jsx)(`option`,{value:`smooth`,children:`Verrundet`}),(0,z.jsx)(`option`,{value:`step`,children:`Stufe`})]})]})]}),(0,z.jsxs)(`label`,{className:`check-line`,children:[(0,z.jsx)(`input`,{disabled:r,type:`checkbox`,checked:i.showLegend!==!1,onChange:e=>x({showLegend:e.target.checked})}),`Legende anzeigen`]}),(0,z.jsxs)(`label`,{className:`check-line`,children:[(0,z.jsx)(`input`,{disabled:r,type:`checkbox`,checked:i.connectNulls!==!1,onChange:e=>x({connectNulls:e.target.checked})}),`NULL-Werte verbinden`]}),(0,z.jsxs)(`div`,{className:`trend-series-list`,children:[(0,z.jsx)(`div`,{className:`small-title`,children:`Datenreihen`}),a.map((e,t)=>{let n=pr(e),a=u.some(e=>pr(e)===n);return(0,z.jsxs)(`div`,{className:`trend-series-row`,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Datenpunkt`}),(0,z.jsxs)(`select`,{disabled:r,value:n,onChange:e=>T(t,e.target.value),children:[!a&&n&&(0,z.jsxs)(`option`,{value:n,children:[e.measurement,` · `,e.tag_value]}),(0,z.jsx)(`option`,{value:``,children:`Datenpunkt waehlen`}),E.slice(0,400).map(e=>(0,z.jsxs)(`option`,{value:pr(e),children:[e.measurement,` · `,e.tag_value]},pr(e)))]})]}),(0,z.jsxs)(`div`,{className:`prop-grid-2`,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Name`}),(0,z.jsx)(`input`,{disabled:r,value:e.label||``,onChange:e=>S(t,{label:e.target.value})})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Farbe`}),(0,z.jsx)(`input`,{disabled:r,type:`color`,value:e.color||`#38bdf8`,onChange:e=>S(t,{color:e.target.value})})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Y-Achse`}),(0,z.jsxs)(`select`,{disabled:r,value:Number(e.yAxis||1),onChange:e=>S(t,{yAxis:Number(e.target.value||1)}),children:[(0,z.jsx)(`option`,{value:1,children:`Achse 1 links`}),(0,z.jsx)(`option`,{value:2,children:`Achse 2 rechts`}),(0,z.jsx)(`option`,{value:3,children:`Achse 3 rechts`}),(0,z.jsx)(`option`,{value:4,children:`Achse 4 rechts`})]})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Einheit`}),(0,z.jsx)(`input`,{disabled:r,value:e.unit||``,onChange:e=>S(t,{unit:e.target.value}),placeholder:`z.B. °C, bar, kW`})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Linienstarke`}),(0,z.jsx)(`input`,{disabled:r,type:`number`,min:`1`,max:`16`,value:Number(e.lineWidth??i.lineWidth??3),onChange:e=>S(t,{lineWidth:Math.max(1,Number(e.target.value||1))})})]}),(0,z.jsxs)(`label`,{className:`check-line`,children:[(0,z.jsx)(`input`,{disabled:r,type:`checkbox`,checked:!!e.fillEnabled,onChange:e=>S(t,{fillEnabled:e.target.checked})}),`Flaeche fuellen`]})]}),e.fillEnabled&&(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Fuellung Deckkraft`}),(0,z.jsx)(`input`,{disabled:r,type:`range`,min:`0`,max:`0.8`,step:`0.05`,value:Number(e.fillOpacity??i.fillOpacity??.18),onChange:e=>S(t,{fillOpacity:Number(e.target.value)})})]}),(0,z.jsxs)(`div`,{className:`rule-footer`,children:[(0,z.jsxs)(`span`,{children:[`Reihe `,t+1]}),(0,z.jsx)(`button`,{disabled:r,type:`button`,className:`mini-btn danger`,onClick:()=>w(t),children:`Entfernen`})]})]},e.id||t)}),a.length===0&&(0,z.jsx)(`div`,{className:`empty-mini`,children:`Noch keine Datenreihe im Graph.`}),(0,z.jsx)(`button`,{disabled:r,type:`button`,className:`btn small`,onClick:()=>C(),children:`+ Datenreihe hinzufuegen`})]}),(0,z.jsxs)(`div`,{className:`prop-grid-2`,children:[(0,z.jsx)(In,{label:`Hintergrund`,value:i.backgroundColor||`rgba(15, 23, 42, 0.46)`,onChange:e=>x({backgroundColor:e})}),(0,z.jsx)(In,{label:`Rahmen`,value:i.borderColor||`rgba(148, 163, 184, 0.42)`,onChange:e=>x({borderColor:e})})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Radius`}),(0,z.jsxs)(`div`,{className:`range-input-row`,children:[(0,z.jsx)(`input`,{disabled:r,type:`range`,min:`0`,max:`80`,value:Number(i.radius??14),onChange:e=>x({radius:Number(e.target.value||0)})}),(0,z.jsx)(`input`,{disabled:r,type:`number`,min:`0`,max:`80`,value:Number(i.radius??14),onChange:e=>x({radius:Number(e.target.value||0)})})]})]})]})}function gr({title:e,children:t,open:n=!1}){return(0,z.jsxs)(`details`,{className:`property-section`,open:n,children:[(0,z.jsx)(`summary`,{children:e}),(0,z.jsx)(`div`,{className:`property-section-body`,children:t})]})}function _r({page:e,selected:t,assets:n,pointEditElementId:r,onChange:i,onDelete:a,onBringFront:o,onSendBack:s,onZPlus:c,onZMinus:l,onStartPointEdit:u,onFinishPointEdit:d,disabled:f=!1}){if(!t)return(0,z.jsxs)(`aside`,{className:`properties`,children:[(0,z.jsx)(`h3`,{children:`Eigenschaften`}),(0,z.jsx)(`div`,{className:`empty-mini`,children:`Element auswählen.`})]});let p=t.style_json||{},m=t.element_type===`shape`,h=m&&p.subtype===`polyline`,g=t.element_type===`value`&&[`scale_bar`,`dial_gauge`].includes(p.kind),_=t.element_type===`value`&&p.kind===`trend_chart`,v=t.element_type===`value`&&p.kind===`sankey_chart`,y=r===t.id;function b(e,n){i({...t,[e]:n})}function x(e,n){i({...t,style_json:{...p,[e]:n}})}function S(e){i({...t,style_json:{...p,...e}})}function w(e){let t={subtype:e};e===`link`&&(t.textRules=[],t.linkMode=p.linkMode||`page`,t.linkPageId=p.linkPageId||``,t.linkUrl=p.linkUrl||``,t.linkTarget=p.linkTarget||`same_tab`,t.renderAsButton=!!p.renderAsButton,t.buttonShape=p.buttonShape||`rounded`,t.buttonRadius=Number(p.buttonRadius??16),t.buttonFill=p.buttonFill||`rgba(37, 99, 235, 0.78)`,t.buttonBorderColor=p.buttonBorderColor||`rgba(147, 197, 253, 0.72)`),e===`menu`&&(t.menuOrientation=p.menuOrientation||`vertical`,t.menuGap=Number(p.menuGap??8),t.menuButtonSize=Number(p.menuButtonSize??42),t.renderAsButton=p.renderAsButton??!0,t.buttonShape=p.buttonShape||`rounded`,t.buttonRadius=Number(p.buttonRadius??16),t.buttonFill=p.buttonFill||`rgba(37, 99, 235, 0.78)`,t.buttonBorderColor=p.buttonBorderColor||`rgba(147, 197, 253, 0.72)`,t.menuItems=tr(p.menuItems).length?tr(p.menuItems):[$n(`Link 1`),$n(`Link 2`)]),S(t)}let T=p.subtype||`text`,E=tr(p.menuItems);function D(e,t){let n=[...E];n[e]={...n[e],...t},x(`menuItems`,n)}function O(){x(`menuItems`,[...E,$n(`Link ${E.length+1}`)])}function ee(e){let t=E.filter((t,n)=>n!==e);x(`menuItems`,t.length?t:[$n(`Link 1`)])}function te(e){let n=t.w>0&&t.h>0?t.w/t.h:1;i({...t,style_json:{...p,aspectLocked:e,aspectRatio:n}})}function ne(e){let n=Math.max(1,Number(e||1));if(p.aspectLocked){let e=Number(p.aspectRatio||t.w/t.h||1);i({...t,w:n,h:Math.max(1,Math.round(n/e))});return}b(`w`,n)}function A(e){let n=Math.max(1,Number(e||1));if(p.aspectLocked){let e=Number(p.aspectRatio||t.w/t.h||1);i({...t,h:n,w:Math.max(1,Math.round(n*e))});return}b(`h`,n)}return(0,z.jsxs)(`aside`,{className:`properties`,children:[(0,z.jsx)(`h3`,{children:`Eigenschaften`}),(0,z.jsxs)(`div`,{className:`properties-scroll`,children:[(0,z.jsxs)(gr,{title:`Allgemein`,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Name`}),(0,z.jsx)(`input`,{disabled:f,value:t.name||``,onChange:e=>b(`name`,e.target.value)})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Label`}),(0,z.jsx)(`input`,{disabled:f,value:t.label||``,onChange:e=>b(`label`,e.target.value)})]})]}),t.element_type===`value`&&!_&&!v&&(0,z.jsxs)(gr,{title:`Wertzuordnung`,open:!0,children:[(0,z.jsx)(br,{page:e,onlyWritable:p.kind===`setpoint`,value:p.point?k(p.point):``,onChange:e=>{if(!e){i({...t,variable_id:``,style_json:{...p,point:null}});return}i({...t,variable_id:e.variable_id||``,label:t.label||e.raw_label||e.label||``,style_json:{...p,point:{type:e.type,external_id:e.external_id,variable_id:e.variable_id||``,point_key:e.point_key||``,point_label:e.label||``}}})}}),!g&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{className:`prop-grid-2`,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Kennung`}),(0,z.jsx)(`input`,{disabled:f,value:p.marker||``,onChange:e=>x(`marker`,e.target.value),placeholder:`T, P, F, SP`})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Kennung Farbe`}),(0,z.jsx)(`input`,{disabled:f,type:`color`,value:p.markerColor||p.color||`#f59e0b`,onChange:e=>x(`markerColor`,e.target.value)})]})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Nachkommastellen`}),(0,z.jsx)(`input`,{disabled:f,type:`number`,min:`0`,max:`8`,value:Number(p.decimals??1),onChange:e=>x(`decimals`,Math.max(0,Math.min(8,Number(e.target.value||0))))})]}),(0,z.jsxs)(`div`,{className:`prop-grid-2`,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Einheit`}),(0,z.jsxs)(`select`,{disabled:f,value:p.unitMode||`auto`,onChange:e=>x(`unitMode`,e.target.value),children:[(0,z.jsx)(`option`,{value:`auto`,children:`Aus Datenpunkt`}),(0,z.jsx)(`option`,{value:`custom`,children:`Eigene Einheit`}),(0,z.jsx)(`option`,{value:`hidden`,children:`Ausblenden`})]})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Eigene Einheit`}),(0,z.jsx)(`input`,{disabled:f||p.unitMode!==`custom`,value:p.unit||``,onChange:e=>x(`unit`,e.target.value),placeholder:`z.B. °C, bar`})]})]})]})]}),t.element_type===`value`&&!g&&!_&&!v&&(0,z.jsxs)(gr,{title:`Wert-Darstellung`,children:[(0,z.jsxs)(`label`,{className:`check-line`,children:[(0,z.jsx)(`input`,{disabled:f,type:`checkbox`,checked:p.showBorder!==!1,onChange:e=>x(`showBorder`,e.target.checked)}),`Rahmen anzeigen`]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Rahmenstärke`}),(0,z.jsx)(`input`,{disabled:f||p.showBorder===!1,type:`number`,min:`0`,max:`16`,value:Number(p.strokeWidth??3),onChange:e=>x(`strokeWidth`,Math.max(0,Math.min(16,Number(e.target.value||0))))})]}),(0,z.jsx)(Rn,{style:p,updateStyle:x,disabled:f}),(0,z.jsxs)(`div`,{className:`prop-grid-2`,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Kennung Größe`}),(0,z.jsx)(`input`,{disabled:f,type:`number`,min:`8`,max:`80`,value:Number(p.markerSize??34),onChange:e=>x(`markerSize`,Number(e.target.value||34))})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Kennung Schrift`}),(0,z.jsx)(`input`,{disabled:f,type:`number`,min:`6`,max:`48`,value:Number(p.markerFontSize??13),onChange:e=>x(`markerFontSize`,Number(e.target.value||13))})]})]}),(0,z.jsx)(In,{label:`Kennung Textfarbe`,value:p.markerTextColor||`#0f172a`,onChange:e=>x(`markerTextColor`,e)}),(0,z.jsxs)(`div`,{className:`prop-grid-2`,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Label Schriftgröße`}),(0,z.jsx)(`input`,{disabled:f,type:`number`,min:`6`,max:`48`,value:Number(p.labelFontSize??12),onChange:e=>x(`labelFontSize`,Number(e.target.value||12))})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Wert Schriftgröße`}),(0,z.jsx)(`input`,{disabled:f,type:`number`,min:`8`,max:`80`,value:Number(p.valueFontSize??20),onChange:e=>x(`valueFontSize`,Number(e.target.value||20))})]})]}),(0,z.jsx)(In,{label:`Label Textfarbe`,value:p.labelColor||`#cbd5e1`,onChange:e=>x(`labelColor`,e)}),(0,z.jsx)(In,{label:`Wert Textfarbe`,value:p.valueColor||`#ffffff`,onChange:e=>x(`valueColor`,e)})]}),t.element_type===`value`&&p.kind===`setpoint`&&(0,z.jsxs)(gr,{title:`Sollwert-Darstellung`,children:[(0,z.jsx)(Ln,{strokeColor:p.strokeColor||p.color||`#60a5fa`,fillColor:p.fillColor||`#082f49`,onStroke:e=>x(`strokeColor`,e),onFill:e=>x(`fillColor`,e)}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Hintergrund`}),(0,z.jsxs)(`select`,{disabled:f,value:p.fillMode||`linear`,onChange:e=>x(`fillMode`,e.target.value),children:[(0,z.jsx)(`option`,{value:`solid`,children:`Einfarbig`}),(0,z.jsx)(`option`,{value:`linear`,children:`Linearer Verlauf`}),(0,z.jsx)(`option`,{value:`radial`,children:`Radialer Verlauf`})]})]}),(p.fillMode||`linear`)!==`solid`&&(0,z.jsx)(In,{label:`Zweite Verlaufsfarbe`,value:p.gradientColor||`#2563eb`,onChange:e=>x(`gradientColor`,e)}),(p.fillMode||`linear`)===`linear`&&(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsxs)(`label`,{children:[`Verlaufsrichtung: `,Number(p.gradientAngle??110),`°`]}),(0,z.jsx)(`input`,{disabled:f,type:`range`,min:`0`,max:`360`,value:Number(p.gradientAngle??110),onChange:e=>x(`gradientAngle`,Number(e.target.value))})]})]}),g&&(0,z.jsx)(gr,{title:`Skala und Anzeige`,children:(0,z.jsx)(fr,{selected:t,onChange:i,disabled:f})}),_&&(0,z.jsx)(gr,{title:`Trenddaten`,open:!0,children:(0,z.jsx)(hr,{selected:t,page:e,onChange:i,disabled:f})}),v&&(0,z.jsx)(gr,{title:`Sankey-Daten`,open:!0,children:(0,z.jsx)(Mn,{selected:t,page:e,onChange:i,disabled:f})}),(0,z.jsxs)(gr,{title:`Position und Darstellung`,open:!g,children:[(0,z.jsxs)(`div`,{className:`prop-grid-2`,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`X`}),(0,z.jsx)(`input`,{disabled:f,type:`number`,value:Math.round(t.x),onChange:e=>b(`x`,Number(e.target.value||0))})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Y`}),(0,z.jsx)(`input`,{disabled:f,type:`number`,value:Math.round(t.y),onChange:e=>b(`y`,Number(e.target.value||0))})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Breite`}),(0,z.jsx)(`input`,{disabled:f,type:`number`,value:Math.round(t.w),onChange:e=>ne(e.target.value)})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Höhe`}),(0,z.jsx)(`input`,{disabled:f,type:`number`,value:Math.round(t.h),onChange:e=>A(e.target.value)})]})]}),t.element_type===`asset`&&(0,z.jsx)(`button`,{type:`button`,disabled:f,className:`btn small ${p.aspectLocked??!0?`primary`:``}`,onClick:()=>te(!(p.aspectLocked??!0)),title:`Seitenverhältnis verknüpfen`,children:p.aspectLocked??!0?`🔗 Verhältnis an`:`⛓️💥 Verhältnis aus`}),t.element_type===`text`&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Schriftgröße`}),(0,z.jsx)(`input`,{disabled:f,type:`number`,value:p.fontSize||20,onChange:e=>x(`fontSize`,Number(e.target.value||20))})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Schriftart`}),(0,z.jsx)(`select`,{disabled:f,value:p.fontFamily||C[0].value,onChange:e=>x(`fontFamily`,e.target.value),children:C.map(e=>(0,z.jsx)(`option`,{value:e.value,style:{fontFamily:e.value},children:e.label},e.value))})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Typ`}),(0,z.jsxs)(`select`,{disabled:f,value:T,onChange:e=>w(e.target.value),children:[(0,z.jsx)(`option`,{value:`text`,children:`Text`}),(0,z.jsx)(`option`,{value:`link`,children:`Link`}),(0,z.jsx)(`option`,{value:`menu`,children:`Menü`})]})]})]}),t.element_type===`text`&&[`link`,`menu`].includes(T)&&(0,z.jsxs)(`div`,{className:`attached-editor-row`,children:[(0,z.jsx)(`div`,{className:`small-title`,children:`Button-Darstellung`}),(0,z.jsxs)(`label`,{className:`check-line`,children:[(0,z.jsx)(`input`,{disabled:f,type:`checkbox`,checked:!!p.renderAsButton,onChange:e=>x(`renderAsButton`,e.target.checked)}),T===`menu`?`Links als Buttons darstellen`:`Als Button darstellen`]}),!!p.renderAsButton&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Form`}),(0,z.jsxs)(`select`,{disabled:f,value:p.buttonShape||`rounded`,onChange:e=>x(`buttonShape`,e.target.value),children:[(0,z.jsx)(`option`,{value:`rect`,children:`Rechteckig`}),(0,z.jsx)(`option`,{value:`rounded`,children:`Abgerundet`})]})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Radius`}),(0,z.jsxs)(`div`,{className:`range-input-row`,children:[(0,z.jsx)(`input`,{disabled:f||(p.buttonShape||`rounded`)===`rect`,type:`range`,min:`0`,max:`80`,value:Number(p.buttonRadius??16),onChange:e=>x(`buttonRadius`,Number(e.target.value||0))}),(0,z.jsx)(`input`,{disabled:f||(p.buttonShape||`rounded`)===`rect`,type:`number`,min:`0`,max:`80`,value:Number(p.buttonRadius??16),onChange:e=>x(`buttonRadius`,Number(e.target.value||0))})]})]}),T===`menu`&&(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:(p.menuOrientation||`vertical`)===`horizontal`?`Buttonbreite`:`Buttonhöhe`}),(0,z.jsx)(`input`,{disabled:f,type:`number`,min:`22`,max:`320`,value:Number(p.menuButtonSize??42),onChange:e=>x(`menuButtonSize`,Math.max(22,Number(e.target.value||22)))})]})]})]}),t.element_type===`text`&&(0,z.jsxs)(`div`,{className:`attached-editor-row`,children:[(0,z.jsx)(`div`,{className:`small-title`,children:`Rahmen und Füllung`}),(0,z.jsx)(Ln,{strokeColor:p.strokeColor||p.color||`#60a5fa`,fillColor:p.fillColor||`transparent`,onStroke:e=>x(`strokeColor`,e),onFill:e=>x(`fillColor`,e)}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Füllung`}),(0,z.jsxs)(`select`,{disabled:f,value:p.fillMode||`solid`,onChange:e=>x(`fillMode`,e.target.value),children:[(0,z.jsx)(`option`,{value:`solid`,children:`Einfarbig`}),(0,z.jsx)(`option`,{value:`linear`,children:`Linearer Verlauf`}),(0,z.jsx)(`option`,{value:`radial`,children:`Radialer Verlauf`})]})]}),(p.fillMode===`linear`||p.fillMode===`radial`)&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(In,{label:`Zweite Verlaufsfarbe`,value:p.gradientColor||`#1d4ed8`,onChange:e=>x(`gradientColor`,e)}),(0,z.jsx)(cr,{value:p.gradientOrigin||`center`,disabled:f,onChange:e=>x(`gradientOrigin`,e)})]}),p.fillMode===`linear`&&(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsxs)(`label`,{children:[`Verlaufsrichtung: `,Number(p.gradientAngle||0),`°`]}),(0,z.jsx)(`input`,{disabled:f,type:`range`,min:`0`,max:`360`,value:Number(p.gradientAngle||0),onChange:e=>x(`gradientAngle`,Number(e.target.value))})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Linienstärke`}),(0,z.jsx)(`input`,{disabled:f,type:`number`,value:Number(p.strokeWidth??0),onChange:e=>x(`strokeWidth`,Number(e.target.value||0))})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Radius`}),(0,z.jsxs)(`div`,{className:`range-input-row`,children:[(0,z.jsx)(`input`,{disabled:f,type:`range`,min:`0`,max:`200`,value:Number(p.radius||0),onChange:e=>x(`radius`,Number(e.target.value||0))}),(0,z.jsx)(`input`,{disabled:f,type:`number`,min:`0`,max:`200`,value:Number(p.radius||0),onChange:e=>x(`radius`,Number(e.target.value||0))})]})]})]})]}),(0,z.jsxs)(gr,{title:`Ebene`,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Z-Ebene`}),(0,z.jsx)(`input`,{disabled:f,type:`number`,value:t.z_index||10,onChange:e=>b(`z_index`,Number(e.target.value||10))})]}),(0,z.jsxs)(`div`,{className:`z-buttons`,children:[(0,z.jsx)(`button`,{disabled:f,type:`button`,className:`btn small`,onClick:()=>o(t.id),children:`Ganz vorne`}),(0,z.jsx)(`button`,{disabled:f,type:`button`,className:`btn small`,onClick:()=>s(t.id),children:`Ganz hinten`}),(0,z.jsx)(`button`,{disabled:f,type:`button`,className:`btn small`,onClick:()=>c(t.id),children:`+1`}),(0,z.jsx)(`button`,{disabled:f,type:`button`,className:`btn small`,onClick:()=>l(t.id),children:`-1`})]})]}),(0,z.jsxs)(gr,{title:`Rotation und Deckkraft`,open:!g,children:[!h&&(0,z.jsxs)(`div`,{className:`rotation-editor`,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Drehung`}),(0,z.jsxs)(`div`,{className:`rotation-input-row`,children:[(0,z.jsx)(`input`,{disabled:f,type:`number`,value:Number(t.rotation||0),onChange:e=>b(`rotation`,Number(e.target.value||0))}),(0,z.jsx)(`span`,{children:`°`})]}),(0,z.jsx)(`input`,{disabled:f,type:`range`,min:`-180`,max:`180`,value:t.rotation||0,onChange:e=>b(`rotation`,Number(e.target.value))})]}),(0,z.jsx)(`div`,{className:`rotation-jumps`,children:[-180,-90,-45,45,90,180].map(e=>(0,z.jsxs)(`button`,{disabled:f,type:`button`,className:`btn small`,onClick:()=>b(`rotation`,Number(t.rotation||0)+e),children:[e>0?`+`:``,e,`°`]},e))})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsxs)(`label`,{children:[`Deckkraft: `,Math.round((t.opacity??1)*100),`%`]}),(0,z.jsx)(`input`,{disabled:f,type:`range`,min:`0`,max:`1`,step:`0.05`,value:t.opacity??1,onChange:e=>b(`opacity`,Number(e.target.value))})]})]}),m&&(0,z.jsxs)(gr,{title:`Form und Füllung`,children:[(0,z.jsx)(Ln,{strokeColor:p.strokeColor||p.color||`#60a5fa`,fillColor:p.fillColor||`#000000`,onStroke:e=>x(`strokeColor`,e),onFill:e=>x(`fillColor`,e)}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Füllung`}),(0,z.jsxs)(`select`,{disabled:f,value:p.fillMode||`solid`,onChange:e=>x(`fillMode`,e.target.value),children:[(0,z.jsx)(`option`,{value:`solid`,children:`Einfarbig`}),(0,z.jsx)(`option`,{value:`linear`,children:`Linearer Verlauf`}),(0,z.jsx)(`option`,{value:`radial`,children:`Radialer Verlauf`})]})]}),(p.fillMode===`linear`||p.fillMode===`radial`)&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(In,{label:`Zweite Verlaufsfarbe`,value:p.gradientColor||`#1d4ed8`,onChange:e=>x(`gradientColor`,e)}),(0,z.jsx)(cr,{value:p.gradientOrigin||`center`,disabled:f,onChange:e=>x(`gradientOrigin`,e)})]}),p.fillMode===`linear`&&(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsxs)(`label`,{children:[`Verlaufsrichtung: `,Number(p.gradientAngle||0),`°`]}),(0,z.jsx)(`input`,{disabled:f,type:`range`,min:`0`,max:`360`,value:Number(p.gradientAngle||0),onChange:e=>x(`gradientAngle`,Number(e.target.value))})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Linienstärke`}),(0,z.jsx)(`input`,{disabled:f,type:`number`,value:p.strokeWidth||4,onChange:e=>x(`strokeWidth`,Number(e.target.value||1))})]}),p.subtype===`rect`&&(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Radius`}),(0,z.jsxs)(`div`,{className:`range-input-row`,children:[(0,z.jsx)(`input`,{disabled:f,type:`range`,min:`0`,max:`200`,value:Number(p.radius||0),onChange:e=>x(`radius`,Number(e.target.value||0))}),(0,z.jsx)(`input`,{disabled:f,type:`number`,min:`0`,max:`200`,value:Number(p.radius||0),onChange:e=>x(`radius`,Number(e.target.value||0))})]})]}),h&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`label`,{className:`check-line`,children:[(0,z.jsx)(`input`,{disabled:f,type:`checkbox`,checked:!!p.fillClosed,onChange:e=>x(`fillClosed`,e.target.checked)}),`Fläche schließen und füllen`]}),y?(0,z.jsx)(`button`,{type:`button`,className:`btn small primary`,onClick:d,children:`✓ Punkte übernehmen`}):(0,z.jsx)(`button`,{disabled:f,type:`button`,className:`btn small`,onClick:()=>u(t.id),children:`?? Punkte bearbeiten`})]})]}),m&&p.subtype===`polygon`&&(0,z.jsx)(gr,{title:`Punkte`,open:!0,children:y?(0,z.jsx)(`button`,{type:`button`,className:`btn small primary`,onClick:d,children:`Punkte übernehmen`}):(0,z.jsx)(`button`,{disabled:f,type:`button`,className:`btn small`,onClick:()=>u(t.id),children:`Punkte bearbeiten`})}),m&&(0,z.jsxs)(gr,{title:`Dynamik und Regeln`,children:[(0,z.jsx)(ir,{page:e,selected:t,onChange:i,disabled:f}),(0,z.jsx)(ur,{page:e,selected:t,onChange:i,disabled:f}),(0,z.jsx)(Zn,{page:e,selected:t,onChange:i,disabled:f})]}),t.element_type===`text`&&(0,z.jsxs)(gr,{title:`Text und Zustände`,open:!0,children:[(0,z.jsx)(In,{label:`Textfarbe`,value:p.color||`#ffffff`,onChange:e=>x(`color`,e)}),(0,z.jsx)(ir,{page:e,selected:t,onChange:i,disabled:f}),T===`link`&&(0,z.jsx)(z.Fragment,{children:(0,z.jsxs)(`div`,{className:`attached-editor-row`,children:[(0,z.jsx)(`div`,{className:`small-title`,children:`Linkziel`}),(0,z.jsx)(rr,{value:p,onChange:e=>S(e),disabled:f})]})}),T===`menu`&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{className:`prop-grid-2`,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Anordnung`}),(0,z.jsxs)(`select`,{disabled:f,value:p.menuOrientation||`vertical`,onChange:e=>x(`menuOrientation`,e.target.value),children:[(0,z.jsx)(`option`,{value:`vertical`,children:`Vertikal`}),(0,z.jsx)(`option`,{value:`horizontal`,children:`Horizontal`})]})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Abstand`}),(0,z.jsx)(`input`,{disabled:f,type:`number`,min:`0`,value:Number(p.menuGap??8),onChange:e=>x(`menuGap`,Math.max(0,Number(e.target.value||0)))})]})]}),(0,z.jsxs)(`div`,{className:`attached-editor`,children:[(0,z.jsx)(`div`,{className:`small-title`,children:`Menülinks`}),E.map((e,t)=>(0,z.jsxs)(`div`,{className:`attached-editor-row`,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Bezeichnung`}),(0,z.jsx)(`input`,{disabled:f,value:e.label||``,onChange:e=>D(t,{label:e.target.value}),placeholder:`Link ${t+1}`})]}),(0,z.jsx)(rr,{value:e,onChange:e=>D(t,e),disabled:f}),(0,z.jsxs)(`div`,{className:`rule-footer`,children:[(0,z.jsxs)(`span`,{children:[`Eintrag `,t+1]}),(0,z.jsx)(`button`,{disabled:f,type:`button`,className:`mini-btn danger`,onClick:()=>ee(t),children:`Entfernen`})]})]},e.id||t)),(0,z.jsx)(`button`,{disabled:f,type:`button`,className:`btn small`,onClick:O,children:`+ Menülink hinzufügen`})]})]}),T===`text`&&(0,z.jsx)(ar,{page:e,selected:t,onChange:i,disabled:f})]}),t.element_type===`asset`&&(0,z.jsxs)(gr,{title:`Symbolzustände und Werte`,children:[(0,z.jsx)(ir,{page:e,selected:t,onChange:i,disabled:f}),(0,z.jsx)(dr,{page:e,selected:t,onChange:i}),(0,z.jsx)(Xn,{page:e,selected:t,assets:n,onChange:i})]})]}),(0,z.jsx)(`div`,{className:`properties-footer`,children:(0,z.jsx)(`button`,{disabled:f,type:`button`,className:`btn small danger`,onClick:()=>a(t.id),children:`Löschen`})})]})}function vr({placeholders:e=[],value:t,onChange:n}){let r=Array.isArray(e)?e:[];function i(e){let t=String(e||``).split(`|`).pop(),i=r.find(e=>e.key===t);if(!i){n(null);return}n({type:`placeholder`,variable_type:`placeholder`,external_id:``,variable_id:``,point_key:i.key,point_label:i.label||i.key,label:i.label||i.key,source_key:`placeholder|||${i.key}`})}return(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Platzhalter`}),(0,z.jsxs)(`select`,{className:`form-input`,value:t||``,onChange:e=>i(e.target.value),children:[(0,z.jsx)(`option`,{value:``,children:`Platzhalter wählen…`}),r.map(e=>(0,z.jsx)(`option`,{value:`placeholder|||${e.key}`,children:e.label||e.key},e.key))]}),r.length===0&&(0,z.jsx)(`div`,{className:`small-muted`,children:`Noch keine Platzhalter im Template.`})]})}function yr({page:e,onChange:t,onDirty:n,disabled:r=!1}){let[i,a]=(0,_.useState)(``);if(!e?.is_template)return null;let o=Array.isArray(e.template_placeholders)?e.template_placeholders:[];function s(e){return String(e||``).trim().toLowerCase().replace(/[^a-z0-9_]+/g,`_`).replace(/^_+|_+$/g,``)}function c(r){t({...e,template_placeholders:r}),n?.()}function l(){let e=i.trim(),t=s(e)||`platzhalter_${o.length+1}`,n=t,r=2;for(;o.some(e=>e.key===n);)n=`${t}_${r}`,r+=1;c([...o,{key:n,label:e||n,type:`analog`}]),a(``)}function u(e,t){c(o.map((n,r)=>r===e?{...n,...t}:n))}function d(e){c(o.filter((t,n)=>n!==e))}return(0,z.jsxs)(`details`,{className:`property-section toolbox-section`,open:!0,children:[(0,z.jsx)(`summary`,{children:`Platzhalter`}),(0,z.jsxs)(`div`,{className:`property-section-body toolbox-section-body`,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Neuer Platzhalter`}),(0,z.jsx)(`input`,{disabled:r,value:i,onChange:e=>a(e.target.value),placeholder:`z.B. Vorlauf Temperatur`})]}),(0,z.jsx)(`button`,{disabled:r||!i.trim(),type:`button`,className:`btn small`,onClick:l,children:`+ Platzhalter`}),o.map((e,t)=>(0,z.jsxs)(`div`,{className:`attached-editor-row`,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Name`}),(0,z.jsx)(`input`,{disabled:r,value:e.label||``,onChange:e=>u(t,{label:e.target.value})})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Schlüssel`}),(0,z.jsx)(`input`,{disabled:!0,value:e.key||``})]}),(0,z.jsx)(`button`,{disabled:r,type:`button`,className:`mini-btn danger`,onClick:()=>d(t),children:`Entfernen`})]},e.key||t))]})]})}function br({page:e,value:t,onChange:n,onlyWritable:r=!1}){return e?.is_template?(0,z.jsx)(vr,{placeholders:e.template_placeholders||[],value:t,onChange:n}):(0,z.jsx)(Fn,{projectId:e?.project_id,onlyWritable:r,value:t,onChange:n})}function xr(e,t=``){let n=String(e??``);return{type:`static`,variable_type:`static`,external_id:``,variable_id:``,point_key:``,point_label:`Fester Wert ${n}`,label:`Fester Wert ${n}`,static_value:n,value:n,value_formatted:n,templatePlaceholderKey:t,source_key:`static||||${n}`}}function Sr({page:e,placeholderKey:t,value:n,onChange:r}){let i=(n?.type||n?.variable_type)===`static`,[a,o]=(0,_.useState)(i?`static`:`point`);(0,_.useEffect)(()=>{o(i?`static`:`point`)},[i]);function s(e){o(e),e===`static`&&r(xr(n?.static_value??n?.value??``,t))}return(0,z.jsxs)(`div`,{className:`template-binding-field`,children:[(0,z.jsxs)(`div`,{className:`segmented tiny`,children:[(0,z.jsx)(`button`,{type:`button`,className:a===`point`?`active`:``,onClick:()=>s(`point`),children:`Datenpunkt`}),(0,z.jsx)(`button`,{type:`button`,className:a===`static`?`active`:``,onClick:()=>s(`static`),children:`Fester Wert`})]}),a===`static`?(0,z.jsxs)(`div`,{className:`field compact-field`,children:[(0,z.jsx)(`label`,{children:`Fester Wert`}),(0,z.jsx)(`input`,{className:`form-input`,value:n?.static_value??n?.value??``,onChange:e=>r(xr(e.target.value,t)),placeholder:`z.B. 1 oder 0`})]}):(0,z.jsx)(br,{page:e,value:n&&!i?k(n):``,onChange:r})]})}function Cr(e,t=``){if(!e)return null;if((e.type||e.variable_type)===`static`){let n=e.static_value??e.value??``;return{type:`static`,variable_type:`static`,external_id:``,variable_id:``,point_key:``,point_label:e.point_label||e.label||`Fester Wert ${n}`,label:e.label||e.point_label||`Fester Wert ${n}`,static_value:n,value:n,value_formatted:String(n),templatePlaceholderKey:t}}return{type:e.type||e.variable_type||``,variable_type:e.type||e.variable_type||``,external_id:e.external_id||``,variable_id:e.variable_id||``,point_key:e.point_key||``,point_label:e.point_label||e.label||``,label:e.label||e.point_label||``,templatePlaceholderKey:t}}function wr(e={}){let t={};return Object.entries(e||{}).forEach(([e,n])=>{let r=Cr(n,e);r&&(t[e]=r)}),t}function Tr(e){return!!(e&&typeof e==`object`&&!Array.isArray(e)&&(e.variable_type===`placeholder`||e.type===`placeholder`)&&e.point_key)}function Er(e,t){if(Array.isArray(e))return e.map(e=>Er(e,t));if(!e||typeof e!=`object`)return e;let n={};if(Object.entries(e).forEach(([e,r])=>{n[e]=Er(r,t)}),Tr(e)){let r=Cr(t[e.point_key],e.point_key);return r?{...n,...r}:{...n,templatePlaceholderKey:e.point_key}}return n}function Dr(e,t){if(Array.isArray(e))return e.map(e=>Dr(e,t));if(!e||typeof e!=`object`)return e;let n={};Object.entries(e).forEach(([e,r])=>{n[e]=Dr(r,t)});let r=e.templatePlaceholderKey;return r&&t[r]?{...n,...Cr(t[r],r)}:n}function Or(e,t={}){if(Array.isArray(e))return e.forEach(e=>Or(e,t)),t;if(!e||typeof e!=`object`)return t;let n=e.style_json?.templateBindings;return n&&typeof n==`object`&&!Array.isArray(n)&&Object.entries(n).forEach(([e,n])=>{n&&!t[e]&&(t[e]=Cr(n,e))}),e.templatePlaceholderKey&&!t[e.templatePlaceholderKey]&&(t[e.templatePlaceholderKey]=Cr(e,e.templatePlaceholderKey)),Object.values(e).forEach(e=>Or(e,t)),t}function kr(e={}){let{templateGroupId:t,templateSourceId:n,templateElementId:r,templateName:i,templatePlaceholders:a,templateBindings:o,...s}=e||{};return s}function Ar(e){let t=new Set;return(e||[]).map(e=>{let n=ee(e),r=b();for(;t.has(r);)r=b();return t.add(r),{...n,id:r,style_json:kr(n.style_json)}})}function jr({open:e,page:t,onClose:n,onInsert:r}){let[i,a]=(0,_.useState)([]),[o,s]=(0,_.useState)(``),[c,l]=(0,_.useState)(null),[u,d]=(0,_.useState)({}),[f,p]=(0,_.useState)(!1),[m,h]=(0,_.useState)(``);if((0,_.useEffect)(()=>{e&&(h(``),p(!0),H(`templates`).then(e=>{let t=e.templates||[];a(t),s(e=>e||String(t[0]?.id||``))}).catch(e=>h(e.message)).finally(()=>p(!1)))},[e]),(0,_.useEffect)(()=>{if(!e||!o){l(null),d({});return}h(``),p(!0),H(`template`,{id:o}).then(e=>{l(e),d({})}).catch(e=>h(e.message)).finally(()=>p(!1))},[e,o]),!e)return null;let g=c?.placeholders||[],v=c?.elements||[];function y(e,t){d(n=>({...n,[e]:t}))}function b(){r(v,u,{id:c?.template?.id||o,name:c?.template?.name||`Template`,placeholders:g}),n()}return(0,tt.createPortal)((0,z.jsx)(`div`,{className:`modal-backdrop`,onPointerDown:n,children:(0,z.jsxs)(`div`,{className:`asset-modal dashboard-widget-modal`,onPointerDown:e=>e.stopPropagation(),children:[(0,z.jsxs)(`div`,{className:`modal-head`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`div`,{className:`eyebrow`,children:`Template`}),(0,z.jsx)(`h2`,{children:`Template laden`}),(0,z.jsx)(`p`,{className:`subline`,children:`Platzhalter werden beim Einfuegen mit echten Projektwerten verknuepft.`})]}),(0,z.jsx)(`button`,{type:`button`,className:`icon-close`,onClick:n,children:`x`})]}),m&&(0,z.jsx)(`div`,{className:`error-box small`,children:m}),(0,z.jsxs)(`div`,{className:`asset-modal-form`,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Template`}),(0,z.jsxs)(`select`,{className:`form-input`,value:o,onChange:e=>s(e.target.value),children:[(0,z.jsx)(`option`,{value:``,children:`Template waehlen`}),i.map(e=>(0,z.jsx)(`option`,{value:e.id,children:e.name},e.id))]})]}),f&&(0,z.jsx)(`div`,{className:`small-muted`,children:`Template wird geladen...`}),c&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{className:`small-muted`,children:[v.length,` Element(e), `,g.length,` Platzhalter`]}),g.map(e=>(0,z.jsxs)(`div`,{className:`template-map-row`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`strong`,{children:e.label||e.key}),(0,z.jsx)(`div`,{className:`small-muted`,children:e.key})]}),(0,z.jsx)(Sr,{page:t,placeholderKey:e.key,value:u[e.key]||null,onChange:t=>y(e.key,t)})]},e.key)),g.length===0&&(0,z.jsx)(`div`,{className:`empty-mini`,children:`Dieses Template hat keine Platzhalter.`})]})]}),(0,z.jsxs)(`div`,{className:`modal-actions`,children:[(0,z.jsx)(`button`,{type:`button`,className:`btn primary`,disabled:!c||v.length===0,onClick:b,children:`Einfuegen`}),(0,z.jsx)(`button`,{type:`button`,className:`btn`,onClick:n,children:`Abbrechen`})]})]})}),document.body)}function Mr({open:e,page:t,groupElements:n=[],onClose:r,onApply:i}){let a=n[0]?.style_json||{},o=Array.isArray(a.templatePlaceholders)?a.templatePlaceholders:[],[s,c]=(0,_.useState)({});if((0,_.useEffect)(()=>{if(!e)return;let t={};n.forEach(e=>Or(e,t)),c(t)},[e,n]),!e)return null;function l(e,t){c(n=>({...n,[e]:t}))}function u(){i(s),r()}return(0,tt.createPortal)((0,z.jsx)(`div`,{className:`modal-backdrop`,onPointerDown:r,children:(0,z.jsxs)(`div`,{className:`asset-modal dashboard-widget-modal`,onPointerDown:e=>e.stopPropagation(),children:[(0,z.jsxs)(`div`,{className:`modal-head`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`div`,{className:`eyebrow`,children:`Template`}),(0,z.jsx)(`h2`,{children:`Platzhalter ändern`}),(0,z.jsx)(`p`,{className:`subline`,children:a.templateName||`Geladenes Template`})]}),(0,z.jsx)(`button`,{type:`button`,className:`icon-close`,onClick:r,children:`x`})]}),(0,z.jsxs)(`div`,{className:`asset-modal-form`,children:[o.map(e=>(0,z.jsxs)(`div`,{className:`template-map-row`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`strong`,{children:e.label||e.key}),(0,z.jsx)(`div`,{className:`small-muted`,children:e.key})]}),(0,z.jsx)(Sr,{page:t,placeholderKey:e.key,value:s[e.key]||null,onChange:t=>l(e.key,t)})]},e.key)),o.length===0&&(0,z.jsx)(`div`,{className:`empty-mini`,children:`Dieses Template hat keine gespeicherten Platzhalter-Infos.`})]}),(0,z.jsxs)(`div`,{className:`modal-actions`,children:[(0,z.jsx)(`button`,{type:`button`,className:`btn primary`,disabled:o.length===0,onClick:u,children:`Übernehmen`}),(0,z.jsx)(`button`,{type:`button`,className:`btn`,onClick:r,children:`Abbrechen`})]})]})}),document.body)}function Nr(e){if(e.element_type===`asset`)return`Symbol`;if(e.element_type===`value`){let t=e.style_json?.kind;return t===`sensor`?`Fühler / Wert`:t===`setpoint`?`Sollwert`:t===`scale_bar`?`Skalenbalken`:t===`dial_gauge`?`Zeigerinstrument`:t===`trend_chart`?`Trendgraph`:t===`sankey_chart`?`Sankey`:`Wert`}if(e.element_type===`text`)return e.style_json?.textType===`link`?`Link`:e.style_json?.textType===`menu`?`Menü`:`Text`;if(e.element_type===`shape`){let t=e.style_json?.subtype;return t===`polyline`?`Linienzug`:t===`polygon`?`Polygon`:t===`circle`?`Kreis`:t===`ellipse`?`Ellipse`:`Rechteck`}return e.element_type||`Element`}function Pr(e){return e.name||e.label||e.asset_name||Nr(e)}function Fr(e){let t=e.filter(Boolean);if(t.length===0)return{x:0,y:0,w:0,h:0,minZ:0,maxZ:0};let n=Math.min(...t.map(e=>Number(e.x||0))),r=Math.min(...t.map(e=>Number(e.y||0))),i=Math.max(...t.map(e=>Number(e.x||0)+Number(e.w||0))),a=Math.max(...t.map(e=>Number(e.y||0)+Number(e.h||0))),o=t.map(e=>Number(e.z_index||10));return{x:n,y:r,w:Math.max(1,i-n),h:Math.max(1,a-r),minZ:Math.min(...o),maxZ:Math.max(...o)}}function Ir(e){let t=[],n=new Set;return e.forEach(r=>{let i=r.style_json?.templateGroupId||``;if(!i){t.push({id:r.id,ids:[r.id],type:Nr(r),name:Pr(r),bounds:Fr([r]),z:Number(r.z_index||10),isTemplateGroup:!1});return}if(n.has(i))return;n.add(i);let a=e.filter(e=>e.style_json?.templateGroupId===i),o=a[0]||r,s=Fr(a);t.push({id:o.id,ids:a.map(e=>e.id),type:`Template`,name:o.style_json?.templateName||o.name||`Template`,bounds:s,z:s.maxZ,isTemplateGroup:!0,count:a.length})}),t}function Lr({elements:e,selectedIds:t,onSelect:n,disabled:r=!1}){let i=Ir(e).sort((e,t)=>Number(t.z||0)-Number(e.z||0));return(0,z.jsxs)(`details`,{className:`property-section toolbox-section element-list-panel`,open:!0,children:[(0,z.jsx)(`summary`,{children:`Elementliste`}),(0,z.jsxs)(`div`,{className:`property-section-body toolbox-section-body element-list-body`,children:[i.length===0&&(0,z.jsx)(`div`,{className:`small-muted`,children:`Noch keine Elemente auf der Zeichenfläche.`}),i.map(e=>{let i=e.ids.every(e=>t.includes(e));return(0,z.jsxs)(`button`,{type:`button`,disabled:r,className:`element-list-item ${e.isTemplateGroup?`is-template-group`:``} ${i?`is-selected`:``}`,onClick:t=>n(e.id,t.ctrlKey||t.metaKey),title:`${e.type} - X ${Math.round(e.bounds.x||0)}, Y ${Math.round(e.bounds.y||0)}`,children:[(0,z.jsxs)(`span`,{className:`element-list-type`,children:[e.type,e.count?` - ${e.count} Elemente`:``]}),(0,z.jsx)(`strong`,{children:e.name}),(0,z.jsxs)(`em`,{children:[Math.round(e.bounds.x||0),` / `,Math.round(e.bounds.y||0)]})]},e.isTemplateGroup?`template-${e.id}`:e.id)})]})]})}function Rr({pageId:e=0,templateId:t=0,templateMode:n=!1}){let r=(0,_.useRef)(null),i=(0,_.useRef)(null),a=(0,_.useRef)(null),o=(0,_.useRef)(null),s=(0,_.useRef)(null),c=(0,_.useRef)({past:[],future:[]}),l=(0,_.useRef)(!1),u=(0,_.useRef)(null),[d,f]=(0,_.useState)(null),[p,m]=(0,_.useState)([]),[h,g]=(0,_.useState)([]),[v,y]=(0,_.useState)(null),[x,S]=(0,_.useState)([]),[C,T]=(0,_.useState)(``),[E,D]=(0,_.useState)(!!(n?t:e)),[O,k]=(0,_.useState)(!1),[A,re]=(0,_.useState)(!1),[j,M]=(0,_.useState)(!0),[N,P]=(0,_.useState)(.6),[ie,I]=(0,_.useState)(null),[L,ae]=(0,_.useState)(!1),[oe,se]=(0,_.useState)(``),[ce,le]=(0,_.useState)(null),[B,ue]=(0,_.useState)([]),[de,fe]=(0,_.useState)(null),[pe,me]=(0,_.useState)(null),[he,ge]=(0,_.useState)(!1),[,_e]=(0,_.useState)(0),ve=p.find(e=>e.id===v)||null,ye=n?``:ve?.style_json?.templateGroupId||``;ye&&p.filter(e=>e.style_json?.templateGroupId===ye);let be=oe?p.filter(e=>e.style_json?.templateGroupId===oe):[],xe=n?[]:[...new Set(x.map(e=>p.find(t=>t.id===e)?.style_json?.templateGroupId||``).filter(Boolean))].map(e=>{let t=p.filter(t=>t.style_json?.templateGroupId===e),n=t[0]||null,r=Fr(t);return{templateGroupId:e,name:n?.style_json?.templateName||n?.name||`Template`,bounds:r}}),V=de!==null,Se=c.current.past.length>0,Ce=c.current.future.length>0;function we(e,t=e[0]||null){let n=[...new Set(e.filter(e=>e!=null))];S(n),y(t&&n.includes(t)?t:n[0]||null)}function Te(){S([]),y(null)}function Ee(e=null){let t=x.length?x:e?Ke(e):[],n=new Set(t);return p.filter(e=>n.has(e.id)).map(e=>JSON.parse(JSON.stringify(e)))}function De(){l.current=!0,re(!0)}function Oe(){l.current=!1,re(!1)}(0,_.useEffect)(()=>{if(!(n?t:e)){D(!1);return}Oe(),c.current={past:[],future:[]},_e(e=>e+1),ke()},[e,t,n]),(0,_.useEffect)(()=>{!d?.project_id&&!d?.is_template||Ae()},[d?.project_id,d?.is_template]),(0,_.useEffect)(()=>{function e(e){let t=document.activeElement?.tagName?.toLowerCase();[`input`,`textarea`,`select`].includes(t)||((e.ctrlKey||e.metaKey)&&e.key.toLowerCase()===`c`&&(e.preventDefault(),tt()),(e.ctrlKey||e.metaKey)&&e.key.toLowerCase()===`v`&&(e.preventDefault(),s.current&&it()),(e.ctrlKey||e.metaKey)&&e.key.toLowerCase()===`d`&&(e.preventDefault(),at()),(e.key===`Delete`||e.key===`Del`)&&ve&&!V&&(e.preventDefault(),Ye(ve.id)),e.key===`Escape`&&(I(null),le(null),ue([]),fe(null)))}return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[ve,d,p,V]),(0,_.useEffect)(()=>()=>{window.removeEventListener(`pointermove`,pt),window.removeEventListener(`pointerup`,mt)},[]),(0,_.useEffect)(()=>{function e(e){l.current&&(e.preventDefault(),e.returnValue=``)}return window.addEventListener(`beforeunload`,e),()=>window.removeEventListener(`beforeunload`,e)},[]),(0,_.useEffect)(()=>{if(!j)return;let e=window.setInterval(()=>{l.current&&!O&&!V&&u.current?.()},300*1e3);return()=>window.clearInterval(e)},[j,O,V]);async function ke(){D(!0);try{let r=n?await H(`template`,{id:t}):await H(`page`,{id:e}),i=n?{...ne(r.template||{}),id:Number(t),project_id:0,is_template:!0,template_placeholders:r.placeholders||[]}:ne(r.page||{}),a=n?Ar(r.elements||[]):(r.elements||[]).map(ee),o=n?a:await Qt(a,e=>H(`template`,{id:e}));f(i),m(o)}catch(e){T(e.message)}finally{D(!1)}}function Ae(){H(`assets`,{project_id:d?.project_id||``}).then(e=>g((e.assets||[]).map(te))).catch(()=>g([]))}function je(e){o.current=e}function Me(e){let t=r.current?.getBoundingClientRect();return t?{x:F((e.clientX-t.left)/N,d),y:F((e.clientY-t.top)/N,d)}:{x:0,y:0}}function Ne(e){return JSON.parse(JSON.stringify(e))}function Pe(e){c.current.past.push(Ne(e)),c.current.past=c.current.past.slice(-80),c.current.future=[],_e(e=>e+1),De()}function Fe(){Pe(p)}function Ie(){let e=c.current.past.pop();e&&(c.current.future.push(Ne(p)),m(e),S(t=>t.filter(t=>e.some(e=>e.id===t))),y(t=>e.some(e=>e.id===t)?t:null),_e(e=>e+1),De())}function Le(){let e=c.current.future.pop();e&&(c.current.past.push(Ne(p)),m(e),S(t=>t.filter(t=>e.some(e=>e.id===t))),y(t=>e.some(e=>e.id===t)?t:null),_e(e=>e+1),De())}function Re(e){if(V)return;let t=w[e];if(!t)return;let n=b(),r=p.length?Math.max(...p.map(e=>Number(e.z_index||10)))+1:10,i={id:n,asset_id:null,asset_name:``,asset_type:``,asset_states:[],element_type:t.element_type,name:t.name,variable_id:``,label:t.label,x:F(80+p.length*14,d),y:F(80+p.length*14,d),w:t.w,h:t.h,rotation:0,z_index:r,opacity:1,state_rules:null,style_json:JSON.parse(JSON.stringify(t.style_json||{})),is_locked:!1,rules:[]};Fe(),m(e=>[...e,i]),we([n])}function ze(e){if(V)return;let t=b(),n=p.length?Math.max(...p.map(e=>Number(e.z_index||10)))+1:10,r=e===`ellipse`?{w:180,h:120}:{w:160,h:100},i={id:t,asset_id:null,asset_name:``,asset_type:``,asset_states:[],element_type:`shape`,name:e===`ellipse`?`Ellipse`:e===`circle`?`Kreis`:`Rechteck`,variable_id:``,label:``,x:F(100+p.length*14,d),y:F(100+p.length*14,d),w:e===`circle`?120:r.w,h:e===`circle`?120:r.h,rotation:0,z_index:n,opacity:1,state_rules:null,style_json:{subtype:e,strokeColor:`#60a5fa`,fillColor:`transparent`,fillMode:`solid`,gradientColor:`#1d4ed8`,gradientAngle:0,gradientOrigin:`center`,gradientOriginX:50,gradientOriginY:50,colorRules:[],strokeWidth:4,radius:e===`rect`?10:0,aspectLocked:e===`circle`,aspectRatio:1},is_locked:!1,rules:[]};Fe(),m(e=>[...e,i]),we([t])}function Be(){V||(le(`polyline`),ue([]),Te(),fe(null))}function Ve(){V||(le(`polygon`),ue([]),Te(),fe(null))}function He(e){if(V)return;let t=b(),n=p.length?Math.max(...p.map(e=>Number(e.z_index||10)))+1:10,r=e.states.find(e=>e.is_default)||e.states[0],i={id:t,asset_id:Number(e.id),asset_name:e.name,asset_type:e.asset_type,asset_states:e.states||[],element_type:`asset`,name:e.name,variable_id:``,label:e.name,x:F(120,d),y:F(120,d),w:140,h:140,rotation:0,z_index:n,opacity:1,state_rules:null,style_json:{subtype:`asset_symbol`,default_image:r?.image_file||``,attachedValues:[],aspectLocked:!0,aspectRatio:1},is_locked:!1,rules:[]};Fe(),m(e=>[...e,i]),we([t])}function Ue(e,t){Fe(),m(n=>n.map(n=>n.id===e?typeof t==`function`?t(n):{...n,...t}:n))}function We(e){!n&&e?.style_json?.templateGroupId||(Fe(),m(t=>t.map(t=>t.id===e.id?e:t)))}function Ge(e){return n?``:p.find(t=>t.id===e)?.style_json?.templateGroupId||``}function Ke(e){let t=Ge(e);return t?p.filter(e=>e.style_json?.templateGroupId===t).map(e=>e.id):[e]}function qe(e){let t=Ke(e);if(t.every(e=>x.includes(e))){we(x.filter(e=>!t.includes(e)));return}we([...x,...t],e)}function Je(e,t=!1){if(!V){if(t){qe(e);return}we(Ke(e),e)}}function Ye(e){if(V)return;let t=x.includes(e)&&x.length>1?x:Ke(e);Fe(),m(e=>e.filter(e=>!t.includes(e.id))),t.includes(v)&&Te(),de===e&&fe(null)}function Xe(e,t){let n=Ge(e);if(!n)return!1;let r=p.filter(e=>e.style_json?.templateGroupId===n).sort((e,t)=>Number(e.z_index||10)-Number(t.z_index||10));return r.length?(Fe(),m(e=>{let n=e.length?Math.max(...e.map(e=>Number(e.z_index||10))):10,i=e.length?Math.min(...e.map(e=>Number(e.z_index||10))):10,a=new Map;return r.forEach((e,o)=>{t===`front`&&a.set(e.id,n+o+1),t===`back`&&a.set(e.id,i-r.length+o),t===`plus`&&a.set(e.id,Number(e.z_index||10)+1),t===`minus`&&a.set(e.id,Number(e.z_index||10)-1)}),e.map(e=>a.has(e.id)?{...e,z_index:a.get(e.id)}:e)}),!0):!1}function Ze(e){Xe(e,`front`)||Ue(e,{z_index:(p.length?Math.max(...p.map(e=>Number(e.z_index||10))):10)+1})}function Qe(e){Xe(e,`back`)||Ue(e,{z_index:(p.length?Math.min(...p.map(e=>Number(e.z_index||10))):10)-1})}function $e(e){Xe(e,`plus`)||Ue(e,e=>({...e,z_index:Number(e.z_index||10)+1}))}function et(e){Xe(e,`minus`)||Ue(e,e=>({...e,z_index:Number(e.z_index||10)-1}))}function tt(e=null){let t=Ee(e);t.length&&(s.current={type:`elements`,items:t})}function nt(e){let t=r.current?.getBoundingClientRect();return t?{x:(e.clientX-t.left)/N,y:(e.clientY-t.top)/N}:{x:0,y:0}}function rt(e){tt(e)}function it(e=null){if(V||!s.current)return;let t=s.current?.type===`elements`?s.current.items:[s.current];if(!Array.isArray(t)||t.length===0)return;let n=Math.min(...t.map(e=>Number(e.x||0))),r=Math.min(...t.map(e=>Number(e.y||0))),i=e?Number(e.x||0)-n:30,a=e?Number(e.y||0)-r:30,o=p.length?Math.max(...p.map(e=>Number(e.z_index||10))):10,c=new Map,l=t.map((e,t)=>{let n=R(e,d,0),r=e.style_json?.templateGroupId,s=n.style_json||{};return r&&(c.has(r)||c.set(r,`template-group-${Date.now()}-${Math.abs(b())}-${c.size}`),s={...s,templateGroupId:c.get(r)}),{...n,x:F(Number(e.x||0)+i,d),y:F(Number(e.y||0)+a,d),z_index:o+t+1,style_json:s}});l.length&&(Fe(),m(e=>[...e,...l]),we(l.map(e=>e.id),l[0].id))}function at(){tt(),it()}function ot(e,t,r={}){if(n||V||!Array.isArray(e)||e.length===0)return;let i=p.length?Math.max(...p.map(e=>Number(e.z_index||10)))+1:10,a=`template-group-${Date.now()}-${Math.abs(b())}`,o=wr(t),s=e.map((e,n)=>{let s=Er(e,t);return ee({...s,id:b(),x:F(Number(s.x||0),d),y:F(Number(s.y||0),d),z_index:i+n,style_json:{...s.style_json||{},templateGroupId:a,templateSourceId:Number(r.id||0),templateElementId:String(e.style_json?.templateElementUid||e.id||s.id||n),templateName:r.name||`Template`,templatePlaceholders:r.placeholders||[],templateBindings:o}})});Fe(),m(e=>[...e,...s]),we(s.map(e=>e.id),s[0]?.id||null)}function st(e,t){if(e.button===1){ct(e);return}if(e.button!==0)return;e.preventDefault(),e.stopPropagation();let n=p.find(e=>e.id===t);if(!n||n.is_locked||de===t||V)return;let r=Ke(t);if(e.ctrlKey||e.metaKey){qe(t);return}let i=(x.includes(t)?x:r).map(e=>p.find(t=>t.id===e)).filter(e=>e&&!e.is_locked);x.includes(t)?y(t):we(r,t),a.current={mode:i.length>1?`move-group`:`move`,id:t,groupStarts:i.length>1?Object.fromEntries(i.map(e=>[e.id,{x:e.x,y:e.y}])):null,groupBounds:i.length>1?Fr(i):null,startClientX:e.clientX,startClientY:e.clientY,startX:n.x,startY:n.y,startW:n.w,startH:n.h,before:Ne(p),changed:!1},window.addEventListener(`pointermove`,pt),window.addEventListener(`pointerup`,mt)}function ct(e){let t=i.current;t&&(e.preventDefault(),e.stopPropagation(),ge(!0),a.current={mode:`pan`,startClientX:e.clientX,startClientY:e.clientY,scrollLeft:t.scrollLeft,scrollTop:t.scrollTop,changed:!1},window.addEventListener(`pointermove`,pt),window.addEventListener(`pointerup`,mt))}function lt(e,t,r){e.preventDefault(),e.stopPropagation();let i=p.find(e=>e.id===t);!i||i.is_locked||V||!n&&i.style_json?.templateGroupId||(we([t]),a.current={mode:`resize`,handle:r,id:t,startClientX:e.clientX,startClientY:e.clientY,startX:i.x,startY:i.y,startW:i.w,startH:i.h,aspectRatio:i.w>0&&i.h>0?i.w/i.h:1,aspectLocked:!!i.style_json?.aspectLocked,before:Ne(p),changed:!1},window.addEventListener(`pointermove`,pt),window.addEventListener(`pointerup`,mt))}function ut(e,t){let n=Ge(t);n&&(we(Ke(t),t),se(n))}function dt(e){if(!oe)return;let t=wr(e);Fe(),m(e=>e.map(e=>{if(e.style_json?.templateGroupId!==oe)return e;let n=Dr(e,t);return{...n,style_json:{...n.style_json||{},templateBindings:t}}}))}function ft(e,t){e.preventDefault(),e.stopPropagation();let n=p.find(e=>e.id===de);if(!n)return;let r=Array.isArray(n.style_json?.points)?n.style_json.points:[];a.current={mode:`point`,id:n.id,pointIndex:t,startClientX:e.clientX,startClientY:e.clientY,startPoint:r[t],before:Ne(p),changed:!1},window.addEventListener(`pointermove`,pt),window.addEventListener(`pointerup`,mt)}function pt(e){let t=a.current;if(!t)return;if(t.changed=!0,t.mode===`pan`){let n=i.current;if(!n)return;n.scrollLeft=t.scrollLeft-(e.clientX-t.startClientX),n.scrollTop=t.scrollTop-(e.clientY-t.startClientY);return}if(t.mode===`marquee`){let n=nt(e),r={x:Math.min(t.startPoint.x,n.x),y:Math.min(t.startPoint.y,n.y),w:Math.abs(n.x-t.startPoint.x),h:Math.abs(n.y-t.startPoint.y)},i=[];p.forEach(e=>{e.is_locked||Number(e.x||0)<r.x+r.w&&Number(e.x||0)+Number(e.w||0)>r.x&&Number(e.y||0)<r.y+r.h&&Number(e.y||0)+Number(e.h||0)>r.y&&i.push(...Ke(e.id))});let a=t.additive?[...new Set([...t.baseSelection||[],...i])]:[...new Set(i)];me(r),we(a,a[0]||null);return}let n=(e.clientX-t.startClientX)/N,r=(e.clientY-t.startClientY)/N,o=t.mode===`move-group`&&t.groupBounds?F(Math.round(t.groupBounds.x+n),d)-t.groupBounds.x:n,s=t.mode===`move-group`&&t.groupBounds?F(Math.round(t.groupBounds.y+r),d)-t.groupBounds.y:r;m(e=>e.map(e=>{if(t.mode===`move-group`){let n=t.groupStarts?.[e.id];return n?{...e,x:Math.round(n.x+o),y:Math.round(n.y+s)}:e}if(e.id!==t.id)return e;if(t.mode===`move`)return{...e,x:F(Math.round(t.startX+n),d),y:F(Math.round(t.startY+r),d)};if(t.mode===`point`){let i=Array.isArray(e.style_json?.points)?[...e.style_json.points]:[],a={x:F(Math.round((t.startPoint?.x||0)+n),d),y:F(Math.round((t.startPoint?.y||0)+r),d)};return i[t.pointIndex]=a,{...e,style_json:{...e.style_json,points:i}}}let i=t.handle||``,a=t.startX,c=t.startY,l=t.startW,u=t.startH;return i.includes(`e`)&&(l=t.startW+n),i.includes(`s`)&&(u=t.startH+r),i.includes(`w`)&&(a=t.startX+n,l=t.startW-n),i.includes(`n`)&&(c=t.startY+r,u=t.startH-r),l<10&&(l=10,a=e.x),u<10&&(u=10,c=e.y),t.aspectLocked&&(Math.abs(n)>Math.abs(r)?u=l/t.aspectRatio:l=u*t.aspectRatio),{...e,x:F(Math.round(a),d),y:F(Math.round(c),d),w:Math.max(10,F(Math.round(l),d)||10),h:Math.max(10,F(Math.round(u),d)||10)}}))}function mt(){let e=a.current;e?.changed&&e.before&&Pe(e.before),a.current=null,ge(!1),me(null),window.removeEventListener(`pointermove`,pt),window.removeEventListener(`pointerup`,mt)}function ht(e){if(e.button===1){ct(e);return}if(e.button===0){if(e.preventDefault(),ce===`polyline`||ce===`polygon`){let t=Me(e);ue(e=>[...e,t]);return}if(!V){let t=nt(e);a.current={mode:`marquee`,startClientX:e.clientX,startClientY:e.clientY,startPoint:t,baseSelection:e.ctrlKey||e.metaKey?x:[],additive:e.ctrlKey||e.metaKey,changed:!1},me({x:t.x,y:t.y,w:0,h:0}),!e.ctrlKey&&!e.metaKey&&Te(),I(null),window.addEventListener(`pointermove`,pt),window.addEventListener(`pointerup`,mt)}}}function gt(e){if(ce!==`polyline`&&ce!==`polygon`)return;e.preventDefault();let t=ce===`polygon`;if(B.length<(t?3:2)){le(null),ue([]);return}let n=Math.min(...B.map(e=>e.x)),r=Math.min(...B.map(e=>e.y)),i=Math.max(...B.map(e=>e.x)),a=Math.max(...B.map(e=>e.y)),o=B.map(e=>({x:e.x-n,y:e.y-r})),s=b(),c=p.length?Math.max(...p.map(e=>Number(e.z_index||10)))+1:10,l={id:s,asset_id:null,asset_name:``,asset_type:``,asset_states:[],element_type:`shape`,name:t?`Polygon`:`Linienzug`,variable_id:``,label:``,x:n,y:r,w:Math.max(10,i-n),h:Math.max(10,a-r),rotation:0,z_index:c,opacity:1,state_rules:null,style_json:{subtype:t?`polygon`:`polyline`,points:o,strokeColor:`#60a5fa`,fillColor:t?`#1d4ed8`:`transparent`,fillMode:`solid`,gradientColor:`#0ea5e9`,gradientAngle:0,gradientOrigin:`center`,gradientOriginX:50,gradientOriginY:50,colorRules:[],strokeWidth:6,fillClosed:t,startArrow:`none`,endArrow:`none`,arrowSize:20,arrowGap:0,arrowGapLinked:!0,startArrowGap:0,endArrowGap:0,startArrowType:`triangle`,endArrowType:`triangle`,startArrowRotation:0,endArrowRotation:0,flowEnabled:!1,flowPoint:null,flowMin:0,flowMax:100,flowSlowSeconds:5,flowFastSeconds:.7,flowDirection:`forward`,flowInvertSpeed:!1,flowColor:`#e0f2fe`},is_locked:!1,rules:[]};Fe(),m(e=>[...e,l]),we([s]),le(null),ue([])}function _t(e){e.preventDefault();let t=e.deltaY>0?-.05:.05;P(e=>Math.max(.15,Math.min(2.5,Number((e+t).toFixed(2)))))}function vt(e,t){e.preventDefault(),e.stopPropagation();let n=p.find(e=>e.id===t),i=Ge(t),a=Qn(e.clientX,e.clientY,{elementId:t,canEditPoints:!i&&n?.element_type===`shape`&&[`polyline`,`polygon`].includes(n?.style_json?.subtype),boundsRect:r.current?.getBoundingClientRect()});we(i?p.filter(e=>e.style_json?.templateGroupId===i).map(e=>e.id):[t],t),I({x:a.x,y:a.y,elementId:t,isTemplateGroup:!!i,templateGroupId:i,canEditPoints:!i&&n?.element_type===`shape`&&[`polyline`,`polygon`].includes(n?.style_json?.subtype)})}function yt(e){e.preventDefault();let t=Qn(e.clientX,e.clientY,{boundsRect:r.current?.getBoundingClientRect()});I({x:t.x,y:t.y,elementId:null,canvasPoint:Me(e)})}async function bt(){if(!((n?!t:!e)||V)){k(!0),T(``);try{let r=d;if(o.current){let e=await o.current();if(!e)throw Error(`Zeichenflächen-Einstellungen konnten nicht gespeichert werden.`);typeof e==`object`&&(r={...d,...e},f(r))}let i=p.map(e=>{let t=n?kr(e.style_json):e.style_json;return n&&(t={...t||{},templateElementUid:t?.templateElementUid||`template-el-${Date.now()}-${Math.abs(b())}`}),{...e,id:n||e.id>0?e.id:0,variable_id:e.variable_id||null,style_json:t}});n?await U(`template_save`,{template_id:t,name:r?.name||`Template`,description:r?.description||``,width:r?.width||1920,height:r?.height||1080,background_color:r?.background_color||`#0f172a`,grid_enabled:r?.grid_enabled?`1`:``,snap_enabled:r?.snap_enabled?`1`:``,grid_size:r?.grid_size||40,placeholders_json:JSON.stringify(r?.template_placeholders||[]),elements_json:JSON.stringify(i)}):await U(`elements_save`,{page_id:e,elements_json:JSON.stringify(i)}),await ke(),Oe()}catch(e){T(e.message)}finally{k(!1)}}}return u.current=bt,!n&&!e?(0,z.jsx)(`div`,{className:`page-shell`,children:(0,z.jsx)(`section`,{className:`glass-card`,children:(0,z.jsxs)(`div`,{className:`section-head`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`div`,{className:`eyebrow`,children:`Designer`}),(0,z.jsx)(`h1`,{children:`Keine Seite gewählt`})]}),(0,z.jsxs)(`div`,{className:`designer-actions`,children:[(0,z.jsx)(Gt,{}),(0,z.jsx)(`a`,{href:`/visu/?mode=dashboard`,className:`btn`,children:`Dashboard`}),(0,z.jsx)(`a`,{href:`/visu/?mode=manage`,className:`btn`,children:`Verwaltung`}),(0,z.jsx)(`a`,{href:`/visu/?mode=templates`,className:`btn`,children:`Templates`}),(0,z.jsx)(`a`,{href:`/visu/?mode=monitoring`,className:`btn`,children:`Datenpunkte`}),(0,z.jsx)(`a`,{href:`/visu/?mode=virtual_points`,className:`btn`,children:`Virtuelle Datenpunkte`}),(0,z.jsx)(`a`,{href:`/visu/?mode=csv_exports`,className:`btn`,children:`CSV Exporte`})]})]})})}):(0,z.jsx)(`div`,{className:`page-shell full`,children:(0,z.jsxs)(`section`,{className:`glass-card visu-workspace`,children:[V&&(0,z.jsxs)(`div`,{className:`point-edit-topbar`,children:[(0,z.jsx)(`strong`,{children:ve?.style_json?.subtype===`polygon`?`Polygon bearbeiten`:`Linienzug bearbeiten`}),(0,z.jsx)(`span`,{children:`Punkte verschieben und anschließend bestätigen.`}),(0,z.jsx)(`button`,{type:`button`,className:`btn small primary`,onClick:()=>fe(null),children:`✓ Änderungen übernehmen`})]}),(0,z.jsxs)(`div`,{className:`section-head visu-topbar`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`div`,{className:`eyebrow`,children:n?`Template Designer`:`Designer`}),(0,z.jsx)(`h1`,{children:d?.name||(n?`Template #${t}`:`Seite #${e}`)}),d&&!n&&(0,z.jsxs)(`p`,{className:`subline`,children:[d.year,` · `,d.project_number,` · `,d.project_name]}),d&&n&&(0,z.jsx)(`p`,{className:`subline`,children:d.description||`Template mit Platzhaltern`})]}),(0,z.jsxs)(`div`,{className:`designer-actions`,children:[ce&&(0,z.jsxs)(`button`,{className:`btn danger`,onClick:()=>{le(null),ue([])},children:[ce===`polygon`?`Polygon`:`Linienzug`,` abbrechen`]}),!n&&(0,z.jsx)(`button`,{className:`btn`,type:`button`,onClick:()=>ae(!0),disabled:V,children:`Template laden`}),(0,z.jsx)(`button`,{className:`btn primary`,onClick:bt,disabled:O||V,children:O?`Speichert…`:`💾 Speichern`}),(0,z.jsxs)(`label`,{className:`autosave-toggle`,title:`Änderungen alle 5 Minuten automatisch speichern`,children:[(0,z.jsx)(`input`,{type:`checkbox`,checked:j,onChange:e=>M(e.target.checked)}),`Auto (5 Min.)`]}),A&&(0,z.jsx)(`span`,{className:`unsaved-badge`,children:`Nicht gespeichert`}),n&&(0,z.jsx)(Gt,{className:`btn ${V?`disabled-link`:``}`,disabled:V}),(0,z.jsx)(`a`,{className:`btn ${V?`disabled-link`:``}`,href:V?void 0:`/visu/?mode=dashboard`,children:`Dashboard`}),(0,z.jsx)(`a`,{className:`btn ${V?`disabled-link`:``}`,href:V?void 0:`/visu/?mode=manage`,children:`Verwaltung`}),(0,z.jsx)(`a`,{className:`btn ${V?`disabled-link`:``}`,href:V?void 0:`/visu/?mode=templates`,children:`Templates`}),(0,z.jsx)(`a`,{className:`btn ${V?`disabled-link`:``}`,href:V?void 0:`/visu/?mode=monitoring`,children:`Datenpunkte`}),(0,z.jsx)(`a`,{className:`btn ${V?`disabled-link`:``}`,href:V?void 0:`/visu/?mode=virtual_points`,children:`Virtuelle Datenpunkte`}),(0,z.jsx)(`a`,{className:`btn ${V?`disabled-link`:``}`,href:V?void 0:`/visu/?mode=csv_exports`,children:`CSV Exporte`}),!n&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`a`,{className:`btn ${V?`disabled-link`:``}`,href:V?void 0:`/visu/?mode=viewer&page_id=${e}`,children:`Anzeigen`}),(0,z.jsx)(`a`,{className:`btn primary ${V?`disabled-link`:``}`,href:V?void 0:`/visu/?mode=designer&page_id=${e}`,children:`Designer`})]})]})]}),E&&(0,z.jsx)(`div`,{className:`empty-box`,children:`Visualisierung wird geladen…`}),C&&(0,z.jsx)(`div`,{className:`error-box`,children:C}),(0,z.jsxs)(`div`,{className:`designer-layout`,children:[(0,z.jsxs)(`aside`,{className:`toolbox`,children:[(0,z.jsx)(`h3`,{children:`Werkzeugkasten`}),(0,z.jsx)(`button`,{disabled:V,className:`tool-btn`,type:`button`,onClick:()=>Re(`sensor`),children:`🌡️ Fühler / Wert`}),(0,z.jsx)(`button`,{disabled:V,className:`tool-btn`,type:`button`,onClick:()=>Re(`setpoint`),children:`🎚️ Sollwert`}),(0,z.jsx)(`button`,{disabled:V,className:`tool-btn`,type:`button`,onClick:()=>Re(`scale_bar`),children:`▤ Skalenbalken`}),(0,z.jsx)(`button`,{disabled:V,className:`tool-btn`,type:`button`,onClick:()=>Re(`dial_gauge`),children:`◔ Zeigerinstrument`}),(0,z.jsx)(`button`,{disabled:V,className:`tool-btn`,type:`button`,onClick:()=>Re(`trend_chart`),children:`📈 Trendgraph`}),(0,z.jsx)(`button`,{disabled:V,className:`tool-btn`,type:`button`,onClick:()=>Re(`sankey_chart`),children:`↝ Sankey`}),(0,z.jsx)(`button`,{disabled:V,className:`tool-btn ${ce===`polyline`?`active`:``}`,type:`button`,onClick:Be,children:`〰️ Linienzug`}),(0,z.jsx)(`button`,{disabled:V,className:`tool-btn ${ce===`polygon`?`active`:``}`,type:`button`,onClick:Ve,children:`Polygon / Freiform`}),(0,z.jsx)(`button`,{disabled:V,className:`tool-btn`,type:`button`,onClick:()=>ze(`rect`),children:`▭ Rechteck`}),(0,z.jsx)(`button`,{disabled:V,className:`tool-btn`,type:`button`,onClick:()=>ze(`circle`),children:`○ Kreis`}),(0,z.jsx)(`button`,{disabled:V,className:`tool-btn`,type:`button`,onClick:()=>ze(`ellipse`),children:`⬭ Ellipse`}),(0,z.jsx)(`button`,{disabled:V,className:`tool-btn`,type:`button`,onClick:()=>Re(`text`),children:`🏷️ Text`}),(0,z.jsx)(`button`,{disabled:V,className:`tool-btn`,type:`button`,onClick:()=>Re(`link`),children:`🔗 Link`}),(0,z.jsx)(`button`,{disabled:V,className:`tool-btn`,type:`button`,onClick:()=>Re(`menu`),children:`☰ Menü`}),ce&&(0,z.jsxs)(`div`,{className:`draw-hint`,children:[ce===`polygon`?`Polygon`:`Linienzug`,` aktiv. Klicken setzt Punkte, Doppelklick beendet. Raster wird beachtet.`]}),(0,z.jsx)(Lr,{elements:p,selectedIds:x,onSelect:Je,disabled:V}),d&&(0,z.jsx)(zn,{page:d,registerSave:je,onSaved:ke,onDirty:De,onPatch:e=>f(t=>t&&{...t,...e}),onSaveAll:bt,disabled:V}),d?.is_template&&(0,z.jsx)(yr,{page:d,onChange:f,onDirty:De,disabled:V})]}),(0,z.jsxs)(`main`,{className:`canvas-wrap`,children:[(0,z.jsxs)(`div`,{className:`canvas-toolbar`,children:[(0,z.jsxs)(`span`,{children:[p.length,` Element(e)`]}),(0,z.jsxs)(`div`,{className:`canvas-toolbar-actions`,children:[(0,z.jsx)(`button`,{type:`button`,className:`btn small`,disabled:!Se||V,onClick:Ie,children:`Rückgängig`}),(0,z.jsx)(`button`,{type:`button`,className:`btn small`,disabled:!Ce||V,onClick:Le,children:`Wiederholen`}),(0,z.jsxs)(`label`,{className:`zoom-control`,children:[`Zoom`,(0,z.jsx)(`input`,{type:`range`,min:`0.15`,max:`2.5`,step:`0.05`,value:N,onChange:e=>P(Number(e.target.value))}),(0,z.jsxs)(`strong`,{children:[Math.round(N*100),`%`]})]})]})]}),(0,z.jsx)(`div`,{ref:i,className:`canvas-scroll ${he?`is-panning`:``}`,onWheel:_t,onAuxClick:e=>e.preventDefault(),children:(0,z.jsx)(`div`,{className:`canvas-zoom-plane`,style:{width:d?`${d.width*N}px`:`1152px`,height:d?`${d.height*N}px`:`648px`},children:(0,z.jsxs)(`div`,{ref:r,className:`canvas ${d?.grid_enabled?`grid-on`:`grid-off`} ${ce?`is-drawing`:``} ${pe?`is-selecting`:``}`,style:{width:d?`${d.width}px`:`1920px`,height:d?`${d.height}px`:`1080px`,transform:`scale(${N})`,backgroundColor:d?.background_color||`#0f172a`,backgroundImage:d?.background_image?`url(${d.background_image})`:void 0,"--grid-size":`${d?.grid_size||40}px`},onPointerDown:ht,onDoubleClick:gt,onContextMenu:yt,children:[p.map(e=>(0,z.jsx)(Jn,{element:e,selected:x.includes(e.id)&&!(!n&&e.style_json?.templateGroupId),assets:h,pointEditMode:de===e.id,lockedAsTemplate:!n&&!!e.style_json?.templateGroupId,onPointerDown:st,onDoubleClick:ut,onResizeStart:x.length===1?lt:null,onPointPointerDown:ft,onContextMenu:vt},e.id)),xe.map(e=>(0,z.jsx)(`div`,{className:`template-group-selection`,style:{width:e.bounds.w,height:e.bounds.h,transform:`translate(${e.bounds.x}px, ${e.bounds.y}px)`},children:(0,z.jsx)(`span`,{children:e.name})},e.templateGroupId)),(ce===`polyline`||ce===`polygon`)&&B.length>0&&(0,z.jsxs)(`svg`,{className:`draft-line-layer`,children:[ce===`polygon`&&B.length>2&&(0,z.jsx)(`polygon`,{points:B.map(e=>`${e.x},${e.y}`).join(` `),fill:`rgba(37, 99, 235, 0.25)`,stroke:`none`}),(0,z.jsx)(`polyline`,{points:B.map(e=>`${e.x},${e.y}`).join(` `),fill:`none`,stroke:`#93c5fd`,strokeWidth:`5`,strokeLinecap:`round`,strokeLinejoin:`round`}),B.map((e,t)=>(0,z.jsx)(`circle`,{cx:e.x,cy:e.y,r:`7`,fill:`#bfdbfe`,stroke:`#1d4ed8`,strokeWidth:`3`},t))]}),pe&&(0,z.jsx)(`div`,{className:`selection-marquee`,style:{left:`${pe.x}px`,top:`${pe.y}px`,width:`${pe.w}px`,height:`${pe.h}px`}})]})})}),(0,z.jsx)(Wn,{projectId:d?.project_id,onPickAsset:He})]}),(0,z.jsx)(_r,{page:d,selected:x.length===1&&!ye?ve:null,assets:h,pointEditElementId:de,disabled:V&&ve?.id!==de,onChange:We,onDelete:Ye,onBringFront:Ze,onSendBack:Qe,onZPlus:$e,onZMinus:et,onStartPointEdit:e=>fe(e),onFinishPointEdit:()=>fe(null)},ve?.id??`no-selection`)]}),(0,z.jsx)(Yn,{menu:ie,onClose:()=>I(null),onCopy:rt,onPaste:it,onDelete:Ye,onEditPoints:e=>fe(e),onEditTemplateBindings:e=>se(e),onBringFront:Ze,onSendBack:Qe,onZPlus:$e,onZMinus:et}),!n&&(0,z.jsx)(jr,{open:L,page:d,onClose:()=>ae(!1),onInsert:ot}),!n&&(0,z.jsx)(Mr,{open:!!oe,page:d,groupElements:be,onClose:()=>se(``),onApply:dt})]})})}function zr({templateId:e=0}){let t=(0,_.useRef)(null),[n,r]=(0,_.useState)([]),[i,a]=(0,_.useState)(``),[o,s]=(0,_.useState)(``),[c,l]=(0,_.useState)(``),[u,d]=(0,_.useState)(!1);async function f(){d(!0),l(``);try{r((await H(`templates`)).templates||[])}catch(e){l(e.message)}finally{d(!1)}}if((0,_.useEffect)(()=>{e>0||f()},[e]),e>0)return(0,z.jsx)(Rr,{templateMode:!0,templateId:e});async function p(e){e.preventDefault(),l(``);try{let e=await U(`template_save`,{template_id:0,name:i.trim()||`Neues Template`,description:o,width:1920,height:1080,background_color:`#0f172a`,grid_enabled:`1`,snap_enabled:`1`,grid_size:40,placeholders_json:`[]`,elements_json:`[]`});window.location.href=`/visu/?mode=templates&template_id=${e.template_id}`}catch(e){l(e.message)}}async function m(e){if(confirm(`Template wirklich löschen?`))try{await U(`template_delete`,{template_id:e}),await f()}catch(e){l(e.message)}}async function h(e){try{let t=await H(`template`,{id:e}),n={version:1,template:t.template,placeholders:t.placeholders||[],elements:t.elements||[]},r=new Blob([JSON.stringify(n,null,2)],{type:`application/json`}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=`${t.template?.name||`visu-template`}.json`,a.click(),URL.revokeObjectURL(i)}catch(e){l(e.message)}}async function g(e){if(e)try{await U(`template_import`,{import_json:await e.text()}),await f(),t.current.value=``}catch(e){l(e.message)}}return(0,z.jsx)(`div`,{className:`page-shell full`,children:(0,z.jsxs)(`section`,{className:`glass-card overview-full`,children:[(0,z.jsxs)(`div`,{className:`section-head visu-topbar`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`div`,{className:`eyebrow`,children:`Templates`}),(0,z.jsx)(`h1`,{children:`Template-Verwaltung`}),(0,z.jsx)(`p`,{className:`subline`,children:`Vorlagen mit Platzhaltern für wiederkehrende Visualisierungen.`})]}),(0,z.jsxs)(`div`,{className:`designer-actions`,children:[(0,z.jsx)(Gt,{}),(0,z.jsx)(`a`,{href:`/visu/?mode=dashboard`,className:`btn`,children:`Dashboard`}),(0,z.jsx)(`a`,{href:`/visu/?mode=manage`,className:`btn`,children:`Verwaltung`}),(0,z.jsx)(`a`,{href:`/visu/?mode=templates`,className:`btn primary`,children:`Templates`}),(0,z.jsx)(`a`,{href:`/visu/?mode=monitoring`,className:`btn`,children:`Datenpunkte`}),(0,z.jsx)(`a`,{href:`/visu/?mode=virtual_points`,className:`btn`,children:`Virtuelle Datenpunkte`}),(0,z.jsx)(`a`,{href:`/visu/?mode=csv_exports`,className:`btn`,children:`CSV Exporte`})]})]}),(0,z.jsxs)(`div`,{className:`overview-manage-layout single-column`,children:[(0,z.jsxs)(`form`,{className:`overview-create compact`,onSubmit:p,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Name`}),(0,z.jsx)(`input`,{value:i,onChange:e=>a(e.target.value),placeholder:`z.B. Heizkreis Standard`})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Beschreibung`}),(0,z.jsx)(`input`,{value:o,onChange:e=>s(e.target.value),placeholder:`Optional`})]}),(0,z.jsx)(`button`,{className:`btn primary`,type:`submit`,children:`+ Template`}),(0,z.jsx)(`button`,{className:`btn`,type:`button`,onClick:()=>t.current?.click(),children:`Import`}),(0,z.jsx)(`input`,{ref:t,type:`file`,accept:`application/json,.json`,hidden:!0,onChange:e=>g(e.target.files?.[0])})]}),c&&(0,z.jsx)(`div`,{className:`error-box small`,children:c}),u&&(0,z.jsx)(`div`,{className:`empty-mini`,children:`Templates werden geladen…`}),(0,z.jsx)(`div`,{className:`project-page-grid`,children:n.map(e=>(0,z.jsxs)(`div`,{className:`visu-card compact`,children:[(0,z.jsx)(`div`,{className:`visu-title`,children:e.name}),(0,z.jsxs)(`div`,{className:`visu-meta`,children:[e.width,`×`,e.height,e.placeholder_count?` · ${e.placeholder_count} Platzhalter`:``]}),e.description&&(0,z.jsx)(`div`,{className:`visu-description`,children:e.description}),(0,z.jsxs)(`div`,{className:`visu-actions`,children:[(0,z.jsx)(`a`,{className:`mini-btn`,href:`/visu/?mode=templates&template_id=${e.id}`,children:`Bearbeiten`}),(0,z.jsx)(`button`,{className:`mini-btn`,type:`button`,onClick:()=>h(e.id),children:`Export`}),(0,z.jsx)(`button`,{className:`mini-btn danger`,type:`button`,onClick:()=>m(e.id),children:`Löschen`})]})]},e.id))})]})]})})}var Br=[{value:`15m`,label:`15 Min`},{value:`1h`,label:`1 h`},{value:`6h`,label:`6 h`},{value:`12h`,label:`12 h`},{value:`24h`,label:`24 h`},{value:`7d`,label:`7 Tage`},{value:`30d`,label:`30 Tage`},{value:`90d`,label:`90 Tage`},{value:`180d`,label:`6 Monate`}],Vr=[`auto`,`10s`,`30s`,`1m`,`5m`,`10m`,`15m`,`30m`,`1h`,`6h`,`12h`,`1d`],Hr=[{value:`mean`,label:`Mittelwert`},{value:`last`,label:`Letzter Wert`},{value:`min`,label:`Minimum`},{value:`max`,label:`Maximum`}];function Ur(e){return[`influx`,e.database||``,e.measurement||``,e.tag_key||``,e.tag_value||``].join(`|`)}function Wr(e){return String(e?.measurement||``).trim()}function Gr(e,t=`,`){let n=String(e??``);return/["\r\n]/.test(n)||n.includes(t)?`"${n.replace(/"/g,`""`)}"`:n}function Kr(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.click(),setTimeout(()=>URL.revokeObjectURL(n),1e3)}function qr(e,t=8){let n=[];for(let r=0;r<e.length;r+=t)n.push(e.slice(r,r+t));return n}function Jr(e){let t=[...e?.values||[]].reverse().find(e=>e.value!==null&&e.value!==void 0&&e.value!==``);return t?{value:t.value,time:t.time}:{value:``,time:``}}function Yr(){let[e,t]=(0,_.useState)([]),[n,r]=(0,_.useState)(``),[i,a]=(0,_.useState)([]),[o,s]=(0,_.useState)([]),[c,l]=(0,_.useState)([]),[u,d]=(0,_.useState)(0),[f,p]=(0,_.useState)(`Neue Selection`),[m,h]=(0,_.useState)(``),[g,v]=(0,_.useState)(``),[y,b]=(0,_.useState)(`24h`),[x,S]=(0,_.useState)(`auto`),[C,w]=(0,_.useState)(`last`),[T,E]=(0,_.useState)(`;`),[D,O]=(0,_.useState)({}),[ee,te]=(0,_.useState)(!1),[ne,k]=(0,_.useState)(!1),[A,re]=(0,_.useState)(``);async function j(){l((await H(`monitoring_selections`)).selections||[])}(0,_.useEffect)(()=>{j().catch(e=>re(e.message))},[]),(0,_.useEffect)(()=>{let e=!0;return te(!0),re(``),H(`trend_sources`,{database:n}).then(n=>{e&&(t(n.databases||[]),r(e=>e||n.selected_database||n.databases?.[0]||``),a(n.points||[]))}).catch(t=>{e&&re(t.message)}).finally(()=>{e&&te(!1)}),()=>{e=!1}},[n]),(0,_.useEffect)(()=>{g&&(i.some(e=>Wr(e)===g)||v(``))},[g,i]),(0,_.useEffect)(()=>{let e=!0;async function t(){if(!o.length){O({});return}let t={};for(let e of qr(o,8))((await U(`trend_data`,{series_json:JSON.stringify(e.map((e,t)=>({...e,id:Ur(e)||`selection-${t}`,label:e.tag_value||e.label}))),range:y,interval:`auto`,aggregate:`last`})).data?.series||[]).forEach(e=>{t[Ur(e)]=Jr(e)});e&&O(t)}return t().catch(t=>{e&&re(t.message)}),()=>{e=!1}},[o,y]);let M=(0,_.useMemo)(()=>Array.from(new Set(i.map(Wr).filter(Boolean))).sort((e,t)=>e.localeCompare(t,`de`,{numeric:!0,sensitivity:`base`})),[i]),N=(0,_.useMemo)(()=>{let e=m.trim().toLowerCase();return i.filter(t=>{let n=`${t.measurement} ${t.tag_key} ${t.tag_value} ${t.label}`.toLowerCase(),r=!e||n.includes(e),i=!g||Wr(t)===g;return r&&i})},[i,m,g]),P=new Set(o.map(Ur));function ie(e){P.has(Ur(e))||s(t=>[...t,e])}function F(e){s(t=>t.filter(t=>Ur(t)!==e))}async function I(){let e=f.trim()||`Selection ${c.length+1}`;re(``),k(!0);try{d((await U(`monitoring_selection_save`,{selection_id:u||``,name:e,database_name:n,range_value:y,interval_value:x,aggregate_value:C,csv_delimiter:T,points_json:JSON.stringify(o)})).selection_id||u),p(e),await j()}catch(e){re(e.message)}finally{k(!1)}}function L(e){s(e.points||[]),p(e.name||`Selection`),d(Number(e.id||0)),r(e.database_name||n),b(e.range_value||`24h`),S(e.interval_value||`auto`),w(e.aggregate_value||`last`),E(e.csv_delimiter||e.delimiter_value||`;`)}async function R(e){if(e?.id){re(``);try{await U(`monitoring_selection_delete`,{selection_id:e.id}),Number(e.id)===Number(u)&&d(0),await j()}catch(e){re(e.message)}}}function ae(){let e=[[`Datenpunkt`,`Measurement`,`Tag`,`Wert`,`Zeit`,`Datenbank`].map(e=>Gr(e,T)).join(T),...o.map(e=>{let t=D[Ur(e)]||{};return[e.tag_value,e.measurement,e.tag_key,t.value??``,t.time??``,e.database].map(e=>Gr(e,T)).join(T)})];Kr(new Blob([`\uFEFF${e.join(`\r
|
||
`)}`],{type:`text/csv;charset=utf-8`}),`${f||`monitoring_selection`}_lastvalues.csv`)}async function oe(e=`csv`){let t=new Map,n=[`Zeit`,...o.map(e=>e.tag_value||e.label)];for(let e of qr(o,8))((await U(`trend_data`,{series_json:JSON.stringify(e.map(e=>({...e,id:Ur(e),label:e.tag_value||e.label}))),range:y,interval:x,aggregate:C})).data?.series||[]).forEach(e=>{(e.values||[]).forEach(n=>{t.has(n.time)||t.set(n.time,{Zeit:n.time}),t.get(n.time)[e.label]=n.value??``})});let r=Array.from(t.values()).sort((e,t)=>String(e.Zeit).localeCompare(String(t.Zeit)));if(e===`xls`){let e=[`<table>`,`<tr>${n.map(e=>`<th>${String(e).replace(/[<>&]/g,``)}</th>`).join(``)}</tr>`,...r.map(e=>`<tr>${n.map(t=>`<td>${String(e[t]??``).replace(/[<>&]/g,``)}</td>`).join(``)}</tr>`),`</table>`].join(``);Kr(new Blob([e],{type:`application/vnd.ms-excel;charset=utf-8`}),`${f||`monitoring_selection`}_trend.xls`);return}let i=[n.map(e=>Gr(e,T)).join(T),...r.map(e=>n.map(t=>Gr(e[t]??``,T)).join(T))];Kr(new Blob([`\uFEFF${i.join(`\r
|
||
`)}`],{type:`text/csv;charset=utf-8`}),`${f||`monitoring_selection`}_trend.csv`)}return(0,z.jsx)(`div`,{className:`page-shell full viewer-full`,children:(0,z.jsxs)(`section`,{className:`glass-card visu-workspace monitoring-page`,children:[(0,z.jsxs)(`div`,{className:`section-head visu-topbar`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`div`,{className:`eyebrow`,children:`Monitoring`}),(0,z.jsx)(`h1`,{children:`Datenpunkt-Uebersicht`}),(0,z.jsx)(`p`,{className:`subline`,children:`Datenpunkte auswaehlen, Selections speichern und manuelle CSV- oder Excel-Exporte ziehen.`})]}),(0,z.jsxs)(`div`,{className:`designer-actions`,children:[(0,z.jsx)(Gt,{}),(0,z.jsx)(`a`,{href:`/visu/?mode=dashboard`,className:`btn`,children:`Dashboard`}),(0,z.jsx)(`a`,{href:`/visu/?mode=manage`,className:`btn`,children:`Verwaltung`}),(0,z.jsx)(`a`,{href:`/visu/?mode=templates`,className:`btn`,children:`Templates`}),(0,z.jsx)(`a`,{href:`/visu/?mode=monitoring`,className:`btn primary`,children:`Datenpunkte`}),(0,z.jsx)(`a`,{href:`/visu/?mode=virtual_points`,className:`btn`,children:`Virtuelle Datenpunkte`}),(0,z.jsx)(`a`,{href:`/visu/?mode=csv_exports`,className:`btn`,children:`CSV Exporte`})]})]}),A&&(0,z.jsx)(`div`,{className:`error-box small`,children:A}),(0,z.jsxs)(`div`,{className:`monitoring-layout`,children:[(0,z.jsxs)(`div`,{className:`monitoring-panel`,children:[(0,z.jsxs)(`div`,{className:`prop-grid-2`,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Influx DB`}),(0,z.jsx)(`select`,{value:n,onChange:e=>r(e.target.value),children:e.map(e=>(0,z.jsx)(`option`,{value:e,children:e},e))})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Measurement / FROM`}),(0,z.jsxs)(`select`,{value:g,onChange:e=>v(e.target.value),children:[(0,z.jsx)(`option`,{value:``,children:`Alle Measurements`}),M.map(e=>(0,z.jsx)(`option`,{value:e,children:e},e))]})]})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Suchen`}),(0,z.jsx)(`input`,{value:m,onChange:e=>h(e.target.value),placeholder:`Measurement, Tag, Datenpunkt...`})]}),ee&&(0,z.jsx)(`div`,{className:`small-muted`,children:`Datenpunkte werden geladen...`}),(0,z.jsx)(`div`,{className:`monitoring-point-list`,children:N.map(e=>(0,z.jsxs)(`button`,{type:`button`,className:`monitoring-point-row ${P.has(Ur(e))?`is-selected`:``}`,onClick:()=>ie(e),children:[(0,z.jsx)(`strong`,{children:e.tag_value}),(0,z.jsxs)(`span`,{children:[e.measurement,` - `,e.tag_key]})]},Ur(e)))})]}),(0,z.jsxs)(`div`,{className:`monitoring-panel`,children:[(0,z.jsxs)(`div`,{className:`monitoring-selection-head`,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Selection Name`}),(0,z.jsx)(`input`,{value:f,onChange:e=>p(e.target.value)})]}),(0,z.jsx)(`button`,{type:`button`,className:`btn primary`,disabled:ne,onClick:I,children:ne?`Speichert...`:`Speichern`})]}),(0,z.jsxs)(`div`,{className:`prop-grid-2`,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Zeitbereich`}),(0,z.jsx)(`select`,{value:y,onChange:e=>b(e.target.value),children:Br.map(e=>(0,z.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Intervall`}),(0,z.jsx)(`select`,{value:x,onChange:e=>S(e.target.value),children:Vr.map(e=>(0,z.jsx)(`option`,{value:e,children:e},e))})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Aggregation`}),(0,z.jsx)(`select`,{value:C,onChange:e=>w(e.target.value),children:Hr.map(e=>(0,z.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`CSV Trennzeichen`}),(0,z.jsxs)(`select`,{value:T,onChange:e=>E(e.target.value),children:[(0,z.jsx)(`option`,{value:`,`,children:`Komma (,)`}),(0,z.jsx)(`option`,{value:`;`,children:`Semikolon (;)`}),(0,z.jsx)(`option`,{value:`\\t`,children:`Tab`})]})]})]}),(0,z.jsxs)(`div`,{className:`designer-actions`,children:[(0,z.jsx)(`button`,{type:`button`,className:`btn small`,disabled:!o.length,onClick:ae,children:`LastValues CSV`}),(0,z.jsx)(`button`,{type:`button`,className:`btn small`,disabled:!o.length,onClick:()=>oe(`csv`),children:`Trend CSV`}),(0,z.jsx)(`button`,{type:`button`,className:`btn small`,disabled:!o.length,onClick:()=>oe(`xls`),children:`Excel`}),(0,z.jsx)(`a`,{href:`/visu/?mode=csv_exports`,className:`btn small`,children:`Zyklische Exporte`})]}),(0,z.jsx)(`div`,{className:`monitoring-selection-list`,children:o.map(e=>{let t=D[Ur(e)]||{};return(0,z.jsxs)(`div`,{className:`monitoring-selection-row`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`strong`,{children:e.tag_value}),(0,z.jsxs)(`span`,{children:[t.value!==``&&t.value!==void 0?t.value:`...`,` `,t.time?`- ${new Date(t.time).toLocaleString(`de-DE`)}`:``]})]}),(0,z.jsx)(`button`,{type:`button`,className:`mini-btn danger`,onClick:()=>F(Ur(e)),children:`Entfernen`})]},Ur(e))})}),(0,z.jsxs)(`div`,{className:`monitoring-saved-list`,children:[(0,z.jsx)(`div`,{className:`small-title`,children:`Gespeicherte Selections`}),c.map(e=>(0,z.jsxs)(`div`,{className:`monitoring-saved-row`,children:[(0,z.jsx)(`button`,{type:`button`,className:`mini-btn`,onClick:()=>L(e),children:e.name}),(0,z.jsx)(`button`,{type:`button`,className:`mini-btn danger`,onClick:()=>R(e),children:`Loeschen`})]},e.id||e.name))]})]})]})]})})}var Xr=[{value:`trend_csv`,label:`Trend CSV`},{value:`lastvalues_csv`,label:`LastValues CSV`}],Zr=[{value:`interval`,label:`Taeglich im Intervall`},{value:`daily`,label:`Taeglich`},{value:`weekly`,label:`Woechentlich`},{value:`monthly`,label:`Monatlich`}],Qr=[{value:1,label:`Mo`},{value:2,label:`Di`},{value:3,label:`Mi`},{value:4,label:`Do`},{value:5,label:`Fr`},{value:6,label:`Sa`},{value:7,label:`So`}];function $r(e){return String(e||``).split(`,`).map(e=>Number(e)).filter((e,t,n)=>e>=1&&e<=7&&n.indexOf(e)===t)}function ei(e){return[...e].sort((e,t)=>e-t).join(`,`)}function ti(e){if(!e)return`-`;let t=new Date(e);return Number.isNaN(t.getTime())?String(e):t.toLocaleString(`de-DE`)}function ni(e){let t=Number(e||0);return t<1024?`${t} B`:t<1024*1024?`${(t/1024).toFixed(1)} KB`:t<1024*1024*1024?`${(t/(1024*1024)).toFixed(1)} MB`:`${(t/(1024*1024*1024)).toFixed(1)} GB`}function ri(e){return{idle:`Idle`,running:`Laeuft`,success:`OK`,error:`Fehler`,queued:`Queue`,deleted:`Geloescht`}[e]||e||`-`}function ii(e=0,t=0){return{id:0,project_id:e,selection_id:t,name:``,export_kind:`trend_csv`,csv_delimiter:`;`,enabled:!0,schedule_kind:`daily`,interval_minutes:60,time_of_day:`06:00`,weekdays:[1,2,3,4,5],month_day:1,target_dir:`csv_exports`,filename_pattern:`{selection}_{yyyy}-{mm}-{dd}_{hh}-{ii}-{ss}.csv`,retention_days:30,next_run_at:``,last_status:`idle`,last_error:``}}function ai(e){return{id:Number(e.id||0),project_id:Number(e.project_id||0),selection_id:Number(e.selection_id||0),name:e.name||``,export_kind:e.export_kind||`trend_csv`,csv_delimiter:e.csv_delimiter||`;`,enabled:Number(e.enabled??1)===1,schedule_kind:e.schedule_kind||`daily`,interval_minutes:Number(e.interval_minutes||60),time_of_day:e.time_of_day||`00:00`,weekdays:$r(e.weekdays),month_day:Number(e.month_day||1),target_dir:e.target_dir||`csv_exports`,filename_pattern:e.filename_pattern||`{selection}_{yyyy}-{mm}-{dd}_{hh}-{ii}-{ss}.csv`,retention_days:Number(e.retention_days||30),next_run_at:e.next_run_at||``,last_status:e.last_status||`idle`,last_error:e.last_error||``}}function oi(){let[e,t]=(0,_.useState)([]),[n,r]=(0,_.useState)([]),[i,a]=(0,_.useState)(0),[o,s]=(0,_.useState)([]),[c,l]=(0,_.useState)([]),[u,d]=(0,_.useState)(ii()),[f,p]=(0,_.useState)(!1),[m,h]=(0,_.useState)(!1),[g,v]=(0,_.useState)(``);async function y(){let e=(await H(`projects`)).projects||[];t(e),a(t=>t||Number(e[0]?.id||0))}async function b(){let e=await H(`monitoring_selections`);r(e.selections||[]),d(t=>t.selection_id?t:{...t,selection_id:Number(e.selections?.[0]?.id||0)})}async function x(e){if(!e){s([]),l([]);return}p(!0);try{let[t,n]=await Promise.all([H(`csv_export_jobs`,{project_id:e}),H(`csv_export_files`,{project_id:e})]);s(t.jobs||[]),l(n.files||[])}catch(e){v(e.message)}finally{p(!1)}}(0,_.useEffect)(()=>{y().catch(e=>v(e.message)),b().catch(e=>v(e.message))},[]),(0,_.useEffect)(()=>{i&&x(i).catch(e=>v(e.message))},[i]),(0,_.useEffect)(()=>{if(!i)return;let e=window.setInterval(()=>{x(i).catch(()=>{})},15e3);return()=>window.clearInterval(e)},[i]),(0,_.useEffect)(()=>{d(e=>e.project_id===i?e:{...e,project_id:i})},[i]);function S(){d(ii(i,Number(n[0]?.id||0)))}function C(e){d(ai(e)),a(Number(e.project_id||i||0))}async function w(){if(!i){v(`Bitte zuerst ein Projekt fuer den Exportjob waehlen.`);return}if(!u.selection_id){v(`Bitte zuerst eine gespeicherte Selection fuer den Exportjob waehlen.`);return}h(!0),v(``);try{await U(`csv_export_job_save`,{job_id:u.id||``,project_id:i,selection_id:u.selection_id,name:u.name,export_kind:u.export_kind,csv_delimiter:u.csv_delimiter,enabled:u.enabled?`1`:``,schedule_kind:u.schedule_kind,interval_minutes:u.interval_minutes,time_of_day:u.time_of_day,weekdays:ei(u.weekdays),month_day:u.month_day,target_dir:u.target_dir,filename_pattern:u.filename_pattern,retention_days:u.retention_days}),await x(i),S()}catch(e){v(e.message)}finally{h(!1)}}async function T(e){if(e?.id){v(``);try{await U(`csv_export_job_delete`,{job_id:e.id}),await x(i),Number(u.id)===Number(e.id)&&S()}catch(e){v(e.message)}}}async function E(e){if(e?.id){v(``);try{await U(`csv_export_file_delete`,{file_id:e.id}),await x(i)}catch(e){v(e.message)}}}function D(e){d(t=>({...t,weekdays:t.weekdays.includes(e)?t.weekdays.filter(t=>t!==e):[...t.weekdays,e]}))}return(0,z.jsx)(`div`,{className:`page-shell full viewer-full`,children:(0,z.jsxs)(`section`,{className:`glass-card visu-workspace monitoring-page`,children:[(0,z.jsxs)(`div`,{className:`section-head visu-topbar`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`div`,{className:`eyebrow`,children:`CSV Exporte`}),(0,z.jsx)(`h1`,{children:`Zyklische Exportjobs`}),(0,z.jsx)(`p`,{className:`subline`,children:`Eigene Seite fuer Scheduler, CSV Pool und wiederkehrende Dateiexporte.`})]}),(0,z.jsxs)(`div`,{className:`designer-actions`,children:[(0,z.jsx)(Gt,{}),(0,z.jsx)(`a`,{href:`/visu/?mode=dashboard`,className:`btn`,children:`Dashboard`}),(0,z.jsx)(`a`,{href:`/visu/?mode=manage`,className:`btn`,children:`Verwaltung`}),(0,z.jsx)(`a`,{href:`/visu/?mode=templates`,className:`btn`,children:`Templates`}),(0,z.jsx)(`a`,{href:`/visu/?mode=monitoring`,className:`btn`,children:`Datenpunkte`}),(0,z.jsx)(`a`,{href:`/visu/?mode=virtual_points`,className:`btn`,children:`Virtuelle Datenpunkte`}),(0,z.jsx)(`a`,{href:`/visu/?mode=csv_exports`,className:`btn primary`,children:`CSV Exporte`})]})]}),g&&(0,z.jsx)(`div`,{className:`error-box small`,children:g}),(0,z.jsxs)(`div`,{className:`monitoring-export-layout`,children:[(0,z.jsxs)(`div`,{className:`monitoring-panel`,children:[(0,z.jsxs)(`div`,{className:`monitoring-export-head`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`div`,{className:`eyebrow`,children:`Scheduler`}),(0,z.jsx)(`h2`,{children:`Exportjobs`}),(0,z.jsx)(`p`,{className:`small-muted`,children:`Projekt waehlen, gespeicherte Selection zuweisen und den Laufplan hinterlegen.`})]}),(0,z.jsx)(`button`,{type:`button`,className:`btn small`,onClick:S,children:`+ Neuer Job`})]}),(0,z.jsxs)(`div`,{className:`prop-grid-2`,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Projekt`}),(0,z.jsxs)(`select`,{value:i||``,onChange:e=>a(Number(e.target.value||0)),children:[(0,z.jsx)(`option`,{value:``,children:`Projekt waehlen`}),e.map(e=>(0,z.jsxs)(`option`,{value:e.id,children:[e.year,` - `,e.project_number,` - `,e.name]},e.id))]})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Gespeicherte Selection`}),(0,z.jsxs)(`select`,{value:u.selection_id||``,onChange:e=>d(t=>({...t,selection_id:Number(e.target.value||0)})),children:[(0,z.jsx)(`option`,{value:``,children:`Selection waehlen`}),n.map(e=>(0,z.jsx)(`option`,{value:e.id,children:e.name},e.id))]})]})]}),(0,z.jsxs)(`div`,{className:`monitoring-job-list`,children:[f&&(0,z.jsx)(`div`,{className:`small-muted`,children:`Exportjobs werden geladen...`}),o.map(e=>(0,z.jsxs)(`div`,{className:`monitoring-job-row`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`strong`,{children:e.name}),(0,z.jsxs)(`span`,{children:[e.selection_name||`Selection #${e.selection_id}`,` - `,ri(e.last_status),` - Next: `,ti(e.next_run_at)]})]}),(0,z.jsxs)(`div`,{className:`monitoring-row-actions`,children:[(0,z.jsx)(`button`,{type:`button`,className:`mini-btn`,onClick:()=>C(e),children:`Bearbeiten`}),(0,z.jsx)(`button`,{type:`button`,className:`mini-btn danger`,onClick:()=>T(e),children:`Loeschen`})]})]},e.id)),!f&&o.length===0&&(0,z.jsx)(`div`,{className:`empty-mini`,children:`Noch keine Exportjobs fuer dieses Projekt vorhanden.`})]}),(0,z.jsxs)(`div`,{className:`monitoring-job-form`,children:[(0,z.jsxs)(`div`,{className:`prop-grid-2`,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Job Name`}),(0,z.jsx)(`input`,{value:u.name,onChange:e=>d(t=>({...t,name:e.target.value})),placeholder:`z.B. Tagesexport HKL`})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Exporttyp`}),(0,z.jsx)(`select`,{value:u.export_kind,onChange:e=>d(t=>({...t,export_kind:e.target.value})),children:Xr.map(e=>(0,z.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`CSV Trennzeichen`}),(0,z.jsxs)(`select`,{value:u.csv_delimiter,onChange:e=>d(t=>({...t,csv_delimiter:e.target.value})),children:[(0,z.jsx)(`option`,{value:`,`,children:`Komma (,)`}),(0,z.jsx)(`option`,{value:`;`,children:`Semikolon (;)`}),(0,z.jsx)(`option`,{value:`\\t`,children:`Tab`})]})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Planung`}),(0,z.jsx)(`select`,{value:u.schedule_kind,onChange:e=>d(t=>({...t,schedule_kind:e.target.value})),children:Zr.map(e=>(0,z.jsx)(`option`,{value:e.value,children:e.label},e.value))})]})]}),(0,z.jsxs)(`div`,{className:`prop-grid-3`,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Intervall (Min)`}),(0,z.jsx)(`input`,{type:`number`,min:`1`,disabled:u.schedule_kind!==`interval`,value:Number(u.interval_minutes||60),onChange:e=>d(t=>({...t,interval_minutes:Number(e.target.value||60)}))})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Uhrzeit`}),(0,z.jsx)(`input`,{type:`time`,disabled:u.schedule_kind===`interval`,value:u.time_of_day||`06:00`,onChange:e=>d(t=>({...t,time_of_day:e.target.value}))})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Monatstag`}),(0,z.jsx)(`input`,{type:`number`,min:`1`,max:`31`,disabled:u.schedule_kind!==`monthly`,value:Number(u.month_day||1),onChange:e=>d(t=>({...t,month_day:Number(e.target.value||1)}))})]})]}),u.schedule_kind===`weekly`&&(0,z.jsx)(`div`,{className:`monitoring-weekdays`,children:Qr.map(e=>(0,z.jsxs)(`label`,{className:`monitoring-weekday ${u.weekdays.includes(e.value)?`is-selected`:``}`,children:[(0,z.jsx)(`input`,{type:`checkbox`,checked:u.weekdays.includes(e.value),onChange:()=>D(e.value)}),(0,z.jsx)(`span`,{children:e.label})]},e.value))}),(0,z.jsxs)(`label`,{className:`check-line`,children:[(0,z.jsx)(`input`,{type:`checkbox`,checked:!!u.enabled,onChange:e=>d(t=>({...t,enabled:e.target.checked}))}),`Job aktiv`]}),(0,z.jsxs)(`div`,{className:`monitoring-job-meta`,children:[(0,z.jsxs)(`span`,{children:[`Status: `,ri(u.last_status)]}),(0,z.jsxs)(`span`,{children:[`Naechster Lauf: `,ti(u.next_run_at)]}),u.last_error?(0,z.jsxs)(`span`,{className:`danger-text`,children:[`Letzter Fehler: `,u.last_error]}):null]}),(0,z.jsxs)(`div`,{className:`designer-actions`,children:[(0,z.jsx)(`button`,{type:`button`,className:`btn primary`,disabled:m,onClick:w,children:m?`Speichert...`:`Exportjob speichern`}),(0,z.jsx)(`button`,{type:`button`,className:`btn`,onClick:S,children:`Formular leeren`})]})]})]}),(0,z.jsxs)(`div`,{className:`monitoring-panel`,children:[(0,z.jsx)(`div`,{className:`monitoring-export-head`,children:(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`div`,{className:`eyebrow`,children:`CSV Pool`}),(0,z.jsx)(`h2`,{children:`Exportdateien`}),(0,z.jsx)(`p`,{className:`small-muted`,children:`Vorhandene CSV-Dateien werden hier 30 Tage vorgehalten und danach automatisch geloescht.`})]})}),(0,z.jsxs)(`div`,{className:`monitoring-file-list`,children:[f&&(0,z.jsx)(`div`,{className:`small-muted`,children:`Dateipool wird geladen...`}),c.map(e=>(0,z.jsxs)(`div`,{className:`monitoring-file-row`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`strong`,{children:e.file_name}),(0,z.jsxs)(`span`,{children:[ri(e.status),` - `,ti(e.created_at),` - `,ni(e.file_size),` - `,e.row_count||0,` Zeilen`]})]}),(0,z.jsxs)(`div`,{className:`monitoring-row-actions`,children:[e.status===`success`&&(0,z.jsx)(`a`,{className:`mini-btn`,href:`/api/visu_api.php?action=csv_export_file_download&file_id=${e.id}`,children:`Download`}),(0,z.jsx)(`button`,{type:`button`,className:`mini-btn danger`,onClick:()=>E(e),children:`Loeschen`})]})]},e.id)),!f&&c.length===0&&(0,z.jsx)(`div`,{className:`empty-mini`,children:`Noch keine Exportdateien im Pool.`})]})]})]})]})})}function si(e){return`${e}-${Date.now()}-${Math.round(Math.random()*1e5)}`}function ci(e){return e?{type:e.type||``,variable_type:e.type||e.variable_type||``,external_id:e.external_id||``,variable_id:e.variable_id||``,point_key:e.point_key||``,point_label:e.label||e.point_label||``,label:e.label||e.point_label||``,source_key:e.source_key||k(e)}:null}function li(e){return e?.type===`point`?e.ref?.point_label||e.ref?.label||e.ref?.point_key||`[Quelle]`:e?.type===`number`?e.value||`0`:e?.type===`operator`?e.value||`+`:`?`}function ui(e){return e?.type===`point`?`Quelle`:e?.type===`number`?`Zahl`:e?.type===`operator`?`Operator`:`Baustein`}function di(e){return e.map(e=>li(e)).join(` `)}function fi(e){return String(e||``).toLowerCase().normalize(`NFD`).replace(/[\u0300-\u036f]/g,``).replace(/[^a-z0-9]+/g,`_`).replace(/^_+|_+$/g,``).replace(/_{2,}/g,`_`)}function pi(e){return e&&(e.value_formatted||e.value)||`--`}function mi(e){return!Array.isArray(e)||!e.length?[{id:si(`token-point`),type:`point`,ref:null},{id:si(`token-op`),type:`operator`,value:`+`},{id:si(`token-number`),type:`number`,value:`0`}]:e.map(e=>({...e,id:e.id||si(`token`)}))}function hi(e=0){return{id:0,project_id:e,point_key:``,name:``,description:``,unit:``,decimals:2,sort_order:100,formula:mi([])}}function gi(e,t){return{id:Number(e.id||0),project_id:Number(e.project_id||t||0),point_key:e.point_key||``,name:e.name||``,description:e.description||``,unit:e.unit||``,decimals:Number(e.decimals??2),sort_order:Number(e.sort_order??100),formula:mi(e.formula)}}function _i({value:e,onChange:t,disabled:n=!1}){let[r,i]=(0,_.useState)([]),[a,o]=(0,_.useState)(``);(0,_.useEffect)(()=>{H(`projects`).then(e=>i(e.projects||[])).catch(()=>i([]))},[]);let s=(0,_.useMemo)(()=>r.filter(e=>[e.year,e.project_number,e.name,e.customer_name].filter(Boolean).join(` `).toLowerCase().includes(a.trim().toLowerCase())),[r,a]);return(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Projekt`}),(0,z.jsx)(`input`,{className:`form-input`,disabled:n,value:a,onChange:e=>o(e.target.value),placeholder:`Projekt suchen`}),(0,z.jsxs)(`select`,{className:`form-input`,disabled:n,value:e||``,onChange:e=>t(Number(e.target.value||0)),children:[(0,z.jsx)(`option`,{value:``,children:`Projekt waehlen`}),s.map(e=>(0,z.jsxs)(`option`,{value:e.id,children:[e.year,` - `,e.project_number,` - `,e.name]},e.id))]})]})}function vi({projectId:e,value:t,onChange:n,excludePointKey:r=``,disabled:i=!1}){let[a,o]=(0,_.useState)([]),[s,c]=(0,_.useState)(``),[l,u]=(0,_.useState)(!1);(0,_.useEffect)(()=>{if(!e){o([]);return}let t=!0;return u(!0),H(`project_values`,{project_id:e}).then(e=>{t&&o(e.values||[])}).catch(()=>{t&&o([])}).finally(()=>{t&&u(!1)}),()=>{t=!1}},[e]);let d=(0,_.useMemo)(()=>a.filter(e=>r&&e.type===`virtual`&&e.point_key===r?!1:[e.type,e.label,e.point_key,e.value_formatted,e.group,e.external_id].filter(Boolean).join(` `).toLowerCase().includes(s.trim().toLowerCase())),[a,s,r]);function f(e){let t=a.find(t=>t.source_key===e);n(t?ci(t):null)}return(0,z.jsxs)(`div`,{className:`field compact-field`,children:[(0,z.jsx)(`label`,{children:`Quelle`}),(0,z.jsx)(`input`,{className:`form-input`,disabled:i,value:s,onChange:e=>c(e.target.value),placeholder:l?`Laedt...`:`Datenpunkt oder VDP suchen`}),(0,z.jsxs)(`select`,{className:`form-input`,disabled:i||l,value:t?.source_key||k(t)||``,onChange:e=>f(e.target.value),children:[(0,z.jsx)(`option`,{value:``,children:`Quelle waehlen`}),d.slice(0,500).map(e=>(0,z.jsx)(`option`,{value:e.source_key,children:e.label},e.source_key))]})]})}function yi({projectId:e,pointKey:t,targetLabel:n,targetPointKey:r,tokens:i,liveValuesMap:a,targetValue:o,onChange:s,disabled:c=!1}){let[l,u]=(0,_.useState)(-1);function d(e,t){let n=[...i];n[e]={...n[e],...t},s(n)}function f(e,t={}){s([...i,{id:si(`token-${e}`),type:e,...e===`number`?{value:`0`}:{},...e===`operator`?{value:`+`}:{},...e===`point`?{ref:null}:{},...t}])}function p(e){s(i.filter((t,n)=>n!==e))}function m(e,t){if(e<0||t<0||e===t)return;let n=[...i],[r]=n.splice(e,1);n.splice(t,0,r),s(n)}let h=di(i);return(0,z.jsxs)(`div`,{className:`vdp-formula-editor`,children:[(0,z.jsxs)(`div`,{className:`vdp-formula-head`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`div`,{className:`small-title`,children:`Baustein-Editor`}),(0,z.jsx)(`div`,{className:`small-muted`,children:`Quellen, Zahlen und Operatoren von links nach rechts verbinden.`})]}),(0,z.jsxs)(`div`,{className:`vdp-flow-badge`,children:[i.length,` Bausteine`]})]}),(0,z.jsxs)(`div`,{className:`vdp-token-toolbar`,children:[(0,z.jsx)(`button`,{disabled:c,type:`button`,className:`btn small`,onClick:()=>f(`point`),children:`+ Quelle`}),(0,z.jsx)(`button`,{disabled:c,type:`button`,className:`btn small`,onClick:()=>f(`number`),children:`+ Zahl`}),[`+`,`-`,`*`,`/`,`(`,`)`].map(e=>(0,z.jsx)(`button`,{disabled:c,type:`button`,className:`btn small ghost`,onClick:()=>f(`operator`,{value:e}),children:e},e))]}),(0,z.jsx)(`div`,{className:`vdp-flow-stage`,children:(0,z.jsx)(`div`,{className:`vdp-flow-scroll`,children:(0,z.jsxs)(`div`,{className:`vdp-flow-list`,children:[i.map((n,r)=>(0,z.jsxs)(`div`,{className:`vdp-flow-item is-${n.type}`,draggable:!c,onDragStart:()=>u(r),onDragOver:e=>e.preventDefault(),onDrop:()=>{m(l,r),u(-1)},onDragEnd:()=>u(-1),children:[(0,z.jsx)(`div`,{className:`vdp-flow-link`,"aria-hidden":`true`,children:(0,z.jsx)(`span`,{})}),(0,z.jsxs)(`div`,{className:`vdp-token-card`,children:[(0,z.jsxs)(`div`,{className:`vdp-token-head`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`strong`,{children:ui(n)}),(0,z.jsx)(`div`,{className:`small-muted`,children:li(n)})]}),(0,z.jsx)(`button`,{disabled:c,type:`button`,className:`mini-btn danger`,onClick:()=>p(r),children:`Entfernen`})]}),n.type===`point`&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(vi,{projectId:e,value:n.ref||null,excludePointKey:t,disabled:c,onChange:e=>d(r,{ref:e})}),(0,z.jsxs)(`div`,{className:`vdp-token-live`,children:[(0,z.jsx)(`span`,{children:`Aktuell`}),(0,z.jsx)(`strong`,{children:pi(j(n.ref||null,a))})]})]}),n.type===`number`&&(0,z.jsxs)(`div`,{className:`field compact-field`,children:[(0,z.jsx)(`label`,{children:`Wert`}),(0,z.jsx)(`input`,{className:`form-input`,disabled:c,value:n.value??`0`,onChange:e=>d(r,{value:e.target.value})})]}),n.type===`operator`&&(0,z.jsxs)(`div`,{className:`field compact-field`,children:[(0,z.jsx)(`label`,{children:`Operator`}),(0,z.jsx)(`select`,{className:`form-input`,disabled:c,value:n.value||`+`,onChange:e=>d(r,{value:e.target.value}),children:[`+`,`-`,`*`,`/`,`(`,`)`].map(e=>(0,z.jsx)(`option`,{value:e,children:e},e))})]}),(0,z.jsxs)(`div`,{className:`vdp-token-actions`,children:[(0,z.jsx)(`button`,{disabled:c||r===0,type:`button`,className:`mini-btn`,onClick:()=>m(r,r-1),children:`<`}),(0,z.jsx)(`button`,{disabled:c||r>=i.length-1,type:`button`,className:`mini-btn`,onClick:()=>m(r,r+1),children:`>`})]})]})]},n.id||r)),(0,z.jsxs)(`div`,{className:`vdp-flow-target-wrap`,onDragOver:e=>e.preventDefault(),onDrop:()=>{m(l,Math.max(0,i.length-1)),u(-1)},children:[(0,z.jsx)(`div`,{className:`vdp-flow-link`,"aria-hidden":`true`,children:(0,z.jsx)(`span`,{})}),(0,z.jsxs)(`div`,{className:`vdp-flow-target`,children:[(0,z.jsx)(`div`,{className:`eyebrow`,children:`Ziel`}),(0,z.jsx)(`strong`,{children:n||`Neuer virtueller Datenpunkt`}),(0,z.jsx)(`span`,{children:r||`point_key fehlt noch`}),(0,z.jsxs)(`div`,{className:`vdp-flow-target-value`,children:[(0,z.jsx)(`span`,{children:`Aktuell`}),(0,z.jsx)(`strong`,{children:pi(o)})]})]})]})]})})}),(0,z.jsx)(`div`,{className:`vdp-formula-preview`,children:h||`Noch keine Formel vorhanden.`})]})}function bi(){let e=new URLSearchParams(window.location.search),[t,n]=(0,_.useState)(Number(e.get(`project_id`)||0)),[r,i]=(0,_.useState)([]),[a,o]=(0,_.useState)([]),[s,c]=(0,_.useState)(0),[l,u]=(0,_.useState)(hi(t)),[d,f]=(0,_.useState)(!1),[p,m]=(0,_.useState)(!1),[h,g]=(0,_.useState)(``),[v,y]=(0,_.useState)(!1);async function b(e){if(!e){o([]);return}try{o((await H(`project_values`,{project_id:e})).values||[])}catch{}}async function x(e){if(!e){i([]),o([]),c(0),u(hi(0));return}f(!0),g(``);try{let[t,n]=await Promise.all([H(`virtual_points`,{project_id:e}),H(`project_values`,{project_id:e})]),r=t.virtual_points||[];if(i(r),o(n.values||[]),y(!!t.can_edit),r.length>0){let t=r[0];c(Number(t.id||0)),u(gi(t,e))}else c(0),u(hi(e))}catch(e){g(e.message),i([]),o([])}finally{f(!1)}}(0,_.useEffect)(()=>{x(t)},[t]),(0,_.useEffect)(()=>{if(!t)return;let e=window.setInterval(()=>{b(t)},5e3);return()=>window.clearInterval(e)},[t]);let S=(0,_.useMemo)(()=>l.point_key||fi(l.name),[l.point_key,l.name]),C=(0,_.useMemo)(()=>{let e={};return a.forEach(t=>{t?.source_key&&(e[t.source_key]=t),t?.variable_id&&(e[String(t.variable_id)]=t)}),e},[a]),w=(0,_.useMemo)(()=>S&&a.find(e=>e.type===`virtual`&&e.point_key===S)||null,[a,S]);function T(e){c(Number(e.id||0)),u(gi(e,t))}function E(){c(0),u(hi(t))}async function D(){if(!t){g(`Bitte zuerst ein Projekt waehlen.`);return}m(!0),g(``);try{await U(`virtual_point_save`,{point_id:l.id||``,project_id:t,point_key:S,name:l.name,description:l.description,unit:l.unit,decimals:l.decimals,sort_order:l.sort_order,formula_json:JSON.stringify(l.formula||[])}),await x(t)}catch(e){g(e.message)}finally{m(!1)}}async function O(){if(l.id){g(``);try{await U(`virtual_point_delete`,{point_id:l.id}),await x(t)}catch(e){g(e.message)}}}return(0,z.jsx)(`div`,{className:`page-shell full viewer-full`,children:(0,z.jsxs)(`section`,{className:`glass-card visu-workspace monitoring-page`,children:[(0,z.jsxs)(`div`,{className:`section-head visu-topbar`,children:[(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`div`,{className:`eyebrow`,children:`Virtuelle Datenpunkte`}),(0,z.jsx)(`h1`,{children:`VDP Editor`}),(0,z.jsx)(`p`,{className:`subline`,children:`Projektbezogene Formeln als links-nach-rechts Bausteinkette bauen und wie normale Werte in der Visu verwenden.`})]}),(0,z.jsxs)(`div`,{className:`designer-actions`,children:[(0,z.jsx)(Gt,{}),(0,z.jsx)(`a`,{href:`/visu/?mode=dashboard`,className:`btn`,children:`Dashboard`}),(0,z.jsx)(`a`,{href:`/visu/?mode=manage`,className:`btn`,children:`Verwaltung`}),(0,z.jsx)(`a`,{href:`/visu/?mode=templates`,className:`btn`,children:`Templates`}),(0,z.jsx)(`a`,{href:`/visu/?mode=monitoring`,className:`btn`,children:`Datenpunkte`}),(0,z.jsx)(`a`,{href:`/visu/?mode=virtual_points`,className:`btn primary`,children:`Virtuelle Datenpunkte`}),(0,z.jsx)(`a`,{href:`/visu/?mode=csv_exports`,className:`btn`,children:`CSV Exporte`})]})]}),h&&(0,z.jsx)(`div`,{className:`error-box small`,children:h}),(0,z.jsxs)(`div`,{className:`vdp-layout`,children:[(0,z.jsxs)(`aside`,{className:`vdp-sidebar`,children:[(0,z.jsx)(_i,{value:t,onChange:n}),(0,z.jsx)(`button`,{type:`button`,className:`btn small primary`,disabled:!t||!v,onClick:E,children:`+ Neuer VDP`}),d&&(0,z.jsx)(`div`,{className:`small-muted`,children:`VDPs werden geladen...`}),(0,z.jsx)(`div`,{className:`vdp-point-list`,children:r.map(e=>(0,z.jsxs)(`button`,{type:`button`,className:`vdp-point-row ${Number(s)===Number(e.id)?`is-selected`:``}`,onClick:()=>T(e),children:[(0,z.jsx)(`strong`,{children:e.name}),(0,z.jsx)(`span`,{children:e.point_key})]},e.id))})]}),(0,z.jsxs)(`div`,{className:`vdp-editor-panel`,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Name`}),(0,z.jsx)(`input`,{className:`form-input`,disabled:!v,value:l.name||``,onChange:e=>{let t=e.target.value;u(e=>({...e,name:t,point_key:fi(t)}))}})]}),(0,z.jsxs)(`div`,{className:`vdp-meta-grid`,children:[(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Punkt-Key (automatisch)`}),(0,z.jsx)(`input`,{className:`form-input`,disabled:!0,value:S||``,placeholder:`wird aus dem Namen erzeugt`})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Einheit`}),(0,z.jsx)(`input`,{className:`form-input`,disabled:!v,value:l.unit||``,onChange:e=>u(t=>({...t,unit:e.target.value})),placeholder:`z.B. kW`})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Nachkommastellen`}),(0,z.jsx)(`input`,{className:`form-input`,disabled:!v,type:`number`,min:`0`,max:`8`,value:Number(l.decimals??2),onChange:e=>u(t=>({...t,decimals:Math.max(0,Math.min(8,Number(e.target.value||0)))}))})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Sortierung`}),(0,z.jsx)(`input`,{className:`form-input`,disabled:!v,type:`number`,value:Number(l.sort_order??100),onChange:e=>u(t=>({...t,sort_order:Number(e.target.value||100)}))})]})]}),(0,z.jsxs)(`div`,{className:`field`,children:[(0,z.jsx)(`label`,{children:`Beschreibung`}),(0,z.jsx)(`textarea`,{className:`form-input`,disabled:!v,value:l.description||``,onChange:e=>u(t=>({...t,description:e.target.value})),rows:`3`})]}),(0,z.jsx)(yi,{projectId:t,pointKey:S,targetLabel:l.name,targetPointKey:S,tokens:Array.isArray(l.formula)?l.formula:[],liveValuesMap:C,targetValue:w,disabled:!v,onChange:e=>u(t=>({...t,formula:e}))}),(0,z.jsxs)(`div`,{className:`designer-actions`,children:[(0,z.jsx)(`button`,{type:`button`,className:`btn primary`,disabled:!v||p,onClick:D,children:p?`Speichert...`:`VDP speichern`}),(0,z.jsx)(`button`,{type:`button`,className:`btn danger`,disabled:!v||!l.id,onClick:O,children:`Loeschen`})]})]})]})]})})}function xi(){let e=new URLSearchParams(window.location.search);return{mode:e.get(`mode`)||`dashboard`,pageId:Number(e.get(`page_id`)||0),templateId:Number(e.get(`template_id`)||0)}}function Si(){ae();let e=(0,_.useMemo)(()=>xi(),[]);return e.mode===`designer`?(0,z.jsx)(Rr,{pageId:e.pageId}):e.mode===`templates`?(0,z.jsx)(zr,{templateId:e.templateId}):e.mode===`monitoring`?(0,z.jsx)(Yr,{}):e.mode===`csv_exports`?(0,z.jsx)(oi,{}):e.mode===`virtual_points`?(0,z.jsx)(bi,{}):e.mode===`viewer`?(0,z.jsx)(wn,{pageId:e.pageId}):e.mode===`manage`?(0,z.jsx)(et,{mode:`manage`}):(0,z.jsx)(et,{mode:`dashboard`})}v.createRoot(document.getElementById(`root`)).render((0,z.jsx)(_.StrictMode,{children:(0,z.jsx)(Si,{})})); |