From f0631601f2d9ddbcbc930cbc4f2735a5f417eb97 Mon Sep 17 00:00:00 2001 From: Quarix <144305875+uarix@users.noreply.github.com> Date: Tue, 3 Dec 2024 20:52:13 +0800 Subject: [PATCH] :rocket: Update web --- Keil/EPD.uvprojx | 8 +- Keil/RTE/_EPD_Debug/RTE_Components.h | 3 +- html/index-5PW_jxo5.js | 145 +++++++++++++++++++++++++ html/index-6JYabnXz.css | 1 + html/index.html | 140 +++--------------------- {html => html_archive}/images/0.jpg | Bin {html => html_archive}/images/1.jpg | Bin {html => html_archive}/images/2.jpg | Bin html_archive/index.html | 125 +++++++++++++++++++++ {html => html_archive}/js/dithering.js | 0 {html => html_archive}/js/main.js | 0 11 files changed, 291 insertions(+), 131 deletions(-) create mode 100644 html/index-5PW_jxo5.js create mode 100644 html/index-6JYabnXz.css rename {html => html_archive}/images/0.jpg (100%) rename {html => html_archive}/images/1.jpg (100%) rename {html => html_archive}/images/2.jpg (100%) create mode 100644 html_archive/index.html rename {html => html_archive}/js/dithering.js (100%) rename {html => html_archive}/js/main.js (100%) diff --git a/Keil/EPD.uvprojx b/Keil/EPD.uvprojx index 9e49250..20118b8 100644 --- a/Keil/EPD.uvprojx +++ b/Keil/EPD.uvprojx @@ -1104,8 +1104,8 @@ nRF51822_xxAB Nordic Semiconductor - NordicSemiconductor.nRF_DeviceFamilyPack.8.2.0 - http://developer.nordicsemi.com/nRF51_SDK/pieces/nRF_DeviceFamilyPack/ + NordicSemiconductor.nRF_DeviceFamilyPack.8.44.1 + http://developer.nordicsemi.com/nRF5_SDK/pieces/nRF_DeviceFamilyPack/ IRAM(0x20000000,0x00004000) IROM(0x00000000,0x00020000) CPUTYPE("Cortex-M0") CLOCK(12000000) ELITTLE @@ -1660,8 +1660,8 @@ - - + + diff --git a/Keil/RTE/_EPD_Debug/RTE_Components.h b/Keil/RTE/_EPD_Debug/RTE_Components.h index b55965f..170e578 100644 --- a/Keil/RTE/_EPD_Debug/RTE_Components.h +++ b/Keil/RTE/_EPD_Debug/RTE_Components.h @@ -1,6 +1,6 @@ /* - * Auto generated Run-Time-Environment Configuration File + * Auto generated Run-Time-Environment Component Configuration File * *** Do not modify ! *** * * Project: 'EPD' @@ -17,5 +17,4 @@ #define CMSIS_device_header "nrf.h" - #endif /* RTE_COMPONENTS_H */ diff --git a/html/index-5PW_jxo5.js b/html/index-5PW_jxo5.js new file mode 100644 index 0000000..a27d1ff --- /dev/null +++ b/html/index-5PW_jxo5.js @@ -0,0 +1,145 @@ +var Qu=e=>{throw TypeError(e)};var As=(e,t,n)=>t.has(e)||Qu("Cannot "+n);var R=(e,t,n)=>(As(e,t,"read from private field"),n?n.call(e):t.get(e)),K=(e,t,n)=>t.has(e)?Qu("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),B=(e,t,n,r)=>(As(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),we=(e,t,n)=>(As(e,t,"access private method"),n);var Ho=(e,t,n,r)=>({set _(o){B(e,t,o,n)},get _(){return R(e,t,r)}});(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))r(o);new MutationObserver(o=>{for(const i of o)if(i.type==="childList")for(const s of i.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function n(o){const i={};return o.integrity&&(i.integrity=o.integrity),o.referrerPolicy&&(i.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?i.credentials="include":o.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(o){if(o.ep)return;o.ep=!0;const i=n(o);fetch(o.href,i)}})();function $d(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Bd={exports:{}},os={},Ud={exports:{}},W={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Lo=Symbol.for("react.element"),Km=Symbol.for("react.portal"),Gm=Symbol.for("react.fragment"),Ym=Symbol.for("react.strict_mode"),qm=Symbol.for("react.profiler"),Xm=Symbol.for("react.provider"),Zm=Symbol.for("react.context"),Jm=Symbol.for("react.forward_ref"),eg=Symbol.for("react.suspense"),tg=Symbol.for("react.memo"),ng=Symbol.for("react.lazy"),Ku=Symbol.iterator;function rg(e){return e===null||typeof e!="object"?null:(e=Ku&&e[Ku]||e["@@iterator"],typeof e=="function"?e:null)}var Vd={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Hd=Object.assign,Wd={};function jr(e,t,n){this.props=e,this.context=t,this.refs=Wd,this.updater=n||Vd}jr.prototype.isReactComponent={};jr.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};jr.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Qd(){}Qd.prototype=jr.prototype;function Ta(e,t,n){this.props=e,this.context=t,this.refs=Wd,this.updater=n||Vd}var Na=Ta.prototype=new Qd;Na.constructor=Ta;Hd(Na,jr.prototype);Na.isPureReactComponent=!0;var Gu=Array.isArray,Kd=Object.prototype.hasOwnProperty,Ra={current:null},Gd={key:!0,ref:!0,__self:!0,__source:!0};function Yd(e,t,n){var r,o={},i=null,s=null;if(t!=null)for(r in t.ref!==void 0&&(s=t.ref),t.key!==void 0&&(i=""+t.key),t)Kd.call(t,r)&&!Gd.hasOwnProperty(r)&&(o[r]=t[r]);var l=arguments.length-2;if(l===1)o.children=n;else if(1>>1,ee=N[V];if(0>>1;Vo(zr,I))Nto(Sn,zr)?(N[V]=Sn,N[Nt]=I,V=Nt):(N[V]=zr,N[Qe]=I,V=Qe);else if(Nto(Sn,I))N[V]=Sn,N[Nt]=I,V=Nt;else break e}}return M}function o(N,M){var I=N.sortIndex-M.sortIndex;return I!==0?I:N.id-M.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var s=Date,l=s.now();e.unstable_now=function(){return s.now()-l}}var a=[],u=[],f=1,d=null,p=3,v=!1,w=!1,y=!1,S=typeof setTimeout=="function"?setTimeout:null,c=typeof clearTimeout=="function"?clearTimeout:null,h=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function m(N){for(var M=n(u);M!==null;){if(M.callback===null)r(u);else if(M.startTime<=N)r(u),M.sortIndex=M.expirationTime,t(a,M);else break;M=n(u)}}function E(N){if(y=!1,m(N),!w)if(n(a)!==null)w=!0,F(C);else{var M=n(u);M!==null&&U(E,M.startTime-N)}}function C(N,M){w=!1,y&&(y=!1,c(_),_=-1),v=!0;var I=p;try{for(m(M),d=n(a);d!==null&&(!(d.expirationTime>M)||N&&!j());){var V=d.callback;if(typeof V=="function"){d.callback=null,p=d.priorityLevel;var ee=V(d.expirationTime<=M);M=e.unstable_now(),typeof ee=="function"?d.callback=ee:d===n(a)&&r(a),m(M)}else r(a);d=n(a)}if(d!==null)var et=!0;else{var Qe=n(u);Qe!==null&&U(E,Qe.startTime-M),et=!1}return et}finally{d=null,p=I,v=!1}}var P=!1,T=null,_=-1,L=5,k=-1;function j(){return!(e.unstable_now()-kN||125V?(N.sortIndex=I,t(u,N),n(a)===null&&N===n(u)&&(y?(c(_),_=-1):y=!0,U(E,I-V))):(N.sortIndex=ee,t(a,N),w||v||(w=!0,F(C))),N},e.unstable_shouldYield=j,e.unstable_wrapCallback=function(N){var M=p;return function(){var I=p;p=M;try{return N.apply(this,arguments)}finally{p=I}}}})(ef);Jd.exports=ef;var hg=Jd.exports;/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var mg=x,Ve=hg;function b(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),gl=Object.prototype.hasOwnProperty,gg=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,qu={},Xu={};function vg(e){return gl.call(Xu,e)?!0:gl.call(qu,e)?!1:gg.test(e)?Xu[e]=!0:(qu[e]=!0,!1)}function yg(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function wg(e,t,n,r){if(t===null||typeof t>"u"||yg(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function je(e,t,n,r,o,i,s){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=s}var ve={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){ve[e]=new je(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];ve[t]=new je(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){ve[e]=new je(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){ve[e]=new je(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){ve[e]=new je(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){ve[e]=new je(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){ve[e]=new je(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){ve[e]=new je(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){ve[e]=new je(e,5,!1,e.toLowerCase(),null,!1,!1)});var ba=/[\-:]([a-z])/g;function ja(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(ba,ja);ve[t]=new je(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(ba,ja);ve[t]=new je(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(ba,ja);ve[t]=new je(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){ve[e]=new je(e,1,!1,e.toLowerCase(),null,!1,!1)});ve.xlinkHref=new je("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){ve[e]=new je(e,1,!1,e.toLowerCase(),null,!0,!0)});function Aa(e,t,n,r){var o=ve.hasOwnProperty(t)?ve[t]:null;(o!==null?o.type!==0:r||!(2l||o[s]!==i[l]){var a=` +`+o[s].replace(" at new "," at ");return e.displayName&&a.includes("")&&(a=a.replace("",e.displayName)),a}while(1<=s&&0<=l);break}}}finally{Ds=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?qr(e):""}function xg(e){switch(e.tag){case 5:return qr(e.type);case 16:return qr("Lazy");case 13:return qr("Suspense");case 19:return qr("SuspenseList");case 0:case 2:case 15:return e=Ls(e.type,!1),e;case 11:return e=Ls(e.type.render,!1),e;case 1:return e=Ls(e.type,!0),e;default:return""}}function xl(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Kn:return"Fragment";case Qn:return"Portal";case vl:return"Profiler";case Ma:return"StrictMode";case yl:return"Suspense";case wl:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case rf:return(e.displayName||"Context")+".Consumer";case nf:return(e._context.displayName||"Context")+".Provider";case Oa:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Da:return t=e.displayName||null,t!==null?t:xl(e.type)||"Memo";case Qt:t=e._payload,e=e._init;try{return xl(e(t))}catch{}}return null}function Sg(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return xl(t);case 8:return t===Ma?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function fn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function sf(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Eg(e){var t=sf(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var o=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(s){r=""+s,i.call(this,s)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(s){r=""+s},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Ko(e){e._valueTracker||(e._valueTracker=Eg(e))}function lf(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=sf(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function _i(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Sl(e,t){var n=t.checked;return oe({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Ju(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=fn(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function af(e,t){t=t.checked,t!=null&&Aa(e,"checked",t,!1)}function El(e,t){af(e,t);var n=fn(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Cl(e,t.type,n):t.hasOwnProperty("defaultValue")&&Cl(e,t.type,fn(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function ec(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function Cl(e,t,n){(t!=="number"||_i(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Xr=Array.isArray;function or(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o"+t.valueOf().toString()+"",t=Go.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function po(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var to={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Cg=["Webkit","ms","Moz","O"];Object.keys(to).forEach(function(e){Cg.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),to[t]=to[e]})});function ff(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||to.hasOwnProperty(e)&&to[e]?(""+t).trim():t+"px"}function pf(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,o=ff(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,o):e[n]=o}}var kg=oe({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Tl(e,t){if(t){if(kg[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(b(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(b(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(b(61))}if(t.style!=null&&typeof t.style!="object")throw Error(b(62))}}function Nl(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Rl=null;function La(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var _l=null,ir=null,sr=null;function rc(e){if(e=Fo(e)){if(typeof _l!="function")throw Error(b(280));var t=e.stateNode;t&&(t=us(t),_l(e.stateNode,e.type,t))}}function hf(e){ir?sr?sr.push(e):sr=[e]:ir=e}function mf(){if(ir){var e=ir,t=sr;if(sr=ir=null,rc(e),t)for(e=0;e>>=0,e===0?32:31-(Dg(e)/Lg|0)|0}var Yo=64,qo=4194304;function Zr(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Mi(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,o=e.suspendedLanes,i=e.pingedLanes,s=n&268435455;if(s!==0){var l=s&~o;l!==0?r=Zr(l):(i&=s,i!==0&&(r=Zr(i)))}else s=n&~o,s!==0?r=Zr(s):i!==0&&(r=Zr(i));if(r===0)return 0;if(t!==0&&t!==r&&!(t&o)&&(o=r&-r,i=t&-t,o>=i||o===16&&(i&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function Io(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-ut(t),e[t]=n}function $g(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=ro),fc=" ",pc=!1;function Df(e,t){switch(e){case"keyup":return hv.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Lf(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Gn=!1;function gv(e,t){switch(e){case"compositionend":return Lf(t);case"keypress":return t.which!==32?null:(pc=!0,fc);case"textInput":return e=t.data,e===fc&&pc?null:e;default:return null}}function vv(e,t){if(Gn)return e==="compositionend"||!Ha&&Df(e,t)?(e=Mf(),gi=Ba=tn=null,Gn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=vc(n)}}function $f(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?$f(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Bf(){for(var e=window,t=_i();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=_i(e.document)}return t}function Wa(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function Tv(e){var t=Bf(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&$f(n.ownerDocument.documentElement,n)){if(r!==null&&Wa(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var o=n.textContent.length,i=Math.min(r.start,o);r=r.end===void 0?i:Math.min(r.end,o),!e.extend&&i>r&&(o=r,r=i,i=o),o=yc(n,i);var s=yc(n,r);o&&s&&(e.rangeCount!==1||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&(t=t.createRange(),t.setStart(o.node,o.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Yn=null,Dl=null,io=null,Ll=!1;function wc(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Ll||Yn==null||Yn!==_i(r)||(r=Yn,"selectionStart"in r&&Wa(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),io&&wo(io,r)||(io=r,r=Li(Dl,"onSelect"),0Zn||(e.current=Ul[Zn],Ul[Zn]=null,Zn--)}function Y(e,t){Zn++,Ul[Zn]=e.current,e.current=t}var pn={},ke=wn(pn),Oe=wn(!1),Dn=pn;function Er(e,t){var n=e.type.contextTypes;if(!n)return pn;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o={},i;for(i in n)o[i]=t[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function De(e){return e=e.childContextTypes,e!=null}function zi(){J(Oe),J(ke)}function Tc(e,t,n){if(ke.current!==pn)throw Error(b(168));Y(ke,t),Y(Oe,n)}function qf(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var o in r)if(!(o in t))throw Error(b(108,Sg(e)||"Unknown",o));return oe({},n,r)}function Fi(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||pn,Dn=ke.current,Y(ke,e),Y(Oe,Oe.current),!0}function Nc(e,t,n){var r=e.stateNode;if(!r)throw Error(b(169));n?(e=qf(e,t,Dn),r.__reactInternalMemoizedMergedChildContext=e,J(Oe),J(ke),Y(ke,e)):J(Oe),Y(Oe,n)}var jt=null,cs=!1,qs=!1;function Xf(e){jt===null?jt=[e]:jt.push(e)}function zv(e){cs=!0,Xf(e)}function xn(){if(!qs&&jt!==null){qs=!0;var e=0,t=G;try{var n=jt;for(G=1;e>=s,o-=s,At=1<<32-ut(t)+o|n<_?(L=T,T=null):L=T.sibling;var k=p(c,T,m[_],E);if(k===null){T===null&&(T=L);break}e&&T&&k.alternate===null&&t(c,T),h=i(k,h,_),P===null?C=k:P.sibling=k,P=k,T=L}if(_===m.length)return n(c,T),te&&Cn(c,_),C;if(T===null){for(;__?(L=T,T=null):L=T.sibling;var j=p(c,T,k.value,E);if(j===null){T===null&&(T=L);break}e&&T&&j.alternate===null&&t(c,T),h=i(j,h,_),P===null?C=j:P.sibling=j,P=j,T=L}if(k.done)return n(c,T),te&&Cn(c,_),C;if(T===null){for(;!k.done;_++,k=m.next())k=d(c,k.value,E),k!==null&&(h=i(k,h,_),P===null?C=k:P.sibling=k,P=k);return te&&Cn(c,_),C}for(T=r(c,T);!k.done;_++,k=m.next())k=v(T,c,_,k.value,E),k!==null&&(e&&k.alternate!==null&&T.delete(k.key===null?_:k.key),h=i(k,h,_),P===null?C=k:P.sibling=k,P=k);return e&&T.forEach(function(A){return t(c,A)}),te&&Cn(c,_),C}function S(c,h,m,E){if(typeof m=="object"&&m!==null&&m.type===Kn&&m.key===null&&(m=m.props.children),typeof m=="object"&&m!==null){switch(m.$$typeof){case Qo:e:{for(var C=m.key,P=h;P!==null;){if(P.key===C){if(C=m.type,C===Kn){if(P.tag===7){n(c,P.sibling),h=o(P,m.props.children),h.return=c,c=h;break e}}else if(P.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===Qt&&bc(C)===P.type){n(c,P.sibling),h=o(P,m.props),h.ref=Wr(c,P,m),h.return=c,c=h;break e}n(c,P);break}else t(c,P);P=P.sibling}m.type===Kn?(h=On(m.props.children,c.mode,E,m.key),h.return=c,c=h):(E=ki(m.type,m.key,m.props,null,c.mode,E),E.ref=Wr(c,h,m),E.return=c,c=E)}return s(c);case Qn:e:{for(P=m.key;h!==null;){if(h.key===P)if(h.tag===4&&h.stateNode.containerInfo===m.containerInfo&&h.stateNode.implementation===m.implementation){n(c,h.sibling),h=o(h,m.children||[]),h.return=c,c=h;break e}else{n(c,h);break}else t(c,h);h=h.sibling}h=ol(m,c.mode,E),h.return=c,c=h}return s(c);case Qt:return P=m._init,S(c,h,P(m._payload),E)}if(Xr(m))return w(c,h,m,E);if($r(m))return y(c,h,m,E);ri(c,m)}return typeof m=="string"&&m!==""||typeof m=="number"?(m=""+m,h!==null&&h.tag===6?(n(c,h.sibling),h=o(h,m),h.return=c,c=h):(n(c,h),h=rl(m,c.mode,E),h.return=c,c=h),s(c)):n(c,h)}return S}var kr=tp(!0),np=tp(!1),Ui=wn(null),Vi=null,tr=null,Ya=null;function qa(){Ya=tr=Vi=null}function Xa(e){var t=Ui.current;J(Ui),e._currentValue=t}function Wl(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function ar(e,t){Vi=e,Ya=tr=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(Me=!0),e.firstContext=null)}function Ze(e){var t=e._currentValue;if(Ya!==e)if(e={context:e,memoizedValue:t,next:null},tr===null){if(Vi===null)throw Error(b(308));tr=e,Vi.dependencies={lanes:0,firstContext:e}}else tr=tr.next=e;return t}var Tn=null;function Za(e){Tn===null?Tn=[e]:Tn.push(e)}function rp(e,t,n,r){var o=t.interleaved;return o===null?(n.next=n,Za(t)):(n.next=o.next,o.next=n),t.interleaved=n,It(e,r)}function It(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var Kt=!1;function Ja(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function op(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Ot(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function an(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,Q&2){var o=r.pending;return o===null?t.next=t:(t.next=o.next,o.next=t),r.pending=t,It(e,n)}return o=r.interleaved,o===null?(t.next=t,Za(r)):(t.next=o.next,o.next=t),r.interleaved=t,It(e,n)}function yi(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,za(e,n)}}function jc(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var o=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var s={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};i===null?o=i=s:i=i.next=s,n=n.next}while(n!==null);i===null?o=i=t:i=i.next=t}else o=i=t;n={baseState:r.baseState,firstBaseUpdate:o,lastBaseUpdate:i,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Hi(e,t,n,r){var o=e.updateQueue;Kt=!1;var i=o.firstBaseUpdate,s=o.lastBaseUpdate,l=o.shared.pending;if(l!==null){o.shared.pending=null;var a=l,u=a.next;a.next=null,s===null?i=u:s.next=u,s=a;var f=e.alternate;f!==null&&(f=f.updateQueue,l=f.lastBaseUpdate,l!==s&&(l===null?f.firstBaseUpdate=u:l.next=u,f.lastBaseUpdate=a))}if(i!==null){var d=o.baseState;s=0,f=u=a=null,l=i;do{var p=l.lane,v=l.eventTime;if((r&p)===p){f!==null&&(f=f.next={eventTime:v,lane:0,tag:l.tag,payload:l.payload,callback:l.callback,next:null});e:{var w=e,y=l;switch(p=t,v=n,y.tag){case 1:if(w=y.payload,typeof w=="function"){d=w.call(v,d,p);break e}d=w;break e;case 3:w.flags=w.flags&-65537|128;case 0:if(w=y.payload,p=typeof w=="function"?w.call(v,d,p):w,p==null)break e;d=oe({},d,p);break e;case 2:Kt=!0}}l.callback!==null&&l.lane!==0&&(e.flags|=64,p=o.effects,p===null?o.effects=[l]:p.push(l))}else v={eventTime:v,lane:p,tag:l.tag,payload:l.payload,callback:l.callback,next:null},f===null?(u=f=v,a=d):f=f.next=v,s|=p;if(l=l.next,l===null){if(l=o.shared.pending,l===null)break;p=l,l=p.next,p.next=null,o.lastBaseUpdate=p,o.shared.pending=null}}while(!0);if(f===null&&(a=d),o.baseState=a,o.firstBaseUpdate=u,o.lastBaseUpdate=f,t=o.shared.interleaved,t!==null){o=t;do s|=o.lane,o=o.next;while(o!==t)}else i===null&&(o.shared.lanes=0);zn|=s,e.lanes=s,e.memoizedState=d}}function Ac(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=Zs.transition;Zs.transition={};try{e(!1),t()}finally{G=n,Zs.transition=r}}function Sp(){return Je().memoizedState}function Uv(e,t,n){var r=cn(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Ep(e))Cp(t,n);else if(n=rp(e,t,n,r),n!==null){var o=_e();ct(n,e,r,o),kp(n,t,r)}}function Vv(e,t,n){var r=cn(e),o={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Ep(e))Cp(t,o);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var s=t.lastRenderedState,l=i(s,n);if(o.hasEagerState=!0,o.eagerState=l,dt(l,s)){var a=t.interleaved;a===null?(o.next=o,Za(t)):(o.next=a.next,a.next=o),t.interleaved=o;return}}catch{}finally{}n=rp(e,t,o,r),n!==null&&(o=_e(),ct(n,e,r,o),kp(n,t,r))}}function Ep(e){var t=e.alternate;return e===re||t!==null&&t===re}function Cp(e,t){so=Qi=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function kp(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,za(e,n)}}var Ki={readContext:Ze,useCallback:xe,useContext:xe,useEffect:xe,useImperativeHandle:xe,useInsertionEffect:xe,useLayoutEffect:xe,useMemo:xe,useReducer:xe,useRef:xe,useState:xe,useDebugValue:xe,useDeferredValue:xe,useTransition:xe,useMutableSource:xe,useSyncExternalStore:xe,useId:xe,unstable_isNewReconciler:!1},Hv={readContext:Ze,useCallback:function(e,t){return gt().memoizedState=[e,t===void 0?null:t],e},useContext:Ze,useEffect:Oc,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,xi(4194308,4,gp.bind(null,t,e),n)},useLayoutEffect:function(e,t){return xi(4194308,4,e,t)},useInsertionEffect:function(e,t){return xi(4,2,e,t)},useMemo:function(e,t){var n=gt();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=gt();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=Uv.bind(null,re,e),[r.memoizedState,e]},useRef:function(e){var t=gt();return e={current:e},t.memoizedState=e},useState:Mc,useDebugValue:lu,useDeferredValue:function(e){return gt().memoizedState=e},useTransition:function(){var e=Mc(!1),t=e[0];return e=Bv.bind(null,e[1]),gt().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=re,o=gt();if(te){if(n===void 0)throw Error(b(407));n=n()}else{if(n=t(),pe===null)throw Error(b(349));In&30||ap(r,t,n)}o.memoizedState=n;var i={value:n,getSnapshot:t};return o.queue=i,Oc(cp.bind(null,r,i,e),[e]),r.flags|=2048,No(9,up.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=gt(),t=pe.identifierPrefix;if(te){var n=Mt,r=At;n=(r&~(1<<32-ut(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Po++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),n==="select"&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[xt]=t,e[Eo]=r,Op(e,t,!1,!1),t.stateNode=e;e:{switch(s=Nl(n,r),n){case"dialog":X("cancel",e),X("close",e),o=r;break;case"iframe":case"object":case"embed":X("load",e),o=r;break;case"video":case"audio":for(o=0;oNr&&(t.flags|=128,r=!0,Qr(i,!1),t.lanes=4194304)}else{if(!r)if(e=Wi(s),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Qr(i,!0),i.tail===null&&i.tailMode==="hidden"&&!s.alternate&&!te)return Se(t),null}else 2*le()-i.renderingStartTime>Nr&&n!==1073741824&&(t.flags|=128,r=!0,Qr(i,!1),t.lanes=4194304);i.isBackwards?(s.sibling=t.child,t.child=s):(n=i.last,n!==null?n.sibling=s:t.child=s,i.last=s)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=le(),t.sibling=null,n=ne.current,Y(ne,r?n&1|2:n&1),t):(Se(t),null);case 22:case 23:return pu(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?ze&1073741824&&(Se(t),t.subtreeFlags&6&&(t.flags|=8192)):Se(t),null;case 24:return null;case 25:return null}throw Error(b(156,t.tag))}function Zv(e,t){switch(Ka(t),t.tag){case 1:return De(t.type)&&zi(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Pr(),J(Oe),J(ke),nu(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return tu(t),null;case 13:if(J(ne),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(b(340));Cr()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return J(ne),null;case 4:return Pr(),null;case 10:return Xa(t.type._context),null;case 22:case 23:return pu(),null;case 24:return null;default:return null}}var ii=!1,Ce=!1,Jv=typeof WeakSet=="function"?WeakSet:Set,D=null;function nr(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){se(e,t,r)}else n.current=null}function ea(e,t,n){try{n()}catch(r){se(e,t,r)}}var Wc=!1;function ey(e,t){if(Il=Oi,e=Bf(),Wa(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var o=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var s=0,l=-1,a=-1,u=0,f=0,d=e,p=null;t:for(;;){for(var v;d!==n||o!==0&&d.nodeType!==3||(l=s+o),d!==i||r!==0&&d.nodeType!==3||(a=s+r),d.nodeType===3&&(s+=d.nodeValue.length),(v=d.firstChild)!==null;)p=d,d=v;for(;;){if(d===e)break t;if(p===n&&++u===o&&(l=s),p===i&&++f===r&&(a=s),(v=d.nextSibling)!==null)break;d=p,p=d.parentNode}d=v}n=l===-1||a===-1?null:{start:l,end:a}}else n=null}n=n||{start:0,end:0}}else n=null;for(zl={focusedElem:e,selectionRange:n},Oi=!1,D=t;D!==null;)if(t=D,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,D=e;else for(;D!==null;){t=D;try{var w=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(w!==null){var y=w.memoizedProps,S=w.memoizedState,c=t.stateNode,h=c.getSnapshotBeforeUpdate(t.elementType===t.type?y:rt(t.type,y),S);c.__reactInternalSnapshotBeforeUpdate=h}break;case 3:var m=t.stateNode.containerInfo;m.nodeType===1?m.textContent="":m.nodeType===9&&m.documentElement&&m.removeChild(m.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(b(163))}}catch(E){se(t,t.return,E)}if(e=t.sibling,e!==null){e.return=t.return,D=e;break}D=t.return}return w=Wc,Wc=!1,w}function lo(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var o=r=r.next;do{if((o.tag&e)===e){var i=o.destroy;o.destroy=void 0,i!==void 0&&ea(t,n,i)}o=o.next}while(o!==r)}}function ps(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function ta(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function Ip(e){var t=e.alternate;t!==null&&(e.alternate=null,Ip(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[xt],delete t[Eo],delete t[Bl],delete t[Lv],delete t[Iv])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function zp(e){return e.tag===5||e.tag===3||e.tag===4}function Qc(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||zp(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function na(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Ii));else if(r!==4&&(e=e.child,e!==null))for(na(e,t,n),e=e.sibling;e!==null;)na(e,t,n),e=e.sibling}function ra(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(ra(e,t,n),e=e.sibling;e!==null;)ra(e,t,n),e=e.sibling}var me=null,st=!1;function Ut(e,t,n){for(n=n.child;n!==null;)Fp(e,t,n),n=n.sibling}function Fp(e,t,n){if(Et&&typeof Et.onCommitFiberUnmount=="function")try{Et.onCommitFiberUnmount(is,n)}catch{}switch(n.tag){case 5:Ce||nr(n,t);case 6:var r=me,o=st;me=null,Ut(e,t,n),me=r,st=o,me!==null&&(st?(e=me,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):me.removeChild(n.stateNode));break;case 18:me!==null&&(st?(e=me,n=n.stateNode,e.nodeType===8?Ys(e.parentNode,n):e.nodeType===1&&Ys(e,n),vo(e)):Ys(me,n.stateNode));break;case 4:r=me,o=st,me=n.stateNode.containerInfo,st=!0,Ut(e,t,n),me=r,st=o;break;case 0:case 11:case 14:case 15:if(!Ce&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){o=r=r.next;do{var i=o,s=i.destroy;i=i.tag,s!==void 0&&(i&2||i&4)&&ea(n,t,s),o=o.next}while(o!==r)}Ut(e,t,n);break;case 1:if(!Ce&&(nr(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(l){se(n,t,l)}Ut(e,t,n);break;case 21:Ut(e,t,n);break;case 22:n.mode&1?(Ce=(r=Ce)||n.memoizedState!==null,Ut(e,t,n),Ce=r):Ut(e,t,n);break;default:Ut(e,t,n)}}function Kc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Jv),t.forEach(function(r){var o=uy.bind(null,e,r);n.has(r)||(n.add(r),r.then(o,o))})}}function tt(e,t){var n=t.deletions;if(n!==null)for(var r=0;ro&&(o=s),r&=~i}if(r=o,r=le()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*ny(r/1960))-r,10e?16:e,nn===null)var r=!1;else{if(e=nn,nn=null,qi=0,Q&6)throw Error(b(331));var o=Q;for(Q|=4,D=e.current;D!==null;){var i=D,s=i.child;if(D.flags&16){var l=i.deletions;if(l!==null){for(var a=0;ale()-du?Mn(e,0):cu|=n),Le(e,t)}function Kp(e,t){t===0&&(e.mode&1?(t=qo,qo<<=1,!(qo&130023424)&&(qo=4194304)):t=1);var n=_e();e=It(e,t),e!==null&&(Io(e,t,n),Le(e,n))}function ay(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Kp(e,n)}function uy(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,o=e.memoizedState;o!==null&&(n=o.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(b(314))}r!==null&&r.delete(t),Kp(e,n)}var Gp;Gp=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Oe.current)Me=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Me=!1,qv(e,t,n);Me=!!(e.flags&131072)}else Me=!1,te&&t.flags&1048576&&Zf(t,Bi,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Si(e,t),e=t.pendingProps;var o=Er(t,ke.current);ar(t,n),o=ou(null,t,r,e,o,n);var i=iu();return t.flags|=1,typeof o=="object"&&o!==null&&typeof o.render=="function"&&o.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,De(r)?(i=!0,Fi(t)):i=!1,t.memoizedState=o.state!==null&&o.state!==void 0?o.state:null,Ja(t),o.updater=fs,t.stateNode=o,o._reactInternals=t,Kl(t,r,e,n),t=ql(null,t,r,!0,i,n)):(t.tag=0,te&&i&&Qa(t),Ne(null,t,o,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Si(e,t),e=t.pendingProps,o=r._init,r=o(r._payload),t.type=r,o=t.tag=dy(r),e=rt(r,e),o){case 0:t=Yl(null,t,r,e,n);break e;case 1:t=Uc(null,t,r,e,n);break e;case 11:t=$c(null,t,r,e,n);break e;case 14:t=Bc(null,t,r,rt(r.type,e),n);break e}throw Error(b(306,r,""))}return t;case 0:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:rt(r,o),Yl(e,t,r,o,n);case 1:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:rt(r,o),Uc(e,t,r,o,n);case 3:e:{if(jp(t),e===null)throw Error(b(387));r=t.pendingProps,i=t.memoizedState,o=i.element,op(e,t),Hi(t,r,null,n);var s=t.memoizedState;if(r=s.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){o=Tr(Error(b(423)),t),t=Vc(e,t,r,n,o);break e}else if(r!==o){o=Tr(Error(b(424)),t),t=Vc(e,t,r,n,o);break e}else for($e=ln(t.stateNode.containerInfo.firstChild),Be=t,te=!0,lt=null,n=np(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Cr(),r===o){t=zt(e,t,n);break e}Ne(e,t,r,n)}t=t.child}return t;case 5:return ip(t),e===null&&Hl(t),r=t.type,o=t.pendingProps,i=e!==null?e.memoizedProps:null,s=o.children,Fl(r,o)?s=null:i!==null&&Fl(r,i)&&(t.flags|=32),bp(e,t),Ne(e,t,s,n),t.child;case 6:return e===null&&Hl(t),null;case 13:return Ap(e,t,n);case 4:return eu(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=kr(t,null,r,n):Ne(e,t,r,n),t.child;case 11:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:rt(r,o),$c(e,t,r,o,n);case 7:return Ne(e,t,t.pendingProps,n),t.child;case 8:return Ne(e,t,t.pendingProps.children,n),t.child;case 12:return Ne(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,o=t.pendingProps,i=t.memoizedProps,s=o.value,Y(Ui,r._currentValue),r._currentValue=s,i!==null)if(dt(i.value,s)){if(i.children===o.children&&!Oe.current){t=zt(e,t,n);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var l=i.dependencies;if(l!==null){s=i.child;for(var a=l.firstContext;a!==null;){if(a.context===r){if(i.tag===1){a=Ot(-1,n&-n),a.tag=2;var u=i.updateQueue;if(u!==null){u=u.shared;var f=u.pending;f===null?a.next=a:(a.next=f.next,f.next=a),u.pending=a}}i.lanes|=n,a=i.alternate,a!==null&&(a.lanes|=n),Wl(i.return,n,t),l.lanes|=n;break}a=a.next}}else if(i.tag===10)s=i.type===t.type?null:i.child;else if(i.tag===18){if(s=i.return,s===null)throw Error(b(341));s.lanes|=n,l=s.alternate,l!==null&&(l.lanes|=n),Wl(s,n,t),s=i.sibling}else s=i.child;if(s!==null)s.return=i;else for(s=i;s!==null;){if(s===t){s=null;break}if(i=s.sibling,i!==null){i.return=s.return,s=i;break}s=s.return}i=s}Ne(e,t,o.children,n),t=t.child}return t;case 9:return o=t.type,r=t.pendingProps.children,ar(t,n),o=Ze(o),r=r(o),t.flags|=1,Ne(e,t,r,n),t.child;case 14:return r=t.type,o=rt(r,t.pendingProps),o=rt(r.type,o),Bc(e,t,r,o,n);case 15:return Rp(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:rt(r,o),Si(e,t),t.tag=1,De(r)?(e=!0,Fi(t)):e=!1,ar(t,n),Pp(t,r,o),Kl(t,r,o,n),ql(null,t,r,!0,e,n);case 19:return Mp(e,t,n);case 22:return _p(e,t,n)}throw Error(b(156,t.tag))};function Yp(e,t){return Ef(e,t)}function cy(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function qe(e,t,n,r){return new cy(e,t,n,r)}function mu(e){return e=e.prototype,!(!e||!e.isReactComponent)}function dy(e){if(typeof e=="function")return mu(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Oa)return 11;if(e===Da)return 14}return 2}function dn(e,t){var n=e.alternate;return n===null?(n=qe(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function ki(e,t,n,r,o,i){var s=2;if(r=e,typeof e=="function")mu(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case Kn:return On(n.children,o,i,t);case Ma:s=8,o|=8;break;case vl:return e=qe(12,n,t,o|2),e.elementType=vl,e.lanes=i,e;case yl:return e=qe(13,n,t,o),e.elementType=yl,e.lanes=i,e;case wl:return e=qe(19,n,t,o),e.elementType=wl,e.lanes=i,e;case of:return ms(n,o,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case nf:s=10;break e;case rf:s=9;break e;case Oa:s=11;break e;case Da:s=14;break e;case Qt:s=16,r=null;break e}throw Error(b(130,e==null?e:typeof e,""))}return t=qe(s,n,t,o),t.elementType=e,t.type=r,t.lanes=i,t}function On(e,t,n,r){return e=qe(7,e,r,t),e.lanes=n,e}function ms(e,t,n,r){return e=qe(22,e,r,t),e.elementType=of,e.lanes=n,e.stateNode={isHidden:!1},e}function rl(e,t,n){return e=qe(6,e,null,t),e.lanes=n,e}function ol(e,t,n){return t=qe(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function fy(e,t,n,r,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=zs(0),this.expirationTimes=zs(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=zs(0),this.identifierPrefix=r,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function gu(e,t,n,r,o,i,s,l,a){return e=new fy(e,t,n,l,a),t===1?(t=1,i===!0&&(t|=8)):t=0,i=qe(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Ja(i),e}function py(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Jp)}catch(e){console.error(e)}}Jp(),Zd.exports=He;var Bo=Zd.exports;const yy=$d(Bo);var eh,td=Bo;eh=td.createRoot,td.hydrateRoot;const wy=2,xy=1e3;let il=0;function Sy(){return il=(il+1)%Number.MAX_SAFE_INTEGER,il.toString()}const sl=new Map,nd=e=>{if(sl.has(e))return;const t=setTimeout(()=>{sl.delete(e),co({type:"REMOVE_TOAST",toastId:e})},xy);sl.set(e,t)},Ey=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,wy)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(n=>n.id===t.toast.id?{...n,...t.toast}:n)};case"DISMISS_TOAST":{const{toastId:n}=t;return n?nd(n):e.toasts.forEach(r=>{nd(r.id)}),{...e,toasts:e.toasts.map(r=>r.id===n||n===void 0?{...r,open:!1}:r)}}case"REMOVE_TOAST":return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(n=>n.id!==t.toastId)}}},Pi=[];let Ti={toasts:[]};function co(e){Ti=Ey(Ti,e),Pi.forEach(t=>{t(Ti)})}function Cy({...e}){const t=Sy(),n=o=>co({type:"UPDATE_TOAST",toast:{...o,id:t}}),r=()=>co({type:"DISMISS_TOAST",toastId:t});return co({type:"ADD_TOAST",toast:{...e,id:t,open:!0,onOpenChange:o=>{o||r()}}}),{id:t,dismiss:r,update:n}}function th(){const[e,t]=x.useState(Ti);return x.useEffect(()=>(Pi.push(t),()=>{const n=Pi.indexOf(t);n>-1&&Pi.splice(n,1)}),[e]),{...e,toast:Cy,dismiss:n=>co({type:"DISMISS_TOAST",toastId:n})}}function Z(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e==null||e(o),n===!1||!o.defaultPrevented)return t==null?void 0:t(o)}}function ky(e,t){typeof e=="function"?e(t):e!=null&&(e.current=t)}function nh(...e){return t=>e.forEach(n=>ky(n,t))}function Pe(...e){return x.useCallback(nh(...e),e)}function Py(e,t=[]){let n=[];function r(i,s){const l=x.createContext(s),a=n.length;n=[...n,s];function u(d){const{scope:p,children:v,...w}=d,y=(p==null?void 0:p[e][a])||l,S=x.useMemo(()=>w,Object.values(w));return g.jsx(y.Provider,{value:S,children:v})}function f(d,p){const v=(p==null?void 0:p[e][a])||l,w=x.useContext(v);if(w)return w;if(s!==void 0)return s;throw new Error(`\`${d}\` must be used within \`${i}\``)}return u.displayName=i+"Provider",[u,f]}const o=()=>{const i=n.map(s=>x.createContext(s));return function(l){const a=(l==null?void 0:l[e])||i;return x.useMemo(()=>({[`__scope${e}`]:{...l,[e]:a}}),[l,a])}};return o.scopeName=e,[r,Ty(o,...t)]}function Ty(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(i){const s=r.reduce((l,{useScope:a,scopeName:u})=>{const d=a(i)[`__scope${u}`];return{...l,...d}},{});return x.useMemo(()=>({[`__scope${t.scopeName}`]:s}),[s])}};return n.scopeName=t.scopeName,n}var _o=x.forwardRef((e,t)=>{const{children:n,...r}=e,o=x.Children.toArray(n),i=o.find(Ny);if(i){const s=i.props.children,l=o.map(a=>a===i?x.Children.count(s)>1?x.Children.only(null):x.isValidElement(s)?s.props.children:null:a);return g.jsx(aa,{...r,ref:t,children:x.isValidElement(s)?x.cloneElement(s,void 0,l):null})}return g.jsx(aa,{...r,ref:t,children:n})});_o.displayName="Slot";var aa=x.forwardRef((e,t)=>{const{children:n,...r}=e;if(x.isValidElement(n)){const o=_y(n);return x.cloneElement(n,{...Ry(r,n.props),ref:t?nh(t,o):o})}return x.Children.count(n)>1?x.Children.only(null):null});aa.displayName="SlotClone";var rh=({children:e})=>g.jsx(g.Fragment,{children:e});function Ny(e){return x.isValidElement(e)&&e.type===rh}function Ry(e,t){const n={...t};for(const r in t){const o=e[r],i=t[r];/^on[A-Z]/.test(r)?o&&i?n[r]=(...l)=>{i(...l),o(...l)}:o&&(n[r]=o):r==="style"?n[r]={...o,...i}:r==="className"&&(n[r]=[o,i].filter(Boolean).join(" "))}return{...e,...n}}function _y(e){var r,o;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function oh(e){const t=e+"CollectionProvider",[n,r]=Py(t),[o,i]=n(t,{collectionRef:{current:null},itemMap:new Map}),s=v=>{const{scope:w,children:y}=v,S=En.useRef(null),c=En.useRef(new Map).current;return g.jsx(o,{scope:w,itemMap:c,collectionRef:S,children:y})};s.displayName=t;const l=e+"CollectionSlot",a=En.forwardRef((v,w)=>{const{scope:y,children:S}=v,c=i(l,y),h=Pe(w,c.collectionRef);return g.jsx(_o,{ref:h,children:S})});a.displayName=l;const u=e+"CollectionItemSlot",f="data-radix-collection-item",d=En.forwardRef((v,w)=>{const{scope:y,children:S,...c}=v,h=En.useRef(null),m=Pe(w,h),E=i(u,y);return En.useEffect(()=>(E.itemMap.set(h,{ref:h,...c}),()=>void E.itemMap.delete(h))),g.jsx(_o,{[f]:"",ref:m,children:S})});d.displayName=u;function p(v){const w=i(e+"CollectionConsumer",v);return En.useCallback(()=>{const S=w.collectionRef.current;if(!S)return[];const c=Array.from(S.querySelectorAll(`[${f}]`));return Array.from(w.itemMap.values()).sort((E,C)=>c.indexOf(E.ref.current)-c.indexOf(C.ref.current))},[w.collectionRef,w.itemMap])}return[{Provider:s,Slot:a,ItemSlot:d},p,r]}function xu(e,t=[]){let n=[];function r(i,s){const l=x.createContext(s),a=n.length;n=[...n,s];const u=d=>{var c;const{scope:p,children:v,...w}=d,y=((c=p==null?void 0:p[e])==null?void 0:c[a])||l,S=x.useMemo(()=>w,Object.values(w));return g.jsx(y.Provider,{value:S,children:v})};u.displayName=i+"Provider";function f(d,p){var y;const v=((y=p==null?void 0:p[e])==null?void 0:y[a])||l,w=x.useContext(v);if(w)return w;if(s!==void 0)return s;throw new Error(`\`${d}\` must be used within \`${i}\``)}return[u,f]}const o=()=>{const i=n.map(s=>x.createContext(s));return function(l){const a=(l==null?void 0:l[e])||i;return x.useMemo(()=>({[`__scope${e}`]:{...l,[e]:a}}),[l,a])}};return o.scopeName=e,[r,by(o,...t)]}function by(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(i){const s=r.reduce((l,{useScope:a,scopeName:u})=>{const d=a(i)[`__scope${u}`];return{...l,...d}},{});return x.useMemo(()=>({[`__scope${t.scopeName}`]:s}),[s])}};return n.scopeName=t.scopeName,n}var jy=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],he=jy.reduce((e,t)=>{const n=x.forwardRef((r,o)=>{const{asChild:i,...s}=r,l=i?_o:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),g.jsx(l,{...s,ref:o})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function ih(e,t){e&&Bo.flushSync(()=>e.dispatchEvent(t))}function kt(e){const t=x.useRef(e);return x.useEffect(()=>{t.current=e}),x.useMemo(()=>(...n)=>{var r;return(r=t.current)==null?void 0:r.call(t,...n)},[])}function Ay(e,t=globalThis==null?void 0:globalThis.document){const n=kt(e);x.useEffect(()=>{const r=o=>{o.key==="Escape"&&n(o)};return t.addEventListener("keydown",r,{capture:!0}),()=>t.removeEventListener("keydown",r,{capture:!0})},[n,t])}var My="DismissableLayer",ua="dismissableLayer.update",Oy="dismissableLayer.pointerDownOutside",Dy="dismissableLayer.focusOutside",rd,sh=x.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Su=x.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:i,onInteractOutside:s,onDismiss:l,...a}=e,u=x.useContext(sh),[f,d]=x.useState(null),p=(f==null?void 0:f.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,v]=x.useState({}),w=Pe(t,T=>d(T)),y=Array.from(u.layers),[S]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),c=y.indexOf(S),h=f?y.indexOf(f):-1,m=u.layersWithOutsidePointerEventsDisabled.size>0,E=h>=c,C=Iy(T=>{const _=T.target,L=[...u.branches].some(k=>k.contains(_));!E||L||(o==null||o(T),s==null||s(T),T.defaultPrevented||l==null||l())},p),P=zy(T=>{const _=T.target;[...u.branches].some(k=>k.contains(_))||(i==null||i(T),s==null||s(T),T.defaultPrevented||l==null||l())},p);return Ay(T=>{h===u.layers.size-1&&(r==null||r(T),!T.defaultPrevented&&l&&(T.preventDefault(),l()))},p),x.useEffect(()=>{if(f)return n&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(rd=p.body.style.pointerEvents,p.body.style.pointerEvents="none"),u.layersWithOutsidePointerEventsDisabled.add(f)),u.layers.add(f),od(),()=>{n&&u.layersWithOutsidePointerEventsDisabled.size===1&&(p.body.style.pointerEvents=rd)}},[f,p,n,u]),x.useEffect(()=>()=>{f&&(u.layers.delete(f),u.layersWithOutsidePointerEventsDisabled.delete(f),od())},[f,u]),x.useEffect(()=>{const T=()=>v({});return document.addEventListener(ua,T),()=>document.removeEventListener(ua,T)},[]),g.jsx(he.div,{...a,ref:w,style:{pointerEvents:m?E?"auto":"none":void 0,...e.style},onFocusCapture:Z(e.onFocusCapture,P.onFocusCapture),onBlurCapture:Z(e.onBlurCapture,P.onBlurCapture),onPointerDownCapture:Z(e.onPointerDownCapture,C.onPointerDownCapture)})});Su.displayName=My;var Ly="DismissableLayerBranch",lh=x.forwardRef((e,t)=>{const n=x.useContext(sh),r=x.useRef(null),o=Pe(t,r);return x.useEffect(()=>{const i=r.current;if(i)return n.branches.add(i),()=>{n.branches.delete(i)}},[n.branches]),g.jsx(he.div,{...e,ref:o})});lh.displayName=Ly;function Iy(e,t=globalThis==null?void 0:globalThis.document){const n=kt(e),r=x.useRef(!1),o=x.useRef(()=>{});return x.useEffect(()=>{const i=l=>{if(l.target&&!r.current){let a=function(){ah(Oy,n,u,{discrete:!0})};const u={originalEvent:l};l.pointerType==="touch"?(t.removeEventListener("click",o.current),o.current=a,t.addEventListener("click",o.current,{once:!0})):a()}else t.removeEventListener("click",o.current);r.current=!1},s=window.setTimeout(()=>{t.addEventListener("pointerdown",i)},0);return()=>{window.clearTimeout(s),t.removeEventListener("pointerdown",i),t.removeEventListener("click",o.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function zy(e,t=globalThis==null?void 0:globalThis.document){const n=kt(e),r=x.useRef(!1);return x.useEffect(()=>{const o=i=>{i.target&&!r.current&&ah(Dy,n,{originalEvent:i},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function od(){const e=new CustomEvent(ua);document.dispatchEvent(e)}function ah(e,t,n,{discrete:r}){const o=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?ih(o,i):o.dispatchEvent(i)}var Fy=Su,$y=lh,$n=globalThis!=null&&globalThis.document?x.useLayoutEffect:()=>{},By="Portal",uh=x.forwardRef((e,t)=>{var l;const{container:n,...r}=e,[o,i]=x.useState(!1);$n(()=>i(!0),[]);const s=n||o&&((l=globalThis==null?void 0:globalThis.document)==null?void 0:l.body);return s?yy.createPortal(g.jsx(he.div,{...r,ref:t}),s):null});uh.displayName=By;function Uy(e,t){return x.useReducer((n,r)=>t[n][r]??n,e)}var Eu=e=>{const{present:t,children:n}=e,r=Vy(t),o=typeof n=="function"?n({present:r.isPresent}):x.Children.only(n),i=Pe(r.ref,Hy(o));return typeof n=="function"||r.isPresent?x.cloneElement(o,{ref:i}):null};Eu.displayName="Presence";function Vy(e){const[t,n]=x.useState(),r=x.useRef({}),o=x.useRef(e),i=x.useRef("none"),s=e?"mounted":"unmounted",[l,a]=Uy(s,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return x.useEffect(()=>{const u=ai(r.current);i.current=l==="mounted"?u:"none"},[l]),$n(()=>{const u=r.current,f=o.current;if(f!==e){const p=i.current,v=ai(u);e?a("MOUNT"):v==="none"||(u==null?void 0:u.display)==="none"?a("UNMOUNT"):a(f&&p!==v?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,a]),$n(()=>{if(t){let u;const f=t.ownerDocument.defaultView??window,d=v=>{const y=ai(r.current).includes(v.animationName);if(v.target===t&&y&&(a("ANIMATION_END"),!o.current)){const S=t.style.animationFillMode;t.style.animationFillMode="forwards",u=f.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=S)})}},p=v=>{v.target===t&&(i.current=ai(r.current))};return t.addEventListener("animationstart",p),t.addEventListener("animationcancel",d),t.addEventListener("animationend",d),()=>{f.clearTimeout(u),t.removeEventListener("animationstart",p),t.removeEventListener("animationcancel",d),t.removeEventListener("animationend",d)}}else a("ANIMATION_END")},[t,a]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:x.useCallback(u=>{u&&(r.current=getComputedStyle(u)),n(u)},[])}}function ai(e){return(e==null?void 0:e.animationName)||"none"}function Hy(e){var r,o;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(o=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function ch({prop:e,defaultProp:t,onChange:n=()=>{}}){const[r,o]=Wy({defaultProp:t,onChange:n}),i=e!==void 0,s=i?e:r,l=kt(n),a=x.useCallback(u=>{if(i){const d=typeof u=="function"?u(e):u;d!==e&&l(d)}else o(u)},[i,e,o,l]);return[s,a]}function Wy({defaultProp:e,onChange:t}){const n=x.useState(e),[r]=n,o=x.useRef(r),i=kt(t);return x.useEffect(()=>{o.current!==r&&(i(r),o.current=r)},[r,o,i]),n}var Qy="VisuallyHidden",xs=x.forwardRef((e,t)=>g.jsx(he.span,{...e,ref:t,style:{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",...e.style}}));xs.displayName=Qy;var Ky=xs,Cu="ToastProvider",[ku,Gy,Yy]=oh("Toast"),[dh,nS]=xu("Toast",[Yy]),[qy,Ss]=dh(Cu),fh=e=>{const{__scopeToast:t,label:n="Notification",duration:r=5e3,swipeDirection:o="right",swipeThreshold:i=50,children:s}=e,[l,a]=x.useState(null),[u,f]=x.useState(0),d=x.useRef(!1),p=x.useRef(!1);return n.trim()||console.error(`Invalid prop \`label\` supplied to \`${Cu}\`. Expected non-empty \`string\`.`),g.jsx(ku.Provider,{scope:t,children:g.jsx(qy,{scope:t,label:n,duration:r,swipeDirection:o,swipeThreshold:i,toastCount:u,viewport:l,onViewportChange:a,onToastAdd:x.useCallback(()=>f(v=>v+1),[]),onToastRemove:x.useCallback(()=>f(v=>v-1),[]),isFocusedToastEscapeKeyDownRef:d,isClosePausedRef:p,children:s})})};fh.displayName=Cu;var ph="ToastViewport",Xy=["F8"],ca="toast.viewportPause",da="toast.viewportResume",hh=x.forwardRef((e,t)=>{const{__scopeToast:n,hotkey:r=Xy,label:o="Notifications ({hotkey})",...i}=e,s=Ss(ph,n),l=Gy(n),a=x.useRef(null),u=x.useRef(null),f=x.useRef(null),d=x.useRef(null),p=Pe(t,d,s.onViewportChange),v=r.join("+").replace(/Key/g,"").replace(/Digit/g,""),w=s.toastCount>0;x.useEffect(()=>{const S=c=>{var m;r.length!==0&&r.every(E=>c[E]||c.code===E)&&((m=d.current)==null||m.focus())};return document.addEventListener("keydown",S),()=>document.removeEventListener("keydown",S)},[r]),x.useEffect(()=>{const S=a.current,c=d.current;if(w&&S&&c){const h=()=>{if(!s.isClosePausedRef.current){const P=new CustomEvent(ca);c.dispatchEvent(P),s.isClosePausedRef.current=!0}},m=()=>{if(s.isClosePausedRef.current){const P=new CustomEvent(da);c.dispatchEvent(P),s.isClosePausedRef.current=!1}},E=P=>{!S.contains(P.relatedTarget)&&m()},C=()=>{S.contains(document.activeElement)||m()};return S.addEventListener("focusin",h),S.addEventListener("focusout",E),S.addEventListener("pointermove",h),S.addEventListener("pointerleave",C),window.addEventListener("blur",h),window.addEventListener("focus",m),()=>{S.removeEventListener("focusin",h),S.removeEventListener("focusout",E),S.removeEventListener("pointermove",h),S.removeEventListener("pointerleave",C),window.removeEventListener("blur",h),window.removeEventListener("focus",m)}}},[w,s.isClosePausedRef]);const y=x.useCallback(({tabbingDirection:S})=>{const h=l().map(m=>{const E=m.ref.current,C=[E,...c0(E)];return S==="forwards"?C:C.reverse()});return(S==="forwards"?h.reverse():h).flat()},[l]);return x.useEffect(()=>{const S=d.current;if(S){const c=h=>{var C,P,T;const m=h.altKey||h.ctrlKey||h.metaKey;if(h.key==="Tab"&&!m){const _=document.activeElement,L=h.shiftKey;if(h.target===S&&L){(C=u.current)==null||C.focus();return}const A=y({tabbingDirection:L?"backwards":"forwards"}),z=A.findIndex(O=>O===_);ll(A.slice(z+1))?h.preventDefault():L?(P=u.current)==null||P.focus():(T=f.current)==null||T.focus()}};return S.addEventListener("keydown",c),()=>S.removeEventListener("keydown",c)}},[l,y]),g.jsxs($y,{ref:a,role:"region","aria-label":o.replace("{hotkey}",v),tabIndex:-1,style:{pointerEvents:w?void 0:"none"},children:[w&&g.jsx(fa,{ref:u,onFocusFromOutsideViewport:()=>{const S=y({tabbingDirection:"forwards"});ll(S)}}),g.jsx(ku.Slot,{scope:n,children:g.jsx(he.ol,{tabIndex:-1,...i,ref:p})}),w&&g.jsx(fa,{ref:f,onFocusFromOutsideViewport:()=>{const S=y({tabbingDirection:"backwards"});ll(S)}})]})});hh.displayName=ph;var mh="ToastFocusProxy",fa=x.forwardRef((e,t)=>{const{__scopeToast:n,onFocusFromOutsideViewport:r,...o}=e,i=Ss(mh,n);return g.jsx(xs,{"aria-hidden":!0,tabIndex:0,...o,ref:t,style:{position:"fixed"},onFocus:s=>{var u;const l=s.relatedTarget;!((u=i.viewport)!=null&&u.contains(l))&&r()}})});fa.displayName=mh;var Es="Toast",Zy="toast.swipeStart",Jy="toast.swipeMove",e0="toast.swipeCancel",t0="toast.swipeEnd",gh=x.forwardRef((e,t)=>{const{forceMount:n,open:r,defaultOpen:o,onOpenChange:i,...s}=e,[l=!0,a]=ch({prop:r,defaultProp:o,onChange:i});return g.jsx(Eu,{present:n||l,children:g.jsx(o0,{open:l,...s,ref:t,onClose:()=>a(!1),onPause:kt(e.onPause),onResume:kt(e.onResume),onSwipeStart:Z(e.onSwipeStart,u=>{u.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:Z(e.onSwipeMove,u=>{const{x:f,y:d}=u.detail.delta;u.currentTarget.setAttribute("data-swipe","move"),u.currentTarget.style.setProperty("--radix-toast-swipe-move-x",`${f}px`),u.currentTarget.style.setProperty("--radix-toast-swipe-move-y",`${d}px`)}),onSwipeCancel:Z(e.onSwipeCancel,u=>{u.currentTarget.setAttribute("data-swipe","cancel"),u.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),u.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),u.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"),u.currentTarget.style.removeProperty("--radix-toast-swipe-end-y")}),onSwipeEnd:Z(e.onSwipeEnd,u=>{const{x:f,y:d}=u.detail.delta;u.currentTarget.setAttribute("data-swipe","end"),u.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),u.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),u.currentTarget.style.setProperty("--radix-toast-swipe-end-x",`${f}px`),u.currentTarget.style.setProperty("--radix-toast-swipe-end-y",`${d}px`),a(!1)})})})});gh.displayName=Es;var[n0,r0]=dh(Es,{onClose(){}}),o0=x.forwardRef((e,t)=>{const{__scopeToast:n,type:r="foreground",duration:o,open:i,onClose:s,onEscapeKeyDown:l,onPause:a,onResume:u,onSwipeStart:f,onSwipeMove:d,onSwipeCancel:p,onSwipeEnd:v,...w}=e,y=Ss(Es,n),[S,c]=x.useState(null),h=Pe(t,O=>c(O)),m=x.useRef(null),E=x.useRef(null),C=o||y.duration,P=x.useRef(0),T=x.useRef(C),_=x.useRef(0),{onToastAdd:L,onToastRemove:k}=y,j=kt(()=>{var H;(S==null?void 0:S.contains(document.activeElement))&&((H=y.viewport)==null||H.focus()),s()}),A=x.useCallback(O=>{!O||O===1/0||(window.clearTimeout(_.current),P.current=new Date().getTime(),_.current=window.setTimeout(j,O))},[j]);x.useEffect(()=>{const O=y.viewport;if(O){const H=()=>{A(T.current),u==null||u()},F=()=>{const U=new Date().getTime()-P.current;T.current=T.current-U,window.clearTimeout(_.current),a==null||a()};return O.addEventListener(ca,F),O.addEventListener(da,H),()=>{O.removeEventListener(ca,F),O.removeEventListener(da,H)}}},[y.viewport,C,a,u,A]),x.useEffect(()=>{i&&!y.isClosePausedRef.current&&A(C)},[i,C,y.isClosePausedRef,A]),x.useEffect(()=>(L(),()=>k()),[L,k]);const z=x.useMemo(()=>S?Ch(S):null,[S]);return y.viewport?g.jsxs(g.Fragment,{children:[z&&g.jsx(i0,{__scopeToast:n,role:"status","aria-live":r==="foreground"?"assertive":"polite","aria-atomic":!0,children:z}),g.jsx(n0,{scope:n,onClose:j,children:Bo.createPortal(g.jsx(ku.ItemSlot,{scope:n,children:g.jsx(Fy,{asChild:!0,onEscapeKeyDown:Z(l,()=>{y.isFocusedToastEscapeKeyDownRef.current||j(),y.isFocusedToastEscapeKeyDownRef.current=!1}),children:g.jsx(he.li,{role:"status","aria-live":"off","aria-atomic":!0,tabIndex:0,"data-state":i?"open":"closed","data-swipe-direction":y.swipeDirection,...w,ref:h,style:{userSelect:"none",touchAction:"none",...e.style},onKeyDown:Z(e.onKeyDown,O=>{O.key==="Escape"&&(l==null||l(O.nativeEvent),O.nativeEvent.defaultPrevented||(y.isFocusedToastEscapeKeyDownRef.current=!0,j()))}),onPointerDown:Z(e.onPointerDown,O=>{O.button===0&&(m.current={x:O.clientX,y:O.clientY})}),onPointerMove:Z(e.onPointerMove,O=>{if(!m.current)return;const H=O.clientX-m.current.x,F=O.clientY-m.current.y,U=!!E.current,N=["left","right"].includes(y.swipeDirection),M=["left","up"].includes(y.swipeDirection)?Math.min:Math.max,I=N?M(0,H):0,V=N?0:M(0,F),ee=O.pointerType==="touch"?10:2,et={x:I,y:V},Qe={originalEvent:O,delta:et};U?(E.current=et,ui(Jy,d,Qe,{discrete:!1})):id(et,y.swipeDirection,ee)?(E.current=et,ui(Zy,f,Qe,{discrete:!1}),O.target.setPointerCapture(O.pointerId)):(Math.abs(H)>ee||Math.abs(F)>ee)&&(m.current=null)}),onPointerUp:Z(e.onPointerUp,O=>{const H=E.current,F=O.target;if(F.hasPointerCapture(O.pointerId)&&F.releasePointerCapture(O.pointerId),E.current=null,m.current=null,H){const U=O.currentTarget,N={originalEvent:O,delta:H};id(H,y.swipeDirection,y.swipeThreshold)?ui(t0,v,N,{discrete:!0}):ui(e0,p,N,{discrete:!0}),U.addEventListener("click",M=>M.preventDefault(),{once:!0})}})})})}),y.viewport)})]}):null}),i0=e=>{const{__scopeToast:t,children:n,...r}=e,o=Ss(Es,t),[i,s]=x.useState(!1),[l,a]=x.useState(!1);return a0(()=>s(!0)),x.useEffect(()=>{const u=window.setTimeout(()=>a(!0),1e3);return()=>window.clearTimeout(u)},[]),l?null:g.jsx(uh,{asChild:!0,children:g.jsx(xs,{...r,children:i&&g.jsxs(g.Fragment,{children:[o.label," ",n]})})})},s0="ToastTitle",vh=x.forwardRef((e,t)=>{const{__scopeToast:n,...r}=e;return g.jsx(he.div,{...r,ref:t})});vh.displayName=s0;var l0="ToastDescription",yh=x.forwardRef((e,t)=>{const{__scopeToast:n,...r}=e;return g.jsx(he.div,{...r,ref:t})});yh.displayName=l0;var wh="ToastAction",xh=x.forwardRef((e,t)=>{const{altText:n,...r}=e;return n.trim()?g.jsx(Eh,{altText:n,asChild:!0,children:g.jsx(Pu,{...r,ref:t})}):(console.error(`Invalid prop \`altText\` supplied to \`${wh}\`. Expected non-empty \`string\`.`),null)});xh.displayName=wh;var Sh="ToastClose",Pu=x.forwardRef((e,t)=>{const{__scopeToast:n,...r}=e,o=r0(Sh,n);return g.jsx(Eh,{asChild:!0,children:g.jsx(he.button,{type:"button",...r,ref:t,onClick:Z(e.onClick,o.onClose)})})});Pu.displayName=Sh;var Eh=x.forwardRef((e,t)=>{const{__scopeToast:n,altText:r,...o}=e;return g.jsx(he.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":r||void 0,...o,ref:t})});function Ch(e){const t=[];return Array.from(e.childNodes).forEach(r=>{if(r.nodeType===r.TEXT_NODE&&r.textContent&&t.push(r.textContent),u0(r)){const o=r.ariaHidden||r.hidden||r.style.display==="none",i=r.dataset.radixToastAnnounceExclude==="";if(!o)if(i){const s=r.dataset.radixToastAnnounceAlt;s&&t.push(s)}else t.push(...Ch(r))}}),t}function ui(e,t,n,{discrete:r}){const o=n.originalEvent.currentTarget,i=new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?ih(o,i):o.dispatchEvent(i)}var id=(e,t,n=0)=>{const r=Math.abs(e.x),o=Math.abs(e.y),i=r>o;return t==="left"||t==="right"?i&&r>n:!i&&o>n};function a0(e=()=>{}){const t=kt(e);$n(()=>{let n=0,r=0;return n=window.requestAnimationFrame(()=>r=window.requestAnimationFrame(t)),()=>{window.cancelAnimationFrame(n),window.cancelAnimationFrame(r)}},[t])}function u0(e){return e.nodeType===e.ELEMENT_NODE}function c0(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function ll(e){const t=document.activeElement;return e.some(n=>n===t?!0:(n.focus(),document.activeElement!==t))}var d0=fh,kh=hh,Ph=gh,Th=vh,Nh=yh,Rh=xh,_h=Pu;function bh(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;ttypeof e=="boolean"?`${e}`:e===0?"0":e,ld=jh,Cs=(e,t)=>n=>{var r;if((t==null?void 0:t.variants)==null)return ld(e,n==null?void 0:n.class,n==null?void 0:n.className);const{variants:o,defaultVariants:i}=t,s=Object.keys(o).map(u=>{const f=n==null?void 0:n[u],d=i==null?void 0:i[u];if(f===null)return null;const p=sd(f)||sd(d);return o[u][p]}),l=n&&Object.entries(n).reduce((u,f)=>{let[d,p]=f;return p===void 0||(u[d]=p),u},{}),a=t==null||(r=t.compoundVariants)===null||r===void 0?void 0:r.reduce((u,f)=>{let{class:d,className:p,...v}=f;return Object.entries(v).every(w=>{let[y,S]=w;return Array.isArray(S)?S.includes({...i,...l}[y]):{...i,...l}[y]===S})?[...u,d,p]:u},[]);return ld(e,s,a,n==null?void 0:n.class,n==null?void 0:n.className)};/** + * @license lucide-react v0.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const f0=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Ah=(...e)=>e.filter((t,n,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===n).join(" ").trim();/** + * @license lucide-react v0.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */var p0={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.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const h0=x.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:o="",children:i,iconNode:s,...l},a)=>x.createElement("svg",{ref:a,...p0,width:t,height:t,stroke:e,strokeWidth:r?Number(n)*24/Number(t):n,className:Ah("lucide",o),...l},[...s.map(([u,f])=>x.createElement(u,f)),...Array.isArray(i)?i:[i]]));/** + * @license lucide-react v0.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const ye=(e,t)=>{const n=x.forwardRef(({className:r,...o},i)=>x.createElement(h0,{ref:i,iconNode:t,className:Ah(`lucide-${f0(e)}`,r),...o}));return n.displayName=`${e}`,n};/** + * @license lucide-react v0.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const m0=ye("BookOpen",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);/** + * @license lucide-react v0.462.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=ye("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** + * @license lucide-react v0.462.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=ye("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/** + * @license lucide-react v0.462.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=ye("CircuitBoard",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M11 9h4a2 2 0 0 0 2-2V3",key:"1ve2rv"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"M7 21v-4a2 2 0 0 1 2-2h4",key:"1fwkro"}],["circle",{cx:"15",cy:"15",r:"2",key:"3i40o0"}]]);/** + * @license lucide-react v0.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const w0=ye("Cpu",[["rect",{width:"16",height:"16",x:"4",y:"4",rx:"2",key:"14l7u7"}],["rect",{width:"6",height:"6",x:"9",y:"9",rx:"1",key:"5aljv4"}],["path",{d:"M15 2v2",key:"13l42r"}],["path",{d:"M15 20v2",key:"15mkzm"}],["path",{d:"M2 15h2",key:"1gxd5l"}],["path",{d:"M2 9h2",key:"1bbxkp"}],["path",{d:"M20 15h2",key:"19e6y8"}],["path",{d:"M20 9h2",key:"19tzq7"}],["path",{d:"M9 2v2",key:"165o2o"}],["path",{d:"M9 20v2",key:"i2bqo8"}]]);/** + * @license lucide-react v0.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const al=ye("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);/** + * @license lucide-react v0.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const x0=ye("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);/** + * @license lucide-react v0.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const S0=ye("GitFork",[["circle",{cx:"12",cy:"18",r:"3",key:"1mpf1b"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["path",{d:"M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9",key:"1uq4wg"}],["path",{d:"M12 12v3",key:"158kv8"}]]);/** + * @license lucide-react v0.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const E0=ye("Heart",[["path",{d:"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z",key:"c3ymky"}]]);/** + * @license lucide-react v0.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const C0=ye("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);/** + * @license lucide-react v0.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const ad=ye("Monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);/** + * @license lucide-react v0.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const k0=ye("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]);/** + * @license lucide-react v0.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const P0=ye("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.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const T0=ye("Sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);/** + * @license lucide-react v0.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const N0=ye("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);/** + * @license lucide-react v0.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const R0=ye("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.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Mh=ye("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),Tu="-",_0=e=>{const t=j0(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:s=>{const l=s.split(Tu);return l[0]===""&&l.length!==1&&l.shift(),Oh(l,t)||b0(s)},getConflictingClassGroupIds:(s,l)=>{const a=n[s]||[];return l&&r[s]?[...a,...r[s]]:a}}},Oh=(e,t)=>{var s;if(e.length===0)return t.classGroupId;const n=e[0],r=t.nextPart.get(n),o=r?Oh(e.slice(1),r):void 0;if(o)return o;if(t.validators.length===0)return;const i=e.join(Tu);return(s=t.validators.find(({validator:l})=>l(i)))==null?void 0:s.classGroupId},ud=/^\[(.+)\]$/,b0=e=>{if(ud.test(e)){const t=ud.exec(e)[1],n=t==null?void 0:t.substring(0,t.indexOf(":"));if(n)return"arbitrary.."+n}},j0=e=>{const{theme:t,prefix:n}=e,r={nextPart:new Map,validators:[]};return M0(Object.entries(e.classGroups),n).forEach(([i,s])=>{pa(s,r,i,t)}),r},pa=(e,t,n,r)=>{e.forEach(o=>{if(typeof o=="string"){const i=o===""?t:cd(t,o);i.classGroupId=n;return}if(typeof o=="function"){if(A0(o)){pa(o(r),t,n,r);return}t.validators.push({validator:o,classGroupId:n});return}Object.entries(o).forEach(([i,s])=>{pa(s,cd(t,i),n,r)})})},cd=(e,t)=>{let n=e;return t.split(Tu).forEach(r=>{n.nextPart.has(r)||n.nextPart.set(r,{nextPart:new Map,validators:[]}),n=n.nextPart.get(r)}),n},A0=e=>e.isThemeGetter,M0=(e,t)=>t?e.map(([n,r])=>{const o=r.map(i=>typeof i=="string"?t+i:typeof i=="object"?Object.fromEntries(Object.entries(i).map(([s,l])=>[t+s,l])):i);return[n,o]}):e,O0=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=new Map,r=new Map;const o=(i,s)=>{n.set(i,s),t++,t>e&&(t=0,r=n,n=new Map)};return{get(i){let s=n.get(i);if(s!==void 0)return s;if((s=r.get(i))!==void 0)return o(i,s),s},set(i,s){n.has(i)?n.set(i,s):o(i,s)}}},Dh="!",D0=e=>{const{separator:t,experimentalParseClassName:n}=e,r=t.length===1,o=t[0],i=t.length,s=l=>{const a=[];let u=0,f=0,d;for(let S=0;Sf?d-f:void 0;return{modifiers:a,hasImportantModifier:v,baseClassName:w,maybePostfixModifierPosition:y}};return n?l=>n({className:l,parseClassName:s}):s},L0=e=>{if(e.length<=1)return e;const t=[];let n=[];return e.forEach(r=>{r[0]==="["?(t.push(...n.sort(),r),n=[]):n.push(r)}),t.push(...n.sort()),t},I0=e=>({cache:O0(e.cacheSize),parseClassName:D0(e),..._0(e)}),z0=/\s+/,F0=(e,t)=>{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:o}=t,i=[],s=e.trim().split(z0);let l="";for(let a=s.length-1;a>=0;a-=1){const u=s[a],{modifiers:f,hasImportantModifier:d,baseClassName:p,maybePostfixModifierPosition:v}=n(u);let w=!!v,y=r(w?p.substring(0,v):p);if(!y){if(!w){l=u+(l.length>0?" "+l:l);continue}if(y=r(p),!y){l=u+(l.length>0?" "+l:l);continue}w=!1}const S=L0(f).join(":"),c=d?S+Dh:S,h=c+y;if(i.includes(h))continue;i.push(h);const m=o(y,w);for(let E=0;E0?" "+l:l)}return l};function $0(){let e=0,t,n,r="";for(;e{if(typeof e=="string")return e;let t,n="";for(let r=0;rd(f),e());return n=I0(u),r=n.cache.get,o=n.cache.set,i=l,l(a)}function l(a){const u=r(a);if(u)return u;const f=F0(a,n);return o(a,f),f}return function(){return i($0.apply(null,arguments))}}const q=e=>{const t=n=>n[e]||[];return t.isThemeGetter=!0,t},Ih=/^\[(?:([a-z-]+):)?(.+)\]$/i,U0=/^\d+\/\d+$/,V0=new Set(["px","full","screen"]),H0=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,W0=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Q0=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,K0=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,G0=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Rt=e=>cr(e)||V0.has(e)||U0.test(e),Vt=e=>Or(e,"length",nw),cr=e=>!!e&&!Number.isNaN(Number(e)),ul=e=>Or(e,"number",cr),Gr=e=>!!e&&Number.isInteger(Number(e)),Y0=e=>e.endsWith("%")&&cr(e.slice(0,-1)),$=e=>Ih.test(e),Ht=e=>H0.test(e),q0=new Set(["length","size","percentage"]),X0=e=>Or(e,q0,zh),Z0=e=>Or(e,"position",zh),J0=new Set(["image","url"]),ew=e=>Or(e,J0,ow),tw=e=>Or(e,"",rw),Yr=()=>!0,Or=(e,t,n)=>{const r=Ih.exec(e);return r?r[1]?typeof t=="string"?r[1]===t:t.has(r[1]):n(r[2]):!1},nw=e=>W0.test(e)&&!Q0.test(e),zh=()=>!1,rw=e=>K0.test(e),ow=e=>G0.test(e),iw=()=>{const e=q("colors"),t=q("spacing"),n=q("blur"),r=q("brightness"),o=q("borderColor"),i=q("borderRadius"),s=q("borderSpacing"),l=q("borderWidth"),a=q("contrast"),u=q("grayscale"),f=q("hueRotate"),d=q("invert"),p=q("gap"),v=q("gradientColorStops"),w=q("gradientColorStopPositions"),y=q("inset"),S=q("margin"),c=q("opacity"),h=q("padding"),m=q("saturate"),E=q("scale"),C=q("sepia"),P=q("skew"),T=q("space"),_=q("translate"),L=()=>["auto","contain","none"],k=()=>["auto","hidden","clip","visible","scroll"],j=()=>["auto",$,t],A=()=>[$,t],z=()=>["",Rt,Vt],O=()=>["auto",cr,$],H=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],F=()=>["solid","dashed","dotted","double","none"],U=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],N=()=>["start","end","center","between","around","evenly","stretch"],M=()=>["","0",$],I=()=>["auto","avoid","all","avoid-page","page","left","right","column"],V=()=>[cr,$];return{cacheSize:500,separator:":",theme:{colors:[Yr],spacing:[Rt,Vt],blur:["none","",Ht,$],brightness:V(),borderColor:[e],borderRadius:["none","","full",Ht,$],borderSpacing:A(),borderWidth:z(),contrast:V(),grayscale:M(),hueRotate:V(),invert:M(),gap:A(),gradientColorStops:[e],gradientColorStopPositions:[Y0,Vt],inset:j(),margin:j(),opacity:V(),padding:A(),saturate:V(),scale:V(),sepia:M(),skew:V(),space:A(),translate:A()},classGroups:{aspect:[{aspect:["auto","square","video",$]}],container:["container"],columns:[{columns:[Ht]}],"break-after":[{"break-after":I()}],"break-before":[{"break-before":I()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...H(),$]}],overflow:[{overflow:k()}],"overflow-x":[{"overflow-x":k()}],"overflow-y":[{"overflow-y":k()}],overscroll:[{overscroll:L()}],"overscroll-x":[{"overscroll-x":L()}],"overscroll-y":[{"overscroll-y":L()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[y]}],"inset-x":[{"inset-x":[y]}],"inset-y":[{"inset-y":[y]}],start:[{start:[y]}],end:[{end:[y]}],top:[{top:[y]}],right:[{right:[y]}],bottom:[{bottom:[y]}],left:[{left:[y]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",Gr,$]}],basis:[{basis:j()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",$]}],grow:[{grow:M()}],shrink:[{shrink:M()}],order:[{order:["first","last","none",Gr,$]}],"grid-cols":[{"grid-cols":[Yr]}],"col-start-end":[{col:["auto",{span:["full",Gr,$]},$]}],"col-start":[{"col-start":O()}],"col-end":[{"col-end":O()}],"grid-rows":[{"grid-rows":[Yr]}],"row-start-end":[{row:["auto",{span:[Gr,$]},$]}],"row-start":[{"row-start":O()}],"row-end":[{"row-end":O()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",$]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",$]}],gap:[{gap:[p]}],"gap-x":[{"gap-x":[p]}],"gap-y":[{"gap-y":[p]}],"justify-content":[{justify:["normal",...N()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...N(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...N(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[h]}],px:[{px:[h]}],py:[{py:[h]}],ps:[{ps:[h]}],pe:[{pe:[h]}],pt:[{pt:[h]}],pr:[{pr:[h]}],pb:[{pb:[h]}],pl:[{pl:[h]}],m:[{m:[S]}],mx:[{mx:[S]}],my:[{my:[S]}],ms:[{ms:[S]}],me:[{me:[S]}],mt:[{mt:[S]}],mr:[{mr:[S]}],mb:[{mb:[S]}],ml:[{ml:[S]}],"space-x":[{"space-x":[T]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[T]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",$,t]}],"min-w":[{"min-w":[$,t,"min","max","fit"]}],"max-w":[{"max-w":[$,t,"none","full","min","max","fit","prose",{screen:[Ht]},Ht]}],h:[{h:[$,t,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[$,t,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[$,t,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[$,t,"auto","min","max","fit"]}],"font-size":[{text:["base",Ht,Vt]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",ul]}],"font-family":[{font:[Yr]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractons"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",$]}],"line-clamp":[{"line-clamp":["none",cr,ul]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",Rt,$]}],"list-image":[{"list-image":["none",$]}],"list-style-type":[{list:["none","disc","decimal",$]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[c]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[c]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...F(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",Rt,Vt]}],"underline-offset":[{"underline-offset":["auto",Rt,$]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:A()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",$]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",$]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[c]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...H(),Z0]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",X0]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},ew]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[w]}],"gradient-via-pos":[{via:[w]}],"gradient-to-pos":[{to:[w]}],"gradient-from":[{from:[v]}],"gradient-via":[{via:[v]}],"gradient-to":[{to:[v]}],rounded:[{rounded:[i]}],"rounded-s":[{"rounded-s":[i]}],"rounded-e":[{"rounded-e":[i]}],"rounded-t":[{"rounded-t":[i]}],"rounded-r":[{"rounded-r":[i]}],"rounded-b":[{"rounded-b":[i]}],"rounded-l":[{"rounded-l":[i]}],"rounded-ss":[{"rounded-ss":[i]}],"rounded-se":[{"rounded-se":[i]}],"rounded-ee":[{"rounded-ee":[i]}],"rounded-es":[{"rounded-es":[i]}],"rounded-tl":[{"rounded-tl":[i]}],"rounded-tr":[{"rounded-tr":[i]}],"rounded-br":[{"rounded-br":[i]}],"rounded-bl":[{"rounded-bl":[i]}],"border-w":[{border:[l]}],"border-w-x":[{"border-x":[l]}],"border-w-y":[{"border-y":[l]}],"border-w-s":[{"border-s":[l]}],"border-w-e":[{"border-e":[l]}],"border-w-t":[{"border-t":[l]}],"border-w-r":[{"border-r":[l]}],"border-w-b":[{"border-b":[l]}],"border-w-l":[{"border-l":[l]}],"border-opacity":[{"border-opacity":[c]}],"border-style":[{border:[...F(),"hidden"]}],"divide-x":[{"divide-x":[l]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[l]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[c]}],"divide-style":[{divide:F()}],"border-color":[{border:[o]}],"border-color-x":[{"border-x":[o]}],"border-color-y":[{"border-y":[o]}],"border-color-s":[{"border-s":[o]}],"border-color-e":[{"border-e":[o]}],"border-color-t":[{"border-t":[o]}],"border-color-r":[{"border-r":[o]}],"border-color-b":[{"border-b":[o]}],"border-color-l":[{"border-l":[o]}],"divide-color":[{divide:[o]}],"outline-style":[{outline:["",...F()]}],"outline-offset":[{"outline-offset":[Rt,$]}],"outline-w":[{outline:[Rt,Vt]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:z()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[c]}],"ring-offset-w":[{"ring-offset":[Rt,Vt]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",Ht,tw]}],"shadow-color":[{shadow:[Yr]}],opacity:[{opacity:[c]}],"mix-blend":[{"mix-blend":[...U(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":U()}],filter:[{filter:["","none"]}],blur:[{blur:[n]}],brightness:[{brightness:[r]}],contrast:[{contrast:[a]}],"drop-shadow":[{"drop-shadow":["","none",Ht,$]}],grayscale:[{grayscale:[u]}],"hue-rotate":[{"hue-rotate":[f]}],invert:[{invert:[d]}],saturate:[{saturate:[m]}],sepia:[{sepia:[C]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[n]}],"backdrop-brightness":[{"backdrop-brightness":[r]}],"backdrop-contrast":[{"backdrop-contrast":[a]}],"backdrop-grayscale":[{"backdrop-grayscale":[u]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[f]}],"backdrop-invert":[{"backdrop-invert":[d]}],"backdrop-opacity":[{"backdrop-opacity":[c]}],"backdrop-saturate":[{"backdrop-saturate":[m]}],"backdrop-sepia":[{"backdrop-sepia":[C]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[s]}],"border-spacing-x":[{"border-spacing-x":[s]}],"border-spacing-y":[{"border-spacing-y":[s]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",$]}],duration:[{duration:V()}],ease:[{ease:["linear","in","out","in-out",$]}],delay:[{delay:V()}],animate:[{animate:["none","spin","ping","pulse","bounce",$]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[E]}],"scale-x":[{"scale-x":[E]}],"scale-y":[{"scale-y":[E]}],rotate:[{rotate:[Gr,$]}],"translate-x":[{"translate-x":[_]}],"translate-y":[{"translate-y":[_]}],"skew-x":[{"skew-x":[P]}],"skew-y":[{"skew-y":[P]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",$]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",$]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":A()}],"scroll-mx":[{"scroll-mx":A()}],"scroll-my":[{"scroll-my":A()}],"scroll-ms":[{"scroll-ms":A()}],"scroll-me":[{"scroll-me":A()}],"scroll-mt":[{"scroll-mt":A()}],"scroll-mr":[{"scroll-mr":A()}],"scroll-mb":[{"scroll-mb":A()}],"scroll-ml":[{"scroll-ml":A()}],"scroll-p":[{"scroll-p":A()}],"scroll-px":[{"scroll-px":A()}],"scroll-py":[{"scroll-py":A()}],"scroll-ps":[{"scroll-ps":A()}],"scroll-pe":[{"scroll-pe":A()}],"scroll-pt":[{"scroll-pt":A()}],"scroll-pr":[{"scroll-pr":A()}],"scroll-pb":[{"scroll-pb":A()}],"scroll-pl":[{"scroll-pl":A()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",$]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[Rt,Vt,ul]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},sw=B0(iw);function de(...e){return sw(jh(e))}const lw=d0,Fh=x.forwardRef(({className:e,...t},n)=>g.jsx(kh,{ref:n,className:de("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",e),...t}));Fh.displayName=kh.displayName;const aw=Cs("group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),$h=x.forwardRef(({className:e,variant:t,...n},r)=>g.jsx(Ph,{ref:r,className:de(aw({variant:t}),e),...n}));$h.displayName=Ph.displayName;const uw=x.forwardRef(({className:e,...t},n)=>g.jsx(Rh,{ref:n,className:de("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",e),...t}));uw.displayName=Rh.displayName;const Bh=x.forwardRef(({className:e,...t},n)=>g.jsx(_h,{ref:n,className:de("absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",e),"toast-close":"",...t,children:g.jsx(Mh,{className:"h-4 w-4"})}));Bh.displayName=_h.displayName;const Uh=x.forwardRef(({className:e,...t},n)=>g.jsx(Th,{ref:n,className:de("text-sm font-semibold",e),...t}));Uh.displayName=Th.displayName;const Vh=x.forwardRef(({className:e,...t},n)=>g.jsx(Nh,{ref:n,className:de("text-sm opacity-90",e),...t}));Vh.displayName=Nh.displayName;function cw(){const{toasts:e}=th();return g.jsxs(lw,{children:[e.map(function({id:t,title:n,description:r,action:o,...i}){return g.jsxs($h,{...i,children:[g.jsxs("div",{className:"grid gap-1",children:[n&&g.jsx(Uh,{children:n}),r&&g.jsx(Vh,{children:r})]}),o,g.jsx(Bh,{})]},t)}),g.jsx(Fh,{})]})}const dw=["top","right","bottom","left"],hn=Math.min,Fe=Math.max,Ji=Math.round,ci=Math.floor,mn=e=>({x:e,y:e}),fw={left:"right",right:"left",bottom:"top",top:"bottom"},pw={start:"end",end:"start"};function ha(e,t,n){return Fe(e,hn(t,n))}function Ft(e,t){return typeof e=="function"?e(t):e}function $t(e){return e.split("-")[0]}function Dr(e){return e.split("-")[1]}function Nu(e){return e==="x"?"y":"x"}function Ru(e){return e==="y"?"height":"width"}function gn(e){return["top","bottom"].includes($t(e))?"y":"x"}function _u(e){return Nu(gn(e))}function hw(e,t,n){n===void 0&&(n=!1);const r=Dr(e),o=_u(e),i=Ru(o);let s=o==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[i]>t.floating[i]&&(s=es(s)),[s,es(s)]}function mw(e){const t=es(e);return[ma(e),t,ma(t)]}function ma(e){return e.replace(/start|end/g,t=>pw[t])}function gw(e,t,n){const r=["left","right"],o=["right","left"],i=["top","bottom"],s=["bottom","top"];switch(e){case"top":case"bottom":return n?t?o:r:t?r:o;case"left":case"right":return t?i:s;default:return[]}}function vw(e,t,n,r){const o=Dr(e);let i=gw($t(e),n==="start",r);return o&&(i=i.map(s=>s+"-"+o),t&&(i=i.concat(i.map(ma)))),i}function es(e){return e.replace(/left|right|bottom|top/g,t=>fw[t])}function yw(e){return{top:0,right:0,bottom:0,left:0,...e}}function Hh(e){return typeof e!="number"?yw(e):{top:e,right:e,bottom:e,left:e}}function ts(e){const{x:t,y:n,width:r,height:o}=e;return{width:r,height:o,top:n,left:t,right:t+r,bottom:n+o,x:t,y:n}}function dd(e,t,n){let{reference:r,floating:o}=e;const i=gn(t),s=_u(t),l=Ru(s),a=$t(t),u=i==="y",f=r.x+r.width/2-o.width/2,d=r.y+r.height/2-o.height/2,p=r[l]/2-o[l]/2;let v;switch(a){case"top":v={x:f,y:r.y-o.height};break;case"bottom":v={x:f,y:r.y+r.height};break;case"right":v={x:r.x+r.width,y:d};break;case"left":v={x:r.x-o.width,y:d};break;default:v={x:r.x,y:r.y}}switch(Dr(t)){case"start":v[s]-=p*(n&&u?-1:1);break;case"end":v[s]+=p*(n&&u?-1:1);break}return v}const ww=async(e,t,n)=>{const{placement:r="bottom",strategy:o="absolute",middleware:i=[],platform:s}=n,l=i.filter(Boolean),a=await(s.isRTL==null?void 0:s.isRTL(t));let u=await s.getElementRects({reference:e,floating:t,strategy:o}),{x:f,y:d}=dd(u,r,a),p=r,v={},w=0;for(let y=0;y({name:"arrow",options:e,async fn(t){const{x:n,y:r,placement:o,rects:i,platform:s,elements:l,middlewareData:a}=t,{element:u,padding:f=0}=Ft(e,t)||{};if(u==null)return{};const d=Hh(f),p={x:n,y:r},v=_u(o),w=Ru(v),y=await s.getDimensions(u),S=v==="y",c=S?"top":"left",h=S?"bottom":"right",m=S?"clientHeight":"clientWidth",E=i.reference[w]+i.reference[v]-p[v]-i.floating[w],C=p[v]-i.reference[v],P=await(s.getOffsetParent==null?void 0:s.getOffsetParent(u));let T=P?P[m]:0;(!T||!await(s.isElement==null?void 0:s.isElement(P)))&&(T=l.floating[m]||i.floating[w]);const _=E/2-C/2,L=T/2-y[w]/2-1,k=hn(d[c],L),j=hn(d[h],L),A=k,z=T-y[w]-j,O=T/2-y[w]/2+_,H=ha(A,O,z),F=!a.arrow&&Dr(o)!=null&&O!==H&&i.reference[w]/2-(OO<=0)){var j,A;const O=(((j=i.flip)==null?void 0:j.index)||0)+1,H=T[O];if(H)return{data:{index:O,overflows:k},reset:{placement:H}};let F=(A=k.filter(U=>U.overflows[0]<=0).sort((U,N)=>U.overflows[1]-N.overflows[1])[0])==null?void 0:A.placement;if(!F)switch(v){case"bestFit":{var z;const U=(z=k.filter(N=>{if(P){const M=gn(N.placement);return M===h||M==="y"}return!0}).map(N=>[N.placement,N.overflows.filter(M=>M>0).reduce((M,I)=>M+I,0)]).sort((N,M)=>N[1]-M[1])[0])==null?void 0:z[0];U&&(F=U);break}case"initialPlacement":F=l;break}if(o!==F)return{reset:{placement:F}}}return{}}}};function fd(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function pd(e){return dw.some(t=>e[t]>=0)}const Ew=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n}=t,{strategy:r="referenceHidden",...o}=Ft(e,t);switch(r){case"referenceHidden":{const i=await bo(t,{...o,elementContext:"reference"}),s=fd(i,n.reference);return{data:{referenceHiddenOffsets:s,referenceHidden:pd(s)}}}case"escaped":{const i=await bo(t,{...o,altBoundary:!0}),s=fd(i,n.floating);return{data:{escapedOffsets:s,escaped:pd(s)}}}default:return{}}}}};async function Cw(e,t){const{placement:n,platform:r,elements:o}=e,i=await(r.isRTL==null?void 0:r.isRTL(o.floating)),s=$t(n),l=Dr(n),a=gn(n)==="y",u=["left","top"].includes(s)?-1:1,f=i&&a?-1:1,d=Ft(t,e);let{mainAxis:p,crossAxis:v,alignmentAxis:w}=typeof d=="number"?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return l&&typeof w=="number"&&(v=l==="end"?w*-1:w),a?{x:v*f,y:p*u}:{x:p*u,y:v*f}}const kw=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,r;const{x:o,y:i,placement:s,middlewareData:l}=t,a=await Cw(t,e);return s===((n=l.offset)==null?void 0:n.placement)&&(r=l.arrow)!=null&&r.alignmentOffset?{}:{x:o+a.x,y:i+a.y,data:{...a,placement:s}}}}},Pw=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:o}=t,{mainAxis:i=!0,crossAxis:s=!1,limiter:l={fn:S=>{let{x:c,y:h}=S;return{x:c,y:h}}},...a}=Ft(e,t),u={x:n,y:r},f=await bo(t,a),d=gn($t(o)),p=Nu(d);let v=u[p],w=u[d];if(i){const S=p==="y"?"top":"left",c=p==="y"?"bottom":"right",h=v+f[S],m=v-f[c];v=ha(h,v,m)}if(s){const S=d==="y"?"top":"left",c=d==="y"?"bottom":"right",h=w+f[S],m=w-f[c];w=ha(h,w,m)}const y=l.fn({...t,[p]:v,[d]:w});return{...y,data:{x:y.x-n,y:y.y-r,enabled:{[p]:i,[d]:s}}}}}},Tw=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:r,placement:o,rects:i,middlewareData:s}=t,{offset:l=0,mainAxis:a=!0,crossAxis:u=!0}=Ft(e,t),f={x:n,y:r},d=gn(o),p=Nu(d);let v=f[p],w=f[d];const y=Ft(l,t),S=typeof y=="number"?{mainAxis:y,crossAxis:0}:{mainAxis:0,crossAxis:0,...y};if(a){const m=p==="y"?"height":"width",E=i.reference[p]-i.floating[m]+S.mainAxis,C=i.reference[p]+i.reference[m]-S.mainAxis;vC&&(v=C)}if(u){var c,h;const m=p==="y"?"width":"height",E=["top","left"].includes($t(o)),C=i.reference[d]-i.floating[m]+(E&&((c=s.offset)==null?void 0:c[d])||0)+(E?0:S.crossAxis),P=i.reference[d]+i.reference[m]+(E?0:((h=s.offset)==null?void 0:h[d])||0)-(E?S.crossAxis:0);wP&&(w=P)}return{[p]:v,[d]:w}}}},Nw=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,r;const{placement:o,rects:i,platform:s,elements:l}=t,{apply:a=()=>{},...u}=Ft(e,t),f=await bo(t,u),d=$t(o),p=Dr(o),v=gn(o)==="y",{width:w,height:y}=i.floating;let S,c;d==="top"||d==="bottom"?(S=d,c=p===(await(s.isRTL==null?void 0:s.isRTL(l.floating))?"start":"end")?"left":"right"):(c=d,S=p==="end"?"top":"bottom");const h=y-f.top-f.bottom,m=w-f.left-f.right,E=hn(y-f[S],h),C=hn(w-f[c],m),P=!t.middlewareData.shift;let T=E,_=C;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(_=m),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(T=h),P&&!p){const k=Fe(f.left,0),j=Fe(f.right,0),A=Fe(f.top,0),z=Fe(f.bottom,0);v?_=w-2*(k!==0||j!==0?k+j:Fe(f.left,f.right)):T=y-2*(A!==0||z!==0?A+z:Fe(f.top,f.bottom))}await a({...t,availableWidth:_,availableHeight:T});const L=await s.getDimensions(l.floating);return w!==L.width||y!==L.height?{reset:{rects:!0}}:{}}}};function ks(){return typeof window<"u"}function Lr(e){return Wh(e)?(e.nodeName||"").toLowerCase():"#document"}function Ue(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Tt(e){var t;return(t=(Wh(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function Wh(e){return ks()?e instanceof Node||e instanceof Ue(e).Node:!1}function ft(e){return ks()?e instanceof Element||e instanceof Ue(e).Element:!1}function Pt(e){return ks()?e instanceof HTMLElement||e instanceof Ue(e).HTMLElement:!1}function hd(e){return!ks()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Ue(e).ShadowRoot}function Uo(e){const{overflow:t,overflowX:n,overflowY:r,display:o}=pt(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!["inline","contents"].includes(o)}function Rw(e){return["table","td","th"].includes(Lr(e))}function Ps(e){return[":popover-open",":modal"].some(t=>{try{return e.matches(t)}catch{return!1}})}function bu(e){const t=ju(),n=ft(e)?pt(e):e;return n.transform!=="none"||n.perspective!=="none"||(n.containerType?n.containerType!=="normal":!1)||!t&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!t&&(n.filter?n.filter!=="none":!1)||["transform","perspective","filter"].some(r=>(n.willChange||"").includes(r))||["paint","layout","strict","content"].some(r=>(n.contain||"").includes(r))}function _w(e){let t=vn(e);for(;Pt(t)&&!Rr(t);){if(bu(t))return t;if(Ps(t))return null;t=vn(t)}return null}function ju(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function Rr(e){return["html","body","#document"].includes(Lr(e))}function pt(e){return Ue(e).getComputedStyle(e)}function Ts(e){return ft(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function vn(e){if(Lr(e)==="html")return e;const t=e.assignedSlot||e.parentNode||hd(e)&&e.host||Tt(e);return hd(t)?t.host:t}function Qh(e){const t=vn(e);return Rr(t)?e.ownerDocument?e.ownerDocument.body:e.body:Pt(t)&&Uo(t)?t:Qh(t)}function jo(e,t,n){var r;t===void 0&&(t=[]),n===void 0&&(n=!0);const o=Qh(e),i=o===((r=e.ownerDocument)==null?void 0:r.body),s=Ue(o);if(i){const l=ga(s);return t.concat(s,s.visualViewport||[],Uo(o)?o:[],l&&n?jo(l):[])}return t.concat(o,jo(o,[],n))}function ga(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Kh(e){const t=pt(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const o=Pt(e),i=o?e.offsetWidth:n,s=o?e.offsetHeight:r,l=Ji(n)!==i||Ji(r)!==s;return l&&(n=i,r=s),{width:n,height:r,$:l}}function Au(e){return ft(e)?e:e.contextElement}function dr(e){const t=Au(e);if(!Pt(t))return mn(1);const n=t.getBoundingClientRect(),{width:r,height:o,$:i}=Kh(t);let s=(i?Ji(n.width):n.width)/r,l=(i?Ji(n.height):n.height)/o;return(!s||!Number.isFinite(s))&&(s=1),(!l||!Number.isFinite(l))&&(l=1),{x:s,y:l}}const bw=mn(0);function Gh(e){const t=Ue(e);return!ju()||!t.visualViewport?bw:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function jw(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==Ue(e)?!1:t}function Bn(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);const o=e.getBoundingClientRect(),i=Au(e);let s=mn(1);t&&(r?ft(r)&&(s=dr(r)):s=dr(e));const l=jw(i,n,r)?Gh(i):mn(0);let a=(o.left+l.x)/s.x,u=(o.top+l.y)/s.y,f=o.width/s.x,d=o.height/s.y;if(i){const p=Ue(i),v=r&&ft(r)?Ue(r):r;let w=p,y=ga(w);for(;y&&r&&v!==w;){const S=dr(y),c=y.getBoundingClientRect(),h=pt(y),m=c.left+(y.clientLeft+parseFloat(h.paddingLeft))*S.x,E=c.top+(y.clientTop+parseFloat(h.paddingTop))*S.y;a*=S.x,u*=S.y,f*=S.x,d*=S.y,a+=m,u+=E,w=Ue(y),y=ga(w)}}return ts({width:f,height:d,x:a,y:u})}function Aw(e){let{elements:t,rect:n,offsetParent:r,strategy:o}=e;const i=o==="fixed",s=Tt(r),l=t?Ps(t.floating):!1;if(r===s||l&&i)return n;let a={scrollLeft:0,scrollTop:0},u=mn(1);const f=mn(0),d=Pt(r);if((d||!d&&!i)&&((Lr(r)!=="body"||Uo(s))&&(a=Ts(r)),Pt(r))){const p=Bn(r);u=dr(r),f.x=p.x+r.clientLeft,f.y=p.y+r.clientTop}return{width:n.width*u.x,height:n.height*u.y,x:n.x*u.x-a.scrollLeft*u.x+f.x,y:n.y*u.y-a.scrollTop*u.y+f.y}}function Mw(e){return Array.from(e.getClientRects())}function va(e,t){const n=Ts(e).scrollLeft;return t?t.left+n:Bn(Tt(e)).left+n}function Ow(e){const t=Tt(e),n=Ts(e),r=e.ownerDocument.body,o=Fe(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),i=Fe(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight);let s=-n.scrollLeft+va(e);const l=-n.scrollTop;return pt(r).direction==="rtl"&&(s+=Fe(t.clientWidth,r.clientWidth)-o),{width:o,height:i,x:s,y:l}}function Dw(e,t){const n=Ue(e),r=Tt(e),o=n.visualViewport;let i=r.clientWidth,s=r.clientHeight,l=0,a=0;if(o){i=o.width,s=o.height;const u=ju();(!u||u&&t==="fixed")&&(l=o.offsetLeft,a=o.offsetTop)}return{width:i,height:s,x:l,y:a}}function Lw(e,t){const n=Bn(e,!0,t==="fixed"),r=n.top+e.clientTop,o=n.left+e.clientLeft,i=Pt(e)?dr(e):mn(1),s=e.clientWidth*i.x,l=e.clientHeight*i.y,a=o*i.x,u=r*i.y;return{width:s,height:l,x:a,y:u}}function md(e,t,n){let r;if(t==="viewport")r=Dw(e,n);else if(t==="document")r=Ow(Tt(e));else if(ft(t))r=Lw(t,n);else{const o=Gh(e);r={...t,x:t.x-o.x,y:t.y-o.y}}return ts(r)}function Yh(e,t){const n=vn(e);return n===t||!ft(n)||Rr(n)?!1:pt(n).position==="fixed"||Yh(n,t)}function Iw(e,t){const n=t.get(e);if(n)return n;let r=jo(e,[],!1).filter(l=>ft(l)&&Lr(l)!=="body"),o=null;const i=pt(e).position==="fixed";let s=i?vn(e):e;for(;ft(s)&&!Rr(s);){const l=pt(s),a=bu(s);!a&&l.position==="fixed"&&(o=null),(i?!a&&!o:!a&&l.position==="static"&&!!o&&["absolute","fixed"].includes(o.position)||Uo(s)&&!a&&Yh(e,s))?r=r.filter(f=>f!==s):o=l,s=vn(s)}return t.set(e,r),r}function zw(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e;const s=[...n==="clippingAncestors"?Ps(t)?[]:Iw(t,this._c):[].concat(n),r],l=s[0],a=s.reduce((u,f)=>{const d=md(t,f,o);return u.top=Fe(d.top,u.top),u.right=hn(d.right,u.right),u.bottom=hn(d.bottom,u.bottom),u.left=Fe(d.left,u.left),u},md(t,l,o));return{width:a.right-a.left,height:a.bottom-a.top,x:a.left,y:a.top}}function Fw(e){const{width:t,height:n}=Kh(e);return{width:t,height:n}}function $w(e,t,n){const r=Pt(t),o=Tt(t),i=n==="fixed",s=Bn(e,!0,i,t);let l={scrollLeft:0,scrollTop:0};const a=mn(0);if(r||!r&&!i)if((Lr(t)!=="body"||Uo(o))&&(l=Ts(t)),r){const v=Bn(t,!0,i,t);a.x=v.x+t.clientLeft,a.y=v.y+t.clientTop}else o&&(a.x=va(o));let u=0,f=0;if(o&&!r&&!i){const v=o.getBoundingClientRect();f=v.top+l.scrollTop,u=v.left+l.scrollLeft-va(o,v)}const d=s.left+l.scrollLeft-a.x-u,p=s.top+l.scrollTop-a.y-f;return{x:d,y:p,width:s.width,height:s.height}}function cl(e){return pt(e).position==="static"}function gd(e,t){if(!Pt(e)||pt(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return Tt(e)===n&&(n=n.ownerDocument.body),n}function qh(e,t){const n=Ue(e);if(Ps(e))return n;if(!Pt(e)){let o=vn(e);for(;o&&!Rr(o);){if(ft(o)&&!cl(o))return o;o=vn(o)}return n}let r=gd(e,t);for(;r&&Rw(r)&&cl(r);)r=gd(r,t);return r&&Rr(r)&&cl(r)&&!bu(r)?n:r||_w(e)||n}const Bw=async function(e){const t=this.getOffsetParent||qh,n=this.getDimensions,r=await n(e.floating);return{reference:$w(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Uw(e){return pt(e).direction==="rtl"}const Vw={convertOffsetParentRelativeRectToViewportRelativeRect:Aw,getDocumentElement:Tt,getClippingRect:zw,getOffsetParent:qh,getElementRects:Bw,getClientRects:Mw,getDimensions:Fw,getScale:dr,isElement:ft,isRTL:Uw};function Hw(e,t){let n=null,r;const o=Tt(e);function i(){var l;clearTimeout(r),(l=n)==null||l.disconnect(),n=null}function s(l,a){l===void 0&&(l=!1),a===void 0&&(a=1),i();const{left:u,top:f,width:d,height:p}=e.getBoundingClientRect();if(l||t(),!d||!p)return;const v=ci(f),w=ci(o.clientWidth-(u+d)),y=ci(o.clientHeight-(f+p)),S=ci(u),h={rootMargin:-v+"px "+-w+"px "+-y+"px "+-S+"px",threshold:Fe(0,hn(1,a))||1};let m=!0;function E(C){const P=C[0].intersectionRatio;if(P!==a){if(!m)return s();P?s(!1,P):r=setTimeout(()=>{s(!1,1e-7)},1e3)}m=!1}try{n=new IntersectionObserver(E,{...h,root:o.ownerDocument})}catch{n=new IntersectionObserver(E,h)}n.observe(e)}return s(!0),i}function Ww(e,t,n,r){r===void 0&&(r={});const{ancestorScroll:o=!0,ancestorResize:i=!0,elementResize:s=typeof ResizeObserver=="function",layoutShift:l=typeof IntersectionObserver=="function",animationFrame:a=!1}=r,u=Au(e),f=o||i?[...u?jo(u):[],...jo(t)]:[];f.forEach(c=>{o&&c.addEventListener("scroll",n,{passive:!0}),i&&c.addEventListener("resize",n)});const d=u&&l?Hw(u,n):null;let p=-1,v=null;s&&(v=new ResizeObserver(c=>{let[h]=c;h&&h.target===u&&v&&(v.unobserve(t),cancelAnimationFrame(p),p=requestAnimationFrame(()=>{var m;(m=v)==null||m.observe(t)})),n()}),u&&!a&&v.observe(u),v.observe(t));let w,y=a?Bn(e):null;a&&S();function S(){const c=Bn(e);y&&(c.x!==y.x||c.y!==y.y||c.width!==y.width||c.height!==y.height)&&n(),y=c,w=requestAnimationFrame(S)}return n(),()=>{var c;f.forEach(h=>{o&&h.removeEventListener("scroll",n),i&&h.removeEventListener("resize",n)}),d==null||d(),(c=v)==null||c.disconnect(),v=null,a&&cancelAnimationFrame(w)}}const Qw=kw,Kw=Pw,Gw=Sw,Yw=Nw,qw=Ew,vd=xw,Xw=Tw,Zw=(e,t,n)=>{const r=new Map,o={platform:Vw,...n},i={...o.platform,_c:r};return ww(e,t,{...o,platform:i})};var Ni=typeof document<"u"?x.useLayoutEffect:x.useEffect;function ns(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,r,o;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!ns(e[r],t[r]))return!1;return!0}if(o=Object.keys(e),n=o.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,o[r]))return!1;for(r=n;r--!==0;){const i=o[r];if(!(i==="_owner"&&e.$$typeof)&&!ns(e[i],t[i]))return!1}return!0}return e!==e&&t!==t}function Xh(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function yd(e,t){const n=Xh(e);return Math.round(t*n)/n}function dl(e){const t=x.useRef(e);return Ni(()=>{t.current=e}),t}function Jw(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:o,elements:{reference:i,floating:s}={},transform:l=!0,whileElementsMounted:a,open:u}=e,[f,d]=x.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[p,v]=x.useState(r);ns(p,r)||v(r);const[w,y]=x.useState(null),[S,c]=x.useState(null),h=x.useCallback(N=>{N!==P.current&&(P.current=N,y(N))},[]),m=x.useCallback(N=>{N!==T.current&&(T.current=N,c(N))},[]),E=i||w,C=s||S,P=x.useRef(null),T=x.useRef(null),_=x.useRef(f),L=a!=null,k=dl(a),j=dl(o),A=dl(u),z=x.useCallback(()=>{if(!P.current||!T.current)return;const N={placement:t,strategy:n,middleware:p};j.current&&(N.platform=j.current),Zw(P.current,T.current,N).then(M=>{const I={...M,isPositioned:A.current!==!1};O.current&&!ns(_.current,I)&&(_.current=I,Bo.flushSync(()=>{d(I)}))})},[p,t,n,j,A]);Ni(()=>{u===!1&&_.current.isPositioned&&(_.current.isPositioned=!1,d(N=>({...N,isPositioned:!1})))},[u]);const O=x.useRef(!1);Ni(()=>(O.current=!0,()=>{O.current=!1}),[]),Ni(()=>{if(E&&(P.current=E),C&&(T.current=C),E&&C){if(k.current)return k.current(E,C,z);z()}},[E,C,z,k,L]);const H=x.useMemo(()=>({reference:P,floating:T,setReference:h,setFloating:m}),[h,m]),F=x.useMemo(()=>({reference:E,floating:C}),[E,C]),U=x.useMemo(()=>{const N={position:n,left:0,top:0};if(!F.floating)return N;const M=yd(F.floating,f.x),I=yd(F.floating,f.y);return l?{...N,transform:"translate("+M+"px, "+I+"px)",...Xh(F.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:M,top:I}},[n,l,F.floating,f.x,f.y]);return x.useMemo(()=>({...f,update:z,refs:H,elements:F,floatingStyles:U}),[f,z,H,F,U])}const e1=e=>{function t(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:e,fn(n){const{element:r,padding:o}=typeof e=="function"?e(n):e;return r&&t(r)?r.current!=null?vd({element:r.current,padding:o}).fn(n):{}:r?vd({element:r,padding:o}).fn(n):{}}}},t1=(e,t)=>({...Qw(e),options:[e,t]}),n1=(e,t)=>({...Kw(e),options:[e,t]}),r1=(e,t)=>({...Xw(e),options:[e,t]}),o1=(e,t)=>({...Gw(e),options:[e,t]}),i1=(e,t)=>({...Yw(e),options:[e,t]}),s1=(e,t)=>({...qw(e),options:[e,t]}),l1=(e,t)=>({...e1(e),options:[e,t]});var a1="Arrow",Zh=x.forwardRef((e,t)=>{const{children:n,width:r=10,height:o=5,...i}=e;return g.jsx(he.svg,{...i,ref:t,width:r,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:g.jsx("polygon",{points:"0,0 30,0 15,10"})})});Zh.displayName=a1;var u1=Zh;function c1(e,t=[]){let n=[];function r(i,s){const l=x.createContext(s),a=n.length;n=[...n,s];function u(d){const{scope:p,children:v,...w}=d,y=(p==null?void 0:p[e][a])||l,S=x.useMemo(()=>w,Object.values(w));return g.jsx(y.Provider,{value:S,children:v})}function f(d,p){const v=(p==null?void 0:p[e][a])||l,w=x.useContext(v);if(w)return w;if(s!==void 0)return s;throw new Error(`\`${d}\` must be used within \`${i}\``)}return u.displayName=i+"Provider",[u,f]}const o=()=>{const i=n.map(s=>x.createContext(s));return function(l){const a=(l==null?void 0:l[e])||i;return x.useMemo(()=>({[`__scope${e}`]:{...l,[e]:a}}),[l,a])}};return o.scopeName=e,[r,d1(o,...t)]}function d1(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(i){const s=r.reduce((l,{useScope:a,scopeName:u})=>{const d=a(i)[`__scope${u}`];return{...l,...d}},{});return x.useMemo(()=>({[`__scope${t.scopeName}`]:s}),[s])}};return n.scopeName=t.scopeName,n}function Jh(e){const[t,n]=x.useState(void 0);return $n(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const r=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const i=o[0];let s,l;if("borderBoxSize"in i){const a=i.borderBoxSize,u=Array.isArray(a)?a[0]:a;s=u.inlineSize,l=u.blockSize}else s=e.offsetWidth,l=e.offsetHeight;n({width:s,height:l})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}else n(void 0)},[e]),t}var em="Popper",[tm,nm]=c1(em),[rS,rm]=tm(em),om="PopperAnchor",im=x.forwardRef((e,t)=>{const{__scopePopper:n,virtualRef:r,...o}=e,i=rm(om,n),s=x.useRef(null),l=Pe(t,s);return x.useEffect(()=>{i.onAnchorChange((r==null?void 0:r.current)||s.current)}),r?null:g.jsx(he.div,{...o,ref:l})});im.displayName=om;var Mu="PopperContent",[f1,p1]=tm(Mu),sm=x.forwardRef((e,t)=>{var Sn,$u,Bu,Uu,Vu,Hu;const{__scopePopper:n,side:r="bottom",sideOffset:o=0,align:i="center",alignOffset:s=0,arrowPadding:l=0,avoidCollisions:a=!0,collisionBoundary:u=[],collisionPadding:f=0,sticky:d="partial",hideWhenDetached:p=!1,updatePositionStrategy:v="optimized",onPlaced:w,...y}=e,S=rm(Mu,n),[c,h]=x.useState(null),m=Pe(t,Fr=>h(Fr)),[E,C]=x.useState(null),P=Jh(E),T=(P==null?void 0:P.width)??0,_=(P==null?void 0:P.height)??0,L=r+(i!=="center"?"-"+i:""),k=typeof f=="number"?f:{top:0,right:0,bottom:0,left:0,...f},j=Array.isArray(u)?u:[u],A=j.length>0,z={padding:k,boundary:j.filter(m1),altBoundary:A},{refs:O,floatingStyles:H,placement:F,isPositioned:U,middlewareData:N}=Jw({strategy:"fixed",placement:L,whileElementsMounted:(...Fr)=>Ww(...Fr,{animationFrame:v==="always"}),elements:{reference:S.anchor},middleware:[t1({mainAxis:o+_,alignmentAxis:s}),a&&n1({mainAxis:!0,crossAxis:!1,limiter:d==="partial"?r1():void 0,...z}),a&&o1({...z}),i1({...z,apply:({elements:Fr,rects:Wu,availableWidth:Vm,availableHeight:Hm})=>{const{width:Wm,height:Qm}=Wu.reference,Vo=Fr.floating.style;Vo.setProperty("--radix-popper-available-width",`${Vm}px`),Vo.setProperty("--radix-popper-available-height",`${Hm}px`),Vo.setProperty("--radix-popper-anchor-width",`${Wm}px`),Vo.setProperty("--radix-popper-anchor-height",`${Qm}px`)}}),E&&l1({element:E,padding:l}),g1({arrowWidth:T,arrowHeight:_}),p&&s1({strategy:"referenceHidden",...z})]}),[M,I]=um(F),V=kt(w);$n(()=>{U&&(V==null||V())},[U,V]);const ee=(Sn=N.arrow)==null?void 0:Sn.x,et=($u=N.arrow)==null?void 0:$u.y,Qe=((Bu=N.arrow)==null?void 0:Bu.centerOffset)!==0,[zr,Nt]=x.useState();return $n(()=>{c&&Nt(window.getComputedStyle(c).zIndex)},[c]),g.jsx("div",{ref:O.setFloating,"data-radix-popper-content-wrapper":"",style:{...H,transform:U?H.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:zr,"--radix-popper-transform-origin":[(Uu=N.transformOrigin)==null?void 0:Uu.x,(Vu=N.transformOrigin)==null?void 0:Vu.y].join(" "),...((Hu=N.hide)==null?void 0:Hu.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:g.jsx(f1,{scope:n,placedSide:M,onArrowChange:C,arrowX:ee,arrowY:et,shouldHideArrow:Qe,children:g.jsx(he.div,{"data-side":M,"data-align":I,...y,ref:m,style:{...y.style,animation:U?void 0:"none"}})})})});sm.displayName=Mu;var lm="PopperArrow",h1={top:"bottom",right:"left",bottom:"top",left:"right"},am=x.forwardRef(function(t,n){const{__scopePopper:r,...o}=t,i=p1(lm,r),s=h1[i.placedSide];return g.jsx("span",{ref:i.onArrowChange,style:{position:"absolute",left:i.arrowX,top:i.arrowY,[s]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[i.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[i.placedSide],visibility:i.shouldHideArrow?"hidden":void 0},children:g.jsx(u1,{...o,ref:n,style:{...o.style,display:"block"}})})});am.displayName=lm;function m1(e){return e!==null}var g1=e=>({name:"transformOrigin",options:e,fn(t){var S,c,h;const{placement:n,rects:r,middlewareData:o}=t,s=((S=o.arrow)==null?void 0:S.centerOffset)!==0,l=s?0:e.arrowWidth,a=s?0:e.arrowHeight,[u,f]=um(n),d={start:"0%",center:"50%",end:"100%"}[f],p=(((c=o.arrow)==null?void 0:c.x)??0)+l/2,v=(((h=o.arrow)==null?void 0:h.y)??0)+a/2;let w="",y="";return u==="bottom"?(w=s?d:`${p}px`,y=`${-a}px`):u==="top"?(w=s?d:`${p}px`,y=`${r.floating.height+a}px`):u==="right"?(w=`${-a}px`,y=s?d:`${v}px`):u==="left"&&(w=`${r.floating.width+a}px`,y=s?d:`${v}px`),{data:{x:w,y}}}});function um(e){const[t,n="center"]=e.split("-");return[t,n]}var v1=im,y1=sm,w1=am,[Ns,oS]=xu("Tooltip",[nm]),Ou=nm(),cm="TooltipProvider",x1=700,wd="tooltip.open",[S1,dm]=Ns(cm),fm=e=>{const{__scopeTooltip:t,delayDuration:n=x1,skipDelayDuration:r=300,disableHoverableContent:o=!1,children:i}=e,[s,l]=x.useState(!0),a=x.useRef(!1),u=x.useRef(0);return x.useEffect(()=>{const f=u.current;return()=>window.clearTimeout(f)},[]),g.jsx(S1,{scope:t,isOpenDelayed:s,delayDuration:n,onOpen:x.useCallback(()=>{window.clearTimeout(u.current),l(!1)},[]),onClose:x.useCallback(()=>{window.clearTimeout(u.current),u.current=window.setTimeout(()=>l(!0),r)},[r]),isPointerInTransitRef:a,onPointerInTransitChange:x.useCallback(f=>{a.current=f},[]),disableHoverableContent:o,children:i})};fm.displayName=cm;var pm="Tooltip",[iS,Rs]=Ns(pm),ya="TooltipTrigger",E1=x.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,o=Rs(ya,n),i=dm(ya,n),s=Ou(n),l=x.useRef(null),a=Pe(t,l,o.onTriggerChange),u=x.useRef(!1),f=x.useRef(!1),d=x.useCallback(()=>u.current=!1,[]);return x.useEffect(()=>()=>document.removeEventListener("pointerup",d),[d]),g.jsx(v1,{asChild:!0,...s,children:g.jsx(he.button,{"aria-describedby":o.open?o.contentId:void 0,"data-state":o.stateAttribute,...r,ref:a,onPointerMove:Z(e.onPointerMove,p=>{p.pointerType!=="touch"&&!f.current&&!i.isPointerInTransitRef.current&&(o.onTriggerEnter(),f.current=!0)}),onPointerLeave:Z(e.onPointerLeave,()=>{o.onTriggerLeave(),f.current=!1}),onPointerDown:Z(e.onPointerDown,()=>{u.current=!0,document.addEventListener("pointerup",d,{once:!0})}),onFocus:Z(e.onFocus,()=>{u.current||o.onOpen()}),onBlur:Z(e.onBlur,o.onClose),onClick:Z(e.onClick,o.onClose)})})});E1.displayName=ya;var C1="TooltipPortal",[sS,k1]=Ns(C1,{forceMount:void 0}),_r="TooltipContent",hm=x.forwardRef((e,t)=>{const n=k1(_r,e.__scopeTooltip),{forceMount:r=n.forceMount,side:o="top",...i}=e,s=Rs(_r,e.__scopeTooltip);return g.jsx(Eu,{present:r||s.open,children:s.disableHoverableContent?g.jsx(mm,{side:o,...i,ref:t}):g.jsx(P1,{side:o,...i,ref:t})})}),P1=x.forwardRef((e,t)=>{const n=Rs(_r,e.__scopeTooltip),r=dm(_r,e.__scopeTooltip),o=x.useRef(null),i=Pe(t,o),[s,l]=x.useState(null),{trigger:a,onClose:u}=n,f=o.current,{onPointerInTransitChange:d}=r,p=x.useCallback(()=>{l(null),d(!1)},[d]),v=x.useCallback((w,y)=>{const S=w.currentTarget,c={x:w.clientX,y:w.clientY},h=_1(c,S.getBoundingClientRect()),m=b1(c,h),E=j1(y.getBoundingClientRect()),C=M1([...m,...E]);l(C),d(!0)},[d]);return x.useEffect(()=>()=>p(),[p]),x.useEffect(()=>{if(a&&f){const w=S=>v(S,f),y=S=>v(S,a);return a.addEventListener("pointerleave",w),f.addEventListener("pointerleave",y),()=>{a.removeEventListener("pointerleave",w),f.removeEventListener("pointerleave",y)}}},[a,f,v,p]),x.useEffect(()=>{if(s){const w=y=>{const S=y.target,c={x:y.clientX,y:y.clientY},h=(a==null?void 0:a.contains(S))||(f==null?void 0:f.contains(S)),m=!A1(c,s);h?p():m&&(p(),u())};return document.addEventListener("pointermove",w),()=>document.removeEventListener("pointermove",w)}},[a,f,s,u,p]),g.jsx(mm,{...e,ref:i})}),[T1,N1]=Ns(pm,{isInside:!1}),mm=x.forwardRef((e,t)=>{const{__scopeTooltip:n,children:r,"aria-label":o,onEscapeKeyDown:i,onPointerDownOutside:s,...l}=e,a=Rs(_r,n),u=Ou(n),{onClose:f}=a;return x.useEffect(()=>(document.addEventListener(wd,f),()=>document.removeEventListener(wd,f)),[f]),x.useEffect(()=>{if(a.trigger){const d=p=>{const v=p.target;v!=null&&v.contains(a.trigger)&&f()};return window.addEventListener("scroll",d,{capture:!0}),()=>window.removeEventListener("scroll",d,{capture:!0})}},[a.trigger,f]),g.jsx(Su,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:i,onPointerDownOutside:s,onFocusOutside:d=>d.preventDefault(),onDismiss:f,children:g.jsxs(y1,{"data-state":a.stateAttribute,...u,...l,ref:t,style:{...l.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[g.jsx(rh,{children:r}),g.jsx(T1,{scope:n,isInside:!0,children:g.jsx(Ky,{id:a.contentId,role:"tooltip",children:o||r})})]})})});hm.displayName=_r;var gm="TooltipArrow",R1=x.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,o=Ou(n);return N1(gm,n).isInside?null:g.jsx(w1,{...o,...r,ref:t})});R1.displayName=gm;function _1(e,t){const n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),i=Math.abs(t.left-e.x);switch(Math.min(n,r,o,i)){case i:return"left";case o:return"right";case n:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function b1(e,t,n=5){const r=[];switch(t){case"top":r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function j1(e){const{top:t,right:n,bottom:r,left:o}=e;return[{x:o,y:t},{x:n,y:t},{x:n,y:r},{x:o,y:r}]}function A1(e,t){const{x:n,y:r}=e;let o=!1;for(let i=0,s=t.length-1;ir!=f>r&&n<(u-l)*(r-a)/(f-a)+l&&(o=!o)}return o}function M1(e){const t=e.slice();return t.sort((n,r)=>n.xr.x?1:n.yr.y?1:0),O1(t)}function O1(e){if(e.length<=1)return e.slice();const t=[];for(let r=0;r=2;){const i=t[t.length-1],s=t[t.length-2];if((i.x-s.x)*(o.y-s.y)>=(i.y-s.y)*(o.x-s.x))t.pop();else break}t.push(o)}t.pop();const n=[];for(let r=e.length-1;r>=0;r--){const o=e[r];for(;n.length>=2;){const i=n[n.length-1],s=n[n.length-2];if((i.x-s.x)*(o.y-s.y)>=(i.y-s.y)*(o.x-s.x))n.pop();else break}n.push(o)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var D1=fm,vm=hm;const L1=D1,I1=x.forwardRef(({className:e,sideOffset:t=4,...n},r)=>g.jsx(vm,{ref:r,sideOffset:t,className:de("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...n}));I1.displayName=vm.displayName;var _s=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},bs=typeof window>"u"||"Deno"in globalThis;function ot(){}function z1(e,t){return typeof e=="function"?e(t):e}function F1(e){return typeof e=="number"&&e>=0&&e!==1/0}function $1(e,t){return Math.max(e+(t||0)-Date.now(),0)}function xd(e,t){return typeof e=="function"?e(t):e}function B1(e,t){return typeof e=="function"?e(t):e}function Sd(e,t){const{type:n="all",exact:r,fetchStatus:o,predicate:i,queryKey:s,stale:l}=e;if(s){if(r){if(t.queryHash!==Du(s,t.options))return!1}else if(!Mo(t.queryKey,s))return!1}if(n!=="all"){const a=t.isActive();if(n==="active"&&!a||n==="inactive"&&a)return!1}return!(typeof l=="boolean"&&t.isStale()!==l||o&&o!==t.state.fetchStatus||i&&!i(t))}function Ed(e,t){const{exact:n,status:r,predicate:o,mutationKey:i}=e;if(i){if(!t.options.mutationKey)return!1;if(n){if(Ao(t.options.mutationKey)!==Ao(i))return!1}else if(!Mo(t.options.mutationKey,i))return!1}return!(r&&t.state.status!==r||o&&!o(t))}function Du(e,t){return((t==null?void 0:t.queryKeyHashFn)||Ao)(e)}function Ao(e){return JSON.stringify(e,(t,n)=>wa(n)?Object.keys(n).sort().reduce((r,o)=>(r[o]=n[o],r),{}):n)}function Mo(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?!Object.keys(t).some(n=>!Mo(e[n],t[n])):!1}function ym(e,t){if(e===t)return e;const n=Cd(e)&&Cd(t);if(n||wa(e)&&wa(t)){const r=n?e:Object.keys(e),o=r.length,i=n?t:Object.keys(t),s=i.length,l=n?[]:{};let a=0;for(let u=0;u{setTimeout(t,e)})}function V1(e,t,n){return typeof n.structuralSharing=="function"?n.structuralSharing(e,t):n.structuralSharing!==!1?ym(e,t):t}function H1(e,t,n=0){const r=[...e,t];return n&&r.length>n?r.slice(1):r}function W1(e,t,n=0){const r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var Lu=Symbol();function wm(e,t){return!e.queryFn&&(t!=null&&t.initialPromise)?()=>t.initialPromise:!e.queryFn||e.queryFn===Lu?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}var _n,qt,fr,Ad,Q1=(Ad=class extends _s{constructor(){super();K(this,_n);K(this,qt);K(this,fr);B(this,fr,t=>{if(!bs&&window.addEventListener){const n=()=>t();return window.addEventListener("visibilitychange",n,!1),()=>{window.removeEventListener("visibilitychange",n)}}})}onSubscribe(){R(this,qt)||this.setEventListener(R(this,fr))}onUnsubscribe(){var t;this.hasListeners()||((t=R(this,qt))==null||t.call(this),B(this,qt,void 0))}setEventListener(t){var n;B(this,fr,t),(n=R(this,qt))==null||n.call(this),B(this,qt,t(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()}))}setFocused(t){R(this,_n)!==t&&(B(this,_n,t),this.onFocus())}onFocus(){const t=this.isFocused();this.listeners.forEach(n=>{n(t)})}isFocused(){var t;return typeof R(this,_n)=="boolean"?R(this,_n):((t=globalThis.document)==null?void 0:t.visibilityState)!=="hidden"}},_n=new WeakMap,qt=new WeakMap,fr=new WeakMap,Ad),xm=new Q1,pr,Xt,hr,Md,K1=(Md=class extends _s{constructor(){super();K(this,pr,!0);K(this,Xt);K(this,hr);B(this,hr,t=>{if(!bs&&window.addEventListener){const n=()=>t(!0),r=()=>t(!1);return window.addEventListener("online",n,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",n),window.removeEventListener("offline",r)}}})}onSubscribe(){R(this,Xt)||this.setEventListener(R(this,hr))}onUnsubscribe(){var t;this.hasListeners()||((t=R(this,Xt))==null||t.call(this),B(this,Xt,void 0))}setEventListener(t){var n;B(this,hr,t),(n=R(this,Xt))==null||n.call(this),B(this,Xt,t(this.setOnline.bind(this)))}setOnline(t){R(this,pr)!==t&&(B(this,pr,t),this.listeners.forEach(r=>{r(t)}))}isOnline(){return R(this,pr)}},pr=new WeakMap,Xt=new WeakMap,hr=new WeakMap,Md),rs=new K1;function G1(){let e,t;const n=new Promise((o,i)=>{e=o,t=i});n.status="pending",n.catch(()=>{});function r(o){Object.assign(n,o),delete n.resolve,delete n.reject}return n.resolve=o=>{r({status:"fulfilled",value:o}),e(o)},n.reject=o=>{r({status:"rejected",reason:o}),t(o)},n}function Y1(e){return Math.min(1e3*2**e,3e4)}function Sm(e){return(e??"online")==="online"?rs.isOnline():!0}var Em=class extends Error{constructor(e){super("CancelledError"),this.revert=e==null?void 0:e.revert,this.silent=e==null?void 0:e.silent}};function fl(e){return e instanceof Em}function Cm(e){let t=!1,n=0,r=!1,o;const i=G1(),s=y=>{var S;r||(p(new Em(y)),(S=e.abort)==null||S.call(e))},l=()=>{t=!0},a=()=>{t=!1},u=()=>xm.isFocused()&&(e.networkMode==="always"||rs.isOnline())&&e.canRun(),f=()=>Sm(e.networkMode)&&e.canRun(),d=y=>{var S;r||(r=!0,(S=e.onSuccess)==null||S.call(e,y),o==null||o(),i.resolve(y))},p=y=>{var S;r||(r=!0,(S=e.onError)==null||S.call(e,y),o==null||o(),i.reject(y))},v=()=>new Promise(y=>{var S;o=c=>{(r||u())&&y(c)},(S=e.onPause)==null||S.call(e)}).then(()=>{var y;o=void 0,r||(y=e.onContinue)==null||y.call(e)}),w=()=>{if(r)return;let y;const S=n===0?e.initialPromise:void 0;try{y=S??e.fn()}catch(c){y=Promise.reject(c)}Promise.resolve(y).then(d).catch(c=>{var P;if(r)return;const h=e.retry??(bs?0:3),m=e.retryDelay??Y1,E=typeof m=="function"?m(n,c):m,C=h===!0||typeof h=="number"&&nu()?void 0:v()).then(()=>{t?p(c):w()})})};return{promise:i,cancel:s,continue:()=>(o==null||o(),i),cancelRetry:l,continueRetry:a,canStart:f,start:()=>(f()?w():v().then(w),i)}}function q1(){let e=[],t=0,n=l=>{l()},r=l=>{l()},o=l=>setTimeout(l,0);const i=l=>{t?e.push(l):o(()=>{n(l)})},s=()=>{const l=e;e=[],l.length&&o(()=>{r(()=>{l.forEach(a=>{n(a)})})})};return{batch:l=>{let a;t++;try{a=l()}finally{t--,t||s()}return a},batchCalls:l=>(...a)=>{i(()=>{l(...a)})},schedule:i,setNotifyFunction:l=>{n=l},setBatchNotifyFunction:l=>{r=l},setScheduler:l=>{o=l}}}var Re=q1(),bn,Od,km=(Od=class{constructor(){K(this,bn)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),F1(this.gcTime)&&B(this,bn,setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(bs?1/0:5*60*1e3))}clearGcTimeout(){R(this,bn)&&(clearTimeout(R(this,bn)),B(this,bn,void 0))}},bn=new WeakMap,Od),mr,gr,Ke,Ee,Oo,jn,it,_t,Dd,X1=(Dd=class extends km{constructor(t){super();K(this,it);K(this,mr);K(this,gr);K(this,Ke);K(this,Ee);K(this,Oo);K(this,jn);B(this,jn,!1),B(this,Oo,t.defaultOptions),this.setOptions(t.options),this.observers=[],B(this,Ke,t.cache),this.queryKey=t.queryKey,this.queryHash=t.queryHash,B(this,mr,J1(this.options)),this.state=t.state??R(this,mr),this.scheduleGc()}get meta(){return this.options.meta}get promise(){var t;return(t=R(this,Ee))==null?void 0:t.promise}setOptions(t){this.options={...R(this,Oo),...t},this.updateGcTime(this.options.gcTime)}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&R(this,Ke).remove(this)}setData(t,n){const r=V1(this.state.data,t,this.options);return we(this,it,_t).call(this,{data:r,type:"success",dataUpdatedAt:n==null?void 0:n.updatedAt,manual:n==null?void 0:n.manual}),r}setState(t,n){we(this,it,_t).call(this,{type:"setState",state:t,setStateOptions:n})}cancel(t){var r,o;const n=(r=R(this,Ee))==null?void 0:r.promise;return(o=R(this,Ee))==null||o.cancel(t),n?n.then(ot).catch(ot):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(R(this,mr))}isActive(){return this.observers.some(t=>B1(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Lu||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStale(){return this.state.isInvalidated?!0:this.getObserversCount()>0?this.observers.some(t=>t.getCurrentResult().isStale):this.state.data===void 0}isStaleByTime(t=0){return this.state.isInvalidated||this.state.data===void 0||!$1(this.state.dataUpdatedAt,t)}onFocus(){var n;const t=this.observers.find(r=>r.shouldFetchOnWindowFocus());t==null||t.refetch({cancelRefetch:!1}),(n=R(this,Ee))==null||n.continue()}onOnline(){var n;const t=this.observers.find(r=>r.shouldFetchOnReconnect());t==null||t.refetch({cancelRefetch:!1}),(n=R(this,Ee))==null||n.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),R(this,Ke).notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(n=>n!==t),this.observers.length||(R(this,Ee)&&(R(this,jn)?R(this,Ee).cancel({revert:!0}):R(this,Ee).cancelRetry()),this.scheduleGc()),R(this,Ke).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||we(this,it,_t).call(this,{type:"invalidate"})}fetch(t,n){var a,u,f;if(this.state.fetchStatus!=="idle"){if(this.state.data!==void 0&&(n!=null&&n.cancelRefetch))this.cancel({silent:!0});else if(R(this,Ee))return R(this,Ee).continueRetry(),R(this,Ee).promise}if(t&&this.setOptions(t),!this.options.queryFn){const d=this.observers.find(p=>p.options.queryFn);d&&this.setOptions(d.options)}const r=new AbortController,o=d=>{Object.defineProperty(d,"signal",{enumerable:!0,get:()=>(B(this,jn,!0),r.signal)})},i=()=>{const d=wm(this.options,n),p={queryKey:this.queryKey,meta:this.meta};return o(p),B(this,jn,!1),this.options.persister?this.options.persister(d,p,this):d(p)},s={fetchOptions:n,options:this.options,queryKey:this.queryKey,state:this.state,fetchFn:i};o(s),(a=this.options.behavior)==null||a.onFetch(s,this),B(this,gr,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((u=s.fetchOptions)==null?void 0:u.meta))&&we(this,it,_t).call(this,{type:"fetch",meta:(f=s.fetchOptions)==null?void 0:f.meta});const l=d=>{var p,v,w,y;fl(d)&&d.silent||we(this,it,_t).call(this,{type:"error",error:d}),fl(d)||((v=(p=R(this,Ke).config).onError)==null||v.call(p,d,this),(y=(w=R(this,Ke).config).onSettled)==null||y.call(w,this.state.data,d,this)),this.scheduleGc()};return B(this,Ee,Cm({initialPromise:n==null?void 0:n.initialPromise,fn:s.fetchFn,abort:r.abort.bind(r),onSuccess:d=>{var p,v,w,y;if(d===void 0){l(new Error(`${this.queryHash} data is undefined`));return}try{this.setData(d)}catch(S){l(S);return}(v=(p=R(this,Ke).config).onSuccess)==null||v.call(p,d,this),(y=(w=R(this,Ke).config).onSettled)==null||y.call(w,d,this.state.error,this),this.scheduleGc()},onError:l,onFail:(d,p)=>{we(this,it,_t).call(this,{type:"failed",failureCount:d,error:p})},onPause:()=>{we(this,it,_t).call(this,{type:"pause"})},onContinue:()=>{we(this,it,_t).call(this,{type:"continue"})},retry:s.options.retry,retryDelay:s.options.retryDelay,networkMode:s.options.networkMode,canRun:()=>!0})),R(this,Ee).start()}},mr=new WeakMap,gr=new WeakMap,Ke=new WeakMap,Ee=new WeakMap,Oo=new WeakMap,jn=new WeakMap,it=new WeakSet,_t=function(t){const n=r=>{switch(t.type){case"failed":return{...r,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,...Z1(r.data,this.options),fetchMeta:t.meta??null};case"success":return{...r,data:t.data,dataUpdateCount:r.dataUpdateCount+1,dataUpdatedAt:t.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const o=t.error;return fl(o)&&o.revert&&R(this,gr)?{...R(this,gr),fetchStatus:"idle"}:{...r,error:o,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:o,fetchStatus:"idle",status:"error"};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...t.state}}};this.state=n(this.state),Re.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate()}),R(this,Ke).notify({query:this,type:"updated",action:t})})},Dd);function Z1(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Sm(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function J1(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"pending",fetchStatus:"idle"}}var vt,Ld,ex=(Ld=class extends _s{constructor(t={}){super();K(this,vt);this.config=t,B(this,vt,new Map)}build(t,n,r){const o=n.queryKey,i=n.queryHash??Du(o,n);let s=this.get(i);return s||(s=new X1({cache:this,queryKey:o,queryHash:i,options:t.defaultQueryOptions(n),state:r,defaultOptions:t.getQueryDefaults(o)}),this.add(s)),s}add(t){R(this,vt).has(t.queryHash)||(R(this,vt).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const n=R(this,vt).get(t.queryHash);n&&(t.destroy(),n===t&&R(this,vt).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){Re.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return R(this,vt).get(t)}getAll(){return[...R(this,vt).values()]}find(t){const n={exact:!0,...t};return this.getAll().find(r=>Sd(n,r))}findAll(t={}){const n=this.getAll();return Object.keys(t).length>0?n.filter(r=>Sd(t,r)):n}notify(t){Re.batch(()=>{this.listeners.forEach(n=>{n(t)})})}onFocus(){Re.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){Re.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},vt=new WeakMap,Ld),yt,Te,An,wt,Wt,Id,tx=(Id=class extends km{constructor(t){super();K(this,wt);K(this,yt);K(this,Te);K(this,An);this.mutationId=t.mutationId,B(this,Te,t.mutationCache),B(this,yt,[]),this.state=t.state||nx(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){R(this,yt).includes(t)||(R(this,yt).push(t),this.clearGcTimeout(),R(this,Te).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){B(this,yt,R(this,yt).filter(n=>n!==t)),this.scheduleGc(),R(this,Te).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){R(this,yt).length||(this.state.status==="pending"?this.scheduleGc():R(this,Te).remove(this))}continue(){var t;return((t=R(this,An))==null?void 0:t.continue())??this.execute(this.state.variables)}async execute(t){var o,i,s,l,a,u,f,d,p,v,w,y,S,c,h,m,E,C,P,T;B(this,An,Cm({fn:()=>this.options.mutationFn?this.options.mutationFn(t):Promise.reject(new Error("No mutationFn found")),onFail:(_,L)=>{we(this,wt,Wt).call(this,{type:"failed",failureCount:_,error:L})},onPause:()=>{we(this,wt,Wt).call(this,{type:"pause"})},onContinue:()=>{we(this,wt,Wt).call(this,{type:"continue"})},retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>R(this,Te).canRun(this)}));const n=this.state.status==="pending",r=!R(this,An).canStart();try{if(!n){we(this,wt,Wt).call(this,{type:"pending",variables:t,isPaused:r}),await((i=(o=R(this,Te).config).onMutate)==null?void 0:i.call(o,t,this));const L=await((l=(s=this.options).onMutate)==null?void 0:l.call(s,t));L!==this.state.context&&we(this,wt,Wt).call(this,{type:"pending",context:L,variables:t,isPaused:r})}const _=await R(this,An).start();return await((u=(a=R(this,Te).config).onSuccess)==null?void 0:u.call(a,_,t,this.state.context,this)),await((d=(f=this.options).onSuccess)==null?void 0:d.call(f,_,t,this.state.context)),await((v=(p=R(this,Te).config).onSettled)==null?void 0:v.call(p,_,null,this.state.variables,this.state.context,this)),await((y=(w=this.options).onSettled)==null?void 0:y.call(w,_,null,t,this.state.context)),we(this,wt,Wt).call(this,{type:"success",data:_}),_}catch(_){try{throw await((c=(S=R(this,Te).config).onError)==null?void 0:c.call(S,_,t,this.state.context,this)),await((m=(h=this.options).onError)==null?void 0:m.call(h,_,t,this.state.context)),await((C=(E=R(this,Te).config).onSettled)==null?void 0:C.call(E,void 0,_,this.state.variables,this.state.context,this)),await((T=(P=this.options).onSettled)==null?void 0:T.call(P,void 0,_,t,this.state.context)),_}finally{we(this,wt,Wt).call(this,{type:"error",error:_})}}finally{R(this,Te).runNext(this)}}},yt=new WeakMap,Te=new WeakMap,An=new WeakMap,wt=new WeakSet,Wt=function(t){const n=r=>{switch(t.type){case"failed":return{...r,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...r,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:t.error,failureCount:r.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=n(this.state),Re.batch(()=>{R(this,yt).forEach(r=>{r.onMutationUpdate(t)}),R(this,Te).notify({mutation:this,type:"updated",action:t})})},Id);function nx(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var Ie,Do,zd,rx=(zd=class extends _s{constructor(t={}){super();K(this,Ie);K(this,Do);this.config=t,B(this,Ie,new Map),B(this,Do,Date.now())}build(t,n,r){const o=new tx({mutationCache:this,mutationId:++Ho(this,Do)._,options:t.defaultMutationOptions(n),state:r});return this.add(o),o}add(t){const n=di(t),r=R(this,Ie).get(n)??[];r.push(t),R(this,Ie).set(n,r),this.notify({type:"added",mutation:t})}remove(t){var r;const n=di(t);if(R(this,Ie).has(n)){const o=(r=R(this,Ie).get(n))==null?void 0:r.filter(i=>i!==t);o&&(o.length===0?R(this,Ie).delete(n):R(this,Ie).set(n,o))}this.notify({type:"removed",mutation:t})}canRun(t){var r;const n=(r=R(this,Ie).get(di(t)))==null?void 0:r.find(o=>o.state.status==="pending");return!n||n===t}runNext(t){var r;const n=(r=R(this,Ie).get(di(t)))==null?void 0:r.find(o=>o!==t&&o.state.isPaused);return(n==null?void 0:n.continue())??Promise.resolve()}clear(){Re.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}getAll(){return[...R(this,Ie).values()].flat()}find(t){const n={exact:!0,...t};return this.getAll().find(r=>Ed(n,r))}findAll(t={}){return this.getAll().filter(n=>Ed(t,n))}notify(t){Re.batch(()=>{this.listeners.forEach(n=>{n(t)})})}resumePausedMutations(){const t=this.getAll().filter(n=>n.state.isPaused);return Re.batch(()=>Promise.all(t.map(n=>n.continue().catch(ot))))}},Ie=new WeakMap,Do=new WeakMap,zd);function di(e){var t;return((t=e.options.scope)==null?void 0:t.id)??String(e.mutationId)}function Pd(e){return{onFetch:(t,n)=>{var f,d,p,v,w;const r=t.options,o=(p=(d=(f=t.fetchOptions)==null?void 0:f.meta)==null?void 0:d.fetchMore)==null?void 0:p.direction,i=((v=t.state.data)==null?void 0:v.pages)||[],s=((w=t.state.data)==null?void 0:w.pageParams)||[];let l={pages:[],pageParams:[]},a=0;const u=async()=>{let y=!1;const S=m=>{Object.defineProperty(m,"signal",{enumerable:!0,get:()=>(t.signal.aborted?y=!0:t.signal.addEventListener("abort",()=>{y=!0}),t.signal)})},c=wm(t.options,t.fetchOptions),h=async(m,E,C)=>{if(y)return Promise.reject();if(E==null&&m.pages.length)return Promise.resolve(m);const P={queryKey:t.queryKey,pageParam:E,direction:C?"backward":"forward",meta:t.options.meta};S(P);const T=await c(P),{maxPages:_}=t.options,L=C?W1:H1;return{pages:L(m.pages,T,_),pageParams:L(m.pageParams,E,_)}};if(o&&i.length){const m=o==="backward",E=m?ox:Td,C={pages:i,pageParams:s},P=E(r,C);l=await h(C,P,m)}else{const m=e??i.length;do{const E=a===0?s[0]??r.initialPageParam:Td(r,l);if(a>0&&E==null)break;l=await h(l,E),a++}while(a{var y,S;return(S=(y=t.options).persister)==null?void 0:S.call(y,u,{queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n)}:t.fetchFn=u}}}function Td(e,{pages:t,pageParams:n}){const r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function ox(e,{pages:t,pageParams:n}){var r;return t.length>0?(r=e.getPreviousPageParam)==null?void 0:r.call(e,t[0],t,n[0],n):void 0}var ie,Zt,Jt,vr,yr,en,wr,xr,Fd,ix=(Fd=class{constructor(e={}){K(this,ie);K(this,Zt);K(this,Jt);K(this,vr);K(this,yr);K(this,en);K(this,wr);K(this,xr);B(this,ie,e.queryCache||new ex),B(this,Zt,e.mutationCache||new rx),B(this,Jt,e.defaultOptions||{}),B(this,vr,new Map),B(this,yr,new Map),B(this,en,0)}mount(){Ho(this,en)._++,R(this,en)===1&&(B(this,wr,xm.subscribe(async e=>{e&&(await this.resumePausedMutations(),R(this,ie).onFocus())})),B(this,xr,rs.subscribe(async e=>{e&&(await this.resumePausedMutations(),R(this,ie).onOnline())})))}unmount(){var e,t;Ho(this,en)._--,R(this,en)===0&&((e=R(this,wr))==null||e.call(this),B(this,wr,void 0),(t=R(this,xr))==null||t.call(this),B(this,xr,void 0))}isFetching(e){return R(this,ie).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return R(this,Zt).findAll({...e,status:"pending"}).length}getQueryData(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=R(this,ie).get(t.queryHash))==null?void 0:n.state.data}ensureQueryData(e){const t=this.getQueryData(e.queryKey);if(t===void 0)return this.fetchQuery(e);{const n=this.defaultQueryOptions(e),r=R(this,ie).build(this,n);return e.revalidateIfStale&&r.isStaleByTime(xd(n.staleTime,r))&&this.prefetchQuery(n),Promise.resolve(t)}}getQueriesData(e){return R(this,ie).findAll(e).map(({queryKey:t,state:n})=>{const r=n.data;return[t,r]})}setQueryData(e,t,n){const r=this.defaultQueryOptions({queryKey:e}),o=R(this,ie).get(r.queryHash),i=o==null?void 0:o.state.data,s=z1(t,i);if(s!==void 0)return R(this,ie).build(this,r).setData(s,{...n,manual:!0})}setQueriesData(e,t,n){return Re.batch(()=>R(this,ie).findAll(e).map(({queryKey:r})=>[r,this.setQueryData(r,t,n)]))}getQueryState(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=R(this,ie).get(t.queryHash))==null?void 0:n.state}removeQueries(e){const t=R(this,ie);Re.batch(()=>{t.findAll(e).forEach(n=>{t.remove(n)})})}resetQueries(e,t){const n=R(this,ie),r={type:"active",...e};return Re.batch(()=>(n.findAll(e).forEach(o=>{o.reset()}),this.refetchQueries(r,t)))}cancelQueries(e={},t={}){const n={revert:!0,...t},r=Re.batch(()=>R(this,ie).findAll(e).map(o=>o.cancel(n)));return Promise.all(r).then(ot).catch(ot)}invalidateQueries(e={},t={}){return Re.batch(()=>{if(R(this,ie).findAll(e).forEach(r=>{r.invalidate()}),e.refetchType==="none")return Promise.resolve();const n={...e,type:e.refetchType??e.type??"active"};return this.refetchQueries(n,t)})}refetchQueries(e={},t){const n={...t,cancelRefetch:(t==null?void 0:t.cancelRefetch)??!0},r=Re.batch(()=>R(this,ie).findAll(e).filter(o=>!o.isDisabled()).map(o=>{let i=o.fetch(void 0,n);return n.throwOnError||(i=i.catch(ot)),o.state.fetchStatus==="paused"?Promise.resolve():i}));return Promise.all(r).then(ot)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const n=R(this,ie).build(this,t);return n.isStaleByTime(xd(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(ot).catch(ot)}fetchInfiniteQuery(e){return e.behavior=Pd(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(ot).catch(ot)}ensureInfiniteQueryData(e){return e.behavior=Pd(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return rs.isOnline()?R(this,Zt).resumePausedMutations():Promise.resolve()}getQueryCache(){return R(this,ie)}getMutationCache(){return R(this,Zt)}getDefaultOptions(){return R(this,Jt)}setDefaultOptions(e){B(this,Jt,e)}setQueryDefaults(e,t){R(this,vr).set(Ao(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...R(this,vr).values()];let n={};return t.forEach(r=>{Mo(e,r.queryKey)&&(n={...n,...r.defaultOptions})}),n}setMutationDefaults(e,t){R(this,yr).set(Ao(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...R(this,yr).values()];let n={};return t.forEach(r=>{Mo(e,r.mutationKey)&&(n={...n,...r.defaultOptions})}),n}defaultQueryOptions(e){if(e._defaulted)return e;const t={...R(this,Jt).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=Du(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.enabled!==!0&&t.queryFn===Lu&&(t.enabled=!1),t}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{...R(this,Jt).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){R(this,ie).clear(),R(this,Zt).clear()}},ie=new WeakMap,Zt=new WeakMap,Jt=new WeakMap,vr=new WeakMap,yr=new WeakMap,en=new WeakMap,wr=new WeakMap,xr=new WeakMap,Fd),sx=x.createContext(void 0),lx=({client:e,children:t})=>(x.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),g.jsx(sx.Provider,{value:e,children:t}));const ax=Cs("relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),xa=x.forwardRef(({className:e,variant:t,...n},r)=>g.jsx("div",{ref:r,role:"alert",className:de(ax({variant:t}),e),...n}));xa.displayName="Alert";const Pm=x.forwardRef(({className:e,...t},n)=>g.jsx("h5",{ref:n,className:de("mb-1 font-medium leading-none tracking-tight",e),...t}));Pm.displayName="AlertTitle";const Sa=x.forwardRef(({className:e,...t},n)=>g.jsx("div",{ref:n,className:de("text-sm [&_p]:leading-relaxed",e),...t}));Sa.displayName="AlertDescription";const ux=Cs("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function fi({className:e,variant:t,...n}){return g.jsx("div",{className:de(ux({variant:t}),e),...n})}const cx=Cs("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),nt=x.forwardRef(({className:e,variant:t,size:n,asChild:r=!1,...o},i)=>{const s=r?_o:"button";return g.jsx(s,{className:de(cx({variant:t,size:n,className:e})),ref:i,...o})});nt.displayName="Button";const eo=x.forwardRef(({className:e,...t},n)=>g.jsx("div",{ref:n,className:de("rounded-lg border bg-card text-card-foreground shadow-sm",e),...t}));eo.displayName="Card";const dx=x.forwardRef(({className:e,...t},n)=>g.jsx("div",{ref:n,className:de("flex flex-col space-y-1.5 p-6",e),...t}));dx.displayName="CardHeader";const fx=x.forwardRef(({className:e,...t},n)=>g.jsx("h3",{ref:n,className:de("text-2xl font-semibold leading-none tracking-tight",e),...t}));fx.displayName="CardTitle";const px=x.forwardRef(({className:e,...t},n)=>g.jsx("p",{ref:n,className:de("text-sm text-muted-foreground",e),...t}));px.displayName="CardDescription";const hx=x.forwardRef(({className:e,...t},n)=>g.jsx("div",{ref:n,className:de("p-6 pt-0",e),...t}));hx.displayName="CardContent";const mx=x.forwardRef(({className:e,...t},n)=>g.jsx("div",{ref:n,className:de("flex items-center p-6 pt-0",e),...t}));mx.displayName="CardFooter";function Tm(e,[t,n]){return Math.min(n,Math.max(t,e))}var gx=x.createContext(void 0);function vx(e){const t=x.useContext(gx);return e||t||"ltr"}function yx(e){const t=x.useRef({value:e,previous:e});return x.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var Nm=["PageUp","PageDown"],Rm=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],_m={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},Ir="Slider",[Ea,wx,xx]=oh(Ir),[bm,lS]=xu(Ir,[xx]),[Sx,js]=bm(Ir),jm=x.forwardRef((e,t)=>{const{name:n,min:r=0,max:o=100,step:i=1,orientation:s="horizontal",disabled:l=!1,minStepsBetweenThumbs:a=0,defaultValue:u=[r],value:f,onValueChange:d=()=>{},onValueCommit:p=()=>{},inverted:v=!1,form:w,...y}=e,S=x.useRef(new Set),c=x.useRef(0),m=s==="horizontal"?Ex:Cx,[E=[],C]=ch({prop:f,defaultProp:u,onChange:j=>{var z;(z=[...S.current][c.current])==null||z.focus(),d(j)}}),P=x.useRef(E);function T(j){const A=Rx(E,j);k(j,A)}function _(j){k(j,c.current)}function L(){const j=P.current[c.current];E[c.current]!==j&&p(E)}function k(j,A,{commit:z}={commit:!1}){const O=Ax(i),H=Mx(Math.round((j-r)/i)*i+r,O),F=Tm(H,[r,o]);C((U=[])=>{const N=Tx(U,F,A);if(jx(N,a*i)){c.current=N.indexOf(F);const M=String(N)!==String(U);return M&&z&&p(N),M?N:U}else return U})}return g.jsx(Sx,{scope:e.__scopeSlider,name:n,disabled:l,min:r,max:o,valueIndexToChangeRef:c,thumbs:S.current,values:E,orientation:s,form:w,children:g.jsx(Ea.Provider,{scope:e.__scopeSlider,children:g.jsx(Ea.Slot,{scope:e.__scopeSlider,children:g.jsx(m,{"aria-disabled":l,"data-disabled":l?"":void 0,...y,ref:t,onPointerDown:Z(y.onPointerDown,()=>{l||(P.current=E)}),min:r,max:o,inverted:v,onSlideStart:l?void 0:T,onSlideMove:l?void 0:_,onSlideEnd:l?void 0:L,onHomeKeyDown:()=>!l&&k(r,0,{commit:!0}),onEndKeyDown:()=>!l&&k(o,E.length-1,{commit:!0}),onStepKeyDown:({event:j,direction:A})=>{if(!l){const H=Nm.includes(j.key)||j.shiftKey&&Rm.includes(j.key)?10:1,F=c.current,U=E[F],N=i*H*A;k(U+N,F,{commit:!0})}}})})})})});jm.displayName=Ir;var[Am,Mm]=bm(Ir,{startEdge:"left",endEdge:"right",size:"width",direction:1}),Ex=x.forwardRef((e,t)=>{const{min:n,max:r,dir:o,inverted:i,onSlideStart:s,onSlideMove:l,onSlideEnd:a,onStepKeyDown:u,...f}=e,[d,p]=x.useState(null),v=Pe(t,m=>p(m)),w=x.useRef(),y=vx(o),S=y==="ltr",c=S&&!i||!S&&i;function h(m){const E=w.current||d.getBoundingClientRect(),C=[0,E.width],T=Iu(C,c?[n,r]:[r,n]);return w.current=E,T(m-E.left)}return g.jsx(Am,{scope:e.__scopeSlider,startEdge:c?"left":"right",endEdge:c?"right":"left",direction:c?1:-1,size:"width",children:g.jsx(Om,{dir:y,"data-orientation":"horizontal",...f,ref:v,style:{...f.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:m=>{const E=h(m.clientX);s==null||s(E)},onSlideMove:m=>{const E=h(m.clientX);l==null||l(E)},onSlideEnd:()=>{w.current=void 0,a==null||a()},onStepKeyDown:m=>{const C=_m[c?"from-left":"from-right"].includes(m.key);u==null||u({event:m,direction:C?-1:1})}})})}),Cx=x.forwardRef((e,t)=>{const{min:n,max:r,inverted:o,onSlideStart:i,onSlideMove:s,onSlideEnd:l,onStepKeyDown:a,...u}=e,f=x.useRef(null),d=Pe(t,f),p=x.useRef(),v=!o;function w(y){const S=p.current||f.current.getBoundingClientRect(),c=[0,S.height],m=Iu(c,v?[r,n]:[n,r]);return p.current=S,m(y-S.top)}return g.jsx(Am,{scope:e.__scopeSlider,startEdge:v?"bottom":"top",endEdge:v?"top":"bottom",size:"height",direction:v?1:-1,children:g.jsx(Om,{"data-orientation":"vertical",...u,ref:d,style:{...u.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:y=>{const S=w(y.clientY);i==null||i(S)},onSlideMove:y=>{const S=w(y.clientY);s==null||s(S)},onSlideEnd:()=>{p.current=void 0,l==null||l()},onStepKeyDown:y=>{const c=_m[v?"from-bottom":"from-top"].includes(y.key);a==null||a({event:y,direction:c?-1:1})}})})}),Om=x.forwardRef((e,t)=>{const{__scopeSlider:n,onSlideStart:r,onSlideMove:o,onSlideEnd:i,onHomeKeyDown:s,onEndKeyDown:l,onStepKeyDown:a,...u}=e,f=js(Ir,n);return g.jsx(he.span,{...u,ref:t,onKeyDown:Z(e.onKeyDown,d=>{d.key==="Home"?(s(d),d.preventDefault()):d.key==="End"?(l(d),d.preventDefault()):Nm.concat(Rm).includes(d.key)&&(a(d),d.preventDefault())}),onPointerDown:Z(e.onPointerDown,d=>{const p=d.target;p.setPointerCapture(d.pointerId),d.preventDefault(),f.thumbs.has(p)?p.focus():r(d)}),onPointerMove:Z(e.onPointerMove,d=>{d.target.hasPointerCapture(d.pointerId)&&o(d)}),onPointerUp:Z(e.onPointerUp,d=>{const p=d.target;p.hasPointerCapture(d.pointerId)&&(p.releasePointerCapture(d.pointerId),i(d))})})}),Dm="SliderTrack",Lm=x.forwardRef((e,t)=>{const{__scopeSlider:n,...r}=e,o=js(Dm,n);return g.jsx(he.span,{"data-disabled":o.disabled?"":void 0,"data-orientation":o.orientation,...r,ref:t})});Lm.displayName=Dm;var Ca="SliderRange",Im=x.forwardRef((e,t)=>{const{__scopeSlider:n,...r}=e,o=js(Ca,n),i=Mm(Ca,n),s=x.useRef(null),l=Pe(t,s),a=o.values.length,u=o.values.map(p=>Fm(p,o.min,o.max)),f=a>1?Math.min(...u):0,d=100-Math.max(...u);return g.jsx(he.span,{"data-orientation":o.orientation,"data-disabled":o.disabled?"":void 0,...r,ref:l,style:{...e.style,[i.startEdge]:f+"%",[i.endEdge]:d+"%"}})});Im.displayName=Ca;var ka="SliderThumb",zm=x.forwardRef((e,t)=>{const n=wx(e.__scopeSlider),[r,o]=x.useState(null),i=Pe(t,l=>o(l)),s=x.useMemo(()=>r?n().findIndex(l=>l.ref.current===r):-1,[n,r]);return g.jsx(kx,{...e,ref:i,index:s})}),kx=x.forwardRef((e,t)=>{const{__scopeSlider:n,index:r,name:o,...i}=e,s=js(ka,n),l=Mm(ka,n),[a,u]=x.useState(null),f=Pe(t,h=>u(h)),d=a?s.form||!!a.closest("form"):!0,p=Jh(a),v=s.values[r],w=v===void 0?0:Fm(v,s.min,s.max),y=Nx(r,s.values.length),S=p==null?void 0:p[l.size],c=S?_x(S,w,l.direction):0;return x.useEffect(()=>{if(a)return s.thumbs.add(a),()=>{s.thumbs.delete(a)}},[a,s.thumbs]),g.jsxs("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[l.startEdge]:`calc(${w}% + ${c}px)`},children:[g.jsx(Ea.ItemSlot,{scope:e.__scopeSlider,children:g.jsx(he.span,{role:"slider","aria-label":e["aria-label"]||y,"aria-valuemin":s.min,"aria-valuenow":v,"aria-valuemax":s.max,"aria-orientation":s.orientation,"data-orientation":s.orientation,"data-disabled":s.disabled?"":void 0,tabIndex:s.disabled?void 0:0,...i,ref:f,style:v===void 0?{display:"none"}:e.style,onFocus:Z(e.onFocus,()=>{s.valueIndexToChangeRef.current=r})})}),d&&g.jsx(Px,{name:o??(s.name?s.name+(s.values.length>1?"[]":""):void 0),form:s.form,value:v},r)]})});zm.displayName=ka;var Px=e=>{const{value:t,...n}=e,r=x.useRef(null),o=yx(t);return x.useEffect(()=>{const i=r.current,s=window.HTMLInputElement.prototype,a=Object.getOwnPropertyDescriptor(s,"value").set;if(o!==t&&a){const u=new Event("input",{bubbles:!0});a.call(i,t),i.dispatchEvent(u)}},[o,t]),g.jsx("input",{style:{display:"none"},...n,ref:r,defaultValue:t})};function Tx(e=[],t,n){const r=[...e];return r[n]=t,r.sort((o,i)=>o-i)}function Fm(e,t,n){const i=100/(n-t)*(e-t);return Tm(i,[0,100])}function Nx(e,t){return t>2?`Value ${e+1} of ${t}`:t===2?["Minimum","Maximum"][e]:void 0}function Rx(e,t){if(e.length===1)return 0;const n=e.map(o=>Math.abs(o-t)),r=Math.min(...n);return n.indexOf(r)}function _x(e,t,n){const r=e/2,i=Iu([0,50],[0,r]);return(r-i(t)*n)*n}function bx(e){return e.slice(0,-1).map((t,n)=>e[n+1]-t)}function jx(e,t){if(t>0){const n=bx(e);return Math.min(...n)>=t}return!0}function Iu(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function Ax(e){return(String(e).split(".")[1]||"").length}function Mx(e,t){const n=Math.pow(10,t);return Math.round(e*n)/n}var $m=jm,Ox=Lm,Dx=Im,Lx=zm;const Bm=x.forwardRef(({className:e,...t},n)=>g.jsxs($m,{ref:n,className:de("relative flex w-full touch-none select-none items-center",e),...t,children:[g.jsx(Ox,{className:"relative h-2 w-full grow overflow-hidden rounded-full bg-secondary",children:g.jsx(Dx,{className:"absolute h-full bg-primary"})}),g.jsx(Lx,{className:"block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50"})]}));Bm.displayName=$m.displayName;let at,Un,Pa,Rn,pl=0;const zu=()=>{Un=null,Pa=null,Rn=null;const e=document.getElementById("log");e&&(e.innerHTML="")},Ix=async e=>{if(console.log(e),zu(),at!=null)if(pl<=2)pl++,await Fu();else throw St("连接失败!"),pl=0,e},zx=async e=>{Rn?await Rn.writeValue(e):St("服务不可用,请检查蓝牙连接")},br=async e=>{St(`发送命令: ${e}`),await zx(Vx(e))},Fx=async()=>{var n,r;const e=(n=document.getElementById("epddriver"))==null?void 0:n.value,t=(r=document.getElementById("epdpins"))==null?void 0:r.value;e&&t&&(await br("00"+t),await br("01"+e))},$x=async()=>{await br("02")},Um=()=>{const e=Un!=null&&Un.connected,t=!e;console.log("Updating button status:",{connected:e,status:t});const n=r=>{const o=document.querySelector(`button[data-button-id="${r}"]`);o?o.disabled=t:console.log(`Button with data-button-id="${r}" not found`)};["sendcmd","clearscreen","sendimg","setDriver"].forEach(n)},Bx=()=>{zu(),St("已断开连接.");const e=document.querySelector('button[data-button-id="connect"]');e&&(e.innerHTML="连接"),Um()},Nd=async()=>{if(Un!=null&&Un.connected)at!=null&&at.gatt.connected&&(await br("06"),at.gatt.disconnect());else try{at=await navigator.bluetooth.requestDevice({optionalServices:["62750001-d828-918d-fb46-b6c11c675aec"],acceptAllDevices:!0}),at.addEventListener("gattserverdisconnected",Bx),await Fu()}catch(e){await Ix(e)}},Ux=async()=>{at!=null&&at.gatt.connected&&at.gatt.disconnect(),zu(),St("正在重连"),setTimeout(async()=>{await Fu()},300)},Fu=async()=>{if(Rn==null){St("正在连接: "+at.name),Un=await at.gatt.connect(),St("> 找到 GATT Server"),Pa=await Un.getPrimaryService("62750001-d828-918d-fb46-b6c11c675aec"),St("> 找到 EPD Service"),Rn=await Pa.getCharacteristic("62750002-d828-918d-fb46-b6c11c675aec"),St("> 找到 Characteristic"),await Rn.startNotifications(),Rn.addEventListener("characteristicvaluechanged",t=>{St(`> 收到配置:${hl(t.target.value.buffer)}`);const n=document.getElementById("epdpins"),r=document.getElementById("epddriver");n&&r&&(n.value=hl(t.target.value.buffer.slice(0,7)),r.value=hl(t.target.value.buffer.slice(7,8)))}),await br("01");const e=document.querySelector('button[data-button-id="connect"]');e&&(e.innerHTML="断开"),Um()}},St=e=>{const t=new Date,n=("0"+t.getHours()).slice(-2)+":"+("0"+t.getMinutes()).slice(-2)+":"+("0"+t.getSeconds()).slice(-2)+" : ",r=document.getElementById("log");if(r)for(r.innerHTML+=n+e+"
",console.log(n+e);(r.innerHTML.match(/
/g)||[]).length>100;){const o=r.innerHTML.search("
");r.innerHTML=r.innerHTML.substring(o+4)}},Vx=e=>{const t=[];for(let n=0;nnew Uint8Array(e).reduce((t,n)=>t+("0"+n.toString(16)).slice(-2),""),Rd=e=>Array.from(new Uint8Array(e)).map(t=>t.toString(16).padStart(2,"0")).join(""),Hx=[[0,0,0,255],[255,255,255,255],[255,0,0,255]],Wx=(e,t)=>{let n=195076,r=0;for(let o=0;o{const i=[[15,135,45,165],[195,75,225,105],[60,180,30,150],[240,120,210,90]],s=[],l=[],a=[];for(let c=0;c<256;c++)s[c]=c*.299,l[c]=c*.587,a[c]=c*.114;const u=e.getImageData(0,0,t,n),f=u.data.length;for(let c=0;c<=f;c+=4)u.data[c]=Math.floor(s[u.data[c]]+l[u.data[c+1]]+a[u.data[c+2]]);const d=u.width;let p,v;for(let c=0;c<=f;c+=4){if(o==="none")u.data[c]=u.data[c]{const n=e.getContext("2d");if(!n)return[];const r=n.getImageData(0,0,e.width,e.height),o=[];let i=[];for(let s=0;s0&&r.data[a+1]>0&&r.data[a+2]>0?1:0):i.push(r.data[a]>0&&r.data[a+1]===0&&r.data[a+2]===0?0:1),i.length===8&&(o.push(parseInt(i.join(""),2)),i=[])}return o},Kx=e=>{var o,i;const t=(o=document.getElementById("epddriver"))==null?void 0:o.value,n=(i=document.getElementById("dithering"))==null?void 0:i.value,r=document.getElementById("cmdIMAGE");if(r&&t&&n&&(r.value=Rd(new Uint8Array(_d(e,"bw")).buffer),t==="03"))if(n.startsWith("bwr"))r.value+=Rd(new Uint8Array(_d(e,"bwr")).buffer);else{const s=r.value.length;r.value+="F".repeat(s)}},Gx=async()=>{const e=document.getElementById("image_file");if(e!=null&&e.files&&e.files.length>0){const t=e.files[0],n=document.getElementById("canvas"),r=n.getContext("2d");if(r){const o=new Image,i=URL.createObjectURL(t);o.src=i,o.onload=function(){URL.revokeObjectURL(i),r.drawImage(o,0,0,o.width,o.height,0,0,n.width,n.height),Ri()}}}},Yx=()=>{const e=document.getElementById("canvas"),t=e.getContext("2d");if(t){t.fillStyle="white",t.fillRect(0,0,e.width,e.height);const n=document.getElementById("cmdIMAGE");n&&(n.value="")}},Ri=()=>{var o,i;const e=document.getElementById("canvas"),t=e.getContext("2d");if(!t)return;const n=(o=document.getElementById("dithering"))==null?void 0:o.value,r=parseInt(((i=document.getElementById("threshold"))==null?void 0:i.value)||"125");n&&(n.startsWith("bwr")?qx(e,Array.from(Hx),n):Qx(t,e.width,e.height,r,n),Kx(e))},qx=(e,t,n)=>{const r=e.getContext("2d");if(!r)return;const o=r.getImageData(0,0,e.width,e.height),i=o.width;for(let s=0;s<=o.data.length;s+=4){const l=Array.from(o.data.slice(s,s+4)),a=Wx(l,t);if(n==="bwr_floydsteinberg"){const u=jd(l,a,16);bd(o.data,s,a),mt(o.data,s+4,u,7),mt(o.data,s+4*i-4,u,3),mt(o.data,s+4*i,u,5),mt(o.data,s+4*i+4,u,1)}else{const u=jd(l,a,8);bd(o.data,s,a),mt(o.data,s+4,u,1),mt(o.data,s+8,u,1),mt(o.data,s+4*i-4,u,1),mt(o.data,s+4*i,u,1),mt(o.data,s+4*i+4,u,1),mt(o.data,s+8*i,u,1)}}r.putImageData(o,0,0)},bd=(e,t,n)=>{e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3]},jd=(e,t,n)=>{const r=[];for(let o=0;o<3;o++)r.push(Math.floor((e[o]-t[o])/n));return r},mt=(e,t,n,r)=>{e[t]+=n[0]*r,e[t+1]+=n[1]*r,e[t+2]+=n[2]*r},Xx=async e=>{var l;const t=new Date().getTime(),n=(l=document.getElementById("epddriver"))==null?void 0:l.value,r=document.getElementById("canvas");if(!r||!n)return;const o=e.replace(/(?:\r\n|\r|\n|,|0x| )/g,""),i=r.width/8*r.height*2;o.length==i*2?(await window.sendcmd("0310"),await ml(o.slice(0,i-1)),await window.sendcmd("0313"),await ml(o.slice(i),"bwr")):(await window.sendcmd(n==="03"?"0310":"0313"),await ml(o)),await window.sendcmd("05");const s=(new Date().getTime()-t)/1e3;console.log(`发送完成!耗时: ${s}s`)},ml=async(e,t="bw")=>{const r=Math.round(e.length/38);let o=0;for(let i=0;i{window.matchMedia("(prefers-color-scheme: dark)").matches&&(t("dark"),document.documentElement.classList.add("dark"))},[]);const v=()=>{t(k=>{const j=k==="light"?"dark":"light";return document.documentElement.classList.toggle("dark"),j})},w=()=>{try{if(typeof Nd=="function")Nd(),r(!0);else throw r(!1),new Error("蓝牙连接函数未定义")}catch(k){console.error("蓝牙连接错误:",k),r(!1),p({title:"错误",description:"蓝牙连接失败",variant:"destructive"})}},y=k=>{i(k[0]);const j=document.getElementById("threshold");j&&(j.value=k[0].toString(),C())},S=k=>{const j=Math.min(255,Math.max(0,parseInt(k.target.value)||0));i(j);const A=document.getElementById("threshold");A&&(A.value=j.toString(),C())},c=k=>{const j=new FileReader;j.onload=A=>{var z;d((z=A.target)==null?void 0:z.result),setTimeout(()=>{C()},100)},j.readAsDataURL(k)},h=k=>{var A;k.stopPropagation(),d(null);const j=document.getElementById("image_file");j&&(j.value=""),(A=window.clear_canvas)==null||A.call(window)},m=k=>{k.preventDefault(),k.stopPropagation()},E=x.useCallback(k=>{k.preventDefault(),k.stopPropagation();const j=k.dataTransfer.files;if(j.length>0){const A=j[0];if(["image/png","image/jpeg","image/bmp","image/webp"].includes(A.type)){const O=document.getElementById("image_file");if(O){const H=new DataTransfer;H.items.add(A),O.files=H.files,c(A)}}else p({title:"错误",description:"请选择有效的图片文件",variant:"destructive"})}},[p]),C=()=>{var j;if((j=window.update_image)==null||j.call(window),document.getElementById("canvas")){const A=Ri==null?void 0:Ri(),z=document.getElementById("cmdIMAGE");z&&A&&(z.value=A)}},P=()=>{l(k=>!k),C()},T=()=>{var j;C();const k=document.getElementById("cmdIMAGE");k&&k.value?(j=window.sendimg)==null||j.call(window,k.value):p({title:"错误",description:"没有可发送的图像数据,请在发送前展开 “图像数据” 以生成文本格式数据",variant:"destructive"})},_=k=>{var j;k.key==="Enter"&&a.trim()&&((j=window.sendcmd)==null||j.call(window,a),u(""))},L=()=>{var k;a.trim()&&((k=window.sendcmd)==null||k.call(window,a),u(""))};return g.jsx("div",{className:"min-h-screen bg-background p-4 md:p-8 animate-fade-in",children:g.jsxs("div",{className:"max-w-7xl mx-auto",children:[g.jsxs("header",{className:"flex flex-col sm:flex-row items-start sm:items-center justify-between gap-4 mb-8",children:[g.jsx("h1",{className:"text-2xl md:text-3xl font-bold bg-gradient-to-r from-primary to-primary/60 bg-clip-text text-transparent",children:"4.2 寸电子墨水屏蓝牙控制器"}),g.jsx(nt,{variant:"ghost",size:"icon",onClick:v,children:e==="light"?g.jsx(k0,{className:"h-5 w-5"}):g.jsx(T0,{className:"h-5 w-5"})})]}),g.jsxs("div",{className:"grid gap-6",children:[g.jsxs(eo,{className:"p-6",children:[g.jsx("h2",{className:"text-xl font-semibold mb-4",children:"蓝牙连接"}),g.jsxs("div",{className:"flex flex-col lg:flex-row gap-4",children:[g.jsxs("div",{className:"flex gap-4",children:[g.jsx(nt,{onClick:w,variant:n?"secondary":"default",className:"w-full sm:w-auto",children:n?"已连接":"连接"}),g.jsx(nt,{variant:"outline",onClick:()=>{var k;return(k=window.reConnect)==null?void 0:k.call(window)},className:"w-full sm:w-auto",children:"重连"})]}),g.jsxs("div",{className:"flex-1 grid grid-cols-1 sm:grid-cols-3 gap-4",children:[g.jsxs("select",{id:"epddriver",className:"rounded-md border bg-background px-3 py-2",children:[g.jsx("option",{value:"01",children:"EPD_4in2"}),g.jsx("option",{value:"02",children:"EPD_4in2_V2"}),g.jsx("option",{value:"03",children:"EPD_4in2b_V2"})]}),g.jsx("input",{id:"epdpins",type:"text",className:"rounded-md border bg-background px-3 py-2",placeholder:"引脚配置"}),g.jsx(nt,{onClick:()=>{var k;return(k=window.setDriver)==null?void 0:k.call(window)},className:"w-full",children:"保存引脚配置"})]})]})]}),g.jsx(eo,{className:"p-6",children:g.jsxs("div",{className:"grid lg:grid-cols-2 gap-6",children:[g.jsxs("div",{className:"space-y-4",children:[g.jsxs("div",{className:"relative border-2 border-dashed border-gray-300 rounded-lg p-4 text-center cursor-pointer hover:border-primary transition-colors min-h-[200px] flex items-center justify-center",onDragOver:m,onDrop:E,onClick:()=>{var k;return(k=document.getElementById("image_file"))==null?void 0:k.click()},children:[f?g.jsxs(g.Fragment,{children:[g.jsx("img",{src:f,alt:"Selected",className:"max-h-[200px] max-w-full object-contain"}),g.jsx("button",{onClick:h,className:"absolute top-2 right-2 p-1 rounded-full bg-background/80 hover:bg-background shadow-sm",children:g.jsx(Mh,{className:"h-4 w-4"})})]}):g.jsx("p",{children:"点击或拖拽图片到此处"}),g.jsx("input",{type:"file",id:"image_file",className:"hidden",accept:".png,.jpg,.bmp,.webp,.jpeg",onChange:k=>{var A;const j=(A=k.target.files)==null?void 0:A[0];j&&c(j)}})]}),g.jsxs("div",{className:"space-y-4",children:[g.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center gap-4",children:[g.jsx("label",{className:"min-w-[80px]",children:"抖动算法:"}),g.jsxs("select",{id:"dithering",className:"w-full sm:w-auto rounded-md border bg-background px-3 py-2",onChange:C,children:[g.jsxs("optgroup",{label:"黑白",children:[g.jsx("option",{value:"none",children:"二值化"}),g.jsx("option",{value:"bayer",children:"bayer"}),g.jsx("option",{value:"floydsteinberg",children:"floydsteinberg"}),g.jsx("option",{value:"Atkinson",children:"Atkinson"})]}),g.jsxs("optgroup",{label:"黑白红多色",children:[g.jsx("option",{value:"bwr_floydsteinberg",children:"黑白红floydsteinberg"}),g.jsx("option",{value:"bwr_Atkinson",children:"黑白红Atkinson"})]})]})]}),g.jsxs("div",{className:"space-y-2",children:[g.jsxs("div",{className:"flex items-center gap-4",children:[g.jsx("label",{className:"min-w-[80px]",children:"阈值:"}),g.jsx("input",{type:"number",value:o,onChange:S,min:"0",max:"255",className:"w-20 rounded-md border bg-background px-3 py-2"})]}),g.jsx(Bm,{value:[o],min:0,max:255,step:1,onValueChange:y,className:"w-full"}),g.jsx("input",{type:"number",id:"threshold",className:"hidden",value:o,readOnly:!0})]})]}),g.jsxs("div",{className:"flex flex-wrap gap-2",children:[g.jsx(nt,{onClick:()=>{var k;return(k=window.clear_canvas)==null?void 0:k.call(window)},children:"清除画布"}),g.jsx(nt,{onClick:T,children:"发送图片"})]})]}),g.jsxs("div",{className:"space-y-4",children:[g.jsx("canvas",{id:"canvas",width:"400",height:"300",className:"border border-border rounded-lg w-full"}),g.jsxs("div",{children:[g.jsxs(nt,{variant:"outline",className:"w-full flex items-center justify-between",onClick:P,children:["图像数据",s?g.jsx(v0,{className:"h-4 w-4"}):g.jsx(g0,{className:"h-4 w-4"})]}),s&&g.jsx("textarea",{id:"cmdIMAGE",className:"mt-2 w-full h-32 rounded-md border bg-background p-2",readOnly:!0})]})]})]})}),g.jsxs(eo,{className:"p-6",children:[g.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center justify-between gap-4 mb-4",children:[g.jsx("h2",{className:"text-xl font-semibold",children:"控制台"}),g.jsxs("div",{className:"flex flex-wrap gap-2 w-full sm:w-auto",children:[g.jsx("input",{type:"text",id:"cmdTXT",className:"flex-1 sm:flex-none rounded-md border bg-background px-3 py-2",placeholder:"输入命令...",value:a,onChange:k=>u(k.target.value),onKeyDown:_}),g.jsx(nt,{onClick:L,children:"发送命令"}),g.jsx(nt,{variant:"outline",onClick:()=>{var k;return(k=window.clearscreen)==null?void 0:k.call(window)},children:"清除屏幕"})]})]}),g.jsx("div",{id:"log",className:"bg-muted rounded-lg p-4 min-h-[200px] max-h-[300px] overflow-y-auto font-mono text-sm"}),g.jsx("div",{className:"flex justify-end mt-2",children:g.jsx(nt,{variant:"outline",onClick:()=>{const k=document.getElementById("log");k&&(k.innerHTML="")},children:"清空日志"})})]}),g.jsxs(eo,{className:"p-8 bg-gradient-to-br from-background to-muted/50",children:[g.jsxs("h2",{className:"text-2xl font-bold mb-6 flex items-center gap-2",children:[g.jsx(m0,{className:"h-6 w-6 text-primary"}),"使用说明"]}),g.jsxs("div",{className:"space-y-6",children:[g.jsxs("div",{className:"rounded-lg bg-card p-4 border shadow-sm",children:[g.jsxs("h3",{className:"text-lg font-semibold mb-3 flex items-center gap-2",children:[g.jsx(w0,{className:"h-5 w-5 text-primary"}),"驱动选择"]}),g.jsxs("div",{className:"text-muted-foreground",children:["黑白屏可尝试 ",g.jsx(fi,{variant:"outline",children:"EPD_4in2"})," / ",g.jsx(fi,{variant:"outline",children:"EPD_4in2_V2"}),", 三色屏选择 ",g.jsx(fi,{variant:"outline",children:"EPD_4in2b_V2"})]}),g.jsxs(xa,{variant:"destructive",className:"mt-2",children:[g.jsx(R0,{className:"h-4 w-4"}),g.jsx(Pm,{children:"注意"}),g.jsx(Sa,{children:"选错驱动可能会导致未知的异常,重启价签即可恢复"})]})]}),g.jsxs("div",{className:"rounded-lg bg-card p-4 border shadow-sm",children:[g.jsxs("h3",{className:"text-lg font-semibold mb-3 flex items-center gap-2",children:[g.jsx(y0,{className:"h-5 w-5 text-primary"}),"引脚配置"]}),g.jsx("p",{className:"text-muted-foreground",children:"格式为十六进制,顺序:"}),g.jsx("div",{className:"flex flex-wrap gap-2 my-2",children:["MOSI","SCLK","CS","DC","ST","BUSY","BS"].map(k=>g.jsx(fi,{variant:"secondary",children:k},k))}),g.jsxs("p",{className:"text-sm text-muted-foreground",children:["必须按此顺序包含完整的 7 个引脚配置(没有用到的引脚可配置为 ",g.jsx("code",{className:"bg-muted px-1.5 py-0.5 rounded",children:"FF"}),")"]})]}),g.jsxs("div",{className:"rounded-lg bg-card p-4 border shadow-sm",children:[g.jsxs("h3",{className:"text-lg font-semibold mb-3 flex items-center gap-2",children:[g.jsx(N0,{className:"h-5 w-5 text-primary"}),"指令列表"]}),g.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"指令和参数全部要使用十六进制"}),g.jsxs("div",{className:"grid gap-6 md:grid-cols-2",children:[g.jsxs("div",{className:"space-y-4",children:[g.jsxs("h4",{className:"font-semibold flex items-center gap-2",children:[g.jsx(ad,{className:"h-4 w-4 text-primary"}),"驱动相关"]}),g.jsx("ul",{className:"space-y-2",children:[["00","引脚配置","设置引脚映射"],["01","驱动 ID","驱动初始化"],["02","","清空屏幕"],["03","命令","发送命令到屏幕"],["04","数据","写入数据到屏幕内存"],["05","","刷新屏幕"],["06","","屏幕睡眠"]].map(([k,j,A])=>g.jsxs("li",{className:"flex items-center gap-2",children:[g.jsx("code",{className:"bg-primary/10 px-1.5 py-0.5 rounded text-primary",children:k}),j&&g.jsx("span",{children:"+"}),j&&g.jsx("code",{className:"bg-muted px-1.5 py-0.5 rounded",children:j}),g.jsxs("span",{className:"text-muted-foreground",children:[": ",A]})]},k))})]}),g.jsxs("div",{className:"space-y-4",children:[g.jsxs("h4",{className:"font-semibold flex items-center gap-2",children:[g.jsx(P0,{className:"h-4 w-4 text-primary"}),"系统相关"]}),g.jsx("ul",{className:"space-y-2",children:[["90","配置","写入配置信息"],["91","","系统重启"],["92","","系统睡眠"]].map(([k,j,A])=>g.jsxs("li",{className:"flex items-center gap-2",children:[g.jsx("code",{className:"bg-primary/10 px-1.5 py-0.5 rounded text-primary",children:k}),j&&g.jsx("span",{children:"+"}),j&&g.jsx("code",{className:"bg-muted px-1.5 py-0.5 rounded",children:j}),g.jsxs("span",{className:"text-muted-foreground",children:[": ",A]})]},k))})]})]})]}),g.jsxs(xa,{children:[g.jsx(C0,{className:"h-4 w-4"}),g.jsx(Sa,{children:"系统睡眠后可通过线圈(NFC/无线充电器)唤醒(需正确配置线圈对应的引脚才有效), 否则一旦系统睡眠只有重新上电才能开启蓝牙。如果价签上带有 LED,系统启动时 LED 会闪一下(需正确配置 LED 对应的引脚才有效),以便知道系统是否已经被线圈唤醒。"})]}),g.jsx("div",{className:"mt-8 pt-6 border-t border-border",children:g.jsxs("div",{className:"rounded-lg bg-muted/50 p-4",children:[g.jsxs("h4",{className:"font-semibold flex items-center gap-2 mb-4",children:[g.jsx(E0,{className:"h-5 w-5 text-red-500"}),"致谢"]}),g.jsxs("div",{className:"space-y-4",children:[g.jsxs("div",{className:"space-y-2",children:[g.jsx("p",{className:"text-sm text-muted-foreground",children:"本项目基于以下开源项目:"}),g.jsxs("div",{className:"flex flex-col gap-2",children:[g.jsxs("a",{href:"https://github.com/tsl0922/EPD-nRF51",target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-3 p-2 rounded-md hover:bg-muted transition-colors",children:[g.jsx(S0,{className:"h-5 w-5 text-primary"}),g.jsxs("div",{children:[g.jsx("div",{className:"font-medium",children:"tsl0922/EPD-nRF51"}),g.jsx("div",{className:"text-sm text-muted-foreground",children:"原作者"})]}),g.jsx(al,{className:"h-4 w-4 ml-auto text-muted-foreground"})]}),g.jsxs("a",{href:"https://github.com/uarix/nRF51-EPD",target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-3 p-2 rounded-md hover:bg-muted transition-colors",children:[g.jsx(x0,{className:"h-5 w-5 text-primary"}),g.jsxs("div",{children:[g.jsx("div",{className:"font-medium",children:"uarix/nRF51-EPD"}),g.jsx("div",{className:"text-sm text-muted-foreground",children:"当前项目 由Quarix修改"})]}),g.jsx(al,{className:"h-4 w-4 ml-auto text-muted-foreground"})]})]})]}),g.jsxs("div",{className:"space-y-2",children:[g.jsx("p",{className:"text-sm text-muted-foreground",children:"驱动代码:"}),g.jsx("div",{className:"flex flex-col gap-2",children:g.jsxs("a",{href:"https://www.waveshare.net/wiki/E-Paper_Shield",target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-3 p-2 rounded-md hover:bg-muted transition-colors",children:[g.jsx(ad,{className:"h-5 w-5 text-primary"}),g.jsxs("div",{children:[g.jsx("div",{className:"font-medium",children:"微雪 E-Paper Shield"}),g.jsx("div",{className:"text-sm text-muted-foreground",children:"开源的墨水屏驱动"})]}),g.jsx(al,{className:"h-4 w-4 ml-auto text-muted-foreground"})]})})]})]})]})})]})]})]})]})})}const Jx=new ix,eS=()=>g.jsx(lx,{client:Jx,children:g.jsxs(L1,{children:[g.jsx(cw,{}),g.jsx(Zx,{})]})});eh(document.getElementById("root")).render(g.jsx(eS,{})); diff --git a/html/index-6JYabnXz.css b/html/index-6JYabnXz.css new file mode 100644 index 0000000..f295097 --- /dev/null +++ b/html/index-6JYabnXz.css @@ -0,0 +1 @@ +@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";*,: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:Inter,sans-serif;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}:root{--background: 0 0% 100%;--foreground: 222.2 84% 4.9%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 84% 4.9%;--primary: 217.2 91.2% 59.8%;--primary-foreground: 0 0% 100%;--secondary: 210 40% 96.1%;--secondary-foreground: 222.2 47.4% 11.2%;--muted: 210 40% 96.1%;--muted-foreground: 215.4 16.3% 46.9%;--accent: 210 40% 96.1%;--accent-foreground: 222.2 47.4% 11.2%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 40% 98%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--ring: 221.2 83.2% 53.3%;--radius: .5rem}.dark{--background: 222.2 84% 4.9%;--foreground: 210 40% 98%;--card: 222.2 84% 4.9%;--card-foreground: 210 40% 98%;--popover: 222.2 84% 4.9%;--popover-foreground: 210 40% 98%;--primary: 221.2 83.2% 43.3%;--primary-foreground: 0 0% 100%;--secondary: 217.2 32.6% 17.5%;--secondary-foreground: 210 40% 98%;--muted: 217.2 32.6% 17.5%;--muted-foreground: 215 20.2% 65.1%;--accent: 217.2 32.6% 17.5%;--accent-foreground: 210 40% 98%;--destructive: 0 62.8% 50.6%;--destructive-foreground: 210 40% 98%;--border: 217.2 32.6% 17.5%;--input: 217.2 32.6% 17.5%;--ring: 224.3 76.3% 48%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-bottom-12{bottom:-3rem}.-left-12{left:-3rem}.-right-12{right:-3rem}.-top-12{top:-3rem}.bottom-0{bottom:0}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-3\.5{top:.875rem}.top-4{top:1rem}.top-\[1px\]{top:1px}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[1\]{z-index:1}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3\.5{margin-left:.875rem;margin-right:.875rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.-ml-4{margin-left:-1rem}.-mt-4{margin-top:-1rem}.mb-1{margin-bottom:.25rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.aspect-video{aspect-ratio:16 / 9}.size-4{width:1rem;height:1rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-96{max-height:24rem}.max-h-\[200px\]{max-height:200px}.max-h-\[300px\]{max-height:300px}.max-h-screen{max-height:100vh}.min-h-0{min-height:0px}.min-h-\[200px\]{min-height:200px}.min-h-\[80px\]{min-height:80px}.min-h-screen{min-height:100vh}.min-h-svh{min-height:100svh}.w-0{width:0px}.w-1{width:.25rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[--sidebar-width\]{width:var(--sidebar-width)}.w-\[100px\]{width:100px}.w-\[1px\]{width:1px}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-5{min-width:1.25rem}.min-w-\[12rem\]{min-width:12rem}.min-w-\[80px\]{min-width:80px}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-7xl{max-width:80rem}.max-w-\[--skeleton-width\]{max-width:var(--skeleton-width)}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-max{max-width:-moz-max-content;max-width:max-content}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-px{--tw-translate-x: -1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-px{--tw-translate-x: 1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fade-in .3s ease-out}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-tl-sm{border-top-left-radius:.125rem}.border{border-width:1px}.border-2{border-width:2px}.border-\[1\.5px\]{border-width:1.5px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[--color-border\]{border-color:var(--color-border)}.border-border{border-color:hsl(var(--border))}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-destructive{border-color:hsl(var(--destructive))}.border-destructive\/50{border-color:hsl(var(--destructive) / .5)}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-transparent{border-color:transparent}.border-l-transparent{border-left-color:transparent}.border-t-transparent{border-top-color:transparent}.bg-\[--color-bg\]{background-color:var(--color-bg)}.bg-accent{background-color:hsl(var(--accent))}.bg-background{background-color:hsl(var(--background))}.bg-background\/80{background-color:hsl(var(--background) / .8)}.bg-black\/80{background-color:#000c}.bg-border{background-color:hsl(var(--border))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-foreground{background-color:hsl(var(--foreground))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-secondary{background-color:hsl(var(--secondary))}.bg-transparent{background-color:transparent}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-background{--tw-gradient-from: hsl(var(--background)) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--background) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary{--tw-gradient-from: hsl(var(--primary)) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-muted\/50{--tw-gradient-to: hsl(var(--muted) / .5) var(--tw-gradient-to-position)}.to-primary\/60{--tw-gradient-to: hsl(var(--primary) / .6) var(--tw-gradient-to-position)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.fill-current{fill:currentColor}.object-contain{-o-object-fit:contain;object-fit:contain}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[1px\]{padding:1px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-2\.5{padding-left:.625rem}.pl-4{padding-left:1rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.8rem\]{font-size:.8rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-current{color:currentColor}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/50{color:hsl(var(--foreground) / .5)}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-transparent{color:transparent}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow: 0 0 0 1px hsl(var(--sidebar-border));--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-ring{--tw-ring-color: hsl(var(--ring))}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[margin\,opa\]{transition-property:margin,opa;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-1000{transition-duration:1s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in-0{--tw-enter-opacity: 0}.fade-in-80{--tw-enter-opacity: .8}.zoom-in-95{--tw-enter-scale: .95}.duration-1000{animation-duration:1s}.duration-200{animation-duration:.2s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{animation-timing-function:linear}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);top:-.5rem;right:-.5rem;bottom:-.5rem;left:-.5rem}.after\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-1:after{content:var(--tw-content);width:.25rem}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.first\:rounded-l-md:first-child{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.first\:border-l:first-child{border-left-width:1px}.last\:rounded-r-md:last-child{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.focus-within\:relative:focus-within{position:relative}.focus-within\:z-20:focus-within{z-index:20}.hover\:border-primary:hover{border-color:hsl(var(--primary))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-background:hover{background-color:hsl(var(--background))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive) / .8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-primary:hover{background-color:hsl(var(--primary))}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\:text-primary-foreground:hover{color:hsl(var(--primary-foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow: 0 0 0 1px hsl(var(--sidebar-accent));--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:bg-primary:focus{background-color:hsl(var(--primary))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:text-primary-foreground:focus{color:hsl(var(--primary-foreground))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width: 1px}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color: hsl(var(--background))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100{opacity:1}.group\/menu-item:hover .group-hover\/menu-item\:opacity-100,.group:hover .group-hover\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:hsl(var(--muted) / .4)}.group.toaster .group-\[\.toaster\]\:border-border{border-color:hsl(var(--border))}.group.toast .group-\[\.toast\]\:bg-muted{background-color:hsl(var(--muted))}.group.toast .group-\[\.toast\]\:bg-primary{background-color:hsl(var(--primary))}.group.toaster .group-\[\.toaster\]\:bg-background{background-color:hsl(var(--background))}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity))}.group.toast .group-\[\.toast\]\:text-muted-foreground{color:hsl(var(--muted-foreground))}.group.toast .group-\[\.toast\]\:text-primary-foreground{color:hsl(var(--primary-foreground))}.group.toaster .group-\[\.toaster\]\:text-foreground{color:hsl(var(--foreground))}.group.toaster .group-\[\.toaster\]\:shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:hsl(var(--destructive) / .3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{color:hsl(var(--destructive-foreground))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity: 1;color:rgb(254 242 242 / var(--tw-text-opacity))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-color: hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color: #dc2626}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.has-\[\:disabled\]\:opacity-50:has(:disabled){opacity:.5}.group\/menu-item:has([data-sidebar=menu-action]) .group-has-\[\[data-sidebar\=menu-action\]\]\/menu-item\:pr-8{padding-right:2rem}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-selected\:bg-accent[aria-selected=true]{background-color:hsl(var(--accent))}.aria-selected\:bg-accent\/50[aria-selected=true]{background-color:hsl(var(--accent) / .5)}.aria-selected\:text-accent-foreground[aria-selected=true]{color:hsl(var(--accent-foreground))}.aria-selected\:text-muted-foreground[aria-selected=true]{color:hsl(var(--muted-foreground))}.aria-selected\:opacity-100[aria-selected=true]{opacity:1}.aria-selected\:opacity-30[aria-selected=true]{opacity:.3}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked],.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x: var(--radix-toast-swipe-end-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x: var(--radix-toast-swipe-move-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[active\]\:bg-accent\/50[data-active]{background-color:hsl(var(--accent) / .5)}.data-\[selected\=\'true\'\]\:bg-accent[data-selected=true]{background-color:hsl(var(--accent))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=on\]\:bg-accent[data-state=on],.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:hsl(var(--accent) / .5)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:hsl(var(--input))}.data-\[active\=true\]\:font-medium[data-active=true]{font-weight:500}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:hsl(var(--accent-foreground))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=on\]\:text-accent-foreground[data-state=on],.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:hsl(var(--accent-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-],.data-\[state\=open\]\:animate-in[data-state=open],.data-\[state\=visible\]\:animate-in[data-state=visible]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-],.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[state\=hidden\]\:animate-out[data-state=hidden],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity: 0}.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-],.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity: .8}.data-\[state\=hidden\]\:fade-out[data-state=hidden]{--tw-exit-opacity: 0}.data-\[state\=open\]\:fade-in-0[data-state=open],.data-\[state\=visible\]\:fade-in[data-state=visible]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-90[data-state=open]{--tw-enter-scale: .9}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end]{--tw-enter-translate-x: 13rem}.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start]{--tw-enter-translate-x: -13rem}.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end]{--tw-exit-translate-x: 13rem}.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start]{--tw-exit-translate-x: -13rem}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y: 100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x: -100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x: -50%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed],.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed]{--tw-exit-translate-x: 100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y: -100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y: 100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x: -100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x: -50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x: 100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y: -100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-top-full[data-state=open]{--tw-enter-translate-y: -100%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:0}.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:.25rem}.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]{left:calc(var(--sidebar-width) * -1)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]{right:calc(var(--sidebar-width) * -1)}.group[data-side=left] .group-data-\[side\=left\]\:-right-4{right:-1rem}.group[data-side=right] .group-data-\[side\=right\]\:left-0{left:0}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:-mt-8{margin-top:-2rem}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:hidden{display:none}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!size-8{width:2rem!important;height:2rem!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[--sidebar-width-icon\]{width:var(--sidebar-width-icon)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\]{width:calc(var(--sidebar-width-icon) + 1rem)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\]{width:calc(var(--sidebar-width-icon) + 1rem + 2px)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:w-0{width:0px}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-side=right] .group-data-\[side\=right\]\:rotate-180,.group[data-state=open] .group-data-\[state\=open\]\:rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:overflow-hidden{overflow:hidden}.group[data-variant=floating] .group-data-\[variant\=floating\]\:rounded-lg{border-radius:.5rem}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border{border-width:1px}.group[data-side=left] .group-data-\[side\=left\]\:border-r{border-right-width:1px}.group[data-side=right] .group-data-\[side\=right\]\:border-l{border-left-width:1px}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-0{padding:0!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-2{padding:.5rem!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:opacity-0{opacity:0}.group[data-variant=floating] .group-data-\[variant\=floating\]\:shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:after\:left-full:after{content:var(--tw-content);left:100%}.peer\/menu-button[data-size=default]~.peer-data-\[size\=default\]\/menu-button\:top-1\.5{top:.375rem}.peer\/menu-button[data-size=lg]~.peer-data-\[size\=lg\]\/menu-button\:top-2\.5{top:.625rem}.peer\/menu-button[data-size=sm]~.peer-data-\[size\=sm\]\/menu-button\:top-1{top:.25rem}.peer[data-variant=inset]~.peer-data-\[variant\=inset\]\:min-h-\[calc\(100svh-theme\(spacing\.4\)\)\]{min-height:calc(100svh - 1rem)}.dark\:border-destructive:is(.dark *){border-color:hsl(var(--destructive))}@media (min-width: 640px){.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:top-auto{top:auto}.sm\:mt-0{margin-top:0}.sm\:flex{display:flex}.sm\:w-auto{width:auto}.sm\:max-w-sm{max-width:24rem}.sm\:flex-none{flex:none}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:items-center{align-items:center}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:.625rem}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:.5rem}.sm\:text-left{text-align:left}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y: 100%}}@media (min-width: 768px){.md\:absolute{position:absolute}.md\:block{display:block}.md\:flex{display:flex}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:max-w-\[420px\]{max-width:420px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:p-8{padding:2rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:opacity-0{opacity:0}.after\:md\:hidden:after{content:var(--tw-content);display:none}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:m-2{margin:.5rem}.peer[data-state=collapsed][data-variant=inset]~.md\:peer-data-\[state\=collapsed\]\:peer-data-\[variant\=inset\]\:ml-2{margin-left:.5rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:ml-0{margin-left:0}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:rounded-xl{border-radius:.75rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}}@media (min-width: 1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}}.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]){background-color:hsl(var(--accent))}.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-accent\/50:has([aria-selected].day-outside){background-color:hsl(var(--accent) / .5)}.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end){border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\:last-child\]\:truncate>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y: -3px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:left-4>svg{left:1rem}.\[\&\>svg\]\:top-4>svg{top:1rem}.\[\&\>svg\]\:size-3\.5>svg{width:.875rem;height:.875rem}.\[\&\>svg\]\:size-4>svg{width:1rem;height:1rem}.\[\&\>svg\]\:h-2\.5>svg{height:.625rem}.\[\&\>svg\]\:h-3>svg{height:.75rem}.\[\&\>svg\]\:w-2\.5>svg{width:.625rem}.\[\&\>svg\]\:w-3>svg{width:.75rem}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-destructive>svg{color:hsl(var(--destructive))}.\[\&\>svg\]\:text-foreground>svg{color:hsl(var(--foreground))}.\[\&\>svg\]\:text-muted-foreground>svg{color:hsl(var(--muted-foreground))}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:1.75rem}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0px}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:hsl(var(--muted-foreground))}.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke="#ccc"]{stroke:hsl(var(--border) / .5)}.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:hsl(var(--border))}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke="#fff"]{stroke:transparent}.\[\&_\.recharts-layer\]\:outline-none .recharts-layer{outline:2px solid transparent;outline-offset:2px}.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke="#ccc"]{stroke:hsl(var(--border))}.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:hsl(var(--muted))}.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke="#ccc"]{stroke:hsl(var(--border))}.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke="#fff"]{stroke:transparent}.\[\&_\.recharts-sector\]\:outline-none .recharts-sector,.\[\&_\.recharts-surface\]\:outline-none .recharts-surface{outline:2px solid transparent;outline-offset:2px}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_p\]\:leading-relaxed p{line-height:1.625}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0px}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:-.5rem}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=left] .\[\[data-side\=left\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:-.5rem}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=right] .\[\[data-side\=right\]_\&\]\:cursor-e-resize{cursor:e-resize} diff --git a/html/index.html b/html/index.html index 27fbb74..a3969ae 100644 --- a/html/index.html +++ b/html/index.html @@ -1,126 +1,16 @@ - + + + + + + 4.2 寸电子墨水屏蓝牙控制器 + + + + + - - 4.2 寸电子墨水屏蓝牙控制器 - - - - -
-

4.2 寸电子墨水屏蓝牙控制器(nRF51)

-
- 蓝牙 -
- 驱动: - - 引脚: - - -
- - -
- -
- 传图 -
-
- - - -
-
- - - -
-
-
-
- - 抖动算法: - - 阈值: - -
- - -
-
- -
- 日志 - -
-
-
- 提示 -
    -
  • 驱动选择:黑白屏可尝试 EPD_4in2 / EPD_4in2_V2, 三色屏选择 EPD_4in2b_V2 (选错驱动可能会导致任何未知的异常,重启即可恢复)
  • -
  • 引脚配置:格式为十六进制,顺序:MOSI/SCLK/CS/DC/ST/BUSY/BS,必须按此顺序包含完整的 7 个引脚配置(没有用到的引脚可配置为 FF
  • -
  • - 指令列表(指令和参数全部要使用十六进制): -
      -
    • 驱动相关: -
        -
      • 00+引脚配置: 设置引脚映射(见上面引脚配置)
      • -
      • 01+驱动 ID: 驱动初始化(支持的驱动 ID: 01/02/03
      • -
      • 02: 清空屏幕(把屏幕刷为白色)
      • -
      • 03+命令: 发送命令到屏幕(请参考屏幕主控手册)
      • -
      • 04+数据: 写入数据到屏幕内存(同上)
      • -
      • 05: 刷新屏幕(显示已写入屏幕内存的数据)
      • -
      • 06: 屏幕睡眠
      • -
      -
    • -
    • 系统相关: -
        -
      • 90+配置: 写入配置信息(重启生效,格式参考源码 epd_config_t
      • -
      • 91: 系统重启
      • -
      • 92: 系统睡眠
      • -
      -
    • -
    -
  • -
-

- 系统睡眠后可通过线圈(NFC/无线充电器)唤醒(需正确配置线圈对应的引脚才有效),否则一旦系统睡眠只有重新上电才能开启蓝牙。如果价签上带有 LED,系统启动时 LED 会闪一下(需正确配置 LED 对应的引脚才有效),以便知道系统是否已经被线圈唤醒。 -

-

- 致谢:屏幕驱动代码来自微雪 E-Paper Shield,本网页代码最初基于 atc1441/ATC_TLSR_Paper 项目的网页控制端代码修改而来。 -

-
-
- - - - - - \ No newline at end of file + +
+ + diff --git a/html/images/0.jpg b/html_archive/images/0.jpg similarity index 100% rename from html/images/0.jpg rename to html_archive/images/0.jpg diff --git a/html/images/1.jpg b/html_archive/images/1.jpg similarity index 100% rename from html/images/1.jpg rename to html_archive/images/1.jpg diff --git a/html/images/2.jpg b/html_archive/images/2.jpg similarity index 100% rename from html/images/2.jpg rename to html_archive/images/2.jpg diff --git a/html_archive/index.html b/html_archive/index.html new file mode 100644 index 0000000..4ff482e --- /dev/null +++ b/html_archive/index.html @@ -0,0 +1,125 @@ + + + + 4.2 寸电子墨水屏蓝牙控制器 + + + + +
+

4.2 寸电子墨水屏蓝牙控制器(nRF51)

+
+ 蓝牙 +
+ 驱动: + + 引脚: + + +
+ + +
+ +
+ 传图 +
+
+ + + +
+
+ + + +
+
+
+
+ + 抖动算法: + + 阈值: + +
+ + +
+
+ +
+ 日志 + +
+
+
+ 提示 +
    +
  • 驱动选择:黑白屏可尝试 EPD_4in2 / EPD_4in2_V2, 三色屏选择 EPD_4in2b_V2 (选错驱动可能会导致任何未知的异常,重启即可恢复)
  • +
  • 引脚配置:格式为十六进制,顺序:MOSI/SCLK/CS/DC/ST/BUSY/BS,必须按此顺序包含完整的 7 个引脚配置(没有用到的引脚可配置为 FF
  • +
  • + 指令列表(指令和参数全部要使用十六进制): +
      +
    • 驱动相关: +
        +
      • 00+引脚配置: 设置引脚映射(见上面引脚配置)
      • +
      • 01+驱动 ID: 驱动初始化(支持的驱动 ID: 01/02/03
      • +
      • 02: 清空屏幕(把屏幕刷为白色)
      • +
      • 03+命令: 发送命令到屏幕(请参考屏幕主控手册)
      • +
      • 04+数据: 写入数据到屏幕内存(同上)
      • +
      • 05: 刷新屏幕(显示已写入屏幕内存的数据)
      • +
      • 06: 屏幕睡眠
      • +
      +
    • +
    • 系统相关: +
        +
      • 90+配置: 写入配置信息(重启生效,格式参考源码 epd_config_t
      • +
      • 91: 系统重启
      • +
      • 92: 系统睡眠
      • +
      +
    • +
    +
  • +
+

+ 系统睡眠后可通过线圈(NFC/无线充电器)唤醒(需正确配置线圈对应的引脚才有效),否则一旦系统睡眠只有重新上电才能开启蓝牙。如果价签上带有 LED,系统启动时 LED 会闪一下(需正确配置 LED 对应的引脚才有效),以便知道系统是否已经被线圈唤醒。 +

+

+ 致谢:屏幕驱动代码来自微雪 E-Paper Shield,本网页代码最初基于 atc1441/ATC_TLSR_Paper 项目的网页控制端代码修改而来。 +

+
+
+ + + + + \ No newline at end of file diff --git a/html/js/dithering.js b/html_archive/js/dithering.js similarity index 100% rename from html/js/dithering.js rename to html_archive/js/dithering.js diff --git a/html/js/main.js b/html_archive/js/main.js similarity index 100% rename from html/js/main.js rename to html_archive/js/main.js