added progress bar and scheduler
This commit is contained in:
1 parent
3d46f8543b
commit
f9350587fe
18 files changed
+624
-165
No files matched your search
+1
@@ -0,0 +1 @@
|
||||
*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.fixed{position:fixed}.inset-0{top:0;right:0;bottom:0;left:0}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-tLine truncated
|
||||
-1
@@ -1 +0,0 @@
|
||||
*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.fixed{position:fixed}.inset-0{top:0;right:0;bottom:0;left:0}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-4{margin-bottom:1rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.block{display:bloLine truncated
|
||||
+148
@@ -0,0 +1,148 @@
|
||||
(function(){const f=document.createElement("link").relList;if(f&&f.supports&&f.supports("modulepreload"))return;for(const d of document.querySelectorAll('link[rel="modulepreload"]'))c(d);new MutationObserver(d=>{for(const m of d)if(m.type==="childList")for(const y of m.addedNodes)y.tagName==="LINK"&&y.rel==="modulepreload"&&c(y)}).observe(document,{childList:!0,subtree:!0});function r(d){const m={};return d.integrity&&(m.integrity=d.integrity),d.referrerPolicy&&(m.referrerPolicy=d.referrerPolicy),d.crossOrigin==="use-credentials"?m.credentials="include":d.crossOrigin==="anonymous"?m.credentials="omit":m.credentials="same-origin",m}function c(d){if(d.ep)return;d.ep=!0;const m=r(d);fetch(d.href,m)}})();function By(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}var Vf={exports:{}},Ya={};/**
|
||||
* @license React
|
||||
* react-jsx-runtime.production.js
|
||||
*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/var m0;function qy(){if(m0)return Ya;m0=1;var i=Symbol.for("react.transitional.element"),f=Symbol.for("react.fragment");function r(c,d,m){var y=null;if(m!==void 0&&(y=""+m),d.key!==void 0&&(y=""+d.key),"key"in d){m={};for(var x in d)x!=="key"&&(m[x]=d[x])}else m=d;return d=m.ref,{$$typeof:i,type:c,key:y,ref:d!==void 0?d:null,props:m}}return Ya.Fragment=f,Ya.jsx=r,Ya.jsxs=r,Ya}var h0;function wy(){return h0||(h0=1,Vf.exports=qy()),Vf.exports}var p=wy(),Qf={exports:{}},et={};/**
|
||||
* @license React
|
||||
* react.production.js
|
||||
*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/var y0;function Ly(){if(y0)return et;y0=1;var i=Symbol.for("react.transitional.element"),f=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),c=Symbol.for("react.strict_mode"),d=Symbol.for("react.profiler"),m=Symbol.for("react.consumer"),y=Symbol.for("react.context"),x=Symbol.for("react.forward_ref"),S=Symbol.for("react.suspense"),v=Symbol.for("react.memo"),N=Symbol.for("react.lazy"),C=Symbol.for("react.activity"),Y=Symbol.iterator;function V(b){return b===null||typeof b!="object"?null:(b=Y&&b[Y]||b["@@iterator"],typeof b=="function"?b:null)}var K={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},w=Object.assign,R={};function B(b,H,q){this.props=b,this.context=H,this.refs=R,this.updater=q||K}B.prototype.isReactComponent={},B.prototype.setState=function(b,H){if(typeof b!="object"&&typeof b!="function"&&b!=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,b,H,"setState")},B.prototype.forceUpdate=function(b){this.updater.enqueueForceUpdate(this,b,"forceUpdate")};function k(){}k.prototype=B.prototype;function X(b,H,q){this.props=b,this.context=H,this.refs=R,this.updater=q||K}var W=X.prototype=new k;W.constructor=X,w(W,B.prototype),W.isPureReactComponent=!0;var at=Array.isArray;function Ot(){}var tt={H:null,A:null,T:null,S:null},Ht=Object.prototype.hasOwnProperty;function de(b,H,q){var G=q.ref;return{$$typeof:i,type:b,key:H,ref:G!==void 0?G:null,props:q}}function Pt(b,H){return de(b.type,H,b.props)}function Vt(b){return typeof b=="object"&&b!==null&&b.$$typeof===i}function Xt(b){var H={"=":"=0",":":"=2"};return"$"+b.replace(/[=:]/g,function(q){return H[q]})}var Ye=/\/+/g;function Bt(b,H){return typeof b=="object"&&b!==null&&b.key!=null?Xt(""+b.key):H.toString(36)}function te(b){switch(b.status){case"fulfilled":return b.value;case"rejected":throw b.reason;default:switch(typeof b.status=="string"?b.then(Ot,Ot):(b.status="pending",b.then(function(H){b.status==="pending"&&(b.status="fulfilled",b.value=H)},function(H){b.status==="pending"&&(b.status="rejected",b.reason=H)})),b.status){case"fulfilled":return b.value;case"rejected":throw b.reason}}throw b}function D(b,H,q,G,$){var ut=typeof b;(ut==="undefined"||ut==="boolean")&&(b=null);var ft=!1;if(b===null)ft=!0;else switch(ut){case"bigint":case"string":case"number":ft=!0;break;case"object":switch(b.$$typeof){case i:case f:ft=!0;break;case N:return ft=b._init,D(ft(b._payload),H,q,G,$)}}if(ft)return $=$(b),ft=G===""?"."+Bt(b,0):G,at($)?(q="",ft!=null&&(q=ft.replace(Ye,"$&/")+"/"),D($,H,q,"",function(Xe){return Xe})):$!=null&&(Vt($)&&($=Pt($,q+($.key==null||b&&b.key===$.key?"":(""+$.key).replace(Ye,"$&/")+"/")+ft)),H.push($)),1;ft=0;var lt=G===""?".":G+":";if(at(b))for(var xt=0;xt<b.length;xt++)G=b[xt],ut=lt+Bt(G,xt),ft+=D(G,H,q,ut,$);else if(xt=V(b),typeof xt=="function")for(b=xt.call(b),xt=0;!(G=b.next()).done;)G=G.value,ut=lt+Bt(G,xt++),ft+=D(G,H,q,ut,$);else if(ut==="object"){if(typeof b.then=="function")return D(te(b),H,q,G,$);throw H=String(b),Error("Objects are not valid as a React child (found: "+(H==="[object Object]"?"object with keys {"+Object.keys(b).join(", ")+"}":H)+"). If you meant to render a collection of children, use an array instead.")}return ft}function L(b,H,q){if(b==null)return b;var G=[],$=0;return D(b,G,"","",function(ut){return H.call(q,ut,$++)}),G}function I(b){if(b._status===-1){var H=b._result;H=H(),H.then(function(q){(b._status===0||b._status===-1)&&(b._status=1,b._result=q)},function(q){(b._status===0||b._status===-1)&&(b._status=2,b._result=q)}),b._status===-1&&(b._status=0,b._result=H)}if(b._status===1)return b._result.default;throw b._result}var rt=typeof reportError=="function"?reportError:function(b){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var H=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof b=="object"&&b!==null&&typeof b.message=="string"?String(b.message):String(b),error:b});if(!window.dispatchEvent(H))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",b);return}console.error(b)},ct={map:L,forEach:function(b,H,q){L(b,function(){H.apply(this,arguments)},q)},count:function(b){var H=0;return L(b,function(){H++}),H},toArray:function(b){return L(b,function(H){return H})||[]},only:function(b){if(!Vt(b))throw Error("React.Children.only expected to receive a single React element child.");return b}};return et.Activity=C,et.Children=ct,et.Component=B,et.Fragment=r,et.Profiler=d,et.PureComponent=X,et.StrictMode=c,et.Suspense=S,et.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=tt,et.__COMPILER_RUNTIME={__proto__:null,c:function(b){return tt.H.useMemoCache(b)}},et.cache=function(b){return function(){return b.apply(null,arguments)}},et.cacheSignal=function(){return null},et.cloneElement=function(b,H,q){if(b==null)throw Error("The arLine truncated
|
||||
* @license React
|
||||
* scheduler.production.js
|
||||
*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/var p0;function Xy(){return p0||(p0=1,(function(i){function f(D,L){var I=D.length;D.push(L);t:for(;0<I;){var rt=I-1>>>1,ct=D[rt];if(0<d(ct,L))D[rt]=L,D[I]=ct,I=rt;else break t}}function r(D){return D.length===0?null:D[0]}function c(D){if(D.length===0)return null;var L=D[0],I=D.pop();if(I!==L){D[0]=I;t:for(var rt=0,ct=D.length,b=ct>>>1;rt<b;){var H=2*(rt+1)-1,q=D[H],G=H+1,$=D[G];if(0>d(q,I))G<ct&&0>d($,q)?(D[rt]=$,D[G]=I,rt=G):(D[rt]=q,D[H]=I,rt=H);else if(G<ct&&0>d($,I))D[rt]=$,D[G]=I,rt=G;else break t}}return L}function d(D,L){var I=D.sortIndex-L.sortIndex;return I!==0?I:D.id-L.id}if(i.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var m=performance;i.unstable_now=function(){return m.now()}}else{var y=Date,x=y.now();i.unstable_now=function(){return y.now()-x}}var S=[],v=[],N=1,C=null,Y=3,V=!1,K=!1,w=!1,R=!1,B=typeof setTimeout=="function"?setTimeout:null,k=typeof clearTimeout=="function"?clearTimeout:null,X=typeof setImmediate<"u"?setImmediate:null;function W(D){for(var L=r(v);L!==null;){if(L.callback===null)c(v);else if(L.startTime<=D)c(v),L.sortIndex=L.expirationTime,f(S,L);else break;L=r(v)}}function at(D){if(w=!1,W(D),!K)if(r(S)!==null)K=!0,Ot||(Ot=!0,Xt());else{var L=r(v);L!==null&&te(at,L.startTime-D)}}var Ot=!1,tt=-1,Ht=5,de=-1;function Pt(){return R?!0:!(i.unstable_now()-de<Ht)}function Vt(){if(R=!1,Ot){var D=i.unstable_now();de=D;var L=!0;try{t:{K=!1,w&&(w=!1,k(tt),tt=-1),V=!0;var I=Y;try{e:{for(W(D),C=r(S);C!==null&&!(C.expirationTime>D&&Pt());){var rt=C.callback;if(typeof rt=="function"){C.callback=null,Y=C.priorityLevel;var ct=rt(C.expirationTime<=D);if(D=i.unstable_now(),typeof ct=="function"){C.callback=ct,W(D),L=!0;break e}C===r(S)&&c(S),W(D)}else c(S);C=r(S)}if(C!==null)L=!0;else{var b=r(v);b!==null&&te(at,b.startTime-D),L=!1}}break t}finally{C=null,Y=I,V=!1}L=void 0}}finally{L?Xt():Ot=!1}}}var Xt;if(typeof X=="function")Xt=function(){X(Vt)};else if(typeof MessageChannel<"u"){var Ye=new MessageChannel,Bt=Ye.port2;Ye.port1.onmessage=Vt,Xt=function(){Bt.postMessage(null)}}else Xt=function(){B(Vt,0)};function te(D,L){tt=B(function(){D(i.unstable_now())},L)}i.unstable_IdlePriority=5,i.unstable_ImmediatePriority=1,i.unstable_LowPriority=4,i.unstable_NormalPriority=3,i.unstable_Profiling=null,i.unstable_UserBlockingPriority=2,i.unstable_cancelCallback=function(D){D.callback=null},i.unstable_forceFrameRate=function(D){0>D||125<D?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):Ht=0<D?Math.floor(1e3/D):5},i.unstable_getCurrentPriorityLevel=function(){return Y},i.unstable_next=function(D){switch(Y){case 1:case 2:case 3:var L=3;break;default:L=Y}var I=Y;Y=L;try{return D()}finally{Y=I}},i.unstable_requestPaint=function(){R=!0},i.unstable_runWithPriority=function(D,L){switch(D){case 1:case 2:case 3:case 4:case 5:break;default:D=3}var I=Y;Y=D;try{return L()}finally{Y=I}},i.unstable_scheduleCallback=function(D,L,I){var rt=i.unstable_now();switch(typeof I=="object"&&I!==null?(I=I.delay,I=typeof I=="number"&&0<I?rt+I:rt):I=rt,D){case 1:var ct=-1;break;case 2:ct=250;break;case 5:ct=1073741823;break;case 4:ct=1e4;break;default:ct=5e3}return ct=I+ct,D={id:N++,callback:L,priorityLevel:D,startTime:I,expirationTime:ct,sortIndex:-1},I>rt?(D.sortIndex=I,f(v,D),r(S)===null&&D===r(v)&&(w?(k(tt),tt=-1):w=!0,te(at,I-rt))):(D.sortIndex=ct,f(S,D),K||V||(K=!0,Ot||(Ot=!0,Xt()))),D},i.unstable_shouldYield=Pt,i.unstable_wrapCallback=function(D){var L=Y;return function(){var I=Y;Y=L;try{return D.apply(this,arguments)}finally{Y=I}}}})(Kf)),Kf}var b0;function Gy(){return b0||(b0=1,Jf.exports=Xy()),Jf.exports}var kf={exports:{}},Wt={};/**
|
||||
* @license React
|
||||
* react-dom.production.js
|
||||
*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/var g0;function Vy(){if(g0)return Wt;g0=1;var i=us();function f(S){var v="https://react.dev/errors/"+S;if(1<arguments.length){v+="?args[]="+encodeURIComponent(arguments[1]);for(var N=2;N<arguments.length;N++)v+="&args[]="+encodeURIComponent(arguments[N])}return"Minified React error #"+S+"; visit "+v+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function r(){}var c={d:{f:r,r:function(){throw Error(f(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},d=Symbol.for("react.portal");function m(S,v,N){var C=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:d,key:C==null?null:""+C,children:S,containerInfo:v,implementation:N}}var y=i.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function x(S,v){if(S==="font")return"";if(typeof v=="string")return v==="use-credentials"?v:""}return Wt.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=c,Wt.createPortal=function(S,v){var N=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!v||v.nodeType!==1&&v.nodeType!==9&&v.nodeType!==11)throw Error(f(299));return m(S,v,null,N)},Wt.flushSync=function(S){var v=y.T,N=c.p;try{if(y.T=null,c.p=2,S)return S()}finally{y.T=v,c.p=N,c.d.f()}},Wt.preconnect=function(S,v){typeof S=="string"&&(v?(v=v.crossOrigin,v=typeof v=="string"?v==="use-credentials"?v:"":void 0):v=null,c.d.C(S,v))},Wt.prefetchDNS=function(S){typeof S=="string"&&c.d.D(S)},Wt.preinit=function(S,v){if(typeof S=="string"&&v&&typeof v.as=="string"){var N=v.as,C=x(N,v.crossOrigin),Y=typeof v.integrity=="string"?v.integrity:void 0,V=typeof v.fetchPriority=="string"?v.fetchPriority:void 0;N==="style"?c.d.S(S,typeof v.precedence=="string"?v.precedence:void 0,{crossOrigin:C,integrity:Y,fetchPriority:V}):N==="script"&&c.d.X(S,{crossOrigin:C,integrity:Y,fetchPriority:V,nonce:typeof v.nonce=="string"?v.nonce:void 0})}},Wt.preinitModule=function(S,v){if(typeof S=="string")if(typeof v=="object"&&v!==null){if(v.as==null||v.as==="script"){var N=x(v.as,v.crossOrigin);c.d.M(S,{crossOrigin:N,integrity:typeof v.integrity=="string"?v.integrity:void 0,nonce:typeof v.nonce=="string"?v.nonce:void 0})}}else v==null&&c.d.M(S)},Wt.preload=function(S,v){if(typeof S=="string"&&typeof v=="object"&&v!==null&&typeof v.as=="string"){var N=v.as,C=x(N,v.crossOrigin);c.d.L(S,N,{crossOrigin:C,integrity:typeof v.integrity=="string"?v.integrity:void 0,nonce:typeof v.nonce=="string"?v.nonce:void 0,type:typeof v.type=="string"?v.type:void 0,fetchPriority:typeof v.fetchPriority=="string"?v.fetchPriority:void 0,referrerPolicy:typeof v.referrerPolicy=="string"?v.referrerPolicy:void 0,imageSrcSet:typeof v.imageSrcSet=="string"?v.imageSrcSet:void 0,imageSizes:typeof v.imageSizes=="string"?v.imageSizes:void 0,media:typeof v.media=="string"?v.media:void 0})}},Wt.preloadModule=function(S,v){if(typeof S=="string")if(v){var N=x(v.as,v.crossOrigin);c.d.m(S,{as:typeof v.as=="string"&&v.as!=="script"?v.as:void 0,crossOrigin:N,integrity:typeof v.integrity=="string"?v.integrity:void 0})}else c.d.m(S)},Wt.requestFormReset=function(S){c.d.r(S)},Wt.unstable_batchedUpdates=function(S,v){return S(v)},Wt.useFormState=function(S,v,N){return y.H.useFormState(S,v,N)},Wt.useFormStatus=function(){return y.H.useHostTransitionStatus()},Wt.version="19.2.6",Wt}var S0;function Qy(){if(S0)return kf.exports;S0=1;function i(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(i)}catch(f){console.error(f)}}return i(),kf.exports=Vy(),kf.exports}/**
|
||||
* @license React
|
||||
* react-dom-client.production.js
|
||||
*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/var x0;function Zy(){if(x0)return Xa;x0=1;var i=Gy(),f=us(),r=Qy();function c(t){var e="https://react.dev/errors/"+t;if(1<arguments.length){e+="?args[]="+encodeURIComponent(arguments[1]);for(var l=2;l<arguments.length;l++)e+="&args[]="+encodeURIComponent(arguments[l])}return"Minified React error #"+t+"; visit "+e+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function d(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)}function m(t){var e=t,l=t;if(t.alternate)for(;e.return;)e=e.return;else{t=e;do e=t,(e.flags&4098)!==0&&(l=e.return),t=e.return;while(t)}return e.tag===3?l:null}function y(t){if(t.tag===13){var e=t.memoizedState;if(e===null&&(t=t.alternate,t!==null&&(e=t.memoizedState)),e!==null)return e.dehydrated}return null}function x(t){if(t.tag===31){var e=t.memoizedState;if(e===null&&(t=t.alternate,t!==null&&(e=t.memoizedState)),e!==null)return e.dehydrated}return null}function S(t){if(m(t)!==t)throw Error(c(188))}function v(t){var e=t.alternate;if(!e){if(e=m(t),e===null)throw Error(c(188));return e!==t?null:t}for(var l=t,n=e;;){var a=l.return;if(a===null)break;var u=a.alternate;if(u===null){if(n=a.return,n!==null){l=n;continue}break}if(a.child===u.child){for(u=a.child;u;){if(u===l)return S(a),t;if(u===n)return S(a),e;u=u.sibling}throw Error(c(188))}if(l.return!==n.return)l=a,n=u;else{for(var s=!1,o=a.child;o;){if(o===l){s=!0,l=a,n=u;break}if(o===n){s=!0,n=a,l=u;break}o=o.sibling}if(!s){for(o=u.child;o;){if(o===l){s=!0,l=u,n=a;break}if(o===n){s=!0,n=u,l=a;break}o=o.sibling}if(!s)throw Error(c(189))}}if(l.alternate!==n)throw Error(c(190))}if(l.tag!==3)throw Error(c(188));return l.stateNode.current===l?t:e}function N(t){var e=t.tag;if(e===5||e===26||e===27||e===6)return t;for(t=t.child;t!==null;){if(e=N(t),e!==null)return e;t=t.sibling}return null}var C=Object.assign,Y=Symbol.for("react.element"),V=Symbol.for("react.transitional.element"),K=Symbol.for("react.portal"),w=Symbol.for("react.fragment"),R=Symbol.for("react.strict_mode"),B=Symbol.for("react.profiler"),k=Symbol.for("react.consumer"),X=Symbol.for("react.context"),W=Symbol.for("react.forward_ref"),at=Symbol.for("react.suspense"),Ot=Symbol.for("react.suspense_list"),tt=Symbol.for("react.memo"),Ht=Symbol.for("react.lazy"),de=Symbol.for("react.activity"),Pt=Symbol.for("react.memo_cache_sentinel"),Vt=Symbol.iterator;function Xt(t){return t===null||typeof t!="object"?null:(t=Vt&&t[Vt]||t["@@iterator"],typeof t=="function"?t:null)}var Ye=Symbol.for("react.client.reference");function Bt(t){if(t==null)return null;if(typeof t=="function")return t.$$typeof===Ye?null:t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case w:return"Fragment";case B:return"Profiler";case R:return"StrictMode";case at:return"Suspense";case Ot:return"SuspenseList";case de:return"Activity"}if(typeof t=="object")switch(t.$$typeof){case K:return"Portal";case X:return t.displayName||"Context";case k:return(t._context.displayName||"Context")+".Consumer";case W:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case tt:return e=t.displayName||null,e!==null?e:Bt(t.type)||"Memo";case Ht:e=t._payload,t=t._init;try{return Bt(t(e))}catch{}}return null}var te=Array.isArray,D=f.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,L=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,I={pending:!1,data:null,method:null,action:null},rt=[],ct=-1;function b(t){return{current:t}}function H(t){0>ct||(t.current=rt[ct],rt[ct]=null,ct--)}function q(t,e){ct++,rt[ct]=t.current,t.current=e}var G=b(null),$=b(null),ut=b(null),ft=b(null);function lt(t,e){switch(q(ut,e),q($,t),q(G,null),e.nodeType){case 9:case 11:t=(t=e.documentElement)&&(t=t.namespaceURI)?Bd(t):0;break;default:if(t=e.tagName,e=e.namespaceURI)e=Bd(e),t=qd(e,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}H(G),q(G,t)}function xt(){H(G),H($),H(ut)}function Xe(t){t.memoizedState!==null&&q(ft,t);var e=G.current,l=qd(e,t.type);e!==l&&(q($,t),q(G,l))}function Je(t){$.current===t&&(H(G),H($)),ft.current===t&&(H(ft),Ba._currentValue=I)}var an,$a;function me(t){if(an===void 0)try{throw Error()}catch(l){var e=l.stack.trim().match(/\n( *(at )?)/);an=e&&e[1]||"",$a=-1<l.stack.indexOf(`
|
||||
at`)?" (<anonymous>)":-1<l.stack.indexOf("@")?"@unknown:0:0":""}return`
|
||||
`+an+t+$a}var Ti=!1;function Oi(t,e){if(!t||Ti)return"";Ti=!0;var l=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var n={DetermineComponentFrameRoot:function(){try{if(e){var j=function(){throw Error()};if(Object.defineProperty(j.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(j,[])}catch(_){var O=_}Reflect.construct(t,[],j)}else{try{j.call()}catch(_){O=_}t.call(j.prototype)}}else{try{throw Error()}catch(_){O=_}(j=t())&&typeof j.catch=="function"&&j.catch(function(){})}}catch(_){if(_&&O&&typeof _.stack=="string")return[_.stack,O.stack]}return[null,null]}};n.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var a=Object.getOwnPropertyDescriptor(n.DetermineComponentFrameRoot,"name");a&&a.configurable&&Object.defineProperty(n.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var u=n.DetermineComponentFrameRoot(),s=u[0],o=u[1];if(s&&o){var h=s.split(`
|
||||
`),T=o.split(`
|
||||
`);for(a=n=0;n<h.length&&!h[n].includes("DetermineComponentFrameRoot");)n++;for(;a<T.length&&!T[a].includes("DetermineComponentFrameRoot");)a++;if(n===h.length||a===T.length)for(n=h.length-1,a=T.length-1;1<=n&&0<=a&&h[n]!==T[a];)a--;for(;1<=n&&0<=a;n--,a--)if(h[n]!==T[a]){if(n!==1||a!==1)do if(n--,a--,0>a||h[n]!==T[a]){var M=`
|
||||
`+h[n].replace(" at new "," at ");return t.displayName&&M.includes("<anonymous>")&&(M=M.replace("<anonymous>",t.displayName)),M}while(1<=n&&0<=a);break}}}finally{Ti=!1,Error.prepareStackTrace=l}return(l=t?t.displayName||t.name:"")?me(l):""}function mm(t,e){switch(t.tag){case 26:case 27:case 5:return me(t.type);case 16:return me("Lazy");case 13:return t.child!==e&&e!==null?me("Suspense Fallback"):me("Suspense");case 19:return me("SuspenseList");case 0:case 15:return Oi(t.type,!1);case 11:return Oi(t.type.render,!1);case 1:return Oi(t.type,!0);case 31:return me("Activity");default:return""}}function ds(t){try{var e="",l=null;do e+=mm(t,l),l=t,t=t.return;while(t);return e}catch(n){return`
|
||||
Error generating stack: `+n.message+`
|
||||
`+n.stack}}var Ni=Object.prototype.hasOwnProperty,_i=i.unstable_scheduleCallback,Ri=i.unstable_cancelCallback,hm=i.unstable_shouldYield,ym=i.unstable_requestPaint,he=i.unstable_now,vm=i.unstable_getCurrentPriorityLevel,ms=i.unstable_ImmediatePriority,hs=i.unstable_UserBlockingPriority,Wa=i.unstable_NormalPriority,pm=i.unstable_LowPriority,ys=i.unstable_IdlePriority,bm=i.log,gm=i.unstable_setDisableYieldValue,kn=null,ye=null;function ol(t){if(typeof bm=="function"&&gm(t),ye&&typeof ye.setStrictMode=="function")try{ye.setStrictMode(kn,t)}catch{}}var ve=Math.clz32?Math.clz32:Em,Sm=Math.log,xm=Math.LN2;function Em(t){return t>>>=0,t===0?32:31-(Sm(t)/xm|0)|0}var Ia=256,Pa=262144,tu=4194304;function ql(t){var e=t&42;if(e!==0)return e;switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function eu(t,e,l){var n=t.pendingLanes;if(n===0)return 0;var a=0,u=t.suspendedLanes,s=t.pingedLanes;t=t.warmLanes;var o=n&134217727;return o!==0?(n=o&~u,n!==0?a=ql(n):(s&=o,s!==0?a=ql(s):l||(l=o&~t,l!==0&&(a=ql(l))))):(o=n&~u,o!==0?a=ql(o):s!==0?a=ql(s):l||(l=n&~t,l!==0&&(a=ql(l)))),a===0?0:e!==0&&e!==a&&(e&u)===0&&(u=a&-a,l=e&-e,u>=l||u===32&&(l&4194048)!==0)?e:a}function Fn(t,e){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&e)===0}function zm(t,e){switch(t){case 1:case 2:case 4:case 8:case 64:return e+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 e+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 vs(){var t=tu;return tu<<=1,(tu&62914560)===0&&(tu=4194304),t}function Di(t){for(var e=[],l=0;31>l;l++)e.push(t);return e}function $n(t,e){t.pendingLanes|=e,e!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function Am(t,e,l,n,a,u){var s=t.pendingLanes;t.pendingLanes=l,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=l,t.entangledLanes&=l,t.errorRecoveryDisabledLanes&=l,t.shellSuspendCounter=0;var o=t.entanglements,h=t.expirationTimes,T=t.hiddenUpdates;for(l=s&~l;0<l;){var M=31-ve(l),j=1<<M;o[M]=0,h[M]=-1;var O=T[M];if(O!==null)for(T[M]=null,M=0;M<O.length;M++){var _=O[M];_!==null&&(_.lane&=-536870913)}l&=~j}n!==0&&ps(t,n,0),u!==0&&a===0&&t.tag!==0&&(t.suspendedLanes|=u&~(s&~e))}function ps(t,e,l){t.pendingLanes|=e,t.suspendedLanes&=~e;var n=31-ve(e);t.entangledLanes|=e,t.entanglements[n]=t.entanglements[n]|1073741824|l&261930}function bs(t,e){var l=t.entangledLanes|=e;for(t=t.entanglements;l;){var n=31-ve(l),a=1<<n;a&e|t[n]&e&&(t[n]|=e),l&=~a}}function gs(t,e){var l=e&-e;return l=(l&42)!==0?1:Mi(l),(l&(t.suspendedLanes|e))!==0?0:l}function Mi(t){switch(t){case 2:t=1;break;case 8:t=4;break;case 32:t=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:t=128;break;case 268435456:t=134217728;break;default:t=0}return t}function Ui(t){return t&=-t,2<t?8<t?(t&134217727)!==0?32:268435456:8:2}function Ss(){var t=L.p;return t!==0?t:(t=window.event,t===void 0?32:i0(t.type))}function xs(t,e){var l=L.p;try{return L.p=t,e()}finally{L.p=l}}var dl=Math.random().toString(36).slice(2),Jt="__reactFiber$"+dl,ne="__reactProps$"+dl,un="__reactContainer$"+dl,Ci="__reactEvents$"+dl,Tm="__reactListeners$"+dl,Om="__reactHandles$"+dl,Es="__reactResources$"+dl,Wn="__reactMarker$"+dl;function ji(t){delete t[Jt],delete t[ne],delete t[Ci],delete t[Tm],delete t[Om]}function cn(t){var e=t[Jt];if(e)return e;for(var l=t.parentNode;l;){if(e=l[un]||l[Jt]){if(l=e.alternate,e.child!==null||l!==null&&l.child!==null)for(t=Qd(t);t!==null;){if(l=t[Jt])return l;t=Qd(t)}return e}t=l,l=t.parentNode}return null}function fn(t){if(t=t[Jt]||t[un]){var e=t.tag;if(e===5||e===6||e===13||e===31||e===26||e===27||e===3)return t}return null}function In(t){var e=t.tag;if(e===5||e===26||e===27||e===6)return t.stateNode;throw Error(c(33))}function sn(t){var e=t[Es];return e||(e=t[Es]={hoistableStyles:new Map,hoistableScripts:new Map}),e}function Qt(t){t[Wn]=!0}var zs=new Set,As={};function wl(t,e){rn(t,e),rn(t+"Capture",e)}function rn(t,e){for(As[t]=e,t=0;t<e.length;t++)zs.add(e[t])}var Nm=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u21
Line truncated
|
||||
`).replace(ay,"")}function jd(t,e){return e=Cd(e),Cd(t)===e}function zt(t,e,l,n,a,u){switch(l){case"children":typeof n=="string"?e==="body"||e==="textarea"&&n===""||dn(t,n):(typeof n=="number"||typeof n=="bigint")&&e!=="body"&&dn(t,""+n);break;case"className":nu(t,"class",n);break;case"tabIndex":nu(t,"tabindex",n);break;case"dir":case"role":case"viewBox":case"width":case"height":nu(t,l,n);break;case"style":Cs(t,n,u);break;case"data":if(e!=="object"){nu(t,"data",n);break}case"src":case"href":if(n===""&&(e!=="a"||l!=="href")){t.removeAttribute(l);break}if(n==null||typeof n=="function"||typeof n=="symbol"||typeof n=="boolean"){t.removeAttribute(l);break}n=uu(""+n),t.setAttribute(l,n);break;case"action":case"formAction":if(typeof n=="function"){t.setAttribute(l,"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 u=="function"&&(l==="formAction"?(e!=="input"&&zt(t,e,"name",a.name,a,null),zt(t,e,"formEncType",a.formEncType,a,null),zt(t,e,"formMethod",a.formMethod,a,null),zt(t,e,"formTarget",a.formTarget,a,null)):(zt(t,e,"encType",a.encType,a,null),zt(t,e,"method",a.method,a,null),zt(t,e,"target",a.target,a,null)));if(n==null||typeof n=="symbol"||typeof n=="boolean"){t.removeAttribute(l);break}n=uu(""+n),t.setAttribute(l,n);break;case"onClick":n!=null&&(t.onclick=ke);break;case"onScroll":n!=null&&dt("scroll",t);break;case"onScrollEnd":n!=null&&dt("scrollend",t);break;case"dangerouslySetInnerHTML":if(n!=null){if(typeof n!="object"||!("__html"in n))throw Error(c(61));if(l=n.__html,l!=null){if(a.children!=null)throw Error(c(60));t.innerHTML=l}}break;case"multiple":t.multiple=n&&typeof n!="function"&&typeof n!="symbol";break;case"muted":t.muted=n&&typeof n!="function"&&typeof n!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(n==null||typeof n=="function"||typeof n=="boolean"||typeof n=="symbol"){t.removeAttribute("xlink:href");break}l=uu(""+n),t.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",l);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":n!=null&&typeof n!="function"&&typeof n!="symbol"?t.setAttribute(l,""+n):t.removeAttribute(l);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":n&&typeof n!="function"&&typeof n!="symbol"?t.setAttribute(l,""):t.removeAttribute(l);break;case"capture":case"download":n===!0?t.setAttribute(l,""):n!==!1&&n!=null&&typeof n!="function"&&typeof n!="symbol"?t.setAttribute(l,n):t.removeAttribute(l);break;case"cols":case"rows":case"size":case"span":n!=null&&typeof n!="function"&&typeof n!="symbol"&&!isNaN(n)&&1<=n?t.setAttribute(l,n):t.removeAttribute(l);break;case"rowSpan":case"start":n==null||typeof n=="function"||typeof n=="symbol"||isNaN(n)?t.removeAttribute(l):t.setAttribute(l,n);break;case"popover":dt("beforetoggle",t),dt("toggle",t),lu(t,"popover",n);break;case"xlinkActuate":Ke(t,"http://www.w3.org/1999/xlink","xlink:actuate",n);break;case"xlinkArcrole":Ke(t,"http://www.w3.org/1999/xlink","xlink:arcrole",n);break;case"xlinkRole":Ke(t,"http://www.w3.org/1999/xlink","xlink:role",n);break;case"xlinkShow":Ke(t,"http://www.w3.org/1999/xlink","xlink:show",n);break;case"xlinkTitle":Ke(t,"http://www.w3.org/1999/xlink","xlink:title",n);break;case"xlinkType":Ke(t,"http://www.w3.org/1999/xlink","xlink:type",n);break;case"xmlBase":Ke(t,"http://www.w3.org/XML/1998/namespace","xml:base",n);break;case"xmlLang":Ke(t,"http://www.w3.org/XML/1998/namespace","xml:lang",n);break;case"xmlSpace":Ke(t,"http://www.w3.org/XML/1998/namespace","xml:space",n);break;case"is":lu(t,"is",n);break;case"innerText":case"textContent":break;default:(!(2<l.length)||l[0]!=="o"&&l[0]!=="O"||l[1]!=="n"&&l[1]!=="N")&&(l=Um.get(l)||l,lu(t,l,n))}}function Tf(t,e,l,n,a,u){switch(l){case"style":Cs(t,n,u);break;case"dangerouslySetInnerHTML":if(n!=null){if(typeof n!="object"||!("__html"in n))throw Error(c(61));if(l=n.__html,l!=null){if(a.children!=null)throw Error(c(60));t.innerHTML=l}}break;case"children":typeof n=="string"?dn(t,n):(typeof n=="number"||typeof n=="bigint")&&dn(t,""+n);break;case"onScroll":n!=null&&dt("scroll",t);break;case"onScrollEnd":n!=null&&dt("scrollend",t);break;case"onClick":n!=null&&(t.onclick=ke);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"inne
Line truncated
|
||||
* @license lucide-react v0.468.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const ky=i=>i.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),X0=(...i)=>i.filter((f,r,c)=>!!f&&f.trim()!==""&&c.indexOf(f)===r).join(" ").trim();/**
|
||||
* @license lucide-react v0.468.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/var Fy={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/**
|
||||
* @license lucide-react v0.468.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const $y=st.forwardRef(({color:i="currentColor",size:f=24,strokeWidth:r=2,absoluteStrokeWidth:c,className:d="",children:m,iconNode:y,...x},S)=>st.createElement("svg",{ref:S,...Fy,width:f,height:f,stroke:i,strokeWidth:c?Number(r)*24/Number(f):r,className:X0("lucide",d),...x},[...y.map(([v,N])=>st.createElement(v,N)),...Array.isArray(m)?m:[m]]));/**
|
||||
* @license lucide-react v0.468.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const oe=(i,f)=>{const r=st.forwardRef(({className:c,...d},m)=>st.createElement($y,{ref:m,iconNode:f,className:X0(`lucide-${ky(i)}`,c),...d}));return r.displayName=`${i}`,r};/**
|
||||
* @license lucide-react v0.468.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const Wy=oe("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);/**
|
||||
* @license lucide-react v0.468.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const Iy=oe("CalendarClock",[["path",{d:"M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5",key:"1osxxc"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M3 10h5",key:"r794hk"}],["path",{d:"M17.5 17.5 16 16.3V14",key:"akvzfd"}],["circle",{cx:"16",cy:"16",r:"6",key:"qoo3c4"}]]);/**
|
||||
* @license lucide-react v0.468.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const Py=oe("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/**
|
||||
* @license lucide-react v0.468.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const t1=oe("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);/**
|
||||
* @license lucide-react v0.468.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const e1=oe("DatabaseBackup",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 12a9 3 0 0 0 5 2.69",key:"1ui2ym"}],["path",{d:"M21 9.3V5",key:"6k6cib"}],["path",{d:"M3 5v14a9 3 0 0 0 6.47 2.88",key:"i62tjy"}],["path",{d:"M12 12v4h4",key:"1bxaet"}],["path",{d:"M13 20a5 5 0 0 0 9-3 4.5 4.5 0 0 0-4.5-4.5c-1.33 0-2.54.54-3.41 1.41L12 16",key:"1f4ei9"}]]);/**
|
||||
* @license lucide-react v0.468.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const l1=oe("EyeOff",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);/**
|
||||
* @license lucide-react v0.468.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const n1=oe("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/**
|
||||
* @license lucide-react v0.468.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const a1=oe("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);/**
|
||||
* @license lucide-react v0.468.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const G0=oe("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);/**
|
||||
* @license lucide-react v0.468.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const u1=oe("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);/**
|
||||
* @license lucide-react v0.468.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const V0=oe("Save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);/**
|
||||
* @license lucide-react v0.468.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const i1=oe("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/**
|
||||
* @license lucide-react v0.468.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const Q0=oe("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/**
|
||||
* @license lucide-react v0.468.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const c1=oe("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function Z0(i,f){return function(){return i.apply(f,arguments)}}const{toString:f1}=Object.prototype,{getPrototypeOf:gi}=Object,{iterator:Si,toStringTag:J0}=Symbol,xi=(i=>f=>{const r=f1.call(f);return i[r]||(i[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),Le=i=>(i=i.toLowerCase(),f=>xi(f)===i),Ei=i=>f=>typeof f===i,{isArray:Kn}=Array,Jn=Ei("undefined");function Za(i){return i!==null&&!Jn(i)&&i.constructor!==null&&!Jn(i.constructor)&&re(i.constructor.isBuffer)&&i.constructor.isBuffer(i)}const K0=Le("ArrayBuffer");function s1(i){let f;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?f=ArrayBuffer.isView(i):f=i&&i.buffer&&K0(i.buffer),f}const r1=Ei("string"),re=Ei("function"),k0=Ei("number"),Ja=i=>i!==null&&typeof i=="object",o1=i=>i===!0||i===!1,yi=i=>{if(xi(i)!=="object")return!1;const f=gi(i);return(f===null||f===Object.prototype||Object.getPrototypeOf(f)===null)&&!(J0 in i)&&!(Si in i)},d1=i=>{if(!Ja(i)||Za(i))return!1;try{return Object.keys(i).length===0&&Object.getPrototypeOf(i)===Object.prototype}catch{return!1}},m1=Le("Date"),h1=Le("File"),y1=i=>!!(i&&typeof i.uri<"u"),v1=i=>i&&typeof i.getParts<"u",p1=Le("Blob"),b1=Le("FileList"),g1=i=>Ja(i)&&re(i.pipe);function S1(){return typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}}const z0=S1(),A0=typeof z0.FormData<"u"?z0.FormData:void 0,x1=i=>{if(!i)return!1;if(A0&&i instanceof A0)return!0;const f=gi(i);if(!f||f===Object.prototype||!re(i.append))return!1;const r=xi(i);return r==="formdata"||r==="object"&&re(i.toString)&&i.toString()==="[object FormData]"},E1=Le("URLSearchParams"),[z1,A1,T1,O1]=["ReadableStream","Request","Response","Headers"].map(Le),N1=i=>i.trim?i.trim():i.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Ka(i,f,{allOwnKeys:r=!1}={}){if(i===null||typeof i>"u")return;let c,d;if(typeof i!="object"&&(i=[i]),Kn(i))for(c=0,d=i.length;c<d;c++)f.call(null,i[c],c,i);else{if(Za(i))return;const m=r?Object.getOwnPropertyNames(i):Object.keys(i),y=m.length;let x;for(c=0;c<y;c++)x=m[c],f.call(null,i[x],x,i)}}function F0(i,f){if(Za(i))return null;f=f.toLowerCase();const r=Object.keys(i);let c=r.length,d;for(;c-- >0;)if(d=r[c],f===d.toLowerCase())return d;return null}const en=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,$0=i=>!Jn(i)&&i!==en;function ts(...i){const{caseless:f,skipUndefined:r}=$0(this)&&this||{},c={},d=(m,y)=>{if(y==="__proto__"||y==="constructor"||y==="prototype")return;const x=f&&F0(c,y)||y,S=es(c,x)?c[x]:void 0;yi(S)&&yi(m)?c[x]=ts(S,m):yi(m)?c[x]=ts({},m):Kn(m)?c[x]=m.slice():(!r||!Jn(m))&&(c[x]=m)};for(let m=0,y=i.length;m<y;m++)i[m]&&Ka(i[m],d);return c}const _1=(i,f,r,{allOwnKeys:c}={})=>(Ka(f,(d,m)=>{r&&re(d)?Object.defineProperty(i,m,{__proto__:null,value:Z0(d,r),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(i,m,{__proto__:null,value:d,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:c}),i),R1=i=>(i.charCodeAt(0)===65279&&(i=i.slice(1)),i),D1=(i,f,r,c)=>{i.prototype=Object.create(f.prototype,c),Object.defineProperty(i.prototype,"constructor",{__proto__:null,value:i,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(i,"super",{__proto__:null,value:f.prototype}),r&&Object.assign(i.prototype,r)},M1=(i,f,r,c)=>{let d,m,y;const x={};if(f=f||{},i==null)return f;do{for(d=Object.getOwnPropertyNames(i),m=d.length;m-- >0;)y=d[m],(!c||c(y,i,f))&&!x[y]&&(f[y]=i[y],x[y]=!0);i=r!==!1&&gi(i)}while(i&&(!r||r(i,f))&&i!==Object.prototype);return f},U1=(i,f,r)=>{i=String(i),(r===void 0||r>i.length)&&(r=i.length),r-=f.length;const c=i.indexOf(f,r);return c!==-1&&c===r},C1=i=>{if(!i)return null;if(Kn(i))return i;let f=i.length;if(!k0(f))return null;const r=new Array(f);for(;f-- >0;)r[f]=i[f];return r},j1=(i=>f=>i&&f instanceof i)(typeof Uint8Array<"u"&&gi(Uint8Array)),H1=(i,f)=>{const c=(i&&i[Si]).call(i);let d;for(;(d=c.next())&&!d.done;){const m=d.value;f.call(i,m[0],m[1])}},B1=(i,f)=>{let r;const c=[];for(;(r=i.exec(f))!==null;)c.push(r);return c},q1=Le("HTMLFormElement"),w1=i=>i.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,c,d){return c.toUpperCase()+d}),es=(({hasOwnProperty:i})=>(f,r)=>i.call(f,r))(Object.prototype),L1=Le("RegExp"),W0=(i,f)=>{const r=Object.getOwnPropertyDescriptors(i),c={};Ka(r,(d,m)=>{let y;(y=f(d,m,i))!==!1&&(c[m]=y||d)}),Object.defineProperties(i,c)},Y1=i=>{W0(i,(f,r)=>{if(re(i)&&["arguments","caller","callee"].includes(r))return!1;const c=i[r];if(re(c)){if(f.enumerable=!1,"writable"in f){f.writable=!1;return}f.set||(f.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},X1=(i,f)=>{const r={},c=d=>{d.forEach(m=>{r[m]=!0})};return Kn(i)?c(i):c(String(i).split(f)),r},G1=()=>{},V1=(i,f)=>i!=null&&Number.isFinite(i=+i)?i:f;function Q1(i){return!!(i&&re(i.append)&&i[J0]==="FormData"&&i[Si])}const Z1=i=>{const f=new WeakSet,r=c=>{if(Ja(c)){if(f.has(Line truncated
|
||||
`).forEach(function(y){d=y.indexOf(":"),r=y.substring(0,d).trim().toLowerCase(),c=y.substring(d+1).trim(),!(!r||f[r]&&$1[r])&&(r==="set-cookie"?f[r]?f[r].push(c):f[r]=[c]:f[r]=f[r]?f[r]+", "+c:c)}),f};function I1(i){let f=0,r=i.length;for(;f<r;){const c=i.charCodeAt(f);if(c!==9&&c!==32)break;f+=1}for(;r>f;){const c=i.charCodeAt(r-1);if(c!==9&&c!==32)break;r-=1}return f===0&&r===i.length?i:i.slice(f,r)}const P1=new RegExp("[\\u0000-\\u0008\\u000a-\\u001f\\u007f]+","g"),tv=new RegExp("[^\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+","g");function is(i,f){return z.isArray(i)?i.map(r=>is(r,f)):I1(String(i).replace(f,""))}const ev=i=>is(i,P1),lv=i=>is(i,tv);function P0(i){const f=Object.create(null);return z.forEach(i.toJSON(),(r,c)=>{f[c]=lv(r)}),f}const T0=Symbol("internals");function Ga(i){return i&&String(i).trim().toLowerCase()}function vi(i){return i===!1||i==null?i:z.isArray(i)?i.map(vi):ev(String(i))}function nv(i){const f=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let c;for(;c=r.exec(i);)f[c[1]]=c[2];return f}const av=i=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(i.trim());function Ff(i,f,r,c,d){if(z.isFunction(c))return c.call(this,f,r);if(d&&(f=r),!!z.isString(f)){if(z.isString(c))return f.indexOf(c)!==-1;if(z.isRegExp(c))return c.test(f)}}function uv(i){return i.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(f,r,c)=>r.toUpperCase()+c)}function iv(i,f){const r=z.toCamelCase(" "+f);["get","set","has"].forEach(c=>{Object.defineProperty(i,c+r,{__proto__:null,value:function(d,m,y){return this[c].call(this,f,d,m,y)},configurable:!0})})}let le=class{constructor(f){f&&this.set(f)}set(f,r,c){const d=this;function m(x,S,v){const N=Ga(S);if(!N)throw new Error("header name must be a non-empty string");const C=z.findKey(d,N);(!C||d[C]===void 0||v===!0||v===void 0&&d[C]!==!1)&&(d[C||S]=vi(x))}const y=(x,S)=>z.forEach(x,(v,N)=>m(v,N,S));if(z.isPlainObject(f)||f instanceof this.constructor)y(f,r);else if(z.isString(f)&&(f=f.trim())&&!av(f))y(W1(f),r);else if(z.isObject(f)&&z.isIterable(f)){let x={},S,v;for(const N of f){if(!z.isArray(N))throw TypeError("Object iterator must return a key-value pair");x[v=N[0]]=(S=x[v])?z.isArray(S)?[...S,N[1]]:[S,N[1]]:N[1]}y(x,r)}else f!=null&&m(r,f,c);return this}get(f,r){if(f=Ga(f),f){const c=z.findKey(this,f);if(c){const d=this[c];if(!r)return d;if(r===!0)return nv(d);if(z.isFunction(r))return r.call(this,d,c);if(z.isRegExp(r))return r.exec(d);throw new TypeError("parser must be boolean|regexp|function")}}}has(f,r){if(f=Ga(f),f){const c=z.findKey(this,f);return!!(c&&this[c]!==void 0&&(!r||Ff(this,this[c],c,r)))}return!1}delete(f,r){const c=this;let d=!1;function m(y){if(y=Ga(y),y){const x=z.findKey(c,y);x&&(!r||Ff(c,c[x],x,r))&&(delete c[x],d=!0)}}return z.isArray(f)?f.forEach(m):m(f),d}clear(f){const r=Object.keys(this);let c=r.length,d=!1;for(;c--;){const m=r[c];(!f||Ff(this,this[m],m,f,!0))&&(delete this[m],d=!0)}return d}normalize(f){const r=this,c={};return z.forEach(this,(d,m)=>{const y=z.findKey(c,m);if(y){r[y]=vi(d),delete r[m];return}const x=f?uv(m):String(m).trim();x!==m&&delete r[m],r[x]=vi(d),c[x]=!0}),this}concat(...f){return this.constructor.concat(this,...f)}toJSON(f){const r=Object.create(null);return z.forEach(this,(c,d)=>{c!=null&&c!==!1&&(r[d]=f&&z.isArray(c)?c.join(", "):c)}),r}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([f,r])=>f+": "+r).join(`
|
||||
`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(f){return f instanceof this?f:new this(f)}static concat(f,...r){const c=new this(f);return r.forEach(d=>c.set(d)),c}static accessor(f){const c=(this[T0]=this[T0]={accessors:{}}).accessors,d=this.prototype;function m(y){const x=Ga(y);c[x]||(iv(d,y),c[x]=!0)}return z.isArray(f)?f.forEach(m):m(f),this}};le.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);z.reduceDescriptors(le.prototype,({value:i},f)=>{let r=f[0].toUpperCase()+f.slice(1);return{get:()=>i,set(c){this[r]=c}}});z.freezeMethods(le);const cv="[REDACTED ****]";function fv(i){if(z.hasOwnProp(i,"toJSON"))return!0;let f=Object.getPrototypeOf(i);for(;f&&f!==Object.prototype;){if(z.hasOwnProp(f,"toJSON"))return!0;f=Object.getPrototypeOf(f)}return!1}function sv(i,f){const r=new Set(f.map(m=>String(m).toLowerCase())),c=[],d=m=>{if(m===null||typeof m!="object"||z.isBuffer(m))return m;if(c.indexOf(m)!==-1)return;m instanceof le&&(m=m.toJSON()),c.push(m);let y;if(z.isArray(m))y=[],m.forEach((x,S)=>{const v=d(x);z.isUndefined(v)||(y[S]=v)});else{if(!z.isPlainObject(m)&&fv(m))return c.pop(),m;y=Object.create(null);for(const[x,S]of Object.entries(m)){const v=r.has(x.toLowerCase())?cv:d(S);z.isUndefined(v)||(y[x]=v)}}return c.pop(),y};return d(i)}let Z=class tm extends Error{static from(f,r,c,d,m,y){const x=new tm(f.message,r||f.code,c,d,m);return x.cause=f,x.name=f.name,f.status!=null&&x.status==null&&(x.status=f.status),y&&Object.assign(x,y),x}constructor(f,r,c,d,m){super(f),Object.defineProperty(this,"message",{__proto__:null,value:f,enumerable:!0,writable:!0,configurable:!0}),this.name="AxiosError",this.isAxiosError=!0,r&&(this.code=r),c&&(this.config=c),d&&(this.request=d),m&&(this.response=m,this.status=m.status)}toJSON(){const f=this.config,r=f&&z.hasOwnProp(f,"redact")?f.redact:void 0,c=z.isArray(r)&&r.length>0?sv(f,r):z.toJSONObject(f);return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:c,code:this.code,status:this.status}}};Z.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE";Z.ERR_BAD_OPTION="ERR_BAD_OPTION";Z.ECONNABORTED="ECONNABORTED";Z.ETIMEDOUT="ETIMEDOUT";Z.ECONNREFUSED="ECONNREFUSED";Z.ERR_NETWORK="ERR_NETWORK";Z.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS";Z.ERR_DEPRECATED="ERR_DEPRECATED";Z.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE";Z.ERR_BAD_REQUEST="ERR_BAD_REQUEST";Z.ERR_CANCELED="ERR_CANCELED";Z.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT";Z.ERR_INVALID_URL="ERR_INVALID_URL";Z.ERR_FORM_DATA_DEPTH_EXCEEDED="ERR_FORM_DATA_DEPTH_EXCEEDED";const rv=null;function ls(i){return z.isPlainObject(i)||z.isArray(i)}function em(i){return z.endsWith(i,"[]")?i.slice(0,-2):i}function $f(i,f,r){return i?i.concat(f).map(function(d,m){return d=em(d),!r&&m?"["+d+"]":d}).join(r?".":""):f}function ov(i){return z.isArray(i)&&!i.some(ls)}const dv=z.toFlatObject(z,{},null,function(f){return/^is[A-Z]/.test(f)});function zi(i,f,r){if(!z.isObject(i))throw new TypeError("target must be an object");f=f||new FormData,r=z.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(R,B){return!z.isUndefined(B[R])});const c=r.metaTokens,d=r.visitor||C,m=r.dots,y=r.indexes,x=r.Blob||typeof Blob<"u"&&Blob,S=r.maxDepth===void 0?100:r.maxDepth,v=x&&z.isSpecCompliantForm(f);if(!z.isFunction(d))throw new TypeError("visitor must be a function");function N(w){if(w===null)return"";if(z.isDate(w))return w.toISOString();if(z.isBoolean(w))return w.toString();if(!v&&z.isBlob(w))throw new Z("Blob is not supported. Use a Buffer instead.");return z.isArrayBuffer(w)||z.isTypedArray(w)?v&&typeof Blob=="function"?new Blob([w]):Buffer.from(w):w}function C(w,R,B){let k=w;if(z.isReactNative(f)&&z.isReactNativeBlob(w))return f.append($f(B,R,m),N(w)),!1;if(w&&!B&&typeof w=="object"){if(z.endsWith(R,"{}"))R=c?R:R.slice(0,-2),w=JSON.stringify(w);else if(z.isArray(w)&&ov(w)||(z.isFileList(w)||z.endsWith(R,"[]"))&&(k=z.toArray(w)))return R=em(R),k.forEach(function(W,at){!(z.isUndefined(W)||W===null)&&f.append(y===!0?$f([R],at,m):y===null?R:R+"[]",N(W))}),!1}return ls(w)?!0:(f.append($f(B,R,m),N(w)),!1)}const Y=[],V=Object.assign(dv,{defaultVisitor:C,convertValue:N,isVisitable:ls});function K(w,R,B=0){if(!z.isUndefined(w)){if(B>S)throw new Z("Object is too deeply nested ("+B+" levels). Max depth: "+S,Z.ERR_FORM_DATA_DEPTH_EXCEEDED);if(Y.indexOf(w)!==-1)throw Error("Circular reference detected in "+R.join("."));Y.push(w),z.forEach(w,function(X,W){(!(z.isUndefined(X)||X===null)&&d.call(f,X,z.isString(W)?W.trim():W,R,V))===!0&&K(X,R?R.concat(W):[W],B+1)}),Y.pop()}}if(!z.isObject(i))throw new TypeError("data must be an object");return K(i),f}function O0(i){const f={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"};return encodeURIComponent(i).replace(/[!'()~]|%20/g,function(c){return f[c]})}function cs(i,f)
Line truncated
|
||||
`+y.map(j0).join(`
|
||||
`):" "+j0(y[0]):"as no adapter specified";throw new Z("There is no suitable adapter to dispatch the request "+x,"ERR_NOT_SUPPORT")}return d}const rm={getAdapter:Jv,adapters:os};function If(i){if(i.cancelToken&&i.cancelToken.throwIfRequested(),i.signal&&i.signal.aborted)throw new Fa(null,i)}function H0(i){return If(i),i.headers=le.from(i.headers),i.data=Wf.call(i,i.transformRequest),["post","put","patch"].indexOf(i.method)!==-1&&i.headers.setContentType("application/x-www-form-urlencoded",!1),rm.getAdapter(i.adapter||ka.adapter,i)(i).then(function(c){If(i),i.response=c;try{c.data=Wf.call(i,i.transformResponse,c)}finally{delete i.response}return c.headers=le.from(c.headers),c},function(c){if(!um(c)&&(If(i),c&&c.response)){i.response=c.response;try{c.response.data=Wf.call(i,i.transformResponse,c.response)}finally{delete i.response}c.response.headers=le.from(c.response.headers)}return Promise.reject(c)})}const Ai={};["object","boolean","number","function","string","symbol"].forEach((i,f)=>{Ai[i]=function(c){return typeof c===i||"a"+(f<1?"n ":" ")+i}});const B0={};Ai.transitional=function(f,r,c){function d(m,y){return"[Axios v"+rs+"] Transitional option '"+m+"'"+y+(c?". "+c:"")}return(m,y,x)=>{if(f===!1)throw new Z(d(y," has been removed"+(r?" in "+r:"")),Z.ERR_DEPRECATED);return r&&!B0[y]&&(B0[y]=!0,console.warn(d(y," has been deprecated since v"+r+" and will be removed in the near future"))),f?f(m,y,x):!0}};Ai.spelling=function(f){return(r,c)=>(console.warn(`${c} is likely a misspelling of ${f}`),!0)};function Kv(i,f,r){if(typeof i!="object")throw new Z("options must be an object",Z.ERR_BAD_OPTION_VALUE);const c=Object.keys(i);let d=c.length;for(;d-- >0;){const m=c[d],y=Object.prototype.hasOwnProperty.call(f,m)?f[m]:void 0;if(y){const x=i[m],S=x===void 0||y(x,m,i);if(S!==!0)throw new Z("option "+m+" must be "+S,Z.ERR_BAD_OPTION_VALUE);continue}if(r!==!0)throw new Z("Unknown option "+m,Z.ERR_BAD_OPTION)}}const pi={assertOptions:Kv,validators:Ai},He=pi.validators;let ln=class{constructor(f){this.defaults=f||{},this.interceptors={request:new N0,response:new N0}}async request(f,r){try{return await this._request(f,r)}catch(c){if(c instanceof Error){let d={};Error.captureStackTrace?Error.captureStackTrace(d):d=new Error;const m=(()=>{if(!d.stack)return"";const y=d.stack.indexOf(`
|
||||
`);return y===-1?"":d.stack.slice(y+1)})();try{if(!c.stack)c.stack=m;else if(m){const y=m.indexOf(`
|
||||
`),x=y===-1?-1:m.indexOf(`
|
||||
`,y+1),S=x===-1?"":m.slice(x+1);String(c.stack).endsWith(S)||(c.stack+=`
|
||||
`+m)}}catch{}}throw c}}_request(f,r){typeof f=="string"?(r=r||{},r.url=f):r=f||{},r=nn(this.defaults,r);const{transitional:c,paramsSerializer:d,headers:m}=r;c!==void 0&&pi.assertOptions(c,{silentJSONParsing:He.transitional(He.boolean),forcedJSONParsing:He.transitional(He.boolean),clarifyTimeoutError:He.transitional(He.boolean),legacyInterceptorReqResOrdering:He.transitional(He.boolean)},!1),d!=null&&(z.isFunction(d)?r.paramsSerializer={serialize:d}:pi.assertOptions(d,{encode:He.function,serialize:He.function},!0)),r.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?r.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:r.allowAbsoluteUrls=!0),pi.assertOptions(r,{baseUrl:He.spelling("baseURL"),withXsrfToken:He.spelling("withXSRFToken")},!0),r.method=(r.method||this.defaults.method||"get").toLowerCase();let y=m&&z.merge(m.common,m[r.method]);m&&z.forEach(["delete","get","head","post","put","patch","query","common"],K=>{delete m[K]}),r.headers=le.concat(y,m);const x=[];let S=!0;this.interceptors.request.forEach(function(w){if(typeof w.runWhen=="function"&&w.runWhen(r)===!1)return;S=S&&w.synchronous;const R=r.transitional||fs;R&&R.legacyInterceptorReqResOrdering?x.unshift(w.fulfilled,w.rejected):x.push(w.fulfilled,w.rejected)});const v=[];this.interceptors.response.forEach(function(w){v.push(w.fulfilled,w.rejected)});let N,C=0,Y;if(!S){const K=[H0.bind(this),void 0];for(K.unshift(...x),K.push(...v),Y=K.length,N=Promise.resolve(r);C<Y;)N=N.then(K[C++],K[C++]);return N}Y=x.length;let V=r;for(;C<Y;){const K=x[C++],w=x[C++];try{V=K(V)}catch(R){w.call(this,R);break}}try{N=H0.call(this,V)}catch(K){return Promise.reject(K)}for(C=0,Y=v.length;C<Y;)N=N.then(v[C++],v[C++]);return N}getUri(f){f=nn(this.defaults,f);const r=cm(f.baseURL,f.url,f.allowAbsoluteUrls);return nm(r,f.params,f.paramsSerializer)}};z.forEach(["delete","get","head","options"],function(f){ln.prototype[f]=function(r,c){return this.request(nn(c||{},{method:f,url:r,data:(c||{}).data}))}});z.forEach(["post","put","patch","query"],function(f){function r(c){return function(m,y,x){return this.request(nn(x||{},{method:f,headers:c?{"Content-Type":"multipart/form-data"}:{},url:m,data:y}))}}ln.prototype[f]=r(),f!=="query"&&(ln.prototype[f+"Form"]=r(!0))});let kv=class om{constructor(f){if(typeof f!="function")throw new TypeError("executor must be a function.");let r;this.promise=new Promise(function(m){r=m});const c=this;this.promise.then(d=>{if(!c._listeners)return;let m=c._listeners.length;for(;m-- >0;)c._listeners[m](d);c._listeners=null}),this.promise.then=d=>{let m;const y=new Promise(x=>{c.subscribe(x),m=x}).then(d);return y.cancel=function(){c.unsubscribe(m)},y},f(function(m,y,x){c.reason||(c.reason=new Fa(m,y,x),r(c.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(f){if(this.reason){f(this.reason);return}this._listeners?this._listeners.push(f):this._listeners=[f]}unsubscribe(f){if(!this._listeners)return;const r=this._listeners.indexOf(f);r!==-1&&this._listeners.splice(r,1)}toAbortSignal(){const f=new AbortController,r=c=>{f.abort(c)};return this.subscribe(r),f.signal.unsubscribe=()=>this.unsubscribe(r),f.signal}static source(){let f;return{token:new om(function(d){f=d}),cancel:f}}};function Fv(i){return function(r){return i.apply(null,r)}}function $v(i){return z.isObject(i)&&i.isAxiosError===!0}const as={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(as).forEach(([i,f])=>{as[f]=i});function dm(i){const f=new ln(i),r=Z0(ln.prototype.request,f);return z.extend(r,ln.prototype,f,{allOwnKeys:!0}),z.extend(r,f,null,{allOwnKeys:!0}),r.create=function(d){return dm(nn(i,d))},r}const jt=dm(ka);jt.Axios=ln;jt.CanceledError=Fa;jt.CancelToken=kv;jt.isCa
Line truncated
|
||||
`)})]})]})]})}function Zn({label:i,value:f,tone:r="text-zinc-300"}){return p.jsxs("div",{children:[p.jsx("dt",{className:"text-xs uppercase tracking-wide text-zinc-500",children:i}),p.jsx("dd",{className:`mt-1 break-words ${r}`,children:f})]})}function ap(i){return i==="success"?"border-emerald-800 bg-emerald-950 text-emerald-300":i==="failed"?"border-red-800 bg-red-950 text-red-300":i==="running"||i==="queued"?"border-cyan-800 bg-cyan-950 text-cyan-300":"border-zinc-800 bg-zinc-950 text-zinc-400"}function Y0(i){return i?new Intl.DateTimeFormat(void 0,{dateStyle:"medium",timeStyle:"medium"}).format(new Date(i)):"-"}function up({snapshot:i,vmName:f,confirmText:r,onCancel:c,onConfirm:d,onTextChange:m,busy:y}){if(!i)return null;const x=r===f&&!y;return p.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/70 p-4",children:p.jsxs("div",{className:"w-full max-w-lg rounded-md border border-red-900 bg-zinc-950 shadow-2xl",children:[p.jsxs("div",{className:"flex items-center justify-between border-b border-red-950 px-4 py-3",children:[p.jsxs("div",{className:"flex items-center gap-2 text-red-300",children:[p.jsx(Q0,{className:"h-5 w-5"}),p.jsx("h2",{className:"text-sm font-semibold",children:"Destructive Restore"})]}),p.jsx("button",{className:"rounded-md p-1 text-zinc-400 hover:text-zinc-100",onClick:c,type:"button",children:p.jsx(c1,{className:"h-5 w-5"})})]}),p.jsxs("div",{className:"space-y-4 p-4",children:[p.jsxs("p",{className:"text-sm leading-6 text-zinc-300",children:["Warning: The VM will be stopped and the current disk will be irreversibly overwritten with snapshot ",p.jsx("span",{className:"font-mono text-red-200",children:i.id.slice(0,8)}),"."]}),p.jsxs("label",{className:"block text-sm text-zinc-300",children:["Type ",p.jsx("span",{className:"font-mono text-zinc-100",children:f})," to confirm.",p.jsx("input",{className:"mt-2 h-10 w-full rounded-md border border-zinc-700 bg-zinc-900 px-3 text-zinc-100 outline-none focus:border-red-500",onChange:S=>m(S.target.value),value:r})]}),p.jsxs("div",{className:"flex justify-end gap-2",children:[p.jsx("button",{className:"h-9 rounded-md border border-zinc-700 px-3 text-sm text-zinc-200",onClick:c,type:"button",children:"Cancel"}),p.jsx("button",{className:"h-9 rounded-md border border-red-700 bg-red-950 px-3 text-sm text-red-100 hover:bg-red-900 disabled:hover:bg-red-950",disabled:!x,onClick:d,type:"button",children:"Confirm Restore"})]})]})]})})}function ip({onRestore:i,snapshots:f}){return p.jsxs("section",{className:"overflow-hidden rounded-md border border-zinc-800 bg-zinc-900/70",children:[p.jsx("div",{className:"border-b border-zinc-800 px-4 py-3",children:p.jsx("h2",{className:"text-sm font-semibold",children:"Snapshots"})}),p.jsx("div",{className:"overflow-x-auto",children:p.jsxs("table",{className:"w-full min-w-[680px] text-left text-sm",children:[p.jsx("thead",{className:"border-b border-zinc-800 text-xs uppercase tracking-wide text-zinc-500",children:p.jsxs("tr",{children:[p.jsx("th",{className:"px-4 py-3 font-medium",children:"ID"}),p.jsx("th",{className:"px-4 py-3 font-medium",children:"Date & Time"}),p.jsx("th",{className:"px-4 py-3 font-medium",children:"Tags"}),p.jsx("th",{className:"px-4 py-3 text-right font-medium",children:"Actions"})]})}),p.jsxs("tbody",{className:"divide-y divide-zinc-800",children:[f.map(r=>p.jsxs("tr",{className:"hover:bg-zinc-900",children:[p.jsx("td",{className:"px-4 py-3 font-mono text-zinc-100",children:r.id.slice(0,8)}),p.jsx("td",{className:"px-4 py-3 text-zinc-300",children:cp(r.time)}),p.jsx("td",{className:"px-4 py-3 text-zinc-400",children:(r.tags||[]).join(", ")||"-"}),p.jsx("td",{className:"px-4 py-3 text-right",children:p.jsxs("button",{className:"inline-flex h-8 items-center gap-2 rounded-md border border-red-900 px-2.5 text-xs text-red-300 hover:border-red-600 hover:text-red-200",onClick:()=>i(r),type:"button",children:[p.jsx(u1,{className:"h-4 w-4"}),"Restore"]})})]},r.id)),f.length?null:p.jsx("tr",{children:p.jsx("td",{className:"px-4 py-8 text-center text-zinc-500",colSpan:"4",children:"No snapshots found."})})]})]})})]})}function cp(i){return i?new Intl.DateTimeFormat(void 0,{dateStyle:"medium",timeStyle:"medium"}).format(new Date(i)):"-"}function fp({jobs:i,onBack:f,onChanged:r,vm:c}){var W;const[d,m]=st.useState([]),[y,x]=st.useState(null),[S,v]=st.useState(""),[N,C]=st.useState(!1),[Y,V]=st.useState(""),K=st.useMemo(()=>i.filter(at=>at.vmName===c.name),[i,c.name]),w=K.find(at=>["queued","running"].includes(at.status))||K[0]||null,R=(W=d[0])==null?void 0:W.time;async function B(){V("");try{const at=await Ae.get(`/snapshots/${encodeURIComponent(c.name)}`);m(at.data)}catch(at){V(Bl(at))}}st.useEffect(()=>{B()},[c.name]);async function k(){C(!0),V("");try{await Ae.post(`/backup/${encodeURIComponent(c.name)}`),await r()}catch(at){V(Bl(at))}finally{C(!1)}}async function X(){C(!0),V("");try{await Ae.post(`/restore/${encodeURIComponent(c.name)}`,{snapshotId:y.id,confirmVmName:S}
Line truncated
|
||||
-143
@@ -1,143 +0,0 @@
|
||||
(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const d of document.querySelectorAll('link[rel="modulepreload"]'))f(d);new MutationObserver(d=>{for(const m of d)if(m.type==="childList")for(const y of m.addedNodes)y.tagName==="LINK"&&y.rel==="modulepreload"&&f(y)}).observe(document,{childList:!0,subtree:!0});function r(d){const m={};return d.integrity&&(m.integrity=d.integrity),d.referrerPolicy&&(m.referrerPolicy=d.referrerPolicy),d.crossOrigin==="use-credentials"?m.credentials="include":d.crossOrigin==="anonymous"?m.credentials="omit":m.credentials="same-origin",m}function f(d){if(d.ep)return;d.ep=!0;const m=r(d);fetch(d.href,m)}})();function Uy(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}var Gf={exports:{}},La={};/**
|
||||
* @license React
|
||||
* react-jsx-runtime.production.js
|
||||
*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/var d0;function Cy(){if(d0)return La;d0=1;var i=Symbol.for("react.transitional.element"),s=Symbol.for("react.fragment");function r(f,d,m){var y=null;if(m!==void 0&&(y=""+m),d.key!==void 0&&(y=""+d.key),"key"in d){m={};for(var b in d)b!=="key"&&(m[b]=d[b])}else m=d;return d=m.ref,{$$typeof:i,type:f,key:y,ref:d!==void 0?d:null,props:m}}return La.Fragment=s,La.jsx=r,La.jsxs=r,La}var m0;function jy(){return m0||(m0=1,Gf.exports=Cy()),Gf.exports}var z=jy(),Qf={exports:{}},tt={};/**
|
||||
* @license React
|
||||
* react.production.js
|
||||
*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/var h0;function Hy(){if(h0)return tt;h0=1;var i=Symbol.for("react.transitional.element"),s=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),f=Symbol.for("react.strict_mode"),d=Symbol.for("react.profiler"),m=Symbol.for("react.consumer"),y=Symbol.for("react.context"),b=Symbol.for("react.forward_ref"),E=Symbol.for("react.suspense"),v=Symbol.for("react.memo"),R=Symbol.for("react.lazy"),H=Symbol.for("react.activity"),X=Symbol.iterator;function Q(p){return p===null||typeof p!="object"?null:(p=X&&p[X]||p["@@iterator"],typeof p=="function"?p:null)}var Z={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},w=Object.assign,U={};function B(p,j,q){this.props=p,this.context=j,this.refs=U,this.updater=q||Z}B.prototype.isReactComponent={},B.prototype.setState=function(p,j){if(typeof p!="object"&&typeof p!="function"&&p!=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,p,j,"setState")},B.prototype.forceUpdate=function(p){this.updater.enqueueForceUpdate(this,p,"forceUpdate")};function I(){}I.prototype=B.prototype;function k(p,j,q){this.props=p,this.context=j,this.refs=U,this.updater=q||Z}var P=k.prototype=new I;P.constructor=k,w(P,B.prototype),P.isPureReactComponent=!0;var ft=Array.isArray;function Nt(){}var nt={H:null,A:null,T:null,S:null},Gt=Object.prototype.hasOwnProperty;function oe(p,j,q){var Y=q.ref;return{$$typeof:i,type:p,key:j,ref:Y!==void 0?Y:null,props:q}}function Pt(p,j){return oe(p.type,j,p.props)}function Qt(p){return typeof p=="object"&&p!==null&&p.$$typeof===i}function Yt(p){var j={"=":"=0",":":"=2"};return"$"+p.replace(/[=:]/g,function(q){return j[q]})}var Ye=/\/+/g;function Ht(p,j){return typeof p=="object"&&p!==null&&p.key!=null?Yt(""+p.key):j.toString(36)}function te(p){switch(p.status){case"fulfilled":return p.value;case"rejected":throw p.reason;default:switch(typeof p.status=="string"?p.then(Nt,Nt):(p.status="pending",p.then(function(j){p.status==="pending"&&(p.status="fulfilled",p.value=j)},function(j){p.status==="pending"&&(p.status="rejected",p.reason=j)})),p.status){case"fulfilled":return p.value;case"rejected":throw p.reason}}throw p}function N(p,j,q,Y,F){var at=typeof p;(at==="undefined"||at==="boolean")&&(p=null);var ct=!1;if(p===null)ct=!0;else switch(at){case"bigint":case"string":case"number":ct=!0;break;case"object":switch(p.$$typeof){case i:case s:ct=!0;break;case R:return ct=p._init,N(ct(p._payload),j,q,Y,F)}}if(ct)return F=F(p),ct=Y===""?"."+Ht(p,0):Y,ft(F)?(q="",ct!=null&&(q=ct.replace(Ye,"$&/")+"/"),N(F,j,q,"",function(Xe){return Xe})):F!=null&&(Qt(F)&&(F=Pt(F,q+(F.key==null||p&&p.key===F.key?"":(""+F.key).replace(Ye,"$&/")+"/")+ct)),j.push(F)),1;ct=0;var et=Y===""?".":Y+":";if(ft(p))for(var Et=0;Et<p.length;Et++)Y=p[Et],at=et+Ht(Y,Et),ct+=N(Y,j,q,at,F);else if(Et=Q(p),typeof Et=="function")for(p=Et.call(p),Et=0;!(Y=p.next()).done;)Y=Y.value,at=et+Ht(Y,Et++),ct+=N(Y,j,q,at,F);else if(at==="object"){if(typeof p.then=="function")return N(te(p),j,q,Y,F);throw j=String(p),Error("Objects are not valid as a React child (found: "+(j==="[object Object]"?"object with keys {"+Object.keys(p).join(", ")+"}":j)+"). If you meant to render a collection of children, use an array instead.")}return ct}function L(p,j,q){if(p==null)return p;var Y=[],F=0;return N(p,Y,"","",function(at){return j.call(q,at,F++)}),Y}function $(p){if(p._status===-1){var j=p._result;j=j(),j.then(function(q){(p._status===0||p._status===-1)&&(p._status=1,p._result=q)},function(q){(p._status===0||p._status===-1)&&(p._status=2,p._result=q)}),p._status===-1&&(p._status=0,p._result=j)}if(p._status===1)return p._result.default;throw p._result}var st=typeof reportError=="function"?reportError:function(p){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var j=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof p=="object"&&p!==null&&typeof p.message=="string"?String(p.message):String(p),error:p});if(!window.dispatchEvent(j))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",p);return}console.error(p)},it={map:L,forEach:function(p,j,q){L(p,function(){j.apply(this,arguments)},q)},count:function(p){var j=0;return L(p,function(){j++}),j},toArray:function(p){return L(p,function(j){return j})||[]},only:function(p){if(!Qt(p))throw Error("React.Children.only expected to receive a single React element child.");return p}};return tt.Activity=H,tt.Children=it,tt.Component=B,tt.Fragment=r,tt.Profiler=d,tt.PureComponent=k,tt.StrictMode=f,tt.Suspense=E,tt.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=nt,tt.__COMPILER_RUNTIME={__proto__:null,c:function(p){return nt.H.useMemoCache(p)}},tt.cache=function(p){return function(){return p.apply(null,arguments)}},tt.cacheSignal=function(){return null},tt.cloneElement=function(p,j,q){if(p==null)throw Error("The arLine truncated
|
||||
* @license React
|
||||
* scheduler.production.js
|
||||
*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/var v0;function qy(){return v0||(v0=1,(function(i){function s(N,L){var $=N.length;N.push(L);t:for(;0<$;){var st=$-1>>>1,it=N[st];if(0<d(it,L))N[st]=L,N[$]=it,$=st;else break t}}function r(N){return N.length===0?null:N[0]}function f(N){if(N.length===0)return null;var L=N[0],$=N.pop();if($!==L){N[0]=$;t:for(var st=0,it=N.length,p=it>>>1;st<p;){var j=2*(st+1)-1,q=N[j],Y=j+1,F=N[Y];if(0>d(q,$))Y<it&&0>d(F,q)?(N[st]=F,N[Y]=$,st=Y):(N[st]=q,N[j]=$,st=j);else if(Y<it&&0>d(F,$))N[st]=F,N[Y]=$,st=Y;else break t}}return L}function d(N,L){var $=N.sortIndex-L.sortIndex;return $!==0?$:N.id-L.id}if(i.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var m=performance;i.unstable_now=function(){return m.now()}}else{var y=Date,b=y.now();i.unstable_now=function(){return y.now()-b}}var E=[],v=[],R=1,H=null,X=3,Q=!1,Z=!1,w=!1,U=!1,B=typeof setTimeout=="function"?setTimeout:null,I=typeof clearTimeout=="function"?clearTimeout:null,k=typeof setImmediate<"u"?setImmediate:null;function P(N){for(var L=r(v);L!==null;){if(L.callback===null)f(v);else if(L.startTime<=N)f(v),L.sortIndex=L.expirationTime,s(E,L);else break;L=r(v)}}function ft(N){if(w=!1,P(N),!Z)if(r(E)!==null)Z=!0,Nt||(Nt=!0,Yt());else{var L=r(v);L!==null&&te(ft,L.startTime-N)}}var Nt=!1,nt=-1,Gt=5,oe=-1;function Pt(){return U?!0:!(i.unstable_now()-oe<Gt)}function Qt(){if(U=!1,Nt){var N=i.unstable_now();oe=N;var L=!0;try{t:{Z=!1,w&&(w=!1,I(nt),nt=-1),Q=!0;var $=X;try{e:{for(P(N),H=r(E);H!==null&&!(H.expirationTime>N&&Pt());){var st=H.callback;if(typeof st=="function"){H.callback=null,X=H.priorityLevel;var it=st(H.expirationTime<=N);if(N=i.unstable_now(),typeof it=="function"){H.callback=it,P(N),L=!0;break e}H===r(E)&&f(E),P(N)}else f(E);H=r(E)}if(H!==null)L=!0;else{var p=r(v);p!==null&&te(ft,p.startTime-N),L=!1}}break t}finally{H=null,X=$,Q=!1}L=void 0}}finally{L?Yt():Nt=!1}}}var Yt;if(typeof k=="function")Yt=function(){k(Qt)};else if(typeof MessageChannel<"u"){var Ye=new MessageChannel,Ht=Ye.port2;Ye.port1.onmessage=Qt,Yt=function(){Ht.postMessage(null)}}else Yt=function(){B(Qt,0)};function te(N,L){nt=B(function(){N(i.unstable_now())},L)}i.unstable_IdlePriority=5,i.unstable_ImmediatePriority=1,i.unstable_LowPriority=4,i.unstable_NormalPriority=3,i.unstable_Profiling=null,i.unstable_UserBlockingPriority=2,i.unstable_cancelCallback=function(N){N.callback=null},i.unstable_forceFrameRate=function(N){0>N||125<N?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):Gt=0<N?Math.floor(1e3/N):5},i.unstable_getCurrentPriorityLevel=function(){return X},i.unstable_next=function(N){switch(X){case 1:case 2:case 3:var L=3;break;default:L=X}var $=X;X=L;try{return N()}finally{X=$}},i.unstable_requestPaint=function(){U=!0},i.unstable_runWithPriority=function(N,L){switch(N){case 1:case 2:case 3:case 4:case 5:break;default:N=3}var $=X;X=N;try{return L()}finally{X=$}},i.unstable_scheduleCallback=function(N,L,$){var st=i.unstable_now();switch(typeof $=="object"&&$!==null?($=$.delay,$=typeof $=="number"&&0<$?st+$:st):$=st,N){case 1:var it=-1;break;case 2:it=250;break;case 5:it=1073741823;break;case 4:it=1e4;break;default:it=5e3}return it=$+it,N={id:R++,callback:L,priorityLevel:N,startTime:$,expirationTime:it,sortIndex:-1},$>st?(N.sortIndex=$,s(v,N),r(E)===null&&N===r(v)&&(w?(I(nt),nt=-1):w=!0,te(ft,$-st))):(N.sortIndex=it,s(E,N),Z||Q||(Z=!0,Nt||(Nt=!0,Yt()))),N},i.unstable_shouldYield=Pt,i.unstable_wrapCallback=function(N){var L=X;return function(){var $=X;X=L;try{return N.apply(this,arguments)}finally{X=$}}}})(Kf)),Kf}var p0;function wy(){return p0||(p0=1,Zf.exports=qy()),Zf.exports}var Jf={exports:{}},Wt={};/**
|
||||
* @license React
|
||||
* react-dom.production.js
|
||||
*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/var g0;function Ly(){if(g0)return Wt;g0=1;var i=as();function s(E){var v="https://react.dev/errors/"+E;if(1<arguments.length){v+="?args[]="+encodeURIComponent(arguments[1]);for(var R=2;R<arguments.length;R++)v+="&args[]="+encodeURIComponent(arguments[R])}return"Minified React error #"+E+"; visit "+v+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function r(){}var f={d:{f:r,r:function(){throw Error(s(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},d=Symbol.for("react.portal");function m(E,v,R){var H=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:d,key:H==null?null:""+H,children:E,containerInfo:v,implementation:R}}var y=i.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function b(E,v){if(E==="font")return"";if(typeof v=="string")return v==="use-credentials"?v:""}return Wt.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=f,Wt.createPortal=function(E,v){var R=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!v||v.nodeType!==1&&v.nodeType!==9&&v.nodeType!==11)throw Error(s(299));return m(E,v,null,R)},Wt.flushSync=function(E){var v=y.T,R=f.p;try{if(y.T=null,f.p=2,E)return E()}finally{y.T=v,f.p=R,f.d.f()}},Wt.preconnect=function(E,v){typeof E=="string"&&(v?(v=v.crossOrigin,v=typeof v=="string"?v==="use-credentials"?v:"":void 0):v=null,f.d.C(E,v))},Wt.prefetchDNS=function(E){typeof E=="string"&&f.d.D(E)},Wt.preinit=function(E,v){if(typeof E=="string"&&v&&typeof v.as=="string"){var R=v.as,H=b(R,v.crossOrigin),X=typeof v.integrity=="string"?v.integrity:void 0,Q=typeof v.fetchPriority=="string"?v.fetchPriority:void 0;R==="style"?f.d.S(E,typeof v.precedence=="string"?v.precedence:void 0,{crossOrigin:H,integrity:X,fetchPriority:Q}):R==="script"&&f.d.X(E,{crossOrigin:H,integrity:X,fetchPriority:Q,nonce:typeof v.nonce=="string"?v.nonce:void 0})}},Wt.preinitModule=function(E,v){if(typeof E=="string")if(typeof v=="object"&&v!==null){if(v.as==null||v.as==="script"){var R=b(v.as,v.crossOrigin);f.d.M(E,{crossOrigin:R,integrity:typeof v.integrity=="string"?v.integrity:void 0,nonce:typeof v.nonce=="string"?v.nonce:void 0})}}else v==null&&f.d.M(E)},Wt.preload=function(E,v){if(typeof E=="string"&&typeof v=="object"&&v!==null&&typeof v.as=="string"){var R=v.as,H=b(R,v.crossOrigin);f.d.L(E,R,{crossOrigin:H,integrity:typeof v.integrity=="string"?v.integrity:void 0,nonce:typeof v.nonce=="string"?v.nonce:void 0,type:typeof v.type=="string"?v.type:void 0,fetchPriority:typeof v.fetchPriority=="string"?v.fetchPriority:void 0,referrerPolicy:typeof v.referrerPolicy=="string"?v.referrerPolicy:void 0,imageSrcSet:typeof v.imageSrcSet=="string"?v.imageSrcSet:void 0,imageSizes:typeof v.imageSizes=="string"?v.imageSizes:void 0,media:typeof v.media=="string"?v.media:void 0})}},Wt.preloadModule=function(E,v){if(typeof E=="string")if(v){var R=b(v.as,v.crossOrigin);f.d.m(E,{as:typeof v.as=="string"&&v.as!=="script"?v.as:void 0,crossOrigin:R,integrity:typeof v.integrity=="string"?v.integrity:void 0})}else f.d.m(E)},Wt.requestFormReset=function(E){f.d.r(E)},Wt.unstable_batchedUpdates=function(E,v){return E(v)},Wt.useFormState=function(E,v,R){return y.H.useFormState(E,v,R)},Wt.useFormStatus=function(){return y.H.useHostTransitionStatus()},Wt.version="19.2.6",Wt}var b0;function Yy(){if(b0)return Jf.exports;b0=1;function i(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(i)}catch(s){console.error(s)}}return i(),Jf.exports=Ly(),Jf.exports}/**
|
||||
* @license React
|
||||
* react-dom-client.production.js
|
||||
*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/var S0;function Xy(){if(S0)return Ya;S0=1;var i=wy(),s=as(),r=Yy();function f(t){var e="https://react.dev/errors/"+t;if(1<arguments.length){e+="?args[]="+encodeURIComponent(arguments[1]);for(var l=2;l<arguments.length;l++)e+="&args[]="+encodeURIComponent(arguments[l])}return"Minified React error #"+t+"; visit "+e+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function d(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)}function m(t){var e=t,l=t;if(t.alternate)for(;e.return;)e=e.return;else{t=e;do e=t,(e.flags&4098)!==0&&(l=e.return),t=e.return;while(t)}return e.tag===3?l:null}function y(t){if(t.tag===13){var e=t.memoizedState;if(e===null&&(t=t.alternate,t!==null&&(e=t.memoizedState)),e!==null)return e.dehydrated}return null}function b(t){if(t.tag===31){var e=t.memoizedState;if(e===null&&(t=t.alternate,t!==null&&(e=t.memoizedState)),e!==null)return e.dehydrated}return null}function E(t){if(m(t)!==t)throw Error(f(188))}function v(t){var e=t.alternate;if(!e){if(e=m(t),e===null)throw Error(f(188));return e!==t?null:t}for(var l=t,n=e;;){var a=l.return;if(a===null)break;var u=a.alternate;if(u===null){if(n=a.return,n!==null){l=n;continue}break}if(a.child===u.child){for(u=a.child;u;){if(u===l)return E(a),t;if(u===n)return E(a),e;u=u.sibling}throw Error(f(188))}if(l.return!==n.return)l=a,n=u;else{for(var c=!1,o=a.child;o;){if(o===l){c=!0,l=a,n=u;break}if(o===n){c=!0,n=a,l=u;break}o=o.sibling}if(!c){for(o=u.child;o;){if(o===l){c=!0,l=u,n=a;break}if(o===n){c=!0,n=u,l=a;break}o=o.sibling}if(!c)throw Error(f(189))}}if(l.alternate!==n)throw Error(f(190))}if(l.tag!==3)throw Error(f(188));return l.stateNode.current===l?t:e}function R(t){var e=t.tag;if(e===5||e===26||e===27||e===6)return t;for(t=t.child;t!==null;){if(e=R(t),e!==null)return e;t=t.sibling}return null}var H=Object.assign,X=Symbol.for("react.element"),Q=Symbol.for("react.transitional.element"),Z=Symbol.for("react.portal"),w=Symbol.for("react.fragment"),U=Symbol.for("react.strict_mode"),B=Symbol.for("react.profiler"),I=Symbol.for("react.consumer"),k=Symbol.for("react.context"),P=Symbol.for("react.forward_ref"),ft=Symbol.for("react.suspense"),Nt=Symbol.for("react.suspense_list"),nt=Symbol.for("react.memo"),Gt=Symbol.for("react.lazy"),oe=Symbol.for("react.activity"),Pt=Symbol.for("react.memo_cache_sentinel"),Qt=Symbol.iterator;function Yt(t){return t===null||typeof t!="object"?null:(t=Qt&&t[Qt]||t["@@iterator"],typeof t=="function"?t:null)}var Ye=Symbol.for("react.client.reference");function Ht(t){if(t==null)return null;if(typeof t=="function")return t.$$typeof===Ye?null:t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case w:return"Fragment";case B:return"Profiler";case U:return"StrictMode";case ft:return"Suspense";case Nt:return"SuspenseList";case oe:return"Activity"}if(typeof t=="object")switch(t.$$typeof){case Z:return"Portal";case k:return t.displayName||"Context";case I:return(t._context.displayName||"Context")+".Consumer";case P:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case nt:return e=t.displayName||null,e!==null?e:Ht(t.type)||"Memo";case Gt:e=t._payload,t=t._init;try{return Ht(t(e))}catch{}}return null}var te=Array.isArray,N=s.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,L=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,$={pending:!1,data:null,method:null,action:null},st=[],it=-1;function p(t){return{current:t}}function j(t){0>it||(t.current=st[it],st[it]=null,it--)}function q(t,e){it++,st[it]=t.current,t.current=e}var Y=p(null),F=p(null),at=p(null),ct=p(null);function et(t,e){switch(q(at,e),q(F,t),q(Y,null),e.nodeType){case 9:case 11:t=(t=e.documentElement)&&(t=t.namespaceURI)?Hd(t):0;break;default:if(t=e.tagName,e=e.namespaceURI)e=Hd(e),t=Bd(e,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}j(Y),q(Y,t)}function Et(){j(Y),j(F),j(at)}function Xe(t){t.memoizedState!==null&&q(ct,t);var e=Y.current,l=Bd(e,t.type);e!==l&&(q(F,t),q(Y,l))}function Ke(t){F.current===t&&(j(Y),j(F)),ct.current===t&&(j(ct),Ha._currentValue=$)}var an,Fa;function de(t){if(an===void 0)try{throw Error()}catch(l){var e=l.stack.trim().match(/\n( *(at )?)/);an=e&&e[1]||"",Fa=-1<l.stack.indexOf(`
|
||||
at`)?" (<anonymous>)":-1<l.stack.indexOf("@")?"@unknown:0:0":""}return`
|
||||
`+an+t+Fa}var Ai=!1;function zi(t,e){if(!t||Ai)return"";Ai=!0;var l=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var n={DetermineComponentFrameRoot:function(){try{if(e){var C=function(){throw Error()};if(Object.defineProperty(C.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(C,[])}catch(_){var O=_}Reflect.construct(t,[],C)}else{try{C.call()}catch(_){O=_}t.call(C.prototype)}}else{try{throw Error()}catch(_){O=_}(C=t())&&typeof C.catch=="function"&&C.catch(function(){})}}catch(_){if(_&&O&&typeof _.stack=="string")return[_.stack,O.stack]}return[null,null]}};n.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var a=Object.getOwnPropertyDescriptor(n.DetermineComponentFrameRoot,"name");a&&a.configurable&&Object.defineProperty(n.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var u=n.DetermineComponentFrameRoot(),c=u[0],o=u[1];if(c&&o){var h=c.split(`
|
||||
`),A=o.split(`
|
||||
`);for(a=n=0;n<h.length&&!h[n].includes("DetermineComponentFrameRoot");)n++;for(;a<A.length&&!A[a].includes("DetermineComponentFrameRoot");)a++;if(n===h.length||a===A.length)for(n=h.length-1,a=A.length-1;1<=n&&0<=a&&h[n]!==A[a];)a--;for(;1<=n&&0<=a;n--,a--)if(h[n]!==A[a]){if(n!==1||a!==1)do if(n--,a--,0>a||h[n]!==A[a]){var D=`
|
||||
`+h[n].replace(" at new "," at ");return t.displayName&&D.includes("<anonymous>")&&(D=D.replace("<anonymous>",t.displayName)),D}while(1<=n&&0<=a);break}}}finally{Ai=!1,Error.prepareStackTrace=l}return(l=t?t.displayName||t.name:"")?de(l):""}function sm(t,e){switch(t.tag){case 26:case 27:case 5:return de(t.type);case 16:return de("Lazy");case 13:return t.child!==e&&e!==null?de("Suspense Fallback"):de("Suspense");case 19:return de("SuspenseList");case 0:case 15:return zi(t.type,!1);case 11:return zi(t.type.render,!1);case 1:return zi(t.type,!0);case 31:return de("Activity");default:return""}}function os(t){try{var e="",l=null;do e+=sm(t,l),l=t,t=t.return;while(t);return e}catch(n){return`
|
||||
Error generating stack: `+n.message+`
|
||||
`+n.stack}}var Oi=Object.prototype.hasOwnProperty,_i=i.unstable_scheduleCallback,Ri=i.unstable_cancelCallback,rm=i.unstable_shouldYield,om=i.unstable_requestPaint,me=i.unstable_now,dm=i.unstable_getCurrentPriorityLevel,ds=i.unstable_ImmediatePriority,ms=i.unstable_UserBlockingPriority,$a=i.unstable_NormalPriority,mm=i.unstable_LowPriority,hs=i.unstable_IdlePriority,hm=i.log,ym=i.unstable_setDisableYieldValue,Jn=null,he=null;function ol(t){if(typeof hm=="function"&&ym(t),he&&typeof he.setStrictMode=="function")try{he.setStrictMode(Jn,t)}catch{}}var ye=Math.clz32?Math.clz32:gm,vm=Math.log,pm=Math.LN2;function gm(t){return t>>>=0,t===0?32:31-(vm(t)/pm|0)|0}var Wa=256,Ia=262144,Pa=4194304;function Bl(t){var e=t&42;if(e!==0)return e;switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function tu(t,e,l){var n=t.pendingLanes;if(n===0)return 0;var a=0,u=t.suspendedLanes,c=t.pingedLanes;t=t.warmLanes;var o=n&134217727;return o!==0?(n=o&~u,n!==0?a=Bl(n):(c&=o,c!==0?a=Bl(c):l||(l=o&~t,l!==0&&(a=Bl(l))))):(o=n&~u,o!==0?a=Bl(o):c!==0?a=Bl(c):l||(l=n&~t,l!==0&&(a=Bl(l)))),a===0?0:e!==0&&e!==a&&(e&u)===0&&(u=a&-a,l=e&-e,u>=l||u===32&&(l&4194048)!==0)?e:a}function kn(t,e){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&e)===0}function bm(t,e){switch(t){case 1:case 2:case 4:case 8:case 64:return e+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 e+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 ys(){var t=Pa;return Pa<<=1,(Pa&62914560)===0&&(Pa=4194304),t}function Ni(t){for(var e=[],l=0;31>l;l++)e.push(t);return e}function Fn(t,e){t.pendingLanes|=e,e!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function Sm(t,e,l,n,a,u){var c=t.pendingLanes;t.pendingLanes=l,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=l,t.entangledLanes&=l,t.errorRecoveryDisabledLanes&=l,t.shellSuspendCounter=0;var o=t.entanglements,h=t.expirationTimes,A=t.hiddenUpdates;for(l=c&~l;0<l;){var D=31-ye(l),C=1<<D;o[D]=0,h[D]=-1;var O=A[D];if(O!==null)for(A[D]=null,D=0;D<O.length;D++){var _=O[D];_!==null&&(_.lane&=-536870913)}l&=~C}n!==0&&vs(t,n,0),u!==0&&a===0&&t.tag!==0&&(t.suspendedLanes|=u&~(c&~e))}function vs(t,e,l){t.pendingLanes|=e,t.suspendedLanes&=~e;var n=31-ye(e);t.entangledLanes|=e,t.entanglements[n]=t.entanglements[n]|1073741824|l&261930}function ps(t,e){var l=t.entangledLanes|=e;for(t=t.entanglements;l;){var n=31-ye(l),a=1<<n;a&e|t[n]&e&&(t[n]|=e),l&=~a}}function gs(t,e){var l=e&-e;return l=(l&42)!==0?1:Di(l),(l&(t.suspendedLanes|e))!==0?0:l}function Di(t){switch(t){case 2:t=1;break;case 8:t=4;break;case 32:t=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:t=128;break;case 268435456:t=134217728;break;default:t=0}return t}function Mi(t){return t&=-t,2<t?8<t?(t&134217727)!==0?32:268435456:8:2}function bs(){var t=L.p;return t!==0?t:(t=window.event,t===void 0?32:u0(t.type))}function Ss(t,e){var l=L.p;try{return L.p=t,e()}finally{L.p=l}}var dl=Math.random().toString(36).slice(2),Kt="__reactFiber$"+dl,ne="__reactProps$"+dl,un="__reactContainer$"+dl,Ui="__reactEvents$"+dl,Em="__reactListeners$"+dl,xm="__reactHandles$"+dl,Es="__reactResources$"+dl,$n="__reactMarker$"+dl;function Ci(t){delete t[Kt],delete t[ne],delete t[Ui],delete t[Em],delete t[xm]}function cn(t){var e=t[Kt];if(e)return e;for(var l=t.parentNode;l;){if(e=l[un]||l[Kt]){if(l=e.alternate,e.child!==null||l!==null&&l.child!==null)for(t=Qd(t);t!==null;){if(l=t[Kt])return l;t=Qd(t)}return e}t=l,l=t.parentNode}return null}function fn(t){if(t=t[Kt]||t[un]){var e=t.tag;if(e===5||e===6||e===13||e===31||e===26||e===27||e===3)return t}return null}function Wn(t){var e=t.tag;if(e===5||e===26||e===27||e===6)return t.stateNode;throw Error(f(33))}function sn(t){var e=t[Es];return e||(e=t[Es]={hoistableStyles:new Map,hoistableScripts:new Map}),e}function Vt(t){t[$n]=!0}var xs=new Set,Ts={};function ql(t,e){rn(t,e),rn(t+"Capture",e)}function rn(t,e){for(Ts[t]=e,t=0;t<e.length;t++)xs.add(e[t])}var Tm=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u21
Line truncated
|
||||
`).replace(ty,"")}function Cd(t,e){return e=Ud(e),Ud(t)===e}function Tt(t,e,l,n,a,u){switch(l){case"children":typeof n=="string"?e==="body"||e==="textarea"&&n===""||dn(t,n):(typeof n=="number"||typeof n=="bigint")&&e!=="body"&&dn(t,""+n);break;case"className":lu(t,"class",n);break;case"tabIndex":lu(t,"tabindex",n);break;case"dir":case"role":case"viewBox":case"width":case"height":lu(t,l,n);break;case"style":Us(t,n,u);break;case"data":if(e!=="object"){lu(t,"data",n);break}case"src":case"href":if(n===""&&(e!=="a"||l!=="href")){t.removeAttribute(l);break}if(n==null||typeof n=="function"||typeof n=="symbol"||typeof n=="boolean"){t.removeAttribute(l);break}n=au(""+n),t.setAttribute(l,n);break;case"action":case"formAction":if(typeof n=="function"){t.setAttribute(l,"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 u=="function"&&(l==="formAction"?(e!=="input"&&Tt(t,e,"name",a.name,a,null),Tt(t,e,"formEncType",a.formEncType,a,null),Tt(t,e,"formMethod",a.formMethod,a,null),Tt(t,e,"formTarget",a.formTarget,a,null)):(Tt(t,e,"encType",a.encType,a,null),Tt(t,e,"method",a.method,a,null),Tt(t,e,"target",a.target,a,null)));if(n==null||typeof n=="symbol"||typeof n=="boolean"){t.removeAttribute(l);break}n=au(""+n),t.setAttribute(l,n);break;case"onClick":n!=null&&(t.onclick=ke);break;case"onScroll":n!=null&&ot("scroll",t);break;case"onScrollEnd":n!=null&&ot("scrollend",t);break;case"dangerouslySetInnerHTML":if(n!=null){if(typeof n!="object"||!("__html"in n))throw Error(f(61));if(l=n.__html,l!=null){if(a.children!=null)throw Error(f(60));t.innerHTML=l}}break;case"multiple":t.multiple=n&&typeof n!="function"&&typeof n!="symbol";break;case"muted":t.muted=n&&typeof n!="function"&&typeof n!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(n==null||typeof n=="function"||typeof n=="boolean"||typeof n=="symbol"){t.removeAttribute("xlink:href");break}l=au(""+n),t.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",l);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":n!=null&&typeof n!="function"&&typeof n!="symbol"?t.setAttribute(l,""+n):t.removeAttribute(l);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":n&&typeof n!="function"&&typeof n!="symbol"?t.setAttribute(l,""):t.removeAttribute(l);break;case"capture":case"download":n===!0?t.setAttribute(l,""):n!==!1&&n!=null&&typeof n!="function"&&typeof n!="symbol"?t.setAttribute(l,n):t.removeAttribute(l);break;case"cols":case"rows":case"size":case"span":n!=null&&typeof n!="function"&&typeof n!="symbol"&&!isNaN(n)&&1<=n?t.setAttribute(l,n):t.removeAttribute(l);break;case"rowSpan":case"start":n==null||typeof n=="function"||typeof n=="symbol"||isNaN(n)?t.removeAttribute(l):t.setAttribute(l,n);break;case"popover":ot("beforetoggle",t),ot("toggle",t),eu(t,"popover",n);break;case"xlinkActuate":Je(t,"http://www.w3.org/1999/xlink","xlink:actuate",n);break;case"xlinkArcrole":Je(t,"http://www.w3.org/1999/xlink","xlink:arcrole",n);break;case"xlinkRole":Je(t,"http://www.w3.org/1999/xlink","xlink:role",n);break;case"xlinkShow":Je(t,"http://www.w3.org/1999/xlink","xlink:show",n);break;case"xlinkTitle":Je(t,"http://www.w3.org/1999/xlink","xlink:title",n);break;case"xlinkType":Je(t,"http://www.w3.org/1999/xlink","xlink:type",n);break;case"xmlBase":Je(t,"http://www.w3.org/XML/1998/namespace","xml:base",n);break;case"xmlLang":Je(t,"http://www.w3.org/XML/1998/namespace","xml:lang",n);break;case"xmlSpace":Je(t,"http://www.w3.org/XML/1998/namespace","xml:space",n);break;case"is":eu(t,"is",n);break;case"innerText":case"textContent":break;default:(!(2<l.length)||l[0]!=="o"&&l[0]!=="O"||l[1]!=="n"&&l[1]!=="N")&&(l=Rm.get(l)||l,eu(t,l,n))}}function Af(t,e,l,n,a,u){switch(l){case"style":Us(t,n,u);break;case"dangerouslySetInnerHTML":if(n!=null){if(typeof n!="object"||!("__html"in n))throw Error(f(61));if(l=n.__html,l!=null){if(a.children!=null)throw Error(f(60));t.innerHTML=l}}break;case"children":typeof n=="string"?dn(t,n):(typeof n=="number"||typeof n=="bigint")&&dn(t,""+n);break;case"onScroll":n!=null&&ot("scroll",t);break;case"onScrollEnd":n!=null&&ot("scrollend",t);break;case"onClick":n!=null&&(t.onclick=ke);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"inne
Line truncated
|
||||
* @license lucide-react v0.468.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const Vy=i=>i.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),w0=(...i)=>i.filter((s,r,f)=>!!s&&s.trim()!==""&&f.indexOf(s)===r).join(" ").trim();/**
|
||||
* @license lucide-react v0.468.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/var Zy={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/**
|
||||
* @license lucide-react v0.468.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const Ky=gt.forwardRef(({color:i="currentColor",size:s=24,strokeWidth:r=2,absoluteStrokeWidth:f,className:d="",children:m,iconNode:y,...b},E)=>gt.createElement("svg",{ref:E,...Zy,width:s,height:s,stroke:i,strokeWidth:f?Number(r)*24/Number(s):r,className:w0("lucide",d),...b},[...y.map(([v,R])=>gt.createElement(v,R)),...Array.isArray(m)?m:[m]]));/**
|
||||
* @license lucide-react v0.468.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const Te=(i,s)=>{const r=gt.forwardRef(({className:f,...d},m)=>gt.createElement(Ky,{ref:m,iconNode:s,className:w0(`lucide-${Vy(i)}`,f),...d}));return r.displayName=`${i}`,r};/**
|
||||
* @license lucide-react v0.468.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const Jy=Te("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);/**
|
||||
* @license lucide-react v0.468.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const ky=Te("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/**
|
||||
* @license lucide-react v0.468.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const Fy=Te("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);/**
|
||||
* @license lucide-react v0.468.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const $y=Te("DatabaseBackup",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 12a9 3 0 0 0 5 2.69",key:"1ui2ym"}],["path",{d:"M21 9.3V5",key:"6k6cib"}],["path",{d:"M3 5v14a9 3 0 0 0 6.47 2.88",key:"i62tjy"}],["path",{d:"M12 12v4h4",key:"1bxaet"}],["path",{d:"M13 20a5 5 0 0 0 9-3 4.5 4.5 0 0 0-4.5-4.5c-1.33 0-2.54.54-3.41 1.41L12 16",key:"1f4ei9"}]]);/**
|
||||
* @license lucide-react v0.468.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const Wy=Te("EyeOff",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);/**
|
||||
* @license lucide-react v0.468.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const Iy=Te("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/**
|
||||
* @license lucide-react v0.468.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const Py=Te("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);/**
|
||||
* @license lucide-react v0.468.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const L0=Te("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);/**
|
||||
* @license lucide-react v0.468.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const t1=Te("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);/**
|
||||
* @license lucide-react v0.468.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const e1=Te("Save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);/**
|
||||
* @license lucide-react v0.468.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const l1=Te("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/**
|
||||
* @license lucide-react v0.468.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const Y0=Te("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/**
|
||||
* @license lucide-react v0.468.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const n1=Te("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function X0(i,s){return function(){return i.apply(s,arguments)}}const{toString:a1}=Object.prototype,{getPrototypeOf:gi}=Object,{iterator:bi,toStringTag:G0}=Symbol,Si=(i=>s=>{const r=a1.call(s);return i[r]||(i[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),Le=i=>(i=i.toLowerCase(),s=>Si(s)===i),Ei=i=>s=>typeof s===i,{isArray:Kn}=Array,Zn=Ei("undefined");function Va(i){return i!==null&&!Zn(i)&&i.constructor!==null&&!Zn(i.constructor)&&re(i.constructor.isBuffer)&&i.constructor.isBuffer(i)}const Q0=Le("ArrayBuffer");function u1(i){let s;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?s=ArrayBuffer.isView(i):s=i&&i.buffer&&Q0(i.buffer),s}const i1=Ei("string"),re=Ei("function"),V0=Ei("number"),Za=i=>i!==null&&typeof i=="object",c1=i=>i===!0||i===!1,hi=i=>{if(Si(i)!=="object")return!1;const s=gi(i);return(s===null||s===Object.prototype||Object.getPrototypeOf(s)===null)&&!(G0 in i)&&!(bi in i)},f1=i=>{if(!Za(i)||Va(i))return!1;try{return Object.keys(i).length===0&&Object.getPrototypeOf(i)===Object.prototype}catch{return!1}},s1=Le("Date"),r1=Le("File"),o1=i=>!!(i&&typeof i.uri<"u"),d1=i=>i&&typeof i.getParts<"u",m1=Le("Blob"),h1=Le("FileList"),y1=i=>Za(i)&&re(i.pipe);function v1(){return typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}}const x0=v1(),T0=typeof x0.FormData<"u"?x0.FormData:void 0,p1=i=>{if(!i)return!1;if(T0&&i instanceof T0)return!0;const s=gi(i);if(!s||s===Object.prototype||!re(i.append))return!1;const r=Si(i);return r==="formdata"||r==="object"&&re(i.toString)&&i.toString()==="[object FormData]"},g1=Le("URLSearchParams"),[b1,S1,E1,x1]=["ReadableStream","Request","Response","Headers"].map(Le),T1=i=>i.trim?i.trim():i.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Ka(i,s,{allOwnKeys:r=!1}={}){if(i===null||typeof i>"u")return;let f,d;if(typeof i!="object"&&(i=[i]),Kn(i))for(f=0,d=i.length;f<d;f++)s.call(null,i[f],f,i);else{if(Va(i))return;const m=r?Object.getOwnPropertyNames(i):Object.keys(i),y=m.length;let b;for(f=0;f<y;f++)b=m[f],s.call(null,i[b],b,i)}}function Z0(i,s){if(Va(i))return null;s=s.toLowerCase();const r=Object.keys(i);let f=r.length,d;for(;f-- >0;)if(d=r[f],s===d.toLowerCase())return d;return null}const tn=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,K0=i=>!Zn(i)&&i!==tn;function Pf(...i){const{caseless:s,skipUndefined:r}=K0(this)&&this||{},f={},d=(m,y)=>{if(y==="__proto__"||y==="constructor"||y==="prototype")return;const b=s&&Z0(f,y)||y,E=ts(f,b)?f[b]:void 0;hi(E)&&hi(m)?f[b]=Pf(E,m):hi(m)?f[b]=Pf({},m):Kn(m)?f[b]=m.slice():(!r||!Zn(m))&&(f[b]=m)};for(let m=0,y=i.length;m<y;m++)i[m]&&Ka(i[m],d);return f}const A1=(i,s,r,{allOwnKeys:f}={})=>(Ka(s,(d,m)=>{r&&re(d)?Object.defineProperty(i,m,{__proto__:null,value:X0(d,r),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(i,m,{__proto__:null,value:d,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:f}),i),z1=i=>(i.charCodeAt(0)===65279&&(i=i.slice(1)),i),O1=(i,s,r,f)=>{i.prototype=Object.create(s.prototype,f),Object.defineProperty(i.prototype,"constructor",{__proto__:null,value:i,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(i,"super",{__proto__:null,value:s.prototype}),r&&Object.assign(i.prototype,r)},_1=(i,s,r,f)=>{let d,m,y;const b={};if(s=s||{},i==null)return s;do{for(d=Object.getOwnPropertyNames(i),m=d.length;m-- >0;)y=d[m],(!f||f(y,i,s))&&!b[y]&&(s[y]=i[y],b[y]=!0);i=r!==!1&&gi(i)}while(i&&(!r||r(i,s))&&i!==Object.prototype);return s},R1=(i,s,r)=>{i=String(i),(r===void 0||r>i.length)&&(r=i.length),r-=s.length;const f=i.indexOf(s,r);return f!==-1&&f===r},N1=i=>{if(!i)return null;if(Kn(i))return i;let s=i.length;if(!V0(s))return null;const r=new Array(s);for(;s-- >0;)r[s]=i[s];return r},D1=(i=>s=>i&&s instanceof i)(typeof Uint8Array<"u"&&gi(Uint8Array)),M1=(i,s)=>{const f=(i&&i[bi]).call(i);let d;for(;(d=f.next())&&!d.done;){const m=d.value;s.call(i,m[0],m[1])}},U1=(i,s)=>{let r;const f=[];for(;(r=i.exec(s))!==null;)f.push(r);return f},C1=Le("HTMLFormElement"),j1=i=>i.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,f,d){return f.toUpperCase()+d}),ts=(({hasOwnProperty:i})=>(s,r)=>i.call(s,r))(Object.prototype),H1=Le("RegExp"),J0=(i,s)=>{const r=Object.getOwnPropertyDescriptors(i),f={};Ka(r,(d,m)=>{let y;(y=s(d,m,i))!==!1&&(f[m]=y||d)}),Object.defineProperties(i,f)},B1=i=>{J0(i,(s,r)=>{if(re(i)&&["arguments","caller","callee"].includes(r))return!1;const f=i[r];if(re(f)){if(s.enumerable=!1,"writable"in s){s.writable=!1;return}s.set||(s.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},q1=(i,s)=>{const r={},f=d=>{d.forEach(m=>{r[m]=!0})};return Kn(i)?f(i):f(String(i).split(s)),r},w1=()=>{},L1=(i,s)=>i!=null&&Number.isFinite(i=+i)?i:s;function Y1(i){return!!(i&&re(i.append)&&i[G0]==="FormData"&&i[bi])}const X1=i=>{const s=new WeakSet,r=f=>{if(Za(f)){if(s.has(Line truncated
|
||||
`).forEach(function(y){d=y.indexOf(":"),r=y.substring(0,d).trim().toLowerCase(),f=y.substring(d+1).trim(),!(!r||s[r]&&K1[r])&&(r==="set-cookie"?s[r]?s[r].push(f):s[r]=[f]:s[r]=s[r]?s[r]+", "+f:f)}),s};function k1(i){let s=0,r=i.length;for(;s<r;){const f=i.charCodeAt(s);if(f!==9&&f!==32)break;s+=1}for(;r>s;){const f=i.charCodeAt(r-1);if(f!==9&&f!==32)break;r-=1}return s===0&&r===i.length?i:i.slice(s,r)}const F1=new RegExp("[\\u0000-\\u0008\\u000a-\\u001f\\u007f]+","g"),$1=new RegExp("[^\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+","g");function us(i,s){return x.isArray(i)?i.map(r=>us(r,s)):k1(String(i).replace(s,""))}const W1=i=>us(i,F1),I1=i=>us(i,$1);function F0(i){const s=Object.create(null);return x.forEach(i.toJSON(),(r,f)=>{s[f]=I1(r)}),s}const A0=Symbol("internals");function Xa(i){return i&&String(i).trim().toLowerCase()}function yi(i){return i===!1||i==null?i:x.isArray(i)?i.map(yi):W1(String(i))}function P1(i){const s=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let f;for(;f=r.exec(i);)s[f[1]]=f[2];return s}const tv=i=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(i.trim());function kf(i,s,r,f,d){if(x.isFunction(f))return f.call(this,s,r);if(d&&(s=r),!!x.isString(s)){if(x.isString(f))return s.indexOf(f)!==-1;if(x.isRegExp(f))return f.test(s)}}function ev(i){return i.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(s,r,f)=>r.toUpperCase()+f)}function lv(i,s){const r=x.toCamelCase(" "+s);["get","set","has"].forEach(f=>{Object.defineProperty(i,f+r,{__proto__:null,value:function(d,m,y){return this[f].call(this,s,d,m,y)},configurable:!0})})}let le=class{constructor(s){s&&this.set(s)}set(s,r,f){const d=this;function m(b,E,v){const R=Xa(E);if(!R)throw new Error("header name must be a non-empty string");const H=x.findKey(d,R);(!H||d[H]===void 0||v===!0||v===void 0&&d[H]!==!1)&&(d[H||E]=yi(b))}const y=(b,E)=>x.forEach(b,(v,R)=>m(v,R,E));if(x.isPlainObject(s)||s instanceof this.constructor)y(s,r);else if(x.isString(s)&&(s=s.trim())&&!tv(s))y(J1(s),r);else if(x.isObject(s)&&x.isIterable(s)){let b={},E,v;for(const R of s){if(!x.isArray(R))throw TypeError("Object iterator must return a key-value pair");b[v=R[0]]=(E=b[v])?x.isArray(E)?[...E,R[1]]:[E,R[1]]:R[1]}y(b,r)}else s!=null&&m(r,s,f);return this}get(s,r){if(s=Xa(s),s){const f=x.findKey(this,s);if(f){const d=this[f];if(!r)return d;if(r===!0)return P1(d);if(x.isFunction(r))return r.call(this,d,f);if(x.isRegExp(r))return r.exec(d);throw new TypeError("parser must be boolean|regexp|function")}}}has(s,r){if(s=Xa(s),s){const f=x.findKey(this,s);return!!(f&&this[f]!==void 0&&(!r||kf(this,this[f],f,r)))}return!1}delete(s,r){const f=this;let d=!1;function m(y){if(y=Xa(y),y){const b=x.findKey(f,y);b&&(!r||kf(f,f[b],b,r))&&(delete f[b],d=!0)}}return x.isArray(s)?s.forEach(m):m(s),d}clear(s){const r=Object.keys(this);let f=r.length,d=!1;for(;f--;){const m=r[f];(!s||kf(this,this[m],m,s,!0))&&(delete this[m],d=!0)}return d}normalize(s){const r=this,f={};return x.forEach(this,(d,m)=>{const y=x.findKey(f,m);if(y){r[y]=yi(d),delete r[m];return}const b=s?ev(m):String(m).trim();b!==m&&delete r[m],r[b]=yi(d),f[b]=!0}),this}concat(...s){return this.constructor.concat(this,...s)}toJSON(s){const r=Object.create(null);return x.forEach(this,(f,d)=>{f!=null&&f!==!1&&(r[d]=s&&x.isArray(f)?f.join(", "):f)}),r}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([s,r])=>s+": "+r).join(`
|
||||
`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(s){return s instanceof this?s:new this(s)}static concat(s,...r){const f=new this(s);return r.forEach(d=>f.set(d)),f}static accessor(s){const f=(this[A0]=this[A0]={accessors:{}}).accessors,d=this.prototype;function m(y){const b=Xa(y);f[b]||(lv(d,y),f[b]=!0)}return x.isArray(s)?s.forEach(m):m(s),this}};le.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);x.reduceDescriptors(le.prototype,({value:i},s)=>{let r=s[0].toUpperCase()+s.slice(1);return{get:()=>i,set(f){this[r]=f}}});x.freezeMethods(le);const nv="[REDACTED ****]";function av(i){if(x.hasOwnProp(i,"toJSON"))return!0;let s=Object.getPrototypeOf(i);for(;s&&s!==Object.prototype;){if(x.hasOwnProp(s,"toJSON"))return!0;s=Object.getPrototypeOf(s)}return!1}function uv(i,s){const r=new Set(s.map(m=>String(m).toLowerCase())),f=[],d=m=>{if(m===null||typeof m!="object"||x.isBuffer(m))return m;if(f.indexOf(m)!==-1)return;m instanceof le&&(m=m.toJSON()),f.push(m);let y;if(x.isArray(m))y=[],m.forEach((b,E)=>{const v=d(b);x.isUndefined(v)||(y[E]=v)});else{if(!x.isPlainObject(m)&&av(m))return f.pop(),m;y=Object.create(null);for(const[b,E]of Object.entries(m)){const v=r.has(b.toLowerCase())?nv:d(E);x.isUndefined(v)||(y[b]=v)}}return f.pop(),y};return d(i)}let V=class $0 extends Error{static from(s,r,f,d,m,y){const b=new $0(s.message,r||s.code,f,d,m);return b.cause=s,b.name=s.name,s.status!=null&&b.status==null&&(b.status=s.status),y&&Object.assign(b,y),b}constructor(s,r,f,d,m){super(s),Object.defineProperty(this,"message",{__proto__:null,value:s,enumerable:!0,writable:!0,configurable:!0}),this.name="AxiosError",this.isAxiosError=!0,r&&(this.code=r),f&&(this.config=f),d&&(this.request=d),m&&(this.response=m,this.status=m.status)}toJSON(){const s=this.config,r=s&&x.hasOwnProp(s,"redact")?s.redact:void 0,f=x.isArray(r)&&r.length>0?uv(s,r):x.toJSONObject(s);return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:f,code:this.code,status:this.status}}};V.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE";V.ERR_BAD_OPTION="ERR_BAD_OPTION";V.ECONNABORTED="ECONNABORTED";V.ETIMEDOUT="ETIMEDOUT";V.ECONNREFUSED="ECONNREFUSED";V.ERR_NETWORK="ERR_NETWORK";V.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS";V.ERR_DEPRECATED="ERR_DEPRECATED";V.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE";V.ERR_BAD_REQUEST="ERR_BAD_REQUEST";V.ERR_CANCELED="ERR_CANCELED";V.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT";V.ERR_INVALID_URL="ERR_INVALID_URL";V.ERR_FORM_DATA_DEPTH_EXCEEDED="ERR_FORM_DATA_DEPTH_EXCEEDED";const iv=null;function es(i){return x.isPlainObject(i)||x.isArray(i)}function W0(i){return x.endsWith(i,"[]")?i.slice(0,-2):i}function Ff(i,s,r){return i?i.concat(s).map(function(d,m){return d=W0(d),!r&&m?"["+d+"]":d}).join(r?".":""):s}function cv(i){return x.isArray(i)&&!i.some(es)}const fv=x.toFlatObject(x,{},null,function(s){return/^is[A-Z]/.test(s)});function xi(i,s,r){if(!x.isObject(i))throw new TypeError("target must be an object");s=s||new FormData,r=x.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(U,B){return!x.isUndefined(B[U])});const f=r.metaTokens,d=r.visitor||H,m=r.dots,y=r.indexes,b=r.Blob||typeof Blob<"u"&&Blob,E=r.maxDepth===void 0?100:r.maxDepth,v=b&&x.isSpecCompliantForm(s);if(!x.isFunction(d))throw new TypeError("visitor must be a function");function R(w){if(w===null)return"";if(x.isDate(w))return w.toISOString();if(x.isBoolean(w))return w.toString();if(!v&&x.isBlob(w))throw new V("Blob is not supported. Use a Buffer instead.");return x.isArrayBuffer(w)||x.isTypedArray(w)?v&&typeof Blob=="function"?new Blob([w]):Buffer.from(w):w}function H(w,U,B){let I=w;if(x.isReactNative(s)&&x.isReactNativeBlob(w))return s.append(Ff(B,U,m),R(w)),!1;if(w&&!B&&typeof w=="object"){if(x.endsWith(U,"{}"))U=f?U:U.slice(0,-2),w=JSON.stringify(w);else if(x.isArray(w)&&cv(w)||(x.isFileList(w)||x.endsWith(U,"[]"))&&(I=x.toArray(w)))return U=W0(U),I.forEach(function(P,ft){!(x.isUndefined(P)||P===null)&&s.append(y===!0?Ff([U],ft,m):y===null?U:U+"[]",R(P))}),!1}return es(w)?!0:(s.append(Ff(B,U,m),R(w)),!1)}const X=[],Q=Object.assign(fv,{defaultVisitor:H,convertValue:R,isVisitable:es});function Z(w,U,B=0){if(!x.isUndefined(w)){if(B>E)throw new V("Object is too deeply nested ("+B+" levels). Max depth: "+E,V.ERR_FORM_DATA_DEPTH_EXCEEDED);if(X.indexOf(w)!==-1)throw Error("Circular reference detected in "+U.join("."));X.push(w),x.forEach(w,function(k,P){(!(x.isUndefined(k)||k===null)&&d.call(s,k,x.isString(P)?P.trim():P,U,Q))===!0&&Z(k,U?U.concat(P):[P],B+1)}),X.pop()}}if(!x.isObject(i))throw new TypeError("data must be an object");return Z(i),s}function z0(i){const s={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"};return encodeURIComponent(i).replace(/[!'()~]|%20/g,function(f){return s[f]})}function is(i,s)
Line truncated
|
||||
`+y.map(C0).join(`
|
||||
`):" "+C0(y[0]):"as no adapter specified";throw new V("There is no suitable adapter to dispatch the request "+b,"ERR_NOT_SUPPORT")}return d}const im={getAdapter:Gv,adapters:rs};function Wf(i){if(i.cancelToken&&i.cancelToken.throwIfRequested(),i.signal&&i.signal.aborted)throw new ka(null,i)}function j0(i){return Wf(i),i.headers=le.from(i.headers),i.data=$f.call(i,i.transformRequest),["post","put","patch"].indexOf(i.method)!==-1&&i.headers.setContentType("application/x-www-form-urlencoded",!1),im.getAdapter(i.adapter||Ja.adapter,i)(i).then(function(f){Wf(i),i.response=f;try{f.data=$f.call(i,i.transformResponse,f)}finally{delete i.response}return f.headers=le.from(f.headers),f},function(f){if(!em(f)&&(Wf(i),f&&f.response)){i.response=f.response;try{f.response.data=$f.call(i,i.transformResponse,f.response)}finally{delete i.response}f.response.headers=le.from(f.response.headers)}return Promise.reject(f)})}const Ti={};["object","boolean","number","function","string","symbol"].forEach((i,s)=>{Ti[i]=function(f){return typeof f===i||"a"+(s<1?"n ":" ")+i}});const H0={};Ti.transitional=function(s,r,f){function d(m,y){return"[Axios v"+ss+"] Transitional option '"+m+"'"+y+(f?". "+f:"")}return(m,y,b)=>{if(s===!1)throw new V(d(y," has been removed"+(r?" in "+r:"")),V.ERR_DEPRECATED);return r&&!H0[y]&&(H0[y]=!0,console.warn(d(y," has been deprecated since v"+r+" and will be removed in the near future"))),s?s(m,y,b):!0}};Ti.spelling=function(s){return(r,f)=>(console.warn(`${f} is likely a misspelling of ${s}`),!0)};function Qv(i,s,r){if(typeof i!="object")throw new V("options must be an object",V.ERR_BAD_OPTION_VALUE);const f=Object.keys(i);let d=f.length;for(;d-- >0;){const m=f[d],y=Object.prototype.hasOwnProperty.call(s,m)?s[m]:void 0;if(y){const b=i[m],E=b===void 0||y(b,m,i);if(E!==!0)throw new V("option "+m+" must be "+E,V.ERR_BAD_OPTION_VALUE);continue}if(r!==!0)throw new V("Unknown option "+m,V.ERR_BAD_OPTION)}}const vi={assertOptions:Qv,validators:Ti},je=vi.validators;let en=class{constructor(s){this.defaults=s||{},this.interceptors={request:new O0,response:new O0}}async request(s,r){try{return await this._request(s,r)}catch(f){if(f instanceof Error){let d={};Error.captureStackTrace?Error.captureStackTrace(d):d=new Error;const m=(()=>{if(!d.stack)return"";const y=d.stack.indexOf(`
|
||||
`);return y===-1?"":d.stack.slice(y+1)})();try{if(!f.stack)f.stack=m;else if(m){const y=m.indexOf(`
|
||||
`),b=y===-1?-1:m.indexOf(`
|
||||
`,y+1),E=b===-1?"":m.slice(b+1);String(f.stack).endsWith(E)||(f.stack+=`
|
||||
`+m)}}catch{}}throw f}}_request(s,r){typeof s=="string"?(r=r||{},r.url=s):r=s||{},r=nn(this.defaults,r);const{transitional:f,paramsSerializer:d,headers:m}=r;f!==void 0&&vi.assertOptions(f,{silentJSONParsing:je.transitional(je.boolean),forcedJSONParsing:je.transitional(je.boolean),clarifyTimeoutError:je.transitional(je.boolean),legacyInterceptorReqResOrdering:je.transitional(je.boolean)},!1),d!=null&&(x.isFunction(d)?r.paramsSerializer={serialize:d}:vi.assertOptions(d,{encode:je.function,serialize:je.function},!0)),r.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?r.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:r.allowAbsoluteUrls=!0),vi.assertOptions(r,{baseUrl:je.spelling("baseURL"),withXsrfToken:je.spelling("withXSRFToken")},!0),r.method=(r.method||this.defaults.method||"get").toLowerCase();let y=m&&x.merge(m.common,m[r.method]);m&&x.forEach(["delete","get","head","post","put","patch","query","common"],Z=>{delete m[Z]}),r.headers=le.concat(y,m);const b=[];let E=!0;this.interceptors.request.forEach(function(w){if(typeof w.runWhen=="function"&&w.runWhen(r)===!1)return;E=E&&w.synchronous;const U=r.transitional||cs;U&&U.legacyInterceptorReqResOrdering?b.unshift(w.fulfilled,w.rejected):b.push(w.fulfilled,w.rejected)});const v=[];this.interceptors.response.forEach(function(w){v.push(w.fulfilled,w.rejected)});let R,H=0,X;if(!E){const Z=[j0.bind(this),void 0];for(Z.unshift(...b),Z.push(...v),X=Z.length,R=Promise.resolve(r);H<X;)R=R.then(Z[H++],Z[H++]);return R}X=b.length;let Q=r;for(;H<X;){const Z=b[H++],w=b[H++];try{Q=Z(Q)}catch(U){w.call(this,U);break}}try{R=j0.call(this,Q)}catch(Z){return Promise.reject(Z)}for(H=0,X=v.length;H<X;)R=R.then(v[H++],v[H++]);return R}getUri(s){s=nn(this.defaults,s);const r=nm(s.baseURL,s.url,s.allowAbsoluteUrls);return P0(r,s.params,s.paramsSerializer)}};x.forEach(["delete","get","head","options"],function(s){en.prototype[s]=function(r,f){return this.request(nn(f||{},{method:s,url:r,data:(f||{}).data}))}});x.forEach(["post","put","patch","query"],function(s){function r(f){return function(m,y,b){return this.request(nn(b||{},{method:s,headers:f?{"Content-Type":"multipart/form-data"}:{},url:m,data:y}))}}en.prototype[s]=r(),s!=="query"&&(en.prototype[s+"Form"]=r(!0))});let Vv=class cm{constructor(s){if(typeof s!="function")throw new TypeError("executor must be a function.");let r;this.promise=new Promise(function(m){r=m});const f=this;this.promise.then(d=>{if(!f._listeners)return;let m=f._listeners.length;for(;m-- >0;)f._listeners[m](d);f._listeners=null}),this.promise.then=d=>{let m;const y=new Promise(b=>{f.subscribe(b),m=b}).then(d);return y.cancel=function(){f.unsubscribe(m)},y},s(function(m,y,b){f.reason||(f.reason=new ka(m,y,b),r(f.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(s){if(this.reason){s(this.reason);return}this._listeners?this._listeners.push(s):this._listeners=[s]}unsubscribe(s){if(!this._listeners)return;const r=this._listeners.indexOf(s);r!==-1&&this._listeners.splice(r,1)}toAbortSignal(){const s=new AbortController,r=f=>{s.abort(f)};return this.subscribe(r),s.signal.unsubscribe=()=>this.unsubscribe(r),s.signal}static source(){let s;return{token:new cm(function(d){s=d}),cancel:s}}};function Zv(i){return function(r){return i.apply(null,r)}}function Kv(i){return x.isObject(i)&&i.isAxiosError===!0}const ns={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(ns).forEach(([i,s])=>{ns[s]=i});function fm(i){const s=new en(i),r=X0(en.prototype.request,s);return x.extend(r,en.prototype,s,{allOwnKeys:!0}),x.extend(r,s,null,{allOwnKeys:!0}),r.create=function(d){return fm(nn(i,d))},r}const jt=fm(Ja);jt.Axios=en;jt.CanceledError=ka;jt.CancelToken=Vv;jt.isCa
Line truncated
|
||||
`)})]})]})}function Qa({label:i,value:s,tone:r="text-zinc-300"}){return z.jsxs("div",{children:[z.jsx("dt",{className:"text-xs uppercase tracking-wide text-zinc-500",children:i}),z.jsx("dd",{className:`mt-1 break-words ${r}`,children:s})]})}function Pv(i){return i==="success"?"border-emerald-800 bg-emerald-950 text-emerald-300":i==="failed"?"border-red-800 bg-red-950 text-red-300":i==="running"||i==="queued"?"border-cyan-800 bg-cyan-950 text-cyan-300":"border-zinc-800 bg-zinc-950 text-zinc-400"}function q0(i){return i?new Intl.DateTimeFormat(void 0,{dateStyle:"medium",timeStyle:"medium"}).format(new Date(i)):"-"}function tp({snapshot:i,vmName:s,confirmText:r,onCancel:f,onConfirm:d,onTextChange:m,busy:y}){if(!i)return null;const b=r===s&&!y;return z.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/70 p-4",children:z.jsxs("div",{className:"w-full max-w-lg rounded-md border border-red-900 bg-zinc-950 shadow-2xl",children:[z.jsxs("div",{className:"flex items-center justify-between border-b border-red-950 px-4 py-3",children:[z.jsxs("div",{className:"flex items-center gap-2 text-red-300",children:[z.jsx(Y0,{className:"h-5 w-5"}),z.jsx("h2",{className:"text-sm font-semibold",children:"Destructive Restore"})]}),z.jsx("button",{className:"rounded-md p-1 text-zinc-400 hover:text-zinc-100",onClick:f,type:"button",children:z.jsx(n1,{className:"h-5 w-5"})})]}),z.jsxs("div",{className:"space-y-4 p-4",children:[z.jsxs("p",{className:"text-sm leading-6 text-zinc-300",children:["Warning: The VM will be stopped and the current disk will be irreversibly overwritten with snapshot ",z.jsx("span",{className:"font-mono text-red-200",children:i.id.slice(0,8)}),"."]}),z.jsxs("label",{className:"block text-sm text-zinc-300",children:["Type ",z.jsx("span",{className:"font-mono text-zinc-100",children:s})," to confirm.",z.jsx("input",{className:"mt-2 h-10 w-full rounded-md border border-zinc-700 bg-zinc-900 px-3 text-zinc-100 outline-none focus:border-red-500",onChange:E=>m(E.target.value),value:r})]}),z.jsxs("div",{className:"flex justify-end gap-2",children:[z.jsx("button",{className:"h-9 rounded-md border border-zinc-700 px-3 text-sm text-zinc-200",onClick:f,type:"button",children:"Cancel"}),z.jsx("button",{className:"h-9 rounded-md border border-red-700 bg-red-950 px-3 text-sm text-red-100 hover:bg-red-900 disabled:hover:bg-red-950",disabled:!b,onClick:d,type:"button",children:"Confirm Restore"})]})]})]})})}function ep({onRestore:i,snapshots:s}){return z.jsxs("section",{className:"overflow-hidden rounded-md border border-zinc-800 bg-zinc-900/70",children:[z.jsx("div",{className:"border-b border-zinc-800 px-4 py-3",children:z.jsx("h2",{className:"text-sm font-semibold",children:"Snapshots"})}),z.jsx("div",{className:"overflow-x-auto",children:z.jsxs("table",{className:"w-full min-w-[680px] text-left text-sm",children:[z.jsx("thead",{className:"border-b border-zinc-800 text-xs uppercase tracking-wide text-zinc-500",children:z.jsxs("tr",{children:[z.jsx("th",{className:"px-4 py-3 font-medium",children:"ID"}),z.jsx("th",{className:"px-4 py-3 font-medium",children:"Date & Time"}),z.jsx("th",{className:"px-4 py-3 font-medium",children:"Tags"}),z.jsx("th",{className:"px-4 py-3 text-right font-medium",children:"Actions"})]})}),z.jsxs("tbody",{className:"divide-y divide-zinc-800",children:[s.map(r=>z.jsxs("tr",{className:"hover:bg-zinc-900",children:[z.jsx("td",{className:"px-4 py-3 font-mono text-zinc-100",children:r.id.slice(0,8)}),z.jsx("td",{className:"px-4 py-3 text-zinc-300",children:lp(r.time)}),z.jsx("td",{className:"px-4 py-3 text-zinc-400",children:(r.tags||[]).join(", ")||"-"}),z.jsx("td",{className:"px-4 py-3 text-right",children:z.jsxs("button",{className:"inline-flex h-8 items-center gap-2 rounded-md border border-red-900 px-2.5 text-xs text-red-300 hover:border-red-600 hover:text-red-200",onClick:()=>i(r),type:"button",children:[z.jsx(t1,{className:"h-4 w-4"}),"Restore"]})})]},r.id)),s.length?null:z.jsx("tr",{children:z.jsx("td",{className:"px-4 py-8 text-center text-zinc-500",colSpan:"4",children:"No snapshots found."})})]})]})})]})}function lp(i){return i?new Intl.DateTimeFormat(void 0,{dateStyle:"medium",timeStyle:"medium"}).format(new Date(i)):"-"}function np({jobs:i,onBack:s,onChanged:r,vm:f}){var P;const[d,m]=gt.useState([]),[y,b]=gt.useState(null),[E,v]=gt.useState(""),[R,H]=gt.useState(!1),[X,Q]=gt.useState(""),Z=gt.useMemo(()=>i.filter(ft=>ft.vmName===f.name),[i,f.name]),w=Z.find(ft=>["queued","running"].includes(ft.status))||Z[0]||null,U=(P=d[0])==null?void 0:P.time;async function B(){Q("");try{const ft=await we.get(`/snapshots/${encodeURIComponent(f.name)}`);m(ft.data)}catch(ft){Q(ln(ft))}}gt.useEffect(()=>{B()},[f.name]);async function I(){H(!0),Q("");try{await we.post(`/backup/${encodeURIComponent(f.name)}`),await r()}catch(ft){Q(ln(ft))}finally{H(!1)}}async function k(){H(!0),Q("");try{await we.post(`/restore/${encodeURIComponent(f.name)}`,{snapshotId:y.id,confirmVmName:E}),b
Line truncated
|
||||
Vendored
+2
-2
@@ -4,8 +4,8 @@
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Incus Backup UI</title>
|
||||
<script type="module" crossorigin src="/assets/index-JZykJ0Bp.js"></script>
|
||||
<link rel="stylesheet" crossorigin href="/assets/index-Dw_yq1Cq.css">
|
||||
<script type="module" crossorigin src="/assets/index-IGuLjsuH.js"></script>
|
||||
<link rel="stylesheet" crossorigin href="/assets/index-BhslfNoW.css">
|
||||
</head>
|
||||
<body>
|
||||
<div id="root"></div>
|
||||
|
||||
+20
-3
@@ -1,7 +1,8 @@
|
||||
import { useEffect, useMemo, useState } from 'react';
|
||||
import { AlertTriangle, DatabaseBackup, RefreshCw, Settings as SettingsIcon } from 'lucide-react';
|
||||
import { AlertTriangle, CalendarClock, DatabaseBackup, RefreshCw, Settings as SettingsIcon } from 'lucide-react';
|
||||
import { api, errorMessage } from './api.js';
|
||||
import { Dashboard } from './components/Dashboard.jsx';
|
||||
import { Scheduler } from './components/Scheduler.jsx';
|
||||
import { Settings } from './components/Settings.jsx';
|
||||
import { VMDetail } from './components/VMDetail.jsx';
|
||||
|
||||
@@ -9,6 +10,7 @@ export default function App() {
|
||||
const [health, setHealth] = useState(null);
|
||||
const [vms, setVms] = useState([]);
|
||||
const [jobs, setJobs] = useState([]);
|
||||
const [schedules, setSchedules] = useState([]);
|
||||
const [selectedVm, setSelectedVm] = useState(null);
|
||||
const [view, setView] = useState('dashboard');
|
||||
const [error, setError] = useState('');
|
||||
@@ -17,10 +19,11 @@ export default function App() {
|
||||
async function refresh() {
|
||||
setError('');
|
||||
try {
|
||||
const [healthResult, vmsResult, jobsResult] = await Promise.allSettled([
|
||||
const [healthResult, vmsResult, jobsResult, schedulesResult] = await Promise.allSettled([
|
||||
api.get('/health'),
|
||||
api.get('/vms'),
|
||||
api.get('/jobs'),
|
||||
api.get('/schedules'),
|
||||
]);
|
||||
|
||||
if (healthResult.status === 'fulfilled') {
|
||||
@@ -31,8 +34,9 @@ export default function App() {
|
||||
|
||||
if (vmsResult.status === 'fulfilled') setVms(vmsResult.value.data);
|
||||
if (jobsResult.status === 'fulfilled') setJobs(jobsResult.value.data);
|
||||
if (schedulesResult.status === 'fulfilled') setSchedules(schedulesResult.value.data);
|
||||
|
||||
const firstFailure = [healthResult, vmsResult, jobsResult].find((result) => result.status === 'rejected');
|
||||
const firstFailure = [healthResult, vmsResult, jobsResult, schedulesResult].find((result) => result.status === 'rejected');
|
||||
if (firstFailure) setError(errorMessage(firstFailure.reason));
|
||||
} catch (requestError) {
|
||||
setError(errorMessage(requestError));
|
||||
@@ -73,6 +77,17 @@ export default function App() {
|
||||
</span>
|
||||
</button>
|
||||
<div className="flex items-center gap-2">
|
||||
<button
|
||||
className="inline-flex h-9 items-center gap-2 rounded-md border border-zinc-800 bg-zinc-900 px-3 text-sm text-zinc-200 hover:border-zinc-700"
|
||||
onClick={() => {
|
||||
setSelectedVm(null);
|
||||
setView('scheduler');
|
||||
}}
|
||||
type="button"
|
||||
>
|
||||
<CalendarClock className="h-4 w-4" />
|
||||
Scheduler
|
||||
</button>
|
||||
<button
|
||||
className="inline-flex h-9 items-center gap-2 rounded-md border border-zinc-800 bg-zinc-900 px-3 text-sm text-zinc-200 hover:border-zinc-700"
|
||||
onClick={() => {
|
||||
@@ -106,6 +121,8 @@ export default function App() {
|
||||
<div className="mx-auto max-w-7xl px-4 py-6 sm:px-6">
|
||||
{view === 'settings' ? (
|
||||
<Settings onChanged={refresh} />
|
||||
) : view === 'scheduler' ? (
|
||||
<Scheduler onChanged={refresh} schedules={schedules} vms={vms} />
|
||||
) : currentVm ? (
|
||||
<VMDetail vm={currentVm} jobs={jobs} onBack={() => setSelectedVm(null)} onChanged={refresh} />
|
||||
) : (
|
||||
|
||||
@@ -43,7 +43,19 @@ export function Dashboard({ health, jobs, loading, onManage, vms }) {
|
||||
</span>
|
||||
</td>
|
||||
<td className="px-4 py-3 text-zinc-300">{vm.lastJobStatus || 'None'}</td>
|
||||
<td className="px-4 py-3 text-zinc-400">{vm.activeJob?.currentStep || 'Idle'}</td>
|
||||
<td className="px-4 py-3 text-zinc-400">
|
||||
{vm.activeJob ? (
|
||||
<div className="min-w-0">
|
||||
<div className="flex items-center justify-between gap-2">
|
||||
<span className="truncate">{vm.activeJob.currentStep}</span>
|
||||
<span className="font-mono text-xs text-zinc-500">{Math.round(vm.activeJob.progress?.percent || 0)}%</span>
|
||||
</div>
|
||||
<div className="mt-2 h-1.5 overflow-hidden rounded-md bg-zinc-800">
|
||||
<div className="h-full bg-cyan-400" style={{ width: `${Math.round(vm.activeJob.progress?.percent || 0)}%` }} />
|
||||
</div>
|
||||
</div>
|
||||
) : 'Idle'}
|
||||
</td>
|
||||
<td className="px-4 py-3 text-right">
|
||||
<button
|
||||
className="inline-flex h-8 items-center gap-1 rounded-md border border-zinc-700 px-2.5 text-xs text-zinc-100 hover:border-cyan-500 hover:text-cyan-200"
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
export function JobStatusPanel({ job }) {
|
||||
const percent = Math.round(job?.progress?.percent || 0);
|
||||
|
||||
return (
|
||||
<section className="rounded-md border border-zinc-800 bg-zinc-900/70">
|
||||
<div className="flex items-center justify-between border-b border-zinc-800 px-4 py-3">
|
||||
@@ -11,13 +13,25 @@ export function JobStatusPanel({ job }) {
|
||||
<dl className="space-y-3 text-sm">
|
||||
<Info label="Type" value={job?.type || '-'} />
|
||||
<Info label="Current Step" value={job?.currentStep || 'No active job'} />
|
||||
<Info label="Progress" value={job ? `${percent}%` : '-'} />
|
||||
<Info label="Started" value={formatTime(job?.startedAt)} />
|
||||
<Info label="Finished" value={formatTime(job?.finishedAt)} />
|
||||
{job?.error ? <Info label="Error" value={job.error} tone="text-red-300" /> : null}
|
||||
</dl>
|
||||
<pre className="max-h-80 overflow-auto rounded-md border border-zinc-800 bg-zinc-950 p-3 text-xs leading-5 text-zinc-300">
|
||||
{(job?.logs || ['No logs yet.']).join('\n')}
|
||||
</pre>
|
||||
<div className="space-y-3">
|
||||
<div className="rounded-md border border-zinc-800 bg-zinc-950 p-3">
|
||||
<div className="mb-2 flex items-center justify-between gap-3 text-xs text-zinc-400">
|
||||
<span>{job?.progress?.detail || job?.currentStep || 'No active job'}</span>
|
||||
<span className="font-mono text-zinc-300">{job ? `${percent}%` : '-'}</span>
|
||||
</div>
|
||||
<div className="h-2 overflow-hidden rounded-md bg-zinc-800">
|
||||
<div className="h-full bg-cyan-400 transition-all" style={{ width: `${job ? percent : 0}%` }} />
|
||||
</div>
|
||||
</div>
|
||||
<pre className="max-h-80 overflow-auto rounded-md border border-zinc-800 bg-zinc-950 p-3 text-xs leading-5 text-zinc-300">
|
||||
{(job?.logs || ['No logs yet.']).join('\n')}
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
|
||||
@@ -0,0 +1,160 @@
|
||||
import { Save } from 'lucide-react';
|
||||
import { useEffect, useMemo, useState } from 'react';
|
||||
import { api, errorMessage } from '../api.js';
|
||||
|
||||
export function Scheduler({ onChanged, schedules, vms }) {
|
||||
const [drafts, setDrafts] = useState(() => mergeSchedules(vms, schedules));
|
||||
const [dirty, setDirty] = useState(false);
|
||||
const [saving, setSaving] = useState(false);
|
||||
const [message, setMessage] = useState('');
|
||||
const [error, setError] = useState('');
|
||||
|
||||
const rows = useMemo(() => mergeSchedules(vms, drafts), [drafts, vms]);
|
||||
|
||||
useEffect(() => {
|
||||
if (!dirty) {
|
||||
setDrafts(mergeSchedules(vms, schedules));
|
||||
}
|
||||
}, [dirty, schedules, vms]);
|
||||
|
||||
async function saveSchedules(event) {
|
||||
event.preventDefault();
|
||||
setSaving(true);
|
||||
setMessage('');
|
||||
setError('');
|
||||
try {
|
||||
const payload = rows
|
||||
.filter((row) => row.enabled)
|
||||
.map((row) => ({
|
||||
id: row.id,
|
||||
vmName: row.vmName,
|
||||
enabled: row.enabled,
|
||||
intervalHours: Number(row.intervalHours) || 24,
|
||||
nextRunAt: row.nextRunAt,
|
||||
lastRunAt: row.lastRunAt,
|
||||
lastError: row.lastError,
|
||||
}));
|
||||
const result = await api.put('/schedules', { schedules: payload });
|
||||
setDrafts(mergeSchedules(vms, result.data));
|
||||
setDirty(false);
|
||||
setMessage('Scheduler saved.');
|
||||
await onChanged?.();
|
||||
} catch (requestError) {
|
||||
setError(errorMessage(requestError));
|
||||
} finally {
|
||||
setSaving(false);
|
||||
}
|
||||
}
|
||||
|
||||
function updateRow(vmName, values) {
|
||||
setDirty(true);
|
||||
setDrafts((current) => mergeSchedules(vms, current).map((row) => (
|
||||
row.vmName === vmName ? { ...row, ...values } : row
|
||||
)));
|
||||
}
|
||||
|
||||
return (
|
||||
<section className="space-y-5">
|
||||
<div className="border-b border-zinc-800 pb-5">
|
||||
<h1 className="text-2xl font-semibold text-zinc-100">Scheduler</h1>
|
||||
<p className="mt-2 max-w-3xl text-sm leading-6 text-zinc-500">
|
||||
Configure automatic backups per VM. Schedules are stored on the backend and run while the backend service is active.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{error ? <Notice tone="bad" text={error} /> : null}
|
||||
{message ? <Notice tone="good" text={message} /> : null}
|
||||
|
||||
<form className="overflow-hidden rounded-md border border-zinc-800 bg-zinc-900/70" onSubmit={saveSchedules}>
|
||||
<div className="overflow-x-auto">
|
||||
<table className="w-full min-w-[760px] text-left text-sm">
|
||||
<thead className="border-b border-zinc-800 text-xs uppercase text-zinc-500">
|
||||
<tr>
|
||||
<th className="px-4 py-3 font-medium">Enabled</th>
|
||||
<th className="px-4 py-3 font-medium">VM</th>
|
||||
<th className="px-4 py-3 font-medium">Interval</th>
|
||||
<th className="px-4 py-3 font-medium">Next Run</th>
|
||||
<th className="px-4 py-3 font-medium">Last Run</th>
|
||||
<th className="px-4 py-3 font-medium">Last Error</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody className="divide-y divide-zinc-800">
|
||||
{rows.map((row) => (
|
||||
<tr key={row.vmName}>
|
||||
<td className="px-4 py-3">
|
||||
<input
|
||||
checked={row.enabled}
|
||||
className="h-4 w-4 accent-cyan-500"
|
||||
onChange={(event) => updateRow(row.vmName, { enabled: event.target.checked })}
|
||||
type="checkbox"
|
||||
/>
|
||||
</td>
|
||||
<td className="px-4 py-3 font-medium text-zinc-100">{row.vmName}</td>
|
||||
<td className="px-4 py-3">
|
||||
<select
|
||||
className="h-9 rounded-md border border-zinc-700 bg-zinc-950 px-2 text-zinc-100 outline-none"
|
||||
onChange={(event) => updateRow(row.vmName, { intervalHours: Number(event.target.value), nextRunAt: null })}
|
||||
value={row.intervalHours}
|
||||
>
|
||||
<option value={6}>Every 6 hours</option>
|
||||
<option value={12}>Every 12 hours</option>
|
||||
<option value={24}>Daily</option>
|
||||
<option value={168}>Weekly</option>
|
||||
</select>
|
||||
</td>
|
||||
<td className="px-4 py-3 text-zinc-300">{formatTime(row.nextRunAt)}</td>
|
||||
<td className="px-4 py-3 text-zinc-300">{formatTime(row.lastRunAt)}</td>
|
||||
<td className="px-4 py-3 text-red-300">{row.lastError || '-'}</td>
|
||||
</tr>
|
||||
))}
|
||||
{!rows.length ? (
|
||||
<tr>
|
||||
<td className="px-4 py-8 text-center text-zinc-500" colSpan="6">
|
||||
No VMs loaded.
|
||||
</td>
|
||||
</tr>
|
||||
) : null}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div className="flex justify-end border-t border-zinc-800 px-4 py-3">
|
||||
<button
|
||||
className="inline-flex h-9 items-center gap-2 rounded-md border border-cyan-800 bg-cyan-950 px-3 text-sm text-cyan-100 hover:bg-cyan-900"
|
||||
disabled={saving}
|
||||
type="submit"
|
||||
>
|
||||
<Save className="h-4 w-4" />
|
||||
Save Scheduler
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</section>
|
||||
);
|
||||
}
|
||||
|
||||
function mergeSchedules(vms, schedules) {
|
||||
const byVm = new Map((schedules || []).map((schedule) => [schedule.vmName, schedule]));
|
||||
return (vms || []).map((vm) => ({
|
||||
id: byVm.get(vm.name)?.id,
|
||||
vmName: vm.name,
|
||||
enabled: Boolean(byVm.get(vm.name)?.enabled),
|
||||
intervalHours: byVm.get(vm.name)?.intervalHours || 24,
|
||||
nextRunAt: byVm.get(vm.name)?.nextRunAt || null,
|
||||
lastRunAt: byVm.get(vm.name)?.lastRunAt || null,
|
||||
lastError: byVm.get(vm.name)?.lastError || '',
|
||||
}));
|
||||
}
|
||||
|
||||
function Notice({ text, tone }) {
|
||||
const classes = {
|
||||
bad: 'border-red-900 bg-red-950/50 text-red-200',
|
||||
good: 'border-emerald-900 bg-emerald-950/50 text-emerald-200',
|
||||
};
|
||||
|
||||
return <div className={`rounded-md border px-4 py-3 text-sm ${classes[tone]}`}>{text}</div>;
|
||||
}
|
||||
|
||||
function formatTime(value) {
|
||||
if (!value) return '-';
|
||||
return new Intl.DateTimeFormat(undefined, { dateStyle: 'short', timeStyle: 'short' }).format(new Date(value));
|
||||
}
|
||||
Reference in new issue
Block a user